@libp2p/utils 7.3.2-47cf9cdc1 → 7.3.2-55d7a539a
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 +4 -4
- package/dist/index.min.js.map +3 -3
- package/package.json +5 -5
package/dist/index.min.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PUtils = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Libp2PUtils=(()=>{var Sc=Object.create;var gr=Object.defineProperty;var Cc=Object.getOwnPropertyDescriptor;var Ic=Object.getOwnPropertyNames;var Lc=Object.getPrototypeOf,Ac=Object.prototype.hasOwnProperty;var Bn=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(r){throw e=0,r}},K=(t,e)=>{for(var r in e)gr(t,r,{get:e[r],enumerable:!0})},Fs=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Ic(e))!Ac.call(t,o)&&o!==r&&gr(t,o,{get:()=>e[o],enumerable:!(n=Cc(e,o))||n.enumerable});return t};var Tc=(t,e,r)=>(r=t!=null?Sc(Lc(t)):{},Fs(e||!t||!t.__esModule?gr(r,"default",{value:t,enumerable:!0}):r,t)),Dc=t=>Fs(gr({},"__esModule",{value:!0}),t);var lo=Bn(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.Netmask4Impl=void 0;xt.ip2long=bt;xt.long2ip=be;function be(t){let e=(t&-16777216)>>>24,r=(t&255<<16)>>>16,n=(t&65280)>>>8,o=t&255;return[e,r,n,o].join(".")}var rf=48,nf=97,of=65;function sf(t){let e=0,r=10,n="9",o=0;t.length>1&&t[o]==="0"&&(t[o+1]==="x"||t[o+1]==="X"?(o+=2,r=16):"0"<=t[o+1]&&t[o+1]<="9"&&(o++,r=8,n="7"));let s=o;for(;o<t.length;){if("0"<=t[o]&&t[o]<=n)e=e*r+(t.charCodeAt(o)-rf)>>>0;else if(r===16)if("a"<=t[o]&&t[o]<="f")e=e*r+(10+t.charCodeAt(o)-nf)>>>0;else if("A"<=t[o]&&t[o]<="F")e=e*r+(10+t.charCodeAt(o)-of)>>>0;else break;else break;if(e>4294967295)throw new Error("too large");o++}if(o===s)throw new Error("empty octet");return[e,o]}function bt(t){let e=[];for(let r=0;r<=3&&t.length!==0;r++){if(r>0){if(t[0]!==".")throw new Error("Invalid IP");t=t.substring(1)}let[n,o]=sf(t);t=t.substring(o),e.push(n)}if(t.length!==0)throw new Error("Invalid IP");switch(e.length){case 1:if(e[0]>4294967295)throw new Error("Invalid IP");return e[0]>>>0;case 2:if(e[0]>255||e[1]>16777215)throw new Error("Invalid IP");return(e[0]<<24|e[1])>>>0;case 3:if(e[0]>255||e[1]>255||e[2]>65535)throw new Error("Invalid IP");return(e[0]<<24|e[1]<<16|e[2])>>>0;case 4:if(e[0]>255||e[1]>255||e[2]>255||e[3]>255)throw new Error("Invalid IP");return(e[0]<<24|e[1]<<16|e[2]<<8|e[3])>>>0;default:throw new Error("Invalid IP")}}var fo=class t{constructor(e,r){if(typeof e!="string")throw new Error("Missing `net' parameter");let n=r;if(!n){let o=e.split("/",2);e=o[0],n=o[1]}if(n||(n=32),typeof n=="string"&&n.indexOf(".")>-1){try{this.maskLong=bt(n)}catch{throw new Error("Invalid mask: "+n)}this.bitmask=NaN;for(let o=32;o>=0;o--)if(this.maskLong===4294967295<<32-o>>>0){this.bitmask=o;break}}else if(n||n===0)this.bitmask=parseInt(n,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(bt(e)&this.maskLong)>>>0}catch{throw new Error("Invalid net address: "+e)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+n);this.size=Math.pow(2,32-this.bitmask),this.base=be(this.netLong),this.mask=be(this.maskLong),this.hostmask=be(~this.maskLong),this.first=this.bitmask<=30?be(this.netLong+1):this.base,this.last=this.bitmask<=30?be(this.netLong+this.size-2):be(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?be(this.netLong+this.size-1):void 0}contains(e){return typeof e=="string"&&(e.indexOf("/")>0||e.split(".").length!==4)&&(e=new t(e)),e instanceof t?this.contains(e.base)&&this.contains(e.broadcast||e.last):(bt(e)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0}next(e=1){return new t(be(this.netLong+this.size*e),this.mask)}forEach(e){let r=bt(this.first),n=bt(this.last),o=0;for(;r<=n;)e(be(r),r,o),o++,r++}toString(){return this.base+"/"+this.bitmask}};xt.Netmask4Impl=fo});var Ei=Bn(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.Netmask6Impl=void 0;wt.ip6bigint=mo;wt.bigint2ip6=Je;var af=lo(),ho=(1n<<128n)-1n;function mo(t){let e=t.indexOf("%");e!==-1&&(t=t.substring(0,e));let r=t.lastIndexOf(":");if(r!==-1&&t.indexOf(".",r)!==-1){let n=t.substring(r+1),o=(0,af.ip2long)(n),s=t.substring(0,r+1)+"0:0";return wi(s)&~0xffffffffn|BigInt(o)}return wi(t)}function wi(t){let e=t.indexOf("::"),r;if(e!==-1){let o=t.substring(0,e),s=t.substring(e+2),i=o===""?[]:o.split(":"),a=s===""?[]:s.split(":"),f=8-i.length-a.length;if(f<0)throw new Error("Invalid IPv6: too many groups");r=[...i,...Array(f).fill("0"),...a]}else r=t.split(":");if(r.length!==8)throw new Error("Invalid IPv6: expected 8 groups, got "+r.length);let n=0n;for(let o=0;o<8;o++){let s=r[o];if(s.length===0||s.length>4)throw new Error('Invalid IPv6: bad group "'+s+'"');let i=parseInt(s,16);if(isNaN(i)||i<0||i>65535)throw new Error('Invalid IPv6: bad group "'+s+'"');n=n<<16n|BigInt(i)}return n}function Je(t){if(t<0n||t>ho)throw new Error("Invalid IPv6 address value");let e=[];for(let i=0;i<8;i++)e.unshift(Number(t&0xffffn)),t>>=16n;let r=-1,n=0,o=-1,s=0;for(let i=0;i<8;i++)e[i]===0?o===-1?(o=i,s=1):s++:(s>n&&s>=2&&(r=o,n=s),o=-1,s=0);if(s>n&&s>=2&&(r=o,n=s),r!==-1&&r+n===8&&r>0)return e.slice(0,r).map(a=>a.toString(16)).join(":")+"::";if(r===0)return"::"+e.slice(n).map(a=>a.toString(16)).join(":");if(r>0){let i=e.slice(0,r).map(f=>f.toString(16)),a=e.slice(r+n).map(f=>f.toString(16));return i.join(":")+"::"+a.join(":")}else return e.map(i=>i.toString(16)).join(":")}var po=class t{constructor(e,r){if(typeof e!="string")throw new Error("Missing `net' parameter");let n=r;if(n==null){let o=e.indexOf("/");o!==-1?(n=parseInt(e.substring(o+1),10),e=e.substring(0,o)):n=128}if(isNaN(n)||n<0||n>128)throw new Error("Invalid mask for IPv6: "+n);this.bitmask=n,this.bitmask===0?this.maskBigint=0n:this.maskBigint=ho>>BigInt(128-this.bitmask)<<BigInt(128-this.bitmask);try{this.netBigint=mo(e)&this.maskBigint}catch{throw new Error("Invalid IPv6 net address: "+e)}this.size=Number(1n<<BigInt(128-this.bitmask)),this.base=Je(this.netBigint),this.mask=Je(this.maskBigint),this.hostmask=Je(~this.maskBigint&ho),this.first=this.base,this.last=Je(this.netBigint+(1n<<BigInt(128-this.bitmask))-1n),this.broadcast=void 0}contains(e){return typeof e=="string"&&e.indexOf("/")>0&&(e=new t(e)),e instanceof t?this.contains(e.base)&&this.contains(e.last):(mo(e)&this.maskBigint)===this.netBigint}next(e=1){let r=1n<<BigInt(128-this.bitmask);return new t(Je(this.netBigint+r*BigInt(e)),this.bitmask)}forEach(e){let r=this.netBigint,n=1n<<BigInt(128-this.bitmask),o=this.netBigint+n-1n,s=0;for(;r<=o;)e(Je(r),Number(r),s),s++,r++}toString(){return this.base+"/"+this.bitmask}};wt.Netmask6Impl=po});var _i=Bn(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.long2ip=Ue.ip2long=Ue.Netmask=void 0;var Tr=lo();Object.defineProperty(Ue,"ip2long",{enumerable:!0,get:function(){return Tr.ip2long}});Object.defineProperty(Ue,"long2ip",{enumerable:!0,get:function(){return Tr.long2ip}});var cf=Ei(),go=class t{constructor(e,r){if(typeof e!="string")throw new Error("Missing `net' parameter");(e.indexOf("/")!==-1?e.substring(0,e.indexOf("/")):e).indexOf(":")!==-1?this._impl=new cf.Netmask6Impl(e,r):this._impl=new Tr.Netmask4Impl(e,r),this.base=this._impl.base,this.mask=this._impl.mask,this.hostmask=this._impl.hostmask,this.bitmask=this._impl.bitmask,this.size=this._impl.size,this.first=this._impl.first,this.last=this._impl.last,this.broadcast=this._impl.broadcast,this._impl instanceof Tr.Netmask4Impl?(this.maskLong=this._impl.maskLong,this.netLong=this._impl.netLong):(this.maskLong=0,this.netLong=0)}contains(e){return typeof e=="string"&&(e.indexOf("/")>0?e=new t(e):e.indexOf(":")===-1&&e.split(".").length!==4&&(e=new t(e))),e instanceof t?this.contains(e.base)&&this.contains(e.broadcast||e.last):this._impl.contains(e)}next(e=1){let r=this._impl.next(e);return new t(r.base,r.bitmask)}forEach(e){this._impl.forEach(e)}toString(){return this._impl.toString()}};Ue.Netmask=go});var Oh={};K(Oh,{AbstractMessageStream:()=>et,AbstractMultiaddrConnection:()=>tr,AbstractStream:()=>tt,AbstractStreamMuxer:()=>rr,AdaptiveTimeout:()=>is,BloomFilter:()=>jt,CuckooFilter:()=>Pe,DEFAULT_FAILURE_MULTIPLIER:()=>Ki,DEFAULT_INTERVAL:()=>Zi,DEFAULT_MAX_TIMEOUT:()=>Yi,DEFAULT_MIN_TIMEOUT:()=>Ji,DEFAULT_TIMEOUT_MULTIPLIER:()=>Xi,InvalidDataLengthError:()=>Zr,InvalidDataLengthLengthError:()=>en,InvalidMessageLengthError:()=>At,LengthPrefixedDecoder:()=>ls,MaxEarlyStreamsError:()=>Zt,MemoryStorage:()=>kn,MockStream:()=>Ts,MovingAverage:()=>rt,PeerQueue:()=>Bs,PriorityQueue:()=>Ps,Queue:()=>de,QueueFullError:()=>Yt,RateLimitError:()=>Jt,RateLimiter:()=>Ns,ScalableCuckooFilter:()=>Wt,StreamClosedError:()=>er,UnexpectedEOFError:()=>$e,UnwrappedError:()=>nr,byteStream:()=>ia,circuitRelayAddressesLast:()=>Hi,createBloomFilter:()=>fi,createCuckooFilter:()=>li,createScalableCuckooFilter:()=>hi,debounce:()=>Lt,defaultMultiaddrSorter:()=>el,echo:()=>fs,echoStream:()=>Mh,getNetConfig:()=>le,getThinWaistAddresses:()=>al,ipPortToMultiaddr:()=>ul,isAsyncGenerator:()=>fl,isGenerator:()=>ll,isGlobalUnicast:()=>Zu,isGlobalUnicastIp:()=>cl,isLinkLocal:()=>ef,isLinkLocalIp:()=>Al,isLoopback:()=>Ar,isNetworkAddress:()=>tf,isPrivate:()=>Dr,isPrivateIp:()=>bo,isPromise:()=>ss,loopbackAddressLast:()=>qi,lpStream:()=>aa,messageStreamToDuplex:()=>ca,mockMuxer:()=>Ln,multiaddrConnectionPair:()=>ks,pbStream:()=>vl,pipe:()=>Cl,publicAddressesFirst:()=>Gi,reliableTransportsFirst:()=>Wi,repeatingTask:()=>Nh,streamPair:()=>vc,trackedList:()=>Fh,trackedMap:()=>Uh,tryGetNetConfig:()=>vr});function H(t=0){return new Uint8Array(t)}function J(t=0){return new Uint8Array(t)}function kc(t){return t?.buffer instanceof ArrayBuffer}function Pn(t){if(kc(t))return t;let e=t.slice();return new Uint8Array(e.buffer,0,e.byteLength)}function Se(t,e){e==null&&(e=t.reduce((o,s)=>o+s.length,0));let r=J(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return Pn(r)}function qe(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var Os=Symbol.for("@achingbrain/uint8arraylist");function Us(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let o=r+n.byteLength;if(e<o)return{buf:n,index:e-r};r=o}throw new RangeError("index is out of bounds")}function ct(t){return!!t?.[Os]}var D=class t{bufs;length;[Os]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(ct(n)){r+=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+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(ct(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(e){let r=Us(this.bufs,e);return r.buf[r.index]}set(e,r){let n=Us(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(ct(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:o}=this._subList(e,r);return Se(n,o)}subarray(e,r){let{bufs:n,length:o}=this._subList(e,r);return n.length===1?n[0]:Se(n,o)}sublist(e,r){let{bufs:n,length:o}=this._subList(e,r),s=new t;return s.length=o,s.bufs=n,s}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===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,f=a+i.byteLength;if(o=f,e>=f)continue;let l=e>=a&&e<f,u=r>a&&r<=f;if(l&&u){if(e===a&&r===f){n.push(i);break}let h=e-a;n.push(i.subarray(h,h+(r-e)));break}if(l){if(e===0){n.push(i);continue}n.push(i.subarray(e-a));continue}if(u){if(r===f){n.push(i);break}n.push(i.subarray(0,r-a));break}n.push(i)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!ct(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;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,f=this.byteLength-n.byteLength,l=n.byteLength-1,u;for(let h=r;h<=f;h+=u){u=0;for(let p=l;p>=0;p--){let x=this.get(h+p);if(n[p]!==x){u=Math.max(1,p-a[x]);break}}if(u===0)return h}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=J(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let o=H(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,r,n),this.write(o,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let o=H(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,r,n),this.write(o,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let o=H(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,r,n),this.write(o,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=J(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let o=H(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,r,n),this.write(o,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let o=H(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,r,n),this.write(o,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let o=H(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,r,n),this.write(o,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let o=H(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,r,n),this.write(o,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let o=H(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,r,n),this.write(o,e)}equals(e){if(e==null||!(e instanceof t)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!qe(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new t;return n.bufs=e,r==null&&(r=e.reduce((o,s)=>o+s.byteLength,0)),n.length=r,n}};var On={};K(On,{base10:()=>Rc});var Kh=new Uint8Array(0);function $s(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function ne(t){if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return Ge(t);if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return Ge(new Uint8Array(t.buffer,t.byteOffset,t.byteLength));throw new Error("Unknown type, must be binary type")}function zs(t){let e=new Uint8Array(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}var Rs=4096;function Vs(t){let e=t.length;if(e<=Rs)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.subarray(n,n+=Rs));return r}function Bc(t){return t?.buffer instanceof ArrayBuffer}function Ge(t){return Bc(t)?t:t.slice()}function Pc(t,e,r){if(t.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<t.length;s++){var i=t.charAt(s),a=i.charCodeAt(0);if(n[a]!==255)throw new TypeError(i+" is ambiguous");if(n[a]=s,r){var f=i.toLowerCase().charCodeAt(0),l=i.toUpperCase().charCodeAt(0);f!==a&&(n[f]=s),l!==a&&(n[l]=s)}}var u=t.length,h=t.charAt(0),p=Math.log(u)/Math.log(256),x=Math.log(256)/Math.log(u);function ae(b){if(b instanceof Uint8Array||(ArrayBuffer.isView(b)?b=new Uint8Array(b.buffer,b.byteOffset,b.byteLength):Array.isArray(b)&&(b=Uint8Array.from(b))),!(b instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(b.length===0)return"";for(var I=0,k=0,G=0,R=b.length;G!==R&&b[G]===0;)G++,I++;for(var ce=(R-G)*x+1>>>0,z=new Uint8Array(ce);G!==R;){for(var re=b[G],ue=0,X=ce-1;(re!==0||ue<k)&&X!==-1;X--,ue++)re+=256*z[X]>>>0,z[X]=re%u>>>0,re=re/u>>>0;if(re!==0)throw new Error("Non-zero carry");k=ue,G++}for(var ve=ce-k;ve!==ce&&z[ve]===0;)ve++;for(var pr=h.repeat(I);ve<ce;++ve)pr+=t.charAt(z[ve]);return pr}function q(b){if(typeof b!="string")throw new TypeError("Expected String");if(b.length===0)return new Uint8Array;var I=0;if(b[I]!==" "){for(var k=0,G=0;b[I]===h;)k++,I++;for(var R=(b.length-I)*p+1>>>0,ce=new Uint8Array(R);b[I];){var z=n[b.charCodeAt(I)];if(z===255)return;for(var re=0,ue=R-1;(z!==0||re<G)&&ue!==-1;ue--,re++)z+=u*ce[ue]>>>0,ce[ue]=z%256>>>0,z=z/256>>>0;if(z!==0)throw new Error("Non-zero carry");G=re,I++}if(b[I]!==" "){for(var X=R-G;X!==R&&ce[X]===0;)X++;for(var ve=new Uint8Array(k+(R-X)),pr=k;X!==R;)ve[pr++]=ce[X++];return ve}}}function w(b){var I=q(b);if(I)return I;throw new Error(`Non-${e} character`)}return{encode:ae,decodeUnsafe:q,decode:w}}var Nc=Pc,Mc=Nc,Ws=Mc;var Nn=class{name;prefix;baseEncode;constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Mn=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,r,n){this.name=e,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return qs(this,e)}},Fn=class{decoders;constructor(e){this.decoders=e}or(e){return qs(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function qs(t,e){return new Fn({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var Un=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Nn(e,r,n),this.decoder=new Mn(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function ut({name:t,prefix:e,encode:r,decode:n}){return new Un(t,e,r,n)}function ke({name:t,prefix:e,alphabet:r,caseInsensitive:n=!1}){let{encode:o,decode:s}=Ws(r,t,n);return ut({prefix:e,name:t,encode:o,decode:i=>ne(s(i))})}function Fc(t,e,r,n){let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),i=0,a=0,f=0;for(let l=0;l<o;++l){let u=e[t[l]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<r|u,i+=r,i>=8&&(i-=8,s[f++]=255&a>>i)}if(i>=r||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function Uc(t,e,r){let n=e[e.length-1]==="=",o=(1<<r)-1,s="",i=0,a=0;for(let f=0;f<t.length;++f)for(a=a<<8|t[f],i+=8;i>r;)i-=r,s+=e[o&a>>i];if(i!==0&&(s+=e[o&a<<r-i]),n)for(;(s.length*r&7)!==0;)s+="=";return s}function Oc(t,e){let r={};for(let n=0;n<t.length;++n)if(r[t[n]]=n,e){let o=t[n].toLowerCase(),s=t[n].toUpperCase();o!==t[n]&&(r[o]=n),s!==t[n]&&(r[s]=n)}return r}function T({name:t,prefix:e,bitsPerChar:r,alphabet:n,caseInsensitive:o=!1}){let s=Oc(n,o);return ut({prefix:e,name:t,encode(i){return Uc(i,n,r)},decode(i){return Fc(i,s,r,t)}})}var Rc=ke({prefix:"9",name:"base10",alphabet:"0123456789"});var Rn={};K(Rn,{base16:()=>$c,base16upper:()=>zc});var $c=T({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4,caseInsensitive:!0}),zc=T({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4,caseInsensitive:!0});var $n={};K($n,{base2:()=>Vc});var Vc=T({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var zn={};K(zn,{base256emoji:()=>Hc});var Gs=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}"),jc=Gs.reduce((t,e,r)=>(t[r]=e,t),[]),Wc=Gs.reduce((t,e,r)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return t[n]=r,t},[]);function qc(t){return t.reduce((e,r)=>(e+=jc[r],e),"")}function Gc(t){let e=[];for(let r of t){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Wc[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);e.push(o)}return new Uint8Array(e)}var Hc=ut({prefix:"\u{1F680}",name:"base256emoji",encode:qc,decode:Gc});var Vn={};K(Vn,{base32:()=>pe,base32hex:()=>Jc,base32hexpad:()=>Zc,base32hexpadupper:()=>eu,base32hexupper:()=>Yc,base32pad:()=>Xc,base32padupper:()=>Kc,base32upper:()=>Qc,base32z:()=>tu});var pe=T({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5,caseInsensitive:!0}),Qc=T({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5,caseInsensitive:!0}),Xc=T({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5,caseInsensitive:!0}),Kc=T({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5,caseInsensitive:!0}),Jc=T({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5,caseInsensitive:!0}),Yc=T({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5,caseInsensitive:!0}),Zc=T({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5,caseInsensitive:!0}),eu=T({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5,caseInsensitive:!0}),tu=T({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var jn={};K(jn,{base36:()=>Ut,base36upper:()=>ru});var Ut=ke({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz",caseInsensitive:!0}),ru=ke({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",caseInsensitive:!0});var Wn={};K(Wn,{base58btc:()=>oe,base58flickr:()=>nu});var oe=ke({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),nu=ke({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Hn={};K(Hn,{base64:()=>qn,base64pad:()=>ou,base64url:()=>Gn,base64urlpad:()=>su});var qn=T({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ou=T({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Gn=T({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),su=T({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Qn={};K(Qn,{base8:()=>iu});var iu=T({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Xn={};K(Xn,{identity:()=>au});var au=ut({prefix:"\0",name:"identity",encode:t=>Vs(ne(t)),decode:t=>ne(zs(t))});var hd=new TextEncoder,dd=new TextDecoder;var Jn={};K(Jn,{identity:()=>Du});var fu=Xs,Hs=128,lu=127,hu=~lu,du=Math.pow(2,31);function Xs(t,e,r){e=e||[],r=r||0;for(var n=r;t>=du;)e[r++]=t&255|Hs,t/=128;for(;t&hu;)e[r++]=t&255|Hs,t>>>=7;return e[r]=t|0,Xs.bytes=r-n+1,e}var mu=Kn,pu=128,Qs=127;function Kn(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a)throw Kn.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&Qs)<<o:(i&Qs)*Math.pow(2,o),o+=7}while(i>=pu);return Kn.bytes=s-n,r}var gu=Math.pow(2,7),yu=Math.pow(2,14),bu=Math.pow(2,21),xu=Math.pow(2,28),wu=Math.pow(2,35),Eu=Math.pow(2,42),_u=Math.pow(2,49),vu=Math.pow(2,56),Su=Math.pow(2,63),Cu=function(t){return t<gu?1:t<yu?2:t<bu?3:t<xu?4:t<wu?5:t<Eu?6:t<_u?7:t<vu?8:t<Su?9:10},Iu={encode:fu,decode:mu,encodingLength:Cu},Lu=Iu,Ot=Lu;function Rt(t,e=0){let r=Ot.decode(t,e),n=Ot.decode.bytes;if(n>9)throw new RangeError("Invalid varint: too long");if(n>1&&t[e+n-1]===0)throw new RangeError("Invalid varint: not minimally encoded");return[r,n]}function ft(t,e,r=0){return Ot.encode(t,e,r),e}function lt(t){return Ot.encodingLength(t)}function dt(t,e){let r=e.byteLength,n=lt(t),o=n+lt(r),s=new Uint8Array(o+r);return ft(t,s,0),ft(r,s,n),s.set(e,o),new ht(t,r,e,s)}function Ks(t){let e=ne(t),[r,n]=Rt(e),[o,s]=Rt(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new ht(r,o,i,e)}function Js(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&$s(t.bytes,r.bytes)}}var ht=class{code;size;digest;bytes;constructor(e,r,n,o){this.code=e,this.size=r,this.digest=Ge(n),this.bytes=Ge(o)}};var Ys=0,Au="identity",Zs=ne;function Tu(t,e){if(e?.truncate!=null&&e.truncate!==t.byteLength){if(e.truncate<0||e.truncate>t.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${t.byteLength}`);t=t.subarray(0,e.truncate)}return dt(Ys,Zs(t))}var Du={code:Ys,name:Au,encode:Zs,digest:Tu};var eo={};K(eo,{sha256:()=>Bu,sha512:()=>Pu});var ku=20;function Zn({name:t,code:e,encode:r,minDigestLength:n,maxDigestLength:o}){return new Yn(t,e,r,n,o)}var Yn=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,r,n,o,s){this.name=e,this.code=r,this.encode=n,this.minDigestLength=o??ku,this.maxDigestLength=s}digest(e,r){if(r?.truncate!=null){if(r.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&r.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?ei(n,this.code,r?.truncate):n.then(o=>ei(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function ei(t,e,r){if(r!=null&&r!==t.byteLength){if(r>t.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${t.byteLength}`);t=t.subarray(0,r)}return dt(e,t)}function ri(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var Bu=Zn({name:"sha2-256",code:18,encode:ri("SHA-256")}),Pu=Zn({name:"sha2-512",code:19,encode:ri("SHA-512")});function ni(t,e){let{bytes:r,version:n}=t;return n===0?Mu(r,to(t),e??oe.encoder):Fu(r,to(t),e??pe.encoder)}var oi=new WeakMap;function to(t){let e=oi.get(t);if(e==null){let r=new Map;return oi.set(t,r),r}return e}var mt=class t{code;version;multihash;bytes;"/";constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,this.bytes=Ge(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:e,multihash:r}=this;if(e!==zt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Uu)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=dt(e,r);return t.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(e){return t.equals(this,e)}static equals(e,r){let n=r;return n!=null&&e.code===n.code&&e.version===n.version&&Js(e.multihash,n.multihash)}toString(e){return ni(this,e)}toJSON(){return{"/":ni(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:s,bytes:i}=r;return new t(n,o,s,i??si(n,o,s.bytes))}else if(r[Ou]===!0){let{version:n,multihash:o,code:s}=r,i=Ks(o);return t.create(n,s,i)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==zt)throw new Error(`Version 0 CID must use dag-pb (code: ${zt}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=si(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,zt,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,o=ne(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=o.subarray(r.multihashSize-r.digestSize),i=new ht(r.multihashCode,r.digestSize,s,o);return[r.version===0?t.createV0(i):t.createV1(r.codec,i),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=Rt(e.subarray(r));return r+=p,h},o=n(),s=zt;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,a=n(),f=n(),l=r+f,u=l-i;return{version:o,codec:s,multihashCode:a,digestSize:f,multihashSize:u,size:l}}static parse(e,r){let[n,o]=Nu(e,r),s=t.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return to(s).set(n,e),s}};function Nu(t,e){switch(t[0]){case"Q":{let r=e??oe;return[oe.prefix,r.decode(`${oe.prefix}${t}`)]}case oe.prefix:{let r=e??oe;return[oe.prefix,r.decode(t)]}case pe.prefix:{let r=e??pe;return[pe.prefix,r.decode(t)]}case Ut.prefix:{let r=e??Ut;return[Ut.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}}function Mu(t,e,r){let{prefix:n}=r;if(n!==oe.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return o}function Fu(t,e,r){let{prefix:n}=r,o=e.get(n);if(o==null){let s=r.encode(t);return e.set(n,s),s}else return o}var zt=112,Uu=18;function si(t,e,r){let n=lt(t),o=n+lt(e),s=new Uint8Array(o+r.byteLength);return ft(t,s,0),ft(e,s,n),s.set(r,o),s}var Ou=Symbol.for("@ipld/js-cid/CID");var Vt={...Xn,...$n,...Qn,...On,...Rn,...Vn,...jn,...Wn,...Hn,...zn},Md={...eo,...Jn};function ai(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var ii=ai("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),ro=ai("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=J(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Ru={utf8:ii,"utf-8":ii,hex:Vt.base16,latin1:ro,ascii:ro,binary:ro,...Vt},br=Ru;function B(t,e="utf8"){let r=br[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.decoder.decode(`${r.prefix}${t}`)}var no={32:16777619n,64:1099511628211n,128:309485009821345068724781371n,256:374144419156711147060143317175368453031918731002211n,512:35835915874844867368919076489095108449946327955754392558399825615420669938882575126094039892345713852759n,1024:5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082573n},ci={32:2166136261n,64:14695981039346656037n,128:144066263297769815596495629667062367629n,256:100029257958052580907070968620625704837092796014241193945225284501741471925557n,512:9659303129496669498009435400716310466090418745672637896108374329434462657994582932197716438449813051892206539805784495328239340083876191928701583869517785n,1024:14197795064947621068722070641403218320880622795441933960878474914617582723252296732303717722150864096521202355549365628174669108571814760471015076148029755969804077320157692458563003215304957150157403644460363550505412711285966361610267868082893823963790439336411086884584107735010676915n},ui=new globalThis.TextEncoder;function $u(t,e){let r=no[e],n=ci[e];for(let o=0;o<t.length;o++)n^=BigInt(t[o]),n=BigInt.asUintN(e,n*r);return n}function zu(t,e,r){if(r.length===0)throw new Error("The `utf8Buffer` option must have a length greater than zero");let n=no[e],o=ci[e],s=t;for(;s.length>0;){let i=ui.encodeInto(s,r);s=s.slice(i.read);for(let a=0;a<i.written;a++)o^=BigInt(r[a]),o=BigInt.asUintN(e,o*n)}return o}function oo(t,{size:e=32,utf8Buffer:r}={}){if(!no[e])throw new Error("The `size` option must be one of 32, 64, 128, 256, 512, or 1024");if(typeof t=="string"){if(r)return zu(t,e,r);t=ui.encode(t)}return $u(t,e)}var Be={hash:t=>Number(oo(t,{size:32})),hashV:(t,e)=>Vu(Be.hash(t,e))};function Vu(t){let e=t.toString(16);return e.length%2===1&&(e=`0${e}`),B(e,"base16")}var ju=Math.LN2*Math.LN2,jt=class{seeds;bits;buffer;constructor(e={}){e.seeds!=null?this.seeds=e.seeds:this.seeds=qu(e.hashes??8),this.bits=e.bits??1024,this.buffer=H(Math.ceil(this.bits/8))}add(e){typeof e=="string"&&(e=B(e));for(let r=0;r<this.seeds.length;r++){let o=Be.hash(e,this.seeds[r])%this.bits;this.setbit(o)}}has(e){typeof e=="string"&&(e=B(e));for(let r=0;r<this.seeds.length;r++){let o=Be.hash(e,this.seeds[r])%this.bits;if(!this.getbit(o))return!1}return!0}clear(){this.buffer.fill(0)}setbit(e){let r=Math.floor(e/8),n=e%8,o=this.buffer[r];o|=1<<n,this.buffer[r]=o}getbit(e){let r=Math.floor(e/8),n=e%8;return(this.buffer[r]&1<<n)!==0}};function fi(t,e=.005){let r=Wu(t,e);return new jt(r)}function Wu(t,e=.005){let r=Math.round(-1*t*Math.log(e)/ju),n=Math.round(r/t*Math.LN2);return{bits:r,hashes:n}}function qu(t){let e,r,n=[];for(let o=0;o<t;o++)for(e=new D(crypto.getRandomValues(new Uint8Array(4))),n[o]=e.getUint32(0,!0),r=0;r<o;r++)if(n[o]===n[r]){o--;break}return n}var so=64,fe=class{fp;h;seed;constructor(e,r,n,o=2){if(o>so)throw new TypeError("Invalid Fingerprint Size");let s=r.hashV(e,n),i=H(o);for(let a=0;a<i.length;a++)i[a]=s[a];i.length===0&&(i[0]=7),this.fp=i,this.h=r,this.seed=n}hash(){return this.h.hash(this.fp,this.seed)}equals(e){return e?.fp instanceof Uint8Array?qe(this.fp,e.fp):!1}};function He(t,e){return Math.floor(Math.random()*(e-t))+t}var Qe=class{contents;constructor(e){this.contents=new Array(e).fill(null)}has(e){if(!(e instanceof fe))throw new TypeError("Invalid Fingerprint");return this.contents.some(r=>e.equals(r))}add(e){if(!(e instanceof fe))throw new TypeError("Invalid Fingerprint");for(let r=0;r<this.contents.length;r++)if(this.contents[r]==null)return this.contents[r]=e,!0;return!0}swap(e){if(!(e instanceof fe))throw new TypeError("Invalid Fingerprint");let r=He(0,this.contents.length-1),n=this.contents[r];return this.contents[r]=e,n}remove(e){if(!(e instanceof fe))throw new TypeError("Invalid Fingerprint");let r=this.contents.findIndex(n=>e.equals(n));return r>-1?(this.contents[r]=null,!0):!1}};var Gu=500,Pe=class{bucketSize;filterSize;fingerprintSize;buckets;count;hash;seed;constructor(e){this.filterSize=e.filterSize,this.bucketSize=e.bucketSize??4,this.fingerprintSize=e.fingerprintSize??2,this.count=0,this.buckets=[],this.hash=e.hash??Be,this.seed=e.seed??He(0,Math.pow(2,10))}add(e){typeof e=="string"&&(e=B(e));let r=new fe(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,o=(n^r.hash())%this.filterSize;if(this.buckets[n]==null&&(this.buckets[n]=new Qe(this.bucketSize)),this.buckets[o]==null&&(this.buckets[o]=new Qe(this.bucketSize)),this.buckets[n].add(r)||this.buckets[o].add(r))return this.count++,!0;let s=[n,o],i=s[He(0,s.length-1)];this.buckets[i]==null&&(this.buckets[i]=new Qe(this.bucketSize));for(let a=0;a<Gu;a++){let f=this.buckets[i].swap(r);if(f!=null&&(i=(i^f.hash())%this.filterSize,this.buckets[i]==null&&(this.buckets[i]=new Qe(this.bucketSize)),this.buckets[i].add(f)))return this.count++,!0}return!1}has(e){typeof e=="string"&&(e=B(e));let r=new fe(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,o=this.buckets[n]?.has(r)??!1;if(o)return o;let s=(n^r.hash())%this.filterSize;return this.buckets[s]?.has(r)??!1}remove(e){typeof e=="string"&&(e=B(e));let r=new fe(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,o=this.buckets[n]?.remove(r)??!1;if(o)return this.count--,o;let s=(n^r.hash())%this.filterSize,i=this.buckets[s]?.remove(r)??!1;return i&&this.count--,i}get reliable(){return Math.floor(100*(this.count/this.filterSize))<=90}},Hu={1:.5,2:.84,4:.95,8:.98};function Qu(t=.001){return t>.002?2:t>1e-5?4:8}function io(t,e=.001){let r=Qu(e),n=Hu[r],o=Math.round(t/n),s=Math.min(Math.ceil(Math.log2(1/e)+Math.log2(2*r)),so);return{filterSize:o,bucketSize:r,fingerprintSize:s}}function li(t,e=.005){let r=io(t,e);return new Pe(r)}var Wt=class{filterSize;bucketSize;fingerprintSize;scale;filterSeries;hash;seed;constructor(e){this.bucketSize=e.bucketSize??4,this.filterSize=e.filterSize??(1<<18)/this.bucketSize,this.fingerprintSize=e.fingerprintSize??2,this.scale=e.scale??2,this.hash=e.hash??Be,this.seed=e.seed??He(0,Math.pow(2,10)),this.filterSeries=[new Pe({filterSize:this.filterSize,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed})]}add(e){if(typeof e=="string"&&(e=B(e)),this.has(e))return!0;let r=this.filterSeries.find(n=>n.reliable);if(r==null){let n=this.filterSize*Math.pow(this.scale,this.filterSeries.length);r=new Pe({filterSize:n,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed}),this.filterSeries.push(r)}return r.add(e)}has(e){typeof e=="string"&&(e=B(e));for(let r=0;r<this.filterSeries.length;r++)if(this.filterSeries[r].has(e))return!0;return!1}remove(e){typeof e=="string"&&(e=B(e));for(let r=0;r<this.filterSeries.length;r++)if(this.filterSeries[r].remove(e))return!0;return!1}get count(){return this.filterSeries.reduce((e,r)=>e+r.count,0)}};function hi(t,e=.001,r){return new Wt({...io(t,e),...r??{}})}var Ce=class extends Error{static name="AbortError";constructor(e="The operation was aborted"){super(e),this.name="AbortError"}};var se=class extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}};var xr=class extends Error{static name="MuxerClosedError";constructor(e="The muxer is closed"){super(e),this.name="MuxerClosedError"}},wr=class extends Error{static name="StreamResetError";constructor(e="The stream has been reset"){super(e),this.name="StreamResetError"}};var Ne=class extends Error{static name="StreamStateError";constructor(e="The stream is in an invalid state"){super(e),this.name="StreamStateError"}},qt=class extends Error{static name="StreamBufferError";constructor(e="The stream buffer was full"){super(e),this.name="StreamBufferError"}};var ge=class extends Event{data;constructor(e,r){super("message",r),this.data=e}},pt=class extends Event{error;local;constructor(e,r,n){super("close",n),this.error=r,this.local=e}},Er=class extends pt{constructor(e,r){super(!0,e,r)}},_r=class extends pt{constructor(e,r){super(!1,e,r)}};function Xu(t){return typeof t?.handleEvent=="function"}function Ku(t){return(t!==!0&&t!==!1&&t?.once)??!1}var ye=class extends EventTarget{#e=new Map;constructor(){super()}listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){let o=Ku(n);super.addEventListener(e,i=>{if(o){let a=this.#e.get(i.type);a!=null&&(a=a.filter(({callback:f})=>f!==r),this.#e.set(i.type,a))}Xu(r)?r.handleEvent(i):r(i)},n);let s=this.#e.get(e);s==null&&(s=[],this.#e.set(e,s)),s.push({callback:r,once:o})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let o=this.#e.get(e);o!=null&&(o=o.filter(({callback:s})=>s!==r),this.#e.set(e,o))}safeDispatchEvent(e,r={}){return this.dispatchEvent(new CustomEvent(e,r))}};function vr(t){let e=t.getComponents(),r={},n=0;return e[n]?.name==="ip6zone"&&(r.zone=`${e[n].value}`,n++),e[n]?.name==="ip4"||e[n]?.name==="ip6"||e[n]?.name==="dns"||e[n]?.name==="dns4"||e[n]?.name==="dns6"?(r.type=e[n].name,r.host=e[n].value,n++):e[n]?.name==="dnsaddr"&&(r.type=e[n].name,r.host=`_dnsaddr.${e[n].value}`,n++),(e[n]?.name==="tcp"||e[n]?.name==="udp")&&(r.protocol=e[n].name==="tcp"?"tcp":"udp",r.port=parseInt(`${e[n].value}`),n++),e[n]?.name==="ipcidr"&&(r.type==="ip4"?r.cidr=parseInt(`${e[n].value}`):r.type==="ip6"&&(r.cidr=`${e[n].value}`),n++),r.type==null||r.host==null?null:(e[n]?.name==="tls"&&e[n+1]?.name==="sni"&&(r.sni=e[n+1].value,n+=2),r)}function le(t){let e=vr(t);if(e==null)throw new se(`Multiaddr ${t} was not an IPv4, IPv6, DNS, DNS4, DNS6 or DNSADDR address`);return e}var Sr=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}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(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,o){return this.readAtomically(()=>{let s=0,i=0,a=this.peekChar();if(a===void 0)return;let f=a==="0",l=2**(8*o)-1;for(;;){let u=this.readAtomically(()=>{let h=this.readChar();if(h===void 0)return;let p=Number.parseInt(h,e);if(!Number.isNaN(p))return p});if(u===void 0)break;if(s*=e,s+=u,s>l||(i+=1,r!==void 0&&i>r))return}if(i!==0)return!n&&f&&i>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let o=n*2;if(n<r.length-3){let i=this.readSeparator(":",n,()=>this.readIPv4Addr());if(i!==void 0)return r[o]=i[0],r[o+1]=i[1],r[o+2]=i[2],r[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];r[o]=s>>8,r[o+1]=s&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,o]=e(r);if(n===16)return r;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),i=16-(n+2),[a]=e(s.subarray(0,i));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var di=45,Ju=15,gt=new Sr;function Cr(t){if(!(t.length>Ju))return gt.new(t).parseWith(()=>gt.readIPv4Addr())}function Ir(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>di))return gt.new(t).parseWith(()=>gt.readIPv6Addr())}function yt(t,e=!1){if(t.includes("%")&&(t=t.split("%")[0]),t.length>di)return;let r=gt.new(t).parseWith(()=>gt.readIPAddr());if(r)return e&&r.length===4?Uint8Array.from([0,0,0,0,0,0,0,0,0,0,255,255,r[0],r[1],r[2],r[3]]):r}function mi(t,e,r){let n=0;for(let o of t)if(!(n<e)){if(n>r)break;if(o!==255)return!1;n++}return!0}function pi(t,e,r,n){let o=0;for(let s of t)if(!(o<r)){if(o>n)break;if(s!==e[o])return!1;o++}return!0}function ao(t){switch(t.length){case Xe:return t.join(".");case Ke:{let e=[];for(let r=0;r<t.length;r++)r%2===0&&e.push(t[r].toString(16).padStart(2,"0")+t[r+1].toString(16).padStart(2,"0"));return e.join(":")}default:throw new Error("Invalid ip length")}}function gi(t){let e=0;for(let[r,n]of t.entries()){if(n===255){e+=8;continue}for(;(n&128)!=0;)e++,n=n<<1;if((n&128)!=0)return-1;for(let o=r+1;o<t.length;o++)if(t[o]!=0)return-1;break}return e}function yi(t){let e="0x";for(let r of t)e+=(r>>4).toString(16)+(r&15).toString(16);return e}var Xe=4,Ke=16,km=parseInt("0xFFFF",16),Yu=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Gt(t,e){e.length===Ke&&t.length===Xe&&mi(e,0,11)&&(e=e.slice(12)),e.length===Xe&&t.length===Ke&&pi(t,Yu,0,11)&&(t=t.slice(12));let r=t.length;if(r!=e.length)throw new Error("Failed to mask ip");let n=new Uint8Array(r);for(let o=0;o<r;o++)n[o]=t[o]&e[o];return n}function bi(t,e){if(typeof e=="string"&&(e=yt(e)),e==null)throw new Error("Invalid ip");if(e.length!==t.network.length)return!1;for(let r=0;r<e.length;r++)if((t.network[r]&t.mask[r])!==(e[r]&t.mask[r]))return!1;return!0}function co(t){let[e,r]=t.split("/");if(!e||!r)throw new Error("Failed to parse given CIDR: "+t);let n=Xe,o=Cr(e);if(o==null&&(n=Ke,o=Ir(e),o==null))throw new Error("Failed to parse given CIDR: "+t);let s=parseInt(r,10);if(Number.isNaN(s)||String(s).length!==r.length||s<0||s>n*8)throw new Error("Failed to parse given CIDR: "+t);let i=uo(s,8*n);return{network:Gt(o,i),mask:i}}function uo(t,e){if(e!==8*Xe&&e!==8*Ke)throw new Error("Invalid CIDR mask");if(t<0||t>e)throw new Error("Invalid CIDR mask");let r=e/8,n=new Uint8Array(r);for(let o=0;o<r;o++){if(t>=8){n[o]=255,t-=8;continue}n[o]=255-(255>>t),t=0}return n}var Ht=class{constructor(e,r){if(r==null)({network:this.network,mask:this.mask}=co(e));else{let n=yt(e);if(n==null)throw new Error("Failed to parse network");r=String(r);let o=parseInt(r,10);if(Number.isNaN(o)||String(o).length!==r.length||o<0||o>n.length*8){let s=yt(r);if(s==null)throw new Error("Failed to parse mask");this.mask=s}else this.mask=uo(o,8*n.length);this.network=Gt(n,this.mask)}}contains(e){return bi({network:this.network,mask:this.mask},e)}toString(){let e=gi(this.mask),r=e!==-1?String(e):yi(this.mask);return ao(this.network)+"/"+r}};function Lr(t,e){return new Ht(t).contains(e)}function Zu(t){try{let e=le(t);return e.type==="ip6"?Lr("2000::/3",e.host):!1}catch{return!1}}function ef(t){try{let e=le(t);switch(e.type){case"ip4":return e.host.startsWith("169.254.");case"ip6":return e.host.toLowerCase().startsWith("fe80");default:return!1}}catch{return!1}}function xi(t){return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(t)||/^::1$/.test(t)}function Ar(t){try{let e=le(t);switch(e.type){case"ip4":case"ip6":return xi(e.host);default:return!1}}catch{return!1}}function tf(t){return vr(t)!==null}function Me(t){return!!Cr(t)}function Fe(t){return!!Ir(t)}var vi=Tc(_i(),1),uf=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],ff=uf.map(t=>new vi.Netmask(t));function yo(t){for(let e of ff)if(e.contains(t))return!0;return!1}function lf(t){return/^::ffff:([0-9a-fA-F]{1,4}):([0-9a-fA-F]{1,4})$/.test(t)}function hf(t){let e=t.split(":");if(e.length<2)return!1;let r=e[e.length-1].padStart(4,"0"),n=e[e.length-2].padStart(4,"0"),o=`${parseInt(n.substring(0,2),16)}.${parseInt(n.substring(2),16)}.${parseInt(r.substring(0,2),16)}.${parseInt(r.substring(2),16)}`;return yo(o)}function df(t){return/^::ffff:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)}function mf(t){let e=t.split(":"),r=e[e.length-1];return yo(r)}function pf(t){return/^::$/.test(t)||/^::1$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}function bo(t){if(Me(t))return yo(t);if(lf(t))return hf(t);if(df(t))return mf(t);if(Fe(t))return pf(t)}function Dr(t){try{let e=le(t);switch(e.type){case"ip4":case"ip6":return bo(e.host)??!1;default:return e.host==="localhost"}}catch{return!1}}var gf=Math.pow(2,7),yf=Math.pow(2,14),bf=Math.pow(2,21),xo=Math.pow(2,28),wo=Math.pow(2,35),Eo=Math.pow(2,42),_o=Math.pow(2,49),S=128,V=127;function j(t){if(t<gf)return 1;if(t<yf)return 2;if(t<bf)return 3;if(t<xo)return 4;if(t<wo)return 5;if(t<Eo)return 6;if(t<_o)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function kr(t,e,r=0){switch(j(t)){case 8:e[r++]=t&255|S,t/=128;case 7:e[r++]=t&255|S,t/=128;case 6:e[r++]=t&255|S,t/=128;case 5:e[r++]=t&255|S,t/=128;case 4:e[r++]=t&255|S,t>>>=7;case 3:e[r++]=t&255|S,t>>>=7;case 2:e[r++]=t&255|S,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function xf(t,e,r=0){switch(j(t)){case 8:e.set(r++,t&255|S),t/=128;case 7:e.set(r++,t&255|S),t/=128;case 6:e.set(r++,t&255|S),t/=128;case 5:e.set(r++,t&255|S),t/=128;case 4:e.set(r++,t&255|S),t>>>=7;case 3:e.set(r++,t&255|S),t>>>=7;case 2:e.set(r++,t&255|S),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function wf(t,e){let r=t[e],n=0;if(n+=r&V,r<S||(r=t[e+1],n+=(r&V)<<7,r<S)||(r=t[e+2],n+=(r&V)<<14,r<S)||(r=t[e+3],n+=(r&V)<<21,r<S)||(r=t[e+4],n+=(r&V)*xo,r<S)||(r=t[e+5],n+=(r&V)*wo,r<S)||(r=t[e+6],n+=(r&V)*Eo,r<S)||(r=t[e+7],n+=(r&V)*_o,r<S))return n;throw new RangeError("Could not decode varint")}function Ef(t,e){let r=t.get(e),n=0;if(n+=r&V,r<S||(r=t.get(e+1),n+=(r&V)<<7,r<S)||(r=t.get(e+2),n+=(r&V)<<14,r<S)||(r=t.get(e+3),n+=(r&V)<<21,r<S)||(r=t.get(e+4),n+=(r&V)*xo,r<S)||(r=t.get(e+5),n+=(r&V)*wo,r<S)||(r=t.get(e+6),n+=(r&V)*Eo,r<S)||(r=t.get(e+7),n+=(r&V)*_o,r<S))return n;throw new RangeError("Could not decode varint")}function Br(t,e,r=0){return e==null&&(e=J(j(t))),e instanceof Uint8Array?kr(t,e,r):xf(t,e,r)}function Ie(t,e=0){return t instanceof Uint8Array?wf(t,e):Ef(t,e)}function _f(t){return t.buffer instanceof ArrayBuffer}function vo(t){return _f(t)?t:t.slice()}function Oe(t,e="utf8"){let r=br[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.encoder.encode(t).substring(1)}var $=class extends Error{static name="InvalidMultiaddrError";name="InvalidMultiaddrError"},Le=class extends Error{static name="ValidationError";name="ValidationError"},Pr=class extends Error{static name="InvalidParametersError";name="InvalidParametersError"},Nr=class extends Error{static name="UnknownProtocolError";name="UnknownProtocolError"};function Co(t){return e=>Oe(e,t)}function Io(t){return e=>B(e,t)}function Et(t){return new DataView(t.buffer).getUint16(t.byteOffset).toString()}function Ye(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,typeof t=="string"?parseInt(t):t),new Uint8Array(e)}function Si(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=B(e[0],"base32"),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Ye(n);return Se([r,o],r.length+o.length)}function Ci(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=pe.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Ye(n);return Se([r,o],r.length+o.length)}function Lo(t){let e=t.subarray(0,t.length-2),r=t.subarray(t.length-2),n=Oe(e,"base32"),o=Et(r);return`${n}:${o}`}var Ao=function(t){t=t.toString().trim();let e=new Uint8Array(4);return t.split(/\./g).forEach((r,n)=>{let o=parseInt(r,10);if(isNaN(o)||o<0||o>255)throw new $("Invalid byte value in IP address");e[n]=o}),e},Ii=function(t){let e=0;t=t.toString().trim();let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=Me(r[n]),i;s&&(i=Ao(r[n]),r[n]=Oe(i.subarray(0,2),"base16")),i!=null&&++n<8&&r.splice(n,0,Oe(i.subarray(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let s=[n,1];for(n=9-r.length;n>0;n--)s.push("0");r.splice.apply(r,s)}let o=new Uint8Array(e+16);for(n=0;n<r.length;n++){r[n]===""&&(r[n]="0");let s=parseInt(r[n],16);if(isNaN(s)||s<0||s>65535)throw new $("Invalid byte value in IP address");o[e++]=s>>8&255,o[e++]=s&255}return o},Li=function(t){if(t.byteLength!==4)throw new $("IPv4 address was incorrect length");let e=[];for(let r=0;r<t.byteLength;r++)e.push(t[r]);return e.join(".")},Ai=function(t){if(t.byteLength!==16)throw new $("IPv6 address was incorrect length");let e=[];for(let n=0;n<t.byteLength;n+=2){let o=t[n],s=t[n+1],i=`${o.toString(16).padStart(2,"0")}${s.toString(16).padStart(2,"0")}`;e.push(i)}let r=e.join(":");try{let n=new URL(`http://[${r}]`);return n.hostname.substring(1,n.hostname.length-1)}catch{throw new $(`Invalid IPv6 address "${r}"`)}};function Ti(t){try{let e=new URL(`http://[${t}]`);return e.hostname.substring(1,e.hostname.length-1)}catch{throw new $(`Invalid IPv6 address "${t}"`)}}var So=Object.values(Vt).map(t=>t.decoder),vf=(function(){let t=So[0].or(So[1]);return So.slice(2).forEach(e=>t=t.or(e)),t})();function Di(t){return vf.decode(t)}function ki(t){return e=>t.encoder.encode(e)}function Sf(t){if(parseInt(t).toString()!==t)throw new Le("Value must be an integer")}function Cf(t){if(t<0)throw new Le("Value must be a positive integer, or zero")}function If(t){return e=>{if(e>t)throw new Le(`Value must be smaller than or equal to ${t}`)}}function Lf(...t){return e=>{for(let r of t)r(e)}}var Xt=Lf(Sf,Cf,If(65535));var M=-1,To=class{protocolsByCode=new Map;protocolsByName=new Map;getProtocol(e){let r;if(typeof e=="string"?r=this.protocolsByName.get(e):r=this.protocolsByCode.get(e),r==null)throw new Nr(`Protocol ${e} was unknown`);return r}addProtocol(e){this.protocolsByCode.set(e.code,e),this.protocolsByName.set(e.name,e),e.aliases?.forEach(r=>{this.protocolsByName.set(r,e)})}removeProtocol(e){let r=this.protocolsByCode.get(e);r!=null&&(this.protocolsByCode.delete(r.code),this.protocolsByName.delete(r.name),r.aliases?.forEach(n=>{this.protocolsByName.delete(n)}))}},Te=new To,zf=[{code:4,name:"ip4",size:32,valueToBytes:Ao,bytesToValue:Li,validate:t=>{if(!Me(t))throw new Le(`Invalid IPv4 address "${t}"`)}},{code:6,name:"tcp",size:16,valueToBytes:Ye,bytesToValue:Et,validate:Xt},{code:273,name:"udp",size:16,valueToBytes:Ye,bytesToValue:Et,validate:Xt},{code:33,name:"dccp",size:16,valueToBytes:Ye,bytesToValue:Et,validate:Xt},{code:41,name:"ip6",size:128,valueToBytes:Ii,bytesToValue:Ai,stringToValue:Ti,validate:t=>{if(!Fe(t))throw new Le(`Invalid IPv6 address "${t}"`)}},{code:42,name:"ip6zone",size:M},{code:43,name:"ipcidr",size:8,bytesToValue:Co("base10"),valueToBytes:Io("base10")},{code:53,name:"dns",size:M},{code:54,name:"dns4",size:M},{code:55,name:"dns6",size:M},{code:56,name:"dnsaddr",size:M},{code:132,name:"sctp",size:16,valueToBytes:Ye,bytesToValue:Et,validate:Xt},{code:301,name:"udt"},{code:302,name:"utp"},{code:400,name:"unix",size:M,stringToValue:t=>decodeURIComponent(t),valueToString:t=>encodeURIComponent(t)},{code:421,name:"p2p",aliases:["ipfs"],size:M,bytesToValue:Co("base58btc"),valueToBytes:t=>t.startsWith("Q")||t.startsWith("1")?Io("base58btc")(t):mt.parse(t).multihash.bytes},{code:444,name:"onion",size:96,bytesToValue:Lo,valueToBytes:Si},{code:445,name:"onion3",size:296,bytesToValue:Lo,valueToBytes:Ci},{code:446,name:"garlic64",size:M},{code:447,name:"garlic32",size:M},{code:448,name:"tls"},{code:449,name:"sni",size:M},{code:454,name:"noise"},{code:460,name:"quic"},{code:461,name:"quic-v1"},{code:465,name:"webtransport"},{code:466,name:"certhash",size:M,bytesToValue:ki(Gn),valueToBytes:Di},{code:480,name:"http"},{code:481,name:"http-path",size:M,stringToValue:t=>`/${decodeURIComponent(t)}`,valueToString:t=>encodeURIComponent(t.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:M}];zf.forEach(t=>{Te.addProtocol(t)});function Bi(t){let e=[],r=0;for(;r<t.length;){let n=Ie(t,r),o=Te.getProtocol(n),s=j(n),i=Vf(o,t,r+s),a=0;i>0&&o.size===M&&(a=j(i));let f=s+a+i,l={code:n,name:o.name,bytes:vo(t.subarray(r,r+f))};if(i>0){let u=r+s+a,h=t.subarray(u,u+i);l.value=o.bytesToValue?.(h)??Oe(h)}e.push(l),r+=f}return e}function Pi(t){let e=0,r=[];for(let n of t){if(n.bytes==null){let o=Te.getProtocol(n.code),s=j(n.code),i,a=0,f=0;n.value!=null&&(i=o.valueToBytes?.(n.value)??B(n.value),a=i.byteLength,o.size===M&&(f=j(a)));let l=new Uint8Array(s+f+a),u=0;kr(n.code,l,u),u+=s,i!=null&&(o.size===M&&(kr(a,l,u),u+=f),l.set(i,u)),n.bytes=l}r.push(n.bytes),e+=n.bytes.byteLength}return Se(r,e)}function Ni(t){if(t.charAt(0)!=="/")throw new $('String multiaddr must start with "/"');let e=[],r="protocol",n="",o="";for(let s=1;s<t.length;s++){let i=t.charAt(s);i!=="/"&&(r==="protocol"?o+=t.charAt(s):n+=t.charAt(s));let a=s===t.length-1;if(i==="/"||a){let f=Te.getProtocol(o);if(r==="protocol"){if(f.size==null||f.size===0){e.push({code:f.code,name:f.name}),n="",o="",r="protocol";continue}else if(a)throw new $(`Component ${o} was missing value`);r="value"}else if(r==="value"){let l={code:f.code,name:f.name};if(f.size!=null&&f.size!==0){if(n==="")throw new $(`Component ${o} was missing value`);l.value=f.stringToValue?.(n)??n}e.push(l),n="",o="",r="protocol"}}}if(o!==""&&n!=="")throw new $("Incomplete multiaddr");return e}function Mi(t){return`/${t.flatMap(e=>{if(e.value==null)return e.name;let r=Te.getProtocol(e.code);if(r==null)throw new $(`Unknown protocol code ${e.code}`);return[e.name,r.valueToString?.(e.value)??e.value]}).join("/")}`}function Vf(t,e,r){return t.size==null||t.size===0?0:t.size>0?t.size/8:Ie(e,r)}var jf=Symbol.for("nodejs.util.inspect.custom"),jo=Symbol.for("@multiformats/multiaddr");function Wf(t){if(t==null&&(t="/"),Fi(t))return t.getComponents();if(t instanceof Uint8Array)return Bi(t);if(typeof t=="string")return t=t.replace(/\/(\/)+/,"/").replace(/(\/)+$/,""),t===""&&(t="/"),Ni(t);if(Array.isArray(t))return t;throw new $("Must be a string, Uint8Array, Component[], or another Multiaddr")}var jr=class t{[jo]=!0;#e;#t;#r;constructor(e="/",r={}){this.#e=Wf(e),r.validate!==!1&&qf(this)}get bytes(){return this.#r==null&&(this.#r=Pi(this.#e)),this.#r}toString(){return this.#t==null&&(this.#t=Mi(this.#e)),this.#t}toJSON(){return this.toString()}getComponents(){return[...this.#e.map(e=>({...e}))]}encapsulate(e){let r=new t(e);return new t([...this.#e,...r.getComponents()],{validate:!1})}decapsulate(e){let r=e.toString(),n=this.toString(),o=n.lastIndexOf(r);if(o<0)throw new Pr(`Address ${this.toString()} does not contain subaddress: ${r}`);return new t(n.slice(0,o),{validate:!1})}decapsulateCode(e){let r;for(let n=this.#e.length-1;n>-1;n--)if(this.#e[n].code===e){r=n;break}return new t(this.#e.slice(0,r),{validate:!1})}equals(e){return qe(this.bytes,e.bytes)}[jf](){return`Multiaddr(${this.toString()})`}};function qf(t){t.getComponents().forEach(e=>{let r=Te.getProtocol(e.code);e.value!=null&&r.validate?.(e.value)})}function Fi(t){return!!t?.[jo]}function Re(t){return new jr(t)}var L=t=>({match:e=>{let r=e[0];return r==null||r.code!==t||r.value!=null?!1:e.slice(1)}}),y=(t,e)=>({match:r=>{let n=r[0];return n?.code!==t||n.value==null||e!=null&&n.value!==e?!1:r.slice(1)}}),Ui=t=>({match:e=>t.match(e)===!1?e:!1}),E=t=>({match:e=>{let r=t.match(e);return r===!1?e:r}}),W=(...t)=>({match:e=>{let r;for(let n of t){let o=n.match(e);o!==!1&&(r==null||o.length<r.length)&&(r=o)}return r??!1}}),_=(...t)=>({match:e=>{for(let r of t){let n=r.match(e);if(n===!1)return!1;e=n}return e}});function A(...t){function e(o){if(o==null)return!1;let s=o.getComponents();for(let i of t){let a=i.match(s);if(a===!1)return!1;s=a}return s}function r(o){return e(o)!==!1}function n(o){let s=e(o);return s===!1?!1:s.length===0}return{matchers:t,matches:r,exactMatch:n}}var Gf=y(421),Sg=A(Gf),qr=y(54),Gr=y(55),Hr=y(56),qo=y(53),Cg=A(qr,E(y(421))),Ig=A(Gr,E(y(421))),Lg=A(Hr,E(y(421))),Ag=A(W(qo,Hr,qr,Gr),E(y(421))),Oi=_(y(4),E(y(43))),Ri=_(E(y(42)),y(41),E(y(43))),Go=W(Oi,Ri),Ct=W(Go,qo,qr,Gr,Hr),Tg=A(W(Go,_(W(qo,Hr,qr,Gr),E(y(421))))),Dg=A(Oi),kg=A(Ri),Bg=A(Go),Ho=_(Ct,y(6)),Kt=_(Ct,y(273)),Qo=A(_(Ho,E(y(421)))),Pg=A(Kt),Xo=_(Kt,L(460),E(y(421))),Qr=_(Kt,L(461),E(y(421))),Hf=W(Xo,Qr),Ng=A(Xo),Mg=A(Qr),Wo=W(Ct,Ho,Kt,Xo,Qr),$i=W(_(Wo,L(477),E(y(421)))),Ko=A($i),zi=W(_(Wo,L(478),E(y(421))),_(Wo,L(448),E(y(449)),L(477),E(y(421)))),Jo=A(zi),Vi=_(Kt,L(280),E(y(466)),E(y(466)),E(y(421))),Yo=A(Vi),ji=_(Qr,L(465),E(y(466)),E(y(466)),E(y(421))),Zo=A(ji),Wr=W($i,zi,_(Ho,E(y(421))),_(Hf,E(y(421))),_(Ct,E(y(421))),Vi,ji,y(421)),Fg=A(Wr),Qf=_(E(Wr),L(290),Ui(L(281)),E(y(421))),es=A(Qf),Xf=W(_(Wr,L(290),L(281),E(y(421))),_(Wr,L(281),E(y(421))),_(L(281),E(y(421)))),ts=A(Xf),Kf=_(Ct,W(_(y(6,"80")),_(y(6),L(480)),L(480)),E(y(481)),E(y(421))),Ug=A(Kf),Jf=_(Ct,W(_(y(6,"443")),_(y(6,"443"),L(480)),_(y(6),L(443)),_(y(6),L(448),L(480)),_(L(448),L(480)),L(448),L(443)),E(y(481)),E(y(421))),Og=A(Jf),Yf=W(_(y(777),E(y(421)))),Rg=A(Yf),Zf=W(_(y(400),E(y(421)))),$g=A(Zf);function Wi(t,e){let r=Qo.exactMatch(t),n=Qo.exactMatch(e);if(r&&!n)return-1;if(!r&&n)return 1;let o=Jo.exactMatch(t),s=Jo.exactMatch(e);if(o&&!s)return-1;if(!o&&s)return 1;let i=Ko.exactMatch(t),a=Ko.exactMatch(e);if(i&&!a)return-1;if(!i&&a)return 1;let f=ts.exactMatch(t),l=ts.exactMatch(e);if(f&&!l)return-1;if(!f&&l)return 1;let u=Yo.exactMatch(t),h=Yo.exactMatch(e);if(u&&!h)return-1;if(!u&&h)return 1;let p=Zo.exactMatch(t),x=Zo.exactMatch(e);return p&&!x?-1:!p&&x?1:0}function qi(t,e){let r=Ar(t),n=Ar(e);return r&&!n?1:!r&&n?-1:0}function Gi(t,e){let r=Dr(t),n=Dr(e);return r&&!n?1:!r&&n?-1:0}function Hi(t,e){let r=es.exactMatch(t),n=es.exactMatch(e);return r&&!n?1:!r&&n?-1:0}function el(t){return t.sort((e,r)=>qi(e,r)||Gi(e,r)||Hi(e,r)||Wi(e,r))}function he(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var Xr=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||(e-1&e)!==0)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},It=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Xr(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new Xr(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var rs=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function xe(t={}){return tl(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function tl(t,e){e=e??{};let r=e.onEnd,n=new It,o,s,i,a=he(),f=async()=>{try{return n.isEmpty()?i?{done:!0}:await new Promise((w,b)=>{s=I=>{s=null,n.push(I);try{w(t(n))}catch(k){b(k)}return o}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=he()})}},l=w=>s!=null?s(w):(n.push(w),o),u=w=>(n=new It,s!=null?s({error:w}):(n.push({error:w}),o)),h=w=>{if(i)return o;if(e?.objectMode!==!0&&w?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return l({done:!1,value:w})},p=w=>i?o:(i=!0,w!=null?u(w):l({done:!0})),x=()=>(n=new It,p(),{done:!0}),ae=w=>(p(w),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:f,return:x,throw:ae,push:h,end:p,get readableLength(){return n.size},onEmpty:async w=>{let b=w?.signal;if(b?.throwIfAborted(),n.isEmpty())return;let I,k;b!=null&&(I=new Promise((G,R)=>{k=()=>{R(new rs)},b.addEventListener("abort",k)}));try{await Promise.race([a.promise,I])}finally{k!=null&&b!=null&&b?.removeEventListener("abort",k)}}},r==null)return o;let q=o;return o={[Symbol.asyncIterator](){return this},next(){return q.next()},throw(w){return q.throw(w),r!=null&&(r(w),r=void 0),{done:!0}},return(){return q.return(),r!=null&&(r(),r=void 0),{done:!0}},push:h,end(w){return q.end(w),r!=null&&(r(w),r=void 0),o},get readableLength(){return q.readableLength},onEmpty:w=>q.onEmpty(w)},o}var ns=class t extends Error{name="TimeoutError";constructor(e,r){super(e,r),Error.captureStackTrace?.(this,t)}},Qi=t=>t.reason??new DOMException("This operation was aborted.","AbortError");function os(t,e){let{milliseconds:r,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout},signal:i}=e,a,f,u=new Promise((h,p)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(i?.aborted){p(Qi(i));return}if(i&&(f=()=>{p(Qi(i))},i.addEventListener("abort",f,{once:!0})),t.then(h,p),r===Number.POSITIVE_INFINITY)return;let x=new ns;a=s.setTimeout.call(void 0,()=>{if(n){try{h(n())}catch(ae){p(ae)}return}typeof t.cancel=="function"&&t.cancel(),o===!1?h():o instanceof Error?p(o):(x.message=o??`Promise timed out after ${r} milliseconds`,p(x))},r)}).finally(()=>{u.clear(),f&&i&&i.removeEventListener("abort",f)});return u.clear=()=>{s.clearTimeout.call(void 0,a),a=void 0},u}var rl=t=>{let e=t.addEventListener||t.on||t.addListener,r=t.removeEventListener||t.off||t.removeListener;if(!e||!r)throw new TypeError("Emitter is not compatible");return{addListener:e.bind(t),removeListener:r.bind(t)}};function nl(t,e,r){let n,o=new Promise((s,i)=>{if(r={rejectionEvents:["error"],multiArgs:!1,rejectionMultiArgs:!1,resolveImmediately:!1,...r},!(r.count>=0&&(r.count===Number.POSITIVE_INFINITY||Number.isInteger(r.count))))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();let a=[e].flat(),f=[],{addListener:l,removeListener:u}=rl(t),h=async(...x)=>{let ae=r.multiArgs?x:x[0];if(r.filter)try{if(!await r.filter(ae))return}catch(q){n(),i(q);return}f.push(ae),r.count===f.length&&(n(),s(f))},p=(...x)=>{n(),i(r.rejectionMultiArgs?x:x[0])};n=()=>{for(let x of a)u(x,h);for(let x of r.rejectionEvents)a.includes(x)||u(x,p)};for(let x of a)l(x,h);for(let x of r.rejectionEvents)a.includes(x)||l(x,p);r.signal&&r.signal.addEventListener("abort",()=>{p(r.signal.reason)},{once:!0}),r.resolveImmediately&&s(f)});if(o.cancel=n,typeof r.timeout=="number"){let s=os(o,{milliseconds:r.timeout});return s.cancel=()=>{n(),s.clear()},s}return o}function F(t,e,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=nl(t,e,r),o=n.then(s=>s[0]);return o.cancel=n.cancel,o}function Lt(t,e){let r,n=function(){let o=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(o,e)};return n.start=()=>{},n.stop=()=>{clearTimeout(r)},n}var Jt=class extends Error{remainingPoints;msBeforeNext;consumedPoints;isFirstInDuration;constructor(e="Rate limit exceeded",r){super(e),this.name="RateLimitError",this.remainingPoints=r.remainingPoints,this.msBeforeNext=r.msBeforeNext,this.consumedPoints=r.consumedPoints,this.isFirstInDuration=r.isFirstInDuration}},Yt=class extends Error{static name="QueueFullError";constructor(e="The queue was full"){super(e),this.name="QueueFullError"}},$e=class extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"},Zt=class extends Error{static name="MaxEarlyStreamsError";name="MaxEarlyStreamsError"},er=class extends Error{static name="StreamClosedError";name="StreamClosedError"};function ol(t){return t.reason}async function U(t,e,r){if(e==null)return t;let n=r?.translateError??ol;if(e.aborted)return t.catch(()=>{}),Promise.reject(n(e));let o;try{return await Promise.race([t,new Promise((s,i)=>{o=()=>{i(n(e))},e.addEventListener("abort",o)})])}finally{o!=null&&e.removeEventListener("abort",o)}}var Kr=class{deferred;signal;onProgress;constructor(e){this.signal=e?.signal,this.onProgress=e?.onProgress,this.deferred=he(),this.onAbort=this.onAbort.bind(this),this.signal?.addEventListener("abort",this.onAbort)}onAbort(){this.deferred.reject(this.signal?.reason??new Ce)}cleanup(){this.signal?.removeEventListener("abort",this.onAbort)}};function sl(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var Jr=class{id;fn;options;recipients;status;timeline;controller;dispatchingProgress;constructor(e,r){this.id=sl(),this.status="queued",this.fn=e,this.options=r,this.recipients=[],this.timeline={created:Date.now()},this.controller=new AbortController,this.controller.signal,this.dispatchingProgress=!1,this.onAbort=this.onAbort.bind(this)}abort(e){this.controller.abort(e)}onAbort(){this.recipients.reduce((r,n)=>r&&n.signal?.aborted===!0,!0)&&(this.controller.abort(new Ce),this.cleanup())}async join(e){let r=new Kr(e);return this.recipients.push(r),e?.signal?.addEventListener("abort",this.onAbort),r.deferred.promise}async run(){this.status="running",this.timeline.started=Date.now();try{this.controller.signal.throwIfAborted();let e=await U(this.fn({...this.options??{},signal:this.controller.signal,onProgress:r=>{if(!this.dispatchingProgress){this.dispatchingProgress=!0;try{this.recipients.forEach(n=>{n.onProgress?.(r)})}finally{this.dispatchingProgress=!1}}}}),this.controller.signal);this.recipients.forEach(r=>{r.deferred.resolve(e)}),this.status="complete"}catch(e){this.recipients.forEach(r=>{r.deferred.reject(e)}),this.status="errored"}finally{this.timeline.finished=Date.now(),this.cleanup()}}cleanup(){this.recipients.forEach(e=>{e.cleanup(),e.signal?.removeEventListener("abort",this.onAbort)})}};var de=class extends ye{concurrency;maxSize;queue;pending;sort;paused;constructor(e={}){super(),this.concurrency=e.concurrency??Number.POSITIVE_INFINITY,this.maxSize=e.maxSize??Number.POSITIVE_INFINITY,this.pending=0,this.paused=!1,e.metricName!=null&&e.metrics?.registerMetricGroup(e.metricName,{calculate:()=>({size:this.queue.length,running:this.pending,queued:this.queue.length-this.pending})}),this.sort=e.sort,this.queue=[],this.emitEmpty=Lt(this.emitEmpty.bind(this),1),this.emitIdle=Lt(this.emitIdle.bind(this),1)}emitEmpty(){this.size===0&&this.safeDispatchEvent("empty")}emitIdle(){this.running===0&&this.safeDispatchEvent("idle")}pause(){this.paused=!0}resume(){this.paused&&(this.paused=!1,this.tryToStartAnother())}tryToStartAnother(){if(this.paused)return!1;if(this.size===0)return this.emitEmpty(),this.running===0&&this.emitIdle(),!1;if(this.pending<this.concurrency){let e;for(let r of this.queue)if(r.status==="queued"){e=r;break}return e==null?!1:(this.safeDispatchEvent("active"),this.pending++,e.run().finally(()=>{for(let r=0;r<this.queue.length;r++)if(this.queue[r]===e){this.queue.splice(r,1);break}this.pending--,this.tryToStartAnother(),this.safeDispatchEvent("next")}),!0)}return!1}enqueue(e){this.queue.push(e),this.sort!=null&&this.queue.sort(this.sort)}async add(e,r){if(r?.signal?.throwIfAborted(),this.size===this.maxSize)throw new Yt;let n=new Jr(e,r);this.enqueue(n),this.safeDispatchEvent("add");let o=n.join(r).then(s=>(this.safeDispatchEvent("completed",{detail:s}),this.safeDispatchEvent("success",{detail:{job:n,result:s}}),s)).catch(s=>{if(n.status==="queued"){for(let i=0;i<this.queue.length;i++)if(this.queue[i]===n){this.queue.splice(i,1);break}}throw this.safeDispatchEvent("failure",{detail:{job:n,error:s}}),s});return this.tryToStartAnother(),o}clear(){this.queue.splice(0,this.queue.length)}abort(){this.queue.forEach(e=>{e.abort(new Ce)}),this.clear()}async onEmpty(e){this.size!==0&&await F(this,"empty",e)}async onSizeLessThan(e,r){this.size<e||await F(this,"next",{...r,filter:()=>this.size<e})}async onIdle(e){this.pending===0&&this.size===0||await F(this,"idle",e)}get size(){return this.queue.length}get queued(){return this.queue.length-this.pending}get running(){return this.pending}async*toGenerator(e){e?.signal?.throwIfAborted();let r=xe({objectMode:!0}),n=f=>{f!=null?this.abort():this.clear(),r.end(f)},o=f=>{f.detail!=null&&r.push(f.detail)},s=f=>{n(f.detail.error)},i=()=>{n()},a=()=>{n(new Ce("Queue aborted"))};this.addEventListener("completed",o),this.addEventListener("failure",s),this.addEventListener("idle",i),e?.signal?.addEventListener("abort",a);try{yield*r}finally{this.removeEventListener("completed",o),this.removeEventListener("failure",s),this.removeEventListener("idle",i),e?.signal?.removeEventListener("abort",a),n()}}};var il=Math.pow(2,20)*4,et=class extends ye{status;timeline;inactivityTimeout;maxReadBufferLength;maxWriteBufferLength;log;direction;maxMessageSize;readStatus;writeStatus;remoteReadStatus;remoteWriteStatus;writableNeedsDrain;readBuffer;writeBuffer;sendingData;onDrainPromise;constructor(e){super(),this.status="open",this.log=e.log,this.direction=e.direction??"outbound",this.inactivityTimeout=e.inactivityTimeout??12e4,this.maxReadBufferLength=e.maxReadBufferLength??il,this.maxWriteBufferLength=e.maxWriteBufferLength,this.maxMessageSize=e.maxMessageSize,this.readBuffer=new D,this.writeBuffer=new D,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 r=()=>{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",r);let n=o=>{this.onDrainPromise?.reject(o.error??new er)};this.addEventListener("close",n)}get readBufferLength(){return this.readBuffer.byteLength}get writeBufferLength(){return this.writeBuffer.byteLength}async onDrain(e){return this.writableNeedsDrain!==!0?Promise.resolve():(this.onDrainPromise==null&&(this.onDrainPromise=Promise.withResolvers()),U(this.onDrainPromise.promise,e?.signal))}async*[Symbol.asyncIterator](){if(this.readStatus!=="readable"&&this.readStatus!=="paused")return;let e=xe(),r=s=>{e.push(s.data)};this.addEventListener("message",r);let n=s=>{e.end(s.error)};this.addEventListener("close",n);let o=()=>{e.end()};this.addEventListener("remoteCloseWrite",o);try{yield*e}finally{this.removeEventListener("message",r),this.removeEventListener("close",n),this.removeEventListener("remoteCloseWrite",o)}}isReadable(){return this.status==="open"}send(e){if(this.writeStatus==="closed"||this.writeStatus==="closing")throw new Ne(`Cannot write to a stream that is ${this.writeStatus}`);return this.log.trace("append %d bytes to write buffer",e.byteLength),this.writeBuffer.append(e),this.processSendQueue()}abort(e){if(!(this.status==="aborted"||this.status==="reset"||this.status==="closed")){this.log.error("abort with error - %e",e),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(e)}catch(r){this.log("failed to send reset to remote - %e",r)}this.dispatchEvent(new Er(e))}}pause(){if(this.readStatus==="closed"||this.readStatus==="closing")throw new Ne("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 Ne("Cannot resume a stream that is closing/closed");this.readStatus!=="readable"&&(this.readStatus="readable",this.dispatchReadBuffer(),this.sendResume())}push(e){if(this.readStatus==="closed"||this.readStatus==="closing")throw new Ne(`Cannot push data onto a stream that is ${this.readStatus}`);if(e.byteLength!==0){if(this.readBuffer.append(e),this.readStatus==="paused"||this.listenerCount("message")===0){this.checkReadBufferLength();return}setTimeout(()=>{this.dispatchReadBuffer()},0)}}unshift(e){if(this.readStatus==="closed"||this.readStatus==="closing")throw new Ne(`Cannot push data onto a stream that is ${this.readStatus}`);if(e.byteLength!==0){if(this.readBuffer.prepend(e),this.readStatus==="paused"||this.listenerCount("message")===0){this.checkReadBufferLength();return}setTimeout(()=>{this.dispatchReadBuffer()},0)}}onData(e){if(e.byteLength!==0){if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("ignoring data - read status %s",this.readStatus);return}this.readBuffer.append(e),this.dispatchReadBuffer()}}addEventListener(...e){super.addEventListener.apply(this,e),e[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 e=new wr;this.dispatchEvent(new _r(e))}onTransportClosed(e){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"),e!=null?this.abort(e):(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 pt))}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 e=!0,r=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){e=!1;break}let s=this.writeBuffer.sublist(0,o),i=new D(s);this.writeBuffer.consume(s.byteLength);let a;try{a=this.sendData(s)}catch(f){throw this.writeBuffer.prepend(i),this.abort(f),f}if(e=a.canSendMore,n+=a.sentBytes,a.sentBytes!==i.byteLength&&(i.consume(a.sentBytes),this.writeBuffer.prepend(i)),!e)break}return e||(this.log.trace("sent %d/%d bytes, pausing sending because underlying stream is full, %d bytes left in the write buffer",n,r,this.writeBuffer.byteLength),this.writableNeedsDrain=!0,this.checkWriteBufferLength()),this.writeBuffer.byteLength===0&&this.safeDispatchEvent("idle"),e}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 e=this.readBuffer.sublist();this.readBuffer.consume(e.byteLength),this.dispatchEvent(new ge(e))}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 qt(`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 qt(`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 tr=class extends et{remoteAddr;metricPrefix;metrics;constructor(e){super(e),this.metricPrefix=e.metricPrefix??"",this.metrics=e.metrics,this.remoteAddr=e.remoteAddr,this.addEventListener("close",r=>{this.metrics?.increment({[`${this.metricPrefix}end`]:!0}),r.error!=null?r.local?this.metrics?.increment({[`${this.metricPrefix}abort`]:!0}):this.metrics?.increment({[`${this.metricPrefix}reset`]:!0}):r.local?this.metrics?.increment({[`${this.metricPrefix}_local_close`]:!0}):this.metrics?.increment({[`${this.metricPrefix}_remote_close`]:!0})})}async close(e){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 F(this,"idle",{...e,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 F(this,"drain",{...e,rejectionEvents:["close"]})),await this.sendClose(e),this.onTransportClosed())}};function ss(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}var rr=class extends ye{streams;protocol;status;log;maConn;streamOptions;earlyStreams;maxEarlyStreams;metrics;constructor(e,r){super(),this.maConn=e,this.protocol=r.protocol,this.streams=[],this.earlyStreams=[],this.status="open",this.log=e.log.newScope(r.name),this.streamOptions=r.streamOptions,this.maxEarlyStreams=r.maxEarlyStreams??10,this.metrics=r.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(e){let r=this.maConn.send(e);return r===!1&&(this.log("underlying stream saturated, signal %d streams to pause writing",this.streams.length),this.streams.forEach(n=>{n.onMuxerNeedsDrain()})),r}async close(e){this.status==="closed"||this.status==="closing"||(this.status="closing",await U(Promise.all([...this.streams].map(async r=>{await r.close(e)})),e?.signal),this.status="closed")}abort(e){this.status!=="closed"&&(this.status="closing",[...this.streams].forEach(r=>{r.abort(e)}),this.status="closed")}onTransportClosed(e){this.status="closing";try{[...this.streams].forEach(r=>{r.onTransportClosed(e)})}catch(r){this.abort(r)}this.status="closed"}async createStream(e){if(this.status!=="open")throw new xr;let r=this.onCreateStream({...this.streamOptions,...e});return ss(r)&&(r=await r),this.streams.push(r),this.cleanUpStream(r),r}onRemoteStream(e){if(this.streams.push(e),this.cleanUpStream(e),this.listenerCount("stream")===0){this.earlyStreams.push(e),this.earlyStreams.length>this.maxEarlyStreams&&this.abort(new Zt(`Too many early streams were opened - ${this.earlyStreams.length}/${this.maxEarlyStreams}`));return}this.safeDispatchEvent("stream",{detail:e})}cleanUpStream(e){let r=n=>{let o=this.streams.findIndex(s=>s===e);o!==-1&&this.streams.splice(o,1),n.error!=null?n.local?this.metrics?.increment({[`${e.direction}_stream_reset`]:!0}):this.metrics?.increment({[`${e.direction}_stream_abort`]:!0}):this.metrics?.increment({[`${e.direction}_stream_end`]:!0})};e.addEventListener("close",r),this.metrics?.increment({[`${e.direction}_stream`]:!0})}addEventListener(...e){super.addEventListener.apply(this,e),e[0]==="stream"&&this.earlyStreams.length>0&&queueMicrotask(()=>{this.earlyStreams.forEach(r=>{this.safeDispatchEvent("stream",{detail:r})}),this.earlyStreams=[]})}};var tt=class extends et{id;protocol;constructor(e){super(e),this.id=e.id,this.protocol=e.protocol??""}async close(e){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 F(this,"idle",{...e,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 F(this,"drain",{...e,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(e),this.writeStatus="closed",this.log("closed writable end gracefully"),this.remoteWriteStatus==="closed"&&this.onTransportClosed())}async closeRead(e){this.readStatus==="closing"||this.readStatus==="closed"||(this.readBuffer.byteLength>0&&this.readBuffer.consume(this.readBuffer.byteLength),this.readStatus="closing",await this.sendCloseRead(e),this.readStatus="closed",this.log("closed readable end gracefully"))}};function Yr(t){let e=new globalThis.AbortController;function r(){let s=t.filter(i=>i?.aborted===!0).map(i=>i?.reason).pop();e.abort(s);for(let i of t)i?.removeEventListener!=null&&i.removeEventListener("abort",r)}for(let s of t){if(s?.aborted===!0){r();break}s?.addEventListener!=null&&s.addEventListener("abort",r)}function n(){for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}let o=e.signal;return o.clear=n,o}var rt=class{movingAverage;variance;deviation;forecast;timeSpan;previousTime;constructor(e){this.timeSpan=e,this.movingAverage=0,this.variance=0,this.deviation=0,this.forecast=0}alpha(e,r){return 1-Math.exp(-(e-r)/this.timeSpan)}push(e,r=Date.now()){if(this.previousTime!=null){let n=this.alpha(r,this.previousTime),o=e-this.movingAverage,s=n*o;this.movingAverage=n*e+(1-n)*this.movingAverage,this.variance=(1-n)*(this.variance+o*s),this.deviation=Math.sqrt(this.variance),this.forecast=this.movingAverage+n*o}else this.movingAverage=e;this.previousTime=r}};var Xi=1.2,Ki=2,Ji=5e3,Yi=6e4,Zi=5e3,is=class{success;failure;next;metric;timeoutMultiplier;failureMultiplier;minTimeout;maxTimeout;constructor(e={}){let r=e.interval??Zi;this.success=new rt(r),this.failure=new rt(r),this.next=new rt(r),this.failureMultiplier=e.failureMultiplier??Ki,this.timeoutMultiplier=e.timeoutMultiplier??Xi,this.minTimeout=e.minTimeout??Ji,this.maxTimeout=e.maxTimeout??Yi,e.metricName!=null&&(this.metric=e.metrics?.registerMetricGroup(e.metricName))}getTimeoutSignal(e={}){let r=Math.round(this.next.movingAverage*(e.timeoutFactor??this.timeoutMultiplier));r<this.minTimeout&&(r=this.minTimeout),r>this.maxTimeout&&(r=this.maxTimeout);let n=AbortSignal.timeout(r),o=Yr([e.signal,n]);return o.start=Date.now(),o.timeout=r,o}cleanUp(e){e.clear();let r=Date.now()-e.start;e.aborted?(this.failure.push(r),this.next.push(r*this.failureMultiplier),this.metric?.update({failureMovingAverage:this.failure.movingAverage,failureDeviation:this.failure.deviation,failureForecast:this.failure.forecast,failureVariance:this.failure.variance,failure:r})):(this.success.push(r),this.next.push(r),this.metric?.update({successMovingAverage:this.success.movingAverage,successDeviation:this.success.deviation,successForecast:this.success.forecast,successVariance:this.success.variance,success:r}))}};function ea(t,e,r){let n=[t.type,r??t.host];if(t.protocol!=null){let o=e??t.port;o!=null&&n.push(t.protocol,o)}return t.type==="ip6"&&t.zone!=null&&n.unshift("ip6zone",t.zone),t.cidr!=null&&n.push("ipcidr",t.cidr),Re(`/${n.join("/")}`)}function al(t,e){if(t==null)return[];let r=le(t);return[ea(r,e)]}function cl(t){return Fe(t)?Lr("2000::/3",t):!1}function ul(t,e){if(typeof t!="string")throw new se(`invalid ip provided: ${t}`);if(typeof e=="string"&&(e=parseInt(e)),isNaN(e))throw new se(`invalid port provided: ${e}`);if(Me(t))return Re(`/ip4/${t}/tcp/${e}`);if(Fe(t))return Re(`/ip6/${t}/tcp/${e}`);throw new se(`invalid ip:port for creating a multiaddr: ${t}:${e}`)}function fl(t){return t==null||typeof t?.[Symbol.asyncIterator]!="function"?!1:typeof t.next=="function"}function ll(t){return t==null||typeof t?.[Symbol.iterator]!="function"?!1:typeof t.next=="function"}var as=class{readNext;haveNext;ended;nextResult;error;constructor(){this.ended=!1,this.readNext=he(),this.haveNext=he()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let e=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=he(),e}async throw(e){return this.ended=!0,this.error=e,e!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(e)),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return this.ended=!0,this.nextResult=e,this.haveNext.resolve(),e}async push(e,r){await this._push(e,r)}async end(e,r){e!=null?await this.throw(e):await this._push(void 0,r)}async _push(e,r){if(e!=null&&this.ended)throw this.error??new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=he(),await U(this.readNext.promise,r?.signal,r)}};function ta(){return new as}function hl(t){return t[Symbol.asyncIterator]!=null}async function dl(t,e,r){try{await Promise.all(t.map(async n=>{for await(let o of n)await e.push(o,{signal:r}),r.throwIfAborted()})),await e.end(void 0,{signal:r})}catch(n){await e.end(n,{signal:r}).catch(()=>{})}}async function*ml(t){let e=new AbortController,r=ta();dl(t,r,e.signal).catch(()=>{});try{yield*r}finally{e.abort()}}function*pl(t){for(let e of t)yield*e}function gl(...t){let e=[];for(let r of t)hl(r)||e.push(r);return e.length===t.length?pl(e):ml(t)}var ra=gl;function na(t,...e){if(t==null)throw new Error("Empty pipeline");if(cs(t)){let n=t;t=()=>n.source}else if(sa(t)||oa(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&cs(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)cs(r[n])&&(r[n]=bl(r[n]));return yl(...r)}var yl=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},oa=t=>t?.[Symbol.asyncIterator]!=null,sa=t=>t?.[Symbol.iterator]!=null,cs=t=>t==null?!1:t.sink!=null&&t.source!=null,bl=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=xe({objectMode:!0});r.then(()=>{n.end()},i=>{n.end(i)});let o,s=t.source;if(oa(s))o=async function*(){yield*s,n.end()};else if(sa(s))o=function*(){yield*s,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return ra(n,o())}return t.source};var xl=4194304,nr=class extends Error{static name="UnwrappedError";name="UnwrappedError"},At=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},Zr=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},en=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function wl(t){return typeof t?.closeRead=="function"}function El(t){return typeof t?.close=="function"}function us(t){return wl(t)?t.remoteWriteStatus!=="writable"&&t.readBufferLength===0:El(t)?t.status!=="open":!1}function _l(t){return t?.addEventListener!=null&&t?.removeEventListener!=null&&t?.send!=null&&t?.push!=null&&t?.log!=null}function ia(t,e){let r=e?.maxBufferSize??xl,n=new D,o,s=!1;if(!_l(t))throw new se("Argument should be a Stream or a Multiaddr");let i=u=>{if(n.append(u.data),n.byteLength>r){let h=n.byteLength;n.consume(n.byteLength),o?.reject(new Error(`Read buffer overflow - ${h} > ${r}`))}o?.resolve()};t.addEventListener("message",i);let a=u=>{u.error!=null?o?.reject(u.error):o?.resolve()};t.addEventListener("close",a);let f=()=>{o?.resolve()};t.addEventListener("remoteCloseWrite",f);let l={readBuffer:n,async read(u){if(s===!0)throw new nr("Stream was unwrapped");if(us(t)){if(n.byteLength===0&&u?.bytes==null)return null;if(u?.bytes!=null&&n.byteLength<u.bytes)throw t.log.error("closed after reading %d/%d bytes",n.byteLength,u.bytes),new $e(`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 U(o.promise,u?.signal),us(t)){if(n.byteLength===0&&u?.bytes==null)return null;break}o=Promise.withResolvers()}let p=u?.bytes??n.byteLength;if(n.byteLength<p){if(us(t))throw t.log.error("closed while reading %d/%d bytes",n.byteLength,p),new $e(`Unexpected EOF - stream closed while reading ${n.byteLength}/${p} bytes`);return l.read(u)}let x=n.sublist(0,p);return n.consume(p),x},async write(u,h){if(s===!0)throw new nr("Stream was unwrapped");t.send(u)||await F(t,"drain",{signal:h?.signal,rejectionEvents:["close"]})},unwrap(){return s||(s=!0,t.removeEventListener("message",i),t.removeEventListener("close",a),t.removeEventListener("remoteCloseWrite",f),n.byteLength>0&&(t.log("stream unwrapped with %d unread bytes",n.byteLength),t.unshift(n))),t}};return l}function aa(t,e={}){let r=ia(t,e);e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=j(e.maxDataLength));let n=e?.lengthDecoder??Ie,o=e?.lengthEncoder??Br;return{async read(i){let a=-1,f=new D;for(;;){let u=await r.read({...i,bytes:1});if(u==null)break;f.append(u);try{a=n(f)}catch(h){if(h instanceof RangeError)continue;throw h}if(a<0)throw new At("Invalid message length");if(e?.maxLengthLength!=null&&f.byteLength>e.maxLengthLength)throw new en(`Message length length too long - ${f.byteLength} > ${e.maxLengthLength}`);if(a>-1)break}if(e?.maxDataLength!=null&&a>e.maxDataLength)throw new Zr(`Message length too long - ${a} > ${e.maxDataLength}`);let l=await r.read({...i,bytes:a});if(l==null)throw t.log.error("tried to read %d bytes but the stream closed",a),new $e(`Unexpected EOF - tried to read ${a} bytes but the stream closed`);if(l.byteLength!==a)throw t.log.error("read %d/%d bytes before the stream closed",l.byteLength,a),new $e(`Unexpected EOF - read ${l.byteLength}/${a} bytes before the stream closed`);return l},async write(i,a){await r.write(new D(o(i.byteLength),i),a)},async writeV(i,a){let f=new D(...i.flatMap(l=>[o(l.byteLength),l]));await r.write(f,a)},unwrap(){return r.unwrap()}}}function vl(t,e){let r=aa(t,e),n={read:async(o,s)=>{let i=await r.read(s);return o.decode(i,s)},write:async(o,s,i)=>{await r.write(s.encode(o),i)},writeV:async(o,s,i)=>{await r.writeV(o.map(a=>s.encode(a)),i)},pb:o=>({read:async s=>n.read(o,s),write:async(s,i)=>n.write(s,o,i),writeV:async(s,i)=>n.writeV(s,o,i),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}async function fs(t,e){let r=t.log.newScope("echo"),n=Date.now(),o=0;try{for await(let s of t)o+=s.byteLength,t.send(s)||(t.pause(),await F(t,"drain",{rejectionEvents:["close"],...e}),t.resume());r("echoed %d bytes in %dms",o,Date.now()-n),await t.close(e)}catch(s){t.abort(s)}}function Sl(t){return t?.addEventListener!=null}function ca(t){let e=xe(),r,n=i=>{e.push(i.data)},o=()=>{e.end(),t.removeEventListener("message",n),t.removeEventListener("close",s),t.removeEventListener("remoteCloseWrite",o)},s=i=>{e.end(i.error),i.error!=null&&r?.reject(i.error),t.removeEventListener("message",n),t.removeEventListener("close",s),t.removeEventListener("remoteCloseWrite",o)};return t.addEventListener("message",n),t.addEventListener("close",s,{once:!0}),t.addEventListener("remoteCloseWrite",o,{once:!0}),{source:e,async sink(i){async function*a(){yield*i}let f=a();for(;;){r=Promise.withResolvers();let{done:l,value:u}=await Promise.race([f.next(),r.promise]);if(t.writeStatus==="closing"||t.writeStatus==="closed"||(u!=null&&(t.send(u)||await Promise.race([F(t,"drain",{rejectionEvents:["close"]})])),l===!0))break}await t.close()}}}function Cl(...t){let e=t.map(r=>Sl(r)?ca(r):r);return na(...e)}var Il=1024*1024*4,Ll=1024*1024*4,ls=class{buffer;maxBufferSize;lengthDecoder;maxDataLength;encodingLength;constructor(e={}){this.buffer=new D,this.maxBufferSize=e.maxBufferSize??Il,this.maxDataLength=e.maxDataLength??Ll,this.lengthDecoder=e.lengthDecoder??Ie,this.encodingLength=e.encodingLength??j}*decode(e){if(this.buffer.append(e),this.buffer.byteLength>this.maxBufferSize)throw new se(`Buffer length limit exceeded - ${this.buffer.byteLength}/${this.maxBufferSize}`);for(;;){let r;try{r=this.lengthDecoder(this.buffer)}catch(s){if(s instanceof RangeError)break;throw s}if(r<0||r>this.maxDataLength)throw new At("Invalid message length");let n=this.encodingLength(r),o=n+r;if(this.buffer.byteLength>=o){let s=this.buffer.sublist(n,o);this.buffer.consume(o),s.byteLength>0&&(yield s)}else break}}};function Al(t){return!!(t.startsWith("169.254.")||t.toLowerCase().startsWith("fe80"))}var Tl=["Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","Tagged"];function hs(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(e==="string"||e==="number"||e==="bigint"||e==="symbol")return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(t instanceof Uint8Array)return"Uint8Array";if(t.constructor===Object)return"Object";let r=Dl(t);return r||"Object"}function Dl(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(Tl.includes(e))return e}var c=class{constructor(e,r,n){this.major=e,this.majorEncoded=e<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}static equals(e,r){return e===r||e.major===r.major&&e.name===r.name}};c.uint=new c(0,"uint",!0);c.negint=new c(1,"negint",!0);c.bytes=new c(2,"bytes",!0);c.string=new c(3,"string",!0);c.array=new c(4,"array",!1);c.map=new c(5,"map",!1);c.tag=new c(6,"tag",!1);c.float=new c(7,"float",!0);c.false=new c(7,"false",!0);c.true=new c(7,"true",!0);c.null=new c(7,"null",!0);c.undefined=new c(7,"undefined",!0);c.break=new c(7,"break",!0);var m=class{constructor(e,r,n){this.type=e,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var or=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",kl=new TextEncoder;function tn(t){return or&&globalThis.Buffer.isBuffer(t)}function sr(t){return t instanceof Uint8Array?tn(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var Bl=24,Pl=200,rn=or?t=>t.length>=Bl?globalThis.Buffer.from(t):ua(t):t=>t.length>=Pl?kl.encode(t):ua(t),we=t=>Uint8Array.from(t),fa=or?(t,e,r)=>tn(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),la=or?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),sr(globalThis.Buffer.concat(t,e))):(t,e)=>{let r=new Uint8Array(e),n=0;for(let o of t)n+o.length>r.length&&(o=o.subarray(0,r.length-n)),r.set(o,n),n+=o.length;return r},ds=or?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function Tt(t,e){if(tn(t)&&tn(e))return t.compare(e);for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]<e[r]?-1:1;return 0}function ua(t){let e=[],r=0;for(let n=0;n<t.length;n++){let o=t.charCodeAt(n);o<128?e[r++]=o:o<2048?(e[r++]=o>>6|192,e[r++]=o&63|128):(o&64512)===55296&&n+1<t.length&&(t.charCodeAt(n+1)&64512)===56320?(o=65536+((o&1023)<<10)+(t.charCodeAt(++n)&1023),e[r++]=o>>18|240,e[r++]=o>>12&63|128,e[r++]=o>>6&63|128,e[r++]=o&63|128):(o>=55296&&o<=57343&&(o=65533),e[r++]=o>>12|224,e[r++]=o>>6&63|128,e[r++]=o&63|128)}return e}var Nl=256,ir=class{constructor(e=Nl){this.chunkSize=e,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}pushByte(e){let r=this.chunks[this.chunks.length-1];this.cursor>this.maxCursor&&(r=ds(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r));let n=r.length-(this.maxCursor-this.cursor)-1;r[n]=e,this.cursor++}push(e){let r=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let o=r.length-(this.maxCursor-this.cursor)-1;r.set(e,o)}else{if(r){let o=r.length-(this.maxCursor-this.cursor)-1;o<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,o),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(r=ds(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=fa(n,0,this.cursor)}else r=la(this.chunks,this.cursor);return e&&this.reset(),r}},nn=class{constructor(e){this.dest=e,this.cursor=0,this.chunks=[e]}reset(){this.cursor=0}pushByte(e){if(this.cursor>=this.dest.length)throw new Error("write out of bounds, destination buffer is too small");this.dest[this.cursor++]=e}push(e){if(this.cursor+e.length>this.dest.length)throw new Error("write out of bounds, destination buffer is too small");this.dest.set(e,this.cursor),this.cursor+=e.length}toBytes(e=!1){let r=this.dest.subarray(0,this.cursor);return e&&this.reset(),r}};var g="CBOR decode error:",on="CBOR encode error:",ar=[];ar[23]=1;ar[24]=2;ar[25]=3;ar[26]=5;ar[27]=9;function De(t,e,r){if(t.length-e<r)throw new Error(`${g} not enough data for type`)}var O=[24,256,65536,4294967296,BigInt("18446744073709551616")];function Y(t,e,r){De(t,e,1);let n=t[e];if(r.strict===!0&&n<O[0])throw new Error(`${g} integer encoded in more bytes than necessary (strict decode)`);return n}function Z(t,e,r){De(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<O[1])throw new Error(`${g} integer encoded in more bytes than necessary (strict decode)`);return n}function ee(t,e,r){De(t,e,4);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(r.strict===!0&&n<O[2])throw new Error(`${g} integer encoded in more bytes than necessary (strict decode)`);return n}function te(t,e,r){De(t,e,8);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3],o=t[e+4]*16777216+(t[e+5]<<16)+(t[e+6]<<8)+t[e+7],s=(BigInt(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&s<O[3])throw new Error(`${g} integer encoded in more bytes than necessary (strict decode)`);if(s<=Number.MAX_SAFE_INTEGER)return Number(s);if(r.allowBigInt===!0)return s;throw new Error(`${g} integers outside of the safe integer range are not supported`)}function ha(t,e,r,n){return new m(c.uint,Y(t,e+1,n),2)}function da(t,e,r,n){return new m(c.uint,Z(t,e+1,n),3)}function ma(t,e,r,n){return new m(c.uint,ee(t,e+1,n),5)}function pa(t,e,r,n){return new m(c.uint,te(t,e+1,n),9)}function Ee(t,e){return P(t,0,e.value)}function P(t,e,r){if(r<O[0]){let n=Number(r);t.pushByte(e|n)}else if(r<O[1]){let n=Number(r);t.push([e|24,n])}else if(r<O[2]){let n=Number(r);t.push([e|25,n>>>8,n&255])}else if(r<O[3]){let n=Number(r);t.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<O[4]){let o=[e|27,0,0,0,0,0,0,0],s=Number(n&BigInt(4294967295)),i=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=s&255,s=s>>8,o[7]=s&255,s=s>>8,o[6]=s&255,s=s>>8,o[5]=s&255,o[4]=i&255,i=i>>8,o[3]=i&255,i=i>>8,o[2]=i&255,i=i>>8,o[1]=i&255,t.push(o)}else throw new Error(`${g} encountered BigInt larger than allowable range`)}}Ee.encodedSize=function(e){return P.encodedSize(e.value)};P.encodedSize=function(e){return e<O[0]?1:e<O[1]?2:e<O[2]?3:e<O[3]?5:9};Ee.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function ga(t,e,r,n){return new m(c.negint,-1-Y(t,e+1,n),2)}function ya(t,e,r,n){return new m(c.negint,-1-Z(t,e+1,n),3)}function ba(t,e,r,n){return new m(c.negint,-1-ee(t,e+1,n),5)}var ms=BigInt(-1),xa=BigInt(1);function wa(t,e,r,n){let o=te(t,e+1,n);if(typeof o!="bigint"){let s=-1-o;if(s>=Number.MIN_SAFE_INTEGER)return new m(c.negint,s,9)}if(n.allowBigInt!==!0)throw new Error(`${g} integers outside of the safe integer range are not supported`);return new m(c.negint,ms-BigInt(o),9)}function sn(t,e){let r=e.value,n=typeof r=="bigint"?r*ms-xa:r*-1-1;P(t,e.type.majorEncoded,n)}sn.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*ms-xa:r*-1-1;return n<O[0]?1:n<O[1]?2:n<O[2]?3:n<O[3]?5:9};sn.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function cr(t,e,r,n){De(t,e,r+n);let o=t.slice(e+r,e+r+n);return new m(c.bytes,o,r+n)}function Ea(t,e,r,n){return cr(t,e,1,r)}function _a(t,e,r,n){return cr(t,e,2,Y(t,e+1,n))}function va(t,e,r,n){return cr(t,e,3,Z(t,e+1,n))}function Sa(t,e,r,n){return cr(t,e,5,ee(t,e+1,n))}function Ca(t,e,r,n){let o=te(t,e+1,n);if(typeof o=="bigint")throw new Error(`${g} 64-bit integer bytes lengths not supported`);return cr(t,e,9,o)}function an(t){return t.encodedBytes===void 0&&(t.encodedBytes=c.equals(t.type,c.string)?rn(t.value):t.value),t.encodedBytes}function Dt(t,e){let r=an(e);P(t,e.type.majorEncoded,r.length),t.push(r)}Dt.encodedSize=function(e){let r=an(e);return P.encodedSize(r.length)+r.length};Dt.compareTokens=function(e,r){return Fl(an(e),an(r))};function Fl(t,e){return t.length<e.length?-1:t.length>e.length?1:Tt(t,e)}var Ia=new TextDecoder,Ol=32;function Rl(t,e,r){if(r-e<Ol){let o="";for(let s=e;s<r;s++){let i=t[s];if(i&128)return Ia.decode(t.subarray(e,r));o+=String.fromCharCode(i)}return o}return Ia.decode(t.subarray(e,r))}function ur(t,e,r,n,o){let s=r+n;De(t,e,s);let i=new m(c.string,Rl(t,e+r,e+s),s);return o.retainStringBytes===!0&&(i.byteValue=t.slice(e+r,e+s)),i}function La(t,e,r,n){return ur(t,e,1,r,n)}function Aa(t,e,r,n){return ur(t,e,2,Y(t,e+1,n),n)}function Ta(t,e,r,n){return ur(t,e,3,Z(t,e+1,n),n)}function Da(t,e,r,n){return ur(t,e,5,ee(t,e+1,n),n)}function ka(t,e,r,n){let o=te(t,e+1,n);if(typeof o=="bigint")throw new Error(`${g} 64-bit integer string lengths not supported`);return ur(t,e,9,o,n)}var Ba=Dt;function kt(t,e,r,n){return new m(c.array,n,r)}function Pa(t,e,r,n){return kt(t,e,1,r)}function Na(t,e,r,n){return kt(t,e,2,Y(t,e+1,n))}function Ma(t,e,r,n){return kt(t,e,3,Z(t,e+1,n))}function Fa(t,e,r,n){return kt(t,e,5,ee(t,e+1,n))}function Ua(t,e,r,n){let o=te(t,e+1,n);if(typeof o=="bigint")throw new Error(`${g} 64-bit integer array lengths not supported`);return kt(t,e,9,o)}function Oa(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${g} indefinite length items not allowed`);return kt(t,e,1,1/0)}function cn(t,e){P(t,c.array.majorEncoded,e.value)}cn.compareTokens=Ee.compareTokens;cn.encodedSize=function(e){return P.encodedSize(e.value)};function Bt(t,e,r,n){return new m(c.map,n,r)}function Ra(t,e,r,n){return Bt(t,e,1,r)}function $a(t,e,r,n){return Bt(t,e,2,Y(t,e+1,n))}function za(t,e,r,n){return Bt(t,e,3,Z(t,e+1,n))}function Va(t,e,r,n){return Bt(t,e,5,ee(t,e+1,n))}function ja(t,e,r,n){let o=te(t,e+1,n);if(typeof o=="bigint")throw new Error(`${g} 64-bit integer map lengths not supported`);return Bt(t,e,9,o)}function Wa(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${g} indefinite length items not allowed`);return Bt(t,e,1,1/0)}function un(t,e){P(t,c.map.majorEncoded,e.value)}un.compareTokens=Ee.compareTokens;un.encodedSize=function(e){return P.encodedSize(e.value)};function qa(t,e,r,n){return new m(c.tag,r,1)}function Ga(t,e,r,n){return new m(c.tag,Y(t,e+1,n),2)}function Ha(t,e,r,n){return new m(c.tag,Z(t,e+1,n),3)}function Qa(t,e,r,n){return new m(c.tag,ee(t,e+1,n),5)}function Xa(t,e,r,n){return new m(c.tag,te(t,e+1,n),9)}function fn(t,e){P(t,c.tag.majorEncoded,e.value)}fn.compareTokens=Ee.compareTokens;fn.encodedSize=function(e){return P.encodedSize(e.value)};var ln=20,hn=21,dn=22,mn=23;function Ja(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${g} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new m(c.null,null,1):new m(c.undefined,void 0,1)}function Ya(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${g} indefinite length items not allowed`);return new m(c.break,void 0,1)}function ps(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${g} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${g} Infinity values are not supported`)}return new m(c.float,t,e)}function Za(t,e,r,n){return ps(pn(t,e+1),3,n)}function ec(t,e,r,n){return ps(gn(t,e+1),5,n)}function tc(t,e,r,n){return ps(oc(t,e+1),9,n)}function fr(t,e,r){let n=e.value;if(n===!1)t.pushByte(c.float.majorEncoded|ln);else if(n===!0)t.pushByte(c.float.majorEncoded|hn);else if(n===null)t.pushByte(c.float.majorEncoded|dn);else if(n===void 0)t.pushByte(c.float.majorEncoded|mn);else{let o,s=!1;(!r||r.float64!==!0)&&(gs(n),o=pn(N,1),n===o||Number.isNaN(n)?(N[0]=249,t.push(N.slice(0,3)),s=!0):(ys(n),o=gn(N,1),n===o&&(N[0]=250,t.push(N.slice(0,5)),s=!0))),s||(nc(n),o=oc(N,1),N[0]=251,t.push(N.slice(0,9)))}}fr.encodedSize=function(e,r){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){gs(n);let o=pn(N,1);if(n===o||Number.isNaN(n))return 3;if(ys(n),o=gn(N,1),n===o)return 5}return 9};var rc=new ArrayBuffer(9),ie=new DataView(rc,1),N=new Uint8Array(rc,0);function gs(t){if(t===1/0)ie.setUint16(0,31744,!1);else if(t===-1/0)ie.setUint16(0,64512,!1);else if(Number.isNaN(t))ie.setUint16(0,32256,!1);else{ie.setFloat32(0,t);let e=ie.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)ie.setUint16(0,31744,!1);else if(r===0)ie.setUint16(0,(e&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?ie.setUint16(0,0):o<-14?ie.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):ie.setUint16(0,(e&2147483648)>>16|o+15<<10|n>>13,!1)}}}function pn(t,e){if(t.length-e<2)throw new Error(`${g} not enough data for float16`);let r=(t[e]<<8)+t[e+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,o=r&1023,s;return n===0?s=o*2**-24:n!==31?s=(o+1024)*2**(n-25):s=o===0?1/0:NaN,r&32768?-s:s}function ys(t){ie.setFloat32(0,t,!1)}function gn(t,e){if(t.length-e<4)throw new Error(`${g} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function nc(t){ie.setFloat64(0,t,!1)}function oc(t,e){if(t.length-e<8)throw new Error(`${g} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}function Wl(t,e){let r=t.value;if(r===!1)return Uint8Array.of(c.float.majorEncoded|ln);if(r===!0)return Uint8Array.of(c.float.majorEncoded|hn);if(r===null)return Uint8Array.of(c.float.majorEncoded|dn);if(r===void 0)return Uint8Array.of(c.float.majorEncoded|mn);if(!e){if(gs(r),r===pn(N,1)||Number.isNaN(r))return N[0]=249,N.slice(0,3);if(ys(r),r===gn(N,1))return N[0]=250,N.slice(0,5)}return nc(r),N[0]=251,N.slice(0,9)}function Ka(t,e){let r=t,n=e?.float64===!0,o=n?r._keyBytesFloat64:r._keyBytes;if(o!==void 0)return o;let s=Wl(t,n);return n?r._keyBytesFloat64=s:r._keyBytes=s,s}fr.compareTokens=function(e,r,n){let o=Ka(e,n),s=Ka(r,n);return o.length!==s.length?o.length<s.length?-1:1:Tt(o,s)};function v(t,e,r){throw new Error(`${g} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function yn(t){return()=>{throw new Error(`${g} ${t}`)}}var d=[];for(let t=0;t<=23;t++)d[t]=v;d[24]=ha;d[25]=da;d[26]=ma;d[27]=pa;d[28]=v;d[29]=v;d[30]=v;d[31]=v;for(let t=32;t<=55;t++)d[t]=v;d[56]=ga;d[57]=ya;d[58]=ba;d[59]=wa;d[60]=v;d[61]=v;d[62]=v;d[63]=v;for(let t=64;t<=87;t++)d[t]=Ea;d[88]=_a;d[89]=va;d[90]=Sa;d[91]=Ca;d[92]=v;d[93]=v;d[94]=v;d[95]=yn("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)d[t]=La;d[120]=Aa;d[121]=Ta;d[122]=Da;d[123]=ka;d[124]=v;d[125]=v;d[126]=v;d[127]=yn("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)d[t]=Pa;d[152]=Na;d[153]=Ma;d[154]=Fa;d[155]=Ua;d[156]=v;d[157]=v;d[158]=v;d[159]=Oa;for(let t=160;t<=183;t++)d[t]=Ra;d[184]=$a;d[185]=za;d[186]=Va;d[187]=ja;d[188]=v;d[189]=v;d[190]=v;d[191]=Wa;for(let t=192;t<=215;t++)d[t]=qa;d[216]=Ga;d[217]=Ha;d[218]=Qa;d[219]=Xa;d[220]=v;d[221]=v;d[222]=v;d[223]=v;for(let t=224;t<=243;t++)d[t]=yn("simple values are not supported");d[244]=v;d[245]=v;d[246]=v;d[247]=Ja;d[248]=yn("simple values are not supported");d[249]=Za;d[250]=ec;d[251]=tc;d[252]=v;d[253]=v;d[254]=v;d[255]=Ya;var me=[];for(let t=0;t<24;t++)me[t]=new m(c.uint,t,1);for(let t=-1;t>=-24;t--)me[31-t]=new m(c.negint,t,1);me[64]=new m(c.bytes,new Uint8Array(0),1);me[96]=new m(c.string,"",1);me[128]=new m(c.array,0,1);me[160]=new m(c.map,0,1);me[244]=new m(c.false,!1,1);me[245]=new m(c.true,!0,1);me[246]=new m(c.null,null,1);function bs(t){switch(t.type){case c.false:return we([244]);case c.true:return we([245]);case c.null:return we([246]);case c.bytes:return t.value.length?void 0:we([64]);case c.string:return t.value===""?we([96]):void 0;case c.array:return t.value===0?we([128]):void 0;case c.map:return t.value===0?we([160]):void 0;case c.uint:return t.value<24?we([Number(t.value)]):void 0;case c.negint:if(t.value>=-24)return we([31-Number(t.value)])}}var Gl={float64:!1,mapSorter:ws,quickEncodeToken:bs},uc=Object.freeze({mapSorter:Xl,quickEncodeToken:bs});function Hl(){let t=[];return t[c.uint.major]=Ee,t[c.negint.major]=sn,t[c.bytes.major]=Dt,t[c.string.major]=Ba,t[c.array.major]=cn,t[c.map.major]=un,t[c.tag.major]=fn,t[c.float.major]=fr,t}var st=Hl(),bn=new ir,Nt=class t{constructor(e,r){this.obj=e,this.parent=r}includes(e){let r=this;do if(r.obj===e)return!0;while(r=r.parent);return!1}static createCheck(e,r){if(e&&e.includes(r))throw new Error(`${on} object contains circular references`);return new t(r,e)}},ze={null:new m(c.null,null),undefined:new m(c.undefined,void 0),true:new m(c.true,!0),false:new m(c.false,!1),emptyArray:new m(c.array,0),emptyMap:new m(c.map,0)},_e={number(t,e,r,n){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new m(c.float,t):t>=0?new m(c.uint,t):new m(c.negint,t)},bigint(t,e,r,n){return t>=BigInt(0)?new m(c.uint,t):new m(c.negint,t)},Uint8Array(t,e,r,n){return new m(c.bytes,t)},string(t,e,r,n){return new m(c.string,t)},boolean(t,e,r,n){return t?ze.true:ze.false},null(t,e,r,n){return ze.null},undefined(t,e,r,n){return ze.undefined},ArrayBuffer(t,e,r,n){return new m(c.bytes,new Uint8Array(t))},DataView(t,e,r,n){return new m(c.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,r,n){if(!t.length)return r.addBreakTokens===!0?[ze.emptyArray,new m(c.break)]:ze.emptyArray;n=Nt.createCheck(n,t);let o=[],s=0;for(let i of t)o[s++]=ot(i,r,n);return r.addBreakTokens?[new m(c.array,t.length),o,new m(c.break)]:[new m(c.array,t.length),o]},Object(t,e,r,n){let o=e!=="Object",s=o?t.keys():Object.keys(t),i=o?t.size:s.length,a;if(i){a=new Array(i),n=Nt.createCheck(n,t);let f=!o&&r.ignoreUndefinedProperties,l=0;for(let u of s){let h=o?t.get(u):t[u];f&&h===void 0||(a[l++]=[ot(u,r,n),ot(h,r,n)])}l<i&&(a.length=l)}return a?.length?(Ql(a,r),r.addBreakTokens?[new m(c.map,a.length),a,new m(c.break)]:[new m(c.map,a.length),a]):r.addBreakTokens===!0?[ze.emptyMap,new m(c.break)]:ze.emptyMap},Tagged(t,e,r,n){return[new m(c.tag,t.tag),ot(t.value,r,n)]}};_e.Map=_e.Object;_e.Buffer=_e.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))_e[`${t}Array`]=_e.DataView;function ot(t,e={},r){let n=hs(t),o=e&&e.typeEncoders&&e.typeEncoders[n]||_e[n];if(typeof o=="function"){let i=o(t,n,e,r);if(i!=null)return i}let s=_e[n];if(!s)throw new Error(`${on} unsupported type: ${n}`);return s(t,n,e,r)}function Ql(t,e){let r=e.mapSorter;r&&t.sort((n,o)=>r(n,o,e))}function ws(t,e,r){let n=Array.isArray(t[0])?t[0][0]:t[0],o=Array.isArray(e[0])?e[0][0]:e[0];if(n.type.major!==o.type.major)return n.type.compare(o.type);let s=n.type.major,i=st[s].compareTokens(n,o,r);return i===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),i}function Xl(t,e){if(t[0]instanceof m&&e[0]instanceof m){let r=t[0],n=e[0];return r._keyBytes||(r._keyBytes=sc(r.value)),n._keyBytes||(n._keyBytes=sc(n.value)),Tt(r._keyBytes,n._keyBytes)}throw new Error("rfc8949MapSorter: complex key types are not supported yet")}function sc(t){return fc(t,st,uc)}function Pt(t,e,r,n){if(Array.isArray(e))for(let o of e)Pt(t,o,r,n);else r[e.type.major](t,e,n)}var ic=c.uint.majorEncoded,ac=c.negint.majorEncoded,Kl=c.bytes.majorEncoded,Jl=c.string.majorEncoded,cc=c.array.majorEncoded,xs=c.map.majorEncoded,Yl=c.float.majorEncoded|ln,Zl=c.float.majorEncoded|hn,eh=c.float.majorEncoded|dn,th=c.float.majorEncoded|mn,rh=BigInt(-1),nh=BigInt(1);function Ve(t,e,r){r<24?t.pushByte(e|Number(r)):P(t,e,r)}function oh(t){return t.addBreakTokens!==!0}function sh(t,e,r,n,o){let s=r==="Map",i=s?e.keys():Object.keys(e),a=s?e.size:i.length;if(!a){t.pushByte(xs);return}o=Nt.createCheck(o,e);let f=!s&&n.ignoreUndefinedProperties,l=new Array(a),u=0;for(let h of i){let p=s?e.get(h):e[h];f&&p===void 0||(l[u++]=[ot(h,n,o),p])}if(u===0){t.pushByte(xs);return}u<a&&(l.length=u),l.sort((h,p)=>ws(h,p,n)),Ve(t,xs,u);for(let[h,p]of l)Pt(t,h,st,n),Es(t,p,n,o)}function Es(t,e,r,n){let o=hs(e),s=r.typeEncoders&&r.typeEncoders[o];if(s){let i=s(e,o,r,n);if(i!=null){Pt(t,i,st,r);return}}switch(o){case"null":t.pushByte(eh);return;case"undefined":t.pushByte(th);return;case"boolean":t.pushByte(e?Zl:Yl);return;case"number":!Number.isInteger(e)||!Number.isSafeInteger(e)?fr(t,new m(c.float,e),r):e>=0?Ve(t,ic,e):Ve(t,ac,e*-1-1);return;case"bigint":e>=BigInt(0)?Ve(t,ic,e):Ve(t,ac,e*rh-nh);return;case"string":{let i=rn(e);Ve(t,Jl,i.length),t.push(i);return}case"Uint8Array":Ve(t,Kl,e.length),t.push(e);return;case"Array":if(!e.length){t.pushByte(cc);return}n=Nt.createCheck(n,e),Ve(t,cc,e.length);for(let i of e)Es(t,i,r,n);return;case"Object":case"Map":if(r.mapSorter===ws)sh(t,e,o,r,n);else{let i=_e.Object(e,o,r,n);Pt(t,i,st,r)}return;default:{let i=_e[o];if(!i)throw new Error(`${on} unsupported type: ${o}`);let a=i(e,o,r,n);Pt(t,a,st,r)}}}function fc(t,e,r,n){let o=n instanceof Uint8Array,s=o?new nn(n):bn,i=ot(t,r);if(!Array.isArray(i)&&r.quickEncodeToken){let a=r.quickEncodeToken(i);if(a)return o?(s.push(a),s.toBytes()):a;let f=e[i.type.major];if(f.encodedSize){let l=f.encodedSize(i,r);if(o||(s=new ir(l)),f(s,i,r),s.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${i} was wrong`);return o?s.toBytes():sr(s.chunks[0])}}return s.reset(),Pt(s,i,e,r),s.toBytes(!0)}function _s(t,e){return e=Object.assign({},Gl,e),oh(e)?(bn.reset(),Es(bn,t,e,void 0),bn.toBytes(!0)):fc(t,st,e)}var ih={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},xn=class{constructor(e,r={}){this._pos=0,this.data=e,this.options=r}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let e=this.data[this._pos],r=me[e];if(r===void 0){let n=d[e];if(!n)throw new Error(`${g} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let o=e&31;r=n(this.data,this._pos,o,this.options)}return this._pos+=r.encodedLength,r}},je=Symbol.for("DONE"),Mt=Symbol.for("BREAK");function ah(t,e,r){let n=[];for(let o=0;o<t.value;o++){let s=We(e,r);if(s===Mt){if(t.value===1/0)break;throw new Error(`${g} got unexpected break to lengthed array`)}if(s===je)throw new Error(`${g} found array but not enough entries (got ${o}, expected ${t.value})`);n[o]=s}return n}function ch(t,e,r){let n=r.useMaps===!0,o=r.rejectDuplicateMapKeys===!0,s=n?void 0:{},i=n?new Map:void 0;for(let a=0;a<t.value;a++){let f=We(e,r);if(f===Mt){if(t.value===1/0)break;throw new Error(`${g} got unexpected break to lengthed map`)}if(f===je)throw new Error(`${g} found map but not enough entries (got ${a} [no key], expected ${t.value})`);if(!n&&typeof f!="string")throw new Error(`${g} non-string keys not supported (got ${typeof f})`);if(o&&(n&&i.has(f)||!n&&Object.hasOwn(s,f)))throw new Error(`${g} found repeat map key "${f}"`);let l=We(e,r);if(l===je)throw new Error(`${g} found map but not enough entries (got ${a} [no value], expected ${t.value})`);n?i.set(f,l):s[f]=l}return n?i:s}function*uh(t,e,r){for(let n=0;n<t.value;n++){let o=We(e,r);if(o===Mt){if(t.value===1/0)break;throw new Error(`${g} got unexpected break to lengthed map`)}if(o===je)throw new Error(`${g} found map but not enough entries (got ${n} [no key], expected ${t.value})`);let s=We(e,r);if(s===je)throw new Error(`${g} found map but not enough entries (got ${n} [no value], expected ${t.value})`);yield[o,s]}}function fh(t,e){let r=function(){if(r._called)throw new Error(`${g} tag decode() may only be called once`);r._called=!0;let n=We(t,e);if(n===je)throw new Error(`${g} tag content missing`);if(n===Mt)throw new Error(`${g} got unexpected break in tag content`);return n};return r.entries=function(){if(r._called)throw new Error(`${g} tag decode() may only be called once`);r._called=!0;let n=t.next();if(!c.equals(n.type,c.map))throw new Error(`${g} entries() requires map content, got ${n.type.name}`);let o=[];for(let s of uh(n,t,e))o.push(s);return o},r._called=!1,r}function We(t,e){if(t.done())return je;let r=t.next();if(c.equals(r.type,c.break))return Mt;if(r.type.terminal)return r.value;if(c.equals(r.type,c.array))return ah(r,t,e);if(c.equals(r.type,c.map))return ch(r,t,e);if(c.equals(r.type,c.tag)){if(e.tags&&typeof e.tags[r.value]=="function"){let n=fh(t,e),o=e.tags[r.value](n);if(!n._called)throw new Error(`${g} tag decoder must call decode() or entries()`);return o}throw new Error(`${g} tag not supported (${r.value})`)}throw new Error("unsupported")}function lc(t,e){if(!(t instanceof Uint8Array))throw new Error(`${g} data to decode must be a Uint8Array`);e=Object.assign({},ih,e);let r=sr(t),n=e.tokenizer||new xn(r,e),o=We(n,e);if(o===je)throw new Error(`${g} did not find any content to decode`);if(o===Mt)throw new Error(`${g} got unexpected break`);return[o,t.subarray(n.pos())]}function vs(t,e){let[r,n]=lc(t,e);if(n.length>0)throw new Error(`${g} too many terminals, data makes no sense`);return r}var wn=class t{constructor(e,r){if(typeof e!="number"||!Number.isInteger(e)||e<0)throw new TypeError("Tagged: tag must be a non-negative integer");this.tag=e,this.value=r}static decoder(e){return r=>new t(e,r())}static preserve(...e){let r={};for(let n of e)r[n]=t.decoder(n);return r}};Object.defineProperty(wn.prototype,Symbol.toStringTag,{value:"Tagged"});var En=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},Ft=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},_n=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"},lr=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};function vn(t){return t[Symbol.asyncIterator]!=null}function hc(t,e){if(t.byteLength>e)throw new Ft("Message length too long")}var Cn=t=>{let e=j(t),r=J(e);return Br(t,r),Cn.bytes=e,r};Cn.bytes=0;function In(t,e){e=e??{};let r=e.lengthEncoder??Cn,n=e?.maxDataLength??4194304;function*o(s){hc(s,n);let i=r(s.byteLength);i instanceof Uint8Array?yield i:yield*i,s instanceof Uint8Array?yield s:yield*s}return vn(t)?(async function*(){for await(let s of t)yield*o(s)})():(function*(){for(let s of t)yield*o(s)})()}In.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Cn,n=e?.maxDataLength??4194304;return hc(t,n),new D(r(t.byteLength),t)};var it;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(it||(it={}));var Ss=t=>{let e=Ie(t);return Ss.bytes=j(e),e};Ss.bytes=0;function hr(t,e){let r=new D,n=it.LENGTH,o=-1,s=e?.lengthDecoder??Ss,i=e?.maxLengthLength??8,a=e?.maxDataLength??4194304;function*f(){for(;r.byteLength>0;){if(n===it.LENGTH)try{if(o=s(r),o<0)throw new En("Invalid message length");if(o>a)throw new Ft("Message length too long");let l=s.bytes;r.consume(l),e?.onLength!=null&&e.onLength(o),n=it.DATA}catch(l){if(l instanceof RangeError){if(r.byteLength>i)throw new _n("Message length length too long");break}throw l}if(n===it.DATA){if(r.byteLength<o)break;let l=r.sublist(0,o);r.consume(o),e?.onData!=null&&e.onData(l),yield l,n=it.LENGTH}}}return vn(t)?(async function*(){for await(let l of t)r.append(l),yield*f();if(r.byteLength>0)throw new lr("Unexpected end of input")})():(function*(){for(let l of t)r.append(l),yield*f();if(r.byteLength>0)throw new lr("Unexpected end of input")})()}hr.fromReader=(t,e)=>{let r=1,n=(async function*(){for(;;)try{let{done:s,value:i}=await t.next(r);if(s===!0)return;i!=null&&(yield i)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{r=1}})();return hr(n,{...e??{},onLength:s=>{r=s}})};var Cs=class extends tt{sendMessage;dataQueue;encoding;constructor(e){super(e),this.sendMessage=e.sendMessage,this.encoding=e.encoding,this.dataQueue=new de({concurrency:1}),this.direction==="outbound"&&this.sendMessage({id:this.id,type:"create",protocol:this.protocol})}sendData(e){let r=this.sendMessage({id:this.id,type:"data",chunk:e.subarray()});return{sentBytes:e.byteLength,canSendMore:r}}sendReset(){this.sendMessage({id:this.id,type:"reset"})}async sendCloseWrite(e){this.sendMessage({id:this.id,type:"closeWrite"}),e?.signal?.throwIfAborted()}async sendCloseRead(e){this.sendMessage({id:this.id,type:"closeRead"}),e?.signal?.throwIfAborted()}sendPause(){this.sendMessage({id:this.id,type:"pause"})}sendResume(){this.sendMessage({id:this.id,type:"resume"})}onRemotePaused(){this.dataQueue.pause()}onRemoteResumed(){this.dataQueue.resume()}},dc=30,Is=class extends rr{input;maxInputQueueSize;encoding;maxMessageSize;nextStreamId;constructor(e,r){super(e,{...r,protocol:"/mock-muxer/1.0.0",name:"mock-muxer"}),this.maxInputQueueSize=r.maxInputQueueSize??1024*1024*10,this.maxMessageSize=(r.maxMessageSize??1024*1024*4)+dc,this.encoding=r.encoding??"base64",this.input=xe(),this.sendMessage=this.sendMessage.bind(this),this.nextStreamId=this.maConn.direction==="outbound"?0:1,Promise.resolve().then(async()=>{for await(let n of hr(this.input,{maxDataLength:this.maxMessageSize}))this.onMessage(vs(n.subarray()))}).catch(n=>{this.abort(n)})}onData(e){if(this.input.readableLength>=this.maxInputQueueSize){this.abort(new Error(`Input queue exceeded maximum size ${this.input.readableLength} >= ${this.maxInputQueueSize}`));return}this.input.push(e)}sendMessage(e){e.type==="data"?this.log.trace("send message %o",{...e,chunk:`[ ${e.chunk.byteLength} bytes ]`}):this.log.trace("send message %o",e);let r=_s(e),n=In.single(r,{maxDataLength:this.maxMessageSize});return this.send(n)}onMessage(e){e.type==="data"?this.log.trace("incoming message %o",{...e,chunk:`[ ${e.chunk.byteLength} bytes ]`}):this.log.trace("incoming message %o",e);let r=this.streams.find(n=>n.id===e.id);if(e.type==="create"){if(r!=null)throw new Error(`Already had stream for ${e.id}`);this.log.trace("create stream inbound %s",e.id),r=this._createStream(e.id,"inbound",{protocol:e.protocol}),this.onRemoteStream(r)}if(r==null){this.log.error(`no stream found for ${e.id}`);return}e.type==="data"?r.onData(e.chunk):e.type==="reset"?r.onRemoteReset():e.type==="closeWrite"?r.onRemoteCloseWrite():e.type==="closeRead"?r.onRemoteCloseRead():e.type==="pause"?r.onRemotePaused():e.type==="resume"&&r.onRemoteResumed()}async onCreateStream(e){return this.nextStreamId+=2,this._createStream(`${this.nextStreamId}`,"outbound",e)}_createStream(e,r,n){return this.log.trace("createStream %s %s",r,e),new Cs({...this.streamOptions,...n,id:e,direction:r,log:this.log.newScope(`stream:${r}:${e}`),sendMessage:this.sendMessage,encoding:this.encoding,maxMessageSize:this.maxMessageSize-dc,protocol:""})}},Ls=class{protocol="/mock-muxer/1.0.0";init;constructor(e){this.init=e}createStreamMuxer(e){return new Is(e,{...this.init})}};function Ln(t={}){return new Ls(t)}function An(t,e){if(typeof t=="string")return mh(t);if(typeof t=="number")return yh(t,e);throw new Error(`Value provided to ms() must be a string or number. value=${JSON.stringify(t)}`)}function mh(t){if(typeof t!="string"||t.length===0||t.length>100)throw new Error(`Value provided to ms.parse() must be a string with length between 1 and 99. value=${JSON.stringify(t)}`);let e=/^(?<value>-?\d*\.?\d+) *(?<unit>milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|months?|mo|years?|yrs?|y)?$/i.exec(t);if(!e?.groups)return NaN;let{value:r,unit:n="ms"}=e.groups,o=parseFloat(r),s=n.toLowerCase();switch(s){case"years":case"year":case"yrs":case"yr":case"y":return o*315576e5;case"months":case"month":case"mo":return o*26298e5;case"weeks":case"week":case"w":return o*6048e5;case"days":case"day":case"d":return o*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return o*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return o*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return o*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:throw new Error(`Unknown unit "${s}" provided to ms.parse(). value=${JSON.stringify(t)}`)}}function ph(t){let e=Math.abs(t);return e>=315576e5?`${Math.round(t/315576e5)}y`:e>=26298e5?`${Math.round(t/26298e5)}mo`:e>=6048e5?`${Math.round(t/6048e5)}w`:e>=864e5?`${Math.round(t/864e5)}d`:e>=36e5?`${Math.round(t/36e5)}h`:e>=6e4?`${Math.round(t/6e4)}m`:e>=1e3?`${Math.round(t/1e3)}s`:`${t}ms`}function gh(t){let e=Math.abs(t);return e>=315576e5?at(t,e,315576e5,"year"):e>=26298e5?at(t,e,26298e5,"month"):e>=6048e5?at(t,e,6048e5,"week"):e>=864e5?at(t,e,864e5,"day"):e>=36e5?at(t,e,36e5,"hour"):e>=6e4?at(t,e,6e4,"minute"):e>=1e3?at(t,e,1e3,"second"):`${t} ms`}function yh(t,e){if(typeof t!="number"||!Number.isFinite(t))throw new Error("Value provided to ms.format() must be of type number.");return e?.long?gh(t):ph(t)}function at(t,e,r,n){let o=e>=r*1.5;return`${Math.round(t/r)} ${n}${o?"s":""}`}function As(t){r.debug=r,r.default=r,r.coerce=f,r.disable=s,r.enable=o,r.enabled=i,r.humanize=An,r.destroy=l,Object.keys(t).forEach(u=>{r[u]=t[u]}),r.names=[],r.skips=[],r.formatters={};function e(u){let h=0;for(let p=0;p<u.length;p++)h=(h<<5)-h+u.charCodeAt(p),h|=0;return r.colors[Math.abs(h)%r.colors.length]}r.selectColor=e;function r(u,h){let p,x=null,ae,q;function w(...b){if(!w.enabled)return;let I=w,k=Number(new Date),G=k-(p||k);I.diff=G,I.prev=p,I.curr=k,p=k,b[0]=r.coerce(b[0]),typeof b[0]!="string"&&b.unshift("%O");let R=0;b[0]=b[0].replace(/%([a-zA-Z%])/g,(z,re)=>{if(z==="%%")return"%";R++;let ue=r.formatters[re];if(typeof ue=="function"){let X=b[R];z=ue.call(I,X),b.splice(R,1),R--}return z}),r.formatArgs.call(I,b),h?.onLog!=null&&h.onLog(...b),(I.log||r.log).apply(I,b)}return w.namespace=u,w.useColors=r.useColors(),w.color=r.selectColor(u),w.extend=n,w.destroy=r.destroy,Object.defineProperty(w,"enabled",{enumerable:!0,configurable:!1,get:()=>x!==null?x:(ae!==r.namespaces&&(ae=r.namespaces,q=r.enabled(u)),q),set:b=>{x=b}}),typeof r.init=="function"&&r.init(w),w}function n(u,h){let p=r(this.namespace+(typeof h>"u"?":":h)+u);return p.log=this.log,p}function o(u){r.save(u),r.namespaces=u,r.names=[],r.skips=[];let h,p=(typeof u=="string"?u:"").split(/[\s,]+/),x=p.length;for(h=0;h<x;h++)p[h]&&(u=p[h].replace(/\*/g,".*?"),u[0]==="-"?r.skips.push(new RegExp("^"+u.substr(1)+"$")):r.names.push(new RegExp("^"+u+"$")))}function s(){let u=[...r.names.map(a),...r.skips.map(a).map(h=>"-"+h)].join(",");return r.enable(""),u}function i(u){if(u[u.length-1]==="*")return!0;let h,p;for(h=0,p=r.skips.length;h<p;h++)if(r.skips[h].test(u))return!1;for(h=0,p=r.names.length;h<p;h++)if(r.names[h].test(u))return!0;return!1}function a(u){return u.toString().substring(2,u.toString().length-2).replace(/\.\*\?$/,"*")}function f(u){return u instanceof Error?u.stack??u.message:u}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.setupFormatters(r.formatters),r.enable(r.load()),r}var Tn=Sh(),bh=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function xh(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/(edge|trident)\/(\d+)/)!=null?!1:typeof document<"u"&&document.documentElement?.style?.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/firefox\/(\d+)/)!=null&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/applewebkit\/(\d+)/)}function wh(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+An(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),t.splice(n,0,e)}var Eh=console.debug??console.log??(()=>{});function _h(t){try{t?Tn?.setItem("debug",t):Tn?.removeItem("debug")}catch{}}function vh(){let t;try{t=Tn?.getItem("debug")}catch{}return!t&&typeof globalThis.process<"u"&&"env"in globalThis.process&&(t=globalThis.process.env.DEBUG),t}function Sh(){try{return localStorage}catch{}}function Ch(t){t.j=function(e){try{return JSON.stringify(e)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}}var mc=As({formatArgs:wh,save:_h,load:vh,useColors:xh,setupFormatters:Ch,colors:bh,storage:Tn,log:Eh});var Q=mc;Q.formatters.b=t=>t==null?"undefined":oe.baseEncode(t);Q.formatters.t=t=>t==null?"undefined":pe.baseEncode(t);Q.formatters.m=t=>t==null?"undefined":qn.baseEncode(t);Q.formatters.p=t=>t==null?"undefined":t.toString();Q.formatters.c=t=>t==null?"undefined":t.toString();Q.formatters.k=t=>t==null?"undefined":t.toString();Q.formatters.a=t=>t==null?"undefined":t.toString();function pc(t,e=""){let r=gc(t.message),n=gc(t.stack);return r!=null&&n!=null?n.includes(r)?`${n.split(`
|
|
2
|
+
"use strict";var Libp2PUtils=(()=>{var Lc=Object.create;var gr=Object.defineProperty;var Ac=Object.getOwnPropertyDescriptor;var Tc=Object.getOwnPropertyNames;var Dc=Object.getPrototypeOf,kc=Object.prototype.hasOwnProperty;var Bn=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(r){throw e=0,r}},K=(t,e)=>{for(var r in e)gr(t,r,{get:e[r],enumerable:!0})},Us=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Tc(e))!kc.call(t,o)&&o!==r&&gr(t,o,{get:()=>e[o],enumerable:!(n=Ac(e,o))||n.enumerable});return t};var Bc=(t,e,r)=>(r=t!=null?Lc(Dc(t)):{},Us(e||!t||!t.__esModule?gr(r,"default",{value:t,enumerable:!0}):r,t)),Pc=t=>Us(gr({},"__esModule",{value:!0}),t);var ho=Bn(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.Netmask4Impl=void 0;xt.ip2long=bt;xt.long2ip=be;function be(t){let e=(t&-16777216)>>>24,r=(t&255<<16)>>>16,n=(t&65280)>>>8,o=t&255;return[e,r,n,o].join(".")}var af=48,cf=97,uf=65;function ff(t){let e=0,r=10,n="9",o=0;t.length>1&&t[o]==="0"&&(t[o+1]==="x"||t[o+1]==="X"?(o+=2,r=16):"0"<=t[o+1]&&t[o+1]<="9"&&(o++,r=8,n="7"));let s=o;for(;o<t.length;){if("0"<=t[o]&&t[o]<=n)e=e*r+(t.charCodeAt(o)-af)>>>0;else if(r===16)if("a"<=t[o]&&t[o]<="f")e=e*r+(10+t.charCodeAt(o)-cf)>>>0;else if("A"<=t[o]&&t[o]<="F")e=e*r+(10+t.charCodeAt(o)-uf)>>>0;else break;else break;if(e>4294967295)throw new Error("too large");o++}if(o===s)throw new Error("empty octet");return[e,o]}function bt(t){let e=[];for(let r=0;r<=3&&t.length!==0;r++){if(r>0){if(t[0]!==".")throw new Error("Invalid IP");t=t.substring(1)}let[n,o]=ff(t);t=t.substring(o),e.push(n)}if(t.length!==0)throw new Error("Invalid IP");switch(e.length){case 1:if(e[0]>4294967295)throw new Error("Invalid IP");return e[0]>>>0;case 2:if(e[0]>255||e[1]>16777215)throw new Error("Invalid IP");return(e[0]<<24|e[1])>>>0;case 3:if(e[0]>255||e[1]>255||e[2]>65535)throw new Error("Invalid IP");return(e[0]<<24|e[1]<<16|e[2])>>>0;case 4:if(e[0]>255||e[1]>255||e[2]>255||e[3]>255)throw new Error("Invalid IP");return(e[0]<<24|e[1]<<16|e[2]<<8|e[3])>>>0;default:throw new Error("Invalid IP")}}var lo=class t{constructor(e,r){if(typeof e!="string")throw new Error("Missing `net' parameter");let n=r;if(!n){let o=e.split("/",2);e=o[0],n=o[1]}if(n||(n=32),typeof n=="string"&&n.indexOf(".")>-1){try{this.maskLong=bt(n)}catch{throw new Error("Invalid mask: "+n)}this.bitmask=NaN;for(let o=32;o>=0;o--)if(this.maskLong===4294967295<<32-o>>>0){this.bitmask=o;break}}else if(n||n===0)this.bitmask=parseInt(n,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(bt(e)&this.maskLong)>>>0}catch{throw new Error("Invalid net address: "+e)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+n);this.size=Math.pow(2,32-this.bitmask),this.base=be(this.netLong),this.mask=be(this.maskLong),this.hostmask=be(~this.maskLong),this.first=this.bitmask<=30?be(this.netLong+1):this.base,this.last=this.bitmask<=30?be(this.netLong+this.size-2):be(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?be(this.netLong+this.size-1):void 0}contains(e){return typeof e=="string"&&(e.indexOf("/")>0||e.split(".").length!==4)&&(e=new t(e)),e instanceof t?this.contains(e.base)&&this.contains(e.broadcast||e.last):(bt(e)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0}next(e=1){return new t(be(this.netLong+this.size*e),this.mask)}forEach(e){let r=bt(this.first),n=bt(this.last),o=0;for(;r<=n;)e(be(r),r,o),o++,r++}toString(){return this.base+"/"+this.bitmask}};xt.Netmask4Impl=lo});var _i=Bn(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.Netmask6Impl=void 0;wt.ip6bigint=po;wt.bigint2ip6=Je;var lf=ho(),mo=(1n<<128n)-1n;function po(t){let e=t.indexOf("%");e!==-1&&(t=t.substring(0,e));let r=t.lastIndexOf(":");if(r!==-1&&t.indexOf(".",r)!==-1){let n=t.substring(r+1),o=(0,lf.ip2long)(n),s=t.substring(0,r+1)+"0:0";return vi(s)&~0xffffffffn|BigInt(o)}return vi(t)}function vi(t){let e=t.indexOf("::"),r;if(e!==-1){let o=t.substring(0,e),s=t.substring(e+2),i=o===""?[]:o.split(":"),a=s===""?[]:s.split(":"),u=8-i.length-a.length;if(u<0)throw new Error("Invalid IPv6: too many groups");r=[...i,...Array(u).fill("0"),...a]}else r=t.split(":");if(r.length!==8)throw new Error("Invalid IPv6: expected 8 groups, got "+r.length);let n=0n;for(let o=0;o<8;o++){let s=r[o];if(s.length===0||s.length>4)throw new Error('Invalid IPv6: bad group "'+s+'"');let i=parseInt(s,16);if(isNaN(i)||i<0||i>65535)throw new Error('Invalid IPv6: bad group "'+s+'"');n=n<<16n|BigInt(i)}return n}function Je(t){if(t<0n||t>mo)throw new Error("Invalid IPv6 address value");let e=[];for(let i=0;i<8;i++)e.unshift(Number(t&0xffffn)),t>>=16n;let r=-1,n=0,o=-1,s=0;for(let i=0;i<8;i++)e[i]===0?o===-1?(o=i,s=1):s++:(s>n&&s>=2&&(r=o,n=s),o=-1,s=0);if(s>n&&s>=2&&(r=o,n=s),r!==-1&&r+n===8&&r>0)return e.slice(0,r).map(a=>a.toString(16)).join(":")+"::";if(r===0)return"::"+e.slice(n).map(a=>a.toString(16)).join(":");if(r>0){let i=e.slice(0,r).map(u=>u.toString(16)),a=e.slice(r+n).map(u=>u.toString(16));return i.join(":")+"::"+a.join(":")}else return e.map(i=>i.toString(16)).join(":")}var go=class t{constructor(e,r){if(typeof e!="string")throw new Error("Missing `net' parameter");let n=r;if(n==null){let o=e.indexOf("/");o!==-1?(n=parseInt(e.substring(o+1),10),e=e.substring(0,o)):n=128}if(isNaN(n)||n<0||n>128)throw new Error("Invalid mask for IPv6: "+n);this.bitmask=n,this.bitmask===0?this.maskBigint=0n:this.maskBigint=mo>>BigInt(128-this.bitmask)<<BigInt(128-this.bitmask);try{this.netBigint=po(e)&this.maskBigint}catch{throw new Error("Invalid IPv6 net address: "+e)}this.size=Number(1n<<BigInt(128-this.bitmask)),this.base=Je(this.netBigint),this.mask=Je(this.maskBigint),this.hostmask=Je(~this.maskBigint&mo),this.first=this.base,this.last=Je(this.netBigint+(1n<<BigInt(128-this.bitmask))-1n),this.broadcast=void 0}contains(e){return typeof e=="string"&&e.indexOf("/")>0&&(e=new t(e)),e instanceof t?this.contains(e.base)&&this.contains(e.last):(po(e)&this.maskBigint)===this.netBigint}next(e=1){let r=1n<<BigInt(128-this.bitmask);return new t(Je(this.netBigint+r*BigInt(e)),this.bitmask)}forEach(e){let r=this.netBigint,n=1n<<BigInt(128-this.bitmask),o=this.netBigint+n-1n,s=0;for(;r<=o;)e(Je(r),Number(r),s),s++,r++}toString(){return this.base+"/"+this.bitmask}};wt.Netmask6Impl=go});var Si=Bn(Ue=>{"use strict";Object.defineProperty(Ue,"__esModule",{value:!0});Ue.long2ip=Ue.ip2long=Ue.Netmask=void 0;var Tr=ho();Object.defineProperty(Ue,"ip2long",{enumerable:!0,get:function(){return Tr.ip2long}});Object.defineProperty(Ue,"long2ip",{enumerable:!0,get:function(){return Tr.long2ip}});var hf=_i(),yo=class t{constructor(e,r){if(typeof e!="string")throw new Error("Missing `net' parameter");(e.indexOf("/")!==-1?e.substring(0,e.indexOf("/")):e).indexOf(":")!==-1?this._impl=new hf.Netmask6Impl(e,r):this._impl=new Tr.Netmask4Impl(e,r),this.base=this._impl.base,this.mask=this._impl.mask,this.hostmask=this._impl.hostmask,this.bitmask=this._impl.bitmask,this.size=this._impl.size,this.first=this._impl.first,this.last=this._impl.last,this.broadcast=this._impl.broadcast,this._impl instanceof Tr.Netmask4Impl?(this.maskLong=this._impl.maskLong,this.netLong=this._impl.netLong):(this.maskLong=0,this.netLong=0)}contains(e){return typeof e=="string"&&(e.indexOf("/")>0?e=new t(e):e.indexOf(":")===-1&&e.split(".").length!==4&&(e=new t(e))),e instanceof t?this.contains(e.base)&&this.contains(e.broadcast||e.last):this._impl.contains(e)}next(e=1){let r=this._impl.next(e);return new t(r.base,r.bitmask)}forEach(e){this._impl.forEach(e)}toString(){return this._impl.toString()}};Ue.Netmask=yo});var zh={};K(zh,{AbstractMessageStream:()=>et,AbstractMultiaddrConnection:()=>tr,AbstractStream:()=>tt,AbstractStreamMuxer:()=>rr,AdaptiveTimeout:()=>as,BloomFilter:()=>jt,CuckooFilter:()=>Pe,DEFAULT_FAILURE_MULTIPLIER:()=>Yi,DEFAULT_INTERVAL:()=>ta,DEFAULT_MAX_TIMEOUT:()=>ea,DEFAULT_MIN_TIMEOUT:()=>Zi,DEFAULT_TIMEOUT_MULTIPLIER:()=>Ji,InvalidDataLengthError:()=>Zr,InvalidDataLengthLengthError:()=>en,InvalidMessageLengthError:()=>At,LengthPrefixedDecoder:()=>hs,MaxEarlyStreamsError:()=>Zt,MemoryStorage:()=>kn,MockStream:()=>Ds,MovingAverage:()=>rt,PeerQueue:()=>Ps,PriorityQueue:()=>Ns,Queue:()=>de,QueueFullError:()=>Yt,RateLimitError:()=>Jt,RateLimiter:()=>Ms,ScalableCuckooFilter:()=>Wt,StreamClosedError:()=>er,UnexpectedEOFError:()=>$e,UnwrappedError:()=>nr,byteStream:()=>ua,circuitRelayAddressesLast:()=>Xi,createBloomFilter:()=>li,createCuckooFilter:()=>hi,createScalableCuckooFilter:()=>di,debounce:()=>Lt,defaultMultiaddrSorter:()=>ol,echo:()=>ls,echoStream:()=>Oh,getNetConfig:()=>le,getThinWaistAddresses:()=>ll,ipPortToMultiaddr:()=>dl,isAsyncGenerator:()=>ml,isGenerator:()=>pl,isGlobalUnicast:()=>nf,isGlobalUnicastIp:()=>hl,isLinkLocal:()=>of,isLinkLocalIp:()=>kl,isLoopback:()=>Ar,isNetworkAddress:()=>sf,isPrivate:()=>Dr,isPrivateIp:()=>xo,isPromise:()=>is,loopbackAddressLast:()=>Hi,lpStream:()=>fa,messageStreamToDuplex:()=>la,mockMuxer:()=>Ln,multiaddrConnectionPair:()=>Bs,pbStream:()=>Il,pipe:()=>Al,publicAddressesFirst:()=>Qi,reliableTransportsFirst:()=>Gi,repeatingTask:()=>Uh,streamPair:()=>Ic,trackedList:()=>Rh,trackedMap:()=>$h,tryGetNetConfig:()=>_r});function H(t=0){return new Uint8Array(t)}function J(t=0){return new Uint8Array(t)}function Nc(t){return t?.buffer instanceof ArrayBuffer}function Pn(t){if(Nc(t))return t;let e=t.slice();return new Uint8Array(e.buffer,0,e.byteLength)}function Se(t,e){e==null&&(e=t.reduce((o,s)=>o+s.length,0));let r=J(e),n=0;for(let o of t)r.set(o,n),n+=o.length;return Pn(r)}function qe(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var Rs=Symbol.for("@achingbrain/uint8arraylist");function Os(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let o=r+n.byteLength;if(e<o)return{buf:n,index:e-r};r=o}throw new RangeError("index is out of bounds")}function ct(t){return!!t?.[Rs]}var D=class t{bufs;length;[Rs]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(ct(n)){r+=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+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(ct(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(e){let r=Os(this.bufs,e);return r.buf[r.index]}set(e,r){let n=Os(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(ct(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:o}=this._subList(e,r);return Se(n,o)}subarray(e,r){let{bufs:n,length:o}=this._subList(e,r);return n.length===1?n[0]:Se(n,o)}sublist(e,r){let{bufs:n,length:o}=this._subList(e,r),s=new t;return s.length=o,s.bufs=n,s}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===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,u=a+i.byteLength;if(o=u,e>=u)continue;let l=e>=a&&e<u,f=r>a&&r<=u;if(l&&f){if(e===a&&r===u){n.push(i);break}let h=e-a;n.push(i.subarray(h,h+(r-e)));break}if(l){if(e===0){n.push(i);continue}n.push(i.subarray(e-a));continue}if(f){if(r===u){n.push(i);break}n.push(i.subarray(0,r-a));break}n.push(i)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!ct(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;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,u=this.byteLength-n.byteLength,l=n.byteLength-1,f;for(let h=r;h<=u;h+=f){f=0;for(let p=l;p>=0;p--){let x=this.get(h+p);if(n[p]!==x){f=Math.max(1,p-a[x]);break}}if(f===0)return h}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=J(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let o=H(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,r,n),this.write(o,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let o=H(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,r,n),this.write(o,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let o=H(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,r,n),this.write(o,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=J(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let o=H(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,r,n),this.write(o,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let o=H(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,r,n),this.write(o,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let o=H(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,r,n),this.write(o,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let o=H(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,r,n),this.write(o,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let o=H(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,r,n),this.write(o,e)}equals(e){if(e==null||!(e instanceof t)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!qe(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new t;return n.bufs=e,r==null&&(r=e.reduce((o,s)=>o+s.byteLength,0)),n.length=r,n}};var On={};K(On,{base10:()=>Vc});var Zh=new Uint8Array(0);function zs(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}function ne(t){if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return Ge(t);if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return Ge(new Uint8Array(t.buffer,t.byteOffset,t.byteLength));throw new Error("Unknown type, must be binary type")}function Vs(t){let e=new Uint8Array(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}var $s=4096;function js(t){let e=t.length;if(e<=$s)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.subarray(n,n+=$s));return r}function Mc(t){return t?.buffer instanceof ArrayBuffer}function Ge(t){return Mc(t)?t:t.slice()}function Fc(t,e,r){if(t.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<t.length;s++){var i=t.charAt(s),a=i.charCodeAt(0);if(n[a]!==255)throw new TypeError(i+" is ambiguous");if(n[a]=s,r){var u=i.toLowerCase().charCodeAt(0),l=i.toUpperCase().charCodeAt(0);u!==a&&(n[u]=s),l!==a&&(n[l]=s)}}var f=t.length,h=t.charAt(0),p=Math.log(f)/Math.log(256),x=Math.log(256)/Math.log(f);function ae(b){if(b instanceof Uint8Array||(ArrayBuffer.isView(b)?b=new Uint8Array(b.buffer,b.byteOffset,b.byteLength):Array.isArray(b)&&(b=Uint8Array.from(b))),!(b instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(b.length===0)return"";for(var I=0,k=0,G=0,R=b.length;G!==R&&b[G]===0;)G++,I++;for(var ce=(R-G)*x+1>>>0,z=new Uint8Array(ce);G!==R;){for(var re=b[G],ue=0,X=ce-1;(re!==0||ue<k)&&X!==-1;X--,ue++)re+=256*z[X]>>>0,z[X]=re%f>>>0,re=re/f>>>0;if(re!==0)throw new Error("Non-zero carry");k=ue,G++}for(var _e=ce-k;_e!==ce&&z[_e]===0;)_e++;for(var pr=h.repeat(I);_e<ce;++_e)pr+=t.charAt(z[_e]);return pr}function q(b){if(typeof b!="string")throw new TypeError("Expected String");if(b.length===0)return new Uint8Array;var I=0;if(b[I]!==" "){for(var k=0,G=0;b[I]===h;)k++,I++;for(var R=(b.length-I)*p+1>>>0,ce=new Uint8Array(R);b[I];){var z=n[b.charCodeAt(I)];if(z===255)return;for(var re=0,ue=R-1;(z!==0||re<G)&&ue!==-1;ue--,re++)z+=f*ce[ue]>>>0,ce[ue]=z%256>>>0,z=z/256>>>0;if(z!==0)throw new Error("Non-zero carry");G=re,I++}if(b[I]!==" "){for(var X=R-G;X!==R&&ce[X]===0;)X++;for(var _e=new Uint8Array(k+(R-X)),pr=k;X!==R;)_e[pr++]=ce[X++];return _e}}}function w(b){var I=q(b);if(I)return I;throw new Error(`Non-${e} character`)}return{encode:ae,decodeUnsafe:q,decode:w}}var Uc=Fc,Oc=Uc,qs=Oc;var Nn=class{name;prefix;baseEncode;constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Mn=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,r,n){this.name=e,this.prefix=r;let o=r.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Gs(this,e)}},Fn=class{decoders;constructor(e){this.decoders=e}or(e){return Gs(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Gs(t,e){return new Fn({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var Un=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,r,n,o){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=o,this.encoder=new Nn(e,r,n),this.decoder=new Mn(e,r,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function ut({name:t,prefix:e,encode:r,decode:n}){return new Un(t,e,r,n)}function ke({name:t,prefix:e,alphabet:r,caseInsensitive:n=!1}){let{encode:o,decode:s}=qs(r,t,n);return ut({prefix:e,name:t,encode:o,decode:i=>ne(s(i))})}function Rc(t,e,r,n){let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),i=0,a=0,u=0;for(let l=0;l<o;++l){let f=e[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<r|f,i+=r,i>=8&&(i-=8,s[u++]=255&a>>i)}if(i>=r||(255&a<<8-i)!==0)throw new SyntaxError("Unexpected end of data");return s}function $c(t,e,r){let n=e[e.length-1]==="=",o=(1<<r)-1,s="",i=0,a=0;for(let u=0;u<t.length;++u)for(a=a<<8|t[u],i+=8;i>r;)i-=r,s+=e[o&a>>i];if(i!==0&&(s+=e[o&a<<r-i]),n)for(;(s.length*r&7)!==0;)s+="=";return s}function zc(t,e){let r={};for(let n=0;n<t.length;++n)if(r[t[n]]=n,e){let o=t[n].toLowerCase(),s=t[n].toUpperCase();o!==t[n]&&(r[o]=n),s!==t[n]&&(r[s]=n)}return r}function T({name:t,prefix:e,bitsPerChar:r,alphabet:n,caseInsensitive:o=!1}){let s=zc(n,o);return ut({prefix:e,name:t,encode(i){return $c(i,n,r)},decode(i){return Rc(i,s,r,t)}})}var Vc=ke({prefix:"9",name:"base10",alphabet:"0123456789"});var Rn={};K(Rn,{base16:()=>jc,base16upper:()=>Wc});var jc=T({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4,caseInsensitive:!0}),Wc=T({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4,caseInsensitive:!0});var $n={};K($n,{base2:()=>qc});var qc=T({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var zn={};K(zn,{base256emoji:()=>Kc});var Hs=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}"),Gc=Hs.reduce((t,e,r)=>(t[r]=e,t),[]),Hc=Hs.reduce((t,e,r)=>{let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);return t[n]=r,t},[]);function Qc(t){return t.reduce((e,r)=>(e+=Gc[r],e),"")}function Xc(t){let e=[];for(let r of t){let n=r.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${r}`);let o=Hc[n];if(o==null)throw new Error(`Non-base256emoji character: ${r}`);e.push(o)}return new Uint8Array(e)}var Kc=ut({prefix:"\u{1F680}",name:"base256emoji",encode:Qc,decode:Xc});var Vn={};K(Vn,{base32:()=>pe,base32hex:()=>eu,base32hexpad:()=>ru,base32hexpadupper:()=>nu,base32hexupper:()=>tu,base32pad:()=>Yc,base32padupper:()=>Zc,base32upper:()=>Jc,base32z:()=>ou});var pe=T({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5,caseInsensitive:!0}),Jc=T({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5,caseInsensitive:!0}),Yc=T({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5,caseInsensitive:!0}),Zc=T({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5,caseInsensitive:!0}),eu=T({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5,caseInsensitive:!0}),tu=T({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5,caseInsensitive:!0}),ru=T({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5,caseInsensitive:!0}),nu=T({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5,caseInsensitive:!0}),ou=T({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var jn={};K(jn,{base36:()=>Ut,base36upper:()=>su});var Ut=ke({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz",caseInsensitive:!0}),su=ke({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",caseInsensitive:!0});var Wn={};K(Wn,{base58btc:()=>oe,base58flickr:()=>iu});var oe=ke({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),iu=ke({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Hn={};K(Hn,{base64:()=>qn,base64pad:()=>au,base64url:()=>Gn,base64urlpad:()=>cu});var qn=T({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),au=T({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Gn=T({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),cu=T({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Qn={};K(Qn,{base8:()=>uu});var uu=T({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Xn={};K(Xn,{identity:()=>fu});var fu=ut({prefix:"\0",name:"identity",encode:t=>js(ne(t)),decode:t=>ne(Vs(t))});var pd=new TextEncoder,gd=new TextDecoder;var Jn={};K(Jn,{identity:()=>Pu});var du=Ks,Qs=128,mu=127,pu=~mu,gu=Math.pow(2,31);function Ks(t,e,r){e=e||[],r=r||0;for(var n=r;t>=gu;)e[r++]=t&255|Qs,t/=128;for(;t&pu;)e[r++]=t&255|Qs,t>>>=7;return e[r]=t|0,Ks.bytes=r-n+1,e}var yu=Kn,bu=128,Xs=127;function Kn(t,n){var r=0,n=n||0,o=0,s=n,i,a=t.length;do{if(s>=a)throw Kn.bytes=0,new RangeError("Could not decode varint");i=t[s++],r+=o<28?(i&Xs)<<o:(i&Xs)*Math.pow(2,o),o+=7}while(i>=bu);return Kn.bytes=s-n,r}var xu=Math.pow(2,7),wu=Math.pow(2,14),Eu=Math.pow(2,21),vu=Math.pow(2,28),_u=Math.pow(2,35),Su=Math.pow(2,42),Cu=Math.pow(2,49),Iu=Math.pow(2,56),Lu=Math.pow(2,63),Au=function(t){return t<xu?1:t<wu?2:t<Eu?3:t<vu?4:t<_u?5:t<Su?6:t<Cu?7:t<Iu?8:t<Lu?9:10},Tu={encode:du,decode:yu,encodingLength:Au},Du=Tu,Ot=Du;function Rt(t,e=0){let r=Ot.decode(t,e),n=Ot.decode.bytes;if(n>9)throw new RangeError("Invalid varint: too long");if(n>1&&t[e+n-1]===0)throw new RangeError("Invalid varint: not minimally encoded");return[r,n]}function ft(t,e,r=0){return Ot.encode(t,e,r),e}function lt(t){return Ot.encodingLength(t)}function dt(t,e){let r=e.byteLength,n=lt(t),o=n+lt(r),s=new Uint8Array(o+r);return ft(t,s,0),ft(r,s,n),s.set(e,o),new ht(t,r,e,s)}function Js(t){let e=ne(t),[r,n]=Rt(e),[o,s]=Rt(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new ht(r,o,i,e)}function Ys(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&zs(t.bytes,r.bytes)}}var ht=class{code;size;digest;bytes;constructor(e,r,n,o){this.code=e,this.size=r,this.digest=Ge(n),this.bytes=Ge(o)}};var Zs=0,ku="identity",ei=ne;function Bu(t,e){if(e?.truncate!=null&&e.truncate!==t.byteLength){if(e.truncate<0||e.truncate>t.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${t.byteLength}`);t=t.subarray(0,e.truncate)}return dt(Zs,ei(t))}var Pu={code:Zs,name:ku,encode:ei,digest:Bu};var eo={};K(eo,{sha256:()=>Mu,sha512:()=>Fu});var Nu=20;function Zn({name:t,code:e,encode:r,minDigestLength:n,maxDigestLength:o}){return new Yn(t,e,r,n,o)}var Yn=class{name;code;encode;minDigestLength;maxDigestLength;constructor(e,r,n,o,s){this.name=e,this.code=r,this.encode=n,this.minDigestLength=o??Nu,this.maxDigestLength=s}digest(e,r){if(r?.truncate!=null){if(r.truncate<this.minDigestLength)throw new Error(`Invalid truncate option, must be greater than or equal to ${this.minDigestLength}`);if(this.maxDigestLength!=null&&r.truncate>this.maxDigestLength)throw new Error(`Invalid truncate option, must be less than or equal to ${this.maxDigestLength}`)}if(e instanceof Uint8Array){let n=this.encode(e);return n instanceof Uint8Array?ti(n,this.code,r?.truncate):n.then(o=>ti(o,this.code,r?.truncate))}else throw Error("Unknown type, must be binary type")}};function ti(t,e,r){if(r!=null&&r!==t.byteLength){if(r>t.byteLength)throw new Error(`Invalid truncate option, must be less than or equal to ${t.byteLength}`);t=t.subarray(0,r)}return dt(e,t)}function ni(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var Mu=Zn({name:"sha2-256",code:18,encode:ni("SHA-256")}),Fu=Zn({name:"sha2-512",code:19,encode:ni("SHA-512")});function oi(t,e){let{bytes:r,version:n}=t;return n===0?Ou(r,to(t),e??oe.encoder):Ru(r,to(t),e??pe.encoder)}var si=new WeakMap;function to(t){let e=si.get(t);if(e==null){let r=new Map;return si.set(t,r),r}return e}var mt=class t{code;version;multihash;bytes;"/";constructor(e,r,n,o){this.code=r,this.version=e,this.multihash=n,this.bytes=Ge(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:e,multihash:r}=this;if(e!==zt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==$u)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=dt(e,r);return t.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(e){return t.equals(this,e)}static equals(e,r){let n=r;return n!=null&&e.code===n.code&&e.version===n.version&&Ys(e.multihash,n.multihash)}toString(e){return oi(this,e)}toJSON(){return{"/":oi(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:o,multihash:s,bytes:i}=r;return new t(n,o,s,i??ii(n,o,s.bytes))}else if(r[zu]===!0){let{version:n,multihash:o,code:s}=r,i=Js(o);return t.create(n,s,i)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==zt)throw new Error(`Version 0 CID must use dag-pb (code: ${zt}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let o=ii(e,r,n.bytes);return new t(e,r,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,zt,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,o=ne(e.subarray(n,n+r.multihashSize));if(o.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=o.subarray(r.multihashSize-r.digestSize),i=new ht(r.multihashCode,r.digestSize,s,o);return[r.version===0?t.createV0(i):t.createV1(r.codec,i),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[h,p]=Rt(e.subarray(r));return r+=p,h},o=n(),s=zt;if(o===18?(o=0,r=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=r,a=n(),u=n(),l=r+u,f=l-i;return{version:o,codec:s,multihashCode:a,digestSize:u,multihashSize:f,size:l}}static parse(e,r){let[n,o]=Uu(e,r),s=t.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return to(s).set(n,e),s}};function Uu(t,e){switch(t[0]){case"Q":{let r=e??oe;return[oe.prefix,r.decode(`${oe.prefix}${t}`)]}case oe.prefix:{let r=e??oe;return[oe.prefix,r.decode(t)]}case pe.prefix:{let r=e??pe;return[pe.prefix,r.decode(t)]}case Ut.prefix:{let r=e??Ut;return[Ut.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}}function Ou(t,e,r){let{prefix:n}=r;if(n!==oe.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let o=e.get(n);if(o==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return o}function Ru(t,e,r){let{prefix:n}=r,o=e.get(n);if(o==null){let s=r.encode(t);return e.set(n,s),s}else return o}var zt=112,$u=18;function ii(t,e,r){let n=lt(t),o=n+lt(e),s=new Uint8Array(o+r.byteLength);return ft(t,s,0),ft(e,s,n),s.set(r,o),s}var zu=Symbol.for("@ipld/js-cid/CID");var Vt={...Xn,...$n,...Qn,...On,...Rn,...Vn,...jn,...Wn,...Hn,...zn},Od={...eo,...Jn};function ci(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var ai=ci("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),ro=ci("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=J(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Vu={utf8:ai,"utf-8":ai,hex:Vt.base16,latin1:ro,ascii:ro,binary:ro,...Vt},br=Vu;function B(t,e="utf8"){let r=br[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.decoder.decode(`${r.prefix}${t}`)}var no={32:16777619n,64:1099511628211n,128:309485009821345068724781371n,256:374144419156711147060143317175368453031918731002211n,512:35835915874844867368919076489095108449946327955754392558399825615420669938882575126094039892345713852759n,1024:5016456510113118655434598811035278955030765345404790744303017523831112055108147451509157692220295382716162651878526895249385292291816524375083746691371804094271873160484737966720260389217684476157468082573n},ui={32:2166136261n,64:14695981039346656037n,128:144066263297769815596495629667062367629n,256:100029257958052580907070968620625704837092796014241193945225284501741471925557n,512:9659303129496669498009435400716310466090418745672637896108374329434462657994582932197716438449813051892206539805784495328239340083876191928701583869517785n,1024:14197795064947621068722070641403218320880622795441933960878474914617582723252296732303717722150864096521202355549365628174669108571814760471015076148029755969804077320157692458563003215304957150157403644460363550505412711285966361610267868082893823963790439336411086884584107735010676915n},fi=new globalThis.TextEncoder;function ju(t,e){let r=no[e],n=ui[e];for(let o=0;o<t.length;o++)n^=BigInt(t[o]),n=BigInt.asUintN(e,n*r);return n}function Wu(t,e,r){if(r.length===0)throw new Error("The `utf8Buffer` option must have a length greater than zero");let n=no[e],o=ui[e],s=t;for(;s.length>0;){let i=fi.encodeInto(s,r);s=s.slice(i.read);for(let a=0;a<i.written;a++)o^=BigInt(r[a]),o=BigInt.asUintN(e,o*n)}return o}function oo(t,{size:e=32,utf8Buffer:r}={}){if(!no[e])throw new Error("The `size` option must be one of 32, 64, 128, 256, 512, or 1024");if(typeof t=="string"){if(r)return Wu(t,e,r);t=fi.encode(t)}return ju(t,e)}var Be={hash:t=>Number(oo(t,{size:32})),hashV:(t,e)=>qu(Be.hash(t,e))};function qu(t){let e=t.toString(16);return e.length%2===1&&(e=`0${e}`),B(e,"base16")}var Gu=Math.LN2*Math.LN2,jt=class{seeds;bits;buffer;constructor(e={}){e.seeds!=null?this.seeds=e.seeds:this.seeds=Qu(e.hashes??8),this.bits=e.bits??1024,this.buffer=H(Math.ceil(this.bits/8))}add(e){typeof e=="string"&&(e=B(e));for(let r=0;r<this.seeds.length;r++){let o=Be.hash(e,this.seeds[r])%this.bits;this.setbit(o)}}has(e){typeof e=="string"&&(e=B(e));for(let r=0;r<this.seeds.length;r++){let o=Be.hash(e,this.seeds[r])%this.bits;if(!this.getbit(o))return!1}return!0}clear(){this.buffer.fill(0)}setbit(e){let r=Math.floor(e/8),n=e%8,o=this.buffer[r];o|=1<<n,this.buffer[r]=o}getbit(e){let r=Math.floor(e/8),n=e%8;return(this.buffer[r]&1<<n)!==0}};function li(t,e=.005){let r=Hu(t,e);return new jt(r)}function Hu(t,e=.005){let r=Math.round(-1*t*Math.log(e)/Gu),n=Math.round(r/t*Math.LN2);return{bits:r,hashes:n}}function Qu(t){let e,r,n=[];for(let o=0;o<t;o++)for(e=new D(crypto.getRandomValues(new Uint8Array(4))),n[o]=e.getUint32(0,!0),r=0;r<o;r++)if(n[o]===n[r]){o--;break}return n}var so=64,fe=class{fp;h;seed;constructor(e,r,n,o=2){if(o>so)throw new TypeError("Invalid Fingerprint Size");let s=r.hashV(e,n),i=H(o);for(let a=0;a<i.length;a++)i[a]=s[a];i.length===0&&(i[0]=7),this.fp=i,this.h=r,this.seed=n}hash(){return this.h.hash(this.fp,this.seed)}equals(e){return e?.fp instanceof Uint8Array?qe(this.fp,e.fp):!1}};function He(t,e){return Math.floor(Math.random()*(e-t))+t}var Qe=class{contents;constructor(e){this.contents=new Array(e).fill(null)}has(e){if(!(e instanceof fe))throw new TypeError("Invalid Fingerprint");return this.contents.some(r=>e.equals(r))}add(e){if(!(e instanceof fe))throw new TypeError("Invalid Fingerprint");for(let r=0;r<this.contents.length;r++)if(this.contents[r]==null)return this.contents[r]=e,!0;return!0}swap(e){if(!(e instanceof fe))throw new TypeError("Invalid Fingerprint");let r=He(0,this.contents.length-1),n=this.contents[r];return this.contents[r]=e,n}remove(e){if(!(e instanceof fe))throw new TypeError("Invalid Fingerprint");let r=this.contents.findIndex(n=>e.equals(n));return r>-1?(this.contents[r]=null,!0):!1}};var Xu=500,Pe=class{bucketSize;filterSize;fingerprintSize;buckets;count;hash;seed;constructor(e){this.filterSize=e.filterSize,this.bucketSize=e.bucketSize??4,this.fingerprintSize=e.fingerprintSize??2,this.count=0,this.buckets=[],this.hash=e.hash??Be,this.seed=e.seed??He(0,Math.pow(2,10))}add(e){typeof e=="string"&&(e=B(e));let r=new fe(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,o=(n^r.hash())%this.filterSize;if(this.buckets[n]==null&&(this.buckets[n]=new Qe(this.bucketSize)),this.buckets[o]==null&&(this.buckets[o]=new Qe(this.bucketSize)),this.buckets[n].add(r)||this.buckets[o].add(r))return this.count++,!0;let s=[n,o],i=s[He(0,s.length-1)];this.buckets[i]==null&&(this.buckets[i]=new Qe(this.bucketSize));for(let a=0;a<Xu;a++){let u=this.buckets[i].swap(r);if(u!=null&&(i=(i^u.hash())%this.filterSize,this.buckets[i]==null&&(this.buckets[i]=new Qe(this.bucketSize)),this.buckets[i].add(u)))return this.count++,!0}return!1}has(e){typeof e=="string"&&(e=B(e));let r=new fe(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,o=this.buckets[n]?.has(r)??!1;if(o)return o;let s=(n^r.hash())%this.filterSize;return this.buckets[s]?.has(r)??!1}remove(e){typeof e=="string"&&(e=B(e));let r=new fe(e,this.hash,this.seed,this.fingerprintSize),n=this.hash.hash(e,this.seed)%this.filterSize,o=this.buckets[n]?.remove(r)??!1;if(o)return this.count--,o;let s=(n^r.hash())%this.filterSize,i=this.buckets[s]?.remove(r)??!1;return i&&this.count--,i}get reliable(){return Math.floor(100*(this.count/this.filterSize))<=90}},Ku={1:.5,2:.84,4:.95,8:.98};function Ju(t=.001){return t>.002?2:t>1e-5?4:8}function io(t,e=.001){let r=Ju(e),n=Ku[r],o=Math.round(t/n),s=Math.min(Math.ceil(Math.log2(1/e)+Math.log2(2*r)),so);return{filterSize:o,bucketSize:r,fingerprintSize:s}}function hi(t,e=.005){let r=io(t,e);return new Pe(r)}var Wt=class{filterSize;bucketSize;fingerprintSize;scale;filterSeries;hash;seed;constructor(e){this.bucketSize=e.bucketSize??4,this.filterSize=e.filterSize??(1<<18)/this.bucketSize,this.fingerprintSize=e.fingerprintSize??2,this.scale=e.scale??2,this.hash=e.hash??Be,this.seed=e.seed??He(0,Math.pow(2,10)),this.filterSeries=[new Pe({filterSize:this.filterSize,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed})]}add(e){if(typeof e=="string"&&(e=B(e)),this.has(e))return!0;let r=this.filterSeries.find(n=>n.reliable);if(r==null){let n=this.filterSize*Math.pow(this.scale,this.filterSeries.length);r=new Pe({filterSize:n,bucketSize:this.bucketSize,fingerprintSize:this.fingerprintSize,hash:this.hash,seed:this.seed}),this.filterSeries.push(r)}return r.add(e)}has(e){typeof e=="string"&&(e=B(e));for(let r=0;r<this.filterSeries.length;r++)if(this.filterSeries[r].has(e))return!0;return!1}remove(e){typeof e=="string"&&(e=B(e));for(let r=0;r<this.filterSeries.length;r++)if(this.filterSeries[r].remove(e))return!0;return!1}get count(){return this.filterSeries.reduce((e,r)=>e+r.count,0)}};function di(t,e=.001,r){return new Wt({...io(t,e),...r??{}})}var Ce=class extends Error{static name="AbortError";constructor(e="The operation was aborted"){super(e),this.name="AbortError"}};var se=class extends Error{static name="InvalidParametersError";constructor(e="Invalid parameters"){super(e),this.name="InvalidParametersError"}};var xr=class extends Error{static name="MuxerClosedError";constructor(e="The muxer is closed"){super(e),this.name="MuxerClosedError"}},wr=class extends Error{static name="StreamResetError";constructor(e="The stream has been reset"){super(e),this.name="StreamResetError"}};var Ne=class extends Error{static name="StreamStateError";constructor(e="The stream is in an invalid state"){super(e),this.name="StreamStateError"}},qt=class extends Error{static name="StreamBufferError";constructor(e="The stream buffer was full"){super(e),this.name="StreamBufferError"}};var ge=class extends Event{data;constructor(e,r){super("message",r),this.data=e}},pt=class extends Event{error;local;constructor(e,r,n){super("close",n),this.error=r,this.local=e}},Er=class extends pt{constructor(e,r){super(!0,e,r)}},vr=class extends pt{constructor(e,r){super(!1,e,r)}};function Yu(t){return typeof t?.handleEvent=="function"}function Zu(t){return t===!0||t===!1}function ef(t){return Zu(t)?t:t?.capture??!1}function ao(t){let e={capture:ef(t),once:!!t?.once};return t?.passive!=null&&(e.passive=t?.passive),t?.signal!=null&&(e.signal=t?.signal),e}function mi(t,e){return ao(t).capture===ao(e).capture}var ye=class extends EventTarget{#e=new Map;constructor(){super()}listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){let o=ao(n);if(o?.signal?.aborted===!0)return;let s=l=>{o.once&&this.removeEventListener(e,r,o),Yu(r)?r.handleEvent(l):r(l)},i=this.#e.get(e);if(i==null&&(i=[],this.#e.set(e,i)),i.some(l=>l.callback!==r?!1:mi(l.options,o)))return;super.addEventListener(e,s,o);let u=()=>{this.removeEventListener(e,r,o)};o.signal?.addEventListener("abort",u),i.push({callback:r,wrapper:s,options:o,onAbort:u})}removeEventListener(e,r,n){let o=this.#e.get(e);if(o==null){super.removeEventListener(e,r??null,n);return}this.#e.set(e,o.filter(s=>s.callback===r&&mi(s.options,n)?(super.removeEventListener(e,s.wrapper,n),s.options?.signal?.removeEventListener("abort",s.onAbort),!1):!0))}safeDispatchEvent(e,r={}){return this.dispatchEvent(new CustomEvent(e,r))}};function _r(t){let e=t.getComponents(),r={},n=0;return e[n]?.name==="ip6zone"&&(r.zone=`${e[n].value}`,n++),e[n]?.name==="ip4"||e[n]?.name==="ip6"||e[n]?.name==="dns"||e[n]?.name==="dns4"||e[n]?.name==="dns6"?(r.type=e[n].name,r.host=e[n].value,n++):e[n]?.name==="dnsaddr"&&(r.type=e[n].name,r.host=`_dnsaddr.${e[n].value}`,n++),(e[n]?.name==="tcp"||e[n]?.name==="udp")&&(r.protocol=e[n].name==="tcp"?"tcp":"udp",r.port=parseInt(`${e[n].value}`),n++),e[n]?.name==="ipcidr"&&(r.type==="ip4"?r.cidr=parseInt(`${e[n].value}`):r.type==="ip6"&&(r.cidr=`${e[n].value}`),n++),r.type==null||r.host==null?null:(e[n]?.name==="tls"&&e[n+1]?.name==="sni"&&(r.sni=e[n+1].value,n+=2),r)}function le(t){let e=_r(t);if(e==null)throw new se(`Multiaddr ${t} was not an IPv4, IPv6, DNS, DNS4, DNS6 or DNSADDR address`);return e}var Sr=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}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(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,o){return this.readAtomically(()=>{let s=0,i=0,a=this.peekChar();if(a===void 0)return;let u=a==="0",l=2**(8*o)-1;for(;;){let f=this.readAtomically(()=>{let h=this.readChar();if(h===void 0)return;let p=Number.parseInt(h,e);if(!Number.isNaN(p))return p});if(f===void 0)break;if(s*=e,s+=f,s>l||(i+=1,r!==void 0&&i>r))return}if(i!==0)return!n&&u&&i>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let o=n*2;if(n<r.length-3){let i=this.readSeparator(":",n,()=>this.readIPv4Addr());if(i!==void 0)return r[o]=i[0],r[o+1]=i[1],r[o+2]=i[2],r[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];r[o]=s>>8,r[o+1]=s&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,o]=e(r);if(n===16)return r;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),i=16-(n+2),[a]=e(s.subarray(0,i));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var pi=45,tf=15,gt=new Sr;function Cr(t){if(!(t.length>tf))return gt.new(t).parseWith(()=>gt.readIPv4Addr())}function Ir(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>pi))return gt.new(t).parseWith(()=>gt.readIPv6Addr())}function yt(t,e=!1){if(t.includes("%")&&(t=t.split("%")[0]),t.length>pi)return;let r=gt.new(t).parseWith(()=>gt.readIPAddr());if(r)return e&&r.length===4?Uint8Array.from([0,0,0,0,0,0,0,0,0,0,255,255,r[0],r[1],r[2],r[3]]):r}function gi(t,e,r){let n=0;for(let o of t)if(!(n<e)){if(n>r)break;if(o!==255)return!1;n++}return!0}function yi(t,e,r,n){let o=0;for(let s of t)if(!(o<r)){if(o>n)break;if(s!==e[o])return!1;o++}return!0}function co(t){switch(t.length){case Xe:return t.join(".");case Ke:{let e=[];for(let r=0;r<t.length;r++)r%2===0&&e.push(t[r].toString(16).padStart(2,"0")+t[r+1].toString(16).padStart(2,"0"));return e.join(":")}default:throw new Error("Invalid ip length")}}function bi(t){let e=0;for(let[r,n]of t.entries()){if(n===255){e+=8;continue}for(;(n&128)!=0;)e++,n=n<<1;if((n&128)!=0)return-1;for(let o=r+1;o<t.length;o++)if(t[o]!=0)return-1;break}return e}function xi(t){let e="0x";for(let r of t)e+=(r>>4).toString(16)+(r&15).toString(16);return e}var Xe=4,Ke=16,Nm=parseInt("0xFFFF",16),rf=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Gt(t,e){e.length===Ke&&t.length===Xe&&gi(e,0,11)&&(e=e.slice(12)),e.length===Xe&&t.length===Ke&&yi(t,rf,0,11)&&(t=t.slice(12));let r=t.length;if(r!=e.length)throw new Error("Failed to mask ip");let n=new Uint8Array(r);for(let o=0;o<r;o++)n[o]=t[o]&e[o];return n}function wi(t,e){if(typeof e=="string"&&(e=yt(e)),e==null)throw new Error("Invalid ip");if(e.length!==t.network.length)return!1;for(let r=0;r<e.length;r++)if((t.network[r]&t.mask[r])!==(e[r]&t.mask[r]))return!1;return!0}function uo(t){let[e,r]=t.split("/");if(!e||!r)throw new Error("Failed to parse given CIDR: "+t);let n=Xe,o=Cr(e);if(o==null&&(n=Ke,o=Ir(e),o==null))throw new Error("Failed to parse given CIDR: "+t);let s=parseInt(r,10);if(Number.isNaN(s)||String(s).length!==r.length||s<0||s>n*8)throw new Error("Failed to parse given CIDR: "+t);let i=fo(s,8*n);return{network:Gt(o,i),mask:i}}function fo(t,e){if(e!==8*Xe&&e!==8*Ke)throw new Error("Invalid CIDR mask");if(t<0||t>e)throw new Error("Invalid CIDR mask");let r=e/8,n=new Uint8Array(r);for(let o=0;o<r;o++){if(t>=8){n[o]=255,t-=8;continue}n[o]=255-(255>>t),t=0}return n}var Ht=class{constructor(e,r){if(r==null)({network:this.network,mask:this.mask}=uo(e));else{let n=yt(e);if(n==null)throw new Error("Failed to parse network");r=String(r);let o=parseInt(r,10);if(Number.isNaN(o)||String(o).length!==r.length||o<0||o>n.length*8){let s=yt(r);if(s==null)throw new Error("Failed to parse mask");this.mask=s}else this.mask=fo(o,8*n.length);this.network=Gt(n,this.mask)}}contains(e){return wi({network:this.network,mask:this.mask},e)}toString(){let e=bi(this.mask),r=e!==-1?String(e):xi(this.mask);return co(this.network)+"/"+r}};function Lr(t,e){return new Ht(t).contains(e)}function nf(t){try{let e=le(t);return e.type==="ip6"?Lr("2000::/3",e.host):!1}catch{return!1}}function of(t){try{let e=le(t);switch(e.type){case"ip4":return e.host.startsWith("169.254.");case"ip6":return e.host.toLowerCase().startsWith("fe80");default:return!1}}catch{return!1}}function Ei(t){if(typeof t!="string"||!/^[0-9a-fA-FxX.:]+$/.test(t))return!1;let e=t.includes(":")?`[${t}]`:t,r;try{r=new URL(`http://${e}`)}catch{return!1}if(r.href!==`http://${r.hostname}/`)return!1;let n=r.hostname;if(n.startsWith("["))return n==="[::1]";let o=n.split(".");return o.length===4&&o[0]==="127"&&o.every(s=>/^\d{1,3}$/.test(s))}function Ar(t){try{let e=le(t);switch(e.type){case"ip4":case"ip6":return Ei(e.host);default:return!1}}catch{return!1}}function sf(t){return _r(t)!==null}function Me(t){return!!Cr(t)}function Fe(t){return!!Ir(t)}var Ci=Bc(Si(),1),df=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],mf=df.map(t=>new Ci.Netmask(t));function bo(t){for(let e of mf)if(e.contains(t))return!0;return!1}function pf(t){return/^::ffff:([0-9a-fA-F]{1,4}):([0-9a-fA-F]{1,4})$/.test(t)}function gf(t){let e=t.split(":");if(e.length<2)return!1;let r=e[e.length-1].padStart(4,"0"),n=e[e.length-2].padStart(4,"0"),o=`${parseInt(n.substring(0,2),16)}.${parseInt(n.substring(2),16)}.${parseInt(r.substring(0,2),16)}.${parseInt(r.substring(2),16)}`;return bo(o)}function yf(t){return/^::ffff:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)}function bf(t){let e=t.split(":"),r=e[e.length-1];return bo(r)}function xf(t){return/^::$/.test(t)||/^::1$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}function xo(t){if(Me(t))return bo(t);if(pf(t))return gf(t);if(yf(t))return bf(t);if(Fe(t))return xf(t)}function Dr(t){try{let e=le(t);switch(e.type){case"ip4":case"ip6":return xo(e.host)??!1;default:return e.host==="localhost"}}catch{return!1}}var wf=Math.pow(2,7),Ef=Math.pow(2,14),vf=Math.pow(2,21),wo=Math.pow(2,28),Eo=Math.pow(2,35),vo=Math.pow(2,42),_o=Math.pow(2,49),S=128,V=127;function j(t){if(t<wf)return 1;if(t<Ef)return 2;if(t<vf)return 3;if(t<wo)return 4;if(t<Eo)return 5;if(t<vo)return 6;if(t<_o)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function kr(t,e,r=0){switch(j(t)){case 8:e[r++]=t&255|S,t/=128;case 7:e[r++]=t&255|S,t/=128;case 6:e[r++]=t&255|S,t/=128;case 5:e[r++]=t&255|S,t/=128;case 4:e[r++]=t&255|S,t>>>=7;case 3:e[r++]=t&255|S,t>>>=7;case 2:e[r++]=t&255|S,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function _f(t,e,r=0){switch(j(t)){case 8:e.set(r++,t&255|S),t/=128;case 7:e.set(r++,t&255|S),t/=128;case 6:e.set(r++,t&255|S),t/=128;case 5:e.set(r++,t&255|S),t/=128;case 4:e.set(r++,t&255|S),t>>>=7;case 3:e.set(r++,t&255|S),t>>>=7;case 2:e.set(r++,t&255|S),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function Sf(t,e){let r=t[e],n=0;if(n+=r&V,r<S||(r=t[e+1],n+=(r&V)<<7,r<S)||(r=t[e+2],n+=(r&V)<<14,r<S)||(r=t[e+3],n+=(r&V)<<21,r<S)||(r=t[e+4],n+=(r&V)*wo,r<S)||(r=t[e+5],n+=(r&V)*Eo,r<S)||(r=t[e+6],n+=(r&V)*vo,r<S)||(r=t[e+7],n+=(r&V)*_o,r<S))return n;throw new RangeError("Could not decode varint")}function Cf(t,e){let r=t.get(e),n=0;if(n+=r&V,r<S||(r=t.get(e+1),n+=(r&V)<<7,r<S)||(r=t.get(e+2),n+=(r&V)<<14,r<S)||(r=t.get(e+3),n+=(r&V)<<21,r<S)||(r=t.get(e+4),n+=(r&V)*wo,r<S)||(r=t.get(e+5),n+=(r&V)*Eo,r<S)||(r=t.get(e+6),n+=(r&V)*vo,r<S)||(r=t.get(e+7),n+=(r&V)*_o,r<S))return n;throw new RangeError("Could not decode varint")}function Br(t,e,r=0){return e==null&&(e=J(j(t))),e instanceof Uint8Array?kr(t,e,r):_f(t,e,r)}function Ie(t,e=0){return t instanceof Uint8Array?Sf(t,e):Cf(t,e)}function If(t){return t.buffer instanceof ArrayBuffer}function So(t){return If(t)?t:t.slice()}function Oe(t,e="utf8"){let r=br[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return r.encoder.encode(t).substring(1)}var $=class extends Error{static name="InvalidMultiaddrError";name="InvalidMultiaddrError"},Le=class extends Error{static name="ValidationError";name="ValidationError"},Pr=class extends Error{static name="InvalidParametersError";name="InvalidParametersError"},Nr=class extends Error{static name="UnknownProtocolError";name="UnknownProtocolError"};function Io(t){return e=>Oe(e,t)}function Lo(t){return e=>B(e,t)}function Et(t){return new DataView(t.buffer).getUint16(t.byteOffset).toString()}function Ye(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,typeof t=="string"?parseInt(t):t),new Uint8Array(e)}function Ii(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=B(e[0],"base32"),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Ye(n);return Se([r,o],r.length+o.length)}function Li(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=pe.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Ye(n);return Se([r,o],r.length+o.length)}function Ao(t){let e=t.subarray(0,t.length-2),r=t.subarray(t.length-2),n=Oe(e,"base32"),o=Et(r);return`${n}:${o}`}var To=function(t){t=t.toString().trim();let e=new Uint8Array(4);return t.split(/\./g).forEach((r,n)=>{let o=parseInt(r,10);if(isNaN(o)||o<0||o>255)throw new $("Invalid byte value in IP address");e[n]=o}),e},Ai=function(t){let e=0;t=t.toString().trim();let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=Me(r[n]),i;s&&(i=To(r[n]),r[n]=Oe(i.subarray(0,2),"base16")),i!=null&&++n<8&&r.splice(n,0,Oe(i.subarray(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let s=[n,1];for(n=9-r.length;n>0;n--)s.push("0");r.splice.apply(r,s)}let o=new Uint8Array(e+16);for(n=0;n<r.length;n++){r[n]===""&&(r[n]="0");let s=parseInt(r[n],16);if(isNaN(s)||s<0||s>65535)throw new $("Invalid byte value in IP address");o[e++]=s>>8&255,o[e++]=s&255}return o},Ti=function(t){if(t.byteLength!==4)throw new $("IPv4 address was incorrect length");let e=[];for(let r=0;r<t.byteLength;r++)e.push(t[r]);return e.join(".")},Di=function(t){if(t.byteLength!==16)throw new $("IPv6 address was incorrect length");let e=[];for(let n=0;n<t.byteLength;n+=2){let o=t[n],s=t[n+1],i=`${o.toString(16).padStart(2,"0")}${s.toString(16).padStart(2,"0")}`;e.push(i)}let r=e.join(":");try{let n=new URL(`http://[${r}]`);return n.hostname.substring(1,n.hostname.length-1)}catch{throw new $(`Invalid IPv6 address "${r}"`)}};function ki(t){try{let e=new URL(`http://[${t}]`);return e.hostname.substring(1,e.hostname.length-1)}catch{throw new $(`Invalid IPv6 address "${t}"`)}}var Co=Object.values(Vt).map(t=>t.decoder),Lf=(function(){let t=Co[0].or(Co[1]);return Co.slice(2).forEach(e=>t=t.or(e)),t})();function Bi(t){return Lf.decode(t)}function Pi(t){return e=>t.encoder.encode(e)}function Af(t){if(parseInt(t).toString()!==t)throw new Le("Value must be an integer")}function Tf(t){if(t<0)throw new Le("Value must be a positive integer, or zero")}function Df(t){return e=>{if(e>t)throw new Le(`Value must be smaller than or equal to ${t}`)}}function kf(...t){return e=>{for(let r of t)r(e)}}var Xt=kf(Af,Tf,Df(65535));var M=-1,Do=class{protocolsByCode=new Map;protocolsByName=new Map;getProtocol(e){let r;if(typeof e=="string"?r=this.protocolsByName.get(e):r=this.protocolsByCode.get(e),r==null)throw new Nr(`Protocol ${e} was unknown`);return r}addProtocol(e){this.protocolsByCode.set(e.code,e),this.protocolsByName.set(e.name,e),e.aliases?.forEach(r=>{this.protocolsByName.set(r,e)})}removeProtocol(e){let r=this.protocolsByCode.get(e);r!=null&&(this.protocolsByCode.delete(r.code),this.protocolsByName.delete(r.name),r.aliases?.forEach(n=>{this.protocolsByName.delete(n)}))}},Te=new Do,qf=[{code:4,name:"ip4",size:32,valueToBytes:To,bytesToValue:Ti,validate:t=>{if(!Me(t))throw new Le(`Invalid IPv4 address "${t}"`)}},{code:6,name:"tcp",size:16,valueToBytes:Ye,bytesToValue:Et,validate:Xt},{code:273,name:"udp",size:16,valueToBytes:Ye,bytesToValue:Et,validate:Xt},{code:33,name:"dccp",size:16,valueToBytes:Ye,bytesToValue:Et,validate:Xt},{code:41,name:"ip6",size:128,valueToBytes:Ai,bytesToValue:Di,stringToValue:ki,validate:t=>{if(!Fe(t))throw new Le(`Invalid IPv6 address "${t}"`)}},{code:42,name:"ip6zone",size:M},{code:43,name:"ipcidr",size:8,bytesToValue:Io("base10"),valueToBytes:Lo("base10")},{code:53,name:"dns",size:M},{code:54,name:"dns4",size:M},{code:55,name:"dns6",size:M},{code:56,name:"dnsaddr",size:M},{code:132,name:"sctp",size:16,valueToBytes:Ye,bytesToValue:Et,validate:Xt},{code:301,name:"udt"},{code:302,name:"utp"},{code:400,name:"unix",size:M,stringToValue:t=>decodeURIComponent(t),valueToString:t=>encodeURIComponent(t)},{code:421,name:"p2p",aliases:["ipfs"],size:M,bytesToValue:Io("base58btc"),valueToBytes:t=>t.startsWith("Q")||t.startsWith("1")?Lo("base58btc")(t):mt.parse(t).multihash.bytes},{code:444,name:"onion",size:96,bytesToValue:Ao,valueToBytes:Ii},{code:445,name:"onion3",size:296,bytesToValue:Ao,valueToBytes:Li},{code:446,name:"garlic64",size:M},{code:447,name:"garlic32",size:M},{code:448,name:"tls"},{code:449,name:"sni",size:M},{code:454,name:"noise"},{code:460,name:"quic"},{code:461,name:"quic-v1"},{code:465,name:"webtransport"},{code:466,name:"certhash",size:M,bytesToValue:Pi(Gn),valueToBytes:Bi},{code:480,name:"http"},{code:481,name:"http-path",size:M,stringToValue:t=>`/${decodeURIComponent(t)}`,valueToString:t=>encodeURIComponent(t.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:M}];qf.forEach(t=>{Te.addProtocol(t)});function Ni(t){let e=[],r=0;for(;r<t.length;){let n=Ie(t,r),o=Te.getProtocol(n),s=j(n),i=Gf(o,t,r+s),a=0;i>0&&o.size===M&&(a=j(i));let u=s+a+i,l={code:n,name:o.name,bytes:So(t.subarray(r,r+u))};if(i>0){let f=r+s+a,h=t.subarray(f,f+i);l.value=o.bytesToValue?.(h)??Oe(h)}e.push(l),r+=u}return e}function Mi(t){let e=0,r=[];for(let n of t){if(n.bytes==null){let o=Te.getProtocol(n.code),s=j(n.code),i,a=0,u=0;n.value!=null&&(i=o.valueToBytes?.(n.value)??B(n.value),a=i.byteLength,o.size===M&&(u=j(a)));let l=new Uint8Array(s+u+a),f=0;kr(n.code,l,f),f+=s,i!=null&&(o.size===M&&(kr(a,l,f),f+=u),l.set(i,f)),n.bytes=l}r.push(n.bytes),e+=n.bytes.byteLength}return Se(r,e)}function Fi(t){if(t.charAt(0)!=="/")throw new $('String multiaddr must start with "/"');let e=[],r="protocol",n="",o="";for(let s=1;s<t.length;s++){let i=t.charAt(s);i!=="/"&&(r==="protocol"?o+=t.charAt(s):n+=t.charAt(s));let a=s===t.length-1;if(i==="/"||a){let u=Te.getProtocol(o);if(r==="protocol"){if(u.size==null||u.size===0){e.push({code:u.code,name:u.name}),n="",o="",r="protocol";continue}else if(a)throw new $(`Component ${o} was missing value`);r="value"}else if(r==="value"){let l={code:u.code,name:u.name};if(u.size!=null&&u.size!==0){if(n==="")throw new $(`Component ${o} was missing value`);l.value=u.stringToValue?.(n)??n}e.push(l),n="",o="",r="protocol"}}}if(o!==""&&n!=="")throw new $("Incomplete multiaddr");return e}function Ui(t){return`/${t.flatMap(e=>{if(e.value==null)return e.name;let r=Te.getProtocol(e.code);if(r==null)throw new $(`Unknown protocol code ${e.code}`);return[e.name,r.valueToString?.(e.value)??e.value]}).join("/")}`}function Gf(t,e,r){return t.size==null||t.size===0?0:t.size>0?t.size/8:Ie(e,r)}var Hf=Symbol.for("nodejs.util.inspect.custom"),Wo=Symbol.for("@multiformats/multiaddr");function Qf(t){if(t==null&&(t="/"),Oi(t))return t.getComponents();if(t instanceof Uint8Array)return Ni(t);if(typeof t=="string")return t=t.replace(/\/(\/)+/,"/").replace(/(\/)+$/,""),t===""&&(t="/"),Fi(t);if(Array.isArray(t))return t;throw new $("Must be a string, Uint8Array, Component[], or another Multiaddr")}var jr=class t{[Wo]=!0;#e;#t;#r;constructor(e="/",r={}){this.#e=Qf(e),r.validate!==!1&&Xf(this)}get bytes(){return this.#r==null&&(this.#r=Mi(this.#e)),this.#r}toString(){return this.#t==null&&(this.#t=Ui(this.#e)),this.#t}toJSON(){return this.toString()}getComponents(){return[...this.#e.map(e=>({...e}))]}encapsulate(e){let r=new t(e);return new t([...this.#e,...r.getComponents()],{validate:!1})}decapsulate(e){let r=e.toString(),n=this.toString(),o=n.lastIndexOf(r);if(o<0)throw new Pr(`Address ${this.toString()} does not contain subaddress: ${r}`);return new t(n.slice(0,o),{validate:!1})}decapsulateCode(e){let r;for(let n=this.#e.length-1;n>-1;n--)if(this.#e[n].code===e){r=n;break}return new t(this.#e.slice(0,r),{validate:!1})}equals(e){return qe(this.bytes,e.bytes)}[Hf](){return`Multiaddr(${this.toString()})`}};function Xf(t){t.getComponents().forEach(e=>{let r=Te.getProtocol(e.code);e.value!=null&&r.validate?.(e.value)})}function Oi(t){return!!t?.[Wo]}function Re(t){return new jr(t)}var L=t=>({match:e=>{let r=e[0];return r==null||r.code!==t||r.value!=null?!1:e.slice(1)}}),y=(t,e)=>({match:r=>{let n=r[0];return n?.code!==t||n.value==null||e!=null&&n.value!==e?!1:r.slice(1)}}),Ri=t=>({match:e=>t.match(e)===!1?e:!1}),E=t=>({match:e=>{let r=t.match(e);return r===!1?e:r}}),W=(...t)=>({match:e=>{let r;for(let n of t){let o=n.match(e);o!==!1&&(r==null||o.length<r.length)&&(r=o)}return r??!1}}),v=(...t)=>({match:e=>{for(let r of t){let n=r.match(e);if(n===!1)return!1;e=n}return e}});function A(...t){function e(o){if(o==null)return!1;let s=o.getComponents();for(let i of t){let a=i.match(s);if(a===!1)return!1;s=a}return s}function r(o){return e(o)!==!1}function n(o){let s=e(o);return s===!1?!1:s.length===0}return{matchers:t,matches:r,exactMatch:n}}var Kf=y(421),Lg=A(Kf),qr=y(54),Gr=y(55),Hr=y(56),Go=y(53),Ag=A(qr,E(y(421))),Tg=A(Gr,E(y(421))),Dg=A(Hr,E(y(421))),kg=A(W(Go,Hr,qr,Gr),E(y(421))),$i=v(y(4),E(y(43))),zi=v(E(y(42)),y(41),E(y(43))),Ho=W($i,zi),Ct=W(Ho,Go,qr,Gr,Hr),Bg=A(W(Ho,v(W(Go,Hr,qr,Gr),E(y(421))))),Pg=A($i),Ng=A(zi),Mg=A(Ho),Qo=v(Ct,y(6)),Kt=v(Ct,y(273)),Xo=A(v(Qo,E(y(421)))),Fg=A(Kt),Ko=v(Kt,L(460),E(y(421))),Qr=v(Kt,L(461),E(y(421))),Jf=W(Ko,Qr),Ug=A(Ko),Og=A(Qr),qo=W(Ct,Qo,Kt,Ko,Qr),Vi=W(v(qo,L(477),E(y(421)))),Jo=A(Vi),ji=W(v(qo,L(478),E(y(421))),v(qo,L(448),E(y(449)),L(477),E(y(421)))),Yo=A(ji),Wi=v(Kt,L(280),E(y(466)),E(y(466)),E(y(421))),Zo=A(Wi),qi=v(Qr,L(465),E(y(466)),E(y(466)),E(y(421))),es=A(qi),Wr=W(Vi,ji,v(Qo,E(y(421))),v(Jf,E(y(421))),v(Ct,E(y(421))),Wi,qi,y(421)),Rg=A(Wr),Yf=v(E(Wr),L(290),Ri(L(281)),E(y(421))),ts=A(Yf),Zf=W(v(Wr,L(290),L(281),E(y(421))),v(Wr,L(281),E(y(421))),v(L(281),E(y(421)))),rs=A(Zf),el=v(Ct,W(v(y(6,"80")),v(y(6),L(480)),L(480)),E(y(481)),E(y(421))),$g=A(el),tl=v(Ct,W(v(y(6,"443")),v(y(6,"443"),L(480)),v(y(6),L(443)),v(y(6),L(448),L(480)),v(L(448),L(480)),L(448),L(443)),E(y(481)),E(y(421))),zg=A(tl),rl=W(v(y(777),E(y(421)))),Vg=A(rl),nl=W(v(y(400),E(y(421)))),jg=A(nl);function Gi(t,e){let r=Xo.exactMatch(t),n=Xo.exactMatch(e);if(r&&!n)return-1;if(!r&&n)return 1;let o=Yo.exactMatch(t),s=Yo.exactMatch(e);if(o&&!s)return-1;if(!o&&s)return 1;let i=Jo.exactMatch(t),a=Jo.exactMatch(e);if(i&&!a)return-1;if(!i&&a)return 1;let u=rs.exactMatch(t),l=rs.exactMatch(e);if(u&&!l)return-1;if(!u&&l)return 1;let f=Zo.exactMatch(t),h=Zo.exactMatch(e);if(f&&!h)return-1;if(!f&&h)return 1;let p=es.exactMatch(t),x=es.exactMatch(e);return p&&!x?-1:!p&&x?1:0}function Hi(t,e){let r=Ar(t),n=Ar(e);return r&&!n?1:!r&&n?-1:0}function Qi(t,e){let r=Dr(t),n=Dr(e);return r&&!n?1:!r&&n?-1:0}function Xi(t,e){let r=ts.exactMatch(t),n=ts.exactMatch(e);return r&&!n?1:!r&&n?-1:0}function ol(t){return t.sort((e,r)=>Hi(e,r)||Qi(e,r)||Xi(e,r)||Gi(e,r))}function he(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var Xr=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||(e-1&e)!==0)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},It=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Xr(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new Xr(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var ns=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function xe(t={}){return sl(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function sl(t,e){e=e??{};let r=e.onEnd,n=new It,o,s,i,a=he(),u=async()=>{try{return n.isEmpty()?i?{done:!0}:await new Promise((w,b)=>{s=I=>{s=null,n.push(I);try{w(t(n))}catch(k){b(k)}return o}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=he()})}},l=w=>s!=null?s(w):(n.push(w),o),f=w=>(n=new It,s!=null?s({error:w}):(n.push({error:w}),o)),h=w=>{if(i)return o;if(e?.objectMode!==!0&&w?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return l({done:!1,value:w})},p=w=>i?o:(i=!0,w!=null?f(w):l({done:!0})),x=()=>(n=new It,p(),{done:!0}),ae=w=>(p(w),{done:!0});if(o={[Symbol.asyncIterator](){return this},next:u,return:x,throw:ae,push:h,end:p,get readableLength(){return n.size},onEmpty:async w=>{let b=w?.signal;if(b?.throwIfAborted(),n.isEmpty())return;let I,k;b!=null&&(I=new Promise((G,R)=>{k=()=>{R(new ns)},b.addEventListener("abort",k)}));try{await Promise.race([a.promise,I])}finally{k!=null&&b!=null&&b?.removeEventListener("abort",k)}}},r==null)return o;let q=o;return o={[Symbol.asyncIterator](){return this},next(){return q.next()},throw(w){return q.throw(w),r!=null&&(r(w),r=void 0),{done:!0}},return(){return q.return(),r!=null&&(r(),r=void 0),{done:!0}},push:h,end(w){return q.end(w),r!=null&&(r(w),r=void 0),o},get readableLength(){return q.readableLength},onEmpty:w=>q.onEmpty(w)},o}var os=class t extends Error{name="TimeoutError";constructor(e,r){super(e,r),Error.captureStackTrace?.(this,t)}},Ki=t=>t.reason??new DOMException("This operation was aborted.","AbortError");function ss(t,e){let{milliseconds:r,fallback:n,message:o,customTimers:s={setTimeout,clearTimeout},signal:i}=e,a,u,f=new Promise((h,p)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(i?.aborted){p(Ki(i));return}if(i&&(u=()=>{p(Ki(i))},i.addEventListener("abort",u,{once:!0})),t.then(h,p),r===Number.POSITIVE_INFINITY)return;let x=new os;a=s.setTimeout.call(void 0,()=>{if(n){try{h(n())}catch(ae){p(ae)}return}typeof t.cancel=="function"&&t.cancel(),o===!1?h():o instanceof Error?p(o):(x.message=o??`Promise timed out after ${r} milliseconds`,p(x))},r)}).finally(()=>{f.clear(),u&&i&&i.removeEventListener("abort",u)});return f.clear=()=>{s.clearTimeout.call(void 0,a),a=void 0},f}var il=t=>{let e=t.addEventListener||t.on||t.addListener,r=t.removeEventListener||t.off||t.removeListener;if(!e||!r)throw new TypeError("Emitter is not compatible");return{addListener:e.bind(t),removeListener:r.bind(t)}};function al(t,e,r){let n,o=new Promise((s,i)=>{if(r={rejectionEvents:["error"],multiArgs:!1,rejectionMultiArgs:!1,resolveImmediately:!1,...r},!(r.count>=0&&(r.count===Number.POSITIVE_INFINITY||Number.isInteger(r.count))))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();let a=[e].flat(),u=[],{addListener:l,removeListener:f}=il(t),h=async(...x)=>{let ae=r.multiArgs?x:x[0];if(r.filter)try{if(!await r.filter(ae))return}catch(q){n(),i(q);return}u.push(ae),r.count===u.length&&(n(),s(u))},p=(...x)=>{n(),i(r.rejectionMultiArgs?x:x[0])};n=()=>{for(let x of a)f(x,h);for(let x of r.rejectionEvents)a.includes(x)||f(x,p)};for(let x of a)l(x,h);for(let x of r.rejectionEvents)a.includes(x)||l(x,p);r.signal&&r.signal.addEventListener("abort",()=>{p(r.signal.reason)},{once:!0}),r.resolveImmediately&&s(u)});if(o.cancel=n,typeof r.timeout=="number"){let s=ss(o,{milliseconds:r.timeout});return s.cancel=()=>{n(),s.clear()},s}return o}function F(t,e,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=al(t,e,r),o=n.then(s=>s[0]);return o.cancel=n.cancel,o}function Lt(t,e){let r,n=function(){let o=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(o,e)};return n.start=()=>{},n.stop=()=>{clearTimeout(r)},n}var Jt=class extends Error{remainingPoints;msBeforeNext;consumedPoints;isFirstInDuration;constructor(e="Rate limit exceeded",r){super(e),this.name="RateLimitError",this.remainingPoints=r.remainingPoints,this.msBeforeNext=r.msBeforeNext,this.consumedPoints=r.consumedPoints,this.isFirstInDuration=r.isFirstInDuration}},Yt=class extends Error{static name="QueueFullError";constructor(e="The queue was full"){super(e),this.name="QueueFullError"}},$e=class extends Error{static name="UnexpectedEOFError";name="UnexpectedEOFError"},Zt=class extends Error{static name="MaxEarlyStreamsError";name="MaxEarlyStreamsError"},er=class extends Error{static name="StreamClosedError";name="StreamClosedError"};function cl(t){return t.reason}function U(t,e,r){if(e==null||t==null)return t;let n=r?.translateError??cl;if(e.aborted)return t.catch(()=>{}),Promise.reject(n(e));let o;return Promise.race([t,new Promise((s,i)=>{o=()=>{i(n(e))},e.addEventListener("abort",o)})]).finally(()=>{o!=null&&e.removeEventListener("abort",o)})}var Kr=class{deferred;signal;onProgress;constructor(e){this.signal=e?.signal,this.onProgress=e?.onProgress,this.deferred=he(),this.onAbort=this.onAbort.bind(this),this.signal?.addEventListener("abort",this.onAbort)}onAbort(){this.deferred.reject(this.signal?.reason??new Ce)}cleanup(){this.signal?.removeEventListener("abort",this.onAbort)}};function ul(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var Jr=class{id;fn;options;recipients;status;timeline;controller;dispatchingProgress;constructor(e,r){this.id=ul(),this.status="queued",this.fn=e,this.options=r,this.recipients=[],this.timeline={created:Date.now()},this.controller=new AbortController,this.controller.signal,this.dispatchingProgress=!1,this.onAbort=this.onAbort.bind(this)}abort(e){this.controller.abort(e)}onAbort(){this.recipients.reduce((r,n)=>r&&n.signal?.aborted===!0,!0)&&(this.controller.abort(new Ce),this.cleanup())}async join(e){let r=new Kr(e);return this.recipients.push(r),e?.signal?.addEventListener("abort",this.onAbort),r.deferred.promise}async run(){this.status="running",this.timeline.started=Date.now();try{this.controller.signal.throwIfAborted();let e=await U(this.fn({...this.options??{},signal:this.controller.signal,onProgress:r=>{if(!this.dispatchingProgress){this.dispatchingProgress=!0;try{this.recipients.forEach(n=>{n.onProgress?.(r)})}finally{this.dispatchingProgress=!1}}}}),this.controller.signal);this.recipients.forEach(r=>{r.deferred.resolve(e)}),this.status="complete"}catch(e){this.recipients.forEach(r=>{r.deferred.reject(e)}),this.status="errored"}finally{this.timeline.finished=Date.now(),this.cleanup()}}cleanup(){this.recipients.forEach(e=>{e.cleanup(),e.signal?.removeEventListener("abort",this.onAbort)})}};var de=class extends ye{concurrency;maxSize;queue;pending;sort;paused;constructor(e={}){super(),this.concurrency=e.concurrency??Number.POSITIVE_INFINITY,this.maxSize=e.maxSize??Number.POSITIVE_INFINITY,this.pending=0,this.paused=!1,e.metricName!=null&&e.metrics?.registerMetricGroup(e.metricName,{calculate:()=>({size:this.queue.length,running:this.pending,queued:this.queue.length-this.pending})}),this.sort=e.sort,this.queue=[],this.emitEmpty=Lt(this.emitEmpty.bind(this),1),this.emitIdle=Lt(this.emitIdle.bind(this),1)}emitEmpty(){this.size===0&&this.safeDispatchEvent("empty")}emitIdle(){this.running===0&&this.safeDispatchEvent("idle")}pause(){this.paused=!0}resume(){this.paused&&(this.paused=!1,this.tryToStartAnother())}tryToStartAnother(){if(this.paused)return!1;if(this.size===0)return this.emitEmpty(),this.running===0&&this.emitIdle(),!1;if(this.pending<this.concurrency){let e;for(let r of this.queue)if(r.status==="queued"){e=r;break}return e==null?!1:(this.safeDispatchEvent("active"),this.pending++,e.run().finally(()=>{for(let r=0;r<this.queue.length;r++)if(this.queue[r]===e){this.queue.splice(r,1);break}this.pending--,this.tryToStartAnother(),this.safeDispatchEvent("next")}),!0)}return!1}enqueue(e){this.queue.push(e),this.sort!=null&&this.queue.sort(this.sort)}async add(e,r){if(r?.signal?.throwIfAborted(),this.size===this.maxSize)throw new Yt;let n=new Jr(e,r);this.enqueue(n),this.safeDispatchEvent("add");let o=n.join(r).then(s=>(this.safeDispatchEvent("completed",{detail:s}),this.safeDispatchEvent("success",{detail:{job:n,result:s}}),s)).catch(s=>{if(n.status==="queued"){for(let i=0;i<this.queue.length;i++)if(this.queue[i]===n){this.queue.splice(i,1);break}}throw this.safeDispatchEvent("failure",{detail:{job:n,error:s}}),s});return this.tryToStartAnother(),o}clear(){this.queue.splice(0,this.queue.length)}abort(){this.queue.forEach(e=>{e.abort(new Ce)}),this.clear()}async onEmpty(e){this.size!==0&&await F(this,"empty",e)}async onSizeLessThan(e,r){this.size<e||await F(this,"next",{...r,filter:()=>this.size<e})}async onIdle(e){this.pending===0&&this.size===0||await F(this,"idle",e)}get size(){return this.queue.length}get queued(){return this.queue.length-this.pending}get running(){return this.pending}async*toGenerator(e){e?.signal?.throwIfAborted();let r=xe({objectMode:!0}),n=u=>{u!=null?this.abort():this.clear(),r.end(u)},o=u=>{u.detail!=null&&r.push(u.detail)},s=u=>{n(u.detail.error)},i=()=>{n()},a=()=>{n(new Ce("Queue aborted"))};this.addEventListener("completed",o),this.addEventListener("failure",s),this.addEventListener("idle",i),e?.signal?.addEventListener("abort",a);try{yield*r}finally{this.removeEventListener("completed",o),this.removeEventListener("failure",s),this.removeEventListener("idle",i),e?.signal?.removeEventListener("abort",a),n()}}};var fl=Math.pow(2,20)*4,et=class extends ye{status;timeline;inactivityTimeout;maxReadBufferLength;maxWriteBufferLength;log;direction;maxMessageSize;readStatus;writeStatus;remoteReadStatus;remoteWriteStatus;writableNeedsDrain;readBuffer;writeBuffer;sendingData;onDrainPromise;constructor(e){super(),this.status="open",this.log=e.log,this.direction=e.direction??"outbound",this.inactivityTimeout=e.inactivityTimeout??12e4,this.maxReadBufferLength=e.maxReadBufferLength??fl,this.maxWriteBufferLength=e.maxWriteBufferLength,this.maxMessageSize=e.maxMessageSize,this.readBuffer=new D,this.writeBuffer=new D,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 r=()=>{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",r);let n=o=>{this.onDrainPromise?.reject(o.error??new er)};this.addEventListener("close",n)}get readBufferLength(){return this.readBuffer.byteLength}get writeBufferLength(){return this.writeBuffer.byteLength}async onDrain(e){return this.writableNeedsDrain!==!0?Promise.resolve():(this.onDrainPromise==null&&(this.onDrainPromise=Promise.withResolvers()),U(this.onDrainPromise.promise,e?.signal))}async*[Symbol.asyncIterator](){if(this.readStatus!=="readable"&&this.readStatus!=="paused")return;let e=xe(),r=s=>{e.push(s.data)};this.addEventListener("message",r);let n=s=>{e.end(s.error)};this.addEventListener("close",n);let o=()=>{e.end()};this.addEventListener("remoteCloseWrite",o);try{yield*e}finally{this.removeEventListener("message",r),this.removeEventListener("close",n),this.removeEventListener("remoteCloseWrite",o)}}isReadable(){return this.status==="open"}send(e){if(this.writeStatus==="closed"||this.writeStatus==="closing")throw new Ne(`Cannot write to a stream that is ${this.writeStatus}`);return this.log.trace("append %d bytes to write buffer",e.byteLength),this.writeBuffer.append(e),this.processSendQueue()}abort(e){if(!(this.status==="aborted"||this.status==="reset"||this.status==="closed")){this.log.error("abort with error - %e",e),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(e)}catch(r){this.log("failed to send reset to remote - %e",r)}this.dispatchEvent(new Er(e))}}pause(){if(this.readStatus==="closed"||this.readStatus==="closing")throw new Ne("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 Ne("Cannot resume a stream that is closing/closed");this.readStatus!=="readable"&&(this.readStatus="readable",this.dispatchReadBuffer(),this.sendResume())}push(e){if(this.readStatus==="closed"||this.readStatus==="closing")throw new Ne(`Cannot push data onto a stream that is ${this.readStatus}`);if(e.byteLength!==0){if(this.readBuffer.append(e),this.readStatus==="paused"||this.listenerCount("message")===0){this.checkReadBufferLength();return}setTimeout(()=>{this.dispatchReadBuffer()},0)}}unshift(e){if(this.readStatus==="closed"||this.readStatus==="closing")throw new Ne(`Cannot push data onto a stream that is ${this.readStatus}`);if(e.byteLength!==0){if(this.readBuffer.prepend(e),this.readStatus==="paused"||this.listenerCount("message")===0){this.checkReadBufferLength();return}setTimeout(()=>{this.dispatchReadBuffer()},0)}}onData(e){if(e.byteLength!==0){if(this.readStatus==="closing"||this.readStatus==="closed"){this.log("ignoring data - read status %s",this.readStatus);return}this.readBuffer.append(e),this.dispatchReadBuffer()}}addEventListener(...e){super.addEventListener.apply(this,e),e[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 e=new wr;this.dispatchEvent(new vr(e))}onTransportClosed(e){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"),e!=null?this.abort(e):(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 pt))}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 e=!0,r=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){e=!1;break}let s=this.writeBuffer.sublist(0,o),i=new D(s);this.writeBuffer.consume(s.byteLength);let a;try{a=this.sendData(s)}catch(u){throw this.writeBuffer.prepend(i),this.abort(u),u}if(e=a.canSendMore,n+=a.sentBytes,a.sentBytes!==i.byteLength&&(i.consume(a.sentBytes),this.writeBuffer.prepend(i)),!e)break}return e||(this.log.trace("sent %d/%d bytes, pausing sending because underlying stream is full, %d bytes left in the write buffer",n,r,this.writeBuffer.byteLength),this.writableNeedsDrain=!0,this.checkWriteBufferLength()),this.writeBuffer.byteLength===0&&this.safeDispatchEvent("idle"),e}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 e=this.readBuffer.sublist();this.readBuffer.consume(e.byteLength),this.dispatchEvent(new ge(e))}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 qt(`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 qt(`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 tr=class extends et{remoteAddr;metricPrefix;metrics;constructor(e){super(e),this.metricPrefix=e.metricPrefix??"",this.metrics=e.metrics,this.remoteAddr=e.remoteAddr,this.addEventListener("close",r=>{this.metrics?.increment({[`${this.metricPrefix}end`]:!0}),r.error!=null?r.local?this.metrics?.increment({[`${this.metricPrefix}abort`]:!0}):this.metrics?.increment({[`${this.metricPrefix}reset`]:!0}):r.local?this.metrics?.increment({[`${this.metricPrefix}_local_close`]:!0}):this.metrics?.increment({[`${this.metricPrefix}_remote_close`]:!0})})}async close(e){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 F(this,"idle",{...e,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 F(this,"drain",{...e,rejectionEvents:["close"]})),await this.sendClose(e),this.onTransportClosed())}};function is(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}var rr=class extends ye{streams;protocol;status;log;maConn;streamOptions;earlyStreams;maxEarlyStreams;metrics;constructor(e,r){super(),this.maConn=e,this.protocol=r.protocol,this.streams=[],this.earlyStreams=[],this.status="open",this.log=e.log.newScope(r.name),this.streamOptions=r.streamOptions,this.maxEarlyStreams=r.maxEarlyStreams??10,this.metrics=r.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(e){let r=this.maConn.send(e);return r===!1&&(this.log("underlying stream saturated, signal %d streams to pause writing",this.streams.length),this.streams.forEach(n=>{n.onMuxerNeedsDrain()})),r}async close(e){this.status==="closed"||this.status==="closing"||(this.status="closing",await U(Promise.all([...this.streams].map(async r=>{await r.close(e)})),e?.signal),this.status="closed")}abort(e){this.status!=="closed"&&(this.status="closing",[...this.streams].forEach(r=>{r.abort(e)}),this.status="closed")}onTransportClosed(e){this.status="closing";try{[...this.streams].forEach(r=>{r.onTransportClosed(e)})}catch(r){this.abort(r)}this.status="closed"}async createStream(e){if(this.status!=="open")throw new xr;let r=this.onCreateStream({...this.streamOptions,...e});return is(r)&&(r=await r),this.streams.push(r),this.cleanUpStream(r),r}onRemoteStream(e){if(this.streams.push(e),this.cleanUpStream(e),this.listenerCount("stream")===0){this.earlyStreams.push(e),this.earlyStreams.length>this.maxEarlyStreams&&this.abort(new Zt(`Too many early streams were opened - ${this.earlyStreams.length}/${this.maxEarlyStreams}`));return}this.safeDispatchEvent("stream",{detail:e})}cleanUpStream(e){let r=n=>{let o=this.streams.findIndex(s=>s===e);o!==-1&&this.streams.splice(o,1),n.error!=null?n.local?this.metrics?.increment({[`${e.direction}_stream_reset`]:!0}):this.metrics?.increment({[`${e.direction}_stream_abort`]:!0}):this.metrics?.increment({[`${e.direction}_stream_end`]:!0})};e.addEventListener("close",r),this.metrics?.increment({[`${e.direction}_stream`]:!0})}addEventListener(...e){super.addEventListener.apply(this,e),e[0]==="stream"&&this.earlyStreams.length>0&&queueMicrotask(()=>{this.earlyStreams.forEach(r=>{this.safeDispatchEvent("stream",{detail:r})}),this.earlyStreams=[]})}};var tt=class extends et{id;protocol;constructor(e){super(e),this.id=e.id,this.protocol=e.protocol??""}async close(e){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 F(this,"idle",{...e,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 F(this,"drain",{...e,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(e),this.writeStatus="closed",this.log("closed writable end gracefully"),this.remoteWriteStatus==="closed"&&this.onTransportClosed())}async closeRead(e){this.readStatus==="closing"||this.readStatus==="closed"||(this.readBuffer.byteLength>0&&this.readBuffer.consume(this.readBuffer.byteLength),this.readStatus="closing",await this.sendCloseRead(e),this.readStatus="closed",this.log("closed readable end gracefully"))}};function Yr(t){let e=new globalThis.AbortController;function r(){let s=t.filter(i=>i?.aborted===!0).map(i=>i?.reason).pop();e.abort(s);for(let i of t)i?.removeEventListener!=null&&i.removeEventListener("abort",r)}for(let s of t){if(s?.aborted===!0){r();break}s?.addEventListener!=null&&s.addEventListener("abort",r)}function n(){for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}let o=e.signal;return o.clear=n,o}var rt=class{movingAverage;variance;deviation;forecast;timeSpan;previousTime;constructor(e){this.timeSpan=e,this.movingAverage=0,this.variance=0,this.deviation=0,this.forecast=0}alpha(e,r){return 1-Math.exp(-(e-r)/this.timeSpan)}push(e,r=Date.now()){if(this.previousTime!=null){let n=this.alpha(r,this.previousTime),o=e-this.movingAverage,s=n*o;this.movingAverage=n*e+(1-n)*this.movingAverage,this.variance=(1-n)*(this.variance+o*s),this.deviation=Math.sqrt(this.variance),this.forecast=this.movingAverage+n*o}else this.movingAverage=e;this.previousTime=r}};var Ji=1.2,Yi=2,Zi=5e3,ea=6e4,ta=5e3,as=class{success;failure;next;metric;timeoutMultiplier;failureMultiplier;minTimeout;maxTimeout;constructor(e={}){let r=e.interval??ta;this.success=new rt(r),this.failure=new rt(r),this.next=new rt(r),this.failureMultiplier=e.failureMultiplier??Yi,this.timeoutMultiplier=e.timeoutMultiplier??Ji,this.minTimeout=e.minTimeout??Zi,this.maxTimeout=e.maxTimeout??ea,e.metricName!=null&&(this.metric=e.metrics?.registerMetricGroup(e.metricName))}getTimeoutSignal(e={}){let r=Math.round(this.next.movingAverage*(e.timeoutFactor??this.timeoutMultiplier));r<this.minTimeout&&(r=this.minTimeout),r>this.maxTimeout&&(r=this.maxTimeout);let n=AbortSignal.timeout(r),o=Yr([e.signal,n]);return o.start=Date.now(),o.timeout=r,o}cleanUp(e){e.clear();let r=Date.now()-e.start;e.aborted?(this.failure.push(r),this.next.push(r*this.failureMultiplier),this.metric?.update({failureMovingAverage:this.failure.movingAverage,failureDeviation:this.failure.deviation,failureForecast:this.failure.forecast,failureVariance:this.failure.variance,failure:r})):(this.success.push(r),this.next.push(r),this.metric?.update({successMovingAverage:this.success.movingAverage,successDeviation:this.success.deviation,successForecast:this.success.forecast,successVariance:this.success.variance,success:r}))}};function ra(t,e,r){let n=[t.type,r??t.host];if(t.protocol!=null){let o=e??t.port;o!=null&&n.push(t.protocol,o)}return t.type==="ip6"&&t.zone!=null&&n.unshift("ip6zone",t.zone),t.cidr!=null&&n.push("ipcidr",t.cidr),Re(`/${n.join("/")}`)}function ll(t,e){if(t==null)return[];let r=le(t);return[ra(r,e)]}function hl(t){return Fe(t)?Lr("2000::/3",t):!1}function dl(t,e){if(typeof t!="string")throw new se(`invalid ip provided: ${t}`);if(typeof e=="string"&&(e=parseInt(e)),isNaN(e))throw new se(`invalid port provided: ${e}`);if(Me(t))return Re(`/ip4/${t}/tcp/${e}`);if(Fe(t))return Re(`/ip6/${t}/tcp/${e}`);throw new se(`invalid ip:port for creating a multiaddr: ${t}:${e}`)}function ml(t){return t==null||typeof t?.[Symbol.asyncIterator]!="function"?!1:typeof t.next=="function"}function pl(t){return t==null||typeof t?.[Symbol.iterator]!="function"?!1:typeof t.next=="function"}var cs=class{readNext;haveNext;ended;nextResult;error;constructor(){this.ended=!1,this.readNext=he(),this.haveNext=he()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("HaveNext promise resolved but nextResult was undefined");let e=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=he(),e}async throw(e){return this.ended=!0,this.error=e,e!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(e)),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return this.ended=!0,this.nextResult=e,this.haveNext.resolve(),e}async push(e,r){await this._push(e,r)}async end(e,r){e!=null?await this.throw(e):await this._push(void 0,r)}async _push(e,r){if(e!=null&&this.ended)throw this.error??new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=he(),await U(this.readNext.promise,r?.signal,r)}};function na(){return new cs}function oa(t){return t[Symbol.asyncIterator]!=null}async function gl(t,e,r){try{await Promise.all(t.map(async n=>{for(;;){let{value:o,done:s}=await n.next();if(s===!0)break;await e.push(o,{signal:r}),r.throwIfAborted()}})),await e.end(void 0,{signal:r})}catch(n){await e.end(n,{signal:r}).catch(()=>{})}}async function*yl(t){let e=new AbortController,r=na(),n=t.map(o=>oa(o)?o[Symbol.asyncIterator]():o[Symbol.iterator]());gl(n,r,e.signal).catch(()=>{});try{yield*r}finally{e.abort();for(let o of n)try{Promise.resolve(o.return?.()).catch(()=>{})}catch{}}}function*bl(t){for(let e of t)yield*e}function xl(...t){let e=[];for(let r of t)oa(r)||e.push(r);return e.length===t.length?bl(e):yl(t)}var sa=xl;function ia(t,...e){if(t==null)throw new Error("Empty pipeline");if(us(t)){let n=t;t=()=>n.source}else if(ca(t)||aa(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&us(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)us(r[n])&&(r[n]=El(r[n]));return wl(...r)}var wl=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},aa=t=>t?.[Symbol.asyncIterator]!=null,ca=t=>t?.[Symbol.iterator]!=null,us=t=>t==null?!1:t.sink!=null&&t.source!=null,El=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=xe({objectMode:!0});r.then(()=>{n.end()},i=>{n.end(i)});let o,s=t.source;if(aa(s))o=async function*(){yield*s,n.end()};else if(ca(s))o=function*(){yield*s,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return sa(n,o())}return t.source};var vl=4194304,nr=class extends Error{static name="UnwrappedError";name="UnwrappedError"},At=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},Zr=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},en=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function _l(t){return typeof t?.closeRead=="function"}function Sl(t){return typeof t?.close=="function"}function fs(t){return _l(t)?t.remoteWriteStatus!=="writable"&&t.readBufferLength===0:Sl(t)?t.status!=="open":!1}function Cl(t){return t?.addEventListener!=null&&t?.removeEventListener!=null&&t?.send!=null&&t?.push!=null&&t?.log!=null}function ua(t,e){let r=e?.maxBufferSize??vl,n=new D,o,s=!1;if(!Cl(t))throw new se("Argument should be a Stream or a Multiaddr");let i=f=>{if(n.append(f.data),n.byteLength>r){let h=n.byteLength;n.consume(n.byteLength),o?.reject(new Error(`Read buffer overflow - ${h} > ${r}`))}o?.resolve()};t.addEventListener("message",i);let a=f=>{f.error!=null?o?.reject(f.error):o?.resolve()};t.addEventListener("close",a);let u=()=>{o?.resolve()};t.addEventListener("remoteCloseWrite",u);let l={readBuffer:n,async read(f){if(s===!0)throw new nr("Stream was unwrapped");if(fs(t)){if(n.byteLength===0&&f?.bytes==null)return null;if(f?.bytes!=null&&n.byteLength<f.bytes)throw t.log.error("closed after reading %d/%d bytes",n.byteLength,f.bytes),new $e(`Unexpected EOF - stream closed after reading ${n.byteLength}/${f.bytes} bytes`)}let h=f?.bytes??1;for(o=Promise.withResolvers();;){if(n.byteLength>=h){o.resolve();break}if(await U(o.promise,f?.signal),fs(t)){if(n.byteLength===0&&f?.bytes==null)return null;break}o=Promise.withResolvers()}let p=f?.bytes??n.byteLength;if(n.byteLength<p){if(fs(t))throw t.log.error("closed while reading %d/%d bytes",n.byteLength,p),new $e(`Unexpected EOF - stream closed while reading ${n.byteLength}/${p} bytes`);return l.read(f)}let x=n.sublist(0,p);return n.consume(p),x},async write(f,h){if(s===!0)throw new nr("Stream was unwrapped");t.send(f)||await F(t,"drain",{signal:h?.signal,rejectionEvents:["close"]})},unwrap(){return s||(s=!0,t.removeEventListener("message",i),t.removeEventListener("close",a),t.removeEventListener("remoteCloseWrite",u),n.byteLength>0&&(t.log("stream unwrapped with %d unread bytes",n.byteLength),t.unshift(n))),t}};return l}function fa(t,e={}){let r=ua(t,e);e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=j(e.maxDataLength));let n=e?.lengthDecoder??Ie,o=e?.lengthEncoder??Br;return{async read(i){let a=-1,u=new D;for(;;){let f=await r.read({...i,bytes:1});if(f==null)break;u.append(f);try{a=n(u)}catch(h){if(h instanceof RangeError)continue;throw h}if(a<0)throw new At("Invalid message length");if(e?.maxLengthLength!=null&&u.byteLength>e.maxLengthLength)throw new en(`Message length length too long - ${u.byteLength} > ${e.maxLengthLength}`);if(a>-1)break}if(e?.maxDataLength!=null&&a>e.maxDataLength)throw new Zr(`Message length too long - ${a} > ${e.maxDataLength}`);let l=await r.read({...i,bytes:a});if(l==null)throw t.log.error("tried to read %d bytes but the stream closed",a),new $e(`Unexpected EOF - tried to read ${a} bytes but the stream closed`);if(l.byteLength!==a)throw t.log.error("read %d/%d bytes before the stream closed",l.byteLength,a),new $e(`Unexpected EOF - read ${l.byteLength}/${a} bytes before the stream closed`);return l},async write(i,a){await r.write(new D(o(i.byteLength),i),a)},async writeV(i,a){let u=new D(...i.flatMap(l=>[o(l.byteLength),l]));await r.write(u,a)},unwrap(){return r.unwrap()}}}function Il(t,e){let r=fa(t,e),n={read:async(o,s)=>{let i=await r.read(s);return o.decode(i,s)},write:async(o,s,i)=>{await r.write(s.encode(o),i)},writeV:async(o,s,i)=>{await r.writeV(o.map(a=>s.encode(a)),i)},pb:o=>({read:async s=>n.read(o,s),write:async(s,i)=>n.write(s,o,i),writeV:async(s,i)=>n.writeV(s,o,i),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}async function ls(t,e){let r=t.log.newScope("echo"),n=Date.now(),o=0;try{for await(let s of t)o+=s.byteLength,t.send(s)||(t.pause(),await F(t,"drain",{rejectionEvents:["close"],...e}),t.resume());r("echoed %d bytes in %dms",o,Date.now()-n),await t.close(e)}catch(s){t.abort(s)}}function Ll(t){return t?.addEventListener!=null}function la(t){let e=xe(),r,n=i=>{e.push(i.data)},o=()=>{e.end(),t.removeEventListener("message",n),t.removeEventListener("close",s),t.removeEventListener("remoteCloseWrite",o)},s=i=>{e.end(i.error),i.error!=null&&r?.reject(i.error),t.removeEventListener("message",n),t.removeEventListener("close",s),t.removeEventListener("remoteCloseWrite",o)};return t.addEventListener("message",n),t.addEventListener("close",s,{once:!0}),t.addEventListener("remoteCloseWrite",o,{once:!0}),{source:e,async sink(i){async function*a(){yield*i}let u=a();for(;;){r=Promise.withResolvers();let{done:l,value:f}=await Promise.race([u.next(),r.promise]);if(t.writeStatus==="closing"||t.writeStatus==="closed"||(f!=null&&(t.send(f)||await Promise.race([F(t,"drain",{rejectionEvents:["close"]})])),l===!0))break}await t.close()}}}function Al(...t){let e=t.map(r=>Ll(r)?la(r):r);return ia(...e)}var Tl=1024*1024*4,Dl=1024*1024*4,hs=class{buffer;maxBufferSize;lengthDecoder;maxDataLength;encodingLength;constructor(e={}){this.buffer=new D,this.maxBufferSize=e.maxBufferSize??Tl,this.maxDataLength=e.maxDataLength??Dl,this.lengthDecoder=e.lengthDecoder??Ie,this.encodingLength=e.encodingLength??j}*decode(e){if(this.buffer.append(e),this.buffer.byteLength>this.maxBufferSize)throw new se(`Buffer length limit exceeded - ${this.buffer.byteLength}/${this.maxBufferSize}`);for(;;){let r;try{r=this.lengthDecoder(this.buffer)}catch(s){if(s instanceof RangeError)break;throw s}if(r<0||r>this.maxDataLength)throw new At("Invalid message length");let n=this.encodingLength(r),o=n+r;if(this.buffer.byteLength>=o){let s=this.buffer.sublist(n,o);this.buffer.consume(o),s.byteLength>0&&(yield s)}else break}}};function kl(t){return!!(t.startsWith("169.254.")||t.toLowerCase().startsWith("fe80"))}var Bl=["Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","Tagged"];function ds(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(e==="string"||e==="number"||e==="bigint"||e==="symbol")return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(t instanceof Uint8Array)return"Uint8Array";if(t.constructor===Object)return"Object";let r=Pl(t);return r||"Object"}function Pl(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(Bl.includes(e))return e}var c=class{constructor(e,r,n){this.major=e,this.majorEncoded=e<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}static equals(e,r){return e===r||e.major===r.major&&e.name===r.name}};c.uint=new c(0,"uint",!0);c.negint=new c(1,"negint",!0);c.bytes=new c(2,"bytes",!0);c.string=new c(3,"string",!0);c.array=new c(4,"array",!1);c.map=new c(5,"map",!1);c.tag=new c(6,"tag",!1);c.float=new c(7,"float",!0);c.false=new c(7,"false",!0);c.true=new c(7,"true",!0);c.null=new c(7,"null",!0);c.undefined=new c(7,"undefined",!0);c.break=new c(7,"break",!0);var m=class{constructor(e,r,n){this.type=e,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var or=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",Nl=new TextEncoder;function tn(t){return or&&globalThis.Buffer.isBuffer(t)}function sr(t){return t instanceof Uint8Array?tn(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var Ml=24,Fl=200,rn=or?t=>t.length>=Ml?globalThis.Buffer.from(t):ha(t):t=>t.length>=Fl?Nl.encode(t):ha(t),we=t=>Uint8Array.from(t),da=or?(t,e,r)=>tn(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),ma=or?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),sr(globalThis.Buffer.concat(t,e))):(t,e)=>{let r=new Uint8Array(e),n=0;for(let o of t)n+o.length>r.length&&(o=o.subarray(0,r.length-n)),r.set(o,n),n+=o.length;return r},ms=or?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function Tt(t,e){if(tn(t)&&tn(e))return t.compare(e);for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]<e[r]?-1:1;return 0}function ha(t){let e=[],r=0;for(let n=0;n<t.length;n++){let o=t.charCodeAt(n);o<128?e[r++]=o:o<2048?(e[r++]=o>>6|192,e[r++]=o&63|128):(o&64512)===55296&&n+1<t.length&&(t.charCodeAt(n+1)&64512)===56320?(o=65536+((o&1023)<<10)+(t.charCodeAt(++n)&1023),e[r++]=o>>18|240,e[r++]=o>>12&63|128,e[r++]=o>>6&63|128,e[r++]=o&63|128):(o>=55296&&o<=57343&&(o=65533),e[r++]=o>>12|224,e[r++]=o>>6&63|128,e[r++]=o&63|128)}return e}var Ul=256,ir=class{constructor(e=Ul){this.chunkSize=e,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}pushByte(e){let r=this.chunks[this.chunks.length-1];this.cursor>this.maxCursor&&(r=ms(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r));let n=r.length-(this.maxCursor-this.cursor)-1;r[n]=e,this.cursor++}push(e){let r=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let o=r.length-(this.maxCursor-this.cursor)-1;r.set(e,o)}else{if(r){let o=r.length-(this.maxCursor-this.cursor)-1;o<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,o),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(r=ms(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=da(n,0,this.cursor)}else r=ma(this.chunks,this.cursor);return e&&this.reset(),r}},nn=class{constructor(e){this.dest=e,this.cursor=0,this.chunks=[e]}reset(){this.cursor=0}pushByte(e){if(this.cursor>=this.dest.length)throw new Error("write out of bounds, destination buffer is too small");this.dest[this.cursor++]=e}push(e){if(this.cursor+e.length>this.dest.length)throw new Error("write out of bounds, destination buffer is too small");this.dest.set(e,this.cursor),this.cursor+=e.length}toBytes(e=!1){let r=this.dest.subarray(0,this.cursor);return e&&this.reset(),r}};var g="CBOR decode error:",on="CBOR encode error:",ar=[];ar[23]=1;ar[24]=2;ar[25]=3;ar[26]=5;ar[27]=9;function De(t,e,r){if(t.length-e<r)throw new Error(`${g} not enough data for type`)}var O=[24,256,65536,4294967296,BigInt("18446744073709551616")];function Y(t,e,r){De(t,e,1);let n=t[e];if(r.strict===!0&&n<O[0])throw new Error(`${g} integer encoded in more bytes than necessary (strict decode)`);return n}function Z(t,e,r){De(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<O[1])throw new Error(`${g} integer encoded in more bytes than necessary (strict decode)`);return n}function ee(t,e,r){De(t,e,4);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(r.strict===!0&&n<O[2])throw new Error(`${g} integer encoded in more bytes than necessary (strict decode)`);return n}function te(t,e,r){De(t,e,8);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3],o=t[e+4]*16777216+(t[e+5]<<16)+(t[e+6]<<8)+t[e+7],s=(BigInt(n)<<BigInt(32))+BigInt(o);if(r.strict===!0&&s<O[3])throw new Error(`${g} integer encoded in more bytes than necessary (strict decode)`);if(s<=Number.MAX_SAFE_INTEGER)return Number(s);if(r.allowBigInt===!0)return s;throw new Error(`${g} integers outside of the safe integer range are not supported`)}function pa(t,e,r,n){return new m(c.uint,Y(t,e+1,n),2)}function ga(t,e,r,n){return new m(c.uint,Z(t,e+1,n),3)}function ya(t,e,r,n){return new m(c.uint,ee(t,e+1,n),5)}function ba(t,e,r,n){return new m(c.uint,te(t,e+1,n),9)}function Ee(t,e){return P(t,0,e.value)}function P(t,e,r){if(r<O[0]){let n=Number(r);t.pushByte(e|n)}else if(r<O[1]){let n=Number(r);t.push([e|24,n])}else if(r<O[2]){let n=Number(r);t.push([e|25,n>>>8,n&255])}else if(r<O[3]){let n=Number(r);t.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<O[4]){let o=[e|27,0,0,0,0,0,0,0],s=Number(n&BigInt(4294967295)),i=Number(n>>BigInt(32)&BigInt(4294967295));o[8]=s&255,s=s>>8,o[7]=s&255,s=s>>8,o[6]=s&255,s=s>>8,o[5]=s&255,o[4]=i&255,i=i>>8,o[3]=i&255,i=i>>8,o[2]=i&255,i=i>>8,o[1]=i&255,t.push(o)}else throw new Error(`${g} encountered BigInt larger than allowable range`)}}Ee.encodedSize=function(e){return P.encodedSize(e.value)};P.encodedSize=function(e){return e<O[0]?1:e<O[1]?2:e<O[2]?3:e<O[3]?5:9};Ee.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function xa(t,e,r,n){return new m(c.negint,-1-Y(t,e+1,n),2)}function wa(t,e,r,n){return new m(c.negint,-1-Z(t,e+1,n),3)}function Ea(t,e,r,n){return new m(c.negint,-1-ee(t,e+1,n),5)}var ps=BigInt(-1),va=BigInt(1);function _a(t,e,r,n){let o=te(t,e+1,n);if(typeof o!="bigint"){let s=-1-o;if(s>=Number.MIN_SAFE_INTEGER)return new m(c.negint,s,9)}if(n.allowBigInt!==!0)throw new Error(`${g} integers outside of the safe integer range are not supported`);return new m(c.negint,ps-BigInt(o),9)}function sn(t,e){let r=e.value,n=typeof r=="bigint"?r*ps-va:r*-1-1;P(t,e.type.majorEncoded,n)}sn.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*ps-va:r*-1-1;return n<O[0]?1:n<O[1]?2:n<O[2]?3:n<O[3]?5:9};sn.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function cr(t,e,r,n){De(t,e,r+n);let o=t.slice(e+r,e+r+n);return new m(c.bytes,o,r+n)}function Sa(t,e,r,n){return cr(t,e,1,r)}function Ca(t,e,r,n){return cr(t,e,2,Y(t,e+1,n))}function Ia(t,e,r,n){return cr(t,e,3,Z(t,e+1,n))}function La(t,e,r,n){return cr(t,e,5,ee(t,e+1,n))}function Aa(t,e,r,n){let o=te(t,e+1,n);if(typeof o=="bigint")throw new Error(`${g} 64-bit integer bytes lengths not supported`);return cr(t,e,9,o)}function an(t){return t.encodedBytes===void 0&&(t.encodedBytes=c.equals(t.type,c.string)?rn(t.value):t.value),t.encodedBytes}function Dt(t,e){let r=an(e);P(t,e.type.majorEncoded,r.length),t.push(r)}Dt.encodedSize=function(e){let r=an(e);return P.encodedSize(r.length)+r.length};Dt.compareTokens=function(e,r){return Rl(an(e),an(r))};function Rl(t,e){return t.length<e.length?-1:t.length>e.length?1:Tt(t,e)}var Ta=new TextDecoder,zl=32;function Vl(t,e,r){if(r-e<zl){let o="";for(let s=e;s<r;s++){let i=t[s];if(i&128)return Ta.decode(t.subarray(e,r));o+=String.fromCharCode(i)}return o}return Ta.decode(t.subarray(e,r))}function ur(t,e,r,n,o){let s=r+n;De(t,e,s);let i=new m(c.string,Vl(t,e+r,e+s),s);return o.retainStringBytes===!0&&(i.byteValue=t.slice(e+r,e+s)),i}function Da(t,e,r,n){return ur(t,e,1,r,n)}function ka(t,e,r,n){return ur(t,e,2,Y(t,e+1,n),n)}function Ba(t,e,r,n){return ur(t,e,3,Z(t,e+1,n),n)}function Pa(t,e,r,n){return ur(t,e,5,ee(t,e+1,n),n)}function Na(t,e,r,n){let o=te(t,e+1,n);if(typeof o=="bigint")throw new Error(`${g} 64-bit integer string lengths not supported`);return ur(t,e,9,o,n)}var Ma=Dt;function kt(t,e,r,n){return new m(c.array,n,r)}function Fa(t,e,r,n){return kt(t,e,1,r)}function Ua(t,e,r,n){return kt(t,e,2,Y(t,e+1,n))}function Oa(t,e,r,n){return kt(t,e,3,Z(t,e+1,n))}function Ra(t,e,r,n){return kt(t,e,5,ee(t,e+1,n))}function $a(t,e,r,n){let o=te(t,e+1,n);if(typeof o=="bigint")throw new Error(`${g} 64-bit integer array lengths not supported`);return kt(t,e,9,o)}function za(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${g} indefinite length items not allowed`);return kt(t,e,1,1/0)}function cn(t,e){P(t,c.array.majorEncoded,e.value)}cn.compareTokens=Ee.compareTokens;cn.encodedSize=function(e){return P.encodedSize(e.value)};function Bt(t,e,r,n){return new m(c.map,n,r)}function Va(t,e,r,n){return Bt(t,e,1,r)}function ja(t,e,r,n){return Bt(t,e,2,Y(t,e+1,n))}function Wa(t,e,r,n){return Bt(t,e,3,Z(t,e+1,n))}function qa(t,e,r,n){return Bt(t,e,5,ee(t,e+1,n))}function Ga(t,e,r,n){let o=te(t,e+1,n);if(typeof o=="bigint")throw new Error(`${g} 64-bit integer map lengths not supported`);return Bt(t,e,9,o)}function Ha(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${g} indefinite length items not allowed`);return Bt(t,e,1,1/0)}function un(t,e){P(t,c.map.majorEncoded,e.value)}un.compareTokens=Ee.compareTokens;un.encodedSize=function(e){return P.encodedSize(e.value)};function Qa(t,e,r,n){return new m(c.tag,r,1)}function Xa(t,e,r,n){return new m(c.tag,Y(t,e+1,n),2)}function Ka(t,e,r,n){return new m(c.tag,Z(t,e+1,n),3)}function Ja(t,e,r,n){return new m(c.tag,ee(t,e+1,n),5)}function Ya(t,e,r,n){return new m(c.tag,te(t,e+1,n),9)}function fn(t,e){P(t,c.tag.majorEncoded,e.value)}fn.compareTokens=Ee.compareTokens;fn.encodedSize=function(e){return P.encodedSize(e.value)};var ln=20,hn=21,dn=22,mn=23;function ec(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${g} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new m(c.null,null,1):new m(c.undefined,void 0,1)}function tc(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${g} indefinite length items not allowed`);return new m(c.break,void 0,1)}function gs(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${g} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${g} Infinity values are not supported`)}return new m(c.float,t,e)}function rc(t,e,r,n){return gs(pn(t,e+1),3,n)}function nc(t,e,r,n){return gs(gn(t,e+1),5,n)}function oc(t,e,r,n){return gs(ac(t,e+1),9,n)}function fr(t,e,r){let n=e.value;if(n===!1)t.pushByte(c.float.majorEncoded|ln);else if(n===!0)t.pushByte(c.float.majorEncoded|hn);else if(n===null)t.pushByte(c.float.majorEncoded|dn);else if(n===void 0)t.pushByte(c.float.majorEncoded|mn);else{let o,s=!1;(!r||r.float64!==!0)&&(ys(n),o=pn(N,1),n===o||Number.isNaN(n)?(N[0]=249,t.push(N.slice(0,3)),s=!0):(bs(n),o=gn(N,1),n===o&&(N[0]=250,t.push(N.slice(0,5)),s=!0))),s||(ic(n),o=ac(N,1),N[0]=251,t.push(N.slice(0,9)))}}fr.encodedSize=function(e,r){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){ys(n);let o=pn(N,1);if(n===o||Number.isNaN(n))return 3;if(bs(n),o=gn(N,1),n===o)return 5}return 9};var sc=new ArrayBuffer(9),ie=new DataView(sc,1),N=new Uint8Array(sc,0);function ys(t){if(t===1/0)ie.setUint16(0,31744,!1);else if(t===-1/0)ie.setUint16(0,64512,!1);else if(Number.isNaN(t))ie.setUint16(0,32256,!1);else{ie.setFloat32(0,t);let e=ie.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)ie.setUint16(0,31744,!1);else if(r===0)ie.setUint16(0,(e&2147483648)>>16|n>>13,!1);else{let o=r-127;o<-24?ie.setUint16(0,0):o<-14?ie.setUint16(0,(e&2147483648)>>16|1<<24+o,!1):ie.setUint16(0,(e&2147483648)>>16|o+15<<10|n>>13,!1)}}}function pn(t,e){if(t.length-e<2)throw new Error(`${g} not enough data for float16`);let r=(t[e]<<8)+t[e+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,o=r&1023,s;return n===0?s=o*2**-24:n!==31?s=(o+1024)*2**(n-25):s=o===0?1/0:NaN,r&32768?-s:s}function bs(t){ie.setFloat32(0,t,!1)}function gn(t,e){if(t.length-e<4)throw new Error(`${g} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function ic(t){ie.setFloat64(0,t,!1)}function ac(t,e){if(t.length-e<8)throw new Error(`${g} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}function Hl(t,e){let r=t.value;if(r===!1)return Uint8Array.of(c.float.majorEncoded|ln);if(r===!0)return Uint8Array.of(c.float.majorEncoded|hn);if(r===null)return Uint8Array.of(c.float.majorEncoded|dn);if(r===void 0)return Uint8Array.of(c.float.majorEncoded|mn);if(!e){if(ys(r),r===pn(N,1)||Number.isNaN(r))return N[0]=249,N.slice(0,3);if(bs(r),r===gn(N,1))return N[0]=250,N.slice(0,5)}return ic(r),N[0]=251,N.slice(0,9)}function Za(t,e){let r=t,n=e?.float64===!0,o=n?r._keyBytesFloat64:r._keyBytes;if(o!==void 0)return o;let s=Hl(t,n);return n?r._keyBytesFloat64=s:r._keyBytes=s,s}fr.compareTokens=function(e,r,n){let o=Za(e,n),s=Za(r,n);return o.length!==s.length?o.length<s.length?-1:1:Tt(o,s)};function _(t,e,r){throw new Error(`${g} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function yn(t){return()=>{throw new Error(`${g} ${t}`)}}var d=[];for(let t=0;t<=23;t++)d[t]=_;d[24]=pa;d[25]=ga;d[26]=ya;d[27]=ba;d[28]=_;d[29]=_;d[30]=_;d[31]=_;for(let t=32;t<=55;t++)d[t]=_;d[56]=xa;d[57]=wa;d[58]=Ea;d[59]=_a;d[60]=_;d[61]=_;d[62]=_;d[63]=_;for(let t=64;t<=87;t++)d[t]=Sa;d[88]=Ca;d[89]=Ia;d[90]=La;d[91]=Aa;d[92]=_;d[93]=_;d[94]=_;d[95]=yn("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)d[t]=Da;d[120]=ka;d[121]=Ba;d[122]=Pa;d[123]=Na;d[124]=_;d[125]=_;d[126]=_;d[127]=yn("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)d[t]=Fa;d[152]=Ua;d[153]=Oa;d[154]=Ra;d[155]=$a;d[156]=_;d[157]=_;d[158]=_;d[159]=za;for(let t=160;t<=183;t++)d[t]=Va;d[184]=ja;d[185]=Wa;d[186]=qa;d[187]=Ga;d[188]=_;d[189]=_;d[190]=_;d[191]=Ha;for(let t=192;t<=215;t++)d[t]=Qa;d[216]=Xa;d[217]=Ka;d[218]=Ja;d[219]=Ya;d[220]=_;d[221]=_;d[222]=_;d[223]=_;for(let t=224;t<=243;t++)d[t]=yn("simple values are not supported");d[244]=_;d[245]=_;d[246]=_;d[247]=ec;d[248]=yn("simple values are not supported");d[249]=rc;d[250]=nc;d[251]=oc;d[252]=_;d[253]=_;d[254]=_;d[255]=tc;var me=[];for(let t=0;t<24;t++)me[t]=new m(c.uint,t,1);for(let t=-1;t>=-24;t--)me[31-t]=new m(c.negint,t,1);me[64]=new m(c.bytes,new Uint8Array(0),1);me[96]=new m(c.string,"",1);me[128]=new m(c.array,0,1);me[160]=new m(c.map,0,1);me[244]=new m(c.false,!1,1);me[245]=new m(c.true,!0,1);me[246]=new m(c.null,null,1);function xs(t){switch(t.type){case c.false:return we([244]);case c.true:return we([245]);case c.null:return we([246]);case c.bytes:return t.value.length?void 0:we([64]);case c.string:return t.value===""?we([96]):void 0;case c.array:return t.value===0?we([128]):void 0;case c.map:return t.value===0?we([160]):void 0;case c.uint:return t.value<24?we([Number(t.value)]):void 0;case c.negint:if(t.value>=-24)return we([31-Number(t.value)])}}var Xl={float64:!1,mapSorter:Es,quickEncodeToken:xs},hc=Object.freeze({mapSorter:Yl,quickEncodeToken:xs});function Kl(){let t=[];return t[c.uint.major]=Ee,t[c.negint.major]=sn,t[c.bytes.major]=Dt,t[c.string.major]=Ma,t[c.array.major]=cn,t[c.map.major]=un,t[c.tag.major]=fn,t[c.float.major]=fr,t}var st=Kl(),bn=new ir,Nt=class t{constructor(e,r){this.obj=e,this.parent=r}includes(e){let r=this;do if(r.obj===e)return!0;while(r=r.parent);return!1}static createCheck(e,r){if(e&&e.includes(r))throw new Error(`${on} object contains circular references`);return new t(r,e)}},ze={null:new m(c.null,null),undefined:new m(c.undefined,void 0),true:new m(c.true,!0),false:new m(c.false,!1),emptyArray:new m(c.array,0),emptyMap:new m(c.map,0)},ve={number(t,e,r,n){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new m(c.float,t):t>=0?new m(c.uint,t):new m(c.negint,t)},bigint(t,e,r,n){return t>=BigInt(0)?new m(c.uint,t):new m(c.negint,t)},Uint8Array(t,e,r,n){return new m(c.bytes,t)},string(t,e,r,n){return new m(c.string,t)},boolean(t,e,r,n){return t?ze.true:ze.false},null(t,e,r,n){return ze.null},undefined(t,e,r,n){return ze.undefined},ArrayBuffer(t,e,r,n){return new m(c.bytes,new Uint8Array(t))},DataView(t,e,r,n){return new m(c.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,r,n){if(!t.length)return r.addBreakTokens===!0?[ze.emptyArray,new m(c.break)]:ze.emptyArray;n=Nt.createCheck(n,t);let o=[],s=0;for(let i of t)o[s++]=ot(i,r,n);return r.addBreakTokens?[new m(c.array,t.length),o,new m(c.break)]:[new m(c.array,t.length),o]},Object(t,e,r,n){let o=e!=="Object",s=o?t.keys():Object.keys(t),i=o?t.size:s.length,a;if(i){a=new Array(i),n=Nt.createCheck(n,t);let u=!o&&r.ignoreUndefinedProperties,l=0;for(let f of s){let h=o?t.get(f):t[f];u&&h===void 0||(a[l++]=[ot(f,r,n),ot(h,r,n)])}l<i&&(a.length=l)}return a?.length?(Jl(a,r),r.addBreakTokens?[new m(c.map,a.length),a,new m(c.break)]:[new m(c.map,a.length),a]):r.addBreakTokens===!0?[ze.emptyMap,new m(c.break)]:ze.emptyMap},Tagged(t,e,r,n){return[new m(c.tag,t.tag),ot(t.value,r,n)]}};ve.Map=ve.Object;ve.Buffer=ve.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))ve[`${t}Array`]=ve.DataView;function ot(t,e={},r){let n=ds(t),o=e&&e.typeEncoders&&e.typeEncoders[n]||ve[n];if(typeof o=="function"){let i=o(t,n,e,r);if(i!=null)return i}let s=ve[n];if(!s)throw new Error(`${on} unsupported type: ${n}`);return s(t,n,e,r)}function Jl(t,e){let r=e.mapSorter;r&&t.sort((n,o)=>r(n,o,e))}function Es(t,e,r){let n=Array.isArray(t[0])?t[0][0]:t[0],o=Array.isArray(e[0])?e[0][0]:e[0];if(n.type.major!==o.type.major)return n.type.compare(o.type);let s=n.type.major,i=st[s].compareTokens(n,o,r);return i===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),i}function Yl(t,e){if(t[0]instanceof m&&e[0]instanceof m){let r=t[0],n=e[0];return r._keyBytes||(r._keyBytes=cc(r.value)),n._keyBytes||(n._keyBytes=cc(n.value)),Tt(r._keyBytes,n._keyBytes)}throw new Error("rfc8949MapSorter: complex key types are not supported yet")}function cc(t){return dc(t,st,hc)}function Pt(t,e,r,n){if(Array.isArray(e))for(let o of e)Pt(t,o,r,n);else r[e.type.major](t,e,n)}var uc=c.uint.majorEncoded,fc=c.negint.majorEncoded,Zl=c.bytes.majorEncoded,eh=c.string.majorEncoded,lc=c.array.majorEncoded,ws=c.map.majorEncoded,th=c.float.majorEncoded|ln,rh=c.float.majorEncoded|hn,nh=c.float.majorEncoded|dn,oh=c.float.majorEncoded|mn,sh=BigInt(-1),ih=BigInt(1);function Ve(t,e,r){r<24?t.pushByte(e|Number(r)):P(t,e,r)}function ah(t){return t.addBreakTokens!==!0}function ch(t,e,r,n,o){let s=r==="Map",i=s?e.keys():Object.keys(e),a=s?e.size:i.length;if(!a){t.pushByte(ws);return}o=Nt.createCheck(o,e);let u=!s&&n.ignoreUndefinedProperties,l=new Array(a),f=0;for(let h of i){let p=s?e.get(h):e[h];u&&p===void 0||(l[f++]=[ot(h,n,o),p])}if(f===0){t.pushByte(ws);return}f<a&&(l.length=f),l.sort((h,p)=>Es(h,p,n)),Ve(t,ws,f);for(let[h,p]of l)Pt(t,h,st,n),vs(t,p,n,o)}function vs(t,e,r,n){let o=ds(e),s=r.typeEncoders&&r.typeEncoders[o];if(s){let i=s(e,o,r,n);if(i!=null){Pt(t,i,st,r);return}}switch(o){case"null":t.pushByte(nh);return;case"undefined":t.pushByte(oh);return;case"boolean":t.pushByte(e?rh:th);return;case"number":!Number.isInteger(e)||!Number.isSafeInteger(e)?fr(t,new m(c.float,e),r):e>=0?Ve(t,uc,e):Ve(t,fc,e*-1-1);return;case"bigint":e>=BigInt(0)?Ve(t,uc,e):Ve(t,fc,e*sh-ih);return;case"string":{let i=rn(e);Ve(t,eh,i.length),t.push(i);return}case"Uint8Array":Ve(t,Zl,e.length),t.push(e);return;case"Array":if(!e.length){t.pushByte(lc);return}n=Nt.createCheck(n,e),Ve(t,lc,e.length);for(let i of e)vs(t,i,r,n);return;case"Object":case"Map":if(r.mapSorter===Es)ch(t,e,o,r,n);else{let i=ve.Object(e,o,r,n);Pt(t,i,st,r)}return;default:{let i=ve[o];if(!i)throw new Error(`${on} unsupported type: ${o}`);let a=i(e,o,r,n);Pt(t,a,st,r)}}}function dc(t,e,r,n){let o=n instanceof Uint8Array,s=o?new nn(n):bn,i=ot(t,r);if(!Array.isArray(i)&&r.quickEncodeToken){let a=r.quickEncodeToken(i);if(a)return o?(s.push(a),s.toBytes()):a;let u=e[i.type.major];if(u.encodedSize){let l=u.encodedSize(i,r);if(o||(s=new ir(l)),u(s,i,r),s.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${i} was wrong`);return o?s.toBytes():sr(s.chunks[0])}}return s.reset(),Pt(s,i,e,r),s.toBytes(!0)}function _s(t,e){return e=Object.assign({},Xl,e),ah(e)?(bn.reset(),vs(bn,t,e,void 0),bn.toBytes(!0)):dc(t,st,e)}var uh={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},xn=class{constructor(e,r={}){this._pos=0,this.data=e,this.options=r}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let e=this.data[this._pos],r=me[e];if(r===void 0){let n=d[e];if(!n)throw new Error(`${g} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let o=e&31;r=n(this.data,this._pos,o,this.options)}return this._pos+=r.encodedLength,r}},je=Symbol.for("DONE"),Mt=Symbol.for("BREAK");function fh(t,e,r){let n=[];for(let o=0;o<t.value;o++){let s=We(e,r);if(s===Mt){if(t.value===1/0)break;throw new Error(`${g} got unexpected break to lengthed array`)}if(s===je)throw new Error(`${g} found array but not enough entries (got ${o}, expected ${t.value})`);n[o]=s}return n}function lh(t,e,r){let n=r.useMaps===!0,o=r.rejectDuplicateMapKeys===!0,s=n?void 0:{},i=n?new Map:void 0;for(let a=0;a<t.value;a++){let u=We(e,r);if(u===Mt){if(t.value===1/0)break;throw new Error(`${g} got unexpected break to lengthed map`)}if(u===je)throw new Error(`${g} found map but not enough entries (got ${a} [no key], expected ${t.value})`);if(!n&&typeof u!="string")throw new Error(`${g} non-string keys not supported (got ${typeof u})`);if(o&&(n&&i.has(u)||!n&&Object.hasOwn(s,u)))throw new Error(`${g} found repeat map key "${u}"`);let l=We(e,r);if(l===je)throw new Error(`${g} found map but not enough entries (got ${a} [no value], expected ${t.value})`);n?i.set(u,l):s[u]=l}return n?i:s}function*hh(t,e,r){for(let n=0;n<t.value;n++){let o=We(e,r);if(o===Mt){if(t.value===1/0)break;throw new Error(`${g} got unexpected break to lengthed map`)}if(o===je)throw new Error(`${g} found map but not enough entries (got ${n} [no key], expected ${t.value})`);let s=We(e,r);if(s===je)throw new Error(`${g} found map but not enough entries (got ${n} [no value], expected ${t.value})`);yield[o,s]}}function dh(t,e){let r=function(){if(r._called)throw new Error(`${g} tag decode() may only be called once`);r._called=!0;let n=We(t,e);if(n===je)throw new Error(`${g} tag content missing`);if(n===Mt)throw new Error(`${g} got unexpected break in tag content`);return n};return r.entries=function(){if(r._called)throw new Error(`${g} tag decode() may only be called once`);r._called=!0;let n=t.next();if(!c.equals(n.type,c.map))throw new Error(`${g} entries() requires map content, got ${n.type.name}`);let o=[];for(let s of hh(n,t,e))o.push(s);return o},r._called=!1,r}function We(t,e){if(t.done())return je;let r=t.next();if(c.equals(r.type,c.break))return Mt;if(r.type.terminal)return r.value;if(c.equals(r.type,c.array))return fh(r,t,e);if(c.equals(r.type,c.map))return lh(r,t,e);if(c.equals(r.type,c.tag)){if(e.tags&&typeof e.tags[r.value]=="function"){let n=dh(t,e),o=e.tags[r.value](n);if(!n._called)throw new Error(`${g} tag decoder must call decode() or entries()`);return o}throw new Error(`${g} tag not supported (${r.value})`)}throw new Error("unsupported")}function mc(t,e){if(!(t instanceof Uint8Array))throw new Error(`${g} data to decode must be a Uint8Array`);e=Object.assign({},uh,e);let r=sr(t),n=e.tokenizer||new xn(r,e),o=We(n,e);if(o===je)throw new Error(`${g} did not find any content to decode`);if(o===Mt)throw new Error(`${g} got unexpected break`);return[o,t.subarray(n.pos())]}function Ss(t,e){let[r,n]=mc(t,e);if(n.length>0)throw new Error(`${g} too many terminals, data makes no sense`);return r}var wn=class t{constructor(e,r){if(typeof e!="number"||!Number.isInteger(e)||e<0)throw new TypeError("Tagged: tag must be a non-negative integer");this.tag=e,this.value=r}static decoder(e){return r=>new t(e,r())}static preserve(...e){let r={};for(let n of e)r[n]=t.decoder(n);return r}};Object.defineProperty(wn.prototype,Symbol.toStringTag,{value:"Tagged"});var En=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},Ft=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},vn=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"},lr=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};function _n(t){return t[Symbol.asyncIterator]!=null}function pc(t,e){if(t.byteLength>e)throw new Ft("Message length too long")}var Cn=t=>{let e=j(t),r=J(e);return Br(t,r),Cn.bytes=e,r};Cn.bytes=0;function In(t,e){e=e??{};let r=e.lengthEncoder??Cn,n=e?.maxDataLength??4194304;function*o(s){pc(s,n);let i=r(s.byteLength);i instanceof Uint8Array?yield i:yield*i,s instanceof Uint8Array?yield s:yield*s}return _n(t)?(async function*(){for await(let s of t)yield*o(s)})():(function*(){for(let s of t)yield*o(s)})()}In.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Cn,n=e?.maxDataLength??4194304;return pc(t,n),new D(r(t.byteLength),t)};var it;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(it||(it={}));var Cs=t=>{let e=Ie(t);return Cs.bytes=j(e),e};Cs.bytes=0;function hr(t,e){let r=new D,n=it.LENGTH,o=-1,s=e?.lengthDecoder??Cs,i=e?.maxLengthLength??8,a=e?.maxDataLength??4194304;function*u(){for(;r.byteLength>0;){if(n===it.LENGTH)try{if(o=s(r),o<0)throw new En("Invalid message length");if(o>a)throw new Ft("Message length too long");let l=s.bytes;r.consume(l),e?.onLength!=null&&e.onLength(o),n=it.DATA}catch(l){if(l instanceof RangeError){if(r.byteLength>i)throw new vn("Message length length too long");break}throw l}if(n===it.DATA){if(r.byteLength<o)break;let l=r.sublist(0,o);r.consume(o),e?.onData!=null&&e.onData(l),yield l,n=it.LENGTH}}}return _n(t)?(async function*(){for await(let l of t)r.append(l),yield*u();if(r.byteLength>0)throw new lr("Unexpected end of input")})():(function*(){for(let l of t)r.append(l),yield*u();if(r.byteLength>0)throw new lr("Unexpected end of input")})()}hr.fromReader=(t,e)=>{let r=1,n=(async function*(){for(;;)try{let{done:s,value:i}=await t.next(r);if(s===!0)return;i!=null&&(yield i)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{r=1}})();return hr(n,{...e??{},onLength:s=>{r=s}})};var Is=class extends tt{sendMessage;dataQueue;encoding;constructor(e){super(e),this.sendMessage=e.sendMessage,this.encoding=e.encoding,this.dataQueue=new de({concurrency:1}),this.direction==="outbound"&&this.sendMessage({id:this.id,type:"create",protocol:this.protocol})}sendData(e){let r=this.sendMessage({id:this.id,type:"data",chunk:e.subarray()});return{sentBytes:e.byteLength,canSendMore:r}}sendReset(){this.sendMessage({id:this.id,type:"reset"})}async sendCloseWrite(e){this.sendMessage({id:this.id,type:"closeWrite"}),e?.signal?.throwIfAborted()}async sendCloseRead(e){this.sendMessage({id:this.id,type:"closeRead"}),e?.signal?.throwIfAborted()}sendPause(){this.sendMessage({id:this.id,type:"pause"})}sendResume(){this.sendMessage({id:this.id,type:"resume"})}onRemotePaused(){this.dataQueue.pause()}onRemoteResumed(){this.dataQueue.resume()}},gc=30,Ls=class extends rr{input;maxInputQueueSize;encoding;maxMessageSize;nextStreamId;constructor(e,r){super(e,{...r,protocol:"/mock-muxer/1.0.0",name:"mock-muxer"}),this.maxInputQueueSize=r.maxInputQueueSize??1024*1024*10,this.maxMessageSize=(r.maxMessageSize??1024*1024*4)+gc,this.encoding=r.encoding??"base64",this.input=xe(),this.sendMessage=this.sendMessage.bind(this),this.nextStreamId=this.maConn.direction==="outbound"?0:1,Promise.resolve().then(async()=>{for await(let n of hr(this.input,{maxDataLength:this.maxMessageSize}))this.onMessage(Ss(n.subarray()))}).catch(n=>{this.abort(n)})}onData(e){if(this.input.readableLength>=this.maxInputQueueSize){this.abort(new Error(`Input queue exceeded maximum size ${this.input.readableLength} >= ${this.maxInputQueueSize}`));return}this.input.push(e)}sendMessage(e){e.type==="data"?this.log.trace("send message %o",{...e,chunk:`[ ${e.chunk.byteLength} bytes ]`}):this.log.trace("send message %o",e);let r=_s(e),n=In.single(r,{maxDataLength:this.maxMessageSize});return this.send(n)}onMessage(e){e.type==="data"?this.log.trace("incoming message %o",{...e,chunk:`[ ${e.chunk.byteLength} bytes ]`}):this.log.trace("incoming message %o",e);let r=this.streams.find(n=>n.id===e.id);if(e.type==="create"){if(r!=null)throw new Error(`Already had stream for ${e.id}`);this.log.trace("create stream inbound %s",e.id),r=this._createStream(e.id,"inbound",{protocol:e.protocol}),this.onRemoteStream(r)}if(r==null){this.log.error(`no stream found for ${e.id}`);return}e.type==="data"?r.onData(e.chunk):e.type==="reset"?r.onRemoteReset():e.type==="closeWrite"?r.onRemoteCloseWrite():e.type==="closeRead"?r.onRemoteCloseRead():e.type==="pause"?r.onRemotePaused():e.type==="resume"&&r.onRemoteResumed()}async onCreateStream(e){return this.nextStreamId+=2,this._createStream(`${this.nextStreamId}`,"outbound",e)}_createStream(e,r,n){return this.log.trace("createStream %s %s",r,e),new Is({...this.streamOptions,...n,id:e,direction:r,log:this.log.newScope(`stream:${r}:${e}`),sendMessage:this.sendMessage,encoding:this.encoding,maxMessageSize:this.maxMessageSize-gc,protocol:""})}},As=class{protocol="/mock-muxer/1.0.0";init;constructor(e){this.init=e}createStreamMuxer(e){return new Ls(e,{...this.init})}};function Ln(t={}){return new As(t)}function An(t,e){if(typeof t=="string")return yh(t);if(typeof t=="number")return wh(t,e);throw new Error(`Value provided to ms() must be a string or number. value=${JSON.stringify(t)}`)}function yh(t){if(typeof t!="string"||t.length===0||t.length>100)throw new Error(`Value provided to ms.parse() must be a string with length between 1 and 99. value=${JSON.stringify(t)}`);let e=/^(?<value>-?\d*\.?\d+) *(?<unit>milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|months?|mo|years?|yrs?|y)?$/i.exec(t);if(!e?.groups)return NaN;let{value:r,unit:n="ms"}=e.groups,o=parseFloat(r),s=n.toLowerCase();switch(s){case"years":case"year":case"yrs":case"yr":case"y":return o*315576e5;case"months":case"month":case"mo":return o*26298e5;case"weeks":case"week":case"w":return o*6048e5;case"days":case"day":case"d":return o*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return o*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return o*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return o*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return o;default:throw new Error(`Unknown unit "${s}" provided to ms.parse(). value=${JSON.stringify(t)}`)}}function bh(t){let e=Math.abs(t);return e>=315576e5?`${Math.round(t/315576e5)}y`:e>=26298e5?`${Math.round(t/26298e5)}mo`:e>=6048e5?`${Math.round(t/6048e5)}w`:e>=864e5?`${Math.round(t/864e5)}d`:e>=36e5?`${Math.round(t/36e5)}h`:e>=6e4?`${Math.round(t/6e4)}m`:e>=1e3?`${Math.round(t/1e3)}s`:`${t}ms`}function xh(t){let e=Math.abs(t);return e>=315576e5?at(t,e,315576e5,"year"):e>=26298e5?at(t,e,26298e5,"month"):e>=6048e5?at(t,e,6048e5,"week"):e>=864e5?at(t,e,864e5,"day"):e>=36e5?at(t,e,36e5,"hour"):e>=6e4?at(t,e,6e4,"minute"):e>=1e3?at(t,e,1e3,"second"):`${t} ms`}function wh(t,e){if(typeof t!="number"||!Number.isFinite(t))throw new Error("Value provided to ms.format() must be of type number.");return e?.long?xh(t):bh(t)}function at(t,e,r,n){let o=e>=r*1.5;return`${Math.round(t/r)} ${n}${o?"s":""}`}function Ts(t){r.debug=r,r.default=r,r.coerce=u,r.disable=s,r.enable=o,r.enabled=i,r.humanize=An,r.destroy=l,Object.keys(t).forEach(f=>{r[f]=t[f]}),r.names=[],r.skips=[],r.formatters={};function e(f){let h=0;for(let p=0;p<f.length;p++)h=(h<<5)-h+f.charCodeAt(p),h|=0;return r.colors[Math.abs(h)%r.colors.length]}r.selectColor=e;function r(f,h){let p,x=null,ae,q;function w(...b){if(!w.enabled)return;let I=w,k=Number(new Date),G=k-(p||k);I.diff=G,I.prev=p,I.curr=k,p=k,b[0]=r.coerce(b[0]),typeof b[0]!="string"&&b.unshift("%O");let R=0;b[0]=b[0].replace(/%([a-zA-Z%])/g,(z,re)=>{if(z==="%%")return"%";R++;let ue=r.formatters[re];if(typeof ue=="function"){let X=b[R];z=ue.call(I,X),b.splice(R,1),R--}return z}),r.formatArgs.call(I,b),h?.onLog!=null&&h.onLog(...b),(I.log||r.log).apply(I,b)}return w.namespace=f,w.useColors=r.useColors(),w.color=r.selectColor(f),w.extend=n,w.destroy=r.destroy,Object.defineProperty(w,"enabled",{enumerable:!0,configurable:!1,get:()=>x!==null?x:(ae!==r.namespaces&&(ae=r.namespaces,q=r.enabled(f)),q),set:b=>{x=b}}),typeof r.init=="function"&&r.init(w),w}function n(f,h){let p=r(this.namespace+(typeof h>"u"?":":h)+f);return p.log=this.log,p}function o(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let h,p=(typeof f=="string"?f:"").split(/[\s,]+/),x=p.length;for(h=0;h<x;h++)p[h]&&(f=p[h].replace(/\*/g,".*?"),f[0]==="-"?r.skips.push(new RegExp("^"+f.substr(1)+"$")):r.names.push(new RegExp("^"+f+"$")))}function s(){let f=[...r.names.map(a),...r.skips.map(a).map(h=>"-"+h)].join(",");return r.enable(""),f}function i(f){if(f[f.length-1]==="*")return!0;let h,p;for(h=0,p=r.skips.length;h<p;h++)if(r.skips[h].test(f))return!1;for(h=0,p=r.names.length;h<p;h++)if(r.names[h].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function u(f){return f instanceof Error?f.stack??f.message:f}function l(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.setupFormatters(r.formatters),r.enable(r.load()),r}var Tn=Lh(),Eh=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function vh(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/(edge|trident)\/(\d+)/)!=null?!1:typeof document<"u"&&document.documentElement?.style?.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/firefox\/(\d+)/)!=null&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent?.toLowerCase().match(/applewebkit\/(\d+)/)}function _h(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+An(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(r++,o==="%c"&&(n=r))}),t.splice(n,0,e)}var Sh=console.debug??console.log??(()=>{});function Ch(t){try{t?Tn?.setItem("debug",t):Tn?.removeItem("debug")}catch{}}function Ih(){let t;try{t=Tn?.getItem("debug")}catch{}return!t&&typeof globalThis.process<"u"&&"env"in globalThis.process&&(t=globalThis.process.env.DEBUG),t}function Lh(){try{return localStorage}catch{}}function Ah(t){t.j=function(e){try{return JSON.stringify(e)}catch(r){return"[UnexpectedJSONParseError]: "+r.message}}}var yc=Ts({formatArgs:_h,save:Ch,load:Ih,useColors:vh,setupFormatters:Ah,colors:Eh,storage:Tn,log:Sh});var Q=yc;Q.formatters.b=t=>t==null?"undefined":oe.baseEncode(t);Q.formatters.t=t=>t==null?"undefined":pe.baseEncode(t);Q.formatters.m=t=>t==null?"undefined":qn.baseEncode(t);Q.formatters.p=t=>t==null?"undefined":t.toString();Q.formatters.c=t=>t==null?"undefined":t.toString();Q.formatters.k=t=>t==null?"undefined":t.toString();Q.formatters.a=t=>t==null?"undefined":t.toString();function bc(t,e=""){let r=xc(t.message),n=xc(t.stack);return r!=null&&n!=null?n.includes(r)?`${n.split(`
|
|
3
3
|
`).join(`
|
|
4
4
|
${e}`)}`:`${r}
|
|
5
5
|
${e}${n.split(`
|
|
6
6
|
`).join(`
|
|
7
7
|
${e}`)}`:n!=null?`${n.split(`
|
|
8
8
|
`).join(`
|
|
9
|
-
${e}`)}`:r!=null?`${r}`:`${t.toString()}`}function
|
|
10
|
-
${e}${t.errors.map(n=>`${
|
|
9
|
+
${e}`)}`:r!=null?`${r}`:`${t.toString()}`}function Th(t){return t instanceof AggregateError||t?.name==="AggregateError"&&Array.isArray(t.errors)}function wc(t,e=""){if(Th(t)){let r=bc(t,e);return t.errors.length>0?(e=`${e} `,r+=`
|
|
10
|
+
${e}${t.errors.map(n=>`${wc(n,`${e}`)}`).join(`
|
|
11
11
|
${e}`)}`):r+=`
|
|
12
|
-
${e}[Error list was empty]`,r.trim()}return pc(t,e)}Q.formatters.e=t=>t==null?"undefined":yc(t);function Lh(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e.useColors=()=>!1,e}function dr(t){return{forComponent(e){return bc(e,t)}}}function bc(t,e){let r=Lh(`${t}:trace`);return Q.enabled(`${t}:trace`)&&Q.names.map(n=>n.toString()).find(n=>n.includes(":trace"))!=null&&(r=Q(`${t}:trace`,e)),Object.assign(Q(t,e),{error:Q(`${t}:error`,e),trace:r,newScope:n=>bc(`${t}:${n}`,e)})}function gc(t){if(t!=null&&(t=t.trim(),t.length!==0))return t}var Ah=0,Ts=class extends tt{local;remote;constructor(e){let r=`${Ah++}`;super({...e,id:r,log:dr().forComponent(`libp2p:stream-pair:${e.direction}:${r}`)}),this.local=e.local,this.remote=e.remote,this.local.addEventListener("drain",()=>{this.safeDispatchEvent("drain")}),this.remote.addEventListener("message",n=>{this.onData(n.data)}),this.remote.addEventListener("reset",n=>{this.onRemoteReset()}),this.remote.addEventListener("closeWrite",n=>{this.onRemoteCloseWrite()})}sendData(e){let r=this.local.send(new ge(e));return{sentBytes:e.byteLength,canSendMore:r}}sendReset(){this.local.send(new Event("reset"))}async sendCloseWrite(e){return U(new Promise((r,n)=>{this.local.send(new Event("closeWrite")),this.local.onIdle().then(r,n)}),e?.signal)}async sendCloseRead(e){return U(new Promise((r,n)=>{this.local.send(new Event("closeRead")),this.local.onIdle().then(r,n)}),e?.signal)}sendPause(){this.local.send(new Event("pause"))}sendResume(){this.local.send(new Event("resume"))}onRemotePaused(){this.local.pause()}onRemoteResumed(){this.local.resume()}onMuxerDrain(){this.local.resume()}};var xc=Symbol.for("sindresorhus/unlimited-timeout#brand");function wc(t,e,...r){if(typeof t!="function")throw new TypeError("Expected callback to be a function");e??=0,e=Number(e);let n=!1,o={[xc]:!0,id:void 0,cleared:!1,ref(){return n=!1,o.id?.ref?.(),o},unref(){return n=!0,o.id?.unref?.(),o}};if(e===Number.POSITIVE_INFINITY||e>Number.MAX_SAFE_INTEGER)return o;(!Number.isFinite(e)||e<0)&&(e=0);let s=performance.now()+e,i=a=>{o.cleared||(a<=2147483647?(o.id=globalThis.setTimeout(()=>{o.cleared||t(...r)},a),n&&o.id?.unref?.()):(o.id=globalThis.setTimeout(()=>{let f=performance.now(),l=Math.max(0,s-f);i(l)},2147483647),n&&o.id?.unref?.()))};return i(e),o}function Ec(t){!t||typeof t!="object"||!t[xc]||(t.cleared=!0,t.id!==void 0&&(globalThis.clearTimeout(t.id),t.id=void 0))}var Th=new WeakMap;function Dh({clearTimeout:t,setTimeout:e}={}){return(r,{value:n,signal:o}={})=>{if(o?.aborted)return Promise.reject(o.reason);let s,i,a,f=t??clearTimeout,l=()=>{f(s),a(o.reason)},u=()=>{o&&o.removeEventListener("abort",l)},h=new Promise((p,x)=>{i=()=>{u(),p(n)},a=x,s=(e??setTimeout)(i,r)});return o&&o.addEventListener("abort",l,{once:!0}),Th.set(h,()=>{f(s),s=null,i()}),h}}var kh=Dh({setTimeout:wc,clearTimeout:Ec}),Ds=kh;var Bh=1024*64,mr=class extends ye{needsDrain;queue;capacity;delay;log;chunkSize;constructor(e){super(),this.needsDrain=!1,this.queue=new de({concurrency:1}),this.capacity=e.capacity??5,this.delay=e.delay??0,this.log=e.log,this.chunkSize=e.chunkSize??Bh,this.queue.addEventListener("idle",()=>{this.needsDrain?(this.log("network send queue drained"),this.needsDrain=!1,this.safeDispatchEvent("drain")):this.log("network send queue idle")})}send(e){if(Ph(e)){let r=new D(e.data);for(;r.byteLength>0;){let n=Math.min(this.chunkSize,r.byteLength),o=r.sublist(0,n);r.consume(o.byteLength);let s=new ge(o);this.queue.add(async i=>{this.delay>0&&await U(Ds(this.delay),i.signal),this.dispatchEvent(i.evt)},{evt:s})}}else this.queue.add(async r=>{this.delay>0&&await U(Ds(this.delay),r.signal),this.dispatchEvent(r.evt)},{evt:e});return this.queue.size>=this.capacity?(this.log("network send queue full"),this.needsDrain=!0,!1):!0}pause(){this.queue.pause()}resume(){this.queue.resume()}onIdle(){return this.queue.onIdle()}size(){return this.queue.size}};function Ph(t){return t?.data instanceof Uint8Array||ct(t?.data)}var _c=0,Dn=class extends tr{local;remote;constructor(e){super(e),this.local=e.local,this.remote=e.remote,this.local.addEventListener("drain",()=>{this.safeDispatchEvent("drain")}),this.remote.addEventListener("message",r=>{this.status==="open"&&this.onData(r.data)}),this.remote.addEventListener("reset",r=>{this.status==="open"&&this.onRemoteReset()}),this.remote.addEventListener("close",r=>{this.onTransportClosed()}),this.remote.addEventListener("pause",r=>{this.local.pause()}),this.remote.addEventListener("resume",r=>{this.local.resume()})}sendData(e){let r=this.local.send(new ge(e));return{sentBytes:e.byteLength,canSendMore:r}}sendReset(){this.local.send(new Event("reset"))}async sendClose(e){return this.local.needsDrain&&await F(this.local,"drain",{signal:e?.signal}),U(new Promise((r,n)=>{this.local.send(new Event("close")),this.local.onIdle().then(r,n)}),e?.signal)}sendPause(){this.local.send(new Event("pause"))}sendResume(){this.local.send(new Event("resume"))}};function ks(t={}){let e=`${_c++}`,r=`${_c++}`,n=dr().forComponent(`libp2p:mock-maconn:outbound:${e}`),o=dr().forComponent(`libp2p:mock-maconn:inbound:${r}`),s=new mr({...t,log:n}),i=new mr({...t,log:o});return[new Dn({...t.outbound,id:r,direction:"outbound",local:s,remote:i,remoteAddr:t?.outbound?.remoteAddr??Re(`/ip4/127.0.0.1/tcp/${r}`),log:n}),new Dn({...t.inbound,id:e,direction:"inbound",local:i,remote:s,remoteAddr:t?.inbound?.remoteAddr??Re(`/ip4/127.0.0.1/tcp/${e}`),log:o})]}var Bs=class extends de{has(e){return this.find(e)!=null}find(e){return this.queue.find(r=>e.equals(r.options.peerId))}};var Ps=class extends de{constructor(e={}){super({...e,sort:(r,n)=>r.options.priority>n.options.priority?-1:r.options.priority<n.options.priority?1:0})}};var Ns=class{memoryStorage;points;duration;blockDuration;keyPrefix;constructor(e={}){this.points=e.points??4,this.duration=e.duration??1,this.blockDuration=e.blockDuration??0,this.keyPrefix=e.keyPrefix??"rlflx",this.memoryStorage=new kn}consume(e,r=1,n={}){let o=this.getKey(e),s=this._getKeySecDuration(n),i=this.memoryStorage.incrby(o,r,s);if(i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.consumedPoints>this.points)throw this.blockDuration>0&&i.consumedPoints<=this.points+r&&(i=this.memoryStorage.set(o,i.consumedPoints,this.blockDuration)),new Jt("Rate limit exceeded",i);return i}penalty(e,r=1,n={}){let o=this.getKey(e),s=this._getKeySecDuration(n),i=this.memoryStorage.incrby(o,r,s);return i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i}reward(e,r=1,n={}){let o=this.getKey(e),s=this._getKeySecDuration(n),i=this.memoryStorage.incrby(o,-r,s);return i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i}block(e,r){let n=r*1e3,o=this.points+1;return this.memoryStorage.set(this.getKey(e),o,r),{remainingPoints:0,msBeforeNext:n===0?-1:n,consumedPoints:o,isFirstInDuration:!1}}set(e,r,n=0){let o=(n>=0?n:this.duration)*1e3;return this.memoryStorage.set(this.getKey(e),r,n),{remainingPoints:0,msBeforeNext:o===0?-1:o,consumedPoints:r,isFirstInDuration:!1}}get(e){let r=this.memoryStorage.get(this.getKey(e));return r!=null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),r}delete(e){this.memoryStorage.delete(this.getKey(e))}_getKeySecDuration(e){return e?.customDuration!=null&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?`${this.keyPrefix}:${e}`:e}parseKey(e){return e.substring(this.keyPrefix.length)}},kn=class{storage;constructor(){this.storage=new Map}incrby(e,r,n){let o=this.storage.get(e);if(o!=null){let s=o.expiresAt!=null?o.expiresAt.getTime()-new Date().getTime():-1;return o.expiresAt==null||s>0?(o.value+=r,{remainingPoints:0,msBeforeNext:s,consumedPoints:o.value,isFirstInDuration:!1}):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let o=n*1e3,s=this.storage.get(e);s!=null&&clearTimeout(s.timeoutId);let i={value:r,expiresAt:o>0?new Date(Date.now()+o):void 0};return this.storage.set(e,i),o>0&&(i.timeoutId=setTimeout(()=>{this.storage.delete(e)},o),i.timeoutId.unref!=null&&i.timeoutId.unref()),{remainingPoints:0,msBeforeNext:o===0?-1:o,consumedPoints:i.value,isFirstInDuration:!0}}get(e){let r=this.storage.get(e);if(r!=null)return{remainingPoints:0,msBeforeNext:r.expiresAt!=null?r.expiresAt.getTime()-new Date().getTime():-1,consumedPoints:r.value,isFirstInDuration:!1}}delete(e){let r=this.storage.get(e);return r!=null?(r.timeoutId!=null&&clearTimeout(r.timeoutId),this.storage.delete(e),!0):!1}};function Nh(t,e,r){let n,o,s=!1;function i(){let l={signal:o.signal},u;r?.timeout!=null&&(u=Yr([o.signal,AbortSignal.timeout(r.timeout)]),l.signal=u),s=!0,Promise.resolve().then(async()=>{await t(l)}).catch(()=>{}).finally(()=>{u!=null&&(u.aborted?u.clear():u.addEventListener("abort",()=>{u.clear()},{once:!0})),s=!1,!o.signal.aborted&&(n=setTimeout(i,e))})}let a=Lt(i,r?.debounce??100),f=!1;return{setInterval:l=>{e!==l&&(e=l,n!=null&&(clearTimeout(n),n=setTimeout(i,e)))},setTimeout:l=>{r??={},r.timeout=l},run:()=>{s||(clearTimeout(n),a())},start:()=>{f||(f=!0,o=new AbortController,o.signal,r?.runImmediately===!0?queueMicrotask(()=>{i()}):n=setTimeout(i,e))},stop:()=>{clearTimeout(n),o?.abort(),f=!1}}}async function vc(t={}){let[e,r]=ks({...t,outbound:t.outboundConnection,inbound:t.inboundConnection}),n=Ln({streamOptions:t.outbound}).createStreamMuxer(e),o=Ln({streamOptions:t.inbound}).createStreamMuxer(r),[s,i]=await Promise.all([F(o,"stream").then(a=>a.detail),n.createStream({...t.outbound,protocol:t.protocol})]);return[i,s]}async function Mh(t={}){let[e,r]=await vc(t);return fs(r),e}function Fh(t){let{name:e,metrics:r}=t,n=[];return r?.registerMetric(e,{calculate:()=>n.length}),n}var Ms=class extends Map{metric;constructor(e){super();let{name:r,metrics:n}=e;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(e,r){return super.set(e,r),this.updateComponentMetric(),this}delete(e){let r=super.delete(e);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function Uh(t){let{name:e,metrics:r}=t,n;return r!=null?n=new Ms({name:e,metrics:r}):n=new Map,n}return Dc(Oh);})();
|
|
12
|
+
${e}[Error list was empty]`,r.trim()}return bc(t,e)}Q.formatters.e=t=>t==null?"undefined":wc(t);function Dh(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e.useColors=()=>!1,e}function dr(t){return{forComponent(e){return Ec(e,t)}}}function Ec(t,e){let r=Dh(`${t}:trace`);return Q.enabled(`${t}:trace`)&&Q.names.map(n=>n.toString()).find(n=>n.includes(":trace"))!=null&&(r=Q(`${t}:trace`,e)),Object.assign(Q(t,e),{error:Q(`${t}:error`,e),trace:r,newScope:n=>Ec(`${t}:${n}`,e)})}function xc(t){if(t!=null&&(t=t.trim(),t.length!==0))return t}var kh=0,Ds=class extends tt{local;remote;constructor(e){let r=`${kh++}`;super({...e,id:r,log:dr().forComponent(`libp2p:stream-pair:${e.direction}:${r}`)}),this.local=e.local,this.remote=e.remote,this.local.addEventListener("drain",()=>{this.safeDispatchEvent("drain")}),this.remote.addEventListener("message",n=>{this.onData(n.data)}),this.remote.addEventListener("reset",n=>{this.onRemoteReset()}),this.remote.addEventListener("closeWrite",n=>{this.onRemoteCloseWrite()})}sendData(e){let r=this.local.send(new ge(e));return{sentBytes:e.byteLength,canSendMore:r}}sendReset(){this.local.send(new Event("reset"))}async sendCloseWrite(e){return U(new Promise((r,n)=>{this.local.send(new Event("closeWrite")),this.local.onIdle().then(r,n)}),e?.signal)}async sendCloseRead(e){return U(new Promise((r,n)=>{this.local.send(new Event("closeRead")),this.local.onIdle().then(r,n)}),e?.signal)}sendPause(){this.local.send(new Event("pause"))}sendResume(){this.local.send(new Event("resume"))}onRemotePaused(){this.local.pause()}onRemoteResumed(){this.local.resume()}onMuxerDrain(){this.local.resume()}};var vc=Symbol.for("sindresorhus/unlimited-timeout#brand");function _c(t,e,...r){if(typeof t!="function")throw new TypeError("Expected callback to be a function");e??=0,e=Number(e);let n=!1,o={[vc]:!0,id:void 0,cleared:!1,ref(){return n=!1,o.id?.ref?.(),o},unref(){return n=!0,o.id?.unref?.(),o}};if(e===Number.POSITIVE_INFINITY||e>Number.MAX_SAFE_INTEGER)return o;(!Number.isFinite(e)||e<0)&&(e=0);let s=performance.now()+e,i=a=>{o.cleared||(a<=2147483647?(o.id=globalThis.setTimeout(()=>{o.cleared||t(...r)},a),n&&o.id?.unref?.()):(o.id=globalThis.setTimeout(()=>{let u=performance.now(),l=Math.max(0,s-u);i(l)},2147483647),n&&o.id?.unref?.()))};return i(e),o}function Sc(t){!t||typeof t!="object"||!t[vc]||(t.cleared=!0,t.id!==void 0&&(globalThis.clearTimeout(t.id),t.id=void 0))}var Bh=new WeakMap;function Ph({clearTimeout:t,setTimeout:e}={}){return(r,{value:n,signal:o}={})=>{if(o?.aborted)return Promise.reject(o.reason);let s,i,a,u=t??clearTimeout,l=()=>{u(s),a(o.reason)},f=()=>{o&&o.removeEventListener("abort",l)},h=new Promise((p,x)=>{i=()=>{f(),p(n)},a=x,s=(e??setTimeout)(i,r)});return o&&o.addEventListener("abort",l,{once:!0}),Bh.set(h,()=>{u(s),s=null,i()}),h}}var Nh=Ph({setTimeout:_c,clearTimeout:Sc}),ks=Nh;var Mh=1024*64,mr=class extends ye{needsDrain;queue;capacity;delay;log;chunkSize;constructor(e){super(),this.needsDrain=!1,this.queue=new de({concurrency:1}),this.capacity=e.capacity??5,this.delay=e.delay??0,this.log=e.log,this.chunkSize=e.chunkSize??Mh,this.queue.addEventListener("idle",()=>{this.needsDrain?(this.log("network send queue drained"),this.needsDrain=!1,this.safeDispatchEvent("drain")):this.log("network send queue idle")})}send(e){if(Fh(e)){let r=new D(e.data);for(;r.byteLength>0;){let n=Math.min(this.chunkSize,r.byteLength),o=r.sublist(0,n);r.consume(o.byteLength);let s=new ge(o);this.queue.add(async i=>{this.delay>0&&await U(ks(this.delay),i.signal),this.dispatchEvent(i.evt)},{evt:s})}}else this.queue.add(async r=>{this.delay>0&&await U(ks(this.delay),r.signal),this.dispatchEvent(r.evt)},{evt:e});return this.queue.size>=this.capacity?(this.log("network send queue full"),this.needsDrain=!0,!1):!0}pause(){this.queue.pause()}resume(){this.queue.resume()}onIdle(){return this.queue.onIdle()}size(){return this.queue.size}};function Fh(t){return t?.data instanceof Uint8Array||ct(t?.data)}var Cc=0,Dn=class extends tr{local;remote;constructor(e){super(e),this.local=e.local,this.remote=e.remote,this.local.addEventListener("drain",()=>{this.safeDispatchEvent("drain")}),this.remote.addEventListener("message",r=>{this.status==="open"&&this.onData(r.data)}),this.remote.addEventListener("reset",r=>{this.status==="open"&&this.onRemoteReset()}),this.remote.addEventListener("close",r=>{this.onTransportClosed()}),this.remote.addEventListener("pause",r=>{this.local.pause()}),this.remote.addEventListener("resume",r=>{this.local.resume()})}sendData(e){let r=this.local.send(new ge(e));return{sentBytes:e.byteLength,canSendMore:r}}sendReset(){this.local.send(new Event("reset"))}async sendClose(e){return this.local.needsDrain&&await F(this.local,"drain",{signal:e?.signal}),U(new Promise((r,n)=>{this.local.send(new Event("close")),this.local.onIdle().then(r,n)}),e?.signal)}sendPause(){this.local.send(new Event("pause"))}sendResume(){this.local.send(new Event("resume"))}};function Bs(t={}){let e=`${Cc++}`,r=`${Cc++}`,n=dr().forComponent(`libp2p:mock-maconn:outbound:${e}`),o=dr().forComponent(`libp2p:mock-maconn:inbound:${r}`),s=new mr({...t,log:n}),i=new mr({...t,log:o});return[new Dn({...t.outbound,id:r,direction:"outbound",local:s,remote:i,remoteAddr:t?.outbound?.remoteAddr??Re(`/ip4/127.0.0.1/tcp/${r}`),log:n}),new Dn({...t.inbound,id:e,direction:"inbound",local:i,remote:s,remoteAddr:t?.inbound?.remoteAddr??Re(`/ip4/127.0.0.1/tcp/${e}`),log:o})]}var Ps=class extends de{has(e){return this.find(e)!=null}find(e){return this.queue.find(r=>e.equals(r.options.peerId))}};var Ns=class extends de{constructor(e={}){super({...e,sort:(r,n)=>r.options.priority>n.options.priority?-1:r.options.priority<n.options.priority?1:0})}};var Ms=class{memoryStorage;points;duration;blockDuration;keyPrefix;constructor(e={}){this.points=e.points??4,this.duration=e.duration??1,this.blockDuration=e.blockDuration??0,this.keyPrefix=e.keyPrefix??"rlflx",this.memoryStorage=new kn}consume(e,r=1,n={}){let o=this.getKey(e),s=this._getKeySecDuration(n),i=this.memoryStorage.incrby(o,r,s);if(i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.consumedPoints>this.points)throw this.blockDuration>0&&i.consumedPoints<=this.points+r&&(i=this.memoryStorage.set(o,i.consumedPoints,this.blockDuration)),new Jt("Rate limit exceeded",i);return i}penalty(e,r=1,n={}){let o=this.getKey(e),s=this._getKeySecDuration(n),i=this.memoryStorage.incrby(o,r,s);return i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i}reward(e,r=1,n={}){let o=this.getKey(e),s=this._getKeySecDuration(n),i=this.memoryStorage.incrby(o,-r,s);return i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i}block(e,r){let n=r*1e3,o=this.points+1;return this.memoryStorage.set(this.getKey(e),o,r),{remainingPoints:0,msBeforeNext:n===0?-1:n,consumedPoints:o,isFirstInDuration:!1}}set(e,r,n=0){let o=(n>=0?n:this.duration)*1e3;return this.memoryStorage.set(this.getKey(e),r,n),{remainingPoints:0,msBeforeNext:o===0?-1:o,consumedPoints:r,isFirstInDuration:!1}}get(e){let r=this.memoryStorage.get(this.getKey(e));return r!=null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),r}delete(e){this.memoryStorage.delete(this.getKey(e))}_getKeySecDuration(e){return e?.customDuration!=null&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?`${this.keyPrefix}:${e}`:e}parseKey(e){return e.substring(this.keyPrefix.length)}},kn=class{storage;constructor(){this.storage=new Map}incrby(e,r,n){let o=this.storage.get(e);if(o!=null){let s=o.expiresAt!=null?o.expiresAt.getTime()-new Date().getTime():-1;return o.expiresAt==null||s>0?(o.value+=r,{remainingPoints:0,msBeforeNext:s,consumedPoints:o.value,isFirstInDuration:!1}):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let o=n*1e3,s=this.storage.get(e);s!=null&&clearTimeout(s.timeoutId);let i={value:r,expiresAt:o>0?new Date(Date.now()+o):void 0};return this.storage.set(e,i),o>0&&(i.timeoutId=setTimeout(()=>{this.storage.delete(e)},o),i.timeoutId.unref!=null&&i.timeoutId.unref()),{remainingPoints:0,msBeforeNext:o===0?-1:o,consumedPoints:i.value,isFirstInDuration:!0}}get(e){let r=this.storage.get(e);if(r!=null)return{remainingPoints:0,msBeforeNext:r.expiresAt!=null?r.expiresAt.getTime()-new Date().getTime():-1,consumedPoints:r.value,isFirstInDuration:!1}}delete(e){let r=this.storage.get(e);return r!=null?(r.timeoutId!=null&&clearTimeout(r.timeoutId),this.storage.delete(e),!0):!1}};function Uh(t,e,r){let n,o,s=!1;function i(){let l={signal:o.signal},f;r?.timeout!=null&&(f=Yr([o.signal,AbortSignal.timeout(r.timeout)]),l.signal=f),s=!0,Promise.resolve().then(async()=>{await t(l)}).catch(()=>{}).finally(()=>{f!=null&&(f.aborted?f.clear():f.addEventListener("abort",()=>{f.clear()},{once:!0})),s=!1,!o.signal.aborted&&(n=setTimeout(i,e))})}let a=Lt(i,r?.debounce??100),u=!1;return{setInterval:l=>{e!==l&&(e=l,n!=null&&(clearTimeout(n),n=setTimeout(i,e)))},setTimeout:l=>{r??={},r.timeout=l},run:()=>{s||(clearTimeout(n),a())},start:()=>{u||(u=!0,o=new AbortController,o.signal,r?.runImmediately===!0?queueMicrotask(()=>{i()}):n=setTimeout(i,e))},stop:()=>{clearTimeout(n),o?.abort(),u=!1}}}async function Ic(t={}){let[e,r]=Bs({...t,outbound:t.outboundConnection,inbound:t.inboundConnection}),n=Ln({streamOptions:t.outbound}).createStreamMuxer(e),o=Ln({streamOptions:t.inbound}).createStreamMuxer(r),[s,i]=await Promise.all([F(o,"stream").then(a=>a.detail),n.createStream({...t.outbound,protocol:t.protocol})]);return[i,s]}async function Oh(t={}){let[e,r]=await Ic(t);return ls(r),e}function Rh(t){let{name:e,metrics:r}=t,n=[];return r?.registerMetric(e,{calculate:()=>n.length}),n}var Fs=class extends Map{metric;constructor(e){super();let{name:r,metrics:n}=e;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(e,r){return super.set(e,r),this.updateComponentMetric(),this}delete(e){let r=super.delete(e);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function $h(t){let{name:e,metrics:r}=t,n;return r!=null?n=new Fs({name:e,metrics:r}):n=new Map,n}return Pc(zh);})();
|
|
13
13
|
return Libp2PUtils}));
|
|
14
14
|
//# sourceMappingURL=index.min.js.map
|