@libp2p/daemon-client 9.0.3 → 9.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -1,9 +1,9 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PDaemonClient = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PDaemonClient=(()=>{var Sc=Object.create;var cr=Object.defineProperty;var Ac=Object.getOwnPropertyDescriptor;var Tc=Object.getOwnPropertyNames;var Lc=Object.getPrototypeOf,Bc=Object.prototype.hasOwnProperty;var X=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(t,e)=>(typeof require<"u"?require:t)[e]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var ut=(r,t)=>{for(var e in t)cr(r,e,{get:t[e],enumerable:!0})},xi=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Tc(t))!Bc.call(r,o)&&o!==e&&cr(r,o,{get:()=>t[o],enumerable:!(n=Ac(t,o))||n.enumerable});return r};var ht=(r,t,e)=>(e=r!=null?Sc(Lc(r)):{},xi(t||!r||!r.__esModule?cr(e,"default",{value:r,enumerable:!0}):e,r)),Cc=r=>xi(cr({},"__esModule",{value:!0}),r);var Rl={};ut(Rl,{OperationFailedError:()=>R,createClient:()=>Ul});var Tn=X("node:buffer");function ue(r){return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}function Dt(r=0){return ue(Tn.Buffer.alloc(r))}function wt(r=0){return ue(Tn.Buffer.allocUnsafe(r))}var Pc=Math.pow(2,7),kc=Math.pow(2,14),Nc=Math.pow(2,21),Ln=Math.pow(2,28),Bn=Math.pow(2,35),Cn=Math.pow(2,42),Pn=Math.pow(2,49),D=128,nt=127;function ot(r){if(r<Pc)return 1;if(r<kc)return 2;if(r<Nc)return 3;if(r<Ln)return 4;if(r<Bn)return 5;if(r<Cn)return 6;if(r<Pn)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function kn(r,t,e=0){switch(ot(r)){case 8:t[e++]=r&255|D,r/=128;case 7:t[e++]=r&255|D,r/=128;case 6:t[e++]=r&255|D,r/=128;case 5:t[e++]=r&255|D,r/=128;case 4:t[e++]=r&255|D,r>>>=7;case 3:t[e++]=r&255|D,r>>>=7;case 2:t[e++]=r&255|D,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function Oc(r,t,e=0){switch(ot(r)){case 8:t.set(e++,r&255|D),r/=128;case 7:t.set(e++,r&255|D),r/=128;case 6:t.set(e++,r&255|D),r/=128;case 5:t.set(e++,r&255|D),r/=128;case 4:t.set(e++,r&255|D),r>>>=7;case 3:t.set(e++,r&255|D),r>>>=7;case 2:t.set(e++,r&255|D),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function Nn(r,t){let e=r[t],n=0;if(n+=e&nt,e<D||(e=r[t+1],n+=(e&nt)<<7,e<D)||(e=r[t+2],n+=(e&nt)<<14,e<D)||(e=r[t+3],n+=(e&nt)<<21,e<D)||(e=r[t+4],n+=(e&nt)*Ln,e<D)||(e=r[t+5],n+=(e&nt)*Bn,e<D)||(e=r[t+6],n+=(e&nt)*Cn,e<D)||(e=r[t+7],n+=(e&nt)*Pn,e<D))return n;throw new RangeError("Could not decode varint")}function Dc(r,t){let e=r.get(t),n=0;if(n+=e&nt,e<D||(e=r.get(t+1),n+=(e&nt)<<7,e<D)||(e=r.get(t+2),n+=(e&nt)<<14,e<D)||(e=r.get(t+3),n+=(e&nt)<<21,e<D)||(e=r.get(t+4),n+=(e&nt)*Ln,e<D)||(e=r.get(t+5),n+=(e&nt)*Bn,e<D)||(e=r.get(t+6),n+=(e&nt)*Cn,e<D)||(e=r.get(t+7),n+=(e&nt)*Pn,e<D))return n;throw new RangeError("Could not decode varint")}function Yt(r,t,e=0){return t==null&&(t=wt(ot(r))),t instanceof Uint8Array?kn(r,t,e):Oc(r,t,e)}function Ut(r,t=0){return r instanceof Uint8Array?Nn(r,t):Dc(r,t)}var Dn=new Float32Array([-0]),Zt=new Uint8Array(Dn.buffer);function Ei(r,t,e){Dn[0]=r,t[e]=Zt[0],t[e+1]=Zt[1],t[e+2]=Zt[2],t[e+3]=Zt[3]}function vi(r,t){return Zt[0]=r[t],Zt[1]=r[t+1],Zt[2]=r[t+2],Zt[3]=r[t+3],Dn[0]}var Un=new Float64Array([-0]),it=new Uint8Array(Un.buffer);function Ii(r,t,e){Un[0]=r,t[e]=it[0],t[e+1]=it[1],t[e+2]=it[2],t[e+3]=it[3],t[e+4]=it[4],t[e+5]=it[5],t[e+6]=it[6],t[e+7]=it[7]}function Si(r,t){return it[0]=r[t],it[1]=r[t+1],it[2]=r[t+2],it[3]=r[t+3],it[4]=r[t+4],it[5]=r[t+5],it[6]=r[t+6],it[7]=r[t+7],Un[0]}var Uc=BigInt(Number.MAX_SAFE_INTEGER),Rc=BigInt(Number.MIN_SAFE_INTEGER),pt=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return le;if(t<Uc&&t>Rc)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,o=t-(n<<32n);return e&&(n=~n|0n,o=~o|0n,++o>Ai&&(o=0n,++n>Ai&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(t){if(t===0)return le;let e=t<0;e&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return e&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):le}},le=new pt(0,0);le.toBigInt=function(){return 0n};le.zzEncode=le.zzDecode=function(){return this};le.length=function(){return 1};var Ai=4294967296n;function Ti(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function Li(r,t,e){if(e-t<1)return"";let o,i=[],s=0,c;for(;t<e;)c=r[t++],c<128?i[s++]=c:c>191&&c<224?i[s++]=(c&31)<<6|r[t++]&63:c>239&&c<365?(c=((c&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,i[s++]=55296+(c>>10),i[s++]=56320+(c&1023)):i[s++]=(c&15)<<12|(r[t++]&63)<<6|r[t++]&63,s>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,i)),s=0);return o!=null?(s>0&&o.push(String.fromCharCode.apply(String,i.slice(0,s))),o.join("")):String.fromCharCode.apply(String,i.slice(0,s))}function Rn(r,t,e){let n=e,o,i;for(let s=0;s<r.length;++s)o=r.charCodeAt(s),o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&((i=r.charCodeAt(s+1))&64512)===56320?(o=65536+((o&1023)<<10)+(i&1023),++s,t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128);return e-n}function Tt(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function ar(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var _n=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,Tt(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Tt(this,4);return ar(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Tt(this,4);return ar(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Tt(this,4);let t=vi(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Tt(this,4);let t=Si(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw Tt(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return Li(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Tt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Tt(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new pt(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Tt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Tt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Tt(this,8);let t=ar(this.buf,this.pos+=4),e=ar(this.buf,this.pos+=4);return new pt(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=Nn(this.buf,this.pos);return this.pos+=ot(t),t}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function Mn(r){return new _n(r instanceof Uint8Array?r:r.subarray())}function $(r,t,e){let n=Mn(r);return t.decode(n,void 0,e)}var Yi=X("node:buffer");var Hn={};ut(Hn,{base10:()=>Vc});var Xl=new Uint8Array(0);function Ci(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function xt(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function Pi(r){return new TextEncoder().encode(r)}function ki(r){return new TextDecoder().decode(r)}function _c(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var o=0;o<r.length;o++){var i=r.charAt(o),s=i.charCodeAt(0);if(e[s]!==255)throw new TypeError(i+" is ambiguous");e[s]=o}var c=r.length,a=r.charAt(0),f=Math.log(c)/Math.log(256),l=Math.log(256)/Math.log(c);function u(w){if(w instanceof Uint8Array||(ArrayBuffer.isView(w)?w=new Uint8Array(w.buffer,w.byteOffset,w.byteLength):Array.isArray(w)&&(w=Uint8Array.from(w))),!(w instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(w.length===0)return"";for(var y=0,h=0,p=0,g=w.length;p!==g&&w[p]===0;)p++,y++;for(var E=(g-p)*l+1>>>0,I=new Uint8Array(E);p!==g;){for(var P=w[p],B=0,v=E-1;(P!==0||B<h)&&v!==-1;v--,B++)P+=256*I[v]>>>0,I[v]=P%c>>>0,P=P/c>>>0;if(P!==0)throw new Error("Non-zero carry");h=B,p++}for(var T=E-h;T!==E&&I[T]===0;)T++;for(var C=a.repeat(y);T<E;++T)C+=r.charAt(I[T]);return C}function d(w){if(typeof w!="string")throw new TypeError("Expected String");if(w.length===0)return new Uint8Array;var y=0;if(w[y]!==" "){for(var h=0,p=0;w[y]===a;)h++,y++;for(var g=(w.length-y)*f+1>>>0,E=new Uint8Array(g);w[y];){var I=e[w.charCodeAt(y)];if(I===255)return;for(var P=0,B=g-1;(I!==0||P<p)&&B!==-1;B--,P++)I+=c*E[B]>>>0,E[B]=I%256>>>0,I=I/256>>>0;if(I!==0)throw new Error("Non-zero carry");p=P,y++}if(w[y]!==" "){for(var v=g-p;v!==g&&E[v]===0;)v++;for(var T=new Uint8Array(h+(g-v)),C=h;v!==g;)T[C++]=E[v++];return T}}}function m(w){var y=d(w);if(y)return y;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:d,decode:m}}var Mc=_c,Kc=Mc,Oi=Kc;var Kn=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},$n=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){this.name=t,this.prefix=e;let o=e.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Di(this,t)}},Fn=class{decoders;constructor(t){this.decoders=t}or(t){return Di(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Di(r,t){return new Fn({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Vn=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new Kn(t,e,n),this.decoder=new $n(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function Ae({name:r,prefix:t,encode:e,decode:n}){return new Vn(r,t,e,n)}function Xt({name:r,prefix:t,alphabet:e}){let{encode:n,decode:o}=Oi(e,r);return Ae({prefix:t,name:r,encode:n,decode:i=>xt(o(i))})}function $c(r,t,e,n){let o={};for(let l=0;l<t.length;++l)o[t[l]]=l;let i=r.length;for(;r[i-1]==="=";)--i;let s=new Uint8Array(i*e/8|0),c=0,a=0,f=0;for(let l=0;l<i;++l){let u=o[r[l]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<e|u,c+=e,c>=8&&(c-=8,s[f++]=255&a>>c)}if(c>=e||255&a<<8-c)throw new SyntaxError("Unexpected end of data");return s}function Fc(r,t,e){let n=t[t.length-1]==="=",o=(1<<e)-1,i="",s=0,c=0;for(let a=0;a<r.length;++a)for(c=c<<8|r[a],s+=8;s>e;)s-=e,i+=t[o&c>>s];if(s!==0&&(i+=t[o&c<<e-s]),n)for(;i.length*e&7;)i+="=";return i}function z({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return Ae({prefix:t,name:r,encode(o){return Fc(o,n,e)},decode(o){return $c(o,n,e,r)}})}var Vc=Xt({prefix:"9",name:"base10",alphabet:"0123456789"});var Gn={};ut(Gn,{base16:()=>Hc,base16upper:()=>Gc});var Hc=z({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Gc=z({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var zn={};ut(zn,{base2:()=>zc});var zc=z({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var qn={};ut(qn,{base256emoji:()=>Xc});var Ui=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}"),qc=Ui.reduce((r,t,e)=>(r[e]=t,r),[]),Wc=Ui.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function Yc(r){return r.reduce((t,e)=>(t+=qc[e],t),"")}function Zc(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let o=Wc[n];if(o==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(o)}return new Uint8Array(t)}var Xc=Ae({prefix:"\u{1F680}",name:"base256emoji",encode:Yc,decode:Zc});var Wn={};ut(Wn,{base32:()=>Lt,base32hex:()=>ta,base32hexpad:()=>ra,base32hexpadupper:()=>na,base32hexupper:()=>ea,base32pad:()=>Jc,base32padupper:()=>jc,base32upper:()=>Qc,base32z:()=>oa});var Lt=z({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Qc=z({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Jc=z({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),jc=z({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),ta=z({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ea=z({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ra=z({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),na=z({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),oa=z({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Yn={};ut(Yn,{base36:()=>He,base36upper:()=>ia});var He=Xt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ia=Xt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Zn={};ut(Zn,{base58btc:()=>F,base58flickr:()=>sa});var F=Xt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),sa=Xt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Qn={};ut(Qn,{base64:()=>Xn,base64pad:()=>ca,base64url:()=>aa,base64urlpad:()=>ua});var Xn=z({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ca=z({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),aa=z({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),ua=z({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Jn={};ut(Jn,{base8:()=>la});var la=z({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var jn={};ut(jn,{identity:()=>fa});var fa=Ae({prefix:"\0",name:"identity",encode:r=>ki(r),decode:r=>Pi(r)});var hf=new TextEncoder,pf=new TextDecoder;var eo={};ut(eo,{identity:()=>Rt});var pa=Mi,Ri=128,ma=127,ga=~ma,ya=Math.pow(2,31);function Mi(r,t,e){t=t||[],e=e||0;for(var n=e;r>=ya;)t[e++]=r&255|Ri,r/=128;for(;r&ga;)t[e++]=r&255|Ri,r>>>=7;return t[e]=r|0,Mi.bytes=e-n+1,t}var ba=to,wa=128,_i=127;function to(r,n){var e=0,n=n||0,o=0,i=n,s,c=r.length;do{if(i>=c)throw to.bytes=0,new RangeError("Could not decode varint");s=r[i++],e+=o<28?(s&_i)<<o:(s&_i)*Math.pow(2,o),o+=7}while(s>=wa);return to.bytes=i-n,e}var xa=Math.pow(2,7),Ea=Math.pow(2,14),va=Math.pow(2,21),Ia=Math.pow(2,28),Sa=Math.pow(2,35),Aa=Math.pow(2,42),Ta=Math.pow(2,49),La=Math.pow(2,56),Ba=Math.pow(2,63),Ca=function(r){return r<xa?1:r<Ea?2:r<va?3:r<Ia?4:r<Sa?5:r<Aa?6:r<Ta?7:r<La?8:r<Ba?9:10},Pa={encode:pa,decode:ba,encodingLength:Ca},ka=Pa,Ge=ka;function ze(r,t=0){return[Ge.decode(r,t),Ge.decode.bytes]}function Te(r,t,e=0){return Ge.encode(r,t,e),t}function Le(r){return Ge.encodingLength(r)}function fe(r,t){let e=t.byteLength,n=Le(r),o=n+Le(e),i=new Uint8Array(o+e);return Te(r,i,0),Te(e,i,n),i.set(t,o),new Be(r,e,t,i)}function lt(r){let t=xt(r),[e,n]=ze(t),[o,i]=ze(t.subarray(n)),s=t.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new Be(e,o,s,t)}function Ki(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Ci(r.bytes,e.bytes)}}var Be=class{code;size;digest;bytes;constructor(t,e,n,o){this.code=t,this.size=e,this.digest=n,this.bytes=o}};var $i=0,Na="identity",Fi=xt;function Oa(r){return fe($i,Fi(r))}var Rt={code:$i,name:Na,encode:Fi,digest:Oa};var so={};ut(so,{sha256:()=>io,sha512:()=>Da});var oo=ht(X("crypto"),1);function no({name:r,code:t,encode:e}){return new ro(r,t,e)}var ro=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?fe(this.code,e):e.then(n=>fe(this.code,n))}else throw Error("Unknown type, must be binary type")}};var io=no({name:"sha2-256",code:18,encode:r=>xt(oo.default.createHash("sha256").update(r).digest())}),Da=no({name:"sha2-512",code:19,encode:r=>xt(oo.default.createHash("sha512").update(r).digest())});function Hi(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Ra(e,co(r),t??F.encoder);default:return _a(e,co(r),t??Lt.encoder)}}var Gi=new WeakMap;function co(r){let t=Gi.get(r);if(t==null){let e=new Map;return Gi.set(r,e),e}return t}var j=class r{code;version;multihash;bytes;"/";constructor(t,e,n,o){this.code=e,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==qe)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Ma)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=fe(t,e);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&Ki(t.multihash,n.multihash)}toString(t){return Hi(this,t)}toJSON(){return{"/":Hi(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:o,multihash:i,bytes:s}=e;return new r(n,o,i,s??zi(n,o,i.bytes))}else if(e[Ka]===!0){let{version:n,multihash:o,code:i}=e,s=lt(o);return r.create(n,i,s)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==qe)throw new Error(`Version 0 CID must use dag-pb (code: ${qe}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=zi(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,qe,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,o=xt(t.subarray(n,n+e.multihashSize));if(o.byteLength!==e.multihashSize)throw new Error("Incorrect length");let i=o.subarray(e.multihashSize-e.digestSize),s=new Be(e.multihashCode,e.digestSize,i,o);return[e.version===0?r.createV0(s):r.createV1(e.codec,s),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[u,d]=ze(t.subarray(e));return e+=d,u},o=n(),i=qe;if(o===18?(o=0,e=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=e,c=n(),a=n(),f=e+a,l=f-s;return{version:o,codec:i,multihashCode:c,digestSize:a,multihashSize:l,size:f}}static parse(t,e){let[n,o]=Ua(t,e),i=r.decode(o);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return co(i).set(n,t),i}};function Ua(r,t){switch(r[0]){case"Q":{let e=t??F;return[F.prefix,e.decode(`${F.prefix}${r}`)]}case F.prefix:{let e=t??F;return[F.prefix,e.decode(r)]}case Lt.prefix:{let e=t??Lt;return[Lt.prefix,e.decode(r)]}case He.prefix:{let e=t??He;return[He.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Ra(r,t,e){let{prefix:n}=e;if(n!==F.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let o=t.get(n);if(o==null){let i=e.encode(r).slice(1);return t.set(n,i),i}else return o}function _a(r,t,e){let{prefix:n}=e,o=t.get(n);if(o==null){let i=e.encode(r);return t.set(n,i),i}else return o}var qe=112,Ma=18;function zi(r,t,e){let n=Le(r),o=n+Le(t),i=new Uint8Array(o+e.byteLength);return Te(r,i,0),Te(t,i,n),i.set(e,o),i}var Ka=Symbol.for("@ipld/js-cid/CID");var We={...jn,...zn,...Jn,...Hn,...Gn,...Wn,...Yn,...Zn,...Qn,...qn},_f={...so,...eo};function Wi(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var qi=Wi("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),ao=Wi("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=wt(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),$a={utf8:qi,"utf-8":qi,hex:We.base16,latin1:ao,ascii:ao,binary:ao,...We},lr=$a;function Qt(r,t="utf8"){let e=lr[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return t==="utf8"||t==="utf-8"?ue(Yi.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function uo(r){let t=r??8192,e=t>>>1,n,o=t;return function(s){if(s<1||s>e)return wt(s);o+s>t&&(n=wt(t),o=0);let c=n.subarray(o,o+=s);return o&7&&(o=(o|7)+1),c}}var de=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function lo(){}var ho=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Fa=uo();function Va(r){return globalThis.Buffer!=null?wt(r):Fa(r)}var Ze=class{len;head;tail;states;constructor(){this.len=0,this.head=new de(lo,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new de(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new po((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(fr,10,pt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=pt.fromBigInt(t);return this._push(fr,e.length(),e)}uint64Number(t){return this._push(kn,ot(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=pt.fromBigInt(t).zzEncode();return this._push(fr,e.length(),e)}sint64Number(t){let e=pt.fromNumber(t).zzEncode();return this._push(fr,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(fo,1,t?1:0)}fixed32(t){return this._push(Ye,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=pt.fromBigInt(t);return this._push(Ye,4,e.lo)._push(Ye,4,e.hi)}fixed64Number(t){let e=pt.fromNumber(t);return this._push(Ye,4,e.lo)._push(Ye,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(Ei,4,t)}double(t){return this._push(Ii,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(fo,1,0):this.uint32(e)._push(Ga,e,t)}string(t){let e=Ti(t);return e!==0?this.uint32(e)._push(Rn,e,t):this._push(fo,1,0)}fork(){return this.states=new ho(this),this.head=this.tail=new de(lo,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new de(lo,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=Va(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function fo(r,t,e){t[e]=r&255}function Ha(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var po=class extends de{next;constructor(t,e){super(Ha,t,e),this.next=void 0}};function fr(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function Ye(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function Ga(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(Ze.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(za,t,r),this},Ze.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(qa,t,r),this});function za(r,t,e){t.set(r,e)}function qa(r,t,e){r.length<40?Rn(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(Qt(r),e)}function mo(){return new Ze}function V(r,t){let e=mo();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var Ce;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(Ce||(Ce={}));function dr(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function Bt(r){function t(o){if(r[o.toString()]==null)throw new Error("Invalid enum value");return r[o]}let e=function(i,s){let c=t(i);s.int32(c)},n=function(i){let s=i.int32();return t(s)};return dr("enum",Ce.VARINT,e,n)}function H(r,t){return dr("message",Ce.LENGTH_DELIMITED,r,t)}var q;(function(r){let t;(function(o){o.IDENTIFY="IDENTIFY",o.CONNECT="CONNECT",o.STREAM_OPEN="STREAM_OPEN",o.STREAM_HANDLER="STREAM_HANDLER",o.DHT="DHT",o.LIST_PEERS="LIST_PEERS",o.CONNMANAGER="CONNMANAGER",o.DISCONNECT="DISCONNECT",o.PUBSUB="PUBSUB",o.PEERSTORE="PEERSTORE"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.IDENTIFY=0]="IDENTIFY",o[o.CONNECT=1]="CONNECT",o[o.STREAM_OPEN=2]="STREAM_OPEN",o[o.STREAM_HANDLER=3]="STREAM_HANDLER",o[o.DHT=4]="DHT",o[o.LIST_PEERS=5]="LIST_PEERS",o[o.CONNMANAGER=6]="CONNMANAGER",o[o.DISCONNECT=7]="DISCONNECT",o[o.PUBSUB=8]="PUBSUB",o[o.PEERSTORE=9]="PEERSTORE"})(e||(e={})),function(o){o.codec=()=>Bt(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=H((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.connect!=null&&(i.uint32(18),pr.codec().encode(o.connect,i)),o.streamOpen!=null&&(i.uint32(26),mr.codec().encode(o.streamOpen,i)),o.streamHandler!=null&&(i.uint32(34),gr.codec().encode(o.streamHandler,i)),o.dht!=null&&(i.uint32(42),Et.codec().encode(o.dht,i)),o.connManager!=null&&(i.uint32(50),br.codec().encode(o.connManager,i)),o.disconnect!=null&&(i.uint32(58),wr.codec().encode(o.disconnect,i)),o.pubsub!=null&&(i.uint32(66),_t.codec().encode(o.pubsub,i)),o.peerStore!=null&&(i.uint32(74),vr.codec().encode(o.peerStore,i)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={},c=i==null?o.len:o.pos+i;for(;o.pos<c;){let a=o.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.connect=pr.codec().decode(o,o.uint32());break;case 3:s.streamOpen=mr.codec().decode(o,o.uint32());break;case 4:s.streamHandler=gr.codec().decode(o,o.uint32());break;case 5:s.dht=Et.codec().decode(o,o.uint32());break;case 6:s.connManager=br.codec().decode(o,o.uint32());break;case 7:s.disconnect=wr.codec().decode(o,o.uint32());break;case 8:s.pubsub=_t.codec().decode(o,o.uint32());break;case 9:s.peerStore=vr.codec().decode(o,o.uint32());break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>V(o,r.codec()),r.decode=o=>$(o,r.codec())})(q||(q={}));var N;(function(r){let t;(function(o){o.OK="OK",o.ERROR="ERROR"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.OK=0]="OK",o[o.ERROR=1]="ERROR"})(e||(e={})),function(o){o.codec=()=>Bt(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=H((o,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.error!=null&&(i.uint32(18),yr.codec().encode(o.error,i)),o.streamInfo!=null&&(i.uint32(26),Pe.codec().encode(o.streamInfo,i)),o.identify!=null&&(i.uint32(34),hr.codec().encode(o.identify,i)),o.dht!=null&&(i.uint32(42),Ct.codec().encode(o.dht,i)),o.peers!=null)for(let c of o.peers)i.uint32(50),Jt.codec().encode(c,i);o.pubsub!=null&&(i.uint32(58),Er.codec().encode(o.pubsub,i)),o.peerStore!=null&&(i.uint32(66),Ir.codec().encode(o.peerStore,i)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={peers:[]},c=i==null?o.len:o.pos+i;for(;o.pos<c;){let a=o.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.error=yr.codec().decode(o,o.uint32());break;case 3:s.streamInfo=Pe.codec().decode(o,o.uint32());break;case 4:s.identify=hr.codec().decode(o,o.uint32());break;case 5:s.dht=Ct.codec().decode(o,o.uint32());break;case 6:s.peers.push(Jt.codec().decode(o,o.uint32()));break;case 7:s.pubsub=Er.codec().decode(o,o.uint32());break;case 8:s.peerStore=Ir.codec().decode(o,o.uint32());break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>V(o,r.codec()),r.decode=o=>$(o,r.codec())})(N||(N={}));var hr;(function(r){let t;r.codec=()=>(t==null&&(t=H((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.id!=null&&e.id.byteLength>0&&(n.uint32(10),n.bytes(e.id)),e.addrs!=null)for(let i of e.addrs)n.uint32(18),n.bytes(i);o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={id:new Uint8Array(0),addrs:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.id=e.bytes();break;case 2:o.addrs.push(e.bytes());break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>$(e,r.codec())})(hr||(hr={}));var pr;(function(r){let t;r.codec=()=>(t==null&&(t=H((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.peer!=null&&e.peer.byteLength>0&&(n.uint32(10),n.bytes(e.peer)),e.addrs!=null)for(let i of e.addrs)n.uint32(18),n.bytes(i);e.timeout!=null&&(n.uint32(24),n.int64(e.timeout)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={peer:new Uint8Array(0),addrs:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.peer=e.bytes();break;case 2:o.addrs.push(e.bytes());break;case 3:o.timeout=e.int64();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>$(e,r.codec())})(pr||(pr={}));var mr;(function(r){let t;r.codec=()=>(t==null&&(t=H((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.peer!=null&&e.peer.byteLength>0&&(n.uint32(10),n.bytes(e.peer)),e.proto!=null)for(let i of e.proto)n.uint32(18),n.string(i);e.timeout!=null&&(n.uint32(24),n.int64(e.timeout)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={peer:new Uint8Array(0),proto:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.peer=e.bytes();break;case 2:o.proto.push(e.string());break;case 3:o.timeout=e.int64();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>$(e,r.codec())})(mr||(mr={}));var gr;(function(r){let t;r.codec=()=>(t==null&&(t=H((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.addr!=null&&e.addr.byteLength>0&&(n.uint32(10),n.bytes(e.addr)),e.proto!=null)for(let i of e.proto)n.uint32(18),n.string(i);o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={addr:new Uint8Array(0),proto:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.addr=e.bytes();break;case 2:o.proto.push(e.string());break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>$(e,r.codec())})(gr||(gr={}));var yr;(function(r){let t;r.codec=()=>(t==null&&(t=H((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.msg!=null&&e.msg!==""&&(n.uint32(10),n.string(e.msg)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={msg:""},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.msg=e.string();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>$(e,r.codec())})(yr||(yr={}));var Pe;(function(r){let t;r.codec=()=>(t==null&&(t=H((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.peer!=null&&e.peer.byteLength>0&&(n.uint32(10),n.bytes(e.peer)),e.addr!=null&&e.addr.byteLength>0&&(n.uint32(18),n.bytes(e.addr)),e.proto!=null&&e.proto!==""&&(n.uint32(26),n.string(e.proto)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={peer:new Uint8Array(0),addr:new Uint8Array(0),proto:""},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.peer=e.bytes();break;case 2:o.addr=e.bytes();break;case 3:o.proto=e.string();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>$(e,r.codec())})(Pe||(Pe={}));var Et;(function(r){let t;(function(o){o.FIND_PEER="FIND_PEER",o.FIND_PEERS_CONNECTED_TO_PEER="FIND_PEERS_CONNECTED_TO_PEER",o.FIND_PROVIDERS="FIND_PROVIDERS",o.GET_CLOSEST_PEERS="GET_CLOSEST_PEERS",o.GET_PUBLIC_KEY="GET_PUBLIC_KEY",o.GET_VALUE="GET_VALUE",o.SEARCH_VALUE="SEARCH_VALUE",o.PUT_VALUE="PUT_VALUE",o.PROVIDE="PROVIDE"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.FIND_PEER=0]="FIND_PEER",o[o.FIND_PEERS_CONNECTED_TO_PEER=1]="FIND_PEERS_CONNECTED_TO_PEER",o[o.FIND_PROVIDERS=2]="FIND_PROVIDERS",o[o.GET_CLOSEST_PEERS=3]="GET_CLOSEST_PEERS",o[o.GET_PUBLIC_KEY=4]="GET_PUBLIC_KEY",o[o.GET_VALUE=5]="GET_VALUE",o[o.SEARCH_VALUE=6]="SEARCH_VALUE",o[o.PUT_VALUE=7]="PUT_VALUE",o[o.PROVIDE=8]="PROVIDE"})(e||(e={})),function(o){o.codec=()=>Bt(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=H((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.peer!=null&&(i.uint32(18),i.bytes(o.peer)),o.cid!=null&&(i.uint32(26),i.bytes(o.cid)),o.key!=null&&(i.uint32(34),i.bytes(o.key)),o.value!=null&&(i.uint32(42),i.bytes(o.value)),o.count!=null&&(i.uint32(48),i.int32(o.count)),o.timeout!=null&&(i.uint32(56),i.int64(o.timeout)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={},c=i==null?o.len:o.pos+i;for(;o.pos<c;){let a=o.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.peer=o.bytes();break;case 3:s.cid=o.bytes();break;case 4:s.key=o.bytes();break;case 5:s.value=o.bytes();break;case 6:s.count=o.int32();break;case 7:s.timeout=o.int64();break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>V(o,r.codec()),r.decode=o=>$(o,r.codec())})(Et||(Et={}));var Ct;(function(r){let t;(function(o){o.BEGIN="BEGIN",o.VALUE="VALUE",o.END="END"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.BEGIN=0]="BEGIN",o[o.VALUE=1]="VALUE",o[o.END=2]="END"})(e||(e={})),function(o){o.codec=()=>Bt(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=H((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.peer!=null&&(i.uint32(18),Jt.codec().encode(o.peer,i)),o.value!=null&&(i.uint32(26),i.bytes(o.value)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={},c=i==null?o.len:o.pos+i;for(;o.pos<c;){let a=o.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.peer=Jt.codec().decode(o,o.uint32());break;case 3:s.value=o.bytes();break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>V(o,r.codec()),r.decode=o=>$(o,r.codec())})(Ct||(Ct={}));var Jt;(function(r){let t;r.codec=()=>(t==null&&(t=H((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.id!=null&&e.id.byteLength>0&&(n.uint32(10),n.bytes(e.id)),e.addrs!=null)for(let i of e.addrs)n.uint32(18),n.bytes(i);o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={id:new Uint8Array(0),addrs:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.id=e.bytes();break;case 2:o.addrs.push(e.bytes());break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>$(e,r.codec())})(Jt||(Jt={}));var br;(function(r){let t;(function(o){o.TAG_PEER="TAG_PEER",o.UNTAG_PEER="UNTAG_PEER",o.TRIM="TRIM"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.TAG_PEER=0]="TAG_PEER",o[o.UNTAG_PEER=1]="UNTAG_PEER",o[o.TRIM=2]="TRIM"})(e||(e={})),function(o){o.codec=()=>Bt(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=H((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.peer!=null&&(i.uint32(18),i.bytes(o.peer)),o.tag!=null&&(i.uint32(26),i.string(o.tag)),o.weight!=null&&(i.uint32(32),i.int64(o.weight)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={},c=i==null?o.len:o.pos+i;for(;o.pos<c;){let a=o.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.peer=o.bytes();break;case 3:s.tag=o.string();break;case 4:s.weight=o.int64();break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>V(o,r.codec()),r.decode=o=>$(o,r.codec())})(br||(br={}));var wr;(function(r){let t;r.codec=()=>(t==null&&(t=H((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.peer!=null&&e.peer.byteLength>0&&(n.uint32(10),n.bytes(e.peer)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={peer:new Uint8Array(0)},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.peer=e.bytes();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>$(e,r.codec())})(wr||(wr={}));var _t;(function(r){let t;(function(o){o.GET_TOPICS="GET_TOPICS",o.LIST_PEERS="LIST_PEERS",o.PUBLISH="PUBLISH",o.SUBSCRIBE="SUBSCRIBE"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.GET_TOPICS=0]="GET_TOPICS",o[o.LIST_PEERS=1]="LIST_PEERS",o[o.PUBLISH=2]="PUBLISH",o[o.SUBSCRIBE=3]="SUBSCRIBE"})(e||(e={})),function(o){o.codec=()=>Bt(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=H((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.topic!=null&&(i.uint32(18),i.string(o.topic)),o.data!=null&&(i.uint32(26),i.bytes(o.data)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={},c=i==null?o.len:o.pos+i;for(;o.pos<c;){let a=o.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.topic=o.string();break;case 3:s.data=o.bytes();break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>V(o,r.codec()),r.decode=o=>$(o,r.codec())})(_t||(_t={}));var xr;(function(r){let t;r.codec=()=>(t==null&&(t=H((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.from!=null&&(n.uint32(10),n.bytes(e.from)),e.data!=null&&(n.uint32(18),n.bytes(e.data)),e.seqno!=null&&(n.uint32(26),n.bytes(e.seqno)),e.topicIDs!=null)for(let i of e.topicIDs)n.uint32(34),n.string(i);e.signature!=null&&(n.uint32(42),n.bytes(e.signature)),e.key!=null&&(n.uint32(50),n.bytes(e.key)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={topicIDs:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.from=e.bytes();break;case 2:o.data=e.bytes();break;case 3:o.seqno=e.bytes();break;case 4:o.topicIDs.push(e.string());break;case 5:o.signature=e.bytes();break;case 6:o.key=e.bytes();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>$(e,r.codec())})(xr||(xr={}));var Er;(function(r){let t;r.codec=()=>(t==null&&(t=H((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.topics!=null)for(let i of e.topics)n.uint32(10),n.string(i);if(e.peerIDs!=null)for(let i of e.peerIDs)n.uint32(18),n.bytes(i);o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={topics:[],peerIDs:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.topics.push(e.string());break;case 2:o.peerIDs.push(e.bytes());break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>$(e,r.codec())})(Er||(Er={}));var vr;(function(r){let t;(function(o){o.UNSPECIFIED="UNSPECIFIED",o.GET_PROTOCOLS="GET_PROTOCOLS",o.GET_PEER_INFO="GET_PEER_INFO"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.UNSPECIFIED=0]="UNSPECIFIED",o[o.GET_PROTOCOLS=1]="GET_PROTOCOLS",o[o.GET_PEER_INFO=2]="GET_PEER_INFO"})(e||(e={})),function(o){o.codec=()=>Bt(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=H((o,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.id!=null&&(i.uint32(18),i.bytes(o.id)),o.protos!=null)for(let c of o.protos)i.uint32(26),i.string(c);s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={protos:[]},c=i==null?o.len:o.pos+i;for(;o.pos<c;){let a=o.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.id=o.bytes();break;case 3:s.protos.push(o.string());break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>V(o,r.codec()),r.decode=o=>$(o,r.codec())})(vr||(vr={}));var Ir;(function(r){let t;r.codec=()=>(t==null&&(t=H((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.peer!=null&&(n.uint32(10),Jt.codec().encode(e.peer,n)),e.protos!=null)for(let i of e.protos)n.uint32(18),n.string(i);o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={protos:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.peer=Jt.codec().decode(e,e.uint32());break;case 2:o.protos.push(e.string());break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>V(e,r.codec()),r.decode=e=>$(e,r.codec())})(Ir||(Ir={}));var Qi=ht(X("node:tty"),1),Cr=ht(X("node:util"),1);function Wa(r,t){try{if(typeof r=="string"&&r.length>0)return Ya(r);if(typeof r=="number"&&isFinite(r))return t?.long?Xa(r):Za(r);throw new Error("Value is not a string or number.")}catch(e){let n=Qa(e)?`${e.message}. value=${JSON.stringify(r)}`:"An unknown error has occured.";throw new Error(n)}}function Ya(r){if(r=String(r),r.length>100)throw new Error("Value exceeds the maximum length of 100 characters.");let t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(!t)return NaN;let e=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return e*315576e5;case"weeks":case"week":case"w":return e*6048e5;case"days":case"day":case"d":return e*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return e*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return e*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return e*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:throw new Error(`The unit ${n} was matched, but no matching case exists.`)}}var Ar=Wa;function Za(r){let t=Math.abs(r);return t>=864e5?`${Math.round(r/864e5)}d`:t>=36e5?`${Math.round(r/36e5)}h`:t>=6e4?`${Math.round(r/6e4)}m`:t>=1e3?`${Math.round(r/1e3)}s`:`${r}ms`}function Xa(r){let t=Math.abs(r);return t>=864e5?Sr(r,t,864e5,"day"):t>=36e5?Sr(r,t,36e5,"hour"):t>=6e4?Sr(r,t,6e4,"minute"):t>=1e3?Sr(r,t,1e3,"second"):`${r} ms`}function Sr(r,t,e,n){let o=t>=e*1.5;return`${Math.round(r/e)} ${n}${o?"s":""}`}function Qa(r){return typeof r=="object"&&r!==null&&"message"in r}var Lr=ht(X("node:process"),1),Xi=ht(X("node:os"),1),go=ht(X("node:tty"),1);function vt(r,t=globalThis.Deno?globalThis.Deno.args:Lr.default.argv){let e=r.startsWith("-")?"":r.length===1?"-":"--",n=t.indexOf(e+r),o=t.indexOf("--");return n!==-1&&(o===-1||n<o)}var{env:G}=Lr.default,Tr;vt("no-color")||vt("no-colors")||vt("color=false")||vt("color=never")?Tr=0:(vt("color")||vt("colors")||vt("color=true")||vt("color=always"))&&(Tr=1);function Ja(){if("FORCE_COLOR"in G)return G.FORCE_COLOR==="true"?1:G.FORCE_COLOR==="false"?0:G.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(G.FORCE_COLOR,10),3)}function ja(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function tu(r,{streamIsTTY:t,sniffFlags:e=!0}={}){let n=Ja();n!==void 0&&(Tr=n);let o=e?Tr:n;if(o===0)return 0;if(e){if(vt("color=16m")||vt("color=full")||vt("color=truecolor"))return 3;if(vt("color=256"))return 2}if("TF_BUILD"in G&&"AGENT_NAME"in G)return 1;if(r&&!t&&o===void 0)return 0;let i=o||0;if(G.TERM==="dumb")return i;if(Lr.default.platform==="win32"){let s=Xi.default.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in G)return"GITHUB_ACTIONS"in G||"GITEA_ACTIONS"in G?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in G)||G.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in G)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(G.TEAMCITY_VERSION)?1:0;if(G.COLORTERM==="truecolor"||G.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in G){let s=Number.parseInt((G.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(G.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(G.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(G.TERM)||"COLORTERM"in G?1:i}function Zi(r,t={}){let e=tu(r,{streamIsTTY:r&&r.isTTY,...t});return ja(e)}var eu={stdout:Zi({isTTY:go.default.isatty(1)}),stderr:Zi({isTTY:go.default.isatty(2)})},Br=eu;function yo(r){e.debug=e,e.default=e,e.coerce=a,e.disable=i,e.enable=o,e.enabled=s,e.humanize=Ar,e.destroy=f,Object.keys(r).forEach(l=>{e[l]=r[l]}),e.names=[],e.skips=[],e.formatters={};function t(l){let u=0;for(let d=0;d<l.length;d++)u=(u<<5)-u+l.charCodeAt(d),u|=0;return e.colors[Math.abs(u)%e.colors.length]}e.selectColor=t;function e(l){let u,d=null,m,w;function y(...h){if(!y.enabled)return;let p=y,g=Number(new Date),E=g-(u||g);p.diff=E,p.prev=u,p.curr=g,u=g,h[0]=e.coerce(h[0]),typeof h[0]!="string"&&h.unshift("%O");let I=0;h[0]=h[0].replace(/%([a-zA-Z%])/g,(B,v)=>{if(B==="%%")return"%";I++;let T=e.formatters[v];if(typeof T=="function"){let C=h[I];B=T.call(p,C),h.splice(I,1),I--}return B}),e.formatArgs.call(p,h),(p.log||e.log).apply(p,h)}return y.namespace=l,y.useColors=e.useColors(),y.color=e.selectColor(l),y.extend=n,y.destroy=e.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(m!==e.namespaces&&(m=e.namespaces,w=e.enabled(l)),w),set:h=>{d=h}}),typeof e.init=="function"&&e.init(y),y}function n(l,u){let d=e(this.namespace+(typeof u>"u"?":":u)+l);return d.log=this.log,d}function o(l){e.save(l),e.namespaces=l,e.names=[],e.skips=[];let u,d=(typeof l=="string"?l:"").split(/[\s,]+/),m=d.length;for(u=0;u<m;u++)d[u]&&(l=d[u].replace(/\*/g,".*?"),l[0]==="-"?e.skips.push(new RegExp("^"+l.substr(1)+"$")):e.names.push(new RegExp("^"+l+"$")))}function i(){let l=[...e.names.map(c),...e.skips.map(c).map(u=>"-"+u)].join(",");return e.enable(""),l}function s(l){if(l[l.length-1]==="*")return!0;let u,d;for(u=0,d=e.skips.length;u<d;u++)if(e.skips[u].test(l))return!1;for(u=0,d=e.names.length;u<d;u++)if(e.names[u].test(l))return!0;return!1}function c(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function a(l){return l instanceof Error?l.stack??l.message:l}function f(){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 e.setupFormatters(e.formatters),e.enable(e.load()),e}var Ji=[6,2,3,4,5,1];Br.stderr!==!1&&(Br.stderr??Br).level>=2&&(Ji=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]);var ke=Object.keys(process.env).filter(r=>/^debug_/i.test(r)).reduce((r,t)=>{let e=t.substring(6).toLowerCase().replace(/_([a-z])/g,(o,i)=>i.toUpperCase()),n=process.env[t];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),r[e]=n,r},{});function ru(){return"colors"in ke?!!ke.colors:Qi.default.isatty(process.stderr.fd)}function nu(r){let{namespace:t,useColors:e}=this;if(e===!0){let n=this.color,o="\x1B[3"+(n<8?n:"8;5;"+n),i=` ${o};1m${t} \x1B[0m`;r[0]=i+r[0].split(`
2
+ "use strict";var Libp2PDaemonClient=(()=>{var Pc=Object.create;var ar=Object.defineProperty;var kc=Object.getOwnPropertyDescriptor;var Nc=Object.getOwnPropertyNames;var Oc=Object.getPrototypeOf,Uc=Object.prototype.hasOwnProperty;var Q=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(t,e)=>(typeof require<"u"?require:t)[e]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var ft=(r,t)=>{for(var e in t)ar(r,e,{get:t[e],enumerable:!0})},Ai=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Nc(t))!Uc.call(r,o)&&o!==e&&ar(r,o,{get:()=>t[o],enumerable:!(n=kc(t,o))||n.enumerable});return r};var mt=(r,t,e)=>(e=r!=null?Pc(Oc(r)):{},Ai(t||!r||!r.__esModule?ar(e,"default",{value:r,enumerable:!0}):e,r)),Dc=r=>Ai(ar({},"__esModule",{value:!0}),r);var Hl={};ft(Hl,{OperationFailedError:()=>M,createClient:()=>Vl});var Nn=Q("node:buffer");function ue(r){return new Uint8Array(r.buffer,r.byteOffset,r.byteLength)}function Dt(r=0){return ue(Nn.Buffer.alloc(r))}function xt(r=0){return ue(Nn.Buffer.allocUnsafe(r))}var Rc=Math.pow(2,7),Mc=Math.pow(2,14),_c=Math.pow(2,21),On=Math.pow(2,28),Un=Math.pow(2,35),Dn=Math.pow(2,42),Rn=Math.pow(2,49),D=128,ot=127;function it(r){if(r<Rc)return 1;if(r<Mc)return 2;if(r<_c)return 3;if(r<On)return 4;if(r<Un)return 5;if(r<Dn)return 6;if(r<Rn)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Mn(r,t,e=0){switch(it(r)){case 8:t[e++]=r&255|D,r/=128;case 7:t[e++]=r&255|D,r/=128;case 6:t[e++]=r&255|D,r/=128;case 5:t[e++]=r&255|D,r/=128;case 4:t[e++]=r&255|D,r>>>=7;case 3:t[e++]=r&255|D,r>>>=7;case 2:t[e++]=r&255|D,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function Kc(r,t,e=0){switch(it(r)){case 8:t.set(e++,r&255|D),r/=128;case 7:t.set(e++,r&255|D),r/=128;case 6:t.set(e++,r&255|D),r/=128;case 5:t.set(e++,r&255|D),r/=128;case 4:t.set(e++,r&255|D),r>>>=7;case 3:t.set(e++,r&255|D),r>>>=7;case 2:t.set(e++,r&255|D),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function _n(r,t){let e=r[t],n=0;if(n+=e&ot,e<D||(e=r[t+1],n+=(e&ot)<<7,e<D)||(e=r[t+2],n+=(e&ot)<<14,e<D)||(e=r[t+3],n+=(e&ot)<<21,e<D)||(e=r[t+4],n+=(e&ot)*On,e<D)||(e=r[t+5],n+=(e&ot)*Un,e<D)||(e=r[t+6],n+=(e&ot)*Dn,e<D)||(e=r[t+7],n+=(e&ot)*Rn,e<D))return n;throw new RangeError("Could not decode varint")}function Fc(r,t){let e=r.get(t),n=0;if(n+=e&ot,e<D||(e=r.get(t+1),n+=(e&ot)<<7,e<D)||(e=r.get(t+2),n+=(e&ot)<<14,e<D)||(e=r.get(t+3),n+=(e&ot)<<21,e<D)||(e=r.get(t+4),n+=(e&ot)*On,e<D)||(e=r.get(t+5),n+=(e&ot)*Un,e<D)||(e=r.get(t+6),n+=(e&ot)*Dn,e<D)||(e=r.get(t+7),n+=(e&ot)*Rn,e<D))return n;throw new RangeError("Could not decode varint")}function Yt(r,t,e=0){return t==null&&(t=xt(it(r))),t instanceof Uint8Array?Mn(r,t,e):Kc(r,t,e)}function Rt(r,t=0){return r instanceof Uint8Array?_n(r,t):Fc(r,t)}var Fn=new Float32Array([-0]),Zt=new Uint8Array(Fn.buffer);function Ti(r,t,e){Fn[0]=r,t[e]=Zt[0],t[e+1]=Zt[1],t[e+2]=Zt[2],t[e+3]=Zt[3]}function Li(r,t){return Zt[0]=r[t],Zt[1]=r[t+1],Zt[2]=r[t+2],Zt[3]=r[t+3],Fn[0]}var Vn=new Float64Array([-0]),st=new Uint8Array(Vn.buffer);function Bi(r,t,e){Vn[0]=r,t[e]=st[0],t[e+1]=st[1],t[e+2]=st[2],t[e+3]=st[3],t[e+4]=st[4],t[e+5]=st[5],t[e+6]=st[6],t[e+7]=st[7]}function Ci(r,t){return st[0]=r[t],st[1]=r[t+1],st[2]=r[t+2],st[3]=r[t+3],st[4]=r[t+4],st[5]=r[t+5],st[6]=r[t+6],st[7]=r[t+7],Vn[0]}var Vc=BigInt(Number.MAX_SAFE_INTEGER),Hc=BigInt(Number.MIN_SAFE_INTEGER),gt=class r{lo;hi;constructor(t,e){this.lo=t|0,this.hi=e|0}toNumber(t=!1){if(!t&&this.hi>>>31>0){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(t=!1){if(t)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let e=~this.lo+1>>>0,n=~this.hi>>>0;return e===0&&(n=n+1>>>0),-(BigInt(e)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return le;if(t<Vc&&t>Hc)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let n=t>>32n,o=t-(n<<32n);return e&&(n=~n|0n,o=~o|0n,++o>Pi&&(o=0n,++n>Pi&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(t){if(t===0)return le;let e=t<0;e&&(t=-t);let n=t>>>0,o=(t-n)/4294967296>>>0;return e&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}static from(t){return typeof t=="number"?r.fromNumber(t):typeof t=="bigint"?r.fromBigInt(t):typeof t=="string"?r.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new r(t.low>>>0,t.high>>>0):le}},le=new gt(0,0);le.toBigInt=function(){return 0n};le.zzEncode=le.zzDecode=function(){return this};le.length=function(){return 1};var Pi=4294967296n;function ki(r){let t=0,e=0;for(let n=0;n<r.length;++n)e=r.charCodeAt(n),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function Ni(r,t,e){if(e-t<1)return"";let o,i=[],s=0,c;for(;t<e;)c=r[t++],c<128?i[s++]=c:c>191&&c<224?i[s++]=(c&31)<<6|r[t++]&63:c>239&&c<365?(c=((c&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,i[s++]=55296+(c>>10),i[s++]=56320+(c&1023)):i[s++]=(c&15)<<12|(r[t++]&63)<<6|r[t++]&63,s>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,i)),s=0);return o!=null?(s>0&&o.push(String.fromCharCode.apply(String,i.slice(0,s))),o.join("")):String.fromCharCode.apply(String,i.slice(0,s))}function Hn(r,t,e){let n=e,o,i;for(let s=0;s<r.length;++s)o=r.charCodeAt(s),o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&((i=r.charCodeAt(s+1))&64512)===56320?(o=65536+((o&1023)<<10)+(i&1023),++s,t[e++]=o>>18|240,t[e++]=o>>12&63|128,t[e++]=o>>6&63|128,t[e++]=o&63|128):(t[e++]=o>>12|224,t[e++]=o>>6&63|128,t[e++]=o&63|128);return e-n}function Lt(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function ur(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var Gn=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,Lt(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Lt(this,4);return ur(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Lt(this,4);return ur(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Lt(this,4);let t=Li(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Lt(this,4);let t=Ci(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw Lt(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return Ni(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Lt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Lt(this);while((this.buf[this.pos++]&128)!==0);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new gt(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Lt(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Lt(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Lt(this,8);let t=ur(this.buf,this.pos+=4),e=ur(this.buf,this.pos+=4);return new gt(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let t=_n(this.buf,this.pos);return this.pos+=it(t),t}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function zn(r){return new Gn(r instanceof Uint8Array?r:r.subarray())}function F(r,t,e){let n=zn(r);return t.decode(n,void 0,e)}var ji=Q("node:buffer");var Zn={};ft(Zn,{base10:()=>Yc});var rf=new Uint8Array(0);function Ui(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}function Et(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function Di(r){return new TextEncoder().encode(r)}function Ri(r){return new TextDecoder().decode(r)}function Gc(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),n=0;n<e.length;n++)e[n]=255;for(var o=0;o<r.length;o++){var i=r.charAt(o),s=i.charCodeAt(0);if(e[s]!==255)throw new TypeError(i+" is ambiguous");e[s]=o}var c=r.length,a=r.charAt(0),f=Math.log(c)/Math.log(256),l=Math.log(256)/Math.log(c);function u(w){if(w instanceof Uint8Array||(ArrayBuffer.isView(w)?w=new Uint8Array(w.buffer,w.byteOffset,w.byteLength):Array.isArray(w)&&(w=Uint8Array.from(w))),!(w instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(w.length===0)return"";for(var g=0,h=0,m=0,y=w.length;m!==y&&w[m]===0;)m++,g++;for(var E=(y-m)*l+1>>>0,A=new Uint8Array(E);m!==y;){for(var P=w[m],B=0,v=E-1;(P!==0||B<h)&&v!==-1;v--,B++)P+=256*A[v]>>>0,A[v]=P%c>>>0,P=P/c>>>0;if(P!==0)throw new Error("Non-zero carry");h=B,m++}for(var L=E-h;L!==E&&A[L]===0;)L++;for(var C=a.repeat(g);L<E;++L)C+=r.charAt(A[L]);return C}function d(w){if(typeof w!="string")throw new TypeError("Expected String");if(w.length===0)return new Uint8Array;var g=0;if(w[g]!==" "){for(var h=0,m=0;w[g]===a;)h++,g++;for(var y=(w.length-g)*f+1>>>0,E=new Uint8Array(y);w[g];){var A=e[w.charCodeAt(g)];if(A===255)return;for(var P=0,B=y-1;(A!==0||P<m)&&B!==-1;B--,P++)A+=c*E[B]>>>0,E[B]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");m=P,g++}if(w[g]!==" "){for(var v=y-m;v!==y&&E[v]===0;)v++;for(var L=new Uint8Array(h+(y-v)),C=h;v!==y;)L[C++]=E[v++];return L}}}function p(w){var g=d(w);if(g)return g;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:d,decode:p}}var zc=Gc,$c=zc,_i=$c;var $n=class{name;prefix;baseEncode;constructor(t,e,n){this.name=t,this.prefix=e,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},qn=class{name;prefix;baseDecode;prefixCodePoint;constructor(t,e,n){this.name=t,this.prefix=e;let o=e.codePointAt(0);if(o===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=o,this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Ki(this,t)}},Wn=class{decoders;constructor(t){this.decoders=t}or(t){return Ki(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n!=null)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Ki(r,t){return new Wn({...r.decoders??{[r.prefix]:r},...t.decoders??{[t.prefix]:t}})}var Yn=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new $n(t,e,n),this.decoder=new qn(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}};function Te({name:r,prefix:t,encode:e,decode:n}){return new Yn(r,t,e,n)}function Xt({name:r,prefix:t,alphabet:e}){let{encode:n,decode:o}=_i(e,r);return Te({prefix:t,name:r,encode:n,decode:i=>Et(o(i))})}function qc(r,t,e,n){let o={};for(let l=0;l<t.length;++l)o[t[l]]=l;let i=r.length;for(;r[i-1]==="=";)--i;let s=new Uint8Array(i*e/8|0),c=0,a=0,f=0;for(let l=0;l<i;++l){let u=o[r[l]];if(u===void 0)throw new SyntaxError(`Non-${n} character`);a=a<<e|u,c+=e,c>=8&&(c-=8,s[f++]=255&a>>c)}if(c>=e||(255&a<<8-c)!==0)throw new SyntaxError("Unexpected end of data");return s}function Wc(r,t,e){let n=t[t.length-1]==="=",o=(1<<e)-1,i="",s=0,c=0;for(let a=0;a<r.length;++a)for(c=c<<8|r[a],s+=8;s>e;)s-=e,i+=t[o&c>>s];if(s!==0&&(i+=t[o&c<<e-s]),n)for(;(i.length*e&7)!==0;)i+="=";return i}function $({name:r,prefix:t,bitsPerChar:e,alphabet:n}){return Te({prefix:t,name:r,encode(o){return Wc(o,n,e)},decode(o){return qc(o,n,e,r)}})}var Yc=Xt({prefix:"9",name:"base10",alphabet:"0123456789"});var Xn={};ft(Xn,{base16:()=>Zc,base16upper:()=>Xc});var Zc=$({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Xc=$({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Qn={};ft(Qn,{base2:()=>Qc});var Qc=$({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Jn={};ft(Jn,{base256emoji:()=>ra});var Fi=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=Fi.reduce((r,t,e)=>(r[e]=t,r),[]),jc=Fi.reduce((r,t,e)=>{let n=t.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${t}`);return r[n]=e,r},[]);function ta(r){return r.reduce((t,e)=>(t+=Jc[e],t),"")}function ea(r){let t=[];for(let e of r){let n=e.codePointAt(0);if(n==null)throw new Error(`Invalid character: ${e}`);let o=jc[n];if(o==null)throw new Error(`Non-base256emoji character: ${e}`);t.push(o)}return new Uint8Array(t)}var ra=Te({prefix:"\u{1F680}",name:"base256emoji",encode:ta,decode:ea});var jn={};ft(jn,{base32:()=>Bt,base32hex:()=>sa,base32hexpad:()=>aa,base32hexpadupper:()=>ua,base32hexupper:()=>ca,base32pad:()=>oa,base32padupper:()=>ia,base32upper:()=>na,base32z:()=>la});var Bt=$({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),na=$({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),oa=$({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ia=$({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),sa=$({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ca=$({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),aa=$({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ua=$({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),la=$({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var to={};ft(to,{base36:()=>$e,base36upper:()=>fa});var $e=Xt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),fa=Xt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var eo={};ft(eo,{base58btc:()=>V,base58flickr:()=>da});var V=Xt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),da=Xt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var no={};ft(no,{base64:()=>ro,base64pad:()=>ha,base64url:()=>pa,base64urlpad:()=>ma});var ro=$({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ha=$({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),pa=$({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),ma=$({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var oo={};ft(oo,{base8:()=>ga});var ga=$({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var io={};ft(io,{identity:()=>ya});var ya=Te({prefix:"\0",name:"identity",encode:r=>Ri(r),decode:r=>Di(r)});var bf=new TextEncoder,xf=new TextDecoder;var co={};ft(co,{identity:()=>Mt});var xa=Gi,Vi=128,Ea=127,va=~Ea,Ia=Math.pow(2,31);function Gi(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Ia;)t[e++]=r&255|Vi,r/=128;for(;r&va;)t[e++]=r&255|Vi,r>>>=7;return t[e]=r|0,Gi.bytes=e-n+1,t}var Sa=so,Aa=128,Hi=127;function so(r,n){var e=0,n=n||0,o=0,i=n,s,c=r.length;do{if(i>=c)throw so.bytes=0,new RangeError("Could not decode varint");s=r[i++],e+=o<28?(s&Hi)<<o:(s&Hi)*Math.pow(2,o),o+=7}while(s>=Aa);return so.bytes=i-n,e}var Ta=Math.pow(2,7),La=Math.pow(2,14),Ba=Math.pow(2,21),Ca=Math.pow(2,28),Pa=Math.pow(2,35),ka=Math.pow(2,42),Na=Math.pow(2,49),Oa=Math.pow(2,56),Ua=Math.pow(2,63),Da=function(r){return r<Ta?1:r<La?2:r<Ba?3:r<Ca?4:r<Pa?5:r<ka?6:r<Na?7:r<Oa?8:r<Ua?9:10},Ra={encode:xa,decode:Sa,encodingLength:Da},Ma=Ra,qe=Ma;function We(r,t=0){return[qe.decode(r,t),qe.decode.bytes]}function Le(r,t,e=0){return qe.encode(r,t,e),t}function Be(r){return qe.encodingLength(r)}function fe(r,t){let e=t.byteLength,n=Be(r),o=n+Be(e),i=new Uint8Array(o+e);return Le(r,i,0),Le(e,i,n),i.set(t,o),new Ce(r,e,t,i)}function dt(r){let t=Et(r),[e,n]=We(t),[o,i]=We(t.subarray(n)),s=t.subarray(n+i);if(s.byteLength!==o)throw new Error("Incorrect length");return new Ce(e,o,s,t)}function zi(r,t){if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Ui(r.bytes,e.bytes)}}var Ce=class{code;size;digest;bytes;constructor(t,e,n,o){this.code=t,this.size=e,this.digest=n,this.bytes=o}};var $i=0,_a="identity",qi=Et;function Ka(r){return fe($i,qi(r))}var Mt={code:$i,name:_a,encode:qi,digest:Ka};var ho={};ft(ho,{sha256:()=>fo,sha512:()=>Fa});var lo=mt(Q("crypto"),1);function uo({name:r,code:t,encode:e}){return new ao(r,t,e)}var ao=class{name;code;encode;constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?fe(this.code,e):e.then(n=>fe(this.code,n))}else throw Error("Unknown type, must be binary type")}};var fo=uo({name:"sha2-256",code:18,encode:r=>Et(lo.default.createHash("sha256").update(r).digest())}),Fa=uo({name:"sha2-512",code:19,encode:r=>Et(lo.default.createHash("sha512").update(r).digest())});function Yi(r,t){let{bytes:e,version:n}=r;switch(n){case 0:return Ha(e,po(r),t??V.encoder);default:return Ga(e,po(r),t??Bt.encoder)}}var Zi=new WeakMap;function po(r){let t=Zi.get(r);if(t==null){let e=new Map;return Zi.set(r,e),e}return t}var j=class r{code;version;multihash;bytes;"/";constructor(t,e,n,o){this.code=e,this.version=t,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:e}=this;if(t!==Ye)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==za)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=fe(t,e);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return r.equals(this,t)}static equals(t,e){let n=e;return n!=null&&t.code===n.code&&t.version===n.version&&zi(t.multihash,n.multihash)}toString(t){return Yi(this,t)}toJSON(){return{"/":Yi(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let e=t;if(e instanceof r)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:o,multihash:i,bytes:s}=e;return new r(n,o,i,s??Xi(n,o,i.bytes))}else if(e[$a]===!0){let{version:n,multihash:o,code:i}=e,s=dt(o);return r.create(n,i,s)}else return null}static create(t,e,n){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==Ye)throw new Error(`Version 0 CID must use dag-pb (code: ${Ye}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=Xi(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,Ye,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length!==0)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,o=Et(t.subarray(n,n+e.multihashSize));if(o.byteLength!==e.multihashSize)throw new Error("Incorrect length");let i=o.subarray(e.multihashSize-e.digestSize),s=new Ce(e.multihashCode,e.digestSize,i,o);return[e.version===0?r.createV0(s):r.createV1(e.codec,s),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[u,d]=We(t.subarray(e));return e+=d,u},o=n(),i=Ye;if(o===18?(o=0,e=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let s=e,c=n(),a=n(),f=e+a,l=f-s;return{version:o,codec:i,multihashCode:c,digestSize:a,multihashSize:l,size:f}}static parse(t,e){let[n,o]=Va(t,e),i=r.decode(o);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return po(i).set(n,t),i}};function Va(r,t){switch(r[0]){case"Q":{let e=t??V;return[V.prefix,e.decode(`${V.prefix}${r}`)]}case V.prefix:{let e=t??V;return[V.prefix,e.decode(r)]}case Bt.prefix:{let e=t??Bt;return[Bt.prefix,e.decode(r)]}case $e.prefix:{let e=t??$e;return[$e.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32, base36 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}}function Ha(r,t,e){let{prefix:n}=e;if(n!==V.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let o=t.get(n);if(o==null){let i=e.encode(r).slice(1);return t.set(n,i),i}else return o}function Ga(r,t,e){let{prefix:n}=e,o=t.get(n);if(o==null){let i=e.encode(r);return t.set(n,i),i}else return o}var Ye=112,za=18;function Xi(r,t,e){let n=Be(r),o=n+Be(t),i=new Uint8Array(o+e.byteLength);return Le(r,i,0),Le(t,i,n),i.set(e,o),i}var $a=Symbol.for("@ipld/js-cid/CID");var Ze={...io,...Qn,...oo,...Zn,...Xn,...jn,...to,...eo,...no,...Jn},Gf={...ho,...co};function Ji(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Qi=Ji("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),mo=Ji("ascii","a",r=>{let t="a";for(let e=0;e<r.length;e++)t+=String.fromCharCode(r[e]);return t},r=>{r=r.substring(1);let t=xt(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),qa={utf8:Qi,"utf-8":Qi,hex:Ze.base16,latin1:mo,ascii:mo,binary:mo,...Ze},fr=qa;function _t(r,t="utf8"){let e=fr[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return t==="utf8"||t==="utf-8"?ue(ji.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function go(r){let t=r??8192,e=t>>>1,n,o=t;return function(s){if(s<1||s>e)return xt(s);o+s>t&&(n=xt(t),o=0);let c=n.subarray(o,o+=s);return(o&7)!==0&&(o=(o|7)+1),c}}var de=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function yo(){}var bo=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Wa=go();function Ya(r){return globalThis.Buffer!=null?xt(r):Wa(r)}var Qe=class{len;head;tail;states;constructor(){this.len=0,this.head=new de(yo,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new de(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new xo((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(dr,10,gt.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=gt.fromBigInt(t);return this._push(dr,e.length(),e)}uint64Number(t){return this._push(Mn,it(t),t)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let e=gt.fromBigInt(t).zzEncode();return this._push(dr,e.length(),e)}sint64Number(t){let e=gt.fromNumber(t).zzEncode();return this._push(dr,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(wo,1,t?1:0)}fixed32(t){return this._push(Xe,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=gt.fromBigInt(t);return this._push(Xe,4,e.lo)._push(Xe,4,e.hi)}fixed64Number(t){let e=gt.fromNumber(t);return this._push(Xe,4,e.lo)._push(Xe,4,e.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(Ti,4,t)}double(t){return this._push(Bi,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(wo,1,0):this.uint32(e)._push(Xa,e,t)}string(t){let e=ki(t);return e!==0?this.uint32(e)._push(Hn,e,t):this._push(wo,1,0)}fork(){return this.states=new bo(this),this.head=this.tail=new de(yo,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new de(yo,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=e,this.len+=n),this}finish(){let t=this.head.next,e=Ya(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function wo(r,t,e){t[e]=r&255}function Za(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var xo=class extends de{next;constructor(t,e){super(Za,t,e),this.next=void 0}};function dr(r,t,e){for(;r.hi!==0;)t[e++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)t[e++]=r.lo&127|128,r.lo=r.lo>>>7;t[e++]=r.lo}function Xe(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}function Xa(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(Qe.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(Qa,t,r),this},Qe.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Ja,t,r),this});function Qa(r,t,e){t.set(r,e)}function Ja(r,t,e){r.length<40?Hn(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(_t(r),e)}function Eo(){return new Qe}function H(r,t){let e=Eo();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var Pe;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(Pe||(Pe={}));function hr(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function Ct(r){function t(o){if(r[o.toString()]==null)throw new Error("Invalid enum value");return r[o]}let e=function(i,s){let c=t(i);s.int32(c)},n=function(i){let s=i.int32();return t(s)};return hr("enum",Pe.VARINT,e,n)}function G(r,t){return hr("message",Pe.LENGTH_DELIMITED,r,t)}var q;(function(r){let t;(function(o){o.IDENTIFY="IDENTIFY",o.CONNECT="CONNECT",o.STREAM_OPEN="STREAM_OPEN",o.STREAM_HANDLER="STREAM_HANDLER",o.DHT="DHT",o.LIST_PEERS="LIST_PEERS",o.CONNMANAGER="CONNMANAGER",o.DISCONNECT="DISCONNECT",o.PUBSUB="PUBSUB",o.PEERSTORE="PEERSTORE"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.IDENTIFY=0]="IDENTIFY",o[o.CONNECT=1]="CONNECT",o[o.STREAM_OPEN=2]="STREAM_OPEN",o[o.STREAM_HANDLER=3]="STREAM_HANDLER",o[o.DHT=4]="DHT",o[o.LIST_PEERS=5]="LIST_PEERS",o[o.CONNMANAGER=6]="CONNMANAGER",o[o.DISCONNECT=7]="DISCONNECT",o[o.PUBSUB=8]="PUBSUB",o[o.PEERSTORE=9]="PEERSTORE"})(e||(e={})),function(o){o.codec=()=>Ct(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=G((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.connect!=null&&(i.uint32(18),mr.codec().encode(o.connect,i)),o.streamOpen!=null&&(i.uint32(26),gr.codec().encode(o.streamOpen,i)),o.streamHandler!=null&&(i.uint32(34),yr.codec().encode(o.streamHandler,i)),o.dht!=null&&(i.uint32(42),vt.codec().encode(o.dht,i)),o.connManager!=null&&(i.uint32(50),br.codec().encode(o.connManager,i)),o.disconnect!=null&&(i.uint32(58),xr.codec().encode(o.disconnect,i)),o.pubsub!=null&&(i.uint32(66),Kt.codec().encode(o.pubsub,i)),o.peerStore!=null&&(i.uint32(74),Ir.codec().encode(o.peerStore,i)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={},c=i==null?o.len:o.pos+i;for(;o.pos<c;){let a=o.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.connect=mr.codec().decode(o,o.uint32());break;case 3:s.streamOpen=gr.codec().decode(o,o.uint32());break;case 4:s.streamHandler=yr.codec().decode(o,o.uint32());break;case 5:s.dht=vt.codec().decode(o,o.uint32());break;case 6:s.connManager=br.codec().decode(o,o.uint32());break;case 7:s.disconnect=xr.codec().decode(o,o.uint32());break;case 8:s.pubsub=Kt.codec().decode(o,o.uint32());break;case 9:s.peerStore=Ir.codec().decode(o,o.uint32());break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>H(o,r.codec()),r.decode=o=>F(o,r.codec())})(q||(q={}));var N;(function(r){let t;(function(o){o.OK="OK",o.ERROR="ERROR"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.OK=0]="OK",o[o.ERROR=1]="ERROR"})(e||(e={})),function(o){o.codec=()=>Ct(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=G((o,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.error!=null&&(i.uint32(18),wr.codec().encode(o.error,i)),o.streamInfo!=null&&(i.uint32(26),ke.codec().encode(o.streamInfo,i)),o.identify!=null&&(i.uint32(34),pr.codec().encode(o.identify,i)),o.dht!=null&&(i.uint32(42),Pt.codec().encode(o.dht,i)),o.peers!=null)for(let c of o.peers)i.uint32(50),Qt.codec().encode(c,i);o.pubsub!=null&&(i.uint32(58),vr.codec().encode(o.pubsub,i)),o.peerStore!=null&&(i.uint32(66),Sr.codec().encode(o.peerStore,i)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={peers:[]},c=i==null?o.len:o.pos+i;for(;o.pos<c;){let a=o.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.error=wr.codec().decode(o,o.uint32());break;case 3:s.streamInfo=ke.codec().decode(o,o.uint32());break;case 4:s.identify=pr.codec().decode(o,o.uint32());break;case 5:s.dht=Pt.codec().decode(o,o.uint32());break;case 6:s.peers.push(Qt.codec().decode(o,o.uint32()));break;case 7:s.pubsub=vr.codec().decode(o,o.uint32());break;case 8:s.peerStore=Sr.codec().decode(o,o.uint32());break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>H(o,r.codec()),r.decode=o=>F(o,r.codec())})(N||(N={}));var pr;(function(r){let t;r.codec=()=>(t==null&&(t=G((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.id!=null&&e.id.byteLength>0&&(n.uint32(10),n.bytes(e.id)),e.addrs!=null)for(let i of e.addrs)n.uint32(18),n.bytes(i);o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={id:new Uint8Array(0),addrs:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.id=e.bytes();break;case 2:o.addrs.push(e.bytes());break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>H(e,r.codec()),r.decode=e=>F(e,r.codec())})(pr||(pr={}));var mr;(function(r){let t;r.codec=()=>(t==null&&(t=G((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.peer!=null&&e.peer.byteLength>0&&(n.uint32(10),n.bytes(e.peer)),e.addrs!=null)for(let i of e.addrs)n.uint32(18),n.bytes(i);e.timeout!=null&&(n.uint32(24),n.int64(e.timeout)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={peer:new Uint8Array(0),addrs:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.peer=e.bytes();break;case 2:o.addrs.push(e.bytes());break;case 3:o.timeout=e.int64();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>H(e,r.codec()),r.decode=e=>F(e,r.codec())})(mr||(mr={}));var gr;(function(r){let t;r.codec=()=>(t==null&&(t=G((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.peer!=null&&e.peer.byteLength>0&&(n.uint32(10),n.bytes(e.peer)),e.proto!=null)for(let i of e.proto)n.uint32(18),n.string(i);e.timeout!=null&&(n.uint32(24),n.int64(e.timeout)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={peer:new Uint8Array(0),proto:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.peer=e.bytes();break;case 2:o.proto.push(e.string());break;case 3:o.timeout=e.int64();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>H(e,r.codec()),r.decode=e=>F(e,r.codec())})(gr||(gr={}));var yr;(function(r){let t;r.codec=()=>(t==null&&(t=G((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.addr!=null&&e.addr.byteLength>0&&(n.uint32(10),n.bytes(e.addr)),e.proto!=null)for(let i of e.proto)n.uint32(18),n.string(i);o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={addr:new Uint8Array(0),proto:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.addr=e.bytes();break;case 2:o.proto.push(e.string());break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>H(e,r.codec()),r.decode=e=>F(e,r.codec())})(yr||(yr={}));var wr;(function(r){let t;r.codec=()=>(t==null&&(t=G((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.msg!=null&&e.msg!==""&&(n.uint32(10),n.string(e.msg)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={msg:""},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.msg=e.string();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>H(e,r.codec()),r.decode=e=>F(e,r.codec())})(wr||(wr={}));var ke;(function(r){let t;r.codec=()=>(t==null&&(t=G((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.peer!=null&&e.peer.byteLength>0&&(n.uint32(10),n.bytes(e.peer)),e.addr!=null&&e.addr.byteLength>0&&(n.uint32(18),n.bytes(e.addr)),e.proto!=null&&e.proto!==""&&(n.uint32(26),n.string(e.proto)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={peer:new Uint8Array(0),addr:new Uint8Array(0),proto:""},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.peer=e.bytes();break;case 2:o.addr=e.bytes();break;case 3:o.proto=e.string();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>H(e,r.codec()),r.decode=e=>F(e,r.codec())})(ke||(ke={}));var vt;(function(r){let t;(function(o){o.FIND_PEER="FIND_PEER",o.FIND_PEERS_CONNECTED_TO_PEER="FIND_PEERS_CONNECTED_TO_PEER",o.FIND_PROVIDERS="FIND_PROVIDERS",o.GET_CLOSEST_PEERS="GET_CLOSEST_PEERS",o.GET_PUBLIC_KEY="GET_PUBLIC_KEY",o.GET_VALUE="GET_VALUE",o.SEARCH_VALUE="SEARCH_VALUE",o.PUT_VALUE="PUT_VALUE",o.PROVIDE="PROVIDE"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.FIND_PEER=0]="FIND_PEER",o[o.FIND_PEERS_CONNECTED_TO_PEER=1]="FIND_PEERS_CONNECTED_TO_PEER",o[o.FIND_PROVIDERS=2]="FIND_PROVIDERS",o[o.GET_CLOSEST_PEERS=3]="GET_CLOSEST_PEERS",o[o.GET_PUBLIC_KEY=4]="GET_PUBLIC_KEY",o[o.GET_VALUE=5]="GET_VALUE",o[o.SEARCH_VALUE=6]="SEARCH_VALUE",o[o.PUT_VALUE=7]="PUT_VALUE",o[o.PROVIDE=8]="PROVIDE"})(e||(e={})),function(o){o.codec=()=>Ct(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=G((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.peer!=null&&(i.uint32(18),i.bytes(o.peer)),o.cid!=null&&(i.uint32(26),i.bytes(o.cid)),o.key!=null&&(i.uint32(34),i.bytes(o.key)),o.value!=null&&(i.uint32(42),i.bytes(o.value)),o.count!=null&&(i.uint32(48),i.int32(o.count)),o.timeout!=null&&(i.uint32(56),i.int64(o.timeout)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={},c=i==null?o.len:o.pos+i;for(;o.pos<c;){let a=o.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.peer=o.bytes();break;case 3:s.cid=o.bytes();break;case 4:s.key=o.bytes();break;case 5:s.value=o.bytes();break;case 6:s.count=o.int32();break;case 7:s.timeout=o.int64();break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>H(o,r.codec()),r.decode=o=>F(o,r.codec())})(vt||(vt={}));var Pt;(function(r){let t;(function(o){o.BEGIN="BEGIN",o.VALUE="VALUE",o.END="END"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.BEGIN=0]="BEGIN",o[o.VALUE=1]="VALUE",o[o.END=2]="END"})(e||(e={})),function(o){o.codec=()=>Ct(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=G((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.peer!=null&&(i.uint32(18),Qt.codec().encode(o.peer,i)),o.value!=null&&(i.uint32(26),i.bytes(o.value)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={},c=i==null?o.len:o.pos+i;for(;o.pos<c;){let a=o.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.peer=Qt.codec().decode(o,o.uint32());break;case 3:s.value=o.bytes();break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>H(o,r.codec()),r.decode=o=>F(o,r.codec())})(Pt||(Pt={}));var Qt;(function(r){let t;r.codec=()=>(t==null&&(t=G((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.id!=null&&e.id.byteLength>0&&(n.uint32(10),n.bytes(e.id)),e.addrs!=null)for(let i of e.addrs)n.uint32(18),n.bytes(i);o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={id:new Uint8Array(0),addrs:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.id=e.bytes();break;case 2:o.addrs.push(e.bytes());break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>H(e,r.codec()),r.decode=e=>F(e,r.codec())})(Qt||(Qt={}));var br;(function(r){let t;(function(o){o.TAG_PEER="TAG_PEER",o.UNTAG_PEER="UNTAG_PEER",o.TRIM="TRIM"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.TAG_PEER=0]="TAG_PEER",o[o.UNTAG_PEER=1]="UNTAG_PEER",o[o.TRIM=2]="TRIM"})(e||(e={})),function(o){o.codec=()=>Ct(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=G((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.peer!=null&&(i.uint32(18),i.bytes(o.peer)),o.tag!=null&&(i.uint32(26),i.string(o.tag)),o.weight!=null&&(i.uint32(32),i.int64(o.weight)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={},c=i==null?o.len:o.pos+i;for(;o.pos<c;){let a=o.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.peer=o.bytes();break;case 3:s.tag=o.string();break;case 4:s.weight=o.int64();break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>H(o,r.codec()),r.decode=o=>F(o,r.codec())})(br||(br={}));var xr;(function(r){let t;r.codec=()=>(t==null&&(t=G((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.peer!=null&&e.peer.byteLength>0&&(n.uint32(10),n.bytes(e.peer)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={peer:new Uint8Array(0)},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.peer=e.bytes();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>H(e,r.codec()),r.decode=e=>F(e,r.codec())})(xr||(xr={}));var Kt;(function(r){let t;(function(o){o.GET_TOPICS="GET_TOPICS",o.LIST_PEERS="LIST_PEERS",o.PUBLISH="PUBLISH",o.SUBSCRIBE="SUBSCRIBE"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.GET_TOPICS=0]="GET_TOPICS",o[o.LIST_PEERS=1]="LIST_PEERS",o[o.PUBLISH=2]="PUBLISH",o[o.SUBSCRIBE=3]="SUBSCRIBE"})(e||(e={})),function(o){o.codec=()=>Ct(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=G((o,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.topic!=null&&(i.uint32(18),i.string(o.topic)),o.data!=null&&(i.uint32(26),i.bytes(o.data)),s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={},c=i==null?o.len:o.pos+i;for(;o.pos<c;){let a=o.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.topic=o.string();break;case 3:s.data=o.bytes();break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>H(o,r.codec()),r.decode=o=>F(o,r.codec())})(Kt||(Kt={}));var Er;(function(r){let t;r.codec=()=>(t==null&&(t=G((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.from!=null&&(n.uint32(10),n.bytes(e.from)),e.data!=null&&(n.uint32(18),n.bytes(e.data)),e.seqno!=null&&(n.uint32(26),n.bytes(e.seqno)),e.topicIDs!=null)for(let i of e.topicIDs)n.uint32(34),n.string(i);e.signature!=null&&(n.uint32(42),n.bytes(e.signature)),e.key!=null&&(n.uint32(50),n.bytes(e.key)),o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={topicIDs:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.from=e.bytes();break;case 2:o.data=e.bytes();break;case 3:o.seqno=e.bytes();break;case 4:o.topicIDs.push(e.string());break;case 5:o.signature=e.bytes();break;case 6:o.key=e.bytes();break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>H(e,r.codec()),r.decode=e=>F(e,r.codec())})(Er||(Er={}));var vr;(function(r){let t;r.codec=()=>(t==null&&(t=G((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.topics!=null)for(let i of e.topics)n.uint32(10),n.string(i);if(e.peerIDs!=null)for(let i of e.peerIDs)n.uint32(18),n.bytes(i);o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={topics:[],peerIDs:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.topics.push(e.string());break;case 2:o.peerIDs.push(e.bytes());break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>H(e,r.codec()),r.decode=e=>F(e,r.codec())})(vr||(vr={}));var Ir;(function(r){let t;(function(o){o.UNSPECIFIED="UNSPECIFIED",o.GET_PROTOCOLS="GET_PROTOCOLS",o.GET_PEER_INFO="GET_PEER_INFO"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.UNSPECIFIED=0]="UNSPECIFIED",o[o.GET_PROTOCOLS=1]="GET_PROTOCOLS",o[o.GET_PEER_INFO=2]="GET_PEER_INFO"})(e||(e={})),function(o){o.codec=()=>Ct(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=G((o,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.id!=null&&(i.uint32(18),i.bytes(o.id)),o.protos!=null)for(let c of o.protos)i.uint32(26),i.string(c);s.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let s={protos:[]},c=i==null?o.len:o.pos+i;for(;o.pos<c;){let a=o.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(o);break;case 2:s.id=o.bytes();break;case 3:s.protos.push(o.string());break;default:o.skipType(a&7);break}}return s})),n),r.encode=o=>H(o,r.codec()),r.decode=o=>F(o,r.codec())})(Ir||(Ir={}));var Sr;(function(r){let t;r.codec=()=>(t==null&&(t=G((e,n,o={})=>{if(o.lengthDelimited!==!1&&n.fork(),e.peer!=null&&(n.uint32(10),Qt.codec().encode(e.peer,n)),e.protos!=null)for(let i of e.protos)n.uint32(18),n.string(i);o.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let o={protos:[]},i=n==null?e.len:e.pos+n;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:o.peer=Qt.codec().decode(e,e.uint32());break;case 2:o.protos.push(e.string());break;default:e.skipType(s&7);break}}return o})),t),r.encode=e=>H(e,r.codec()),r.decode=e=>F(e,r.codec())})(Sr||(Sr={}));var rs=mt(Q("node:tty"),1),Pr=mt(Q("node:util"),1);function ja(r,t){try{if(typeof r=="string"&&r.length>0)return tu(r);if(typeof r=="number"&&isFinite(r))return t?.long?ru(r):eu(r);throw new Error("Value is not a string or number.")}catch(e){let n=nu(e)?`${e.message}. value=${JSON.stringify(r)}`:"An unknown error has occured.";throw new Error(n)}}function tu(r){if(r=String(r),r.length>100)throw new Error("Value exceeds the maximum length of 100 characters.");let t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(!t)return NaN;let e=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return e*315576e5;case"weeks":case"week":case"w":return e*6048e5;case"days":case"day":case"d":return e*864e5;case"hours":case"hour":case"hrs":case"hr":case"h":return e*36e5;case"minutes":case"minute":case"mins":case"min":case"m":return e*6e4;case"seconds":case"second":case"secs":case"sec":case"s":return e*1e3;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:throw new Error(`The unit ${n} was matched, but no matching case exists.`)}}var Tr=ja;function eu(r){let t=Math.abs(r);return t>=864e5?`${Math.round(r/864e5)}d`:t>=36e5?`${Math.round(r/36e5)}h`:t>=6e4?`${Math.round(r/6e4)}m`:t>=1e3?`${Math.round(r/1e3)}s`:`${r}ms`}function ru(r){let t=Math.abs(r);return t>=864e5?Ar(r,t,864e5,"day"):t>=36e5?Ar(r,t,36e5,"hour"):t>=6e4?Ar(r,t,6e4,"minute"):t>=1e3?Ar(r,t,1e3,"second"):`${r} ms`}function Ar(r,t,e,n){let o=t>=e*1.5;return`${Math.round(r/e)} ${n}${o?"s":""}`}function nu(r){return typeof r=="object"&&r!==null&&"message"in r}var Br=mt(Q("node:process"),1),es=mt(Q("node:os"),1),vo=mt(Q("node:tty"),1);function It(r,t=globalThis.Deno?globalThis.Deno.args:Br.default.argv){let e=r.startsWith("-")?"":r.length===1?"-":"--",n=t.indexOf(e+r),o=t.indexOf("--");return n!==-1&&(o===-1||n<o)}var{env:z}=Br.default,Lr;It("no-color")||It("no-colors")||It("color=false")||It("color=never")?Lr=0:(It("color")||It("colors")||It("color=true")||It("color=always"))&&(Lr=1);function ou(){if("FORCE_COLOR"in z)return z.FORCE_COLOR==="true"?1:z.FORCE_COLOR==="false"?0:z.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(z.FORCE_COLOR,10),3)}function iu(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function su(r,{streamIsTTY:t,sniffFlags:e=!0}={}){let n=ou();n!==void 0&&(Lr=n);let o=e?Lr:n;if(o===0)return 0;if(e){if(It("color=16m")||It("color=full")||It("color=truecolor"))return 3;if(It("color=256"))return 2}if("TF_BUILD"in z&&"AGENT_NAME"in z)return 1;if(r&&!t&&o===void 0)return 0;let i=o||0;if(z.TERM==="dumb")return i;if(Br.default.platform==="win32"){let s=es.default.release().split(".");return Number(s[0])>=10&&Number(s[2])>=10586?Number(s[2])>=14931?3:2:1}if("CI"in z)return"GITHUB_ACTIONS"in z||"GITEA_ACTIONS"in z?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(s=>s in z)||z.CI_NAME==="codeship"?1:i;if("TEAMCITY_VERSION"in z)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(z.TEAMCITY_VERSION)?1:0;if(z.COLORTERM==="truecolor"||z.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in z){let s=Number.parseInt((z.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(z.TERM_PROGRAM){case"iTerm.app":return s>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(z.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(z.TERM)||"COLORTERM"in z?1:i}function ts(r,t={}){let e=su(r,{streamIsTTY:r&&r.isTTY,...t});return iu(e)}var cu={stdout:ts({isTTY:vo.default.isatty(1)}),stderr:ts({isTTY:vo.default.isatty(2)})},Cr=cu;function Io(r){e.debug=e,e.default=e,e.coerce=a,e.disable=i,e.enable=o,e.enabled=s,e.humanize=Tr,e.destroy=f,Object.keys(r).forEach(l=>{e[l]=r[l]}),e.names=[],e.skips=[],e.formatters={};function t(l){let u=0;for(let d=0;d<l.length;d++)u=(u<<5)-u+l.charCodeAt(d),u|=0;return e.colors[Math.abs(u)%e.colors.length]}e.selectColor=t;function e(l){let u,d=null,p,w;function g(...h){if(!g.enabled)return;let m=g,y=Number(new Date),E=y-(u||y);m.diff=E,m.prev=u,m.curr=y,u=y,h[0]=e.coerce(h[0]),typeof h[0]!="string"&&h.unshift("%O");let A=0;h[0]=h[0].replace(/%([a-zA-Z%])/g,(B,v)=>{if(B==="%%")return"%";A++;let L=e.formatters[v];if(typeof L=="function"){let C=h[A];B=L.call(m,C),h.splice(A,1),A--}return B}),e.formatArgs.call(m,h),(m.log||e.log).apply(m,h)}return g.namespace=l,g.useColors=e.useColors(),g.color=e.selectColor(l),g.extend=n,g.destroy=e.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(p!==e.namespaces&&(p=e.namespaces,w=e.enabled(l)),w),set:h=>{d=h}}),typeof e.init=="function"&&e.init(g),g}function n(l,u){let d=e(this.namespace+(typeof u>"u"?":":u)+l);return d.log=this.log,d}function o(l){e.save(l),e.namespaces=l,e.names=[],e.skips=[];let u,d=(typeof l=="string"?l:"").split(/[\s,]+/),p=d.length;for(u=0;u<p;u++)d[u]&&(l=d[u].replace(/\*/g,".*?"),l[0]==="-"?e.skips.push(new RegExp("^"+l.substr(1)+"$")):e.names.push(new RegExp("^"+l+"$")))}function i(){let l=[...e.names.map(c),...e.skips.map(c).map(u=>"-"+u)].join(",");return e.enable(""),l}function s(l){if(l[l.length-1]==="*")return!0;let u,d;for(u=0,d=e.skips.length;u<d;u++)if(e.skips[u].test(l))return!1;for(u=0,d=e.names.length;u<d;u++)if(e.names[u].test(l))return!0;return!1}function c(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function a(l){return l instanceof Error?l.stack??l.message:l}function f(){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 e.setupFormatters(e.formatters),e.enable(e.load()),e}var ns=[6,2,3,4,5,1];Cr.stderr!==!1&&(Cr.stderr??Cr).level>=2&&(ns=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221]);var Ne=Object.keys(process.env).filter(r=>/^debug_/i.test(r)).reduce((r,t)=>{let e=t.substring(6).toLowerCase().replace(/_([a-z])/g,(o,i)=>i.toUpperCase()),n=process.env[t];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),r[e]=n,r},{});function au(){return"colors"in Ne?!!Ne.colors:rs.default.isatty(process.stderr.fd)}function uu(r){let{namespace:t,useColors:e}=this;if(e===!0){let n=this.color,o="\x1B[3"+(n<8?n:"8;5;"+n),i=` ${o};1m${t} \x1B[0m`;r[0]=i+r[0].split(`
3
3
  `).join(`
4
- `+i),r.push(o+"m+"+Ar(this.diff)+"\x1B[0m")}else r[0]=ou()+t+" "+r[0]}function ou(){return ke.hideDate!=null?"":new Date().toISOString()+" "}function iu(...r){return process.stderr.write(Cr.default.format(...r)+`
5
- `)}function su(r){r!=null?process.env.DEBUG=r:delete process.env.DEBUG}function cu(){return process.env.DEBUG}function au(r){r.inspectOpts={};let t=Object.keys(ke);for(let e=0;e<t.length;e++)r.inspectOpts[t[e]]=ke[t[e]]}function uu(r){r.o=function(t){return this.inspectOpts.colors=this.useColors,Cr.default.inspect(t,this.inspectOpts).split(`
6
- `).map(e=>e.trim()).join(" ")},r.O=function(t){return this.inspectOpts.colors=this.useColors,Cr.default.inspect(t,this.inspectOpts)}}var ji=yo({init:au,log:iu,formatArgs:nu,save:su,load:cu,useColors:ru,setupFormatters:uu,colors:Ji,inspectOpts:ke});var ft=ji;ft.formatters.b=r=>r==null?"undefined":F.baseEncode(r);ft.formatters.t=r=>r==null?"undefined":Lt.baseEncode(r);ft.formatters.m=r=>r==null?"undefined":Xn.baseEncode(r);ft.formatters.p=r=>r==null?"undefined":r.toString();ft.formatters.c=r=>r==null?"undefined":r.toString();ft.formatters.k=r=>r==null?"undefined":r.toString();ft.formatters.a=r=>r==null?"undefined":r.toString();ft.formatters.e=r=>r==null?"undefined":ts(r.stack)??ts(r.message)??r.toString();function lu(r){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=r,t.destroy=()=>!0,t.extend=()=>t,t}function es(){return{forComponent(r){return he(r)}}}function he(r){let t=lu(`${r}:trace`);return ft.enabled(`${r}:trace`)&&ft.names.map(e=>e.toString()).find(e=>e.includes(":trace"))!=null&&(t=ft(`${r}:trace`)),Object.assign(ft(r),{error:ft(`${r}:error`),trace:t})}function ts(r){if(r!=null&&(r=r.trim(),r.length!==0))return r}function jt(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var Pr=class extends Error{type;code;constructor(t,e,n){super(t??"The operation was aborted"),this.type="aborted",this.name=n??"AbortError",this.code=e??"ABORT_ERR"}};async function rs(r,t,e){if(t==null)return r;if(t.aborted)return Promise.reject(new Pr(e?.errorMessage,e?.errorCode,e?.errorName));let n,o=new Pr(e?.errorMessage,e?.errorCode,e?.errorName);try{return await Promise.race([r,new Promise((i,s)=>{n=()=>{s(o)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var bo=class{readNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.readNext=jt(),this.haveNext=jt()}[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 t=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=jt(),t}async throw(t){return this.ended=!0,t!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(t)),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return await this._push(void 0),t}async push(t,e){await this._push(t,e)}async end(t,e){t!=null?await this.throw(t):await this._push(void 0,e)}async _push(t,e){if(t!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=jt(),await rs(this.readNext.promise,e?.signal,e)}};function ns(){return new bo}var os=X("node:buffer");function mt(r,t){return ue(os.Buffer.concat(r,t))}function Pt(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var ss=Symbol.for("@achingbrain/uint8arraylist");function is(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let o=e+n.byteLength;if(t<o)return{buf:n,index:t-e};e=o}throw new RangeError("index is out of bounds")}function kr(r){return!!r?.[ss]}var Mt=class r{bufs;length;[ss]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(kr(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(kr(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=is(this.bufs,t);return e.buf[e.index]}set(t,e){let n=is(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(kr(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:o}=this._subList(t,e);return mt(n,o)}subarray(t,e){let{bufs:n,length:o}=this._subList(t,e);return n.length===1?n[0]:mt(n,o)}sublist(t,e){let{bufs:n,length:o}=this._subList(t,e),i=new r;return i.length=o,i.bufs=[...n],i}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],o=0;for(let i=0;i<this.bufs.length;i++){let s=this.bufs[i],c=o,a=c+s.byteLength;if(o=a,t>=a)continue;let f=t>=c&&t<a,l=e>c&&e<=a;if(f&&l){if(t===c&&e===a){n.push(s);break}let u=t-c;n.push(s.subarray(u,u+(e-t)));break}if(f){if(t===0){n.push(s);continue}n.push(s.subarray(t-c));continue}if(l){if(e===a){n.push(s);break}n.push(s.subarray(0,e-c));break}n.push(s)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!kr(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let i=256,s=new Int32Array(i);for(let u=0;u<i;u++)s[u]=-1;for(let u=0;u<o;u++)s[n[u]]=u;let c=s,a=this.byteLength-n.byteLength,f=n.byteLength-1,l;for(let u=e;u<=a;u+=l){l=0;for(let d=f;d>=0;d--){let m=this.get(u+d);if(n[d]!==m){l=Math.max(1,d-c[m]);break}}if(l===0)return u}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=wt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let o=Dt(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,e,n),this.write(o,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let o=Dt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,e,n),this.write(o,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let o=Dt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,e,n),this.write(o,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=wt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let o=Dt(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,e,n),this.write(o,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let o=Dt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,e,n),this.write(o,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let o=Dt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,e,n),this.write(o,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let o=Dt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,e,n),this.write(o,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let o=Dt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,e,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!Pt(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((o,i)=>o+i.byteLength,0)),n.length=e,n}};var Nr=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};var wo=class extends Error{code;constructor(t,e){super(t),this.code=e}},xo=class extends wo{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted",this.name="AbortError"}};function cs(r,t){let e=ns();r.sink(e).catch(async s=>{await e.end(s)}),r.sink=async s=>{for await(let c of s)await e.push(c);await e.end()};let n=r.source;r.source[Symbol.iterator]!=null?n=r.source[Symbol.iterator]():r.source[Symbol.asyncIterator]!=null&&(n=r.source[Symbol.asyncIterator]());let o=new Mt;return{read:async(s,c)=>{c?.signal?.throwIfAborted();let a,f=new Promise((l,u)=>{a=()=>{u(new xo("Read aborted"))},c?.signal?.addEventListener("abort",a)});try{if(s==null){let{done:u,value:d}=await Promise.race([n.next(),f]);return u===!0?new Mt:d}for(;o.byteLength<s;){let{value:u,done:d}=await Promise.race([n.next(),f]);if(d===!0)throw new Nr("unexpected end of input");o.append(u)}let l=o.sublist(0,s);return o.consume(s),l}finally{a!=null&&c?.signal?.removeEventListener("abort",a)}},write:async(s,c)=>{c?.signal?.throwIfAborted(),s instanceof Uint8Array?await e.push(s,c):await e.push(s.subarray(),c)},unwrap:()=>{if(o.byteLength>0){let s=r.source;r.source=async function*(){t?.yieldBytes===!1?yield o:yield*o,yield*s}()}return r}}}var Or=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},Dr=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},Ur=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function Rr(r,t={}){let e=cs(r,t);t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=ot(t.maxDataLength));let n=t?.lengthDecoder??Ut,o=t?.lengthEncoder??Yt;return{read:async s=>{let c=-1,a=new Mt;for(;;){a.append(await e.read(1,s));try{c=n(a)}catch(f){if(f instanceof RangeError)continue;throw f}if(c<0)throw new Or("Invalid message length");if(t?.maxLengthLength!=null&&a.byteLength>t.maxLengthLength)throw new Ur("message length length too long");if(c>-1)break}if(t?.maxDataLength!=null&&c>t.maxDataLength)throw new Dr("message length too long");return e.read(c,s)},write:async(s,c)=>{await e.write(new Mt(o(s.byteLength),s),c)},writeV:async(s,c)=>{let a=new Mt(...s.flatMap(f=>[o(f.byteLength),f]));await e.write(a,c)},unwrap:()=>e.unwrap()}}var Eo=he("libp2p:daemon-protocol:stream-handler"),_r=class{stream;lp;constructor(t){let{stream:e,maxLength:n}=t;this.stream=e,this.lp=Rr(this.stream,{maxDataLength:n??4096})}async read(){try{return await this.lp.read()}catch(t){Eo.error("read received no value",t)}}async write(t){Eo("write message"),await this.lp.write(t)}rest(){return this.lp.unwrap()}async close(){Eo("closing the stream"),await this.rest().close()}};var Xe=class{onConnection;constructor(t){this.onConnection=t}async upgradeInbound(t){return this.onConnection?.(t),t}async upgradeOutbound(t){return t}};var Mr=Symbol.for("@libp2p/peer-id");function Ne(r){return!!r?.[Mr]}var us=Symbol.for("@libp2p/transport");var as;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(as||(as={}));var Kr=class extends Error{static name="AbortError";constructor(t="The operation was aborted"){super(t),this.name="AbortError"}};var O=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},$r=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var Fr=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var Qe=class extends Error{static name="InvalidMessageError";constructor(t="Invalid message"){super(t),this.name="InvalidMessageError"}},Je=class extends Error{static name="ProtocolError";constructor(t="Protocol error"){super(t),this.name="ProtocolError"}},Oe=class extends Error{static name="TimeoutError";constructor(t="Timed out"){super(t),this.name="TimeoutError"}},Vr=class extends Error{static name="NotStartedError";constructor(t="Not started"){super(t),this.name="NotStartedError"}},Hr=class extends Error{static name="AlreadyStartedError";constructor(t="Already started"){super(t),this.name="AlreadyStartedError"}};var je=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var ls=X("events"),Gr=(r,...t)=>{try{(0,ls.setMaxListeners)(r,...t)}catch{}};var zr=class extends EventTarget{#t=new Map;constructor(){super(),Gr(1/0,this)}listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,n){super.addEventListener(t,e,n);let o=this.#t.get(t);o==null&&(o=[],this.#t.set(t,o)),o.push({callback:e,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,e,n){super.removeEventListener(t.toString(),e??null,n);let o=this.#t.get(t);o!=null&&(o=o.filter(({callback:i})=>i!==e),this.#t.set(t,o))}dispatchEvent(t){let e=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:o})=>!o),this.#t.set(t.type,n)),e}safeDispatchEvent(t,e={}){return this.dispatchEvent(new CustomEvent(t,e))}};var fs=Symbol.for("@libp2p/service-capabilities"),uh=Symbol.for("@libp2p/service-dependencies");var qr=ht(X("crypto"),1);var ds=X("node:buffer");function Z(r,t="utf8"){let e=lr[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return t==="utf8"||t==="utf-8"?ds.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):e.encoder.encode(r).substring(1)}var Mh=qr.default.generateKeyPairSync,tr=32;var fu=64;function hs(r,t,e){if(r.byteLength!==tr)throw new TypeError('"key" must be 32 bytes in length.');if(!(r instanceof Uint8Array))throw new TypeError('"key" must be a node.js Buffer, or Uint8Array.');if(t.byteLength!==fu)throw new TypeError('"sig" must be 64 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"sig" must be a node.js Buffer, or Uint8Array.');let n=qr.default.createPublicKey({format:"jwk",key:{crv:"Ed25519",x:Z(r,"base64url"),kty:"OKP"}});return qr.default.verify(null,e instanceof Uint8Array?e:e.subarray(),n,t)}var Wr=class{type="Ed25519";raw;constructor(t){this.raw=vo(t,tr)}toMultihash(){return Rt.digest(Yr(this))}toCID(){return j.createV1(114,this.toMultihash())}toString(){return F.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Pt(this.raw,t.raw)}verify(t,e){return hs(this.raw,e,t)}};function ms(r){return r=vo(r,tr),new Wr(r)}function vo(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new O(`Key must be a Uint8Array of length ${t}, got ${r.length}`);return r}var It;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.secp256k1="secp256k1"})(It||(It={}));var Io;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.secp256k1=2]="secp256k1"})(Io||(Io={}));(function(r){r.codec=()=>Bt(Io)})(It||(It={}));var er;(function(r){let t;r.codec=()=>(t==null&&(t=H((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),It.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let i={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let c=e.uint32();switch(c>>>3){case 1:{i.Type=It.codec().decode(e);break}case 2:{i.Data=e.bytes();break}default:{e.skipType(c&7);break}}}return i})),t),r.encode=e=>V(e,r.codec()),r.decode=(e,n)=>$(e,r.codec(),n)})(er||(er={}));var So;(function(r){let t;r.codec=()=>(t==null&&(t=H((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),It.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let i={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let c=e.uint32();switch(c>>>3){case 1:{i.Type=It.codec().decode(e);break}case 2:{i.Data=e.bytes();break}default:{e.skipType(c&7);break}}}return i})),t),r.encode=e=>V(e,r.codec()),r.decode=(e,n)=>$(e,r.codec(),n)})(So||(So={}));function gs(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`positive integer expected, not ${r}`)}function pu(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function De(r,...t){if(!pu(r))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(r.length))throw new Error(`Uint8Array expected of length ${t}, not of length=${r.length}`)}function ys(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");gs(r.outputLen),gs(r.blockLen)}function Ue(r,t=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(t&&r.finished)throw new Error("Hash#digest() has already been called")}function bs(r,t){De(r);let e=t.outputLen;if(r.length<e)throw new Error(`digestInto() expects output buffer of length at least ${e}`)}var Kt=ht(X("node:crypto"),1),pe=Kt&&typeof Kt=="object"&&"webcrypto"in Kt?Kt.webcrypto:Kt&&typeof Kt=="object"&&"randomBytes"in Kt?Kt:void 0;var Zr=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),kt=(r,t)=>r<<32-t|r>>>t;var ip=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function mu(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function rr(r){return typeof r=="string"&&(r=mu(r)),De(r),r}function ws(...r){let t=0;for(let n=0;n<r.length;n++){let o=r[n];De(o),t+=o.length}let e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let i=r[n];e.set(i,o),o+=i.length}return e}var Re=class{clone(){return this._cloneInto()}},sp={}.toString;function xs(r){let t=n=>r().update(rr(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function Es(r=32){if(pe&&typeof pe.getRandomValues=="function")return pe.getRandomValues(new Uint8Array(r));if(pe&&typeof pe.randomBytes=="function")return pe.randomBytes(r);throw new Error("crypto.getRandomValues must be defined")}function gu(r,t,e,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(t,e,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(e>>o&i),c=Number(e&i),a=n?4:0,f=n?0:4;r.setUint32(t+a,s,n),r.setUint32(t+f,c,n)}var vs=(r,t,e)=>r&t^~r&e,Is=(r,t,e)=>r&t^r&e^t&e,Xr=class extends Re{constructor(t,e,n,o){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=Zr(this.buffer)}update(t){Ue(this);let{view:e,buffer:n,blockLen:o}=this;t=rr(t);let i=t.length;for(let s=0;s<i;){let c=Math.min(o-this.pos,i-s);if(c===o){let a=Zr(t);for(;o<=i-s;s+=o)this.process(a,s);continue}n.set(t.subarray(s,s+c),this.pos),this.pos+=c,s+=c,this.pos===o&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Ue(this),bs(t,this),this.finished=!0;let{buffer:e,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;e[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>o-s&&(this.process(n,0),s=0);for(let u=s;u<o;u++)e[u]=0;gu(n,o-8,BigInt(this.length*8),i),this.process(n,0);let c=Zr(t),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let f=a/4,l=this.get();if(f>l.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<f;u++)c.setUint32(4*u,l[u],i)}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:e,buffer:n,length:o,finished:i,destroyed:s,pos:c}=this;return t.length=o,t.pos=c,t.finished=i,t.destroyed=s,o%e&&t.buffer.set(n),t}};var yu=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),te=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),ee=new Uint32Array(64),Ao=class extends Xr{constructor(){super(64,32,8,!1),this.A=te[0]|0,this.B=te[1]|0,this.C=te[2]|0,this.D=te[3]|0,this.E=te[4]|0,this.F=te[5]|0,this.G=te[6]|0,this.H=te[7]|0}get(){let{A:t,B:e,C:n,D:o,E:i,F:s,G:c,H:a}=this;return[t,e,n,o,i,s,c,a]}set(t,e,n,o,i,s,c,a){this.A=t|0,this.B=e|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=c|0,this.H=a|0}process(t,e){for(let u=0;u<16;u++,e+=4)ee[u]=t.getUint32(e,!1);for(let u=16;u<64;u++){let d=ee[u-15],m=ee[u-2],w=kt(d,7)^kt(d,18)^d>>>3,y=kt(m,17)^kt(m,19)^m>>>10;ee[u]=y+ee[u-7]+w+ee[u-16]|0}let{A:n,B:o,C:i,D:s,E:c,F:a,G:f,H:l}=this;for(let u=0;u<64;u++){let d=kt(c,6)^kt(c,11)^kt(c,25),m=l+d+vs(c,a,f)+yu[u]+ee[u]|0,y=(kt(n,2)^kt(n,13)^kt(n,22))+Is(n,o,i)|0;l=f,f=a,a=c,c=s+m|0,s=i,i=o,o=n,n=m+y|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,c=c+this.E|0,a=a+this.F|0,f=f+this.G|0,l=l+this.H|0,this.set(n,o,i,s,c,a,f,l)}roundClean(){ee.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Ss=xs(()=>new Ao);var Qr=class extends Re{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,ys(t);let n=rr(e);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let o=this.blockLen,i=new Uint8Array(o);i.set(n.length>o?t.create().update(n).digest():n);for(let s=0;s<i.length;s++)i[s]^=54;this.iHash.update(i),this.oHash=t.create();for(let s=0;s<i.length;s++)i[s]^=106;this.oHash.update(i),i.fill(0)}update(t){return Ue(this),this.iHash.update(t),this}digestInto(t){Ue(this),De(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:e,iHash:n,finished:o,destroyed:i,blockLen:s,outputLen:c}=this;return t=t,t.finished=o,t.destroyed=i,t.blockLen=s,t.outputLen=c,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},To=(r,t,e)=>new Qr(r,t).update(e).digest();To.create=(r,t)=>new Qr(r,t);var Oo={};ut(Oo,{aInRange:()=>oe,abool:()=>me,abytes:()=>_e,bitGet:()=>Iu,bitLen:()=>ko,bitMask:()=>or,bitSet:()=>Su,bytesToHex:()=>ge,bytesToNumberBE:()=>Ft,bytesToNumberLE:()=>jr,concatBytes:()=>Me,createHmacDrbg:()=>No,ensureBytes:()=>gt,equalBytes:()=>Eu,hexToBytes:()=>be,hexToNumber:()=>Po,inRange:()=>nr,isBytes:()=>re,memoized:()=>en,notImplemented:()=>Tu,numberToBytesBE:()=>ne,numberToBytesLE:()=>tn,numberToHexUnpadded:()=>ye,numberToVarBytesBE:()=>xu,utf8ToBytes:()=>vu,validateObject:()=>ie});var Co=BigInt(0),Jr=BigInt(1),bu=BigInt(2);function re(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function _e(r){if(!re(r))throw new Error("Uint8Array expected")}function me(r,t){if(typeof t!="boolean")throw new Error(`${r} must be valid boolean, got "${t}".`)}var wu=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function ge(r){_e(r);let t="";for(let e=0;e<r.length;e++)t+=wu[r[e]];return t}function ye(r){let t=r.toString(16);return t.length&1?`0${t}`:t}function Po(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}var $t={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function As(r){if(r>=$t._0&&r<=$t._9)return r-$t._0;if(r>=$t._A&&r<=$t._F)return r-($t._A-10);if(r>=$t._a&&r<=$t._f)return r-($t._a-10)}function be(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);let t=r.length,e=t/2;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(e);for(let o=0,i=0;o<e;o++,i+=2){let s=As(r.charCodeAt(i)),c=As(r.charCodeAt(i+1));if(s===void 0||c===void 0){let a=r[i]+r[i+1];throw new Error('hex string expected, got non-hex character "'+a+'" at index '+i)}n[o]=s*16+c}return n}function Ft(r){return Po(ge(r))}function jr(r){return _e(r),Po(ge(Uint8Array.from(r).reverse()))}function ne(r,t){return be(r.toString(16).padStart(t*2,"0"))}function tn(r,t){return ne(r,t).reverse()}function xu(r){return be(ye(r))}function gt(r,t,e){let n;if(typeof t=="string")try{n=be(t)}catch(i){throw new Error(`${r} must be valid hex string, got "${t}". Cause: ${i}`)}else if(re(t))n=Uint8Array.from(t);else throw new Error(`${r} must be hex string or Uint8Array`);let o=n.length;if(typeof e=="number"&&o!==e)throw new Error(`${r} expected ${e} bytes, got ${o}`);return n}function Me(...r){let t=0;for(let n=0;n<r.length;n++){let o=r[n];_e(o),t+=o.length}let e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let i=r[n];e.set(i,o),o+=i.length}return e}function Eu(r,t){if(r.length!==t.length)return!1;let e=0;for(let n=0;n<r.length;n++)e|=r[n]^t[n];return e===0}function vu(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}var Lo=r=>typeof r=="bigint"&&Co<=r;function nr(r,t,e){return Lo(r)&&Lo(t)&&Lo(e)&&t<=r&&r<e}function oe(r,t,e,n){if(!nr(t,e,n))throw new Error(`expected valid ${r}: ${e} <= n < ${n}, got ${typeof t} ${t}`)}function ko(r){let t;for(t=0;r>Co;r>>=Jr,t+=1);return t}function Iu(r,t){return r>>BigInt(t)&Jr}function Su(r,t,e){return r|(e?Jr:Co)<<BigInt(t)}var or=r=>(bu<<BigInt(r-1))-Jr,Bo=r=>new Uint8Array(r),Ts=r=>Uint8Array.from(r);function No(r,t,e){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof e!="function")throw new Error("hmacFn must be a function");let n=Bo(r),o=Bo(r),i=0,s=()=>{n.fill(1),o.fill(0),i=0},c=(...u)=>e(o,n,...u),a=(u=Bo())=>{o=c(Ts([0]),u),n=c(),u.length!==0&&(o=c(Ts([1]),u),n=c())},f=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let u=0,d=[];for(;u<t;){n=c();let m=n.slice();d.push(m),u+=n.length}return Me(...d)};return(u,d)=>{s(),a(u);let m;for(;!(m=d(f()));)a();return s(),m}}var Au={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||re(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,t)=>t.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function ie(r,t,e={}){let n=(o,i,s)=>{let c=Au[i];if(typeof c!="function")throw new Error(`Invalid validator "${i}", expected function`);let a=r[o];if(!(s&&a===void 0)&&!c(a,r))throw new Error(`Invalid param ${String(o)}=${a} (${typeof a}), expected ${i}`)};for(let[o,i]of Object.entries(t))n(o,i,!1);for(let[o,i]of Object.entries(e))n(o,i,!0);return r}var Tu=()=>{throw new Error("not implemented")};function en(r){let t=new WeakMap;return(e,...n)=>{let o=t.get(e);if(o!==void 0)return o;let i=r(e,...n);return t.set(e,i),i}}var Q=BigInt(0),W=BigInt(1),we=BigInt(2),Lu=BigInt(3),Do=BigInt(4),Ls=BigInt(5),Bs=BigInt(8),Bu=BigInt(9),Cu=BigInt(16);function st(r,t){let e=r%t;return e>=Q?e:t+e}function Pu(r,t,e){if(e<=Q||t<Q)throw new Error("Expected power/modulo > 0");if(e===W)return Q;let n=W;for(;t>Q;)t&W&&(n=n*r%e),r=r*r%e,t>>=W;return n}function yt(r,t,e){let n=r;for(;t-- >Q;)n*=n,n%=e;return n}function rn(r,t){if(r===Q||t<=Q)throw new Error(`invert: expected positive integers, got n=${r} mod=${t}`);let e=st(r,t),n=t,o=Q,i=W,s=W,c=Q;for(;e!==Q;){let f=n/e,l=n%e,u=o-s*f,d=i-c*f;n=e,e=l,o=s,i=c,s=u,c=d}if(n!==W)throw new Error("invert: does not exist");return st(o,t)}function ku(r){let t=(r-W)/we,e,n,o;for(e=r-W,n=0;e%we===Q;e/=we,n++);for(o=we;o<r&&Pu(o,t,r)!==r-W;o++);if(n===1){let s=(r+W)/Do;return function(a,f){let l=a.pow(f,s);if(!a.eql(a.sqr(l),f))throw new Error("Cannot find square root");return l}}let i=(e+W)/we;return function(c,a){if(c.pow(a,t)===c.neg(c.ONE))throw new Error("Cannot find square root");let f=n,l=c.pow(c.mul(c.ONE,o),e),u=c.pow(a,i),d=c.pow(a,e);for(;!c.eql(d,c.ONE);){if(c.eql(d,c.ZERO))return c.ZERO;let m=1;for(let y=c.sqr(d);m<f&&!c.eql(y,c.ONE);m++)y=c.sqr(y);let w=c.pow(l,W<<BigInt(f-m-1));l=c.sqr(w),u=c.mul(u,w),d=c.mul(d,l),f=m}return u}}function Nu(r){if(r%Do===Lu){let t=(r+W)/Do;return function(n,o){let i=n.pow(o,t);if(!n.eql(n.sqr(i),o))throw new Error("Cannot find square root");return i}}if(r%Bs===Ls){let t=(r-Ls)/Bs;return function(n,o){let i=n.mul(o,we),s=n.pow(i,t),c=n.mul(o,s),a=n.mul(n.mul(c,we),s),f=n.mul(c,n.sub(a,n.ONE));if(!n.eql(n.sqr(f),o))throw new Error("Cannot find square root");return f}}return r%Cu,ku(r)}var Ou=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Uo(r){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=Ou.reduce((n,o)=>(n[o]="function",n),t);return ie(r,e)}function Du(r,t,e){if(e<Q)throw new Error("Expected power > 0");if(e===Q)return r.ONE;if(e===W)return t;let n=r.ONE,o=t;for(;e>Q;)e&W&&(n=r.mul(n,o)),o=r.sqr(o),e>>=W;return n}function Uu(r,t){let e=new Array(t.length),n=t.reduce((i,s,c)=>r.is0(s)?i:(e[c]=i,r.mul(i,s)),r.ONE),o=r.inv(n);return t.reduceRight((i,s,c)=>r.is0(s)?i:(e[c]=r.mul(i,e[c]),r.mul(i,s)),o),e}function Ro(r,t){let e=t!==void 0?t:r.toString(2).length,n=Math.ceil(e/8);return{nBitLength:e,nByteLength:n}}function nn(r,t,e=!1,n={}){if(r<=Q)throw new Error(`Expected Field ORDER > 0, got ${r}`);let{nBitLength:o,nByteLength:i}=Ro(r,t);if(i>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=Nu(r),c=Object.freeze({ORDER:r,BITS:o,BYTES:i,MASK:or(o),ZERO:Q,ONE:W,create:a=>st(a,r),isValid:a=>{if(typeof a!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof a}`);return Q<=a&&a<r},is0:a=>a===Q,isOdd:a=>(a&W)===W,neg:a=>st(-a,r),eql:(a,f)=>a===f,sqr:a=>st(a*a,r),add:(a,f)=>st(a+f,r),sub:(a,f)=>st(a-f,r),mul:(a,f)=>st(a*f,r),pow:(a,f)=>Du(c,a,f),div:(a,f)=>st(a*rn(f,r),r),sqrN:a=>a*a,addN:(a,f)=>a+f,subN:(a,f)=>a-f,mulN:(a,f)=>a*f,inv:a=>rn(a,r),sqrt:n.sqrt||(a=>s(c,a)),invertBatch:a=>Uu(c,a),cmov:(a,f,l)=>l?f:a,toBytes:a=>e?tn(a,i):ne(a,i),fromBytes:a=>{if(a.length!==i)throw new Error(`Fp.fromBytes: expected ${i}, got ${a.length}`);return e?jr(a):Ft(a)}});return Object.freeze(c)}function Cs(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let t=r.toString(2).length;return Math.ceil(t/8)}function _o(r){let t=Cs(r);return t+Math.ceil(t/2)}function Ps(r,t,e=!1){let n=r.length,o=Cs(t),i=_o(t);if(n<16||n<i||n>1024)throw new Error(`expected ${i}-1024 bytes of input, got ${n}`);let s=e?Ft(r):jr(r),c=st(s,t-W)+W;return e?tn(c,o):ne(c,o)}var _u=BigInt(0),Mo=BigInt(1),Ko=new WeakMap,ks=new WeakMap;function Ns(r,t){let e=(i,s)=>{let c=s.negate();return i?c:s},n=i=>{if(!Number.isSafeInteger(i)||i<=0||i>t)throw new Error(`Wrong window size=${i}, should be [1..${t}]`)},o=i=>{n(i);let s=Math.ceil(t/i)+1,c=2**(i-1);return{windows:s,windowSize:c}};return{constTimeNegate:e,unsafeLadder(i,s){let c=r.ZERO,a=i;for(;s>_u;)s&Mo&&(c=c.add(a)),a=a.double(),s>>=Mo;return c},precomputeWindow(i,s){let{windows:c,windowSize:a}=o(s),f=[],l=i,u=l;for(let d=0;d<c;d++){u=l,f.push(u);for(let m=1;m<a;m++)u=u.add(l),f.push(u);l=u.double()}return f},wNAF(i,s,c){let{windows:a,windowSize:f}=o(i),l=r.ZERO,u=r.BASE,d=BigInt(2**i-1),m=2**i,w=BigInt(i);for(let y=0;y<a;y++){let h=y*f,p=Number(c&d);c>>=w,p>f&&(p-=m,c+=Mo);let g=h,E=h+Math.abs(p)-1,I=y%2!==0,P=p<0;p===0?u=u.add(e(I,s[g])):l=l.add(e(P,s[E]))}return{p:l,f:u}},wNAFCached(i,s,c){let a=ks.get(i)||1,f=Ko.get(i);return f||(f=this.precomputeWindow(i,a),a!==1&&Ko.set(i,c(f))),this.wNAF(a,f,s)},setWindowSize(i,s){n(s),ks.set(i,s),Ko.delete(i)}}}function Os(r,t,e,n){if(!Array.isArray(e)||!Array.isArray(n)||n.length!==e.length)throw new Error("arrays of points and scalars must have equal length");n.forEach((l,u)=>{if(!t.isValid(l))throw new Error(`wrong scalar at index ${u}`)}),e.forEach((l,u)=>{if(!(l instanceof r))throw new Error(`wrong point at index ${u}`)});let o=ko(BigInt(e.length)),i=o>12?o-3:o>4?o-2:o?2:1,s=(1<<i)-1,c=new Array(s+1).fill(r.ZERO),a=Math.floor((t.BITS-1)/i)*i,f=r.ZERO;for(let l=a;l>=0;l-=i){c.fill(r.ZERO);for(let d=0;d<n.length;d++){let m=n[d],w=Number(m>>BigInt(l)&BigInt(s));c[w]=c[w].add(e[d])}let u=r.ZERO;for(let d=c.length-1,m=r.ZERO;d>0;d--)m=m.add(c[d]),u=u.add(m);if(f=f.add(u),l!==0)for(let d=0;d<i;d++)f=f.double()}return f}function $o(r){return Uo(r.Fp),ie(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Ro(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}function Ds(r){r.lowS!==void 0&&me("lowS",r.lowS),r.prehash!==void 0&&me("prehash",r.prehash)}function Mu(r){let t=$o(r);ie(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:e,Fp:n,a:o}=t;if(e){if(!n.eql(o,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof e!="object"||typeof e.beta!="bigint"||typeof e.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:Ku,hexToBytes:$u}=Oo,Vt={Err:class extends Error{constructor(t=""){super(t)}},_tlv:{encode:(r,t)=>{let{Err:e}=Vt;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length&1)throw new e("tlv.encode: unpadded data");let n=t.length/2,o=ye(n);if(o.length/2&128)throw new e("tlv.encode: long form length too big");let i=n>127?ye(o.length/2|128):"";return`${ye(r)}${i}${o}${t}`},decode(r,t){let{Err:e}=Vt,n=0;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length<2||t[n++]!==r)throw new e("tlv.decode: wrong tlv");let o=t[n++],i=!!(o&128),s=0;if(!i)s=o;else{let a=o&127;if(!a)throw new e("tlv.decode(long): indefinite length not supported");if(a>4)throw new e("tlv.decode(long): byte length is too big");let f=t.subarray(n,n+a);if(f.length!==a)throw new e("tlv.decode: length bytes not complete");if(f[0]===0)throw new e("tlv.decode(long): zero leftmost byte");for(let l of f)s=s<<8|l;if(n+=a,s<128)throw new e("tlv.decode(long): not minimal encoding")}let c=t.subarray(n,n+s);if(c.length!==s)throw new e("tlv.decode: wrong value length");return{v:c,l:t.subarray(n+s)}}},_int:{encode(r){let{Err:t}=Vt;if(r<Ht)throw new t("integer: negative integers are not allowed");let e=ye(r);if(Number.parseInt(e[0],16)&8&&(e="00"+e),e.length&1)throw new t("unexpected assertion");return e},decode(r){let{Err:t}=Vt;if(r[0]&128)throw new t("Invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return Ku(r)}},toSig(r){let{Err:t,_int:e,_tlv:n}=Vt,o=typeof r=="string"?$u(r):r;_e(o);let{v:i,l:s}=n.decode(48,o);if(s.length)throw new t("Invalid signature: left bytes after parsing");let{v:c,l:a}=n.decode(2,i),{v:f,l}=n.decode(2,a);if(l.length)throw new t("Invalid signature: left bytes after parsing");return{r:e.decode(c),s:e.decode(f)}},hexFromSig(r){let{_tlv:t,_int:e}=Vt,n=`${t.encode(2,e.encode(r.r))}${t.encode(2,e.encode(r.s))}`;return t.encode(48,n)}},Ht=BigInt(0),tt=BigInt(1),Sp=BigInt(2),Us=BigInt(3),Ap=BigInt(4);function Fu(r){let t=Mu(r),{Fp:e}=t,n=nn(t.n,t.nBitLength),o=t.toBytes||((y,h,p)=>{let g=h.toAffine();return Me(Uint8Array.from([4]),e.toBytes(g.x),e.toBytes(g.y))}),i=t.fromBytes||(y=>{let h=y.subarray(1),p=e.fromBytes(h.subarray(0,e.BYTES)),g=e.fromBytes(h.subarray(e.BYTES,2*e.BYTES));return{x:p,y:g}});function s(y){let{a:h,b:p}=t,g=e.sqr(y),E=e.mul(g,y);return e.add(e.add(E,e.mul(y,h)),p)}if(!e.eql(e.sqr(t.Gy),s(t.Gx)))throw new Error("bad generator point: equation left != right");function c(y){return nr(y,tt,t.n)}function a(y){let{allowedPrivateKeyLengths:h,nByteLength:p,wrapPrivateKey:g,n:E}=t;if(h&&typeof y!="bigint"){if(re(y)&&(y=ge(y)),typeof y!="string"||!h.includes(y.length))throw new Error("Invalid key");y=y.padStart(p*2,"0")}let I;try{I=typeof y=="bigint"?y:Ft(gt("private key",y,p))}catch{throw new Error(`private key must be ${p} bytes, hex or bigint, not ${typeof y}`)}return g&&(I=st(I,E)),oe("private key",I,tt,E),I}function f(y){if(!(y instanceof d))throw new Error("ProjectivePoint expected")}let l=en((y,h)=>{let{px:p,py:g,pz:E}=y;if(e.eql(E,e.ONE))return{x:p,y:g};let I=y.is0();h==null&&(h=I?e.ONE:e.inv(E));let P=e.mul(p,h),B=e.mul(g,h),v=e.mul(E,h);if(I)return{x:e.ZERO,y:e.ZERO};if(!e.eql(v,e.ONE))throw new Error("invZ was invalid");return{x:P,y:B}}),u=en(y=>{if(y.is0()){if(t.allowInfinityPoint&&!e.is0(y.py))return;throw new Error("bad point: ZERO")}let{x:h,y:p}=y.toAffine();if(!e.isValid(h)||!e.isValid(p))throw new Error("bad point: x or y not FE");let g=e.sqr(p),E=s(h);if(!e.eql(g,E))throw new Error("bad point: equation left != right");if(!y.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class d{constructor(h,p,g){if(this.px=h,this.py=p,this.pz=g,h==null||!e.isValid(h))throw new Error("x required");if(p==null||!e.isValid(p))throw new Error("y required");if(g==null||!e.isValid(g))throw new Error("z required");Object.freeze(this)}static fromAffine(h){let{x:p,y:g}=h||{};if(!h||!e.isValid(p)||!e.isValid(g))throw new Error("invalid affine point");if(h instanceof d)throw new Error("projective point not allowed");let E=I=>e.eql(I,e.ZERO);return E(p)&&E(g)?d.ZERO:new d(p,g,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(h){let p=e.invertBatch(h.map(g=>g.pz));return h.map((g,E)=>g.toAffine(p[E])).map(d.fromAffine)}static fromHex(h){let p=d.fromAffine(i(gt("pointHex",h)));return p.assertValidity(),p}static fromPrivateKey(h){return d.BASE.multiply(a(h))}static msm(h,p){return Os(d,n,h,p)}_setWindowSize(h){w.setWindowSize(this,h)}assertValidity(){u(this)}hasEvenY(){let{y:h}=this.toAffine();if(e.isOdd)return!e.isOdd(h);throw new Error("Field doesn't support isOdd")}equals(h){f(h);let{px:p,py:g,pz:E}=this,{px:I,py:P,pz:B}=h,v=e.eql(e.mul(p,B),e.mul(I,E)),T=e.eql(e.mul(g,B),e.mul(P,E));return v&&T}negate(){return new d(this.px,e.neg(this.py),this.pz)}double(){let{a:h,b:p}=t,g=e.mul(p,Us),{px:E,py:I,pz:P}=this,B=e.ZERO,v=e.ZERO,T=e.ZERO,C=e.mul(E,E),bt=e.mul(I,I),K=e.mul(P,P),U=e.mul(E,I);return U=e.add(U,U),T=e.mul(E,P),T=e.add(T,T),B=e.mul(h,T),v=e.mul(g,K),v=e.add(B,v),B=e.sub(bt,v),v=e.add(bt,v),v=e.mul(B,v),B=e.mul(U,B),T=e.mul(g,T),K=e.mul(h,K),U=e.sub(C,K),U=e.mul(h,U),U=e.add(U,T),T=e.add(C,C),C=e.add(T,C),C=e.add(C,K),C=e.mul(C,U),v=e.add(v,C),K=e.mul(I,P),K=e.add(K,K),C=e.mul(K,U),B=e.sub(B,C),T=e.mul(K,bt),T=e.add(T,T),T=e.add(T,T),new d(B,v,T)}add(h){f(h);let{px:p,py:g,pz:E}=this,{px:I,py:P,pz:B}=h,v=e.ZERO,T=e.ZERO,C=e.ZERO,bt=t.a,K=e.mul(t.b,Us),U=e.mul(p,I),dt=e.mul(g,P),x=e.mul(E,B),S=e.add(p,g),A=e.add(I,P);S=e.mul(S,A),A=e.add(U,dt),S=e.sub(S,A),A=e.add(p,E);let k=e.add(I,B);return A=e.mul(A,k),k=e.add(U,x),A=e.sub(A,k),k=e.add(g,E),v=e.add(P,B),k=e.mul(k,v),v=e.add(dt,x),k=e.sub(k,v),C=e.mul(bt,A),v=e.mul(K,x),C=e.add(v,C),v=e.sub(dt,C),C=e.add(dt,C),T=e.mul(v,C),dt=e.add(U,U),dt=e.add(dt,U),x=e.mul(bt,x),A=e.mul(K,A),dt=e.add(dt,x),x=e.sub(U,x),x=e.mul(bt,x),A=e.add(A,x),U=e.mul(dt,A),T=e.add(T,U),U=e.mul(k,A),v=e.mul(S,v),v=e.sub(v,U),U=e.mul(S,dt),C=e.mul(k,C),C=e.add(C,U),new d(v,T,C)}subtract(h){return this.add(h.negate())}is0(){return this.equals(d.ZERO)}wNAF(h){return w.wNAFCached(this,h,d.normalizeZ)}multiplyUnsafe(h){oe("scalar",h,Ht,t.n);let p=d.ZERO;if(h===Ht)return p;if(h===tt)return this;let{endo:g}=t;if(!g)return w.unsafeLadder(this,h);let{k1neg:E,k1:I,k2neg:P,k2:B}=g.splitScalar(h),v=p,T=p,C=this;for(;I>Ht||B>Ht;)I&tt&&(v=v.add(C)),B&tt&&(T=T.add(C)),C=C.double(),I>>=tt,B>>=tt;return E&&(v=v.negate()),P&&(T=T.negate()),T=new d(e.mul(T.px,g.beta),T.py,T.pz),v.add(T)}multiply(h){let{endo:p,n:g}=t;oe("scalar",h,tt,g);let E,I;if(p){let{k1neg:P,k1:B,k2neg:v,k2:T}=p.splitScalar(h),{p:C,f:bt}=this.wNAF(B),{p:K,f:U}=this.wNAF(T);C=w.constTimeNegate(P,C),K=w.constTimeNegate(v,K),K=new d(e.mul(K.px,p.beta),K.py,K.pz),E=C.add(K),I=bt.add(U)}else{let{p:P,f:B}=this.wNAF(h);E=P,I=B}return d.normalizeZ([E,I])[0]}multiplyAndAddUnsafe(h,p,g){let E=d.BASE,I=(B,v)=>v===Ht||v===tt||!B.equals(E)?B.multiplyUnsafe(v):B.multiply(v),P=I(this,p).add(I(h,g));return P.is0()?void 0:P}toAffine(h){return l(this,h)}isTorsionFree(){let{h,isTorsionFree:p}=t;if(h===tt)return!0;if(p)return p(d,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h,clearCofactor:p}=t;return h===tt?this:p?p(d,this):this.multiplyUnsafe(t.h)}toRawBytes(h=!0){return me("isCompressed",h),this.assertValidity(),o(d,this,h)}toHex(h=!0){return me("isCompressed",h),ge(this.toRawBytes(h))}}d.BASE=new d(t.Gx,t.Gy,e.ONE),d.ZERO=new d(e.ZERO,e.ONE,e.ZERO);let m=t.nBitLength,w=Ns(d,t.endo?Math.ceil(m/2):m);return{CURVE:t,ProjectivePoint:d,normPrivateKeyToScalar:a,weierstrassEquation:s,isWithinCurveOrder:c}}function Vu(r){let t=$o(r);return ie(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Rs(r){let t=Vu(r),{Fp:e,n}=t,o=e.BYTES+1,i=2*e.BYTES+1;function s(x){return st(x,n)}function c(x){return rn(x,n)}let{ProjectivePoint:a,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:u}=Fu({...t,toBytes(x,S,A){let k=S.toAffine(),_=e.toBytes(k.x),J=Me;return me("isCompressed",A),A?J(Uint8Array.from([S.hasEvenY()?2:3]),_):J(Uint8Array.from([4]),_,e.toBytes(k.y))},fromBytes(x){let S=x.length,A=x[0],k=x.subarray(1);if(S===o&&(A===2||A===3)){let _=Ft(k);if(!nr(_,tt,e.ORDER))throw new Error("Point is not on curve");let J=l(_),ct;try{ct=e.sqrt(J)}catch(At){let qt=At instanceof Error?": "+At.message:"";throw new Error("Point is not on curve"+qt)}let at=(ct&tt)===tt;return(A&1)===1!==at&&(ct=e.neg(ct)),{x:_,y:ct}}else if(S===i&&A===4){let _=e.fromBytes(k.subarray(0,e.BYTES)),J=e.fromBytes(k.subarray(e.BYTES,2*e.BYTES));return{x:_,y:J}}else throw new Error(`Point of length ${S} was invalid. Expected ${o} compressed bytes or ${i} uncompressed bytes`)}}),d=x=>ge(ne(x,t.nByteLength));function m(x){let S=n>>tt;return x>S}function w(x){return m(x)?s(-x):x}let y=(x,S,A)=>Ft(x.slice(S,A));class h{constructor(S,A,k){this.r=S,this.s=A,this.recovery=k,this.assertValidity()}static fromCompact(S){let A=t.nByteLength;return S=gt("compactSignature",S,A*2),new h(y(S,0,A),y(S,A,2*A))}static fromDER(S){let{r:A,s:k}=Vt.toSig(gt("DER",S));return new h(A,k)}assertValidity(){oe("r",this.r,tt,n),oe("s",this.s,tt,n)}addRecoveryBit(S){return new h(this.r,this.s,S)}recoverPublicKey(S){let{r:A,s:k,recovery:_}=this,J=B(gt("msgHash",S));if(_==null||![0,1,2,3].includes(_))throw new Error("recovery id invalid");let ct=_===2||_===3?A+t.n:A;if(ct>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let at=_&1?"03":"02",zt=a.fromHex(at+d(ct)),At=c(ct),qt=s(-J*At),Ve=s(k*At),Wt=a.BASE.multiplyAndAddUnsafe(zt,qt,Ve);if(!Wt)throw new Error("point at infinify");return Wt.assertValidity(),Wt}hasHighS(){return m(this.s)}normalizeS(){return this.hasHighS()?new h(this.r,s(-this.s),this.recovery):this}toDERRawBytes(){return be(this.toDERHex())}toDERHex(){return Vt.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return be(this.toCompactHex())}toCompactHex(){return d(this.r)+d(this.s)}}let p={isValidPrivateKey(x){try{return f(x),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let x=_o(t.n);return Ps(t.randomBytes(x),t.n)},precompute(x=8,S=a.BASE){return S._setWindowSize(x),S.multiply(BigInt(3)),S}};function g(x,S=!0){return a.fromPrivateKey(x).toRawBytes(S)}function E(x){let S=re(x),A=typeof x=="string",k=(S||A)&&x.length;return S?k===o||k===i:A?k===2*o||k===2*i:x instanceof a}function I(x,S,A=!0){if(E(x))throw new Error("first arg must be private key");if(!E(S))throw new Error("second arg must be public key");return a.fromHex(S).multiply(f(x)).toRawBytes(A)}let P=t.bits2int||function(x){let S=Ft(x),A=x.length*8-t.nBitLength;return A>0?S>>BigInt(A):S},B=t.bits2int_modN||function(x){return s(P(x))},v=or(t.nBitLength);function T(x){return oe(`num < 2^${t.nBitLength}`,x,Ht,v),ne(x,t.nByteLength)}function C(x,S,A=bt){if(["recovered","canonical"].some(ae=>ae in A))throw new Error("sign() legacy options not supported");let{hash:k,randomBytes:_}=t,{lowS:J,prehash:ct,extraEntropy:at}=A;J==null&&(J=!0),x=gt("msgHash",x),Ds(A),ct&&(x=gt("prehashed msgHash",k(x)));let zt=B(x),At=f(S),qt=[T(At),T(zt)];if(at!=null&&at!==!1){let ae=at===!0?_(e.BYTES):at;qt.push(gt("extraEntropy",ae))}let Ve=Me(...qt),Wt=zt;function An(ae){let Ie=P(ae);if(!u(Ie))return;let yi=c(Ie),Nt=a.BASE.multiply(Ie).toAffine(),Se=s(Nt.x);if(Se===Ht)return;let sr=s(yi*s(Wt+Se*At));if(sr===Ht)return;let bi=(Nt.x===Se?0:2)|Number(Nt.y&tt),wi=sr;return J&&m(sr)&&(wi=w(sr),bi^=1),new h(Se,wi,bi)}return{seed:Ve,k2sig:An}}let bt={lowS:t.lowS,prehash:!1},K={lowS:t.lowS,prehash:!1};function U(x,S,A=bt){let{seed:k,k2sig:_}=C(x,S,A),J=t;return No(J.hash.outputLen,J.nByteLength,J.hmac)(k,_)}a.BASE._setWindowSize(8);function dt(x,S,A,k=K){let _=x;if(S=gt("msgHash",S),A=gt("publicKey",A),"strict"in k)throw new Error("options.strict was renamed to lowS");Ds(k);let{lowS:J,prehash:ct}=k,at,zt;try{if(typeof _=="string"||re(_))try{at=h.fromDER(_)}catch(Nt){if(!(Nt instanceof Vt.Err))throw Nt;at=h.fromCompact(_)}else if(typeof _=="object"&&typeof _.r=="bigint"&&typeof _.s=="bigint"){let{r:Nt,s:Se}=_;at=new h(Nt,Se)}else throw new Error("PARSE");zt=a.fromHex(A)}catch(Nt){if(Nt.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(J&&at.hasHighS())return!1;ct&&(S=t.hash(S));let{r:At,s:qt}=at,Ve=B(S),Wt=c(qt),An=s(Ve*Wt),ae=s(At*Wt),Ie=a.BASE.multiplyAndAddUnsafe(zt,An,ae)?.toAffine();return Ie?s(Ie.x)===At:!1}return{CURVE:t,getPublicKey:g,getSharedSecret:I,sign:U,verify:dt,ProjectivePoint:a,Signature:h,utils:p}}function Hu(r){return{hash:r,hmac:(t,...e)=>To(r,t,ws(...e)),randomBytes:Es}}function _s(r,t){let e=n=>Rs({...r,...Hu(n)});return Object.freeze({...e(t),create:e})}var $s=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Ms=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Gu=BigInt(1),Fo=BigInt(2),Ks=(r,t)=>(r+t/Fo)/t;function zu(r){let t=$s,e=BigInt(3),n=BigInt(6),o=BigInt(11),i=BigInt(22),s=BigInt(23),c=BigInt(44),a=BigInt(88),f=r*r*r%t,l=f*f*r%t,u=yt(l,e,t)*l%t,d=yt(u,e,t)*l%t,m=yt(d,Fo,t)*f%t,w=yt(m,o,t)*m%t,y=yt(w,i,t)*w%t,h=yt(y,c,t)*y%t,p=yt(h,a,t)*h%t,g=yt(p,c,t)*y%t,E=yt(g,e,t)*l%t,I=yt(E,s,t)*w%t,P=yt(I,n,t)*f%t,B=yt(P,Fo,t);if(!Vo.eql(Vo.sqr(B),r))throw new Error("Cannot find square root");return B}var Vo=nn($s,void 0,void 0,{sqrt:zu}),Ke=_s({a:BigInt(0),b:BigInt(7),Fp:Vo,n:Ms,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=Ms,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Gu*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=e,s=BigInt("0x100000000000000000000000000000000"),c=Ks(i*r,t),a=Ks(-n*r,t),f=st(r-c*e-a*o,t),l=st(-c*n-a*i,t),u=f>s,d=l>s;if(u&&(f=t-f),d&&(l=t-l),f>s||l>s)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:u,k1:f,k2neg:d,k2:l}}}},Ss),Dp=BigInt(0);var Up=Ke.ProjectivePoint;var Fs=ht(X("node:crypto"),1);var on=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}};function Vs(r,t,e){let n=Fs.default.createHash("sha256");if(e instanceof Uint8Array)n.update(e);else for(let i of e)n.update(i);let o=n.digest();try{return Ke.verify(t,o,r)}catch(i){throw new on(String(i))}}var sn=class{type="secp256k1";raw;_key;constructor(t){this._key=Gs(t),this.raw=Hs(this._key)}toMultihash(){return Rt.digest(Yr(this))}toCID(){return j.createV1(114,this.toMultihash())}toString(){return F.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:Pt(this.raw,t.raw)}verify(t,e){return Vs(this._key,e,t)}};function zs(r){return new sn(r)}function Hs(r){return Ke.ProjectivePoint.fromHex(r).toRawBytes(!0)}function Gs(r){try{return Ke.ProjectivePoint.fromHex(r),r}catch(t){throw new $r(String(t))}}function qs(r){let{Type:t,Data:e}=er.decode(r.digest),n=e??new Uint8Array;switch(t){case It.Ed25519:return ms(n);case It.secp256k1:return zs(n);default:throw new je}}function Yr(r){return er.encode({Type:It[r.type],Data:r.raw})}var Ws=Symbol.for("nodejs.util.inspect.custom"),qu=114,ir=class{type;multihash;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Mr]=!0;toString(){return this.string==null&&(this.string=F.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return j.createV1(qu,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return Pt(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return Pt(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[Ws](){return`PeerId(${this.toString()})`}},cn=class extends ir{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},an=class extends ir{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},un=class extends ir{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},Wu=2336,ln=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Rt.digest(Qt(this.url))}[Ws](){return`PeerId(${this.url})`}[Mr]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return j.createV1(Wu,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=Z(t)),t.toString()===this.toString())}};function Gt(r){if(Zu(r))return new cn({multihash:r});if(Yu(r))try{let t=qs(r);if(t.type==="Ed25519")return new an({multihash:r,publicKey:t});if(t.type==="secp256k1")return new un({multihash:r,publicKey:t})}catch{let e=Z(r.digest);return new ln(new URL(e))}throw new Fr("Supplied PeerID Multihash is invalid")}function Yu(r){return r.code===Rt.code}function Zu(r){return r.code===io.code}var Ec=ht(X("net"),1);var fn=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,o){return this.readAtomically(()=>{let i=0,s=0,c=this.peekChar();if(c===void 0)return;let a=c==="0",f=2**(8*o)-1;for(;;){let l=this.readAtomically(()=>{let u=this.readChar();if(u===void 0)return;let d=Number.parseInt(u,t);if(!Number.isNaN(d))return d});if(l===void 0)break;if(i*=t,i+=l,i>f||(s+=1,e!==void 0&&s>e))return}if(s!==0)return!n&&a&&s>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let n=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;n<e.length/2;n++){let o=n*2;if(n<e.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return e[o]=s[0],e[o+1]=s[1],e[o+2]=s[2],e[o+3]=s[3],[o+4,!0]}let i=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[o,!1];e[o]=i>>8,e[o+1]=i&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,o]=t(e);if(n===16)return e;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),s=16-(n+2),[c]=t(i.subarray(0,s));return e.set(i.subarray(0,c),16-c),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Dm=new fn;var Vm=parseInt("0xFFFF",16),Hm=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var St=X("node:net");function dn(r){return!!(0,St.isIP)(r)}var Xs=St.isIPv4,el=St.isIPv6,Ho=function(r){let t=0;if(r=r.toString().trim(),Xs(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(el(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let i=Xs(e[n]),s;i&&(s=Ho(e[n]),e[n]=Z(s.slice(0,2),"base16")),s!=null&&++n<8&&e.splice(n,0,Z(s.slice(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(n=0;n<e.length&&e[n]!=="";n++);let i=[n,1];for(n=9-e.length;n>0;n--)i.push("0");e.splice.apply(e,i)}let o=new Uint8Array(t+16);for(n=0;n<e.length;n++){let i=parseInt(e[n],16);o[t++]=i>>8&255,o[t++]=i&255}return o}throw new Error("invalid ip address")},Qs=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let o=[];for(let i=0;i<e;i++)o.push(r[t+i]);return o.join(".")}if(e===16){let o=[];for(let i=0;i<e;i+=2)o.push(n.getUint16(t+i).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var $e={},Go={},nl=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[481,-1,"http-path"],[777,-1,"memory"]];nl.forEach(r=>{let t=ol(...r);Go[t.code]=t,$e[t.name]=t});function ol(r,t,e,n,o){return{code:r,size:t,name:e,resolvable:!!n,path:!!o}}function M(r){if(typeof r=="number"){if(Go[r]!=null)return Go[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if($e[r]!=null)return $e[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var Lg=M("ip4"),Bg=M("ip6"),Cg=M("ipcidr");function Yo(r,t){switch(M(r).code){case 4:case 41:return sl(t);case 42:return Wo(t);case 6:case 273:case 33:case 132:return tc(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Wo(t);case 421:return ll(t);case 444:return js(t);case 445:return js(t);case 466:return ul(t);case 481:return globalThis.encodeURIComponent(Wo(t));default:return Z(t,"base16")}}function Zo(r,t){switch(M(r).code){case 4:return Js(t);case 41:return Js(t);case 42:return qo(t);case 6:case 273:case 33:case 132:return Xo(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return qo(t);case 421:return cl(t);case 444:return fl(t);case 445:return dl(t);case 466:return al(t);case 481:return qo(globalThis.decodeURIComponent(t));default:return Qt(t,"base16")}}var zo=Object.values(We).map(r=>r.decoder),il=function(){let r=zo[0].or(zo[1]);return zo.slice(2).forEach(t=>r=r.or(t)),r}();function Js(r){if(!dn(r))throw new Error("invalid ip address");return Ho(r)}function sl(r){let t=Qs(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!dn(t))throw new Error("invalid ip address");return t}function Xo(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function tc(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function qo(r){let t=Qt(r),e=Uint8Array.from(Yt(t.length));return mt([e,t],e.length+t.length)}function Wo(r){let t=Ut(r);if(r=r.slice(ot(t)),r.length!==t)throw new Error("inconsistent lengths");return Z(r)}function cl(r){let t;r[0]==="Q"||r[0]==="1"?t=lt(F.decode(`z${r}`)).bytes:t=j.parse(r).multihash.bytes;let e=Uint8Array.from(Yt(t.length));return mt([e,t],e.length+t.length)}function al(r){let t=il.decode(r),e=Uint8Array.from(Yt(t.length));return mt([e,t],e.length+t.length)}function ul(r){let t=Ut(r),e=r.slice(ot(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+Z(e,"base64url")}function ll(r){let t=Ut(r),e=r.slice(ot(t));if(e.length!==t)throw new Error("inconsistent lengths");return Z(e,"base58btc")}function fl(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=Lt.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Xo(n);return mt([e,o],e.length+o.length)}function dl(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=Lt.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=Xo(n);return mt([e,o],e.length+o.length)}function js(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=Z(t,"base32"),o=tc(e);return`${n}:${o}`}function ec(r){r=Qo(r);let t=[],e=[],n=null,o=r.split("/").slice(1);if(o.length===1&&o[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let i=0;i<o.length;i++){let s=o[i],c=M(s);if(c.size===0){t.push([c.code]),e.push([c.code]);continue}if(i++,i>=o.length)throw nc("invalid address: "+r);if(c.path===!0){n=Qo(o.slice(i).join("/")),t.push([c.code,Zo(c.code,n)]),e.push([c.code,n]);break}let a=Zo(c.code,o[i]);t.push([c.code,a]),e.push([c.code,Yo(c.code,a)])}return{string:rc(e),bytes:jo(t),tuples:t,stringTuples:e,path:n}}function Jo(r){let t=[],e=[],n=null,o=0;for(;o<r.length;){let i=Ut(r,o),s=ot(i),c=M(i),a=hl(c,r.slice(o+s));if(a===0){t.push([i]),e.push([i]),o+=s;continue}let f=r.slice(o+s,o+s+a);if(o+=a+s,o>r.length)throw nc("Invalid address Uint8Array: "+Z(r,"base16"));t.push([i,f]);let l=Yo(i,f);if(e.push([i,l]),c.path===!0){n=l;break}}return{bytes:Uint8Array.from(r),string:rc(e),tuples:t,stringTuples:e,path:n}}function rc(r){let t=[];return r.map(e=>{let n=M(e[0]);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),Qo(t.join("/"))}function jo(r){return mt(r.map(t=>{let e=M(t[0]),n=Uint8Array.from(Yt(e.code));return t.length>1&&t[1]!=null&&(n=mt([n,t[1]])),n}))}function hl(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=Ut(t instanceof Uint8Array?t:Uint8Array.from(t));return e+ot(e)}}function Qo(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function nc(r){return new Error("Error parsing address: "+r)}var pl=Symbol.for("nodejs.util.inspect.custom"),ei=Symbol.for("@multiformats/js-multiaddr/multiaddr"),ml=[M("dns").code,M("dns4").code,M("dns6").code,M("dnsaddr").code],ti=class extends Error{constructor(t="No available resolver"){super(t),this.name="NoAvailableResolverError"}},hn=class r{bytes;#t;#e;#r;#n;[ei]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=Jo(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=ec(t)}else if(pn(t))e=Jo(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=e.bytes,this.#t=e.string,this.#e=e.tuples,this.#r=e.stringTuples,this.#n=e.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,e,n,o,i="",s=M("tcp"),c=M("udp"),a=M("ip4"),f=M("ip6"),l=M("dns6"),u=M("ip6zone");for(let[m,w]of this.stringTuples())m===u.code&&(i=`%${w??""}`),ml.includes(m)&&(e=s.name,o=443,n=`${w??""}${i}`,t=m===l.code?6:4),(m===s.code||m===c.code)&&(e=M(m).name,o=parseInt(w??"")),(m===a.code||m===f.code)&&(e=M(m).name,n=`${w??""}${i}`,t=m===f.code?6:4);if(t==null||e==null||n==null||o==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:e,port:o}}protos(){return this.#e.map(([t])=>Object.assign({},M(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>M(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new r(t),new r(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),n=this.toString(),o=n.lastIndexOf(e);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(n.slice(0,o))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new r(jo(e.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,o])=>{n===$e.p2p.code&&t.push([n,o]),n===$e["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?Z(F.decode(`z${n}`),"base58btc"):Z(j.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return Pt(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(i=>i.resolvable);if(e==null)return[this];let n=oc.get(e.name);if(n==null)throw new ti(`no available resolver for ${e.name}`);return(await n(this,t)).map(i=>rt(i))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let e=(t??this).protos();return!(e.length!==2||e[0].code!==4&&e[0].code!==41||e[1].code!==6&&e[1].code!==273)}[pl](){return`Multiaddr(${this.#t})`}};var oc=new Map;function pn(r){return!!r?.[ei]}function rt(r){return new hn(r)}var gl=b("dns4"),yl=b("dns6"),bl=b("dnsaddr"),Ee=Y(b("dns"),bl,gl,yl),yn=Y(b("ip4"),b("ip6")),ce=Y(L(yn,b("tcp")),L(Ee,b("tcp"))),bn=L(yn,b("udp")),wl=L(bn,b("utp")),xl=L(bn,b("quic")),El=L(bn,b("quic-v1")),ri=Y(L(ce,b("ws")),L(Ee,b("ws"))),mn=Y(L(ri,b("p2p")),ri),ni=Y(L(ce,b("wss")),L(Ee,b("wss")),L(ce,b("tls"),b("ws")),L(Ee,b("tls"),b("ws"))),gn=Y(L(ni,b("p2p")),ni),oi=Y(L(ce,b("http")),L(yn,b("http")),L(Ee,b("http"))),ii=Y(L(ce,b("https")),L(yn,b("https")),L(Ee,b("https"))),ic=L(bn,b("webrtc-direct"),b("certhash")),ac=Y(L(ic,b("p2p")),ic),sc=L(El,b("webtransport"),b("certhash"),b("certhash")),uc=Y(L(sc,b("p2p")),sc),lc=Y(L(mn,b("p2p-webrtc-star"),b("p2p")),L(gn,b("p2p-webrtc-star"),b("p2p")),L(mn,b("p2p-webrtc-star")),L(gn,b("p2p-webrtc-star"))),ty=Y(L(mn,b("p2p-websocket-star"),b("p2p")),L(gn,b("p2p-websocket-star"),b("p2p")),L(mn,b("p2p-websocket-star")),L(gn,b("p2p-websocket-star"))),fc=Y(L(oi,b("p2p-webrtc-direct"),b("p2p")),L(ii,b("p2p-webrtc-direct"),b("p2p")),L(oi,b("p2p-webrtc-direct")),L(ii,b("p2p-webrtc-direct"))),ve=Y(ri,ni,oi,ii,lc,fc,ce,wl,xl,Ee,ac,uc),ey=Y(L(ve,b("p2p-stardust"),b("p2p")),L(ve,b("p2p-stardust"))),se=Y(L(ve,b("p2p")),lc,fc,ac,uc,b("p2p")),cc=Y(L(se,b("p2p-circuit"),se),L(se,b("p2p-circuit")),L(b("p2p-circuit"),se),L(ve,b("p2p-circuit")),L(b("p2p-circuit"),ve),b("p2p-circuit")),dc=()=>Y(L(cc,dc),cc),xe=dc(),ry=Y(L(xe,se,xe),L(se,xe),L(xe,se),xe,se);var ny=Y(L(xe,b("webrtc"),b("p2p")),L(xe,b("webrtc")),L(ve,b("webrtc"),b("p2p")),L(ve,b("webrtc")),b("webrtc"));function hc(r){function t(e){let n;try{n=rt(e)}catch{return!1}let o=r(n.protoNames());return o===null?!1:o===!0||o===!1?o:o.length===0}return t}function L(...r){function t(e){if(e.length<r.length)return null;let n=e;return r.some(o=>(n=typeof o=="function"?o().partialMatch(e):o.partialMatch(e),Array.isArray(n)&&(e=n),n===null)),n}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:hc(t),partialMatch:t}}function Y(...r){function t(n){let o=null;return r.some(i=>{let s=typeof i=="function"?i().partialMatch(n):i.partialMatch(n);return s!=null?(o=s,!0):!1}),o}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:hc(t),partialMatch:t}}function b(r){let t=r;function e(o){let i;try{i=rt(o)}catch{return!1}let s=i.protoNames();return s.length===1&&s[0]===t}function n(o){return o.length===0?null:o[0]===t?o.slice(1):null}return{toString:function(){return t},matches:e,partialMatch:n}}var wn=class extends Event{type;detail;constructor(t,e){super(t),this.type=t,this.detail=e}};var xc=ht(X("net"),1);var si=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},ci=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},pc=r=>globalThis.DOMException===void 0?new ci(r):new DOMException(r),mc=r=>{let t=r.reason===void 0?pc("This operation was aborted."):r.reason;return t instanceof Error?t:pc(t)};function ai(r,t){let{milliseconds:e,fallback:n,message:o,customTimers:i={setTimeout,clearTimeout}}=t,s,a=new Promise((f,l)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(t.signal){let{signal:d}=t;d.aborted&&l(mc(d));let m=()=>{l(mc(d))};d.addEventListener("abort",m,{once:!0}),r.finally(()=>{d.removeEventListener("abort",m)})}if(e===Number.POSITIVE_INFINITY){r.then(f,l);return}let u=new si;s=i.setTimeout.call(void 0,()=>{if(n){try{f(n())}catch(d){l(d)}return}typeof r.cancel=="function"&&r.cancel(),o===!1?f():o instanceof Error?l(o):(u.message=o??`Promise timed out after ${e} milliseconds`,l(u))},e),(async()=>{try{f(await r)}catch(d){l(d)}})()}).finally(()=>{a.clear()});return a.clear=()=>{i.clearTimeout.call(void 0,s),s=void 0},a}var Il=r=>{let t=r.addEventListener||r.on||r.addListener,e=r.removeEventListener||r.off||r.removeListener;if(!t||!e)throw new TypeError("Emitter is not compatible");return{addListener:t.bind(r),removeListener:e.bind(r)}};function Sl(r,t,e){let n,o=new Promise((i,s)=>{if(e={rejectionEvents:["error"],multiArgs:!1,resolveImmediately:!1,...e},!(e.count>=0&&(e.count===Number.POSITIVE_INFINITY||Number.isInteger(e.count))))throw new TypeError("The `count` option should be at least 0 or more");e.signal?.throwIfAborted();let c=[t].flat(),a=[],{addListener:f,removeListener:l}=Il(r),u=(...m)=>{let w=e.multiArgs?m:m[0];e.filter&&!e.filter(w)||(a.push(w),e.count===a.length&&(n(),i(a)))},d=m=>{n(),s(m)};n=()=>{for(let m of c)l(m,u);for(let m of e.rejectionEvents)l(m,d)};for(let m of c)f(m,u);for(let m of e.rejectionEvents)f(m,d);e.signal&&e.signal.addEventListener("abort",()=>{d(e.signal.reason)},{once:!0}),e.resolveImmediately&&i(a)});if(o.cancel=n,typeof e.timeout=="number"){let i=ai(o,{milliseconds:e.timeout});return i.cancel=n,i}return o}function ui(r,t,e){typeof e=="function"&&(e={filter:e}),e={...e,count:1,resolveImmediately:!1};let n=Sl(r,t,e),o=n.then(i=>i[0]);return o.cancel=n.cancel,o}function gc(r,t){if(typeof r!="string")throw new O(`invalid ip provided: ${r}`);if(typeof t=="string"&&(t=parseInt(t)),isNaN(t))throw new O(`invalid port provided: ${t}`);if((0,St.isIPv4)(r))return rt(`/ip4/${r}/tcp/${t}`);if((0,St.isIPv6)(r))return rt(`/ip6/${r}/tcp/${t}`);throw new O(`invalid ip:port for creating a multiaddr: ${r}:${t}`)}var li=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=e??"ABORT_ERR"}};async function fi(r,t,e,n){let o=new li(n?.errorMessage,n?.errorCode);return e?.aborted===!0?Promise.reject(o):new Promise((i,s)=>{function c(){e?.removeEventListener("abort",l),r.removeEventListener(t,a),n?.errorEvent!=null&&r.removeEventListener(n.errorEvent,f)}let a=u=>{try{if(n?.filter?.(u)===!1)return}catch(d){c(),s(d);return}c(),i(u)},f=u=>{c(),s(u.detail)},l=()=>{c(),s(o)};e?.addEventListener("abort",l),r.addEventListener(t,a),n?.errorEvent!=null&&r.addEventListener(n.errorEvent,f)})}function yc(r){if(Tl(r))return async function*(){let t=r.getReader();try{for(;;){let{done:e,value:n}=await t.read();if(e)return;yield n}}finally{t.releaseLock()}}();if(Al(r))return r;throw new Error("unknown stream")}function Al(r){return r[Symbol.asyncIterator]!=null}function Tl(r){return typeof r?.getReader=="function"}function bc(r){return async t=>{let e=async()=>{Ll(t)&&await t.return(void 0)},n,o,i=p=>{n=p,e().catch(g=>{g=new AggregateError([n,g],"The Writable emitted an error, additionally an error occurred while ending the Source")}).finally(()=>{o?.(p)})},s,c=!1,a=()=>{c=!0,s?.()},f,l=!1,u=()=>{l=!0,f?.()},d,m=()=>{d?.()},w=async()=>new Promise((p,g)=>{s=d=p,o=g,r.once("drain",m)}),y=async()=>(await e(),new Promise((p,g)=>{if(c||l||n!=null){p();return}f=s=p,o=g})),h=()=>{r.removeListener("error",i),r.removeListener("close",a),r.removeListener("finish",u),r.removeListener("drain",m)};r.once("error",i),r.once("close",a),r.once("finish",u);try{for await(let p of t){if(!r.writable||r.destroyed||n!=null)break;r.write(p)||await w()}}catch(p){n==null&&r.destroy(p),n=p}try{if(r.writable&&r.end(),await y(),n!=null)throw n}finally{h()}}}function Ll(r){return r.return!=null}function di(r){return{sink:bc(r),source:yc(r)}}var hi=ht(X("os"),1),wc=ht(X("path"),1);var Bl={ip4:"IPv4",ip6:"IPv6"};function Fe(r,t={}){let e=r.getPath();return e!=null?hi.default.platform()==="win32"?{path:wc.default.join("\\\\.\\pipe\\",e)}:{path:e}:{...t,...r.toOptions()}}function pi(r,t,e){let n=o=>rt(`/${r}/${o}/tcp/${e}`);return(Cl(t)?kl(Bl[r]):[t]).map(n)}function Cl(r){return["0.0.0.0","::"].includes(r)}var Pl=hi.default.networkInterfaces();function kl(r){let t=[];for(let[,e]of Object.entries(Pl))if(e!=null)for(let n of e)n.family===r&&t.push(n.address);return t}var xn=(r,t)=>{let e,n=t.logger.forComponent("libp2p:tcp:socket"),o=t.direction,i=t.metrics,s=t.metricPrefix??"",c=t.socketInactivityTimeout??12e4,a=t.socketCloseTimeout??500,f=!1,l=!1;t.listeningAddr?.getPath()!=null&&(t.remoteAddr=t.listeningAddr),t.remoteAddr?.getPath()!=null&&(t.localAddr=t.remoteAddr),r.on("error",p=>{l=!0,f||(n.error("%s socket error - %e",o,p),i?.increment({[`${s}error`]:!0})),r.destroy(),h.timeline.close=Date.now()});let u;if(t.remoteAddr!=null)u=t.remoteAddr;else{if(r.remoteAddress==null||r.remotePort==null)throw new O("Could not determine remote address or port");u=gc(r.remoteAddress,r.remotePort)}let d=Fe(u),m=d.path??`${d.host??""}:${d.port??""}`,{sink:w,source:y}=di(r);r.setTimeout(c),r.once("timeout",()=>{f=!0,n("%s %s socket read timeout",o,m),i?.increment({[`${s}timeout`]:!0}),r.destroy(new Oe),h.timeline.close=Date.now()}),r.once("close",()=>{!f&&!l&&(n("%s %s socket close",o,m),i?.increment({[`${s}close`]:!0})),r.destroy(),h.timeline.close=Date.now()}),r.once("end",()=>{n("%s %s socket end",o,m),i?.increment({[`${s}end`]:!0})});let h={async sink(p){try{await w(async function*(){for await(let g of p)g instanceof Uint8Array?yield g:yield g.subarray()}())}catch(g){g.type!=="aborted"&&n.error("%s %s error in sink - %e",o,m,g)}r.end()},source:y,remoteAddr:u,timeline:{open:Date.now()},async close(p={}){if(r.closed){n("the %s %s socket is already closed",o,m);return}if(r.destroyed){n("the %s %s socket is already destroyed",o,m);return}if(e!=null)return e.promise;try{e=jt(),r.end();let g=Nl(r),E=p.signal??AbortSignal.timeout(a);r.writableLength>0&&(n("%s %s draining socket",o,m),await fi(g,"drain",E,{errorEvent:"error"}),n("%s %s socket drained",o,m)),await Promise.all([fi(g,"close",E,{errorEvent:"error"}),r.destroy()])}catch(g){this.abort(g)}finally{e.resolve()}},abort:p=>{n("%s %s socket abort due to error - %e",o,m,p),r.destroy(),h.timeline.close=Date.now()},log:n};return h};function Nl(r){return{addEventListener:(e,n)=>{r.addListener(e,n)},removeEventListener:(e,n)=>{r.removeListener(e,n)}}}var et;(function(r){r[r.INACTIVE=0]="INACTIVE",r[r.ACTIVE=1]="ACTIVE",r[r.PAUSED=2]="PAUSED"})(et||(et={}));var En=class extends zr{context;server;sockets=new Set;status={code:et.INACTIVE};metrics;addr;log;shutdownController;constructor(t){if(super(),this.context=t,t.keepAlive=t.keepAlive??!0,t.noDelay=t.noDelay??!0,this.shutdownController=new AbortController,Gr(1/0,this.shutdownController.signal),this.log=t.logger.forComponent("libp2p:tcp:listener"),this.addr="unknown",this.server=xc.default.createServer(t,this.onSocket.bind(this)),t.maxConnections!==void 0&&(this.server.maxConnections=t.maxConnections),t.closeServerOnMaxConnections!=null&&t.closeServerOnMaxConnections.closeAbove<t.closeServerOnMaxConnections.listenBelow)throw new O("closeAbove must be >= listenBelow");this.server.on("listening",()=>{if(t.metrics!=null){let e=this.server.address();e==null?this.addr="unknown":typeof e=="string"?this.addr=e:this.addr=`${e.address}:${e.port}`,t.metrics?.registerMetricGroup("libp2p_tcp_inbound_connections_total",{label:"address",help:"Current active connections in TCP listener",calculate:()=>({[this.addr]:this.sockets.size})}),this.metrics={status:t.metrics.registerMetricGroup("libp2p_tcp_listener_status_info",{label:"address",help:"Current status of the TCP listener socket"}),errors:t.metrics.registerMetricGroup("libp2p_tcp_listener_errors_total",{label:"address",help:"Total count of TCP listener errors by type"}),events:t.metrics.registerMetricGroup("libp2p_tcp_listener_events_total",{label:"address",help:"Total count of TCP listener events by type"})},this.metrics?.status.update({[this.addr]:et.ACTIVE})}this.safeDispatchEvent("listening")}).on("error",e=>{this.metrics?.errors.increment({[`${this.addr} listen_error`]:!0}),this.safeDispatchEvent("error",{detail:e})}).on("close",()=>{this.metrics?.status.update({[this.addr]:this.status.code}),this.status.code!==et.PAUSED&&this.safeDispatchEvent("close")}).on("drop",()=>{this.metrics?.events.increment({[`${this.addr} drop`]:!0})})}onSocket(t){if(this.metrics?.events.increment({[`${this.addr} connection`]:!0}),this.status.code!==et.ACTIVE)throw t.destroy(),new Vr("Server is not listening yet");let e;try{e=xn(t,{listeningAddr:this.status.listeningAddr,socketInactivityTimeout:this.context.socketInactivityTimeout,socketCloseTimeout:this.context.socketCloseTimeout,metrics:this.metrics?.events,metricPrefix:`${this.addr} `,logger:this.context.logger,direction:"inbound"})}catch(n){this.log.error("inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_to_connection`]:!0}),t.destroy();return}this.log("new inbound connection %s",e.remoteAddr),this.sockets.add(t),this.context.upgrader.upgradeInbound(e,{signal:this.shutdownController.signal}).then(n=>{this.log("inbound connection upgraded %s",e.remoteAddr),t.once("close",()=>{this.sockets.delete(t),this.context.closeServerOnMaxConnections!=null&&this.sockets.size<this.context.closeServerOnMaxConnections.listenBelow&&this.resume().catch(o=>{this.log.error("error attempting to listen server once connection count under limit",o),this.context.closeServerOnMaxConnections?.onListenError?.(o)})}),this.context.handler!=null&&this.context.handler(n),this.context.closeServerOnMaxConnections!=null&&this.sockets.size>=this.context.closeServerOnMaxConnections.closeAbove&&this.pause(),this.safeDispatchEvent("connection",{detail:n})}).catch(async n=>{this.log.error("inbound connection upgrade failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_upgrade`]:!0}),this.sockets.delete(t),e.abort(n)})}getAddrs(){if(this.status.code===et.INACTIVE)return[];let t=[],e=this.server.address(),{listeningAddr:n,peerId:o}=this.status;if(e==null)return[];if(typeof e=="string")t=[n];else try{n.toString().startsWith("/ip4")?t=t.concat(pi("ip4",e.address,e.port)):e.family==="IPv6"&&(t=t.concat(pi("ip6",e.address,e.port)))}catch(i){this.log.error("could not turn %s:%s into multiaddr",e.address,e.port,i)}return t.map(i=>o!=null?i.encapsulate(`/p2p/${o}`):i)}async listen(t){if(this.status.code===et.ACTIVE||this.status.code===et.PAUSED)throw new Hr("server is already listening");let e=t.getPeerId(),n=e==null?t.decapsulateCode(421):t,{backlog:o}=this.context;try{this.status={code:et.ACTIVE,listeningAddr:n,peerId:e,netConfig:Fe(n,{backlog:o})},await this.resume()}catch(i){throw this.status={code:et.INACTIVE},i}}async close(){let t=[];this.server.listening&&t.push(ui(this.server,"close")),this.pause(!0),this.shutdownController.abort(),this.sockets.forEach(e=>{e.readable&&(t.push(ui(e,"close")),e.destroy())}),await Promise.all(t)}async resume(){if(this.server.listening||this.status.code===et.INACTIVE)return;let t=this.status.netConfig;await new Promise((e,n)=>{this.server.once("error",n),this.server.listen(t,e)}),this.status={...this.status,code:et.ACTIVE},this.log("listening on %s",this.server.address())}pause(t=!1){if(!this.server.listening&&this.status.code===et.PAUSED&&t){this.status={code:et.INACTIVE};return}!this.server.listening||this.status.code!==et.ACTIVE||(this.log("closing server on %s",this.server.address()),this.status=t?{code:et.INACTIVE}:{...this.status,code:et.PAUSED},this.server.close())}};var vn=class{opts;metrics;components;log;constructor(t,e={}){this.log=t.logger.forComponent("libp2p:tcp"),this.opts=e,this.components=t,t.metrics!=null&&(this.metrics={events:t.metrics.registerCounterGroup("libp2p_tcp_dialer_events_total",{label:"event",help:"Total count of TCP dialer events by type"}),errors:t.metrics.registerCounterGroup("libp2p_tcp_dialer_errors_total",{label:"event",help:"Total count of TCP dialer events by type"})})}[us]=!0;[Symbol.toStringTag]="@libp2p/tcp";[fs]=["@libp2p/transport"];async dial(t,e){e.keepAlive=e.keepAlive??!0,e.noDelay=e.noDelay??!0;let n=await this._connect(t,e),o;try{o=xn(n,{remoteAddr:t,socketInactivityTimeout:this.opts.outboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.metrics?.events,logger:this.components.logger,direction:"outbound"})}catch(i){throw this.metrics?.errors.increment({outbound_to_connection:!0}),n.destroy(i),i}try{return this.log("new outbound connection %s",o.remoteAddr),await e.upgrader.upgradeOutbound(o,e)}catch(i){throw this.metrics?.errors.increment({outbound_upgrade:!0}),this.log.error("error upgrading outbound connection",i),o.abort(i),i}}async _connect(t,e){e.signal?.throwIfAborted(),e.onProgress?.(new wn("tcp:open-connection"));let n;return new Promise((o,i)=>{let s=Date.now(),c=Fe(t,{...this.opts.dialOpts??{},...e});this.log("dialing %a",t),n=Ec.default.connect(c);let a=m=>{this.log.error("dial to %a errored - %e",t,m);let w=c.path??`${c.host??""}:${c.port}`;m.message=`connection error ${w}: ${m.message}`,this.metrics?.events.increment({error:!0}),d(m)},f=()=>{this.log("connection timeout %a",t),this.metrics?.events.increment({timeout:!0});let m=new Oe(`Connection timeout after ${Date.now()-s}ms`);n.emit("error",m)},l=()=>{this.log("connection opened %a",t),this.metrics?.events.increment({connect:!0}),d()},u=()=>{this.log("connection aborted %a",t),this.metrics?.events.increment({abort:!0}),d(new Kr)},d=m=>{if(n.removeListener("error",a),n.removeListener("timeout",f),n.removeListener("connect",l),e.signal!=null&&e.signal.removeEventListener("abort",u),m!=null){i(m);return}o(n)};n.on("error",a),n.on("timeout",f),n.on("connect",l),e.signal!=null&&e.signal.addEventListener("abort",u)}).catch(o=>{throw n?.destroy(),o})}createListener(t){return new En({...this.opts.listenOpts??{},...t,maxConnections:this.opts.maxConnections,backlog:this.opts.backlog,closeServerOnMaxConnections:this.opts.closeServerOnMaxConnections,socketInactivityTimeout:this.opts.inboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.components.metrics,logger:this.components.logger})}listenFilter(t){return t=Array.isArray(t)?t:[t],t.filter(e=>e.protoCodes().includes(290)?!1:e.protoCodes().includes(400)?!0:ce.matches(e.decapsulateCode(421)))}dialFilter(t){return this.listenFilter(t)}};function vc(r={}){return t=>new vn(t,r)}function Ic(r,t){let e=Rr(r,t),n={read:async(o,i)=>{let s=await e.read(i);return o.decode(s)},write:async(o,i,s)=>{await e.write(i.encode(o),s)},writeV:async(o,i,s)=>{await e.writeV(o.map(c=>i.encode(c)),s)},pb:o=>({read:async i=>n.read(o,i),write:async(i,s)=>n.write(i,o,s),writeV:async(i,s)=>n.writeV(i,o,s),unwrap:()=>n}),unwrap:()=>e.unwrap()};return n}var Dl=he("libp2p:daemon-client:dht"),In=class{client;constructor(t){this.client=t}async put(t,e){if(!(t instanceof Uint8Array))throw new O("invalid key received");if(!(e instanceof Uint8Array))throw new O("value received is not a Uint8Array");let n=await this.client.send({type:q.Type.DHT,dht:{type:Et.Type.PUT_VALUE,key:t,value:e}}),o=await n.read(N);if(Dl("read",o),await n.unwrap().close(),o.type!==N.Type.OK)throw new Je(o.error?.msg??"DHT put failed")}async get(t){if(!(t instanceof Uint8Array))throw new O("invalid key received");let e=await this.client.send({type:q.Type.DHT,dht:{type:Et.Type.GET_VALUE,key:t}}),n=await e.read(N);if(await e.unwrap().close(),n.type!==N.Type.OK)throw new R(n.error?.msg??"DHT get failed");if(n.dht?.value==null)throw new R("Invalid DHT get response");return n.dht.value}async findPeer(t){if(!Ne(t))throw new O("invalid peer id received");let e=await this.client.send({type:q.Type.DHT,dht:{type:Et.Type.FIND_PEER,peer:t.toMultihash().bytes}}),n=await e.read(N);if(await e.unwrap().close(),n.type!==N.Type.OK)throw new R(n.error?.msg??"DHT find peer failed");if(n.dht?.peer?.addrs==null)throw new R("Invalid response");return{id:Gt(lt(n.dht.peer.id)),multiaddrs:n.dht.peer.addrs.map(o=>rt(o))}}async provide(t){if(t==null||j.asCID(t)==null)throw new O("invalid cid received");let e=await this.client.send({type:q.Type.DHT,dht:{type:Et.Type.PROVIDE,cid:t.bytes}}),n=await e.read(N);if(await e.unwrap().close(),n.type!==N.Type.OK)throw new R(n.error?.msg??"DHT provide failed")}async*findProviders(t,e=1){if(t==null||j.asCID(t)==null)throw new O("invalid cid received");let n=await this.client.send({type:q.Type.DHT,dht:{type:Et.Type.FIND_PROVIDERS,cid:t.bytes,count:e}}),o=await n.read(N);if(o.type!==N.Type.OK)throw await n.unwrap().close(),new R(o.error?.msg??"DHT find providers failed");for(;;){let i=await n.read(Ct);if(i.type===Ct.Type.END){await n.unwrap().close();return}if(i.type===Ct.Type.VALUE&&i.peer?.addrs!=null)yield{id:Gt(lt(i.peer.id)),multiaddrs:i.peer.addrs.map(s=>rt(s))};else throw await n.unwrap().close(),new Je("unexpected message received")}}async*getClosestPeers(t){if(!(t instanceof Uint8Array))throw new O("invalid key received");let e=await this.client.send({type:q.Type.DHT,dht:{type:Et.Type.GET_CLOSEST_PEERS,key:t}}),n=await e.read(N);if(n.type!==N.Type.OK)throw await e.unwrap().close(),new R(n.error?.msg??"DHT find providers failed");for(;;){let o=await e.read(Ct);if(o.type===Ct.Type.END){await e.unwrap().close();return}if(o.type===Ct.Type.VALUE&&o.value!=null)yield{id:Gt(lt(o.value)),multiaddrs:[]};else throw await e.unwrap().close(),new Qe("unexpected message received")}}async getPublicKey(t){if(!Ne(t))throw new O("invalid peer id received");let e=await this.client.send({type:q.Type.DHT,dht:{type:Et.Type.GET_PUBLIC_KEY,peer:t.toMultihash().bytes}}),n=await e.read(N);if(await e.unwrap().close(),n.type!==N.Type.OK)throw new R(n.error?.msg??"DHT get public key failed");if(n.dht==null)throw new Qe("Invalid response");return n.dht.value}};var Sn=class{client;constructor(t){this.client=t}async getTopics(){let t=await this.client.send({type:q.Type.PUBSUB,pubsub:{type:_t.Type.GET_TOPICS}}),e=await t.read(N);if(await t.unwrap().close(),e.type!==N.Type.OK)throw new R(e.error?.msg??"Pubsub get topics failed");if(e.pubsub?.topics==null)throw new R("Invalid response");return e.pubsub.topics}async publish(t,e){if(typeof t!="string")throw new O("invalid topic received");if(!(e instanceof Uint8Array))throw new O("data received is not a Uint8Array");let n=await this.client.send({type:q.Type.PUBSUB,pubsub:{type:_t.Type.PUBLISH,topic:t,data:e}}),o=await n.read(N);if(await n.unwrap().close(),o.type!==N.Type.OK)throw new R(o.error?.msg??"Pubsub publish failed")}async subscribe(t){if(typeof t!="string")throw new O("invalid topic received");let e=await this.client.send({type:q.Type.PUBSUB,pubsub:{type:_t.Type.SUBSCRIBE,topic:t}}),n=await e.read(N);if(n.type!==N.Type.OK)throw new R(n.error?.msg??"Pubsub publish failed");let o=!0;return{async*messages(){for(;o;)yield await e.read(xr)},async cancel(){o=!1,await e.unwrap().close()}}}async getSubscribers(t){if(typeof t!="string")throw new O("invalid topic received");let e=await this.client.send({type:q.Type.PUBSUB,pubsub:{type:_t.Type.LIST_PEERS,topic:t}}),n=await e.read(N);if(await e.unwrap().close(),n.type!==N.Type.OK)throw new R(n.error?.msg??"Pubsub get subscribers failed");if(n.pubsub?.topics==null)throw new R("Invalid response");return n.pubsub.peerIDs.map(o=>Gt(lt(o)))}};var mi=he("libp2p:daemon-client"),R=class extends Error{constructor(t="Operation failed"){super(t),this.name="OperationFailedError"}},gi=class{multiaddr;dht;pubsub;tcp;constructor(t){this.multiaddr=t,this.tcp=vc()({logger:es()}),this.dht=new In(this),this.pubsub=new Sn(this)}async connectDaemon(){return this.tcp.dial(this.multiaddr,{upgrader:new Xe})}async send(t){let e=await this.connectDaemon(),n=t.pubsub?.type??t.dht?.type??t.peerStore?.type??"";mi("send",t.type,n);let o=Ic(e);return await o.write(t,q),o}async connect(t,e){if(!Ne(t))throw new O("invalid peer id received");if(!Array.isArray(e))throw new O("addrs received are not in an array");e.forEach(i=>{if(!pn(i))throw new O("received an address that is not a multiaddr")});let n=await this.send({type:q.Type.CONNECT,connect:{peer:t.toMultihash().bytes,addrs:e.map(i=>i.bytes)}}),o=await n.read(N);if(o.type!==N.Type.OK){let i=o.error??{msg:"unspecified"};throw new R(i.msg??"unspecified")}await n.unwrap().close()}async identify(){let t=await this.send({type:q.Type.IDENTIFY}),e=await t.read(N);if(e.type!==N.Type.OK)throw new R(e.error?.msg??"Identify failed");if(e.identify?.addrs==null)throw new R("Invalid response");let n=Gt(lt(e.identify?.id)),o=e.identify.addrs.map(i=>rt(i));return await t.unwrap().close(),{peerId:n,addrs:o}}async listPeers(){let t=await this.send({type:q.Type.LIST_PEERS}),e=await t.read(N);if(e.type!==N.Type.OK)throw new R(e.error?.msg??"List peers failed");return await t.unwrap().close(),e.peers.map(n=>Gt(lt(n.id)))}async openStream(t,e){if(!Ne(t))throw new O("invalid peer id received");if(typeof e!="string")throw new O("invalid protocol received");let n=await this.send({type:q.Type.STREAM_OPEN,streamOpen:{peer:t.toMultihash().bytes,proto:[e]}}),o=await n.read(N);if(o.type!==N.Type.OK)throw await n.unwrap().close(),new R(o.error?.msg??"Open stream failed");return n.unwrap()}async registerStreamHandler(t,e){if(typeof t!="string")throw new O("invalid protocol received");let n=this.tcp.createListener({upgrader:new Xe(c=>{this.onConnection(t,n,c)})});await n.listen(rt("/ip4/127.0.0.1/tcp/0"));let o=n.getAddrs()[0];if(o==null)throw new R("Could not listen on port");let i=await this.send({type:q.Type.STREAM_HANDLER,streamHandler:{addr:o.bytes,proto:[t]}}),s=await i.read(N);if(await i.unwrap().close(),s.type!==N.Type.OK)throw new R(s.error?.msg??"Register stream handler failed")}onConnection(t,e,n){Promise.resolve().then(async()=>{let o=new _r({stream:n}),i=await o.read();if(i==null)throw new R("Could not read open stream response");if(Pe.decode(i).proto!==t)throw new R("Incorrect protocol");await handler(o.rest())}).catch(o=>{n.abort(o)}).finally(()=>{n.close().catch(o=>{mi.error(o)}),e.close().catch(o=>{mi.error(o)})})}};function Ul(r){return new gi(r)}return Cc(Rl);})();
4
+ `+i),r.push(o+"m+"+Tr(this.diff)+"\x1B[0m")}else r[0]=lu()+t+" "+r[0]}function lu(){return Ne.hideDate!=null?"":new Date().toISOString()+" "}function fu(...r){return process.stderr.write(Pr.default.format(...r)+`
5
+ `)}function du(r){r!=null?process.env.DEBUG=r:delete process.env.DEBUG}function hu(){return process.env.DEBUG}function pu(r){r.inspectOpts={};let t=Object.keys(Ne);for(let e=0;e<t.length;e++)r.inspectOpts[t[e]]=Ne[t[e]]}function mu(r){r.o=function(t){return this.inspectOpts.colors=this.useColors,Pr.default.inspect(t,this.inspectOpts).split(`
6
+ `).map(e=>e.trim()).join(" ")},r.O=function(t){return this.inspectOpts.colors=this.useColors,Pr.default.inspect(t,this.inspectOpts)}}var os=Io({init:pu,log:fu,formatArgs:uu,save:du,load:hu,useColors:au,setupFormatters:mu,colors:ns,inspectOpts:Ne});var ht=os;ht.formatters.b=r=>r==null?"undefined":V.baseEncode(r);ht.formatters.t=r=>r==null?"undefined":Bt.baseEncode(r);ht.formatters.m=r=>r==null?"undefined":ro.baseEncode(r);ht.formatters.p=r=>r==null?"undefined":r.toString();ht.formatters.c=r=>r==null?"undefined":r.toString();ht.formatters.k=r=>r==null?"undefined":r.toString();ht.formatters.a=r=>r==null?"undefined":r.toString();ht.formatters.e=r=>r==null?"undefined":is(r.stack)??is(r.message)??r.toString();function gu(r){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=r,t.destroy=()=>!0,t.extend=()=>t,t}function ss(){return{forComponent(r){return he(r)}}}function he(r){let t=gu(`${r}:trace`);return ht.enabled(`${r}:trace`)&&ht.names.map(e=>e.toString()).find(e=>e.includes(":trace"))!=null&&(t=ht(`${r}:trace`)),Object.assign(ht(r),{error:ht(`${r}:error`),trace:t})}function is(r){if(r!=null&&(r=r.trim(),r.length!==0))return r}function Jt(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var kr=class extends Error{type;code;constructor(t,e,n){super(t??"The operation was aborted"),this.type="aborted",this.name=n??"AbortError",this.code=e??"ABORT_ERR"}};async function cs(r,t,e){if(t==null)return r;if(t.aborted)return r.catch(()=>{}),Promise.reject(new kr(e?.errorMessage,e?.errorCode,e?.errorName));let n,o=new kr(e?.errorMessage,e?.errorCode,e?.errorName);try{return await Promise.race([r,new Promise((i,s)=>{n=()=>{s(o)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var So=class{readNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.readNext=Jt(),this.haveNext=Jt()}[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 t=this.nextResult;return this.nextResult=void 0,this.readNext.resolve(),this.readNext=Jt(),t}async throw(t){return this.ended=!0,t!=null&&(this.haveNext.promise.catch(()=>{}),this.haveNext.reject(t)),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return await this._push(void 0),t}async push(t,e){await this._push(t,e)}async end(t,e){t!=null?await this.throw(t):await this._push(void 0,e)}async _push(t,e){if(t!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");for(;this.nextResult!=null;)await this.readNext.promise;t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=Jt(),await cs(this.readNext.promise,e?.signal,e)}};function as(){return new So}var us=Q("node:buffer");function yt(r,t){return ue(us.Buffer.concat(r,t))}function kt(r,t){if(r===t)return!0;if(r.byteLength!==t.byteLength)return!1;for(let e=0;e<r.byteLength;e++)if(r[e]!==t[e])return!1;return!0}var fs=Symbol.for("@achingbrain/uint8arraylist");function ls(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let o=e+n.byteLength;if(t<o)return{buf:n,index:t-e};e=o}throw new RangeError("index is out of bounds")}function Nr(r){return!!r?.[fs]}var Ft=class r{bufs;length;[fs]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let e=0;for(let n of t)if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.push(n);else if(Nr(n))e+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}prepend(...t){this.prependAll(t)}prependAll(t){let e=0;for(let n of t.reverse())if(n instanceof Uint8Array)e+=n.byteLength,this.bufs.unshift(n);else if(Nr(n))e+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=ls(this.bufs,t);return e.buf[e.index]}set(t,e){let n=ls(this.bufs,t);n.buf[n.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(e+n,t[n]);else if(Nr(t))for(let n=0;n<t.length;n++)this.set(e+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,e){let{bufs:n,length:o}=this._subList(t,e);return yt(n,o)}subarray(t,e){let{bufs:n,length:o}=this._subList(t,e);return n.length===1?n[0]:yt(n,o)}sublist(t,e){let{bufs:n,length:o}=this._subList(t,e),i=new r;return i.length=o,i.bufs=[...n],i}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:this.bufs,length:this.length};let n=[],o=0;for(let i=0;i<this.bufs.length;i++){let s=this.bufs[i],c=o,a=c+s.byteLength;if(o=a,t>=a)continue;let f=t>=c&&t<a,l=e>c&&e<=a;if(f&&l){if(t===c&&e===a){n.push(s);break}let u=t-c;n.push(s.subarray(u,u+(e-t)));break}if(f){if(t===0){n.push(s);continue}n.push(s.subarray(t-c));continue}if(l){if(e===a){n.push(s);break}n.push(s.subarray(0,e-c));break}n.push(s)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!Nr(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(e=Number(e??0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let o=n.byteLength;if(o===0)throw new TypeError("search must be at least 1 byte long");let i=256,s=new Int32Array(i);for(let u=0;u<i;u++)s[u]=-1;for(let u=0;u<o;u++)s[n[u]]=u;let c=s,a=this.byteLength-n.byteLength,f=n.byteLength-1,l;for(let u=e;u<=a;u+=l){l=0;for(let d=f;d>=0;d--){let p=this.get(u+d);if(n[d]!==p){l=Math.max(1,d-c[p]);break}}if(l===0)return u}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let n=xt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,e),this.write(n,t)}getInt16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,e)}setInt16(t,e,n){let o=Dt(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt16(0,e,n),this.write(o,t)}getInt32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,e)}setInt32(t,e,n){let o=Dt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt32(0,e,n),this.write(o,t)}getBigInt64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,e)}setBigInt64(t,e,n){let o=Dt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigInt64(0,e,n),this.write(o,t)}getUint8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getUint8(0)}setUint8(t,e){let n=xt(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,e),this.write(n,t)}getUint16(t,e){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,e)}setUint16(t,e,n){let o=Dt(2);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint16(0,e,n),this.write(o,t)}getUint32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,e)}setUint32(t,e,n){let o=Dt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint32(0,e,n),this.write(o,t)}getBigUint64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,e)}setBigUint64(t,e,n){let o=Dt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setBigUint64(0,e,n),this.write(o,t)}getFloat32(t,e){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,e)}setFloat32(t,e,n){let o=Dt(4);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat32(0,e,n),this.write(o,t)}getFloat64(t,e){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,e)}setFloat64(t,e,n){let o=Dt(8);new DataView(o.buffer,o.byteOffset,o.byteLength).setFloat64(0,e,n),this.write(o,t)}equals(t){if(t==null||!(t instanceof r)||t.bufs.length!==this.bufs.length)return!1;for(let e=0;e<this.bufs.length;e++)if(!kt(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let n=new r;return n.bufs=t,e==null&&(e=t.reduce((o,i)=>o+i.byteLength,0)),n.length=e,n}};var Or=class extends Error{name="UnexpectedEOFError";code="ERR_UNEXPECTED_EOF"};var Ao=class extends Error{code;constructor(t,e){super(t),this.code=e}},To=class extends Ao{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted",this.name="AbortError"}};function ds(r,t){let e=as();r.sink(e).catch(async s=>{await e.end(s)}),r.sink=async s=>{for await(let c of s)await e.push(c);await e.end()};let n=r.source;r.source[Symbol.iterator]!=null?n=r.source[Symbol.iterator]():r.source[Symbol.asyncIterator]!=null&&(n=r.source[Symbol.asyncIterator]());let o=new Ft;return{read:async(s,c)=>{c?.signal?.throwIfAborted();let a,f=new Promise((l,u)=>{a=()=>{u(new To("Read aborted"))},c?.signal?.addEventListener("abort",a)});try{if(s==null){let{done:u,value:d}=await Promise.race([n.next(),f]);return u===!0?new Ft:d}for(;o.byteLength<s;){let{value:u,done:d}=await Promise.race([n.next(),f]);if(d===!0)throw new Or("unexpected end of input");o.append(u)}let l=o.sublist(0,s);return o.consume(s),l}finally{a!=null&&c?.signal?.removeEventListener("abort",a)}},write:async(s,c)=>{c?.signal?.throwIfAborted(),s instanceof Uint8Array?await e.push(s,c):await e.push(s.subarray(),c)},unwrap:()=>{if(o.byteLength>0){let s=r.source;r.source=async function*(){t?.yieldBytes===!1?yield o:yield*o,yield*s}()}return r}}}var Ur=class extends Error{name="InvalidMessageLengthError";code="ERR_INVALID_MSG_LENGTH"},Dr=class extends Error{name="InvalidDataLengthError";code="ERR_MSG_DATA_TOO_LONG"},Rr=class extends Error{name="InvalidDataLengthLengthError";code="ERR_MSG_LENGTH_TOO_LONG"};function Mr(r,t={}){let e=ds(r,t);t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=it(t.maxDataLength));let n=t?.lengthDecoder??Rt,o=t?.lengthEncoder??Yt;return{read:async s=>{let c=-1,a=new Ft;for(;;){a.append(await e.read(1,s));try{c=n(a)}catch(f){if(f instanceof RangeError)continue;throw f}if(c<0)throw new Ur("Invalid message length");if(t?.maxLengthLength!=null&&a.byteLength>t.maxLengthLength)throw new Rr("message length length too long");if(c>-1)break}if(t?.maxDataLength!=null&&c>t.maxDataLength)throw new Dr("message length too long");return e.read(c,s)},write:async(s,c)=>{await e.write(new Ft(o(s.byteLength),s),c)},writeV:async(s,c)=>{let a=new Ft(...s.flatMap(f=>[o(f.byteLength),f]));await e.write(a,c)},unwrap:()=>e.unwrap()}}var Lo=he("libp2p:daemon-protocol:stream-handler"),_r=class{stream;lp;constructor(t){let{stream:e,maxLength:n}=t;this.stream=e,this.lp=Mr(this.stream,{maxDataLength:n??4096})}async read(){try{return await this.lp.read()}catch(t){Lo.error("read received no value",t)}}async write(t){Lo("write message"),await this.lp.write(t)}rest(){return this.lp.unwrap()}async close(){Lo("closing the stream"),await this.rest().close()}};var Je=class{onConnection;constructor(t){this.onConnection=t}async upgradeInbound(t){this.onConnection?.(t)}async upgradeOutbound(t){return t}};var Kr=Symbol.for("@libp2p/peer-id");function Oe(r){return!!r?.[Kr]}var ps=Symbol.for("@libp2p/transport");var hs;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(hs||(hs={}));var Fr=class extends Error{static name="AbortError";constructor(t="The operation was aborted"){super(t),this.name="AbortError"}};var O=class extends Error{static name="InvalidParametersError";constructor(t="Invalid parameters"){super(t),this.name="InvalidParametersError"}},Vr=class extends Error{static name="InvalidPublicKeyError";constructor(t="Invalid public key"){super(t),this.name="InvalidPublicKeyError"}};var Hr=class extends Error{static name="InvalidMultihashError";constructor(t="Invalid Multihash"){super(t),this.name="InvalidMultihashError"}};var je=class extends Error{static name="InvalidMessageError";constructor(t="Invalid message"){super(t),this.name="InvalidMessageError"}},tr=class extends Error{static name="ProtocolError";constructor(t="Protocol error"){super(t),this.name="ProtocolError"}},Ue=class extends Error{static name="TimeoutError";constructor(t="Timed out"){super(t),this.name="TimeoutError"}},Gr=class extends Error{static name="NotStartedError";constructor(t="Not started"){super(t),this.name="NotStartedError"}},zr=class extends Error{static name="AlreadyStartedError";constructor(t="Already started"){super(t),this.name="AlreadyStartedError"}};var er=class extends Error{static name="UnsupportedKeyTypeError";constructor(t="Unsupported key type"){super(t),this.name="UnsupportedKeyTypeError"}};var ms=Q("node:events"),$r=(r,...t)=>{try{(0,ms.setMaxListeners)(r,...t)}catch{}};var qr=class extends EventTarget{#t=new Map;constructor(){super(),$r(1/0,this)}listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,n){super.addEventListener(t,e,n);let o=this.#t.get(t);o==null&&(o=[],this.#t.set(t,o)),o.push({callback:e,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,e,n){super.removeEventListener(t.toString(),e??null,n);let o=this.#t.get(t);o!=null&&(o=o.filter(({callback:i})=>i!==e),this.#t.set(t,o))}dispatchEvent(t){let e=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:o})=>!o),this.#t.set(t.type,n)),e}safeDispatchEvent(t,e={}){return this.dispatchEvent(new CustomEvent(t,e))}};var gs=Symbol.for("@libp2p/service-capabilities"),mh=Symbol.for("@libp2p/service-dependencies");var Wr=mt(Q("crypto"),1);var ys=Q("node:buffer");function Y(r,t="utf8"){let e=fr[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return t==="utf8"||t==="utf-8"?ys.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):e.encoder.encode(r).substring(1)}var Gh=Wr.default.generateKeyPairSync,rr=32;var yu=64;function ws(r,t,e){if(r.byteLength!==rr)throw new TypeError('"key" must be 32 bytes in length.');if(!(r instanceof Uint8Array))throw new TypeError('"key" must be a node.js Buffer, or Uint8Array.');if(t.byteLength!==yu)throw new TypeError('"sig" must be 64 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"sig" must be a node.js Buffer, or Uint8Array.');let n=Wr.default.createPublicKey({format:"jwk",key:{crv:"Ed25519",x:Y(r,"base64url"),kty:"OKP"}});return Wr.default.verify(null,e instanceof Uint8Array?e:e.subarray(),n,t)}var Yr=class{type="Ed25519";raw;constructor(t){this.raw=Bo(t,rr)}toMultihash(){return Mt.digest(Zr(this))}toCID(){return j.createV1(114,this.toMultihash())}toString(){return V.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:kt(this.raw,t.raw)}verify(t,e){return ws(this.raw,e,t)}};function xs(r){return r=Bo(r,rr),new Yr(r)}function Bo(r,t){if(r=Uint8Array.from(r??[]),r.length!==t)throw new O(`Key must be a Uint8Array of length ${t}, got ${r.length}`);return r}var St;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.secp256k1="secp256k1"})(St||(St={}));var Co;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.secp256k1=2]="secp256k1"})(Co||(Co={}));(function(r){r.codec=()=>Ct(Co)})(St||(St={}));var nr;(function(r){let t;r.codec=()=>(t==null&&(t=G((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),St.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let i={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let c=e.uint32();switch(c>>>3){case 1:{i.Type=St.codec().decode(e);break}case 2:{i.Data=e.bytes();break}default:{e.skipType(c&7);break}}}return i})),t),r.encode=e=>H(e,r.codec()),r.decode=(e,n)=>F(e,r.codec(),n)})(nr||(nr={}));var Po;(function(r){let t;r.codec=()=>(t==null&&(t=G((e,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),e.Type!=null&&(n.uint32(8),St.codec().encode(e.Type,n)),e.Data!=null&&(n.uint32(18),n.bytes(e.Data)),o.lengthDelimited!==!1&&n.ldelim()},(e,n,o={})=>{let i={},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let c=e.uint32();switch(c>>>3){case 1:{i.Type=St.codec().decode(e);break}case 2:{i.Data=e.bytes();break}default:{e.skipType(c&7);break}}}return i})),t),r.encode=e=>H(e,r.codec()),r.decode=(e,n)=>F(e,r.codec(),n)})(Po||(Po={}));function Es(r){if(!Number.isSafeInteger(r)||r<0)throw new Error("positive integer expected, got "+r)}function xu(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function De(r,...t){if(!xu(r))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(r.length))throw new Error("Uint8Array expected of length "+t+", got length="+r.length)}function vs(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Es(r.outputLen),Es(r.blockLen)}function Re(r,t=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(t&&r.finished)throw new Error("Hash#digest() has already been called")}function Is(r,t){De(r);let e=t.outputLen;if(r.length<e)throw new Error("digestInto() expects output buffer of length at least "+e)}var Vt=mt(Q("node:crypto"),1),pe=Vt&&typeof Vt=="object"&&"webcrypto"in Vt?Vt.webcrypto:Vt&&typeof Vt=="object"&&"randomBytes"in Vt?Vt:void 0;function Xr(r){return new DataView(r.buffer,r.byteOffset,r.byteLength)}function Nt(r,t){return r<<32-t|r>>>t}function Eu(r){if(typeof r!="string")throw new Error("utf8ToBytes expected string, got "+typeof r);return new Uint8Array(new TextEncoder().encode(r))}function or(r){return typeof r=="string"&&(r=Eu(r)),De(r),r}function Ss(...r){let t=0;for(let n=0;n<r.length;n++){let o=r[n];De(o),t+=o.length}let e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let i=r[n];e.set(i,o),o+=i.length}return e}var Me=class{clone(){return this._cloneInto()}};function As(r){let t=n=>r().update(or(n)).digest(),e=r();return t.outputLen=e.outputLen,t.blockLen=e.blockLen,t.create=()=>r(),t}function Ts(r=32){if(pe&&typeof pe.getRandomValues=="function")return pe.getRandomValues(new Uint8Array(r));if(pe&&typeof pe.randomBytes=="function")return pe.randomBytes(r);throw new Error("crypto.getRandomValues must be defined")}function vu(r,t,e,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(t,e,n);let o=BigInt(32),i=BigInt(4294967295),s=Number(e>>o&i),c=Number(e&i),a=n?4:0,f=n?0:4;r.setUint32(t+a,s,n),r.setUint32(t+f,c,n)}function Ls(r,t,e){return r&t^~r&e}function Bs(r,t,e){return r&t^r&e^t&e}var Qr=class extends Me{constructor(t,e,n,o){super(),this.blockLen=t,this.outputLen=e,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(t),this.view=Xr(this.buffer)}update(t){Re(this);let{view:e,buffer:n,blockLen:o}=this;t=or(t);let i=t.length;for(let s=0;s<i;){let c=Math.min(o-this.pos,i-s);if(c===o){let a=Xr(t);for(;o<=i-s;s+=o)this.process(a,s);continue}n.set(t.subarray(s,s+c),this.pos),this.pos+=c,s+=c,this.pos===o&&(this.process(e,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){Re(this),Is(t,this),this.finished=!0;let{buffer:e,view:n,blockLen:o,isLE:i}=this,{pos:s}=this;e[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>o-s&&(this.process(n,0),s=0);for(let u=s;u<o;u++)e[u]=0;vu(n,o-8,BigInt(this.length*8),i),this.process(n,0);let c=Xr(t),a=this.outputLen;if(a%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let f=a/4,l=this.get();if(f>l.length)throw new Error("_sha2: outputLen bigger than state");for(let u=0;u<f;u++)c.setUint32(4*u,l[u],i)}digest(){let{buffer:t,outputLen:e}=this;this.digestInto(t);let n=t.slice(0,e);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:e,buffer:n,length:o,finished:i,destroyed:s,pos:c}=this;return t.length=o,t.pos=c,t.finished=i,t.destroyed=s,o%e&&t.buffer.set(n),t}};var Iu=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),jt=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),te=new Uint32Array(64),ko=class extends Qr{constructor(){super(64,32,8,!1),this.A=jt[0]|0,this.B=jt[1]|0,this.C=jt[2]|0,this.D=jt[3]|0,this.E=jt[4]|0,this.F=jt[5]|0,this.G=jt[6]|0,this.H=jt[7]|0}get(){let{A:t,B:e,C:n,D:o,E:i,F:s,G:c,H:a}=this;return[t,e,n,o,i,s,c,a]}set(t,e,n,o,i,s,c,a){this.A=t|0,this.B=e|0,this.C=n|0,this.D=o|0,this.E=i|0,this.F=s|0,this.G=c|0,this.H=a|0}process(t,e){for(let u=0;u<16;u++,e+=4)te[u]=t.getUint32(e,!1);for(let u=16;u<64;u++){let d=te[u-15],p=te[u-2],w=Nt(d,7)^Nt(d,18)^d>>>3,g=Nt(p,17)^Nt(p,19)^p>>>10;te[u]=g+te[u-7]+w+te[u-16]|0}let{A:n,B:o,C:i,D:s,E:c,F:a,G:f,H:l}=this;for(let u=0;u<64;u++){let d=Nt(c,6)^Nt(c,11)^Nt(c,25),p=l+d+Ls(c,a,f)+Iu[u]+te[u]|0,g=(Nt(n,2)^Nt(n,13)^Nt(n,22))+Bs(n,o,i)|0;l=f,f=a,a=c,c=s+p|0,s=i,i=o,o=n,n=p+g|0}n=n+this.A|0,o=o+this.B|0,i=i+this.C|0,s=s+this.D|0,c=c+this.E|0,a=a+this.F|0,f=f+this.G|0,l=l+this.H|0,this.set(n,o,i,s,c,a,f,l)}roundClean(){te.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Cs=As(()=>new ko);var Jr=class extends Me{constructor(t,e){super(),this.finished=!1,this.destroyed=!1,vs(t);let n=or(e);if(this.iHash=t.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let o=this.blockLen,i=new Uint8Array(o);i.set(n.length>o?t.create().update(n).digest():n);for(let s=0;s<i.length;s++)i[s]^=54;this.iHash.update(i),this.oHash=t.create();for(let s=0;s<i.length;s++)i[s]^=106;this.oHash.update(i),i.fill(0)}update(t){return Re(this),this.iHash.update(t),this}digestInto(t){Re(this),De(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:e,iHash:n,finished:o,destroyed:i,blockLen:s,outputLen:c}=this;return t=t,t.finished=o,t.destroyed=i,t.blockLen=s,t.outputLen=c,t.oHash=e._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},No=(r,t,e)=>new Jr(r,t).update(e).digest();No.create=(r,t)=>new Jr(r,t);var _o={};ft(_o,{aInRange:()=>ne,abool:()=>me,abytes:()=>_e,bitGet:()=>Cu,bitLen:()=>Ro,bitMask:()=>sr,bitSet:()=>Pu,bytesToHex:()=>ge,bytesToNumberBE:()=>Gt,bytesToNumberLE:()=>en,concatBytes:()=>Ke,createHmacDrbg:()=>Mo,ensureBytes:()=>wt,equalBytes:()=>Lu,hexToBytes:()=>we,hexToNumber:()=>Do,inRange:()=>ir,isBytes:()=>ee,memoized:()=>nn,notImplemented:()=>Nu,numberToBytesBE:()=>re,numberToBytesLE:()=>rn,numberToHexUnpadded:()=>ye,numberToVarBytesBE:()=>Tu,utf8ToBytes:()=>Bu,validateObject:()=>oe});var jr=BigInt(0),tn=BigInt(1),Su=BigInt(2);function ee(r){return r instanceof Uint8Array||ArrayBuffer.isView(r)&&r.constructor.name==="Uint8Array"}function _e(r){if(!ee(r))throw new Error("Uint8Array expected")}function me(r,t){if(typeof t!="boolean")throw new Error(r+" boolean expected, got "+t)}var Au=Array.from({length:256},(r,t)=>t.toString(16).padStart(2,"0"));function ge(r){_e(r);let t="";for(let e=0;e<r.length;e++)t+=Au[r[e]];return t}function ye(r){let t=r.toString(16);return t.length&1?"0"+t:t}function Do(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return r===""?jr:BigInt("0x"+r)}var Ht={_0:48,_9:57,A:65,F:70,a:97,f:102};function Ps(r){if(r>=Ht._0&&r<=Ht._9)return r-Ht._0;if(r>=Ht.A&&r<=Ht.F)return r-(Ht.A-10);if(r>=Ht.a&&r<=Ht.f)return r-(Ht.a-10)}function we(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);let t=r.length,e=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(e);for(let o=0,i=0;o<e;o++,i+=2){let s=Ps(r.charCodeAt(i)),c=Ps(r.charCodeAt(i+1));if(s===void 0||c===void 0){let a=r[i]+r[i+1];throw new Error('hex string expected, got non-hex character "'+a+'" at index '+i)}n[o]=s*16+c}return n}function Gt(r){return Do(ge(r))}function en(r){return _e(r),Do(ge(Uint8Array.from(r).reverse()))}function re(r,t){return we(r.toString(16).padStart(t*2,"0"))}function rn(r,t){return re(r,t).reverse()}function Tu(r){return we(ye(r))}function wt(r,t,e){let n;if(typeof t=="string")try{n=we(t)}catch(i){throw new Error(r+" must be hex string or Uint8Array, cause: "+i)}else if(ee(t))n=Uint8Array.from(t);else throw new Error(r+" must be hex string or Uint8Array");let o=n.length;if(typeof e=="number"&&o!==e)throw new Error(r+" of length "+e+" expected, got "+o);return n}function Ke(...r){let t=0;for(let n=0;n<r.length;n++){let o=r[n];_e(o),t+=o.length}let e=new Uint8Array(t);for(let n=0,o=0;n<r.length;n++){let i=r[n];e.set(i,o),o+=i.length}return e}function Lu(r,t){if(r.length!==t.length)return!1;let e=0;for(let n=0;n<r.length;n++)e|=r[n]^t[n];return e===0}function Bu(r){if(typeof r!="string")throw new Error("string expected");return new Uint8Array(new TextEncoder().encode(r))}var Oo=r=>typeof r=="bigint"&&jr<=r;function ir(r,t,e){return Oo(r)&&Oo(t)&&Oo(e)&&t<=r&&r<e}function ne(r,t,e,n){if(!ir(t,e,n))throw new Error("expected valid "+r+": "+e+" <= n < "+n+", got "+t)}function Ro(r){let t;for(t=0;r>jr;r>>=tn,t+=1);return t}function Cu(r,t){return r>>BigInt(t)&tn}function Pu(r,t,e){return r|(e?tn:jr)<<BigInt(t)}var sr=r=>(Su<<BigInt(r-1))-tn,Uo=r=>new Uint8Array(r),ks=r=>Uint8Array.from(r);function Mo(r,t,e){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof e!="function")throw new Error("hmacFn must be a function");let n=Uo(r),o=Uo(r),i=0,s=()=>{n.fill(1),o.fill(0),i=0},c=(...u)=>e(o,n,...u),a=(u=Uo())=>{o=c(ks([0]),u),n=c(),u.length!==0&&(o=c(ks([1]),u),n=c())},f=()=>{if(i++>=1e3)throw new Error("drbg: tried 1000 values");let u=0,d=[];for(;u<t;){n=c();let p=n.slice();d.push(p),u+=n.length}return Ke(...d)};return(u,d)=>{s(),a(u);let p;for(;!(p=d(f()));)a();return s(),p}}var ku={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||ee(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,t)=>t.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function oe(r,t,e={}){let n=(o,i,s)=>{let c=ku[i];if(typeof c!="function")throw new Error("invalid validator function");let a=r[o];if(!(s&&a===void 0)&&!c(a,r))throw new Error("param "+String(o)+" is invalid. Expected "+i+", got "+a)};for(let[o,i]of Object.entries(t))n(o,i,!1);for(let[o,i]of Object.entries(e))n(o,i,!0);return r}var Nu=()=>{throw new Error("not implemented")};function nn(r){let t=new WeakMap;return(e,...n)=>{let o=t.get(e);if(o!==void 0)return o;let i=r(e,...n);return t.set(e,i),i}}var J=BigInt(0),W=BigInt(1),be=BigInt(2),Ou=BigInt(3),Ko=BigInt(4),Ns=BigInt(5),Os=BigInt(8),Uu=BigInt(9),Du=BigInt(16);function ct(r,t){let e=r%t;return e>=J?e:t+e}function Ru(r,t,e){if(t<J)throw new Error("invalid exponent, negatives unsupported");if(e<=J)throw new Error("invalid modulus");if(e===W)return J;let n=W;for(;t>J;)t&W&&(n=n*r%e),r=r*r%e,t>>=W;return n}function bt(r,t,e){let n=r;for(;t-- >J;)n*=n,n%=e;return n}function on(r,t){if(r===J)throw new Error("invert: expected non-zero number");if(t<=J)throw new Error("invert: expected positive modulus, got "+t);let e=ct(r,t),n=t,o=J,i=W,s=W,c=J;for(;e!==J;){let f=n/e,l=n%e,u=o-s*f,d=i-c*f;n=e,e=l,o=s,i=c,s=u,c=d}if(n!==W)throw new Error("invert: does not exist");return ct(o,t)}function Mu(r){let t=(r-W)/be,e,n,o;for(e=r-W,n=0;e%be===J;e/=be,n++);for(o=be;o<r&&Ru(o,t,r)!==r-W;o++)if(o>1e3)throw new Error("Cannot find square root: likely non-prime P");if(n===1){let s=(r+W)/Ko;return function(a,f){let l=a.pow(f,s);if(!a.eql(a.sqr(l),f))throw new Error("Cannot find square root");return l}}let i=(e+W)/be;return function(c,a){if(c.pow(a,t)===c.neg(c.ONE))throw new Error("Cannot find square root");let f=n,l=c.pow(c.mul(c.ONE,o),e),u=c.pow(a,i),d=c.pow(a,e);for(;!c.eql(d,c.ONE);){if(c.eql(d,c.ZERO))return c.ZERO;let p=1;for(let g=c.sqr(d);p<f&&!c.eql(g,c.ONE);p++)g=c.sqr(g);let w=c.pow(l,W<<BigInt(f-p-1));l=c.sqr(w),u=c.mul(u,w),d=c.mul(d,l),f=p}return u}}function _u(r){if(r%Ko===Ou){let t=(r+W)/Ko;return function(n,o){let i=n.pow(o,t);if(!n.eql(n.sqr(i),o))throw new Error("Cannot find square root");return i}}if(r%Os===Ns){let t=(r-Ns)/Os;return function(n,o){let i=n.mul(o,be),s=n.pow(i,t),c=n.mul(o,s),a=n.mul(n.mul(c,be),s),f=n.mul(c,n.sub(a,n.ONE));if(!n.eql(n.sqr(f),o))throw new Error("Cannot find square root");return f}}return r%Du,Mu(r)}var Ku=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Fo(r){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},e=Ku.reduce((n,o)=>(n[o]="function",n),t);return oe(r,e)}function Fu(r,t,e){if(e<J)throw new Error("invalid exponent, negatives unsupported");if(e===J)return r.ONE;if(e===W)return t;let n=r.ONE,o=t;for(;e>J;)e&W&&(n=r.mul(n,o)),o=r.sqr(o),e>>=W;return n}function Vu(r,t){let e=new Array(t.length),n=t.reduce((i,s,c)=>r.is0(s)?i:(e[c]=i,r.mul(i,s)),r.ONE),o=r.inv(n);return t.reduceRight((i,s,c)=>r.is0(s)?i:(e[c]=r.mul(i,e[c]),r.mul(i,s)),o),e}function Vo(r,t){let e=t!==void 0?t:r.toString(2).length,n=Math.ceil(e/8);return{nBitLength:e,nByteLength:n}}function sn(r,t,e=!1,n={}){if(r<=J)throw new Error("invalid field: expected ORDER > 0, got "+r);let{nBitLength:o,nByteLength:i}=Vo(r,t);if(i>2048)throw new Error("invalid field: expected ORDER of <= 2048 bytes");let s,c=Object.freeze({ORDER:r,isLE:e,BITS:o,BYTES:i,MASK:sr(o),ZERO:J,ONE:W,create:a=>ct(a,r),isValid:a=>{if(typeof a!="bigint")throw new Error("invalid field element: expected bigint, got "+typeof a);return J<=a&&a<r},is0:a=>a===J,isOdd:a=>(a&W)===W,neg:a=>ct(-a,r),eql:(a,f)=>a===f,sqr:a=>ct(a*a,r),add:(a,f)=>ct(a+f,r),sub:(a,f)=>ct(a-f,r),mul:(a,f)=>ct(a*f,r),pow:(a,f)=>Fu(c,a,f),div:(a,f)=>ct(a*on(f,r),r),sqrN:a=>a*a,addN:(a,f)=>a+f,subN:(a,f)=>a-f,mulN:(a,f)=>a*f,inv:a=>on(a,r),sqrt:n.sqrt||(a=>(s||(s=_u(r)),s(c,a))),invertBatch:a=>Vu(c,a),cmov:(a,f,l)=>l?f:a,toBytes:a=>e?rn(a,i):re(a,i),fromBytes:a=>{if(a.length!==i)throw new Error("Field.fromBytes: expected "+i+" bytes, got "+a.length);return e?en(a):Gt(a)}});return Object.freeze(c)}function Us(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let t=r.toString(2).length;return Math.ceil(t/8)}function Ho(r){let t=Us(r);return t+Math.ceil(t/2)}function Ds(r,t,e=!1){let n=r.length,o=Us(t),i=Ho(t);if(n<16||n<i||n>1024)throw new Error("expected "+i+"-1024 bytes of input, got "+n);let s=e?en(r):Gt(r),c=ct(s,t-W)+W;return e?rn(c,o):re(c,o)}var Rs=BigInt(0),cn=BigInt(1);function Go(r,t){let e=t.negate();return r?e:t}function Ms(r,t){if(!Number.isSafeInteger(r)||r<=0||r>t)throw new Error("invalid window size, expected [1.."+t+"], got W="+r)}function zo(r,t){Ms(r,t);let e=Math.ceil(t/r)+1,n=2**(r-1);return{windows:e,windowSize:n}}function Hu(r,t){if(!Array.isArray(r))throw new Error("array expected");r.forEach((e,n)=>{if(!(e instanceof t))throw new Error("invalid point at index "+n)})}function Gu(r,t){if(!Array.isArray(r))throw new Error("array of scalars expected");r.forEach((e,n)=>{if(!t.isValid(e))throw new Error("invalid scalar at index "+n)})}var $o=new WeakMap,_s=new WeakMap;function qo(r){return _s.get(r)||1}function Ks(r,t){return{constTimeNegate:Go,hasPrecomputes(e){return qo(e)!==1},unsafeLadder(e,n,o=r.ZERO){let i=e;for(;n>Rs;)n&cn&&(o=o.add(i)),i=i.double(),n>>=cn;return o},precomputeWindow(e,n){let{windows:o,windowSize:i}=zo(n,t),s=[],c=e,a=c;for(let f=0;f<o;f++){a=c,s.push(a);for(let l=1;l<i;l++)a=a.add(c),s.push(a);c=a.double()}return s},wNAF(e,n,o){let{windows:i,windowSize:s}=zo(e,t),c=r.ZERO,a=r.BASE,f=BigInt(2**e-1),l=2**e,u=BigInt(e);for(let d=0;d<i;d++){let p=d*s,w=Number(o&f);o>>=u,w>s&&(w-=l,o+=cn);let g=p,h=p+Math.abs(w)-1,m=d%2!==0,y=w<0;w===0?a=a.add(Go(m,n[g])):c=c.add(Go(y,n[h]))}return{p:c,f:a}},wNAFUnsafe(e,n,o,i=r.ZERO){let{windows:s,windowSize:c}=zo(e,t),a=BigInt(2**e-1),f=2**e,l=BigInt(e);for(let u=0;u<s;u++){let d=u*c;if(o===Rs)break;let p=Number(o&a);if(o>>=l,p>c&&(p-=f,o+=cn),p===0)continue;let w=n[d+Math.abs(p)-1];p<0&&(w=w.negate()),i=i.add(w)}return i},getPrecomputes(e,n,o){let i=$o.get(n);return i||(i=this.precomputeWindow(n,e),e!==1&&$o.set(n,o(i))),i},wNAFCached(e,n,o){let i=qo(e);return this.wNAF(i,this.getPrecomputes(i,e,o),n)},wNAFCachedUnsafe(e,n,o,i){let s=qo(e);return s===1?this.unsafeLadder(e,n,i):this.wNAFUnsafe(s,this.getPrecomputes(s,e,o),n,i)},setWindowSize(e,n){Ms(n,t),_s.set(e,n),$o.delete(e)}}}function Fs(r,t,e,n){if(Hu(e,r),Gu(n,t),e.length!==n.length)throw new Error("arrays of points and scalars must have equal length");let o=r.ZERO,i=Ro(BigInt(e.length)),s=i>12?i-3:i>4?i-2:i?2:1,c=(1<<s)-1,a=new Array(c+1).fill(o),f=Math.floor((t.BITS-1)/s)*s,l=o;for(let u=f;u>=0;u-=s){a.fill(o);for(let p=0;p<n.length;p++){let w=n[p],g=Number(w>>BigInt(u)&BigInt(c));a[g]=a[g].add(e[p])}let d=o;for(let p=a.length-1,w=o;p>0;p--)w=w.add(a[p]),d=d.add(w);if(l=l.add(d),u!==0)for(let p=0;p<s;p++)l=l.double()}return l}function Wo(r){return Fo(r.Fp),oe(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Vo(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}function Vs(r){r.lowS!==void 0&&me("lowS",r.lowS),r.prehash!==void 0&&me("prehash",r.prehash)}function zu(r){let t=Wo(r);oe(t,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:e,Fp:n,a:o}=t;if(e){if(!n.eql(o,n.ZERO))throw new Error("invalid endomorphism, can only be defined for Koblitz curves that have a=0");if(typeof e!="object"||typeof e.beta!="bigint"||typeof e.splitScalar!="function")throw new Error("invalid endomorphism, expected beta: bigint and splitScalar: function")}return Object.freeze({...t})}var{bytesToNumberBE:$u,hexToBytes:qu}=_o,Yo=class extends Error{constructor(t=""){super(t)}},zt={Err:Yo,_tlv:{encode:(r,t)=>{let{Err:e}=zt;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length&1)throw new e("tlv.encode: unpadded data");let n=t.length/2,o=ye(n);if(o.length/2&128)throw new e("tlv.encode: long form length too big");let i=n>127?ye(o.length/2|128):"";return ye(r)+i+o+t},decode(r,t){let{Err:e}=zt,n=0;if(r<0||r>256)throw new e("tlv.encode: wrong tag");if(t.length<2||t[n++]!==r)throw new e("tlv.decode: wrong tlv");let o=t[n++],i=!!(o&128),s=0;if(!i)s=o;else{let a=o&127;if(!a)throw new e("tlv.decode(long): indefinite length not supported");if(a>4)throw new e("tlv.decode(long): byte length is too big");let f=t.subarray(n,n+a);if(f.length!==a)throw new e("tlv.decode: length bytes not complete");if(f[0]===0)throw new e("tlv.decode(long): zero leftmost byte");for(let l of f)s=s<<8|l;if(n+=a,s<128)throw new e("tlv.decode(long): not minimal encoding")}let c=t.subarray(n,n+s);if(c.length!==s)throw new e("tlv.decode: wrong value length");return{v:c,l:t.subarray(n+s)}}},_int:{encode(r){let{Err:t}=zt;if(r<$t)throw new t("integer: negative integers are not allowed");let e=ye(r);if(Number.parseInt(e[0],16)&8&&(e="00"+e),e.length&1)throw new t("unexpected DER parsing assertion: unpadded hex");return e},decode(r){let{Err:t}=zt;if(r[0]&128)throw new t("invalid signature integer: negative");if(r[0]===0&&!(r[1]&128))throw new t("invalid signature integer: unnecessary leading zero");return $u(r)}},toSig(r){let{Err:t,_int:e,_tlv:n}=zt,o=typeof r=="string"?qu(r):r;_e(o);let{v:i,l:s}=n.decode(48,o);if(s.length)throw new t("invalid signature: left bytes after parsing");let{v:c,l:a}=n.decode(2,i),{v:f,l}=n.decode(2,a);if(l.length)throw new t("invalid signature: left bytes after parsing");return{r:e.decode(c),s:e.decode(f)}},hexFromSig(r){let{_tlv:t,_int:e}=zt,n=t.encode(2,e.encode(r.r)),o=t.encode(2,e.encode(r.s)),i=n+o;return t.encode(48,i)}},$t=BigInt(0),tt=BigInt(1),Bp=BigInt(2),Hs=BigInt(3),Cp=BigInt(4);function Wu(r){let t=zu(r),{Fp:e}=t,n=sn(t.n,t.nBitLength),o=t.toBytes||((g,h,m)=>{let y=h.toAffine();return Ke(Uint8Array.from([4]),e.toBytes(y.x),e.toBytes(y.y))}),i=t.fromBytes||(g=>{let h=g.subarray(1),m=e.fromBytes(h.subarray(0,e.BYTES)),y=e.fromBytes(h.subarray(e.BYTES,2*e.BYTES));return{x:m,y}});function s(g){let{a:h,b:m}=t,y=e.sqr(g),E=e.mul(y,g);return e.add(e.add(E,e.mul(g,h)),m)}if(!e.eql(e.sqr(t.Gy),s(t.Gx)))throw new Error("bad generator point: equation left != right");function c(g){return ir(g,tt,t.n)}function a(g){let{allowedPrivateKeyLengths:h,nByteLength:m,wrapPrivateKey:y,n:E}=t;if(h&&typeof g!="bigint"){if(ee(g)&&(g=ge(g)),typeof g!="string"||!h.includes(g.length))throw new Error("invalid private key");g=g.padStart(m*2,"0")}let A;try{A=typeof g=="bigint"?g:Gt(wt("private key",g,m))}catch{throw new Error("invalid private key, expected hex or "+m+" bytes, got "+typeof g)}return y&&(A=ct(A,E)),ne("private key",A,tt,E),A}function f(g){if(!(g instanceof d))throw new Error("ProjectivePoint expected")}let l=nn((g,h)=>{let{px:m,py:y,pz:E}=g;if(e.eql(E,e.ONE))return{x:m,y};let A=g.is0();h==null&&(h=A?e.ONE:e.inv(E));let P=e.mul(m,h),B=e.mul(y,h),v=e.mul(E,h);if(A)return{x:e.ZERO,y:e.ZERO};if(!e.eql(v,e.ONE))throw new Error("invZ was invalid");return{x:P,y:B}}),u=nn(g=>{if(g.is0()){if(t.allowInfinityPoint&&!e.is0(g.py))return;throw new Error("bad point: ZERO")}let{x:h,y:m}=g.toAffine();if(!e.isValid(h)||!e.isValid(m))throw new Error("bad point: x or y not FE");let y=e.sqr(m),E=s(h);if(!e.eql(y,E))throw new Error("bad point: equation left != right");if(!g.isTorsionFree())throw new Error("bad point: not in prime-order subgroup");return!0});class d{constructor(h,m,y){if(this.px=h,this.py=m,this.pz=y,h==null||!e.isValid(h))throw new Error("x required");if(m==null||!e.isValid(m))throw new Error("y required");if(y==null||!e.isValid(y))throw new Error("z required");Object.freeze(this)}static fromAffine(h){let{x:m,y}=h||{};if(!h||!e.isValid(m)||!e.isValid(y))throw new Error("invalid affine point");if(h instanceof d)throw new Error("projective point not allowed");let E=A=>e.eql(A,e.ZERO);return E(m)&&E(y)?d.ZERO:new d(m,y,e.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(h){let m=e.invertBatch(h.map(y=>y.pz));return h.map((y,E)=>y.toAffine(m[E])).map(d.fromAffine)}static fromHex(h){let m=d.fromAffine(i(wt("pointHex",h)));return m.assertValidity(),m}static fromPrivateKey(h){return d.BASE.multiply(a(h))}static msm(h,m){return Fs(d,n,h,m)}_setWindowSize(h){w.setWindowSize(this,h)}assertValidity(){u(this)}hasEvenY(){let{y:h}=this.toAffine();if(e.isOdd)return!e.isOdd(h);throw new Error("Field doesn't support isOdd")}equals(h){f(h);let{px:m,py:y,pz:E}=this,{px:A,py:P,pz:B}=h,v=e.eql(e.mul(m,B),e.mul(A,E)),L=e.eql(e.mul(y,B),e.mul(P,E));return v&&L}negate(){return new d(this.px,e.neg(this.py),this.pz)}double(){let{a:h,b:m}=t,y=e.mul(m,Hs),{px:E,py:A,pz:P}=this,B=e.ZERO,v=e.ZERO,L=e.ZERO,C=e.mul(E,E),rt=e.mul(A,A),K=e.mul(P,P),R=e.mul(E,A);return R=e.add(R,R),L=e.mul(E,P),L=e.add(L,L),B=e.mul(h,L),v=e.mul(y,K),v=e.add(B,v),B=e.sub(rt,v),v=e.add(rt,v),v=e.mul(B,v),B=e.mul(R,B),L=e.mul(y,L),K=e.mul(h,K),R=e.sub(C,K),R=e.mul(h,R),R=e.add(R,L),L=e.add(C,C),C=e.add(L,C),C=e.add(C,K),C=e.mul(C,R),v=e.add(v,C),K=e.mul(A,P),K=e.add(K,K),C=e.mul(K,R),B=e.sub(B,C),L=e.mul(K,rt),L=e.add(L,L),L=e.add(L,L),new d(B,v,L)}add(h){f(h);let{px:m,py:y,pz:E}=this,{px:A,py:P,pz:B}=h,v=e.ZERO,L=e.ZERO,C=e.ZERO,rt=t.a,K=e.mul(t.b,Hs),R=e.mul(m,A),pt=e.mul(y,P),x=e.mul(E,B),I=e.add(m,y),S=e.add(A,P);I=e.mul(I,S),S=e.add(R,pt),I=e.sub(I,S),S=e.add(m,E);let k=e.add(A,B);return S=e.mul(S,k),k=e.add(R,x),S=e.sub(S,k),k=e.add(y,E),v=e.add(P,B),k=e.mul(k,v),v=e.add(pt,x),k=e.sub(k,v),C=e.mul(rt,S),v=e.mul(K,x),C=e.add(v,C),v=e.sub(pt,C),C=e.add(pt,C),L=e.mul(v,C),pt=e.add(R,R),pt=e.add(pt,R),x=e.mul(rt,x),S=e.mul(K,S),pt=e.add(pt,x),x=e.sub(R,x),x=e.mul(rt,x),S=e.add(S,x),R=e.mul(pt,S),L=e.add(L,R),R=e.mul(k,S),v=e.mul(I,v),v=e.sub(v,R),R=e.mul(I,pt),C=e.mul(k,C),C=e.add(C,R),new d(v,L,C)}subtract(h){return this.add(h.negate())}is0(){return this.equals(d.ZERO)}wNAF(h){return w.wNAFCached(this,h,d.normalizeZ)}multiplyUnsafe(h){let{endo:m,n:y}=t;ne("scalar",h,$t,y);let E=d.ZERO;if(h===$t)return E;if(this.is0()||h===tt)return this;if(!m||w.hasPrecomputes(this))return w.wNAFCachedUnsafe(this,h,d.normalizeZ);let{k1neg:A,k1:P,k2neg:B,k2:v}=m.splitScalar(h),L=E,C=E,rt=this;for(;P>$t||v>$t;)P&tt&&(L=L.add(rt)),v&tt&&(C=C.add(rt)),rt=rt.double(),P>>=tt,v>>=tt;return A&&(L=L.negate()),B&&(C=C.negate()),C=new d(e.mul(C.px,m.beta),C.py,C.pz),L.add(C)}multiply(h){let{endo:m,n:y}=t;ne("scalar",h,tt,y);let E,A;if(m){let{k1neg:P,k1:B,k2neg:v,k2:L}=m.splitScalar(h),{p:C,f:rt}=this.wNAF(B),{p:K,f:R}=this.wNAF(L);C=w.constTimeNegate(P,C),K=w.constTimeNegate(v,K),K=new d(e.mul(K.px,m.beta),K.py,K.pz),E=C.add(K),A=rt.add(R)}else{let{p:P,f:B}=this.wNAF(h);E=P,A=B}return d.normalizeZ([E,A])[0]}multiplyAndAddUnsafe(h,m,y){let E=d.BASE,A=(B,v)=>v===$t||v===tt||!B.equals(E)?B.multiplyUnsafe(v):B.multiply(v),P=A(this,m).add(A(h,y));return P.is0()?void 0:P}toAffine(h){return l(this,h)}isTorsionFree(){let{h,isTorsionFree:m}=t;if(h===tt)return!0;if(m)return m(d,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h,clearCofactor:m}=t;return h===tt?this:m?m(d,this):this.multiplyUnsafe(t.h)}toRawBytes(h=!0){return me("isCompressed",h),this.assertValidity(),o(d,this,h)}toHex(h=!0){return me("isCompressed",h),ge(this.toRawBytes(h))}}d.BASE=new d(t.Gx,t.Gy,e.ONE),d.ZERO=new d(e.ZERO,e.ONE,e.ZERO);let p=t.nBitLength,w=Ks(d,t.endo?Math.ceil(p/2):p);return{CURVE:t,ProjectivePoint:d,normPrivateKeyToScalar:a,weierstrassEquation:s,isWithinCurveOrder:c}}function Yu(r){let t=Wo(r);return oe(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function Gs(r){let t=Yu(r),{Fp:e,n}=t,o=e.BYTES+1,i=2*e.BYTES+1;function s(x){return ct(x,n)}function c(x){return on(x,n)}let{ProjectivePoint:a,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:u}=Wu({...t,toBytes(x,I,S){let k=I.toAffine(),U=e.toBytes(k.x),X=Ke;return me("isCompressed",S),S?X(Uint8Array.from([I.hasEvenY()?2:3]),U):X(Uint8Array.from([4]),U,e.toBytes(k.y))},fromBytes(x){let I=x.length,S=x[0],k=x.subarray(1);if(I===o&&(S===2||S===3)){let U=Gt(k);if(!ir(U,tt,e.ORDER))throw new Error("Point is not on curve");let X=l(U),ut;try{ut=e.sqrt(X)}catch(Tt){let lt=Tt instanceof Error?": "+Tt.message:"";throw new Error("Point is not on curve"+lt)}let at=(ut&tt)===tt;return(S&1)===1!==at&&(ut=e.neg(ut)),{x:U,y:ut}}else if(I===i&&S===4){let U=e.fromBytes(k.subarray(0,e.BYTES)),X=e.fromBytes(k.subarray(e.BYTES,2*e.BYTES));return{x:U,y:X}}else{let U=o,X=i;throw new Error("invalid Point, expected length of "+U+", or uncompressed "+X+", got "+I)}}}),d=x=>ge(re(x,t.nByteLength));function p(x){let I=n>>tt;return x>I}function w(x){return p(x)?s(-x):x}let g=(x,I,S)=>Gt(x.slice(I,S));class h{constructor(I,S,k){this.r=I,this.s=S,this.recovery=k,this.assertValidity()}static fromCompact(I){let S=t.nByteLength;return I=wt("compactSignature",I,S*2),new h(g(I,0,S),g(I,S,2*S))}static fromDER(I){let{r:S,s:k}=zt.toSig(wt("DER",I));return new h(S,k)}assertValidity(){ne("r",this.r,tt,n),ne("s",this.s,tt,n)}addRecoveryBit(I){return new h(this.r,this.s,I)}recoverPublicKey(I){let{r:S,s:k,recovery:U}=this,X=B(wt("msgHash",I));if(U==null||![0,1,2,3].includes(U))throw new Error("recovery id invalid");let ut=U===2||U===3?S+t.n:S;if(ut>=e.ORDER)throw new Error("recovery id 2 or 3 invalid");let at=(U&1)===0?"02":"03",Ut=a.fromHex(at+d(ut)),Tt=c(ut),lt=s(-X*Tt),Ie=s(k*Tt),Wt=a.BASE.multiplyAndAddUnsafe(Ut,lt,Ie);if(!Wt)throw new Error("point at infinify");return Wt.assertValidity(),Wt}hasHighS(){return p(this.s)}normalizeS(){return this.hasHighS()?new h(this.r,s(-this.s),this.recovery):this}toDERRawBytes(){return we(this.toDERHex())}toDERHex(){return zt.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return we(this.toCompactHex())}toCompactHex(){return d(this.r)+d(this.s)}}let m={isValidPrivateKey(x){try{return f(x),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let x=Ho(t.n);return Ds(t.randomBytes(x),t.n)},precompute(x=8,I=a.BASE){return I._setWindowSize(x),I.multiply(BigInt(3)),I}};function y(x,I=!0){return a.fromPrivateKey(x).toRawBytes(I)}function E(x){let I=ee(x),S=typeof x=="string",k=(I||S)&&x.length;return I?k===o||k===i:S?k===2*o||k===2*i:x instanceof a}function A(x,I,S=!0){if(E(x))throw new Error("first arg must be private key");if(!E(I))throw new Error("second arg must be public key");return a.fromHex(I).multiply(f(x)).toRawBytes(S)}let P=t.bits2int||function(x){if(x.length>8192)throw new Error("input is too large");let I=Gt(x),S=x.length*8-t.nBitLength;return S>0?I>>BigInt(S):I},B=t.bits2int_modN||function(x){return s(P(x))},v=sr(t.nBitLength);function L(x){return ne("num < 2^"+t.nBitLength,x,$t,v),re(x,t.nByteLength)}function C(x,I,S=rt){if(["recovered","canonical"].some(ce=>ce in S))throw new Error("sign() legacy options not supported");let{hash:k,randomBytes:U}=t,{lowS:X,prehash:ut,extraEntropy:at}=S;X==null&&(X=!0),x=wt("msgHash",x),Vs(S),ut&&(x=wt("prehashed msgHash",k(x)));let Ut=B(x),Tt=f(I),lt=[L(Tt),L(Ut)];if(at!=null&&at!==!1){let ce=at===!0?U(e.BYTES):at;lt.push(wt("extraEntropy",ce))}let Ie=Ke(...lt),Wt=Ut;function Pn(ce){let Se=P(ce);if(!u(Se))return;let kn=c(Se),Ge=a.BASE.multiply(Se).toAffine(),ae=s(Ge.x);if(ae===$t)return;let ze=s(kn*s(Wt+ae*Tt));if(ze===$t)return;let Ae=(Ge.x===ae?0:2)|Number(Ge.y&tt),Si=ze;return X&&p(ze)&&(Si=w(ze),Ae^=1),new h(ae,Si,Ae)}return{seed:Ie,k2sig:Pn}}let rt={lowS:t.lowS,prehash:!1},K={lowS:t.lowS,prehash:!1};function R(x,I,S=rt){let{seed:k,k2sig:U}=C(x,I,S),X=t;return Mo(X.hash.outputLen,X.nByteLength,X.hmac)(k,U)}a.BASE._setWindowSize(8);function pt(x,I,S,k=K){let U=x;I=wt("msgHash",I),S=wt("publicKey",S);let{lowS:X,prehash:ut,format:at}=k;if(Vs(k),"strict"in k)throw new Error("options.strict was renamed to lowS");if(at!==void 0&&at!=="compact"&&at!=="der")throw new Error("format must be compact or der");let Ut=typeof U=="string"||ee(U),Tt=!Ut&&!at&&typeof U=="object"&&U!==null&&typeof U.r=="bigint"&&typeof U.s=="bigint";if(!Ut&&!Tt)throw new Error("invalid signature, expected Uint8Array, hex string or Signature instance");let lt,Ie;try{if(Tt&&(lt=new h(U.r,U.s)),Ut){try{at!=="compact"&&(lt=h.fromDER(U))}catch(Ae){if(!(Ae instanceof zt.Err))throw Ae}!lt&&at!=="der"&&(lt=h.fromCompact(U))}Ie=a.fromHex(S)}catch{return!1}if(!lt||X&&lt.hasHighS())return!1;ut&&(I=t.hash(I));let{r:Wt,s:Pn}=lt,ce=B(I),Se=c(Pn),kn=s(ce*Se),Ge=s(Wt*Se),ae=a.BASE.multiplyAndAddUnsafe(Ie,kn,Ge)?.toAffine();return ae?s(ae.x)===Wt:!1}return{CURVE:t,getPublicKey:y,getSharedSecret:A,sign:R,verify:pt,ProjectivePoint:a,Signature:h,utils:m}}function Zu(r){return{hash:r,hmac:(t,...e)=>No(r,t,Ss(...e)),randomBytes:Ts}}function zs(r,t){let e=n=>Gs({...r,...Zu(n)});return{...e(t),create:e}}var Ws=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),$s=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Xu=BigInt(1),Zo=BigInt(2),qs=(r,t)=>(r+t/Zo)/t;function Qu(r){let t=Ws,e=BigInt(3),n=BigInt(6),o=BigInt(11),i=BigInt(22),s=BigInt(23),c=BigInt(44),a=BigInt(88),f=r*r*r%t,l=f*f*r%t,u=bt(l,e,t)*l%t,d=bt(u,e,t)*l%t,p=bt(d,Zo,t)*f%t,w=bt(p,o,t)*p%t,g=bt(w,i,t)*w%t,h=bt(g,c,t)*g%t,m=bt(h,a,t)*h%t,y=bt(m,c,t)*g%t,E=bt(y,e,t)*l%t,A=bt(E,s,t)*w%t,P=bt(A,n,t)*f%t,B=bt(P,Zo,t);if(!Xo.eql(Xo.sqr(B),r))throw new Error("Cannot find square root");return B}var Xo=sn(Ws,void 0,void 0,{sqrt:Qu}),Fe=zs({a:BigInt(0),b:BigInt(7),Fp:Xo,n:$s,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:r=>{let t=$s,e=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Xu*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),o=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),i=e,s=BigInt("0x100000000000000000000000000000000"),c=qs(i*r,t),a=qs(-n*r,t),f=ct(r-c*e-a*o,t),l=ct(-c*n-a*i,t),u=f>s,d=l>s;if(u&&(f=t-f),d&&(l=t-l),f>s||l>s)throw new Error("splitScalar: Endomorphism failed, k="+r);return{k1neg:u,k1:f,k2neg:d,k2:l}}}},Cs),_p=BigInt(0);var Kp=Fe.ProjectivePoint;var Ys=mt(Q("node:crypto"),1);var an=class extends Error{constructor(t="An error occurred while verifying a message"){super(t),this.name="VerificationError"}};function Zs(r,t,e){let n=Ys.default.createHash("sha256");if(e instanceof Uint8Array)n.update(e);else for(let i of e)n.update(i);let o=n.digest();try{return Fe.verify(t,o,r)}catch(i){throw new an(String(i))}}var un=class{type="secp256k1";raw;_key;constructor(t){this._key=Qs(t),this.raw=Xs(this._key)}toMultihash(){return Mt.digest(Zr(this))}toCID(){return j.createV1(114,this.toMultihash())}toString(){return V.encode(this.toMultihash().bytes).substring(1)}equals(t){return t==null||!(t.raw instanceof Uint8Array)?!1:kt(this.raw,t.raw)}verify(t,e){return Zs(this._key,e,t)}};function Js(r){return new un(r)}function Xs(r){return Fe.ProjectivePoint.fromHex(r).toRawBytes(!0)}function Qs(r){try{return Fe.ProjectivePoint.fromHex(r),r}catch(t){throw new Vr(String(t))}}function js(r){let{Type:t,Data:e}=nr.decode(r.digest),n=e??new Uint8Array;switch(t){case St.Ed25519:return xs(n);case St.secp256k1:return Js(n);default:throw new er}}function Zr(r){return nr.encode({Type:St[r.type],Data:r.raw})}var tc=Symbol.for("nodejs.util.inspect.custom"),Ju=114,cr=class{type;multihash;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Kr]=!0;toString(){return this.string==null&&(this.string=V.encode(this.multihash.bytes).slice(1)),this.string}toMultihash(){return this.multihash}toCID(){return j.createV1(Ju,this.multihash)}toJSON(){return this.toString()}equals(t){if(t==null)return!1;if(t instanceof Uint8Array)return kt(this.multihash.bytes,t);if(typeof t=="string")return this.toString()===t;if(t?.toMultihash()?.bytes!=null)return kt(this.multihash.bytes,t.toMultihash().bytes);throw new Error("not valid Id")}[tc](){return`PeerId(${this.toString()})`}},ln=class extends cr{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},fn=class extends cr{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.publicKey}},dn=class extends cr{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.publicKey}},ju=2336,hn=class{type="url";multihash;publicKey;url;constructor(t){this.url=t.toString(),this.multihash=Mt.digest(_t(this.url))}[tc](){return`PeerId(${this.url})`}[Kr]=!0;toString(){return this.toCID().toString()}toMultihash(){return this.multihash}toCID(){return j.createV1(ju,this.toMultihash())}toJSON(){return this.toString()}equals(t){return t==null?!1:(t instanceof Uint8Array&&(t=Y(t)),t.toString()===this.toString())}};function qt(r){if(el(r))return new ln({multihash:r});if(tl(r))try{let t=js(r);if(t.type==="Ed25519")return new fn({multihash:r,publicKey:t});if(t.type==="secp256k1")return new dn({multihash:r,publicKey:t})}catch{let e=Y(r.digest);return new hn(new URL(e))}throw new Hr("Supplied PeerID Multihash is invalid")}function tl(r){return r.code===Mt.code}function el(r){return r.code===fo.code}var Lc=mt(Q("net"),1);var pn=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,n=t();return n===void 0&&(this.index=e),n}parseWith(t){let e=t();if(this.index===this.input.length)return e}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let e=this.readChar();if(e===t)return e})}readSeparator(t,e,n){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,e,n,o){return this.readAtomically(()=>{let i=0,s=0,c=this.peekChar();if(c===void 0)return;let a=c==="0",f=2**(8*o)-1;for(;;){let l=this.readAtomically(()=>{let u=this.readChar();if(u===void 0)return;let d=Number.parseInt(u,t);if(!Number.isNaN(d))return d});if(l===void 0)break;if(i*=t,i+=l,i>f||(s+=1,e!==void 0&&s>e))return}if(s!==0)return!n&&a&&s>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let n=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;n<e.length/2;n++){let o=n*2;if(n<e.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return e[o]=s[0],e[o+1]=s[1],e[o+2]=s[2],e[o+3]=s[3],[o+4,!0]}let i=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[o,!1];e[o]=i>>8,e[o+1]=i&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,o]=t(e);if(n===16)return e;if(o||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),s=16-(n+2),[c]=t(i.subarray(0,s));return e.set(i.subarray(0,c),16-c),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var _m=new pn;var qm=parseInt("0xFFFF",16),Wm=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var At=Q("node:net");function mn(r){return!!(0,At.isIP)(r)}var nc=At.isIPv4,cl=At.isIPv6,Qo=function(r){let t=0;if(r=r.toString().trim(),nc(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(cl(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let i=nc(e[n]),s;i&&(s=Qo(e[n]),e[n]=Y(s.slice(0,2),"base16")),s!=null&&++n<8&&e.splice(n,0,Y(s.slice(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(n=0;n<e.length&&e[n]!=="";n++);let i=[n,1];for(n=9-e.length;n>0;n--)i.push("0");e.splice.apply(e,i)}let o=new Uint8Array(t+16);for(n=0;n<e.length;n++){let i=parseInt(e[n],16);o[t++]=i>>8&255,o[t++]=i&255}return o}throw new Error("invalid ip address")},oc=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let o=[];for(let i=0;i<e;i++)o.push(r[t+i]);return o.join(".")}if(e===16){let o=[];for(let i=0;i<e;i+=2)o.push(n.getUint16(t+i).toString(16));return o.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Ve={},Jo={},ul=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[481,-1,"http-path"],[777,-1,"memory"]];ul.forEach(r=>{let t=ll(...r);Jo[t.code]=t,Ve[t.name]=t});function ll(r,t,e,n,o){return{code:r,size:t,name:e,resolvable:!!n,path:!!o}}function _(r){if(typeof r=="number"){if(Jo[r]!=null)return Jo[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(Ve[r]!=null)return Ve[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var kg=_("ip4"),Ng=_("ip6"),Og=_("ipcidr");function ri(r,t){switch(_(r).code){case 4:case 41:return dl(t);case 42:return ei(t);case 43:return Y(t,"base10");case 6:case 273:case 33:case 132:return cc(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return ei(t);case 421:return gl(t);case 444:return sc(t);case 445:return sc(t);case 466:return ml(t);case 481:return globalThis.encodeURIComponent(ei(t));default:return Y(t,"base16")}}function ni(r,t){switch(_(r).code){case 4:return ic(t);case 41:return ic(t);case 42:return ti(t);case 43:return _t(t,"base10");case 6:case 273:case 33:case 132:return oi(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return ti(t);case 421:return hl(t);case 444:return yl(t);case 445:return wl(t);case 466:return pl(t);case 481:return ti(globalThis.decodeURIComponent(t));default:return _t(t,"base16")}}var jo=Object.values(Ze).map(r=>r.decoder),fl=function(){let r=jo[0].or(jo[1]);return jo.slice(2).forEach(t=>r=r.or(t)),r}();function ic(r){if(!mn(r))throw new Error("invalid ip address");return Qo(r)}function dl(r){let t=oc(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!mn(t))throw new Error("invalid ip address");return t}function oi(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function cc(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function ti(r){let t=_t(r),e=Uint8Array.from(Yt(t.length));return yt([e,t],e.length+t.length)}function ei(r){let t=Rt(r);if(r=r.slice(it(t)),r.length!==t)throw new Error("inconsistent lengths");return Y(r)}function hl(r){let t;r[0]==="Q"||r[0]==="1"?t=dt(V.decode(`z${r}`)).bytes:t=j.parse(r).multihash.bytes;let e=Uint8Array.from(Yt(t.length));return yt([e,t],e.length+t.length)}function pl(r){let t=fl.decode(r),e=Uint8Array.from(Yt(t.length));return yt([e,t],e.length+t.length)}function ml(r){let t=Rt(r),e=r.slice(it(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+Y(e,"base64url")}function gl(r){let t=Rt(r),e=r.slice(it(t));if(e.length!==t)throw new Error("inconsistent lengths");return Y(e,"base58btc")}function yl(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=Bt.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=oi(n);return yt([e,o],e.length+o.length)}function wl(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=Bt.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let o=oi(n);return yt([e,o],e.length+o.length)}function sc(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=Y(t,"base32"),o=cc(e);return`${n}:${o}`}function ac(r){r=ii(r);let t=[],e=[],n=null,o=r.split("/").slice(1);if(o.length===1&&o[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let i=0;i<o.length;i++){let s=o[i],c=_(s);if(c.size===0){t.push([c.code]),e.push([c.code]);continue}if(i++,i>=o.length)throw new gn("invalid address: "+r);if(c.path===!0){n=ii(o.slice(i).join("/")),t.push([c.code,ni(c.code,n)]),e.push([c.code,n]);break}let a=ni(c.code,o[i]);t.push([c.code,a]),e.push([c.code,ri(c.code,a)])}return{string:uc(e),bytes:yn(t),tuples:t,stringTuples:e,path:n}}function si(r){let t=[],e=[],n=null,o=0;for(;o<r.length;){let i=Rt(r,o),s=it(i),c=_(i),a=bl(c,r.slice(o+s));if(a===0){t.push([i]),e.push([i]),o+=s;continue}let f=r.slice(o+s,o+s+a);if(o+=a+s,o>r.length)throw new gn("Invalid address Uint8Array: "+Y(r,"base16"));t.push([i,f]);let l=ri(i,f);if(e.push([i,l]),c.path===!0){n=l;break}}return{bytes:Uint8Array.from(r),string:uc(e),tuples:t,stringTuples:e,path:n}}function uc(r){let t=[];return r.map(e=>{let n=_(e[0]);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),ii(t.join("/"))}function yn(r){return yt(r.map(t=>{let e=_(t[0]),n=Uint8Array.from(Yt(e.code));return t.length>1&&t[1]!=null&&(n=yt([n,t[1]])),n}))}function bl(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=Rt(t instanceof Uint8Array?t:Uint8Array.from(t));return e+it(e)}}function ii(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}var gn=class extends Error{static name="ParseError";name="ParseError";constructor(t){super(`Error parsing address: ${t}`)}};var xl=Symbol.for("nodejs.util.inspect.custom"),ai=Symbol.for("@multiformats/js-multiaddr/multiaddr"),El=[_("dns").code,_("dns4").code,_("dns6").code,_("dnsaddr").code],ci=class extends Error{constructor(t="No available resolver"){super(t),this.name="NoAvailableResolverError"}},wn=class r{bytes;#t;#e;#r;#n;[ai]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=si(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=ac(t)}else if(bn(t))e=si(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=e.bytes,this.#t=e.string,this.#e=e.tuples,this.#r=e.stringTuples,this.#n=e.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,e,n,o,i="",s=_("tcp"),c=_("udp"),a=_("ip4"),f=_("ip6"),l=_("dns6"),u=_("ip6zone");for(let[p,w]of this.stringTuples())p===u.code&&(i=`%${w??""}`),El.includes(p)&&(e=s.name==="tcp"?"tcp":"udp",o=443,n=`${w??""}${i}`,t=p===l.code?6:4),(p===s.code||p===c.code)&&(e=_(p).name==="tcp"?"tcp":"udp",o=parseInt(w??"")),(p===a.code||p===f.code)&&(e=_(p).name==="tcp"?"tcp":"udp",n=`${w??""}${i}`,t=p===f.code?6:4);if(t==null||e==null||n==null||o==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:e,port:o}}protos(){return this.#e.map(([t])=>Object.assign({},_(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>_(t).name)}tuples(){return this.#e.map(([t,e])=>e==null?[t]:[t,e])}stringTuples(){return this.#r.map(([t,e])=>e==null?[t]:[t,e])}encapsulate(t){return t=new r(t),new r(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),n=this.toString(),o=n.lastIndexOf(e);if(o<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(n.slice(0,o))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new r(yn(e.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,o])=>{n===Ve.p2p.code&&t.push([n,o]),n===Ve["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?Y(V.decode(`z${n}`),"base58btc"):Y(j.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return kt(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(i=>i.resolvable);if(e==null)return[this];let n=lc.get(e.name);if(n==null)throw new ci(`no available resolver for ${e.name}`);return(await n(this,t)).map(i=>nt(i))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let e=(t??this).protos();return!(e.length!==2||e[0].code!==4&&e[0].code!==41||e[1].code!==6&&e[1].code!==273)}[xl](){return`Multiaddr(${this.#t})`}};var lc=new Map;function bn(r){return!!r?.[ai]}function nt(r){return new wn(r)}var vl=b("dns4"),Il=b("dns6"),Sl=b("dnsaddr"),Ee=Z(b("dns"),Sl,vl,Il),vn=Z(b("ip4"),b("ip6")),se=Z(T(vn,b("tcp")),T(Ee,b("tcp"))),In=T(vn,b("udp")),Al=T(In,b("utp")),Tl=T(In,b("quic")),Ll=T(In,b("quic-v1")),ui=Z(T(se,b("ws")),T(Ee,b("ws"))),xn=Z(T(ui,b("p2p")),ui),li=Z(T(se,b("wss")),T(Ee,b("wss")),T(se,b("tls"),b("ws")),T(Ee,b("tls"),b("ws"))),En=Z(T(li,b("p2p")),li),fi=Z(T(se,b("http")),T(vn,b("http")),T(Ee,b("http"))),di=Z(T(se,b("https")),T(vn,b("https")),T(Ee,b("https"))),fc=T(In,b("webrtc-direct"),b("certhash")),pc=Z(T(fc,b("p2p")),fc),dc=T(Ll,b("webtransport"),b("certhash"),b("certhash")),mc=Z(T(dc,b("p2p")),dc),gc=Z(T(xn,b("p2p-webrtc-star"),b("p2p")),T(En,b("p2p-webrtc-star"),b("p2p")),T(xn,b("p2p-webrtc-star")),T(En,b("p2p-webrtc-star"))),sy=Z(T(xn,b("p2p-websocket-star"),b("p2p")),T(En,b("p2p-websocket-star"),b("p2p")),T(xn,b("p2p-websocket-star")),T(En,b("p2p-websocket-star"))),yc=Z(T(fi,b("p2p-webrtc-direct"),b("p2p")),T(di,b("p2p-webrtc-direct"),b("p2p")),T(fi,b("p2p-webrtc-direct")),T(di,b("p2p-webrtc-direct"))),ve=Z(ui,li,fi,di,gc,yc,se,Al,Tl,Ee,pc,mc),cy=Z(T(ve,b("p2p-stardust"),b("p2p")),T(ve,b("p2p-stardust"))),ie=Z(T(ve,b("p2p")),gc,yc,pc,mc,b("p2p")),hc=Z(T(ie,b("p2p-circuit"),ie),T(ie,b("p2p-circuit")),T(b("p2p-circuit"),ie),T(ve,b("p2p-circuit")),T(b("p2p-circuit"),ve),b("p2p-circuit")),wc=()=>Z(T(hc,wc),hc),xe=wc(),ay=Z(T(xe,ie,xe),T(ie,xe),T(xe,ie),xe,ie);var uy=Z(T(xe,b("webrtc"),b("p2p")),T(xe,b("webrtc")),T(ve,b("webrtc"),b("p2p")),T(ve,b("webrtc")),b("webrtc"));function bc(r){function t(e){let n;try{n=nt(e)}catch{return!1}let o=r(n.protoNames());return o===null?!1:o===!0||o===!1?o:o.length===0}return t}function T(...r){function t(e){if(e.length<r.length)return null;let n=e;return r.some(o=>(n=typeof o=="function"?o().partialMatch(e):o.partialMatch(e),Array.isArray(n)&&(e=n),n===null)),n}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:bc(t),partialMatch:t}}function Z(...r){function t(n){let o=null;return r.some(i=>{let s=typeof i=="function"?i().partialMatch(n):i.partialMatch(n);return s!=null?(o=s,!0):!1}),o}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:bc(t),partialMatch:t}}function b(r){let t=r;function e(o){let i;try{i=nt(o)}catch{return!1}let s=i.protoNames();return s.length===1&&s[0]===t}function n(o){return o.length===0?null:o[0]===t?o.slice(1):null}return{toString:function(){return t},matches:e,partialMatch:n}}var Sn=class extends Event{type;detail;constructor(t,e){super(t),this.type=t,this.detail=e}};var Tc=mt(Q("net"),1);var hi=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},pi=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},xc=r=>globalThis.DOMException===void 0?new pi(r):new DOMException(r),Ec=r=>{let t=r.reason===void 0?xc("This operation was aborted."):r.reason;return t instanceof Error?t:xc(t)};function mi(r,t){let{milliseconds:e,fallback:n,message:o,customTimers:i={setTimeout,clearTimeout}}=t,s,c,f=new Promise((l,u)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(t.signal){let{signal:p}=t;p.aborted&&u(Ec(p)),c=()=>{u(Ec(p))},p.addEventListener("abort",c,{once:!0})}if(e===Number.POSITIVE_INFINITY){r.then(l,u);return}let d=new hi;s=i.setTimeout.call(void 0,()=>{if(n){try{l(n())}catch(p){u(p)}return}typeof r.cancel=="function"&&r.cancel(),o===!1?l():o instanceof Error?u(o):(d.message=o??`Promise timed out after ${e} milliseconds`,u(d))},e),(async()=>{try{l(await r)}catch(p){u(p)}})()}).finally(()=>{f.clear(),c&&t.signal&&t.signal.removeEventListener("abort",c)});return f.clear=()=>{i.clearTimeout.call(void 0,s),s=void 0},f}var Cl=r=>{let t=r.addEventListener||r.on||r.addListener,e=r.removeEventListener||r.off||r.removeListener;if(!t||!e)throw new TypeError("Emitter is not compatible");return{addListener:t.bind(r),removeListener:e.bind(r)}};function Pl(r,t,e){let n,o=new Promise((i,s)=>{if(e={rejectionEvents:["error"],multiArgs:!1,resolveImmediately:!1,...e},!(e.count>=0&&(e.count===Number.POSITIVE_INFINITY||Number.isInteger(e.count))))throw new TypeError("The `count` option should be at least 0 or more");e.signal?.throwIfAborted();let c=[t].flat(),a=[],{addListener:f,removeListener:l}=Cl(r),u=(...p)=>{let w=e.multiArgs?p:p[0];e.filter&&!e.filter(w)||(a.push(w),e.count===a.length&&(n(),i(a)))},d=p=>{n(),s(p)};n=()=>{for(let p of c)l(p,u);for(let p of e.rejectionEvents)l(p,d)};for(let p of c)f(p,u);for(let p of e.rejectionEvents)f(p,d);e.signal&&e.signal.addEventListener("abort",()=>{d(e.signal.reason)},{once:!0}),e.resolveImmediately&&i(a)});if(o.cancel=n,typeof e.timeout=="number"){let i=mi(o,{milliseconds:e.timeout});return i.cancel=n,i}return o}function gi(r,t,e){typeof e=="function"&&(e={filter:e}),e={...e,count:1,resolveImmediately:!1};let n=Pl(r,t,e),o=n.then(i=>i[0]);return o.cancel=n.cancel,o}function vc(r,t){if(typeof r!="string")throw new O(`invalid ip provided: ${r}`);if(typeof t=="string"&&(t=parseInt(t)),isNaN(t))throw new O(`invalid port provided: ${t}`);if((0,At.isIPv4)(r))return nt(`/ip4/${r}/tcp/${t}`);if((0,At.isIPv6)(r))return nt(`/ip6/${r}/tcp/${t}`);throw new O(`invalid ip:port for creating a multiaddr: ${r}:${t}`)}var yi=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=e??"ABORT_ERR"}};async function wi(r,t,e,n){let o=new yi(n?.errorMessage,n?.errorCode);return e?.aborted===!0?Promise.reject(o):new Promise((i,s)=>{function c(){e?.removeEventListener("abort",l),r.removeEventListener(t,a),n?.errorEvent!=null&&r.removeEventListener(n.errorEvent,f)}let a=u=>{try{if(n?.filter?.(u)===!1)return}catch(d){c(),s(d);return}c(),i(u)},f=u=>{c(),s(u.detail)},l=()=>{c(),s(o)};e?.addEventListener("abort",l),r.addEventListener(t,a),n?.errorEvent!=null&&r.addEventListener(n.errorEvent,f)})}function Ic(r){if(Nl(r))return async function*(){let t=r.getReader();try{for(;;){let{done:e,value:n}=await t.read();if(e)return;yield n}}finally{t.releaseLock()}}();if(kl(r))return r;throw new Error("unknown stream")}function kl(r){return r[Symbol.asyncIterator]!=null}function Nl(r){return typeof r?.getReader=="function"}function Sc(r){return async t=>{let e=async()=>{Ol(t)&&await t.return(void 0)},n,o,i=m=>{n=m,e().catch(y=>{y=new AggregateError([n,y],"The Writable emitted an error, additionally an error occurred while ending the Source")}).finally(()=>{o?.(m)})},s,c=!1,a=()=>{c=!0,s?.()},f,l=!1,u=()=>{l=!0,f?.()},d,p=()=>{d?.()},w=async()=>new Promise((m,y)=>{s=d=m,o=y,r.once("drain",p)}),g=async()=>(await e(),new Promise((m,y)=>{if(c||l||n!=null){m();return}f=s=m,o=y})),h=()=>{r.removeListener("error",i),r.removeListener("close",a),r.removeListener("finish",u),r.removeListener("drain",p)};r.once("error",i),r.once("close",a),r.once("finish",u);try{for await(let m of t){if(!r.writable||r.destroyed||n!=null)break;r.write(m)||await w()}}catch(m){n==null&&r.destroy(m),n=m}try{if(r.writable&&r.end(),await g(),n!=null)throw n}finally{h()}}}function Ol(r){return r.return!=null}function bi(r){return{sink:Sc(r),source:Ic(r)}}var xi=mt(Q("os"),1),Ac=mt(Q("path"),1);var Ul={ip4:"IPv4",ip6:"IPv6"};function He(r,t={}){let e=r.getPath();return e!=null?xi.default.platform()==="win32"?{path:Ac.default.join("\\\\.\\pipe\\",e)}:{path:e}:{...t,...r.toOptions()}}function Ei(r,t,e){let n=o=>nt(`/${r}/${o}/tcp/${e}`);return(Dl(t)?Ml(Ul[r]):[t]).map(n)}function Dl(r){return["0.0.0.0","::"].includes(r)}var Rl=xi.default.networkInterfaces();function Ml(r){let t=[];for(let[,e]of Object.entries(Rl))if(e!=null)for(let n of e)n.family===r&&t.push(n.address);return t}var An=(r,t)=>{let e,n=t.logger.forComponent("libp2p:tcp:socket"),o=t.direction,i=t.metrics,s=t.metricPrefix??"",c=t.socketInactivityTimeout??12e4,a=t.socketCloseTimeout??500,f=!1,l=!1;t.listeningAddr?.getPath()!=null&&(t.remoteAddr=t.listeningAddr),t.remoteAddr?.getPath()!=null&&(t.localAddr=t.remoteAddr),r.on("error",m=>{l=!0,f||(n.error("%s socket error - %e",o,m),i?.increment({[`${s}error`]:!0})),r.destroy(),h.timeline.close=Date.now()});let u;if(t.remoteAddr!=null)u=t.remoteAddr;else{if(r.remoteAddress==null||r.remotePort==null)throw new O("Could not determine remote address or port");u=vc(r.remoteAddress,r.remotePort)}let d=He(u),p=d.path??`${d.host??""}:${d.port??""}`,{sink:w,source:g}=bi(r);r.setTimeout(c),r.once("timeout",()=>{f=!0,n("%s %s socket read timeout",o,p),i?.increment({[`${s}timeout`]:!0}),r.destroy(new Ue),h.timeline.close=Date.now()}),r.once("close",()=>{!f&&!l&&(n("%s %s socket close",o,p),i?.increment({[`${s}close`]:!0})),r.destroy(),h.timeline.close=Date.now()}),r.once("end",()=>{n("%s %s socket end",o,p),i?.increment({[`${s}end`]:!0})});let h={async sink(m){try{await w(async function*(){for await(let y of m)y instanceof Uint8Array?yield y:yield y.subarray()}())}catch(y){y.type!=="aborted"&&n.error("%s %s error in sink - %e",o,p,y)}r.end()},source:g,remoteAddr:u,timeline:{open:Date.now()},async close(m={}){if(r.closed){n("the %s %s socket is already closed",o,p);return}if(r.destroyed){n("the %s %s socket is already destroyed",o,p);return}if(e!=null)return e.promise;try{e=Jt(),r.end();let y=_l(r),E=m.signal??AbortSignal.timeout(a);r.writableLength>0&&(n("%s %s draining socket",o,p),await wi(y,"drain",E,{errorEvent:"error"}),n("%s %s socket drained",o,p)),await Promise.all([wi(y,"close",E,{errorEvent:"error"}),r.destroy()])}catch(y){this.abort(y)}finally{e.resolve()}},abort:m=>{n("%s %s socket abort due to error - %e",o,p,m),r.destroy(),h.timeline.close=Date.now()},log:n};return h};function _l(r){return{addEventListener:(e,n)=>{r.addListener(e,n)},removeEventListener:(e,n)=>{r.removeListener(e,n)}}}var et;(function(r){r[r.INACTIVE=0]="INACTIVE",r[r.ACTIVE=1]="ACTIVE",r[r.PAUSED=2]="PAUSED"})(et||(et={}));var Tn=class extends qr{context;server;sockets=new Set;status={code:et.INACTIVE};metrics;addr;log;shutdownController;constructor(t){if(super(),this.context=t,t.keepAlive=t.keepAlive??!0,t.noDelay=t.noDelay??!0,this.shutdownController=new AbortController,$r(1/0,this.shutdownController.signal),this.log=t.logger.forComponent("libp2p:tcp:listener"),this.addr="unknown",this.server=Tc.default.createServer(t,this.onSocket.bind(this)),t.maxConnections!==void 0&&(this.server.maxConnections=t.maxConnections),t.closeServerOnMaxConnections!=null&&t.closeServerOnMaxConnections.closeAbove<t.closeServerOnMaxConnections.listenBelow)throw new O("closeAbove must be >= listenBelow");this.server.on("listening",()=>{if(t.metrics!=null){let e=this.server.address();e==null?this.addr="unknown":typeof e=="string"?this.addr=e:this.addr=`${e.address}:${e.port}`,t.metrics?.registerMetricGroup("libp2p_tcp_inbound_connections_total",{label:"address",help:"Current active connections in TCP listener",calculate:()=>({[this.addr]:this.sockets.size})}),this.metrics={status:t.metrics.registerMetricGroup("libp2p_tcp_listener_status_info",{label:"address",help:"Current status of the TCP listener socket"}),errors:t.metrics.registerMetricGroup("libp2p_tcp_listener_errors_total",{label:"address",help:"Total count of TCP listener errors by type"}),events:t.metrics.registerMetricGroup("libp2p_tcp_listener_events_total",{label:"address",help:"Total count of TCP listener events by type"})},this.metrics?.status.update({[this.addr]:et.ACTIVE})}this.safeDispatchEvent("listening")}).on("error",e=>{this.metrics?.errors.increment({[`${this.addr} listen_error`]:!0}),this.safeDispatchEvent("error",{detail:e})}).on("close",()=>{this.metrics?.status.update({[this.addr]:this.status.code}),this.status.code!==et.PAUSED&&this.safeDispatchEvent("close")}).on("drop",()=>{this.metrics?.events.increment({[`${this.addr} drop`]:!0})})}onSocket(t){if(this.metrics?.events.increment({[`${this.addr} connection`]:!0}),this.status.code!==et.ACTIVE)throw t.destroy(),new Gr("Server is not listening yet");let e;try{e=An(t,{listeningAddr:this.status.listeningAddr,socketInactivityTimeout:this.context.socketInactivityTimeout,socketCloseTimeout:this.context.socketCloseTimeout,metrics:this.metrics?.events,metricPrefix:`${this.addr} `,logger:this.context.logger,direction:"inbound"})}catch(n){this.log.error("inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_to_connection`]:!0}),t.destroy();return}this.log("new inbound connection %s",e.remoteAddr),this.sockets.add(t),this.context.upgrader.upgradeInbound(e,{signal:this.shutdownController.signal}).then(()=>{this.log("inbound connection upgraded %s",e.remoteAddr),t.once("close",()=>{this.sockets.delete(t),this.context.closeServerOnMaxConnections!=null&&this.sockets.size<this.context.closeServerOnMaxConnections.listenBelow&&this.resume().catch(n=>{this.log.error("error attempting to listen server once connection count under limit",n),this.context.closeServerOnMaxConnections?.onListenError?.(n)})}),this.context.closeServerOnMaxConnections!=null&&this.sockets.size>=this.context.closeServerOnMaxConnections.closeAbove&&this.pause()}).catch(async n=>{this.log.error("inbound connection upgrade failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_upgrade`]:!0}),this.sockets.delete(t),e.abort(n)})}getAddrs(){if(this.status.code===et.INACTIVE)return[];let t=[],e=this.server.address(),{listeningAddr:n,peerId:o}=this.status;if(e==null)return[];if(typeof e=="string")t=[n];else try{n.toString().startsWith("/ip4")?t=t.concat(Ei("ip4",e.address,e.port)):e.family==="IPv6"&&(t=t.concat(Ei("ip6",e.address,e.port)))}catch(i){this.log.error("could not turn %s:%s into multiaddr",e.address,e.port,i)}return t.map(i=>o!=null?i.encapsulate(`/p2p/${o}`):i)}updateAnnounceAddrs(){}async listen(t){if(this.status.code===et.ACTIVE||this.status.code===et.PAUSED)throw new zr("server is already listening");let e=t.getPeerId(),n=e==null?t.decapsulateCode(421):t,{backlog:o}=this.context;try{this.status={code:et.ACTIVE,listeningAddr:n,peerId:e,netConfig:He(n,{backlog:o})},await this.resume()}catch(i){throw this.status={code:et.INACTIVE},i}}async close(){let t=[];this.server.listening&&t.push(gi(this.server,"close")),this.pause(!0),this.shutdownController.abort(),this.sockets.forEach(e=>{e.readable&&(t.push(gi(e,"close")),e.destroy())}),await Promise.all(t)}async resume(){if(this.server.listening||this.status.code===et.INACTIVE)return;let t=this.status.netConfig;await new Promise((e,n)=>{this.server.once("error",n),this.server.listen(t,e)}),this.status={...this.status,code:et.ACTIVE},this.log("listening on %s",this.server.address())}pause(t=!1){if(!this.server.listening&&this.status.code===et.PAUSED&&t){this.status={code:et.INACTIVE};return}!this.server.listening||this.status.code!==et.ACTIVE||(this.log("closing server on %s",this.server.address()),this.status=t?{code:et.INACTIVE}:{...this.status,code:et.PAUSED},this.server.close())}};var Ln=class{opts;metrics;components;log;constructor(t,e={}){this.log=t.logger.forComponent("libp2p:tcp"),this.opts=e,this.components=t,t.metrics!=null&&(this.metrics={events:t.metrics.registerCounterGroup("libp2p_tcp_dialer_events_total",{label:"event",help:"Total count of TCP dialer events by type"}),errors:t.metrics.registerCounterGroup("libp2p_tcp_dialer_errors_total",{label:"event",help:"Total count of TCP dialer events by type"})})}[ps]=!0;[Symbol.toStringTag]="@libp2p/tcp";[gs]=["@libp2p/transport"];async dial(t,e){e.keepAlive=e.keepAlive??!0,e.noDelay=e.noDelay??!0;let n=await this._connect(t,e),o;try{o=An(n,{remoteAddr:t,socketInactivityTimeout:this.opts.outboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.metrics?.events,logger:this.components.logger,direction:"outbound"})}catch(i){throw this.metrics?.errors.increment({outbound_to_connection:!0}),n.destroy(i),i}try{return this.log("new outbound connection %s",o.remoteAddr),await e.upgrader.upgradeOutbound(o,e)}catch(i){throw this.metrics?.errors.increment({outbound_upgrade:!0}),this.log.error("error upgrading outbound connection",i),o.abort(i),i}}async _connect(t,e){e.signal?.throwIfAborted(),e.onProgress?.(new Sn("tcp:open-connection"));let n;return new Promise((o,i)=>{let s=Date.now(),c=He(t,{...this.opts.dialOpts??{},...e});this.log("dialing %a",t),n=Lc.default.connect(c);let a=p=>{this.log.error("dial to %a errored - %e",t,p);let w=c.path??`${c.host??""}:${c.port}`;p.message=`connection error ${w}: ${p.message}`,this.metrics?.events.increment({error:!0}),d(p)},f=()=>{this.log("connection timeout %a",t),this.metrics?.events.increment({timeout:!0});let p=new Ue(`Connection timeout after ${Date.now()-s}ms`);n.emit("error",p)},l=()=>{this.log("connection opened %a",t),this.metrics?.events.increment({connect:!0}),d()},u=()=>{this.log("connection aborted %a",t),this.metrics?.events.increment({abort:!0}),d(new Fr)},d=p=>{if(n.removeListener("error",a),n.removeListener("timeout",f),n.removeListener("connect",l),e.signal!=null&&e.signal.removeEventListener("abort",u),p!=null){i(p);return}o(n)};n.on("error",a),n.on("timeout",f),n.on("connect",l),e.signal!=null&&e.signal.addEventListener("abort",u)}).catch(o=>{throw n?.destroy(),o})}createListener(t){return new Tn({...this.opts.listenOpts??{},...t,maxConnections:this.opts.maxConnections,backlog:this.opts.backlog,closeServerOnMaxConnections:this.opts.closeServerOnMaxConnections,socketInactivityTimeout:this.opts.inboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.components.metrics,logger:this.components.logger})}listenFilter(t){return t=Array.isArray(t)?t:[t],t.filter(e=>e.protoCodes().includes(290)?!1:e.protoCodes().includes(400)?!0:se.matches(e.decapsulateCode(421)))}dialFilter(t){return this.listenFilter(t)}};function Bc(r={}){return t=>new Ln(t,r)}function Cc(r,t){let e=Mr(r,t),n={read:async(o,i)=>{let s=await e.read(i);return o.decode(s)},write:async(o,i,s)=>{await e.write(i.encode(o),s)},writeV:async(o,i,s)=>{await e.writeV(o.map(c=>i.encode(c)),s)},pb:o=>({read:async i=>n.read(o,i),write:async(i,s)=>n.write(i,o,s),writeV:async(i,s)=>n.writeV(i,o,s),unwrap:()=>n}),unwrap:()=>e.unwrap()};return n}var Fl=he("libp2p:daemon-client:dht"),Bn=class{client;constructor(t){this.client=t}async put(t,e){if(!(t instanceof Uint8Array))throw new O("invalid key received");if(!(e instanceof Uint8Array))throw new O("value received is not a Uint8Array");let n=await this.client.send({type:q.Type.DHT,dht:{type:vt.Type.PUT_VALUE,key:t,value:e}}),o=await n.read(N);if(Fl("read",o),await n.unwrap().close(),o.type!==N.Type.OK)throw new tr(o.error?.msg??"DHT put failed")}async get(t){if(!(t instanceof Uint8Array))throw new O("invalid key received");let e=await this.client.send({type:q.Type.DHT,dht:{type:vt.Type.GET_VALUE,key:t}}),n=await e.read(N);if(await e.unwrap().close(),n.type!==N.Type.OK)throw new M(n.error?.msg??"DHT get failed");if(n.dht?.value==null)throw new M("Invalid DHT get response");return n.dht.value}async findPeer(t){if(!Oe(t))throw new O("invalid peer id received");let e=await this.client.send({type:q.Type.DHT,dht:{type:vt.Type.FIND_PEER,peer:t.toMultihash().bytes}}),n=await e.read(N);if(await e.unwrap().close(),n.type!==N.Type.OK)throw new M(n.error?.msg??"DHT find peer failed");if(n.dht?.peer?.addrs==null)throw new M("Invalid response");return{id:qt(dt(n.dht.peer.id)),multiaddrs:n.dht.peer.addrs.map(o=>nt(o))}}async provide(t){if(t==null||j.asCID(t)==null)throw new O("invalid cid received");let e=await this.client.send({type:q.Type.DHT,dht:{type:vt.Type.PROVIDE,cid:t.bytes}}),n=await e.read(N);if(await e.unwrap().close(),n.type!==N.Type.OK)throw new M(n.error?.msg??"DHT provide failed")}async*findProviders(t,e=1){if(t==null||j.asCID(t)==null)throw new O("invalid cid received");let n=await this.client.send({type:q.Type.DHT,dht:{type:vt.Type.FIND_PROVIDERS,cid:t.bytes,count:e}}),o=await n.read(N);if(o.type!==N.Type.OK)throw await n.unwrap().close(),new M(o.error?.msg??"DHT find providers failed");for(;;){let i=await n.read(Pt);if(i.type===Pt.Type.END){await n.unwrap().close();return}if(i.type===Pt.Type.VALUE&&i.peer?.addrs!=null)yield{id:qt(dt(i.peer.id)),multiaddrs:i.peer.addrs.map(s=>nt(s))};else throw await n.unwrap().close(),new tr("unexpected message received")}}async*getClosestPeers(t){if(!(t instanceof Uint8Array))throw new O("invalid key received");let e=await this.client.send({type:q.Type.DHT,dht:{type:vt.Type.GET_CLOSEST_PEERS,key:t}}),n=await e.read(N);if(n.type!==N.Type.OK)throw await e.unwrap().close(),new M(n.error?.msg??"DHT find providers failed");for(;;){let o=await e.read(Pt);if(o.type===Pt.Type.END){await e.unwrap().close();return}if(o.type===Pt.Type.VALUE&&o.value!=null)yield{id:qt(dt(o.value)),multiaddrs:[]};else throw await e.unwrap().close(),new je("unexpected message received")}}async getPublicKey(t){if(!Oe(t))throw new O("invalid peer id received");let e=await this.client.send({type:q.Type.DHT,dht:{type:vt.Type.GET_PUBLIC_KEY,peer:t.toMultihash().bytes}}),n=await e.read(N);if(await e.unwrap().close(),n.type!==N.Type.OK)throw new M(n.error?.msg??"DHT get public key failed");if(n.dht==null)throw new je("Invalid response");return n.dht.value}};var Cn=class{client;constructor(t){this.client=t}async getTopics(){let t=await this.client.send({type:q.Type.PUBSUB,pubsub:{type:Kt.Type.GET_TOPICS}}),e=await t.read(N);if(await t.unwrap().close(),e.type!==N.Type.OK)throw new M(e.error?.msg??"Pubsub get topics failed");if(e.pubsub?.topics==null)throw new M("Invalid response");return e.pubsub.topics}async publish(t,e){if(typeof t!="string")throw new O("invalid topic received");if(!(e instanceof Uint8Array))throw new O("data received is not a Uint8Array");let n=await this.client.send({type:q.Type.PUBSUB,pubsub:{type:Kt.Type.PUBLISH,topic:t,data:e}}),o=await n.read(N);if(await n.unwrap().close(),o.type!==N.Type.OK)throw new M(o.error?.msg??"Pubsub publish failed")}async subscribe(t){if(typeof t!="string")throw new O("invalid topic received");let e=await this.client.send({type:q.Type.PUBSUB,pubsub:{type:Kt.Type.SUBSCRIBE,topic:t}}),n=await e.read(N);if(n.type!==N.Type.OK)throw new M(n.error?.msg??"Pubsub publish failed");let o=!0;return{async*messages(){for(;o;)yield await e.read(Er)},async cancel(){o=!1,await e.unwrap().close()}}}async getSubscribers(t){if(typeof t!="string")throw new O("invalid topic received");let e=await this.client.send({type:q.Type.PUBSUB,pubsub:{type:Kt.Type.LIST_PEERS,topic:t}}),n=await e.read(N);if(await e.unwrap().close(),n.type!==N.Type.OK)throw new M(n.error?.msg??"Pubsub get subscribers failed");if(n.pubsub?.topics==null)throw new M("Invalid response");return n.pubsub.peerIDs.map(o=>qt(dt(o)))}};var vi=he("libp2p:daemon-client"),M=class extends Error{constructor(t="Operation failed"){super(t),this.name="OperationFailedError"}},Ii=class{multiaddr;dht;pubsub;tcp;constructor(t){this.multiaddr=t,this.tcp=Bc()({logger:ss()}),this.dht=new Bn(this),this.pubsub=new Cn(this)}async connectDaemon(t){return this.tcp.dial(this.multiaddr,{upgrader:new Je,signal:t??AbortSignal.timeout(1e4)})}async send(t){let e=await this.connectDaemon(),n=t.pubsub?.type??t.dht?.type??t.peerStore?.type??"";vi("send",t.type,n);let o=Cc(e);return await o.write(t,q),o}async connect(t,e){if(!Oe(t))throw new O("invalid peer id received");if(!Array.isArray(e))throw new O("addrs received are not in an array");e.forEach(i=>{if(!bn(i))throw new O("received an address that is not a multiaddr")});let n=await this.send({type:q.Type.CONNECT,connect:{peer:t.toMultihash().bytes,addrs:e.map(i=>i.bytes)}}),o=await n.read(N);if(o.type!==N.Type.OK){let i=o.error??{msg:"unspecified"};throw new M(i.msg??"unspecified")}await n.unwrap().close()}async identify(){let t=await this.send({type:q.Type.IDENTIFY}),e=await t.read(N);if(e.type!==N.Type.OK)throw new M(e.error?.msg??"Identify failed");if(e.identify?.addrs==null)throw new M("Invalid response");let n=qt(dt(e.identify?.id)),o=e.identify.addrs.map(i=>nt(i));return await t.unwrap().close(),{peerId:n,addrs:o}}async listPeers(){let t=await this.send({type:q.Type.LIST_PEERS}),e=await t.read(N);if(e.type!==N.Type.OK)throw new M(e.error?.msg??"List peers failed");return await t.unwrap().close(),e.peers.map(n=>qt(dt(n.id)))}async openStream(t,e){if(!Oe(t))throw new O("invalid peer id received");if(typeof e!="string")throw new O("invalid protocol received");let n=await this.send({type:q.Type.STREAM_OPEN,streamOpen:{peer:t.toMultihash().bytes,proto:[e]}}),o=await n.read(N);if(o.type!==N.Type.OK)throw await n.unwrap().close(),new M(o.error?.msg??"Open stream failed");return n.unwrap()}async registerStreamHandler(t,e){if(typeof t!="string")throw new O("invalid protocol received");let n=this.tcp.createListener({upgrader:new Je(c=>{this.onConnection(t,n,e,c)})});await n.listen(nt("/ip4/127.0.0.1/tcp/0"));let o=n.getAddrs()[0];if(o==null)throw new M("Could not listen on port");let i=await this.send({type:q.Type.STREAM_HANDLER,streamHandler:{addr:o.bytes,proto:[t]}}),s=await i.read(N);if(await i.unwrap().close(),s.type!==N.Type.OK)throw new M(s.error?.msg??"Register stream handler failed")}onConnection(t,e,n,o){Promise.resolve().then(async()=>{let i=new _r({stream:o}),s=await i.read();if(s==null)throw new M("Could not read open stream response");if(ke.decode(s).proto!==t)throw new M("Incorrect protocol");await n(i.rest())}).catch(i=>{o.abort(i)}).finally(()=>{o.close().catch(i=>{vi.error(i)}),e.close().catch(i=>{vi.error(i)})})}};function Vl(r){return new Ii(r)}return Dc(Hl);})();
7
7
  /*! Bundled license information:
8
8
 
9
9
  @noble/hashes/esm/utils.js:
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,OAAO,EAAwB,MAAM,yBAAyB,CAAA;AAQvF,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAIlE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAuB,MAAM,mBAAmB,CAAA;AAC3G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAI3C,qBAAa,oBAAqB,SAAQ,KAAK;gBAChC,OAAO,SAAqB;CAI1C;AAgPD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,SAAS,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACzC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC3C,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;CAC1D;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,IAAI,aAAa,CAAC,SAAS,CAAC,CAAA;IACpC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAC/C,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC,CAAA;IACnC,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1D,GAAG,EAAE,SAAS,CAAA;IACd,MAAM,EAAE,YAAY,CAAA;IAEpB,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACpE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC1E,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACvF;AAED,wBAAgB,YAAY,CAAE,SAAS,EAAE,SAAS,GAAG,YAAY,CAEhE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,OAAO,EAAwB,MAAM,yBAAyB,CAAA;AAQvF,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAIlE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,QAAQ,EAAuB,MAAM,mBAAmB,CAAA;AAC3G,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAA;AAI3C,qBAAa,oBAAqB,SAAQ,KAAK;gBAChC,OAAO,SAAqB;CAI1C;AAiPD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,SAAS,EAAE,CAAA;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAChC;AAED,MAAM,WAAW,SAAS;IACxB,GAAG,CAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACtD,GAAG,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IACzC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAChC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;IAChE,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC3C,eAAe,CAAC,GAAG,EAAE,UAAU,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAA;CAC1D;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,IAAI,aAAa,CAAC,SAAS,CAAC,CAAA;IACpC,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACxB;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACvD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;IAC/C,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9B,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,IAAI,OAAO,CAAC,cAAc,CAAC,CAAA;IACnC,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9B,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1D,GAAG,EAAE,SAAS,CAAA;IACd,MAAM,EAAE,YAAY,CAAA;IAEpB,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAA;IACpE,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAA;IAC1E,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACvF;AAED,wBAAgB,YAAY,CAAE,SAAS,EAAE,SAAS,GAAG,YAAY,CAEhE"}
package/dist/src/index.js CHANGED
@@ -37,11 +37,12 @@ class Client {
37
37
  * @async
38
38
  * @returns {MultiaddrConnection}
39
39
  */
40
- async connectDaemon() {
40
+ async connectDaemon(signal) {
41
41
  // @ts-expect-error because we use a passthrough upgrader,
42
42
  // this is actually a MultiaddrConnection and not a Connection
43
43
  return this.tcp.dial(this.multiaddr, {
44
- upgrader: new PassThroughUpgrader()
44
+ upgrader: new PassThroughUpgrader(),
45
+ signal: signal ?? AbortSignal.timeout(10_000)
45
46
  });
46
47
  }
47
48
  /**
@@ -157,7 +158,7 @@ class Client {
157
158
  // open a tcp port, pipe any data from it to the handler function
158
159
  const listener = this.tcp.createListener({
159
160
  upgrader: new PassThroughUpgrader((maConn) => {
160
- this.onConnection(protocol, listener, maConn);
161
+ this.onConnection(protocol, listener, handler, maConn);
161
162
  })
162
163
  });
163
164
  await listener.listen(multiaddr('/ip4/127.0.0.1/tcp/0'));
@@ -178,7 +179,7 @@ class Client {
178
179
  throw new OperationFailedError(response.error?.msg ?? 'Register stream handler failed');
179
180
  }
180
181
  }
181
- onConnection(protocol, listener, connection) {
182
+ onConnection(protocol, listener, handler, connection) {
182
183
  Promise.resolve()
183
184
  .then(async () => {
184
185
  const sh = new StreamHandler({
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAA;AACvF,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAA;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAChE,OAAO,EAAE,QAAQ,EAAuB,MAAM,oBAAoB,CAAA;AAClE,OAAO,KAAK,MAAM,MAAM,4BAA4B,CAAA;AACpD,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAKpC,MAAM,GAAG,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAA;AAE1C,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAAa,OAAO,GAAG,kBAAkB;QACvC,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAA;IACpC,CAAC;CACF;AAED,MAAM,MAAM;IACO,SAAS,CAAW;IAC9B,GAAG,CAAK;IACR,MAAM,CAAQ;IACJ,GAAG,CAAW;IAE/B,YAAa,IAAe;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAA;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,CAAC;YACf,MAAM,EAAE,aAAa,EAAE;SACxB,CAAC,CAAA;QACF,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,CAAA;IAChC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,aAAa;QACjB,0DAA0D;QAC1D,8DAA8D;QAC9D,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnC,QAAQ,EAAE,IAAI,mBAAmB,EAAE;SACpC,CAAC,CAAA;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAE,OAAgB;QAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAEzC,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,IAAI,IAAI,OAAO,CAAC,GAAG,EAAE,IAAI,IAAI,OAAO,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAA;QAC1F,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAElC,MAAM,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC3B,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;QAEhC,OAAO,EAAE,CAAA;IACX,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAE,MAAc,EAAE,KAAkB;QAC/C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,sBAAsB,CAAC,0BAA0B,CAAC,CAAA;QAC9D,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,sBAAsB,CAAC,oCAAoC,CAAC,CAAA;QACxE,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YACrB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,sBAAsB,CAAC,6CAA6C,CAAC,CAAA;YACjF,CAAC;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;YAC1B,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK;gBAChC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;aACjC;SACF,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAExC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,CAAA;YAC5D,MAAM,IAAI,oBAAoB,CAAC,WAAW,CAAC,GAAG,IAAI,aAAa,CAAC,CAAA;QAClE,CAAC;QAED,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;IAC3B,CAAC;IAED;;;;OAIG;IAEH;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,QAAQ;SAC5B,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAExC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,oBAAoB,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,IAAI,iBAAiB,CAAC,CAAA;QAC1E,CAAC;QAED,IAAI,QAAQ,CAAC,QAAQ,EAAE,KAAK,IAAI,IAAI,EAAE,CAAC;YACrC,MAAM,IAAI,oBAAoB,CAAC,kBAAkB,CAAC,CAAA;QACpD,CAAC;QAED,MAAM,MAAM,GAAG,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAA;QACxE,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;QAE9D,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;QAEzB,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAA;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,UAAU;SAC9B,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAExC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,oBAAoB,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,IAAI,mBAAmB,CAAC,CAAA;QAC5E,CAAC;QAED,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;QAEzB,OAAO,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAClF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAE,MAAc,EAAE,QAAgB;QAChD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,sBAAsB,CAAC,0BAA0B,CAAC,CAAA;QAC9D,CAAC;QAED,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,IAAI,sBAAsB,CAAC,2BAA2B,CAAC,CAAA;QAC/D,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW;YAC9B,UAAU,EAAE;gBACV,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,KAAK;gBAChC,KAAK,EAAE,CAAC,QAAQ,CAAC;aAClB;SACF,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAExC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;YACzB,MAAM,IAAI,oBAAoB,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,IAAI,oBAAoB,CAAC,CAAA;QAC7E,CAAC;QAED,OAAO,EAAE,CAAC,MAAM,EAAE,CAAA;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAE,QAAgB,EAAE,OAA8B;QAC3E,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;YACjC,MAAM,IAAI,sBAAsB,CAAC,2BAA2B,CAAC,CAAA;QAC/D,CAAC;QAED,iEAAiE;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC;YACvC,QAAQ,EAAE,IAAI,mBAAmB,CAAC,CAAC,MAAM,EAAE,EAAE;gBAC3C,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA;YAC/C,CAAC,CAAC;SACH,CAAC,CAAA;QACF,MAAM,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC,CAAA;QACxD,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;QAEtC,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;YACpB,MAAM,IAAI,oBAAoB,CAAC,0BAA0B,CAAC,CAAA;QAC5D,CAAC;QAED,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC;YACzB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc;YACjC,aAAa,EAAE;gBACb,IAAI,EAAE,OAAO,CAAC,KAAK;gBACnB,KAAK,EAAE,CAAC,QAAQ,CAAC;aAClB;SACF,CAAC,CAAA;QAEF,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAExC,MAAM,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,CAAA;QAEzB,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,IAAI,oBAAoB,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,IAAI,gCAAgC,CAAC,CAAA;QACzF,CAAC;IACH,CAAC;IAEO,YAAY,CAAE,QAAgB,EAAE,QAAkB,EAAE,UAA+B;QACzF,OAAO,CAAC,OAAO,EAAE;aACd,IAAI,CAAC,KAAK,IAAI,EAAE;YACf,MAAM,EAAE,GAAG,IAAI,aAAa,CAAC;gBAC3B,MAAM,EAAE,UAAU;aACnB,CAAC,CAAA;YACF,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,IAAI,EAAE,CAAA;YAE/B,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;gBACpB,MAAM,IAAI,oBAAoB,CAAC,qCAAqC,CAAC,CAAA;YACvE,CAAC;YAED,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAE3C,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAChC,MAAM,IAAI,oBAAoB,CAAC,oBAAoB,CAAC,CAAA;YACtD,CAAC;YAED,8FAA8F;YAC9F,MAAM,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAA;QAC1B,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,CAAC,EAAE;YACX,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACvB,CAAC,CAAC;aACD,OAAO,CAAC,GAAG,EAAE;YACZ,UAAU,CAAC,KAAK,EAAE;iBACf,KAAK,CAAC,GAAG,CAAC,EAAE;gBACX,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAChB,CAAC,CAAC,CAAA;YACJ,QAAQ,CAAC,KAAK,EAAE;iBACb,KAAK,CAAC,GAAG,CAAC,EAAE;gBACX,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAChB,CAAC,CAAC,CAAA;QACN,CAAC,CAAC,CAAA;IACN,CAAC;CACF;AA4CD,MAAM,UAAU,YAAY,CAAE,SAAoB;IAChD,OAAO,IAAI,MAAM,CAAC,SAAS,CAAC,CAAA;AAC9B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/daemon-client",
3
- "version": "9.0.3",
3
+ "version": "9.0.5",
4
4
  "description": "libp2p-daemon client implementation",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p-daemon/tree/main/packages/libp2p-daemon-client#readme",
package/src/index.ts CHANGED
@@ -45,11 +45,12 @@ class Client implements DaemonClient {
45
45
  * @async
46
46
  * @returns {MultiaddrConnection}
47
47
  */
48
- async connectDaemon (): Promise<MultiaddrConnection> {
48
+ async connectDaemon (signal?: AbortSignal): Promise<MultiaddrConnection> {
49
49
  // @ts-expect-error because we use a passthrough upgrader,
50
50
  // this is actually a MultiaddrConnection and not a Connection
51
51
  return this.tcp.dial(this.multiaddr, {
52
- upgrader: new PassThroughUpgrader()
52
+ upgrader: new PassThroughUpgrader(),
53
+ signal: signal ?? AbortSignal.timeout(10_000)
53
54
  })
54
55
  }
55
56
 
@@ -197,7 +198,7 @@ class Client implements DaemonClient {
197
198
  // open a tcp port, pipe any data from it to the handler function
198
199
  const listener = this.tcp.createListener({
199
200
  upgrader: new PassThroughUpgrader((maConn) => {
200
- this.onConnection(protocol, listener, maConn)
201
+ this.onConnection(protocol, listener, handler, maConn)
201
202
  })
202
203
  })
203
204
  await listener.listen(multiaddr('/ip4/127.0.0.1/tcp/0'))
@@ -224,7 +225,7 @@ class Client implements DaemonClient {
224
225
  }
225
226
  }
226
227
 
227
- private onConnection (protocol: string, listener: Listener, connection: MultiaddrConnection): void {
228
+ private onConnection (protocol: string, listener: Listener, handler: StreamHandlerFunction, connection: MultiaddrConnection): void {
228
229
  Promise.resolve()
229
230
  .then(async () => {
230
231
  const sh = new StreamHandler({