@libp2p/dcutr 1.0.5-178fe2671 → 1.0.5-4e0135c7d
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 +10 -10
- package/package.json +3 -3
package/dist/index.min.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PDcutr = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Libp2PDcutr=(()=>{var to=Object.create;var Mt=Object.defineProperty;var eo=Object.getOwnPropertyDescriptor;var ro=Object.getOwnPropertyNames;var no=Object.getPrototypeOf,oo=Object.prototype.hasOwnProperty;var fe=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),k=(r,t)=>{for(var e in t)Mt(r,e,{get:t[e],enumerable:!0})},Sr=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of ro(t))!oo.call(r,o)&&o!==e&&Mt(r,o,{get:()=>t[o],enumerable:!(n=eo(t,o))||n.enumerable});return r};var he=(r,t,e)=>(e=r!=null?to(no(r)):{},Sr(t||!r||!r.__esModule?Mt(e,"default",{value:r,enumerable:!0}):e,r)),io=r=>Sr(Mt({},"__esModule",{value:!0}),r);var xn=fe((qu,bn)=>{"use strict";function wn(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function Gi(r,t,e){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");e||(e={}),typeof t=="object"&&(e=t,t=""),t&&(e.code=t);try{return wn(r,e)}catch{e.message=r.message,e.stack=r.stack;let o=function(){};return o.prototype=Object.create(Object.getPrototypeOf(r)),wn(new o,e)}}bn.exports=Gi});var zn=fe($t=>{(function(){var r,t,e,n,o,i,a,u;u=function(d){var l,b,w,p;return l=(d&255<<24)>>>24,b=(d&255<<16)>>>16,w=(d&65280)>>>8,p=d&255,[l,b,w,p].join(".")},a=function(d){var l,b,w,p,s,c;for(l=[],w=p=0;p<=3&&d.length!==0;w=++p){if(w>0){if(d[0]!==".")throw new Error("Invalid IP");d=d.substring(1)}c=t(d),s=c[0],b=c[1],d=d.substring(b),l.push(s)}if(d.length!==0)throw new Error("Invalid IP");switch(l.length){case 1:if(l[0]>4294967295)throw new Error("Invalid IP");return l[0]>>>0;case 2:if(l[0]>255||l[1]>16777215)throw new Error("Invalid IP");return(l[0]<<24|l[1])>>>0;case 3:if(l[0]>255||l[1]>255||l[2]>65535)throw new Error("Invalid IP");return(l[0]<<24|l[1]<<16|l[2])>>>0;case 4:if(l[0]>255||l[1]>255||l[2]>255||l[3]>255)throw new Error("Invalid IP");return(l[0]<<24|l[1]<<16|l[2]<<8|l[3])>>>0;default:throw new Error("Invalid IP")}},e=function(d){return d.charCodeAt(0)},n=e("0"),i=e("a"),o=e("A"),t=function(d){var l,b,w,p,s;for(p=0,l=10,b="9",w=0,d.length>1&&d[w]==="0"&&(d[w+1]==="x"||d[w+1]==="X"?(w+=2,l=16):"0"<=d[w+1]&&d[w+1]<="9"&&(w++,l=8,b="7")),s=w;w<d.length;){if("0"<=d[w]&&d[w]<=b)p=p*l+(e(d[w])-n)>>>0;else if(l===16)if("a"<=d[w]&&d[w]<="f")p=p*l+(10+e(d[w])-i)>>>0;else if("A"<=d[w]&&d[w]<="F")p=p*l+(10+e(d[w])-o)>>>0;else break;else break;if(p>4294967295)throw new Error("too large");w++}if(w===s)throw new Error("empty octet");return[p,w]},r=function(){function d(l,b){var w,p,s,c;if(typeof l!="string")throw new Error("Missing `net' parameter");if(b||(c=l.split("/",2),l=c[0],b=c[1]),b||(b=32),typeof b=="string"&&b.indexOf(".")>-1){try{this.maskLong=a(b)}catch(h){throw w=h,new Error("Invalid mask: "+b)}for(p=s=32;s>=0;p=--s)if(this.maskLong===4294967295<<32-p>>>0){this.bitmask=p;break}}else if(b||b===0)this.bitmask=parseInt(b,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(a(l)&this.maskLong)>>>0}catch(h){throw w=h,new Error("Invalid net address: "+l)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+b);this.size=Math.pow(2,32-this.bitmask),this.base=u(this.netLong),this.mask=u(this.maskLong),this.hostmask=u(~this.maskLong),this.first=this.bitmask<=30?u(this.netLong+1):this.base,this.last=this.bitmask<=30?u(this.netLong+this.size-2):u(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?u(this.netLong+this.size-1):void 0}return d.prototype.contains=function(l){return typeof l=="string"&&(l.indexOf("/")>0||l.split(".").length!==4)&&(l=new d(l)),l instanceof d?this.contains(l.base)&&this.contains(l.broadcast||l.last):(a(l)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},d.prototype.next=function(l){return l==null&&(l=1),new d(u(this.netLong+this.size*l),this.mask)},d.prototype.forEach=function(l){var b,w,p;for(p=a(this.first),w=a(this.last),b=0;p<=w;)l(u(p),p,b),b++,p++},d.prototype.toString=function(){return this.base+"/"+this.bitmask},d}(),$t.ip2long=a,$t.long2ip=u,$t.Netmask=r}).call($t)});var qn=fe((Wn,ae)=>{(function(r){"use strict";let t="(0?\\d+|0x[a-f0-9]+)",e={fourOctet:new RegExp(`^${t}\\.${t}\\.${t}\\.${t}$`,"i"),threeOctet:new RegExp(`^${t}\\.${t}\\.${t}$`,"i"),twoOctet:new RegExp(`^${t}\\.${t}$`,"i"),longValue:new RegExp(`^${t}$`,"i")},n=new RegExp("^0[0-7]+$","i"),o=new RegExp("^0x[a-f0-9]+$","i"),i="%[0-9a-z]{1,}",a="(?:[0-9a-f]+::?)+",u={zoneIndex:new RegExp(i,"i"),native:new RegExp(`^(::)?(${a})?([0-9a-f]+)?(::)?(${i})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${t}\\.${t}\\.${t}\\.${t}(${i})?)$`,"i"),transitional:new RegExp(`^((?:${a})|(?:::)(?:${a})?)${t}\\.${t}\\.${t}\\.${t}(${i})?$`,"i")};function d(s,c){if(s.indexOf("::")!==s.lastIndexOf("::"))return null;let h=0,f=-1,m=(s.match(u.zoneIndex)||[])[0],g,x;for(m&&(m=m.substring(1),s=s.replace(/%.+$/,""));(f=s.indexOf(":",f+1))>=0;)h++;if(s.substr(0,2)==="::"&&h--,s.substr(-2,2)==="::"&&h--,h>c)return null;for(x=c-h,g=":";x--;)g+="0:";return s=s.replace("::",g),s[0]===":"&&(s=s.slice(1)),s[s.length-1]===":"&&(s=s.slice(0,-1)),c=function(){let C=s.split(":"),$=[];for(let M=0;M<C.length;M++)$.push(parseInt(C[M],16));return $}(),{parts:c,zoneId:m}}function l(s,c,h,f){if(s.length!==c.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let m=0,g;for(;f>0;){if(g=h-f,g<0&&(g=0),s[m]>>g!==c[m]>>g)return!1;f-=h,m+=1}return!0}function b(s){if(o.test(s))return parseInt(s,16);if(s[0]==="0"&&!isNaN(parseInt(s[1],10))){if(n.test(s))return parseInt(s,8);throw new Error(`ipaddr: cannot parse ${s} as octal`)}return parseInt(s,10)}function w(s,c){for(;s.length<c;)s=`0${s}`;return s}let p={};p.IPv4=function(){function s(c){if(c.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let h,f;for(h=0;h<c.length;h++)if(f=c[h],!(0<=f&&f<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=c}return s.prototype.SpecialRanges={unspecified:[[new s([0,0,0,0]),8]],broadcast:[[new s([255,255,255,255]),32]],multicast:[[new s([224,0,0,0]),4]],linkLocal:[[new s([169,254,0,0]),16]],loopback:[[new s([127,0,0,0]),8]],carrierGradeNat:[[new s([100,64,0,0]),10]],private:[[new s([10,0,0,0]),8],[new s([172,16,0,0]),12],[new s([192,168,0,0]),16]],reserved:[[new s([192,0,0,0]),24],[new s([192,0,2,0]),24],[new s([192,88,99,0]),24],[new s([198,18,0,0]),15],[new s([198,51,100,0]),24],[new s([203,0,113,0]),24],[new s([240,0,0,0]),4]]},s.prototype.kind=function(){return"ipv4"},s.prototype.match=function(c,h){let f;if(h===void 0&&(f=c,c=f[0],h=f[1]),c.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return l(this.octets,c.octets,8,h)},s.prototype.prefixLengthFromSubnetMask=function(){let c=0,h=!1,f={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},m,g,x;for(m=3;m>=0;m-=1)if(g=this.octets[m],g in f){if(x=f[g],h&&x!==0)return null;x!==8&&(h=!0),c+=x}else return null;return 32-c},s.prototype.range=function(){return p.subnetMatch(this,this.SpecialRanges)},s.prototype.toByteArray=function(){return this.octets.slice(0)},s.prototype.toIPv4MappedAddress=function(){return p.IPv6.parse(`::ffff:${this.toString()}`)},s.prototype.toNormalizedString=function(){return this.toString()},s.prototype.toString=function(){return this.octets.join(".")},s}(),p.IPv4.broadcastAddressFromCIDR=function(s){try{let c=this.parseCIDR(s),h=c[0].toByteArray(),f=this.subnetMaskFromPrefixLength(c[1]).toByteArray(),m=[],g=0;for(;g<4;)m.push(parseInt(h[g],10)|parseInt(f[g],10)^255),g++;return new this(m)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},p.IPv4.isIPv4=function(s){return this.parser(s)!==null},p.IPv4.isValid=function(s){try{return new this(this.parser(s)),!0}catch{return!1}},p.IPv4.isValidFourPartDecimal=function(s){return!!(p.IPv4.isValid(s)&&s.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},p.IPv4.networkAddressFromCIDR=function(s){let c,h,f,m,g;try{for(c=this.parseCIDR(s),f=c[0].toByteArray(),g=this.subnetMaskFromPrefixLength(c[1]).toByteArray(),m=[],h=0;h<4;)m.push(parseInt(f[h],10)&parseInt(g[h],10)),h++;return new this(m)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},p.IPv4.parse=function(s){let c=this.parser(s);if(c===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(c)},p.IPv4.parseCIDR=function(s){let c;if(c=s.match(/^(.+)\/(\d+)$/)){let h=parseInt(c[2]);if(h>=0&&h<=32){let f=[this.parse(c[1]),h];return Object.defineProperty(f,"toString",{value:function(){return this.join("/")}}),f}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},p.IPv4.parser=function(s){let c,h,f;if(c=s.match(e.fourOctet))return function(){let m=c.slice(1,6),g=[];for(let x=0;x<m.length;x++)h=m[x],g.push(b(h));return g}();if(c=s.match(e.longValue)){if(f=b(c[1]),f>4294967295||f<0)throw new Error("ipaddr: address outside defined range");return function(){let m=[],g;for(g=0;g<=24;g+=8)m.push(f>>g&255);return m}().reverse()}else return(c=s.match(e.twoOctet))?function(){let m=c.slice(1,4),g=[];if(f=b(m[1]),f>16777215||f<0)throw new Error("ipaddr: address outside defined range");return g.push(b(m[0])),g.push(f>>16&255),g.push(f>>8&255),g.push(f&255),g}():(c=s.match(e.threeOctet))?function(){let m=c.slice(1,5),g=[];if(f=b(m[2]),f>65535||f<0)throw new Error("ipaddr: address outside defined range");return g.push(b(m[0])),g.push(b(m[1])),g.push(f>>8&255),g.push(f&255),g}():null},p.IPv4.subnetMaskFromPrefixLength=function(s){if(s=parseInt(s),s<0||s>32)throw new Error("ipaddr: invalid IPv4 prefix length");let c=[0,0,0,0],h=0,f=Math.floor(s/8);for(;h<f;)c[h]=255,h++;return f<4&&(c[f]=Math.pow(2,s%8)-1<<8-s%8),new this(c)},p.IPv6=function(){function s(c,h){let f,m;if(c.length===16)for(this.parts=[],f=0;f<=14;f+=2)this.parts.push(c[f]<<8|c[f+1]);else if(c.length===8)this.parts=c;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(f=0;f<this.parts.length;f++)if(m=this.parts[f],!(0<=m&&m<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");h&&(this.zoneId=h)}return s.prototype.SpecialRanges={unspecified:[new s([0,0,0,0,0,0,0,0]),128],linkLocal:[new s([65152,0,0,0,0,0,0,0]),10],multicast:[new s([65280,0,0,0,0,0,0,0]),8],loopback:[new s([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new s([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new s([0,0,0,0,0,65535,0,0]),96],rfc6145:[new s([0,0,0,0,65535,0,0,0]),96],rfc6052:[new s([100,65435,0,0,0,0,0,0]),96],"6to4":[new s([8194,0,0,0,0,0,0,0]),16],teredo:[new s([8193,0,0,0,0,0,0,0]),32],reserved:[[new s([8193,3512,0,0,0,0,0,0]),32]],benchmarking:[new s([8193,2,0,0,0,0,0,0]),48],amt:[new s([8193,3,0,0,0,0,0,0]),32],as112v6:[new s([8193,4,274,0,0,0,0,0]),48],deprecated:[new s([8193,16,0,0,0,0,0,0]),28],orchid2:[new s([8193,32,0,0,0,0,0,0]),28]},s.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},s.prototype.kind=function(){return"ipv6"},s.prototype.match=function(c,h){let f;if(h===void 0&&(f=c,c=f[0],h=f[1]),c.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return l(this.parts,c.parts,16,h)},s.prototype.prefixLengthFromSubnetMask=function(){let c=0,h=!1,f={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},m,g;for(let x=7;x>=0;x-=1)if(m=this.parts[x],m in f){if(g=f[m],h&&g!==0)return null;g!==16&&(h=!0),c+=g}else return null;return 128-c},s.prototype.range=function(){return p.subnetMatch(this,this.SpecialRanges)},s.prototype.toByteArray=function(){let c,h=[],f=this.parts;for(let m=0;m<f.length;m++)c=f[m],h.push(c>>8),h.push(c&255);return h},s.prototype.toFixedLengthString=function(){let c=function(){let f=[];for(let m=0;m<this.parts.length;m++)f.push(w(this.parts[m].toString(16),4));return f}.call(this).join(":"),h="";return this.zoneId&&(h=`%${this.zoneId}`),c+h},s.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let c=this.parts.slice(-2),h=c[0],f=c[1];return new p.IPv4([h>>8,h&255,f>>8,f&255])},s.prototype.toNormalizedString=function(){let c=function(){let f=[];for(let m=0;m<this.parts.length;m++)f.push(this.parts[m].toString(16));return f}.call(this).join(":"),h="";return this.zoneId&&(h=`%${this.zoneId}`),c+h},s.prototype.toRFC5952String=function(){let c=/((^|:)(0(:|$)){2,})/g,h=this.toNormalizedString(),f=0,m=-1,g;for(;g=c.exec(h);)g[0].length>m&&(f=g.index,m=g[0].length);return m<0?h:`${h.substring(0,f)}::${h.substring(f+m)}`},s.prototype.toString=function(){return this.toRFC5952String()},s}(),p.IPv6.broadcastAddressFromCIDR=function(s){try{let c=this.parseCIDR(s),h=c[0].toByteArray(),f=this.subnetMaskFromPrefixLength(c[1]).toByteArray(),m=[],g=0;for(;g<16;)m.push(parseInt(h[g],10)|parseInt(f[g],10)^255),g++;return new this(m)}catch(c){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${c})`)}},p.IPv6.isIPv6=function(s){return this.parser(s)!==null},p.IPv6.isValid=function(s){if(typeof s=="string"&&s.indexOf(":")===-1)return!1;try{let c=this.parser(s);return new this(c.parts,c.zoneId),!0}catch{return!1}},p.IPv6.networkAddressFromCIDR=function(s){let c,h,f,m,g;try{for(c=this.parseCIDR(s),f=c[0].toByteArray(),g=this.subnetMaskFromPrefixLength(c[1]).toByteArray(),m=[],h=0;h<16;)m.push(parseInt(f[h],10)&parseInt(g[h],10)),h++;return new this(m)}catch(x){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${x})`)}},p.IPv6.parse=function(s){let c=this.parser(s);if(c.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(c.parts,c.zoneId)},p.IPv6.parseCIDR=function(s){let c,h,f;if((h=s.match(/^(.+)\/(\d+)$/))&&(c=parseInt(h[2]),c>=0&&c<=128))return f=[this.parse(h[1]),c],Object.defineProperty(f,"toString",{value:function(){return this.join("/")}}),f;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},p.IPv6.parser=function(s){let c,h,f,m,g,x;if(f=s.match(u.deprecatedTransitional))return this.parser(`::ffff:${f[1]}`);if(u.native.test(s))return d(s,8);if((f=s.match(u.transitional))&&(x=f[6]||"",c=d(f[1].slice(0,-1)+x,6),c.parts)){for(g=[parseInt(f[2]),parseInt(f[3]),parseInt(f[4]),parseInt(f[5])],h=0;h<g.length;h++)if(m=g[h],!(0<=m&&m<=255))return null;return c.parts.push(g[0]<<8|g[1]),c.parts.push(g[2]<<8|g[3]),{parts:c.parts,zoneId:c.zoneId}}return null},p.IPv6.subnetMaskFromPrefixLength=function(s){if(s=parseInt(s),s<0||s>128)throw new Error("ipaddr: invalid IPv6 prefix length");let c=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],h=0,f=Math.floor(s/8);for(;h<f;)c[h]=255,h++;return f<16&&(c[f]=Math.pow(2,s%8)-1<<8-s%8),new this(c)},p.fromByteArray=function(s){let c=s.length;if(c===4)return new p.IPv4(s);if(c===16)return new p.IPv6(s);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},p.isValid=function(s){return p.IPv6.isValid(s)||p.IPv4.isValid(s)},p.parse=function(s){if(p.IPv6.isValid(s))return p.IPv6.parse(s);if(p.IPv4.isValid(s))return p.IPv4.parse(s);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},p.parseCIDR=function(s){try{return p.IPv6.parseCIDR(s)}catch{try{return p.IPv4.parseCIDR(s)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},p.process=function(s){let c=this.parse(s);return c.kind()==="ipv6"&&c.isIPv4MappedAddress()?c.toIPv4Address():c},p.subnetMatch=function(s,c,h){let f,m,g,x;h==null&&(h="unicast");for(m in c)if(Object.prototype.hasOwnProperty.call(c,m)){for(g=c[m],g[0]&&!(g[0]instanceof Array)&&(g=[g]),f=0;f<g.length;f++)if(x=g[f],s.kind()===x[0].kind()&&s.match.apply(s,x))return m}return h},typeof ae<"u"&&ae.exports?ae.exports=p:r.ipaddr=p})(Wn)});var gs={};k(gs,{dcutr:()=>ms,multicodec:()=>It});var bs=Symbol.for("@libp2p/connection");var ys=Symbol.for("@libp2p/content-routing");var vs=Symbol.for("@libp2p/peer-discovery");var Ss=Symbol.for("@libp2p/peer-id");var Ps=Symbol.for("@libp2p/peer-routing");var Lr;(function(r){r.Accept="accept",r.Ignore="ignore",r.Reject="reject"})(Lr||(Lr={}));var Rs=Symbol.for("@libp2p/transport");var Pr;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(Pr||(Pr={}));var z=class extends Error{code;props;constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var ot="ERR_INVALID_MESSAGE";var le=class extends Event{detail;constructor(t,e){super(t,e),this.detail=e?.detail}},Us=globalThis.CustomEvent??le;var we={};k(we,{base58btc:()=>P,base58flickr:()=>ho});function so(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),a=i.charCodeAt(0);if(e[a]!==255)throw new TypeError(i+" is ambiguous");e[a]=o}var u=r.length,d=r.charAt(0),l=Math.log(u)/Math.log(256),b=Math.log(256)/Math.log(u);function w(c){if(c instanceof Uint8Array||(ArrayBuffer.isView(c)?c=new Uint8Array(c.buffer,c.byteOffset,c.byteLength):Array.isArray(c)&&(c=Uint8Array.from(c))),!(c instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(c.length===0)return"";for(var h=0,f=0,m=0,g=c.length;m!==g&&c[m]===0;)m++,h++;for(var x=(g-m)*b+1>>>0,C=new Uint8Array(x);m!==g;){for(var $=c[m],M=0,V=x-1;($!==0||M<f)&&V!==-1;V--,M++)$+=256*C[V]>>>0,C[V]=$%u>>>0,$=$/u>>>0;if($!==0)throw new Error("Non-zero carry");f=M,m++}for(var Q=x-f;Q!==x&&C[Q]===0;)Q++;for(var kt=d.repeat(h);Q<x;++Q)kt+=r.charAt(C[Q]);return kt}function p(c){if(typeof c!="string")throw new TypeError("Expected String");if(c.length===0)return new Uint8Array;var h=0;if(c[h]!==" "){for(var f=0,m=0;c[h]===d;)f++,h++;for(var g=(c.length-h)*l+1>>>0,x=new Uint8Array(g);c[h];){var C=e[c.charCodeAt(h)];if(C===255)return;for(var $=0,M=g-1;(C!==0||$<m)&&M!==-1;M--,$++)C+=u*x[M]>>>0,x[M]=C%256>>>0,C=C/256>>>0;if(C!==0)throw new Error("Non-zero carry");m=$,h++}if(c[h]!==" "){for(var V=g-m;V!==g&&x[V]===0;)V++;for(var Q=new Uint8Array(f+(g-V)),kt=f;V!==g;)Q[kt++]=x[V++];return Q}}}function s(c){var h=p(c);if(h)return h;throw new Error(`Non-${t} character`)}return{encode:w,decodeUnsafe:p,decode:s}}var ao=so,co=ao,Nr=co;var ha=new Uint8Array(0);var Dr=(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},J=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")};var Fr=r=>new TextEncoder().encode(r),Rr=r=>new TextDecoder().decode(r);var de=class{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")}},pe=class{constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),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 Tr(this,t)}},me=class{constructor(t){this.decoders=t}or(t){return Tr(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Tr=(r,t)=>new me({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),ge=class{constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new de(t,e,n),this.decoder=new pe(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},ft=({name:r,prefix:t,encode:e,decode:n})=>new ge(r,t,e,n),Y=({prefix:r,name:t,alphabet:e})=>{let{encode:n,decode:o}=Nr(e,t);return ft({prefix:r,name:t,encode:n,decode:i=>J(o(i))})},uo=(r,t,e,n)=>{let o={};for(let b=0;b<t.length;++b)o[t[b]]=b;let i=r.length;for(;r[i-1]==="=";)--i;let a=new Uint8Array(i*e/8|0),u=0,d=0,l=0;for(let b=0;b<i;++b){let w=o[r[b]];if(w===void 0)throw new SyntaxError(`Non-${n} character`);d=d<<e|w,u+=e,u>=8&&(u-=8,a[l++]=255&d>>u)}if(u>=e||255&d<<8-u)throw new SyntaxError("Unexpected end of data");return a},fo=(r,t,e)=>{let n=t[t.length-1]==="=",o=(1<<e)-1,i="",a=0,u=0;for(let d=0;d<r.length;++d)for(u=u<<8|r[d],a+=8;a>e;)a-=e,i+=t[o&u>>a];if(a&&(i+=t[o&u<<e-a]),n)for(;i.length*e&7;)i+="=";return i},A=({name:r,prefix:t,bitsPerChar:e,alphabet:n})=>ft({prefix:t,name:r,encode(o){return fo(o,n,e)},decode(o){return uo(o,n,e,r)}});var P=Y({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ho=Y({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var be={};k(be,{base32:()=>K,base32hex:()=>go,base32hexpad:()=>bo,base32hexpadupper:()=>xo,base32hexupper:()=>wo,base32pad:()=>po,base32padupper:()=>mo,base32upper:()=>lo,base32z:()=>yo});var K=A({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),lo=A({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),po=A({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),mo=A({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),go=A({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),wo=A({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),bo=A({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),xo=A({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),yo=A({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Io=kr,Ur=128,Ao=127,vo=~Ao,Eo=Math.pow(2,31);function kr(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Eo;)t[e++]=r&255|Ur,r/=128;for(;r&vo;)t[e++]=r&255|Ur,r>>>=7;return t[e]=r|0,kr.bytes=e-n+1,t}var So=xe,Lo=128,$r=127;function xe(r,n){var e=0,n=n||0,o=0,i=n,a,u=r.length;do{if(i>=u)throw xe.bytes=0,new RangeError("Could not decode varint");a=r[i++],e+=o<28?(a&$r)<<o:(a&$r)*Math.pow(2,o),o+=7}while(a>=Lo);return xe.bytes=i-n,e}var Po=Math.pow(2,7),No=Math.pow(2,14),Do=Math.pow(2,21),Fo=Math.pow(2,28),Ro=Math.pow(2,35),Co=Math.pow(2,42),To=Math.pow(2,49),Uo=Math.pow(2,56),$o=Math.pow(2,63),ko=function(r){return r<Po?1:r<No?2:r<Do?3:r<Fo?4:r<Ro?5:r<Co?6:r<To?7:r<Uo?8:r<$o?9:10},Mo={encode:Io,decode:So,encodingLength:ko},Bo=Mo,At=Bo;var vt=(r,t=0)=>[At.decode(r,t),At.decode.bytes],ht=(r,t,e=0)=>(At.encode(r,t,e),t),lt=r=>At.encodingLength(r);var it=(r,t)=>{let e=t.byteLength,n=lt(r),o=n+lt(e),i=new Uint8Array(o+e);return ht(r,i,0),ht(e,i,n),i.set(t,o),new dt(r,e,t,i)},Ot=r=>{let t=J(r),[e,n]=vt(t),[o,i]=vt(t.subarray(n)),a=t.subarray(n+i);if(a.byteLength!==o)throw new Error("Incorrect length");return new dt(e,o,a,t)},Mr=(r,t)=>{if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Dr(r.bytes,e.bytes)}},dt=class{constructor(t,e,n,o){this.code=t,this.size=e,this.digest=n,this.bytes=o}};var Br=(r,t)=>{let{bytes:e,version:n}=r;switch(n){case 0:return _o(e,ye(r),t||P.encoder);default:return Vo(e,ye(r),t||K.encoder)}};var Or=new WeakMap,ye=r=>{let t=Or.get(r);if(t==null){let e=new Map;return Or.set(r,e),e}return t},tt=class r{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!==Et)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==zo)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=it(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&&t.code===n.code&&t.version===n.version&&Mr(t.multihash,n.multihash)}toString(t){return Br(this,t)}toJSON(){return{"/":Br(this)}}link(){return this}get[Symbol.toStringTag](){return"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:a}=e;return new r(n,o,i,a||_r(n,o,i.bytes))}else if(e[jo]===!0){let{version:n,multihash:o,code:i}=e,a=Ot(o);return r.create(n,i,a)}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!==Et)throw new Error(`Version 0 CID must use dag-pb (code: ${Et}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=_r(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,Et,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,o=J(t.subarray(n,n+e.multihashSize));if(o.byteLength!==e.multihashSize)throw new Error("Incorrect length");let i=o.subarray(e.multihashSize-e.digestSize),a=new dt(e.multihashCode,e.digestSize,i,o);return[e.version===0?r.createV0(a):r.createV1(e.codec,a),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[w,p]=vt(t.subarray(e));return e+=p,w},o=n(),i=Et;if(o===18?(o=0,e=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let a=e,u=n(),d=n(),l=e+d,b=l-a;return{version:o,codec:i,multihashCode:u,digestSize:d,multihashSize:b,size:l}}static parse(t,e){let[n,o]=Oo(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 ye(i).set(n,t),i}},Oo=(r,t)=>{switch(r[0]){case"Q":{let e=t||P;return[P.prefix,e.decode(`${P.prefix}${r}`)]}case P.prefix:{let e=t||P;return[P.prefix,e.decode(r)]}case K.prefix:{let e=t||K;return[K.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}},_o=(r,t,e)=>{let{prefix:n}=e;if(n!==P.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},Vo=(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},Et=112,zo=18,_r=(r,t,e)=>{let n=lt(r),o=n+lt(t),i=new Uint8Array(o+e.byteLength);return ht(r,i,0),ht(t,i,n),i.set(e,o),i},jo=Symbol.for("@ipld/js-cid/CID");function _t(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 Ie={};k(Ie,{base10:()=>Go});var Go=Y({prefix:"9",name:"base10",alphabet:"0123456789"});var Ae={};k(Ae,{base16:()=>Wo,base16upper:()=>qo});var Wo=A({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),qo=A({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ve={};k(ve,{base2:()=>Xo});var Xo=A({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ee={};k(Ee,{base256emoji:()=>Zo});var Vr=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}"),Ho=Vr.reduce((r,t,e)=>(r[e]=t,r),[]),Qo=Vr.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function Jo(r){return r.reduce((t,e)=>(t+=Ho[e],t),"")}function Ko(r){let t=[];for(let e of r){let n=Qo[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var Zo=ft({prefix:"\u{1F680}",name:"base256emoji",encode:Jo,decode:Ko});var Se={};k(Se,{base36:()=>Yo,base36upper:()=>ti});var Yo=Y({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ti=Y({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Pe={};k(Pe,{base64:()=>ei,base64pad:()=>ri,base64url:()=>Le,base64urlpad:()=>ni});var ei=A({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ri=A({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Le=A({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),ni=A({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Ne={};k(Ne,{base8:()=>oi});var oi=A({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var De={};k(De,{identity:()=>ii});var ii=ft({prefix:"\0",name:"identity",encode:r=>Rr(r),decode:r=>Fr(r)});var $a=new TextEncoder,ka=new TextDecoder;var Fe={};k(Fe,{identity:()=>fi});var zr=0,ci="identity",jr=J,ui=r=>it(zr,jr(r)),fi={code:zr,name:ci,encode:jr,digest:ui};var Te={};k(Te,{sha256:()=>hi,sha512:()=>li});var Ce=({name:r,code:t,encode:e})=>new Re(r,t,e),Re=class{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?it(this.code,e):e.then(n=>it(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Wr=r=>async t=>new Uint8Array(await crypto.subtle.digest(r,t)),hi=Ce({name:"sha2-256",code:18,encode:Wr("SHA-256")}),li=Ce({name:"sha2-512",code:19,encode:Wr("SHA-512")});var St={...De,...ve,...Ne,...Ie,...Ae,...be,...Se,...we,...Pe,...Ee},Ga={...Te,...Fe};function st(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function Z(r=0){return globalThis.Buffer?.alloc!=null?st(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function N(r=0){return globalThis.Buffer?.allocUnsafe!=null?st(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function Xr(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var qr=Xr("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Ue=Xr("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=N(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),di={utf8:qr,"utf-8":qr,hex:St.base16,latin1:Ue,ascii:Ue,binary:Ue,...St},Vt=di;function T(r,t="utf8"){let e=Vt[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):e.encoder.encode(r).substring(1)}var pi=Math.pow(2,7),mi=Math.pow(2,14),gi=Math.pow(2,21),$e=Math.pow(2,28),ke=Math.pow(2,35),Me=Math.pow(2,42),Be=Math.pow(2,49),y=128,D=127;function F(r){if(r<pi)return 1;if(r<mi)return 2;if(r<gi)return 3;if(r<$e)return 4;if(r<ke)return 5;if(r<Me)return 6;if(r<Be)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function wi(r,t,e=0){switch(F(r)){case 8:t[e++]=r&255|y,r/=128;case 7:t[e++]=r&255|y,r/=128;case 6:t[e++]=r&255|y,r/=128;case 5:t[e++]=r&255|y,r/=128;case 4:t[e++]=r&255|y,r>>>=7;case 3:t[e++]=r&255|y,r>>>=7;case 2:t[e++]=r&255|y,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function bi(r,t,e=0){switch(F(r)){case 8:t.set(e++,r&255|y),r/=128;case 7:t.set(e++,r&255|y),r/=128;case 6:t.set(e++,r&255|y),r/=128;case 5:t.set(e++,r&255|y),r/=128;case 4:t.set(e++,r&255|y),r>>>=7;case 3:t.set(e++,r&255|y),r>>>=7;case 2:t.set(e++,r&255|y),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function xi(r,t){let e=r[t],n=0;if(n+=e&D,e<y||(e=r[t+1],n+=(e&D)<<7,e<y)||(e=r[t+2],n+=(e&D)<<14,e<y)||(e=r[t+3],n+=(e&D)<<21,e<y)||(e=r[t+4],n+=(e&D)*$e,e<y)||(e=r[t+5],n+=(e&D)*ke,e<y)||(e=r[t+6],n+=(e&D)*Me,e<y)||(e=r[t+7],n+=(e&D)*Be,e<y))return n;throw new RangeError("Could not decode varint")}function yi(r,t){let e=r.get(t),n=0;if(n+=e&D,e<y||(e=r.get(t+1),n+=(e&D)<<7,e<y)||(e=r.get(t+2),n+=(e&D)<<14,e<y)||(e=r.get(t+3),n+=(e&D)<<21,e<y)||(e=r.get(t+4),n+=(e&D)*$e,e<y)||(e=r.get(t+5),n+=(e&D)*ke,e<y)||(e=r.get(t+6),n+=(e&D)*Me,e<y)||(e=r.get(t+7),n+=(e&D)*Be,e<y))return n;throw new RangeError("Could not decode varint")}function et(r,t,e=0){return t==null&&(t=N(F(r))),t instanceof Uint8Array?wi(r,t,e):bi(r,t,e)}function j(r,t=0){return r instanceof Uint8Array?xi(r,t):yi(r,t)}function B(r,t){t==null&&(t=r.reduce((o,i)=>o+i.length,0));let e=N(t),n=0;for(let o of r)e.set(o,n),n+=o.length;return st(e)}var zt=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,a=0,u=this.peekChar();if(u===void 0)return;let d=u==="0",l=2**(8*o)-1;for(;;){let b=this.readAtomically(()=>{let w=this.readChar();if(w===void 0)return;let p=Number.parseInt(w,t);if(!Number.isNaN(p))return p});if(b===void 0)break;if(i*=t,i+=b,i>l||(a+=1,e!==void 0&&a>e))return}if(a!==0)return!n&&d&&a>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 a=this.readSeparator(":",n,()=>this.readIPv4Addr());if(a!==void 0)return e[o]=a[0],e[o+1]=a[1],e[o+2]=a[2],e[o+3]=a[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),a=16-(n+2),[u]=t(i.subarray(0,a));return e.set(i.subarray(0,u),16-u),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Hr=45,Ii=15,mt=new zt;function Oe(r){if(!(r.length>Ii))return mt.new(r).parseWith(()=>mt.readIPv4Addr())}function _e(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>Hr))return mt.new(r).parseWith(()=>mt.readIPv6Addr())}function jt(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>Hr))return mt.new(r).parseWith(()=>mt.readIPAddr())}var dc=parseInt("0xFFFF",16),pc=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Pt(r,t="utf8"){let e=Vt[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?st(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function Gt(r){return!!Oe(r)}function Wt(r){return!!_e(r)}function gt(r){return!!jt(r)}var Kr=Gt,Li=Wt,Ve=function(r){let t=0;if(r=r.toString().trim(),Kr(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(Li(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let i=Kr(e[n]),a;i&&(a=Ve(e[n]),e[n]=T(a.slice(0,2),"base16")),a!=null&&++n<8&&e.splice(n,0,T(a.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")},Zr=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 wt={},ze={},Ni=[[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"],[777,-1,"memory"]];Ni.forEach(r=>{let t=Di(...r);ze[t.code]=t,wt[t.name]=t});function Di(r,t,e,n,o){return{code:r,size:t,name:e,resolvable:!!n,path:!!o}}function I(r){if(typeof r=="number"){if(ze[r]!=null)return ze[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(wt[r]!=null)return wt[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var tu=I("ip4"),eu=I("ip6"),ru=I("ipcidr");function Ge(r,t){switch(I(r).code){case 4:case 41:return Ri(t);case 42:return en(t);case 6:case 273:case 33:case 132:return nn(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return en(t);case 421:return $i(t);case 444:return rn(t);case 445:return rn(t);case 466:return Ui(t);default:return T(t,"base16")}}function We(r,t){switch(I(r).code){case 4:return Yr(t);case 41:return Yr(t);case 42:return tn(t);case 6:case 273:case 33:case 132:return qe(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return tn(t);case 421:return Ci(t);case 444:return ki(t);case 445:return Mi(t);case 466:return Ti(t);default:return Pt(t,"base16")}}var je=Object.values(St).map(r=>r.decoder),Fi=function(){let r=je[0].or(je[1]);return je.slice(2).forEach(t=>r=r.or(t)),r}();function Yr(r){if(!gt(r))throw new Error("invalid ip address");return Ve(r)}function Ri(r){let t=Zr(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!gt(t))throw new Error("invalid ip address");return t}function qe(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function nn(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function tn(r){let t=Pt(r),e=Uint8Array.from(et(t.length));return B([e,t],e.length+t.length)}function en(r){let t=j(r);if(r=r.slice(F(t)),r.length!==t)throw new Error("inconsistent lengths");return T(r)}function Ci(r){let t;r[0]==="Q"||r[0]==="1"?t=Ot(P.decode(`z${r}`)).bytes:t=tt.parse(r).multihash.bytes;let e=Uint8Array.from(et(t.length));return B([e,t],e.length+t.length)}function Ti(r){let t=Fi.decode(r),e=Uint8Array.from(et(t.length));return B([e,t],e.length+t.length)}function Ui(r){let t=j(r),e=r.slice(F(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+T(e,"base64url")}function $i(r){let t=j(r),e=r.slice(F(t));if(e.length!==t)throw new Error("inconsistent lengths");return T(e,"base58btc")}function ki(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=K.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=qe(n);return B([e,o],e.length+o.length)}function Mi(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=K.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=qe(n);return B([e,o],e.length+o.length)}function rn(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=T(t,"base32"),o=nn(e);return`${n}:${o}`}function on(r){r=Xe(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 a=o[i],u=I(a);if(u.size===0){t.push([u.code]),e.push([u.code]);continue}if(i++,i>=o.length)throw an("invalid address: "+r);if(u.path===!0){n=Xe(o.slice(i).join("/")),t.push([u.code,We(u.code,n)]),e.push([u.code,n]);break}let d=We(u.code,o[i]);t.push([u.code,d]),e.push([u.code,Ge(u.code,d)])}return{string:sn(e),bytes:Qe(t),tuples:t,stringTuples:e,path:n}}function He(r){let t=[],e=[],n=null,o=0;for(;o<r.length;){let i=j(r,o),a=F(i),u=I(i),d=Bi(u,r.slice(o+a));if(d===0){t.push([i]),e.push([i]),o+=a;continue}let l=r.slice(o+a,o+a+d);if(o+=d+a,o>r.length)throw an("Invalid address Uint8Array: "+T(r,"base16"));t.push([i,l]);let b=Ge(i,l);if(e.push([i,b]),u.path===!0){n=b;break}}return{bytes:Uint8Array.from(r),string:sn(e),tuples:t,stringTuples:e,path:n}}function sn(r){let t=[];return r.map(e=>{let n=I(e[0]);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),Xe(t.join("/"))}function Qe(r){return B(r.map(t=>{let e=I(t[0]),n=Uint8Array.from(et(e.code));return t.length>1&&t[1]!=null&&(n=B([n,t[1]])),n}))}function Bi(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=j(t instanceof Uint8Array?t:Uint8Array.from(t));return e+F(e)}}function Xe(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function an(r){return new Error("Error parsing address: "+r)}var Oi=Symbol.for("nodejs.util.inspect.custom"),Je=Symbol.for("@multiformats/js-multiaddr/multiaddr"),_i=[I("dns").code,I("dns4").code,I("dns6").code,I("dnsaddr").code],qt=class r{bytes;#e;#t;#r;#n;[Je]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=He(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=on(t)}else if(un(t))e=He(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=e.bytes,this.#e=e.string,this.#t=e.tuples,this.#r=e.stringTuples,this.#n=e.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let t,e,n,o,i="",a=I("tcp"),u=I("udp"),d=I("ip4"),l=I("ip6"),b=I("dns6"),w=I("ip6zone");for(let[s,c]of this.stringTuples())s===w.code&&(i=`%${c??""}`),_i.includes(s)&&(e=a.name,o=443,n=`${c??""}${i}`,t=s===b.code?6:4),(s===a.code||s===u.code)&&(e=I(s).name,o=parseInt(c??"")),(s===d.code||s===l.code)&&(e=I(s).name,n=`${c??""}${i}`,t=s===l.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.#t.map(([t])=>Object.assign({},I(t)))}protoCodes(){return this.#t.map(([t])=>t)}protoNames(){return this.#t.map(([t])=>I(t).name)}tuples(){return this.#t}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(Qe(e.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,o])=>{n===wt.p2p.code&&t.push([n,o]),n===wt["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?T(P.decode(`z${n}`),"base58btc"):T(tt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return _t(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(i=>i.resolvable);if(e==null)return[this];let n=cn.get(e.name);if(n==null)throw new z(`no available resolver for ${e.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(i=>new r(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)}[Oi](){return`Multiaddr(${this.#e})`}};var cn=new Map;function un(r){return!!r?.[Je]}function Ke(r){return new qt(r)}var fn=()=>{let r=new Error("Delay aborted");return r.name="AbortError",r},Vi=new WeakMap;function zi({clearTimeout:r,setTimeout:t}={}){return(e,{value:n,signal:o}={})=>{if(o?.aborted)return Promise.reject(fn());let i,a,u,d=r??clearTimeout,l=()=>{d(i),u(fn())},b=()=>{o&&o.removeEventListener("abort",l)},w=new Promise((p,s)=>{a=()=>{b(),p(n)},u=s,i=(t??setTimeout)(a,e)});return o&&o.addEventListener("abort",l,{once:!0}),Vi.set(w,()=>{d(i),i=null,a()}),w}}var ji=zi(),hn=ji;var dn=Symbol.for("@achingbrain/uint8arraylist");function ln(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 Xt(r){return!!r?.[dn]}var O=class r{bufs;length;[dn]=!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(Xt(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(Xt(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=ln(this.bufs,t);return e.buf[e.index]}set(t,e){let n=ln(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(Xt(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 B(n,o)}subarray(t,e){let{bufs:n,length:o}=this._subList(t,e);return n.length===1?n[0]:B(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 a=this.bufs[i],u=o,d=u+a.byteLength;if(o=d,t>=d)continue;let l=t>=u&&t<d,b=e>u&&e<=d;if(l&&b){if(t===u&&e===d){n.push(a);break}let w=t-u;n.push(a.subarray(w,w+(e-t)));break}if(l){if(t===0){n.push(a);continue}n.push(a.subarray(t-u));continue}if(b){if(e===d){n.push(a);break}n.push(a.subarray(0,e-u));break}n.push(a)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!Xt(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,a=new Int32Array(i);for(let w=0;w<i;w++)a[w]=-1;for(let w=0;w<o;w++)a[n[w]]=w;let u=a,d=this.byteLength-n.byteLength,l=n.byteLength-1,b;for(let w=e;w<=d;w+=b){b=0;for(let p=l;p>=0;p--){let s=this.get(w+p);if(n[p]!==s){b=Math.max(1,p-u[s]);break}}if(b===0)return w}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=N(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=Z(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=Z(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=Z(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=N(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=Z(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=Z(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=Z(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=Z(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=Z(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(!_t(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}};function bt(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var Ht=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 pn(r,t,e){if(t==null)return r;if(t.aborted)return Promise.reject(new Ht(e?.errorMessage,e?.errorCode));let n,o=new Ht(e?.errorMessage,e?.errorCode);try{return await Promise.race([r,new Promise((i,a)=>{n=()=>{a(o)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var Ze=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=bt(),this.haveNext=bt()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let t=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=bt(),t}async throw(t){return this.ended=!0,t!=null&&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");this.nextResult!=null&&await this.needNext.promise,t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=bt(),await pn(this.needNext.promise,e?.signal,e)}};function mn(){return new Ze}var Qt=class extends Error{code;constructor(t,e){super(t),this.code=e}},Ye=class extends Qt{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function gn(r,t){let e=mn();r.sink(e).catch(async a=>{await e.end(a)}),r.sink=async a=>{for await(let u of a)await e.push(u);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 O;return{read:async(a,u)=>{u?.signal?.throwIfAborted();let d,l=new Promise((b,w)=>{d=()=>{w(new Ye("Read aborted"))},u?.signal?.addEventListener("abort",d)});try{if(a==null){let{done:w,value:p}=await Promise.race([n.next(),l]);return w===!0?new O:p}for(;o.byteLength<a;){let{value:w,done:p}=await Promise.race([n.next(),l]);if(p===!0)throw new Qt("unexpected end of input","ERR_UNEXPECTED_EOF");o.append(w)}let b=o.sublist(0,a);return o.consume(a),b}finally{d!=null&&u?.signal?.removeEventListener("abort",d)}},write:async(a,u)=>{u?.signal?.throwIfAborted(),a instanceof Uint8Array?await e.push(a,u):await e.push(a.subarray(),u)},unwrap:()=>{if(o.byteLength>0){let a=r.source;r.source=async function*(){t?.yieldBytes===!1?yield o:yield*o,yield*a}()}return r}}}function Jt(r){return r[Symbol.asyncIterator]!=null}var Kt=r=>{let t=F(r),e=N(t);return et(r,e),Kt.bytes=t,e};Kt.bytes=0;function Nt(r,t){t=t??{};let e=t.lengthEncoder??Kt;function*n(o){let i=e(o.byteLength);i instanceof Uint8Array?yield i:yield*i,o instanceof Uint8Array?yield o:yield*o}return Jt(r)?async function*(){for await(let o of r)yield*n(o)}():function*(){for(let o of r)yield*n(o)}()}Nt.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??Kt;return new O(e(r.byteLength),r)};var xt=he(xn(),1);var Wi=8,qi=1024*1024*4,at;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(at||(at={}));var er=r=>{let t=j(r);return er.bytes=F(t),t};er.bytes=0;function tr(r,t){let e=new O,n=at.LENGTH,o=-1,i=t?.lengthDecoder??er,a=t?.maxLengthLength??Wi,u=t?.maxDataLength??qi;function*d(){for(;e.byteLength>0;){if(n===at.LENGTH)try{if(o=i(e),o<0)throw(0,xt.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(o>u)throw(0,xt.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let l=i.bytes;e.consume(l),t?.onLength!=null&&t.onLength(o),n=at.DATA}catch(l){if(l instanceof RangeError){if(e.byteLength>a)throw(0,xt.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw l}if(n===at.DATA){if(e.byteLength<o)break;let l=e.sublist(0,o);e.consume(o),t?.onData!=null&&t.onData(l),yield l,n=at.LENGTH}}}return Jt(r)?async function*(){for await(let l of r)e.append(l),yield*d();if(e.byteLength>0)throw(0,xt.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let l of r)e.append(l),yield*d();if(e.byteLength>0)throw(0,xt.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}tr.fromReader=(r,t)=>{let e=1,n=async function*(){for(;;)try{let{done:i,value:a}=await r.next(e);if(i===!0)return;a!=null&&(yield a)}catch(i){if(i.code==="ERR_UNDER_READ")return{done:!0,value:null};throw i}finally{e=1}}();return tr(n,{...t??{},onLength:i=>{e=i}})};var Zt=class extends Error{code;constructor(t,e){super(t),this.code=e}},yn=r=>j(r);yn.bytes=0;function In(r,t={}){let e=gn(r,t);return t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=F(t.maxDataLength)),{read:async o=>{let i=-1,a=new O,u=t?.lengthDecoder??yn;for(;;){a.append(await e.read(1,o));try{i=u(a)}catch(d){if(d instanceof RangeError)continue;throw d}if(t?.maxLengthLength!=null&&a.byteLength>t.maxLengthLength)throw new Zt("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(i>-1)break}if(t?.maxDataLength!=null&&i>t.maxDataLength)throw new Zt("message length too long","ERR_MSG_DATA_TOO_LONG");return e.read(i,o)},write:async(o,i)=>{await e.write(Nt.single(o,t),i)},writeV:async(o,i)=>{let a=new O(...o.map(u=>Nt.single(u,t)));await e.write(a,i)},unwrap:()=>e.unwrap()}}function rr(r,t){let e=In(r,t),n={read:async(o,i)=>{let a=await e.read(i);return o.decode(a)},write:async(o,i,a)=>{await e.write(i.encode(o),a)},writeV:async(o,i,a)=>{await e.writeV(o.map(u=>i.encode(u)),a)},pb:o=>({read:async i=>n.read(o,i),write:async(i,a)=>n.write(i,o,a),writeV:async(i,a)=>n.writeV(i,o,a),unwrap:()=>n}),unwrap:()=>e.unwrap()};return n}var nr=new Float32Array([-0]),rt=new Uint8Array(nr.buffer);function An(r,t,e){nr[0]=r,t[e]=rt[0],t[e+1]=rt[1],t[e+2]=rt[2],t[e+3]=rt[3]}function vn(r,t){return rt[0]=r[t],rt[1]=r[t+1],rt[2]=r[t+2],rt[3]=r[t+3],nr[0]}var or=new Float64Array([-0]),R=new Uint8Array(or.buffer);function En(r,t,e){or[0]=r,t[e]=R[0],t[e+1]=R[1],t[e+2]=R[2],t[e+3]=R[3],t[e+4]=R[4],t[e+5]=R[5],t[e+6]=R[6],t[e+7]=R[7]}function Sn(r,t){return R[0]=r[t],R[1]=r[t+1],R[2]=r[t+2],R[3]=r[t+3],R[4]=r[t+4],R[5]=r[t+5],R[6]=r[t+6],R[7]=r[t+7],or[0]}var Hi=BigInt(Number.MAX_SAFE_INTEGER),Qi=BigInt(Number.MIN_SAFE_INTEGER),U=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 ct;if(t<Hi&&t>Qi)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>Ln&&(o=0n,++n>Ln&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(t){if(t===0)return ct;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):ct}},ct=new U(0,0);ct.toBigInt=function(){return 0n};ct.zzEncode=ct.zzDecode=function(){return this};ct.length=function(){return 1};var Ln=4294967296n;function Pn(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 Nn(r,t,e){if(e-t<1)return"";let o,i=[],a=0,u;for(;t<e;)u=r[t++],u<128?i[a++]=u:u>191&&u<224?i[a++]=(u&31)<<6|r[t++]&63:u>239&&u<365?(u=((u&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,i[a++]=55296+(u>>10),i[a++]=56320+(u&1023)):i[a++]=(u&15)<<12|(r[t++]&63)<<6|r[t++]&63,a>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,i)),a=0);return o!=null?(a>0&&o.push(String.fromCharCode.apply(String,i.slice(0,a))),o.join("")):String.fromCharCode.apply(String,i.slice(0,a))}function ir(r,t,e){let n=e,o,i;for(let a=0;a<r.length;++a)o=r.charCodeAt(a),o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&((i=r.charCodeAt(a+1))&64512)===56320?(o=65536+((o&1023)<<10)+(i&1023),++a,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 G(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function Yt(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var sr=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,G(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 G(this,4);return Yt(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw G(this,4);return Yt(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw G(this,4);let t=vn(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw G(this,4);let t=Sn(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 G(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return Nn(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw G(this,t);this.pos+=t}else do if(this.pos>=this.len)throw G(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 U(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 G(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 G(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 G(this,8);let t=Yt(this.buf,this.pos+=4),e=Yt(this.buf,this.pos+=4);return new U(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}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 ar(r){return new sr(r instanceof Uint8Array?r:r.subarray())}function cr(r,t){let e=ar(r);return t.decode(e)}function ur(r){let t=r??8192,e=t>>>1,n,o=t;return function(a){if(a<1||a>e)return N(a);o+a>t&&(n=N(t),o=0);let u=n.subarray(o,o+=a);return o&7&&(o=(o|7)+1),u}}var ut=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function fr(){}var lr=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Ji=ur();function Ki(r){return globalThis.Buffer!=null?N(r):Ji(r)}var Rt=class{len;head;tail;states;constructor(){this.len=0,this.head=new ut(fr,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new ut(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new dr((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(Dt,10,U.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=U.fromBigInt(t);return this._push(Dt,e.length(),e)}uint64Number(t){let e=U.fromNumber(t);return this._push(Dt,e.length(),e)}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=U.fromBigInt(t).zzEncode();return this._push(Dt,e.length(),e)}sint64Number(t){let e=U.fromNumber(t).zzEncode();return this._push(Dt,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(hr,1,t?1:0)}fixed32(t){return this._push(Ft,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=U.fromBigInt(t);return this._push(Ft,4,e.lo)._push(Ft,4,e.hi)}fixed64Number(t){let e=U.fromNumber(t);return this._push(Ft,4,e.lo)._push(Ft,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(An,4,t)}double(t){return this._push(En,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(hr,1,0):this.uint32(e)._push(Yi,e,t)}string(t){let e=Pn(t);return e!==0?this.uint32(e)._push(ir,e,t):this._push(hr,1,0)}fork(){return this.states=new lr(this),this.head=this.tail=new ut(fr,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 ut(fr,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=Ki(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function hr(r,t,e){t[e]=r&255}function Zi(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var dr=class extends ut{next;constructor(t,e){super(Zi,t,e),this.next=void 0}};function Dt(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 Ft(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 Yi(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(Rt.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(ts,t,r),this},Rt.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(es,t,r),this});function ts(r,t,e){t.set(r,e)}function es(r,t,e){r.length<40?ir(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(Pt(r),e)}function pr(){return new Rt}function mr(r,t){let e=pr();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var yt;(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"})(yt||(yt={}));function te(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function gr(r){function t(o){if(r[o.toString()]==null)throw new Error("Invalid enum value");return r[o]}let e=function(i,a){let u=t(i);a.int32(u)},n=function(i){let a=i.int32();return t(a)};return te("enum",yt.VARINT,e,n)}function wr(r,t){return te("message",yt.LENGTH_DELIMITED,r,t)}var W;(function(r){let t;(function(o){o.UNUSED="UNUSED",o.CONNECT="CONNECT",o.SYNC="SYNC"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.UNUSED=0]="UNUSED",o[o.CONNECT=100]="CONNECT",o[o.SYNC=300]="SYNC"})(e||(e={})),function(o){o.codec=()=>gr(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=wr((o,i,a={})=>{if(a.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.observedAddresses!=null)for(let u of o.observedAddresses)i.uint32(18),i.bytes(u);a.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let a={observedAddresses:[]},u=i==null?o.len:o.pos+i;for(;o.pos<u;){let d=o.uint32();switch(d>>>3){case 1:a.type=r.Type.codec().decode(o);break;case 2:a.observedAddresses.push(o.bytes());break;default:o.skipType(d&7);break}}return a})),n),r.encode=o=>mr(o,r.codec()),r.decode=o=>cr(o,r.codec())})(W||(W={}));var rs=r=>r.toString().split("/").slice(1),Ct=r=>({match:t=>t.length<1?!1:r(t[0])?t.slice(1):!1,pattern:"fn"}),v=r=>({match:t=>Ct(e=>e===r).match(t),pattern:r}),ne=()=>({match:r=>Ct(t=>typeof t=="string").match(r),pattern:"{string}"}),Fn=()=>({match:r=>Ct(t=>!isNaN(parseInt(t))).match(r),pattern:"{number}"}),_=()=>({match:r=>{if(r.length<2||r[0]!=="p2p"&&r[0]!=="ipfs")return!1;if(r[1].startsWith("Q")||r[1].startsWith("1"))try{P.decode(`z${r[1]}`)}catch{return!1}else return!1;return r.slice(2)},pattern:"/p2p/{peerid}"}),ee=()=>({match:r=>{if(r.length<2||r[0]!=="certhash")return!1;try{Le.decode(r[1])}catch{return!1}return r.slice(2)},pattern:"/certhash/{certhash}"}),X=r=>({match:t=>{let e=r.match(t);return e===!1?t:e},pattern:`optional(${r.pattern})`}),H=(...r)=>({match:t=>{let e;for(let n of r){let o=n.match(t);o!==!1&&(e==null||o.length<e.length)&&(e=o)}return e??!1},pattern:`or(${r.map(t=>t.pattern).join(", ")})`}),E=(...r)=>({match:t=>{for(let e of r){let n=e.match(t);if(n===!1)return!1;t=n}return t},pattern:`and(${r.map(t=>t.pattern).join(", ")})`});function L(...r){function t(o){let i=rs(o);for(let a of r){let u=a.match(i);if(u===!1)return!1;i=u}return i}function e(o){return t(o)!==!1}function n(o){let i=t(o);return i===!1?!1:i.length===0}return{matches:e,exactMatch:n}}var xr=E(v("dns4"),ne()),yr=E(v("dns6"),ne()),Ir=E(v("dnsaddr"),ne()),Rn=E(v("dns"),ne()),Of=L(xr),_f=L(yr),Vf=L(Ir),Cn=L(H(Rn,Ir,xr,yr)),Tn=E(v("ip4"),Ct(Gt)),Un=E(v("ip6"),Ct(Wt)),$n=H(Tn,Un),Tt=H($n,Rn,xr,yr,Ir),zf=L(Tt),jf=L(Tn),Gf=L(Un),kn=L($n),oe=E(Tt,v("tcp"),Fn()),Ut=E(Tt,v("udp"),Fn()),ns=H(oe,Ut),Wf=L(oe),qf=L(Ut),Ar=E(Ut,v("quic")),ie=E(Ut,v("quic-v1")),os=H(Ar,ie),Xf=L(Ar),Hf=L(ie),br=H(Tt,oe,Ut,Ar,ie),Mn=H(E(br,v("ws"),X(_()))),Qf=L(Mn),Bn=H(E(br,v("wss"),X(_())),E(br,v("tls"),v("ws"),X(_()))),Jf=L(Bn),On=E(ns,v("webrtc-direct"),ee(),X(ee()),X(_())),Kf=L(On),_n=E(ie,v("webtransport"),ee(),ee(),X(_())),Zf=L(_n),re=H(Mn,Bn,E(oe,X(_())),E(os,X(_())),E(Tt,X(_())),On,_n,_()),Yf=L(re),is=E(re,v("p2p-circuit"),_()),Vn=L(is),ss=H(E(re,v("p2p-circuit"),v("webrtc"),_()),E(re,v("webrtc"),X(_())),v("webrtc")),th=L(ss);var Hn=he(zn(),1);var jn="[a-fA-F\\d:]",nt=r=>r&&r.includeBoundaries?`(?:(?<=\\s|^)(?=${jn})|(?<=${jn})(?=\\s|$))`:"",q="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",S="[a-fA-F\\d]{1,4}",se=`
|
|
2
|
+
"use strict";var Libp2PDcutr=(()=>{var pi=Object.create;var Kt=Object.defineProperty;var mi=Object.getOwnPropertyDescriptor;var gi=Object.getOwnPropertyNames;var wi=Object.getPrototypeOf,bi=Object.prototype.hasOwnProperty;var Le=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),D=(r,t)=>{for(var e in t)Kt(r,e,{get:t[e],enumerable:!0})},dn=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of gi(t))!bi.call(r,o)&&o!==e&&Kt(r,o,{get:()=>t[o],enumerable:!(n=mi(t,o))||n.enumerable});return r};var De=(r,t,e)=>(e=r!=null?pi(wi(r)):{},dn(t||!r||!r.__esModule?Kt(e,"default",{value:r,enumerable:!0}):e,r)),xi=r=>dn(Kt({},"__esModule",{value:!0}),r);var Do=Le((td,Lo)=>{"use strict";function So(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function uc(r,t,e){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");e||(e={}),typeof t=="object"&&(e=t,t=""),t&&(e.code=t);try{return So(r,e)}catch{e.message=r.message,e.stack=r.stack;let o=function(){};return o.prototype=Object.create(Object.getPrototypeOf(r)),So(new o,e)}}Lo.exports=uc});var ri=Le(Ht=>{(function(){var r,t,e,n,o,i,a,f;f=function(l){var d,w,b,g;return d=(l&255<<24)>>>24,w=(l&255<<16)>>>16,b=(l&65280)>>>8,g=l&255,[d,w,b,g].join(".")},a=function(l){var d,w,b,g,c,s;for(d=[],b=g=0;g<=3&&l.length!==0;b=++g){if(b>0){if(l[0]!==".")throw new Error("Invalid IP");l=l.substring(1)}s=t(l),c=s[0],w=s[1],l=l.substring(w),d.push(c)}if(l.length!==0)throw new Error("Invalid IP");switch(d.length){case 1:if(d[0]>4294967295)throw new Error("Invalid IP");return d[0]>>>0;case 2:if(d[0]>255||d[1]>16777215)throw new Error("Invalid IP");return(d[0]<<24|d[1])>>>0;case 3:if(d[0]>255||d[1]>255||d[2]>65535)throw new Error("Invalid IP");return(d[0]<<24|d[1]<<16|d[2])>>>0;case 4:if(d[0]>255||d[1]>255||d[2]>255||d[3]>255)throw new Error("Invalid IP");return(d[0]<<24|d[1]<<16|d[2]<<8|d[3])>>>0;default:throw new Error("Invalid IP")}},e=function(l){return l.charCodeAt(0)},n=e("0"),i=e("a"),o=e("A"),t=function(l){var d,w,b,g,c;for(g=0,d=10,w="9",b=0,l.length>1&&l[b]==="0"&&(l[b+1]==="x"||l[b+1]==="X"?(b+=2,d=16):"0"<=l[b+1]&&l[b+1]<="9"&&(b++,d=8,w="7")),c=b;b<l.length;){if("0"<=l[b]&&l[b]<=w)g=g*d+(e(l[b])-n)>>>0;else if(d===16)if("a"<=l[b]&&l[b]<="f")g=g*d+(10+e(l[b])-i)>>>0;else if("A"<=l[b]&&l[b]<="F")g=g*d+(10+e(l[b])-o)>>>0;else break;else break;if(g>4294967295)throw new Error("too large");b++}if(b===c)throw new Error("empty octet");return[g,b]},r=function(){function l(d,w){var b,g,c,s;if(typeof d!="string")throw new Error("Missing `net' parameter");if(w||(s=d.split("/",2),d=s[0],w=s[1]),w||(w=32),typeof w=="string"&&w.indexOf(".")>-1){try{this.maskLong=a(w)}catch(h){throw b=h,new Error("Invalid mask: "+w)}for(g=c=32;c>=0;g=--c)if(this.maskLong===4294967295<<32-g>>>0){this.bitmask=g;break}}else if(w||w===0)this.bitmask=parseInt(w,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(a(d)&this.maskLong)>>>0}catch(h){throw b=h,new Error("Invalid net address: "+d)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+w);this.size=Math.pow(2,32-this.bitmask),this.base=f(this.netLong),this.mask=f(this.maskLong),this.hostmask=f(~this.maskLong),this.first=this.bitmask<=30?f(this.netLong+1):this.base,this.last=this.bitmask<=30?f(this.netLong+this.size-2):f(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?f(this.netLong+this.size-1):void 0}return l.prototype.contains=function(d){return typeof d=="string"&&(d.indexOf("/")>0||d.split(".").length!==4)&&(d=new l(d)),d instanceof l?this.contains(d.base)&&this.contains(d.broadcast||d.last):(a(d)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},l.prototype.next=function(d){return d==null&&(d=1),new l(f(this.netLong+this.size*d),this.mask)},l.prototype.forEach=function(d){var w,b,g;for(g=a(this.first),b=a(this.last),w=0;g<=b;)d(f(g),g,w),w++,g++},l.prototype.toString=function(){return this.base+"/"+this.bitmask},l}(),Ht.ip2long=a,Ht.long2ip=f,Ht.Netmask=r}).call(Ht)});var si=Le((ii,Ie)=>{(function(r){"use strict";let t="(0?\\d+|0x[a-f0-9]+)",e={fourOctet:new RegExp(`^${t}\\.${t}\\.${t}\\.${t}$`,"i"),threeOctet:new RegExp(`^${t}\\.${t}\\.${t}$`,"i"),twoOctet:new RegExp(`^${t}\\.${t}$`,"i"),longValue:new RegExp(`^${t}$`,"i")},n=new RegExp("^0[0-7]+$","i"),o=new RegExp("^0x[a-f0-9]+$","i"),i="%[0-9a-z]{1,}",a="(?:[0-9a-f]+::?)+",f={zoneIndex:new RegExp(i,"i"),native:new RegExp(`^(::)?(${a})?([0-9a-f]+)?(::)?(${i})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${t}\\.${t}\\.${t}\\.${t}(${i})?)$`,"i"),transitional:new RegExp(`^((?:${a})|(?:::)(?:${a})?)${t}\\.${t}\\.${t}\\.${t}(${i})?$`,"i")};function l(c,s){if(c.indexOf("::")!==c.lastIndexOf("::"))return null;let h=0,u=-1,p=(c.match(f.zoneIndex)||[])[0],m,x;for(p&&(p=p.substring(1),c=c.replace(/%.+$/,""));(u=c.indexOf(":",u+1))>=0;)h++;if(c.substr(0,2)==="::"&&h--,c.substr(-2,2)==="::"&&h--,h>s)return null;for(x=s-h,m=":";x--;)m+="0:";return c=c.replace("::",m),c[0]===":"&&(c=c.slice(1)),c[c.length-1]===":"&&(c=c.slice(0,-1)),s=function(){let y=c.split(":"),v=[];for(let I=0;I<y.length;I++)v.push(parseInt(y[I],16));return v}(),{parts:s,zoneId:p}}function d(c,s,h,u){if(c.length!==s.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let p=0,m;for(;u>0;){if(m=h-u,m<0&&(m=0),c[p]>>m!==s[p]>>m)return!1;u-=h,p+=1}return!0}function w(c){if(o.test(c))return parseInt(c,16);if(c[0]==="0"&&!isNaN(parseInt(c[1],10))){if(n.test(c))return parseInt(c,8);throw new Error(`ipaddr: cannot parse ${c} as octal`)}return parseInt(c,10)}function b(c,s){for(;c.length<s;)c=`0${c}`;return c}let g={};g.IPv4=function(){function c(s){if(s.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let h,u;for(h=0;h<s.length;h++)if(u=s[h],!(0<=u&&u<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=s}return c.prototype.SpecialRanges={unspecified:[[new c([0,0,0,0]),8]],broadcast:[[new c([255,255,255,255]),32]],multicast:[[new c([224,0,0,0]),4]],linkLocal:[[new c([169,254,0,0]),16]],loopback:[[new c([127,0,0,0]),8]],carrierGradeNat:[[new c([100,64,0,0]),10]],private:[[new c([10,0,0,0]),8],[new c([172,16,0,0]),12],[new c([192,168,0,0]),16]],reserved:[[new c([192,0,0,0]),24],[new c([192,0,2,0]),24],[new c([192,88,99,0]),24],[new c([198,18,0,0]),15],[new c([198,51,100,0]),24],[new c([203,0,113,0]),24],[new c([240,0,0,0]),4]]},c.prototype.kind=function(){return"ipv4"},c.prototype.match=function(s,h){let u;if(h===void 0&&(u=s,s=u[0],h=u[1]),s.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return d(this.octets,s.octets,8,h)},c.prototype.prefixLengthFromSubnetMask=function(){let s=0,h=!1,u={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},p,m,x;for(p=3;p>=0;p-=1)if(m=this.octets[p],m in u){if(x=u[m],h&&x!==0)return null;x!==8&&(h=!0),s+=x}else return null;return 32-s},c.prototype.range=function(){return g.subnetMatch(this,this.SpecialRanges)},c.prototype.toByteArray=function(){return this.octets.slice(0)},c.prototype.toIPv4MappedAddress=function(){return g.IPv6.parse(`::ffff:${this.toString()}`)},c.prototype.toNormalizedString=function(){return this.toString()},c.prototype.toString=function(){return this.octets.join(".")},c}(),g.IPv4.broadcastAddressFromCIDR=function(c){try{let s=this.parseCIDR(c),h=s[0].toByteArray(),u=this.subnetMaskFromPrefixLength(s[1]).toByteArray(),p=[],m=0;for(;m<4;)p.push(parseInt(h[m],10)|parseInt(u[m],10)^255),m++;return new this(p)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},g.IPv4.isIPv4=function(c){return this.parser(c)!==null},g.IPv4.isValid=function(c){try{return new this(this.parser(c)),!0}catch{return!1}},g.IPv4.isValidFourPartDecimal=function(c){return!!(g.IPv4.isValid(c)&&c.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},g.IPv4.networkAddressFromCIDR=function(c){let s,h,u,p,m;try{for(s=this.parseCIDR(c),u=s[0].toByteArray(),m=this.subnetMaskFromPrefixLength(s[1]).toByteArray(),p=[],h=0;h<4;)p.push(parseInt(u[h],10)&parseInt(m[h],10)),h++;return new this(p)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},g.IPv4.parse=function(c){let s=this.parser(c);if(s===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(s)},g.IPv4.parseCIDR=function(c){let s;if(s=c.match(/^(.+)\/(\d+)$/)){let h=parseInt(s[2]);if(h>=0&&h<=32){let u=[this.parse(s[1]),h];return Object.defineProperty(u,"toString",{value:function(){return this.join("/")}}),u}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},g.IPv4.parser=function(c){let s,h,u;if(s=c.match(e.fourOctet))return function(){let p=s.slice(1,6),m=[];for(let x=0;x<p.length;x++)h=p[x],m.push(w(h));return m}();if(s=c.match(e.longValue)){if(u=w(s[1]),u>4294967295||u<0)throw new Error("ipaddr: address outside defined range");return function(){let p=[],m;for(m=0;m<=24;m+=8)p.push(u>>m&255);return p}().reverse()}else return(s=c.match(e.twoOctet))?function(){let p=s.slice(1,4),m=[];if(u=w(p[1]),u>16777215||u<0)throw new Error("ipaddr: address outside defined range");return m.push(w(p[0])),m.push(u>>16&255),m.push(u>>8&255),m.push(u&255),m}():(s=c.match(e.threeOctet))?function(){let p=s.slice(1,5),m=[];if(u=w(p[2]),u>65535||u<0)throw new Error("ipaddr: address outside defined range");return m.push(w(p[0])),m.push(w(p[1])),m.push(u>>8&255),m.push(u&255),m}():null},g.IPv4.subnetMaskFromPrefixLength=function(c){if(c=parseInt(c),c<0||c>32)throw new Error("ipaddr: invalid IPv4 prefix length");let s=[0,0,0,0],h=0,u=Math.floor(c/8);for(;h<u;)s[h]=255,h++;return u<4&&(s[u]=Math.pow(2,c%8)-1<<8-c%8),new this(s)},g.IPv6=function(){function c(s,h){let u,p;if(s.length===16)for(this.parts=[],u=0;u<=14;u+=2)this.parts.push(s[u]<<8|s[u+1]);else if(s.length===8)this.parts=s;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(u=0;u<this.parts.length;u++)if(p=this.parts[u],!(0<=p&&p<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");h&&(this.zoneId=h)}return c.prototype.SpecialRanges={unspecified:[new c([0,0,0,0,0,0,0,0]),128],linkLocal:[new c([65152,0,0,0,0,0,0,0]),10],multicast:[new c([65280,0,0,0,0,0,0,0]),8],loopback:[new c([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new c([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new c([0,0,0,0,0,65535,0,0]),96],rfc6145:[new c([0,0,0,0,65535,0,0,0]),96],rfc6052:[new c([100,65435,0,0,0,0,0,0]),96],"6to4":[new c([8194,0,0,0,0,0,0,0]),16],teredo:[new c([8193,0,0,0,0,0,0,0]),32],reserved:[[new c([8193,3512,0,0,0,0,0,0]),32]],benchmarking:[new c([8193,2,0,0,0,0,0,0]),48],amt:[new c([8193,3,0,0,0,0,0,0]),32],as112v6:[new c([8193,4,274,0,0,0,0,0]),48],deprecated:[new c([8193,16,0,0,0,0,0,0]),28],orchid2:[new c([8193,32,0,0,0,0,0,0]),28]},c.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},c.prototype.kind=function(){return"ipv6"},c.prototype.match=function(s,h){let u;if(h===void 0&&(u=s,s=u[0],h=u[1]),s.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return d(this.parts,s.parts,16,h)},c.prototype.prefixLengthFromSubnetMask=function(){let s=0,h=!1,u={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},p,m;for(let x=7;x>=0;x-=1)if(p=this.parts[x],p in u){if(m=u[p],h&&m!==0)return null;m!==16&&(h=!0),s+=m}else return null;return 128-s},c.prototype.range=function(){return g.subnetMatch(this,this.SpecialRanges)},c.prototype.toByteArray=function(){let s,h=[],u=this.parts;for(let p=0;p<u.length;p++)s=u[p],h.push(s>>8),h.push(s&255);return h},c.prototype.toFixedLengthString=function(){let s=function(){let u=[];for(let p=0;p<this.parts.length;p++)u.push(b(this.parts[p].toString(16),4));return u}.call(this).join(":"),h="";return this.zoneId&&(h=`%${this.zoneId}`),s+h},c.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let s=this.parts.slice(-2),h=s[0],u=s[1];return new g.IPv4([h>>8,h&255,u>>8,u&255])},c.prototype.toNormalizedString=function(){let s=function(){let u=[];for(let p=0;p<this.parts.length;p++)u.push(this.parts[p].toString(16));return u}.call(this).join(":"),h="";return this.zoneId&&(h=`%${this.zoneId}`),s+h},c.prototype.toRFC5952String=function(){let s=/((^|:)(0(:|$)){2,})/g,h=this.toNormalizedString(),u=0,p=-1,m;for(;m=s.exec(h);)m[0].length>p&&(u=m.index,p=m[0].length);return p<0?h:`${h.substring(0,u)}::${h.substring(u+p)}`},c.prototype.toString=function(){return this.toRFC5952String()},c}(),g.IPv6.broadcastAddressFromCIDR=function(c){try{let s=this.parseCIDR(c),h=s[0].toByteArray(),u=this.subnetMaskFromPrefixLength(s[1]).toByteArray(),p=[],m=0;for(;m<16;)p.push(parseInt(h[m],10)|parseInt(u[m],10)^255),m++;return new this(p)}catch(s){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${s})`)}},g.IPv6.isIPv6=function(c){return this.parser(c)!==null},g.IPv6.isValid=function(c){if(typeof c=="string"&&c.indexOf(":")===-1)return!1;try{let s=this.parser(c);return new this(s.parts,s.zoneId),!0}catch{return!1}},g.IPv6.networkAddressFromCIDR=function(c){let s,h,u,p,m;try{for(s=this.parseCIDR(c),u=s[0].toByteArray(),m=this.subnetMaskFromPrefixLength(s[1]).toByteArray(),p=[],h=0;h<16;)p.push(parseInt(u[h],10)&parseInt(m[h],10)),h++;return new this(p)}catch(x){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${x})`)}},g.IPv6.parse=function(c){let s=this.parser(c);if(s.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(s.parts,s.zoneId)},g.IPv6.parseCIDR=function(c){let s,h,u;if((h=c.match(/^(.+)\/(\d+)$/))&&(s=parseInt(h[2]),s>=0&&s<=128))return u=[this.parse(h[1]),s],Object.defineProperty(u,"toString",{value:function(){return this.join("/")}}),u;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},g.IPv6.parser=function(c){let s,h,u,p,m,x;if(u=c.match(f.deprecatedTransitional))return this.parser(`::ffff:${u[1]}`);if(f.native.test(c))return l(c,8);if((u=c.match(f.transitional))&&(x=u[6]||"",s=l(u[1].slice(0,-1)+x,6),s.parts)){for(m=[parseInt(u[2]),parseInt(u[3]),parseInt(u[4]),parseInt(u[5])],h=0;h<m.length;h++)if(p=m[h],!(0<=p&&p<=255))return null;return s.parts.push(m[0]<<8|m[1]),s.parts.push(m[2]<<8|m[3]),{parts:s.parts,zoneId:s.zoneId}}return null},g.IPv6.subnetMaskFromPrefixLength=function(c){if(c=parseInt(c),c<0||c>128)throw new Error("ipaddr: invalid IPv6 prefix length");let s=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],h=0,u=Math.floor(c/8);for(;h<u;)s[h]=255,h++;return u<16&&(s[u]=Math.pow(2,c%8)-1<<8-c%8),new this(s)},g.fromByteArray=function(c){let s=c.length;if(s===4)return new g.IPv4(c);if(s===16)return new g.IPv6(c);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},g.isValid=function(c){return g.IPv6.isValid(c)||g.IPv4.isValid(c)},g.parse=function(c){if(g.IPv6.isValid(c))return g.IPv6.parse(c);if(g.IPv4.isValid(c))return g.IPv4.parse(c);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},g.parseCIDR=function(c){try{return g.IPv6.parseCIDR(c)}catch{try{return g.IPv4.parseCIDR(c)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},g.process=function(c){let s=this.parse(c);return s.kind()==="ipv6"&&s.isIPv4MappedAddress()?s.toIPv4Address():s},g.subnetMatch=function(c,s,h){let u,p,m,x;h==null&&(h="unicast");for(p in s)if(Object.prototype.hasOwnProperty.call(s,p)){for(m=s[p],m[0]&&!(m[0]instanceof Array)&&(m=[m]),u=0;u<m.length;u++)if(x=m[u],c.kind()===x[0].kind()&&c.match.apply(c,x))return p}return h},typeof Ie<"u"&&Ie.exports?Ie.exports=g:r.ipaddr=g})(ii)});var _c={};D(_c,{dcutr:()=>Vc,multicodec:()=>Ft});var Gc=Symbol.for("@libp2p/connection");var Wc=Symbol.for("@libp2p/content-routing");var Qc=Symbol.for("@libp2p/peer-discovery");var Kc=Symbol.for("@libp2p/peer-id");var Yc=Symbol.for("@libp2p/peer-routing");var pn;(function(r){r.Accept="accept",r.Ignore="ignore",r.Reject="reject"})(pn||(pn={}));var nf=Symbol.for("@libp2p/transport");var mn;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(mn||(mn={}));var q=class extends Error{code;props;constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var ft="ERR_INVALID_MESSAGE";var Ne=class extends Event{detail;constructor(t,e){super(t,e),this.detail=e?.detail}},af=globalThis.CustomEvent??Ne;var Re={};D(Re,{base58btc:()=>O,base58flickr:()=>Si});function yi(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),a=i.charCodeAt(0);if(e[a]!==255)throw new TypeError(i+" is ambiguous");e[a]=o}var f=r.length,l=r.charAt(0),d=Math.log(f)/Math.log(256),w=Math.log(256)/Math.log(f);function b(s){if(s instanceof Uint8Array||(ArrayBuffer.isView(s)?s=new Uint8Array(s.buffer,s.byteOffset,s.byteLength):Array.isArray(s)&&(s=Uint8Array.from(s))),!(s instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(s.length===0)return"";for(var h=0,u=0,p=0,m=s.length;p!==m&&s[p]===0;)p++,h++;for(var x=(m-p)*w+1>>>0,y=new Uint8Array(x);p!==m;){for(var v=s[p],I=0,A=x-1;(v!==0||I<u)&&A!==-1;A--,I++)v+=256*y[A]>>>0,y[A]=v%f>>>0,v=v/f>>>0;if(v!==0)throw new Error("Non-zero carry");u=I,p++}for(var S=x-u;S!==x&&y[S]===0;)S++;for(var B=l.repeat(h);S<x;++S)B+=r.charAt(y[S]);return B}function g(s){if(typeof s!="string")throw new TypeError("Expected String");if(s.length===0)return new Uint8Array;var h=0;if(s[h]!==" "){for(var u=0,p=0;s[h]===l;)u++,h++;for(var m=(s.length-h)*d+1>>>0,x=new Uint8Array(m);s[h];){var y=e[s.charCodeAt(h)];if(y===255)return;for(var v=0,I=m-1;(y!==0||v<p)&&I!==-1;I--,v++)y+=f*x[I]>>>0,x[I]=y%256>>>0,y=y/256>>>0;if(y!==0)throw new Error("Non-zero carry");p=v,h++}if(s[h]!==" "){for(var A=m-p;A!==m&&x[A]===0;)A++;for(var S=new Uint8Array(u+(m-A)),B=u;A!==m;)S[B++]=x[A++];return S}}}function c(s){var h=g(s);if(h)return h;throw new Error(`Non-${t} character`)}return{encode:b,decodeUnsafe:g,decode:c}}var vi=yi,Ai=vi,gn=Ai;var Bf=new Uint8Array(0);var wn=(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},Y=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")};var bn=r=>new TextEncoder().encode(r),xn=r=>new TextDecoder().decode(r);var Ue=class{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")}},Ce=class{constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),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 vn(this,t)}},Pe=class{constructor(t){this.decoders=t}or(t){return vn(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},vn=(r,t)=>new Pe({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),Fe=class{constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new Ue(t,e,n),this.decoder=new Ce(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},gt=({name:r,prefix:t,encode:e,decode:n})=>new Fe(r,t,e,n),nt=({prefix:r,name:t,alphabet:e})=>{let{encode:n,decode:o}=gn(e,t);return gt({prefix:r,name:t,encode:n,decode:i=>Y(o(i))})},Ii=(r,t,e,n)=>{let o={};for(let w=0;w<t.length;++w)o[t[w]]=w;let i=r.length;for(;r[i-1]==="=";)--i;let a=new Uint8Array(i*e/8|0),f=0,l=0,d=0;for(let w=0;w<i;++w){let b=o[r[w]];if(b===void 0)throw new SyntaxError(`Non-${n} character`);l=l<<e|b,f+=e,f>=8&&(f-=8,a[d++]=255&l>>f)}if(f>=e||255&l<<8-f)throw new SyntaxError("Unexpected end of data");return a},Ei=(r,t,e)=>{let n=t[t.length-1]==="=",o=(1<<e)-1,i="",a=0,f=0;for(let l=0;l<r.length;++l)for(f=f<<8|r[l],a+=8;a>e;)a-=e,i+=t[o&f>>a];if(a&&(i+=t[o&f<<e-a]),n)for(;i.length*e&7;)i+="=";return i},N=({name:r,prefix:t,bitsPerChar:e,alphabet:n})=>gt({prefix:t,name:r,encode(o){return Ei(o,n,e)},decode(o){return Ii(o,n,e,r)}});var O=nt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Si=nt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Te={};D(Te,{base32:()=>tt,base32hex:()=>Ui,base32hexpad:()=>Pi,base32hexpadupper:()=>Fi,base32hexupper:()=>Ci,base32pad:()=>Di,base32padupper:()=>Ni,base32upper:()=>Li,base32z:()=>Ri});var tt=N({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Li=N({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Di=N({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Ni=N({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Ui=N({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Ci=N({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Pi=N({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Fi=N({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Ri=N({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ti=En,An=128,Mi=127,ki=~Mi,$i=Math.pow(2,31);function En(r,t,e){t=t||[],e=e||0;for(var n=e;r>=$i;)t[e++]=r&255|An,r/=128;for(;r&ki;)t[e++]=r&255|An,r>>>=7;return t[e]=r|0,En.bytes=e-n+1,t}var Bi=Me,Oi=128,In=127;function Me(r,n){var e=0,n=n||0,o=0,i=n,a,f=r.length;do{if(i>=f)throw Me.bytes=0,new RangeError("Could not decode varint");a=r[i++],e+=o<28?(a&In)<<o:(a&In)*Math.pow(2,o),o+=7}while(a>=Oi);return Me.bytes=i-n,e}var zi=Math.pow(2,7),Vi=Math.pow(2,14),_i=Math.pow(2,21),ji=Math.pow(2,28),Gi=Math.pow(2,35),qi=Math.pow(2,42),Wi=Math.pow(2,49),Xi=Math.pow(2,56),Ji=Math.pow(2,63),Qi=function(r){return r<zi?1:r<Vi?2:r<_i?3:r<ji?4:r<Gi?5:r<qi?6:r<Wi?7:r<Xi?8:r<Ji?9:10},Hi={encode:Ti,decode:Bi,encodingLength:Qi},Ki=Hi,Rt=Ki;var Tt=(r,t=0)=>[Rt.decode(r,t),Rt.decode.bytes],wt=(r,t,e=0)=>(Rt.encode(r,t,e),t),bt=r=>Rt.encodingLength(r);var ht=(r,t)=>{let e=t.byteLength,n=bt(r),o=n+bt(e),i=new Uint8Array(o+e);return wt(r,i,0),wt(e,i,n),i.set(t,o),new xt(r,e,t,i)},Yt=r=>{let t=Y(r),[e,n]=Tt(t),[o,i]=Tt(t.subarray(n)),a=t.subarray(n+i);if(a.byteLength!==o)throw new Error("Incorrect length");return new xt(e,o,a,t)},Sn=(r,t)=>{if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&wn(r.bytes,e.bytes)}},xt=class{constructor(t,e,n,o){this.code=t,this.size=e,this.digest=n,this.bytes=o}};var Ln=(r,t)=>{let{bytes:e,version:n}=r;switch(n){case 0:return Yi(e,ke(r),t||O.encoder);default:return ts(e,ke(r),t||tt.encoder)}};var Dn=new WeakMap,ke=r=>{let t=Dn.get(r);if(t==null){let e=new Map;return Dn.set(r,e),e}return t},ot=class r{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!==Mt)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==es)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(e)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:e}=this.multihash,n=ht(t,e);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return r.equals(this,t)}static equals(t,e){let n=e;return n&&t.code===n.code&&t.version===n.version&&Sn(t.multihash,n.multihash)}toString(t){return Ln(this,t)}toJSON(){return{"/":Ln(this)}}link(){return this}get[Symbol.toStringTag](){return"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:a}=e;return new r(n,o,i,a||Nn(n,o,i.bytes))}else if(e[rs]===!0){let{version:n,multihash:o,code:i}=e,a=Yt(o);return r.create(n,i,a)}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!==Mt)throw new Error(`Version 0 CID must use dag-pb (code: ${Mt}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=Nn(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,Mt,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),n=e.size-e.multihashSize,o=Y(t.subarray(n,n+e.multihashSize));if(o.byteLength!==e.multihashSize)throw new Error("Incorrect length");let i=o.subarray(e.multihashSize-e.digestSize),a=new xt(e.multihashCode,e.digestSize,i,o);return[e.version===0?r.createV0(a):r.createV1(e.codec,a),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[b,g]=Tt(t.subarray(e));return e+=g,b},o=n(),i=Mt;if(o===18?(o=0,e=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let a=e,f=n(),l=n(),d=e+l,w=d-a;return{version:o,codec:i,multihashCode:f,digestSize:l,multihashSize:w,size:d}}static parse(t,e){let[n,o]=Zi(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 ke(i).set(n,t),i}},Zi=(r,t)=>{switch(r[0]){case"Q":{let e=t||O;return[O.prefix,e.decode(`${O.prefix}${r}`)]}case O.prefix:{let e=t||O;return[O.prefix,e.decode(r)]}case tt.prefix:{let e=t||tt;return[tt.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}},Yi=(r,t,e)=>{let{prefix:n}=e;if(n!==O.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},ts=(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},Mt=112,es=18,Nn=(r,t,e)=>{let n=bt(r),o=n+bt(t),i=new Uint8Array(o+e.byteLength);return wt(r,i,0),wt(t,i,n),i.set(e,o),i},rs=Symbol.for("@ipld/js-cid/CID");function te(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 Ve={};D(Ve,{base10:()=>cs});function ns(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),a=i.charCodeAt(0);if(e[a]!==255)throw new TypeError(i+" is ambiguous");e[a]=o}var f=r.length,l=r.charAt(0),d=Math.log(f)/Math.log(256),w=Math.log(256)/Math.log(f);function b(s){if(s instanceof Uint8Array||(ArrayBuffer.isView(s)?s=new Uint8Array(s.buffer,s.byteOffset,s.byteLength):Array.isArray(s)&&(s=Uint8Array.from(s))),!(s instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(s.length===0)return"";for(var h=0,u=0,p=0,m=s.length;p!==m&&s[p]===0;)p++,h++;for(var x=(m-p)*w+1>>>0,y=new Uint8Array(x);p!==m;){for(var v=s[p],I=0,A=x-1;(v!==0||I<u)&&A!==-1;A--,I++)v+=256*y[A]>>>0,y[A]=v%f>>>0,v=v/f>>>0;if(v!==0)throw new Error("Non-zero carry");u=I,p++}for(var S=x-u;S!==x&&y[S]===0;)S++;for(var B=l.repeat(h);S<x;++S)B+=r.charAt(y[S]);return B}function g(s){if(typeof s!="string")throw new TypeError("Expected String");if(s.length===0)return new Uint8Array;var h=0;if(s[h]!==" "){for(var u=0,p=0;s[h]===l;)u++,h++;for(var m=(s.length-h)*d+1>>>0,x=new Uint8Array(m);s[h];){var y=e[s.charCodeAt(h)];if(y===255)return;for(var v=0,I=m-1;(y!==0||v<p)&&I!==-1;I--,v++)y+=f*x[I]>>>0,x[I]=y%256>>>0,y=y/256>>>0;if(y!==0)throw new Error("Non-zero carry");p=v,h++}if(s[h]!==" "){for(var A=m-p;A!==m&&x[A]===0;)A++;for(var S=new Uint8Array(u+(m-A)),B=u;A!==m;)S[B++]=x[A++];return S}}}function c(s){var h=g(s);if(h)return h;throw new Error(`Non-${t} character`)}return{encode:b,decodeUnsafe:g,decode:c}}var os=ns,is=os,Un=is;var th=new Uint8Array(0);var Cn=(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},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")};var Pn=r=>new TextEncoder().encode(r),Fn=r=>new TextDecoder().decode(r);var $e=class{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")}},Be=class{constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),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 Tn(this,t)}},Oe=class{constructor(t){this.decoders=t}or(t){return Tn(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Tn=(r,t)=>new Oe({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),ze=class{constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new $e(t,e,n),this.decoder=new Be(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},vt=({name:r,prefix:t,encode:e,decode:n})=>new ze(r,t,e,n),it=({prefix:r,name:t,alphabet:e})=>{let{encode:n,decode:o}=Un(e,t);return vt({prefix:r,name:t,encode:n,decode:i=>et(o(i))})},ss=(r,t,e,n)=>{let o={};for(let w=0;w<t.length;++w)o[t[w]]=w;let i=r.length;for(;r[i-1]==="=";)--i;let a=new Uint8Array(i*e/8|0),f=0,l=0,d=0;for(let w=0;w<i;++w){let b=o[r[w]];if(b===void 0)throw new SyntaxError(`Non-${n} character`);l=l<<e|b,f+=e,f>=8&&(f-=8,a[d++]=255&l>>f)}if(f>=e||255&l<<8-f)throw new SyntaxError("Unexpected end of data");return a},as=(r,t,e)=>{let n=t[t.length-1]==="=",o=(1<<e)-1,i="",a=0,f=0;for(let l=0;l<r.length;++l)for(f=f<<8|r[l],a+=8;a>e;)a-=e,i+=t[o&f>>a];if(a&&(i+=t[o&f<<e-a]),n)for(;i.length*e&7;)i+="=";return i},U=({name:r,prefix:t,bitsPerChar:e,alphabet:n})=>vt({prefix:t,name:r,encode(o){return as(o,n,e)},decode(o){return ss(o,n,e,r)}});var cs=it({prefix:"9",name:"base10",alphabet:"0123456789"});var _e={};D(_e,{base16:()=>fs,base16upper:()=>hs});var fs=U({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),hs=U({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var je={};D(je,{base2:()=>us});var us=U({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Ge={};D(Ge,{base256emoji:()=>gs});var Mn=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}"),ls=Mn.reduce((r,t,e)=>(r[e]=t,r),[]),ds=Mn.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function ps(r){return r.reduce((t,e)=>(t+=ls[e],t),"")}function ms(r){let t=[];for(let e of r){let n=ds[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var gs=vt({prefix:"\u{1F680}",name:"base256emoji",encode:ps,decode:ms});var qe={};D(qe,{base32:()=>At,base32hex:()=>ys,base32hexpad:()=>As,base32hexpadupper:()=>Is,base32hexupper:()=>vs,base32pad:()=>bs,base32padupper:()=>xs,base32upper:()=>ws,base32z:()=>Es});var At=U({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),ws=U({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),bs=U({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),xs=U({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),ys=U({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),vs=U({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),As=U({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Is=U({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Es=U({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var We={};D(We,{base36:()=>Ss,base36upper:()=>Ls});var Ss=it({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Ls=it({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Xe={};D(Xe,{base58btc:()=>H,base58flickr:()=>Ds});var H=it({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Ds=it({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Je={};D(Je,{base64:()=>Ns,base64pad:()=>Us,base64url:()=>Cs,base64urlpad:()=>Ps});var Ns=U({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Us=U({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Cs=U({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Ps=U({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Qe={};D(Qe,{base8:()=>Fs});var Fs=U({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var He={};D(He,{identity:()=>Rs});var Rs=vt({prefix:"\0",name:"identity",encode:r=>Fn(r),decode:r=>Pn(r)});var mh=new TextEncoder,gh=new TextDecoder;var Ze={};D(Ze,{identity:()=>ra});var ks=Bn,kn=128,$s=127,Bs=~$s,Os=Math.pow(2,31);function Bn(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Os;)t[e++]=r&255|kn,r/=128;for(;r&Bs;)t[e++]=r&255|kn,r>>>=7;return t[e]=r|0,Bn.bytes=e-n+1,t}var zs=Ke,Vs=128,$n=127;function Ke(r,n){var e=0,n=n||0,o=0,i=n,a,f=r.length;do{if(i>=f)throw Ke.bytes=0,new RangeError("Could not decode varint");a=r[i++],e+=o<28?(a&$n)<<o:(a&$n)*Math.pow(2,o),o+=7}while(a>=Vs);return Ke.bytes=i-n,e}var _s=Math.pow(2,7),js=Math.pow(2,14),Gs=Math.pow(2,21),qs=Math.pow(2,28),Ws=Math.pow(2,35),Xs=Math.pow(2,42),Js=Math.pow(2,49),Qs=Math.pow(2,56),Hs=Math.pow(2,63),Ks=function(r){return r<_s?1:r<js?2:r<Gs?3:r<qs?4:r<Ws?5:r<Xs?6:r<Js?7:r<Qs?8:r<Hs?9:10},Zs={encode:ks,decode:zs,encodingLength:Ks},Ys=Zs,kt=Ys;var $t=(r,t=0)=>[kt.decode(r,t),kt.decode.bytes],It=(r,t,e=0)=>(kt.encode(r,t,e),t),Et=r=>kt.encodingLength(r);var ut=(r,t)=>{let e=t.byteLength,n=Et(r),o=n+Et(e),i=new Uint8Array(o+e);return It(r,i,0),It(e,i,n),i.set(t,o),new St(r,e,t,i)},On=r=>{let t=et(r),[e,n]=$t(t),[o,i]=$t(t.subarray(n)),a=t.subarray(n+i);if(a.byteLength!==o)throw new Error("Incorrect length");return new St(e,o,a,t)},zn=(r,t)=>{if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Cn(r.bytes,e.bytes)}},St=class{constructor(t,e,n,o){this.code=t,this.size=e,this.digest=n,this.bytes=o}};var Vn=0,ta="identity",_n=et,ea=r=>ut(Vn,_n(r)),ra={code:Vn,name:ta,encode:_n,digest:ea};var er={};D(er,{sha256:()=>na,sha512:()=>oa});var tr=({name:r,code:t,encode:e})=>new Ye(r,t,e),Ye=class{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?ut(this.code,e):e.then(n=>ut(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Gn=r=>async t=>new Uint8Array(await crypto.subtle.digest(r,t)),na=tr({name:"sha2-256",code:18,encode:Gn("SHA-256")}),oa=tr({name:"sha2-512",code:19,encode:Gn("SHA-512")});var qn=(r,t)=>{let{bytes:e,version:n}=r;switch(n){case 0:return sa(e,rr(r),t||H.encoder);default:return aa(e,rr(r),t||At.encoder)}};var Wn=new WeakMap,rr=r=>{let t=Wn.get(r);if(t==null){let e=new Map;return Wn.set(r,e),e}return t},re=class r{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!==Ot)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==ca)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=ut(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&&t.code===n.code&&t.version===n.version&&zn(t.multihash,n.multihash)}toString(t){return qn(this,t)}toJSON(){return{"/":qn(this)}}link(){return this}get[Symbol.toStringTag](){return"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:a}=e;return new r(n,o,i,a||Xn(n,o,i.bytes))}else if(e[fa]===!0){let{version:n,multihash:o,code:i}=e,a=On(o);return r.create(n,i,a)}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!==Ot)throw new Error(`Version 0 CID must use dag-pb (code: ${Ot}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let o=Xn(t,e,n.bytes);return new r(t,e,n,o)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,Ot,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,n]=r.decodeFirst(t);if(n.length)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),a=new St(e.multihashCode,e.digestSize,i,o);return[e.version===0?r.createV0(a):r.createV1(e.codec,a),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[b,g]=$t(t.subarray(e));return e+=g,b},o=n(),i=Ot;if(o===18?(o=0,e=0):i=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let a=e,f=n(),l=n(),d=e+l,w=d-a;return{version:o,codec:i,multihashCode:f,digestSize:l,multihashSize:w,size:d}}static parse(t,e){let[n,o]=ia(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 rr(i).set(n,t),i}},ia=(r,t)=>{switch(r[0]){case"Q":{let e=t||H;return[H.prefix,e.decode(`${H.prefix}${r}`)]}case H.prefix:{let e=t||H;return[H.prefix,e.decode(r)]}case At.prefix:{let e=t||At;return[At.prefix,e.decode(r)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],t.decode(r)]}}},sa=(r,t,e)=>{let{prefix:n}=e;if(n!==H.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},aa=(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},Ot=112,ca=18,Xn=(r,t,e)=>{let n=Et(r),o=n+Et(t),i=new Uint8Array(o+e.byteLength);return It(r,i,0),It(t,i,n),i.set(e,o),i},fa=Symbol.for("@ipld/js-cid/CID");var nr={...He,...je,...Qe,...Ve,..._e,...qe,...We,...Xe,...Je,...Ge},Fh={...er,...Ze};function lt(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function rt(r=0){return globalThis.Buffer?.alloc!=null?lt(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function T(r=0){return globalThis.Buffer?.allocUnsafe!=null?lt(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function Qn(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Jn=Qn("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),or=Qn("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=T(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),ha={utf8:Jn,"utf-8":Jn,hex:nr.base16,latin1:or,ascii:or,binary:or,...nr},ne=ha;function z(r,t="utf8"){let e=ne[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("utf8"):e.encoder.encode(r).substring(1)}var ua=Math.pow(2,7),la=Math.pow(2,14),da=Math.pow(2,21),ir=Math.pow(2,28),sr=Math.pow(2,35),ar=Math.pow(2,42),cr=Math.pow(2,49),E=128,M=127;function k(r){if(r<ua)return 1;if(r<la)return 2;if(r<da)return 3;if(r<ir)return 4;if(r<sr)return 5;if(r<ar)return 6;if(r<cr)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function pa(r,t,e=0){switch(k(r)){case 8:t[e++]=r&255|E,r/=128;case 7:t[e++]=r&255|E,r/=128;case 6:t[e++]=r&255|E,r/=128;case 5:t[e++]=r&255|E,r/=128;case 4:t[e++]=r&255|E,r>>>=7;case 3:t[e++]=r&255|E,r>>>=7;case 2:t[e++]=r&255|E,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function ma(r,t,e=0){switch(k(r)){case 8:t.set(e++,r&255|E),r/=128;case 7:t.set(e++,r&255|E),r/=128;case 6:t.set(e++,r&255|E),r/=128;case 5:t.set(e++,r&255|E),r/=128;case 4:t.set(e++,r&255|E),r>>>=7;case 3:t.set(e++,r&255|E),r>>>=7;case 2:t.set(e++,r&255|E),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function ga(r,t){let e=r[t],n=0;if(n+=e&M,e<E||(e=r[t+1],n+=(e&M)<<7,e<E)||(e=r[t+2],n+=(e&M)<<14,e<E)||(e=r[t+3],n+=(e&M)<<21,e<E)||(e=r[t+4],n+=(e&M)*ir,e<E)||(e=r[t+5],n+=(e&M)*sr,e<E)||(e=r[t+6],n+=(e&M)*ar,e<E)||(e=r[t+7],n+=(e&M)*cr,e<E))return n;throw new RangeError("Could not decode varint")}function wa(r,t){let e=r.get(t),n=0;if(n+=e&M,e<E||(e=r.get(t+1),n+=(e&M)<<7,e<E)||(e=r.get(t+2),n+=(e&M)<<14,e<E)||(e=r.get(t+3),n+=(e&M)<<21,e<E)||(e=r.get(t+4),n+=(e&M)*ir,e<E)||(e=r.get(t+5),n+=(e&M)*sr,e<E)||(e=r.get(t+6),n+=(e&M)*ar,e<E)||(e=r.get(t+7),n+=(e&M)*cr,e<E))return n;throw new RangeError("Could not decode varint")}function st(r,t,e=0){return t==null&&(t=T(k(r))),t instanceof Uint8Array?pa(r,t,e):ma(r,t,e)}function W(r,t=0){return r instanceof Uint8Array?ga(r,t):wa(r,t)}function _(r,t){t==null&&(t=r.reduce((o,i)=>o+i.length,0));let e=T(t),n=0;for(let o of r)e.set(o,n),n+=o.length;return lt(e)}var oe=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,a=0,f=this.peekChar();if(f===void 0)return;let l=f==="0",d=2**(8*o)-1;for(;;){let w=this.readAtomically(()=>{let b=this.readChar();if(b===void 0)return;let g=Number.parseInt(b,t);if(!Number.isNaN(g))return g});if(w===void 0)break;if(i*=t,i+=w,i>d||(a+=1,e!==void 0&&a>e))return}if(a!==0)return!n&&l&&a>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 a=this.readSeparator(":",n,()=>this.readIPv4Addr());if(a!==void 0)return e[o]=a[0],e[o+1]=a[1],e[o+2]=a[2],e[o+3]=a[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),a=16-(n+2),[f]=t(i.subarray(0,a));return e.set(i.subarray(0,f),16-f),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Hn=45,ba=15,Lt=new oe;function fr(r){if(!(r.length>ba))return Lt.new(r).parseWith(()=>Lt.readIPv4Addr())}function hr(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>Hn))return Lt.new(r).parseWith(()=>Lt.readIPv6Addr())}function ie(r){if(r.includes("%")&&(r=r.split("%")[0]),!(r.length>Hn))return Lt.new(r).parseWith(()=>Lt.readIPAddr())}var eu=parseInt("0xFFFF",16),ru=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var ur={};D(ur,{base10:()=>Ia});var Ia=nt({prefix:"9",name:"base10",alphabet:"0123456789"});var lr={};D(lr,{base16:()=>Ea,base16upper:()=>Sa});var Ea=N({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Sa=N({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var dr={};D(dr,{base2:()=>La});var La=N({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var pr={};D(pr,{base256emoji:()=>Pa});var Yn=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}"),Da=Yn.reduce((r,t,e)=>(r[e]=t,r),[]),Na=Yn.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function Ua(r){return r.reduce((t,e)=>(t+=Da[e],t),"")}function Ca(r){let t=[];for(let e of r){let n=Na[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var Pa=gt({prefix:"\u{1F680}",name:"base256emoji",encode:Ua,decode:Ca});var mr={};D(mr,{base36:()=>Fa,base36upper:()=>Ra});var Fa=nt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Ra=nt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var gr={};D(gr,{base64:()=>Ta,base64pad:()=>Ma,base64url:()=>ka,base64urlpad:()=>$a});var Ta=N({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Ma=N({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),ka=N({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),$a=N({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var wr={};D(wr,{base8:()=>Ba});var Ba=N({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var br={};D(br,{identity:()=>Oa});var Oa=gt({prefix:"\0",name:"identity",encode:r=>xn(r),decode:r=>bn(r)});var Ru=new TextEncoder,Tu=new TextDecoder;var xr={};D(xr,{identity:()=>Ga});var to=0,_a="identity",eo=Y,ja=r=>ht(to,eo(r)),Ga={code:to,name:_a,encode:eo,digest:ja};var Ar={};D(Ar,{sha256:()=>qa,sha512:()=>Wa});var vr=({name:r,code:t,encode:e})=>new yr(r,t,e),yr=class{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?ht(this.code,e):e.then(n=>ht(this.code,n))}else throw Error("Unknown type, must be binary type")}};var no=r=>async t=>new Uint8Array(await crypto.subtle.digest(r,t)),qa=vr({name:"sha2-256",code:18,encode:no("SHA-256")}),Wa=vr({name:"sha2-512",code:19,encode:no("SHA-512")});var oo={...br,...dr,...wr,...ur,...lr,...Te,...mr,...Re,...gr,...pr},_u={...Ar,...xr};function Vt(r,t="utf8"){let e=ne[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?lt(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function se(r){return!!fr(r)}function ae(r){return!!hr(r)}function Dt(r){return!!ie(r)}var io=se,Xa=ae,Ir=function(r){let t=0;if(r=r.toString().trim(),io(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(Xa(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let i=io(e[n]),a;i&&(a=Ir(e[n]),e[n]=z(a.slice(0,2),"base16")),a!=null&&++n<8&&e.splice(n,0,z(a.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")},so=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 Nt={},Er={},Qa=[[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"],[777,-1,"memory"]];Qa.forEach(r=>{let t=Ha(...r);Er[t.code]=t,Nt[t.name]=t});function Ha(r,t,e,n,o){return{code:r,size:t,name:e,resolvable:!!n,path:!!o}}function L(r){if(typeof r=="number"){if(Er[r]!=null)return Er[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(Nt[r]!=null)return Nt[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var cl=L("ip4"),fl=L("ip6"),hl=L("ipcidr");function Lr(r,t){switch(L(r).code){case 4:case 41:return Za(t);case 42:return fo(t);case 6:case 273:case 33:case 132:return uo(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return fo(t);case 421:return rc(t);case 444:return ho(t);case 445:return ho(t);case 466:return ec(t);default:return z(t,"base16")}}function Dr(r,t){switch(L(r).code){case 4:return ao(t);case 41:return ao(t);case 42:return co(t);case 6:case 273:case 33:case 132:return Nr(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return co(t);case 421:return Ya(t);case 444:return nc(t);case 445:return oc(t);case 466:return tc(t);default:return Vt(t,"base16")}}var Sr=Object.values(oo).map(r=>r.decoder),Ka=function(){let r=Sr[0].or(Sr[1]);return Sr.slice(2).forEach(t=>r=r.or(t)),r}();function ao(r){if(!Dt(r))throw new Error("invalid ip address");return Ir(r)}function Za(r){let t=so(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!Dt(t))throw new Error("invalid ip address");return t}function Nr(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function uo(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function co(r){let t=Vt(r),e=Uint8Array.from(st(t.length));return _([e,t],e.length+t.length)}function fo(r){let t=W(r);if(r=r.slice(k(t)),r.length!==t)throw new Error("inconsistent lengths");return z(r)}function Ya(r){let t;r[0]==="Q"||r[0]==="1"?t=Yt(O.decode(`z${r}`)).bytes:t=ot.parse(r).multihash.bytes;let e=Uint8Array.from(st(t.length));return _([e,t],e.length+t.length)}function tc(r){let t=Ka.decode(r),e=Uint8Array.from(st(t.length));return _([e,t],e.length+t.length)}function ec(r){let t=W(r),e=r.slice(k(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+z(e,"base64url")}function rc(r){let t=W(r),e=r.slice(k(t));if(e.length!==t)throw new Error("inconsistent lengths");return z(e,"base58btc")}function nc(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=tt.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=Nr(n);return _([e,o],e.length+o.length)}function oc(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=tt.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=Nr(n);return _([e,o],e.length+o.length)}function ho(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=z(t,"base32"),o=uo(e);return`${n}:${o}`}function lo(r){r=Ur(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 a=o[i],f=L(a);if(f.size===0){t.push([f.code]),e.push([f.code]);continue}if(i++,i>=o.length)throw mo("invalid address: "+r);if(f.path===!0){n=Ur(o.slice(i).join("/")),t.push([f.code,Dr(f.code,n)]),e.push([f.code,n]);break}let l=Dr(f.code,o[i]);t.push([f.code,l]),e.push([f.code,Lr(f.code,l)])}return{string:po(e),bytes:Pr(t),tuples:t,stringTuples:e,path:n}}function Cr(r){let t=[],e=[],n=null,o=0;for(;o<r.length;){let i=W(r,o),a=k(i),f=L(i),l=ic(f,r.slice(o+a));if(l===0){t.push([i]),e.push([i]),o+=a;continue}let d=r.slice(o+a,o+a+l);if(o+=l+a,o>r.length)throw mo("Invalid address Uint8Array: "+z(r,"base16"));t.push([i,d]);let w=Lr(i,d);if(e.push([i,w]),f.path===!0){n=w;break}}return{bytes:Uint8Array.from(r),string:po(e),tuples:t,stringTuples:e,path:n}}function po(r){let t=[];return r.map(e=>{let n=L(e[0]);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),Ur(t.join("/"))}function Pr(r){return _(r.map(t=>{let e=L(t[0]),n=Uint8Array.from(st(e.code));return t.length>1&&t[1]!=null&&(n=_([n,t[1]])),n}))}function ic(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=W(t instanceof Uint8Array?t:Uint8Array.from(t));return e+k(e)}}function Ur(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function mo(r){return new Error("Error parsing address: "+r)}var sc=Symbol.for("nodejs.util.inspect.custom"),Fr=Symbol.for("@multiformats/js-multiaddr/multiaddr"),ac=[L("dns").code,L("dns4").code,L("dns6").code,L("dnsaddr").code],ce=class r{bytes;#e;#t;#r;#n;[Fr]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=Cr(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=lo(t)}else if(wo(t))e=Cr(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=e.bytes,this.#e=e.string,this.#t=e.tuples,this.#r=e.stringTuples,this.#n=e.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let t,e,n,o,i="",a=L("tcp"),f=L("udp"),l=L("ip4"),d=L("ip6"),w=L("dns6"),b=L("ip6zone");for(let[c,s]of this.stringTuples())c===b.code&&(i=`%${s??""}`),ac.includes(c)&&(e=a.name,o=443,n=`${s??""}${i}`,t=c===w.code?6:4),(c===a.code||c===f.code)&&(e=L(c).name,o=parseInt(s??"")),(c===l.code||c===d.code)&&(e=L(c).name,n=`${s??""}${i}`,t=c===d.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.#t.map(([t])=>Object.assign({},L(t)))}protoCodes(){return this.#t.map(([t])=>t)}protoNames(){return this.#t.map(([t])=>L(t).name)}tuples(){return this.#t}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(Pr(e.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,o])=>{n===Nt.p2p.code&&t.push([n,o]),n===Nt["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?z(O.decode(`z${n}`),"base58btc"):z(ot.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return te(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(i=>i.resolvable);if(e==null)return[this];let n=go.get(e.name);if(n==null)throw new q(`no available resolver for ${e.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(i=>new r(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)}[sc](){return`Multiaddr(${this.#e})`}};var go=new Map;function wo(r){return!!r?.[Fr]}function Rr(r){return new ce(r)}var bo=()=>{let r=new Error("Delay aborted");return r.name="AbortError",r},cc=new WeakMap;function fc({clearTimeout:r,setTimeout:t}={}){return(e,{value:n,signal:o}={})=>{if(o?.aborted)return Promise.reject(bo());let i,a,f,l=r??clearTimeout,d=()=>{l(i),f(bo())},w=()=>{o&&o.removeEventListener("abort",d)},b=new Promise((g,c)=>{a=()=>{w(),g(n)},f=c,i=(t??setTimeout)(a,e)});return o&&o.addEventListener("abort",d,{once:!0}),cc.set(b,()=>{l(i),i=null,a()}),b}}var hc=fc(),xo=hc;var vo=Symbol.for("@achingbrain/uint8arraylist");function yo(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 fe(r){return!!r?.[vo]}var j=class r{bufs;length;[vo]=!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(fe(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(fe(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=yo(this.bufs,t);return e.buf[e.index]}set(t,e){let n=yo(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(fe(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 _(n,o)}subarray(t,e){let{bufs:n,length:o}=this._subList(t,e);return n.length===1?n[0]:_(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 a=this.bufs[i],f=o,l=f+a.byteLength;if(o=l,t>=l)continue;let d=t>=f&&t<l,w=e>f&&e<=l;if(d&&w){if(t===f&&e===l){n.push(a);break}let b=t-f;n.push(a.subarray(b,b+(e-t)));break}if(d){if(t===0){n.push(a);continue}n.push(a.subarray(t-f));continue}if(w){if(e===l){n.push(a);break}n.push(a.subarray(0,e-f));break}n.push(a)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!fe(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,a=new Int32Array(i);for(let b=0;b<i;b++)a[b]=-1;for(let b=0;b<o;b++)a[n[b]]=b;let f=a,l=this.byteLength-n.byteLength,d=n.byteLength-1,w;for(let b=e;b<=l;b+=w){w=0;for(let g=d;g>=0;g--){let c=this.get(b+g);if(n[g]!==c){w=Math.max(1,g-f[c]);break}}if(w===0)return b}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=T(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=rt(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=rt(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=rt(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=T(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=rt(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=rt(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=rt(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=rt(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=rt(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(!te(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}};function Ut(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var he=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 Ao(r,t,e){if(t==null)return r;if(t.aborted)return Promise.reject(new he(e?.errorMessage,e?.errorCode));let n,o=new he(e?.errorMessage,e?.errorCode);try{return await Promise.race([r,new Promise((i,a)=>{n=()=>{a(o)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var Tr=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=Ut(),this.haveNext=Ut()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let t=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=Ut(),t}async throw(t){return this.ended=!0,t!=null&&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");this.nextResult!=null&&await this.needNext.promise,t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=Ut(),await Ao(this.needNext.promise,e?.signal,e)}};function Io(){return new Tr}var ue=class extends Error{code;constructor(t,e){super(t),this.code=e}},Mr=class extends ue{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function Eo(r,t){let e=Io();r.sink(e).catch(async a=>{await e.end(a)}),r.sink=async a=>{for await(let f of a)await e.push(f);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 j;return{read:async(a,f)=>{f?.signal?.throwIfAborted();let l,d=new Promise((w,b)=>{l=()=>{b(new Mr("Read aborted"))},f?.signal?.addEventListener("abort",l)});try{if(a==null){let{done:b,value:g}=await Promise.race([n.next(),d]);return b===!0?new j:g}for(;o.byteLength<a;){let{value:b,done:g}=await Promise.race([n.next(),d]);if(g===!0)throw new ue("unexpected end of input","ERR_UNEXPECTED_EOF");o.append(b)}let w=o.sublist(0,a);return o.consume(a),w}finally{l!=null&&f?.signal?.removeEventListener("abort",l)}},write:async(a,f)=>{f?.signal?.throwIfAborted(),a instanceof Uint8Array?await e.push(a,f):await e.push(a.subarray(),f)},unwrap:()=>{if(o.byteLength>0){let a=r.source;r.source=async function*(){t?.yieldBytes===!1?yield o:yield*o,yield*a}()}return r}}}function le(r){return r[Symbol.asyncIterator]!=null}var de=r=>{let t=k(r),e=T(t);return st(r,e),de.bytes=t,e};de.bytes=0;function _t(r,t){t=t??{};let e=t.lengthEncoder??de;function*n(o){let i=e(o.byteLength);i instanceof Uint8Array?yield i:yield*i,o instanceof Uint8Array?yield o:yield*o}return le(r)?async function*(){for await(let o of r)yield*n(o)}():function*(){for(let o of r)yield*n(o)}()}_t.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??de;return new j(e(r.byteLength),r)};var Ct=De(Do(),1);var lc=8,dc=1024*1024*4,dt;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(dt||(dt={}));var $r=r=>{let t=W(r);return $r.bytes=k(t),t};$r.bytes=0;function kr(r,t){let e=new j,n=dt.LENGTH,o=-1,i=t?.lengthDecoder??$r,a=t?.maxLengthLength??lc,f=t?.maxDataLength??dc;function*l(){for(;e.byteLength>0;){if(n===dt.LENGTH)try{if(o=i(e),o<0)throw(0,Ct.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(o>f)throw(0,Ct.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let d=i.bytes;e.consume(d),t?.onLength!=null&&t.onLength(o),n=dt.DATA}catch(d){if(d instanceof RangeError){if(e.byteLength>a)throw(0,Ct.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw d}if(n===dt.DATA){if(e.byteLength<o)break;let d=e.sublist(0,o);e.consume(o),t?.onData!=null&&t.onData(d),yield d,n=dt.LENGTH}}}return le(r)?async function*(){for await(let d of r)e.append(d),yield*l();if(e.byteLength>0)throw(0,Ct.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let d of r)e.append(d),yield*l();if(e.byteLength>0)throw(0,Ct.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}kr.fromReader=(r,t)=>{let e=1,n=async function*(){for(;;)try{let{done:i,value:a}=await r.next(e);if(i===!0)return;a!=null&&(yield a)}catch(i){if(i.code==="ERR_UNDER_READ")return{done:!0,value:null};throw i}finally{e=1}}();return kr(n,{...t??{},onLength:i=>{e=i}})};var pe=class extends Error{code;constructor(t,e){super(t),this.code=e}},No=r=>W(r);No.bytes=0;function Uo(r,t={}){let e=Eo(r,t);return t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=k(t.maxDataLength)),{read:async o=>{let i=-1,a=new j,f=t?.lengthDecoder??No;for(;;){a.append(await e.read(1,o));try{i=f(a)}catch(l){if(l instanceof RangeError)continue;throw l}if(t?.maxLengthLength!=null&&a.byteLength>t.maxLengthLength)throw new pe("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(i>-1)break}if(t?.maxDataLength!=null&&i>t.maxDataLength)throw new pe("message length too long","ERR_MSG_DATA_TOO_LONG");return e.read(i,o)},write:async(o,i)=>{await e.write(_t.single(o,t),i)},writeV:async(o,i)=>{let a=new j(...o.map(f=>_t.single(f,t)));await e.write(a,i)},unwrap:()=>e.unwrap()}}function Br(r,t){let e=Uo(r,t),n={read:async(o,i)=>{let a=await e.read(i);return o.decode(a)},write:async(o,i,a)=>{await e.write(i.encode(o),a)},writeV:async(o,i,a)=>{await e.writeV(o.map(f=>i.encode(f)),a)},pb:o=>({read:async i=>n.read(o,i),write:async(i,a)=>n.write(i,o,a),writeV:async(i,a)=>n.writeV(i,o,a),unwrap:()=>n}),unwrap:()=>e.unwrap()};return n}var Or=new Float32Array([-0]),at=new Uint8Array(Or.buffer);function Co(r,t,e){Or[0]=r,t[e]=at[0],t[e+1]=at[1],t[e+2]=at[2],t[e+3]=at[3]}function Po(r,t){return at[0]=r[t],at[1]=r[t+1],at[2]=r[t+2],at[3]=r[t+3],Or[0]}var zr=new Float64Array([-0]),$=new Uint8Array(zr.buffer);function Fo(r,t,e){zr[0]=r,t[e]=$[0],t[e+1]=$[1],t[e+2]=$[2],t[e+3]=$[3],t[e+4]=$[4],t[e+5]=$[5],t[e+6]=$[6],t[e+7]=$[7]}function Ro(r,t){return $[0]=r[t],$[1]=r[t+1],$[2]=r[t+2],$[3]=r[t+3],$[4]=r[t+4],$[5]=r[t+5],$[6]=r[t+6],$[7]=r[t+7],zr[0]}var mc=BigInt(Number.MAX_SAFE_INTEGER),gc=BigInt(Number.MIN_SAFE_INTEGER),V=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 pt;if(t<mc&&t>gc)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>To&&(o=0n,++n>To&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(t){if(t===0)return pt;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):pt}},pt=new V(0,0);pt.toBigInt=function(){return 0n};pt.zzEncode=pt.zzDecode=function(){return this};pt.length=function(){return 1};var To=4294967296n;function Mo(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 ko(r,t,e){if(e-t<1)return"";let o,i=[],a=0,f;for(;t<e;)f=r[t++],f<128?i[a++]=f:f>191&&f<224?i[a++]=(f&31)<<6|r[t++]&63:f>239&&f<365?(f=((f&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,i[a++]=55296+(f>>10),i[a++]=56320+(f&1023)):i[a++]=(f&15)<<12|(r[t++]&63)<<6|r[t++]&63,a>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,i)),a=0);return o!=null?(a>0&&o.push(String.fromCharCode.apply(String,i.slice(0,a))),o.join("")):String.fromCharCode.apply(String,i.slice(0,a))}function Vr(r,t,e){let n=e,o,i;for(let a=0;a<r.length;++a)o=r.charCodeAt(a),o<128?t[e++]=o:o<2048?(t[e++]=o>>6|192,t[e++]=o&63|128):(o&64512)===55296&&((i=r.charCodeAt(a+1))&64512)===56320?(o=65536+((o&1023)<<10)+(i&1023),++a,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 X(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function me(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var _r=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,X(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 X(this,4);return me(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw X(this,4);return me(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw X(this,4);let t=Po(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw X(this,4);let t=Ro(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 X(this,t);return this.pos+=t,e===n?new Uint8Array(0):this.buf.subarray(e,n)}string(){let t=this.bytes();return ko(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw X(this,t);this.pos+=t}else do if(this.pos>=this.len)throw X(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 V(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 X(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 X(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 X(this,8);let t=me(this.buf,this.pos+=4),e=me(this.buf,this.pos+=4);return new V(t,e)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}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 jr(r){return new _r(r instanceof Uint8Array?r:r.subarray())}function Gr(r,t){let e=jr(r);return t.decode(e)}function qr(r){let t=r??8192,e=t>>>1,n,o=t;return function(a){if(a<1||a>e)return T(a);o+a>t&&(n=T(t),o=0);let f=n.subarray(o,o+=a);return o&7&&(o=(o|7)+1),f}}var mt=class{fn;len;next;val;constructor(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}};function Wr(){}var Jr=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},wc=qr();function bc(r){return globalThis.Buffer!=null?T(r):wc(r)}var qt=class{len;head;tail;states;constructor(){this.len=0,this.head=new mt(Wr,0,0),this.tail=this.head,this.states=null}_push(t,e,n){return this.tail=this.tail.next=new mt(t,e,n),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Qr((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(jt,10,V.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=V.fromBigInt(t);return this._push(jt,e.length(),e)}uint64Number(t){let e=V.fromNumber(t);return this._push(jt,e.length(),e)}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=V.fromBigInt(t).zzEncode();return this._push(jt,e.length(),e)}sint64Number(t){let e=V.fromNumber(t).zzEncode();return this._push(jt,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Xr,1,t?1:0)}fixed32(t){return this._push(Gt,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=V.fromBigInt(t);return this._push(Gt,4,e.lo)._push(Gt,4,e.hi)}fixed64Number(t){let e=V.fromNumber(t);return this._push(Gt,4,e.lo)._push(Gt,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(Co,4,t)}double(t){return this._push(Fo,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(Xr,1,0):this.uint32(e)._push(yc,e,t)}string(t){let e=Mo(t);return e!==0?this.uint32(e)._push(Vr,e,t):this._push(Xr,1,0)}fork(){return this.states=new Jr(this),this.head=this.tail=new mt(Wr,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 mt(Wr,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=bc(this.len),n=0;for(;t!=null;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e}};function Xr(r,t,e){t[e]=r&255}function xc(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var Qr=class extends mt{next;constructor(t,e){super(xc,t,e),this.next=void 0}};function jt(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 Gt(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 yc(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(qt.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(vc,t,r),this},qt.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Ac,t,r),this});function vc(r,t,e){t.set(r,e)}function Ac(r,t,e){r.length<40?Vr(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(Vt(r),e)}function Hr(){return new qt}function Kr(r,t){let e=Hr();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var Pt;(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"})(Pt||(Pt={}));function ge(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function Zr(r){function t(o){if(r[o.toString()]==null)throw new Error("Invalid enum value");return r[o]}let e=function(i,a){let f=t(i);a.int32(f)},n=function(i){let a=i.int32();return t(a)};return ge("enum",Pt.VARINT,e,n)}function Yr(r,t){return ge("message",Pt.LENGTH_DELIMITED,r,t)}var J;(function(r){let t;(function(o){o.UNUSED="UNUSED",o.CONNECT="CONNECT",o.SYNC="SYNC"})(t=r.Type||(r.Type={}));let e;(function(o){o[o.UNUSED=0]="UNUSED",o[o.CONNECT=100]="CONNECT",o[o.SYNC=300]="SYNC"})(e||(e={})),function(o){o.codec=()=>Zr(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=Yr((o,i,a={})=>{if(a.lengthDelimited!==!1&&i.fork(),o.type!=null&&(i.uint32(8),r.Type.codec().encode(o.type,i)),o.observedAddresses!=null)for(let f of o.observedAddresses)i.uint32(18),i.bytes(f);a.lengthDelimited!==!1&&i.ldelim()},(o,i)=>{let a={observedAddresses:[]},f=i==null?o.len:o.pos+i;for(;o.pos<f;){let l=o.uint32();switch(l>>>3){case 1:a.type=r.Type.codec().decode(o);break;case 2:a.observedAddresses.push(o.bytes());break;default:o.skipType(l&7);break}}return a})),n),r.encode=o=>Kr(o,r.codec()),r.decode=o=>Gr(o,r.codec())})(J||(J={}));function Ic(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),a=i.charCodeAt(0);if(e[a]!==255)throw new TypeError(i+" is ambiguous");e[a]=o}var f=r.length,l=r.charAt(0),d=Math.log(f)/Math.log(256),w=Math.log(256)/Math.log(f);function b(s){if(s instanceof Uint8Array||(ArrayBuffer.isView(s)?s=new Uint8Array(s.buffer,s.byteOffset,s.byteLength):Array.isArray(s)&&(s=Uint8Array.from(s))),!(s instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(s.length===0)return"";for(var h=0,u=0,p=0,m=s.length;p!==m&&s[p]===0;)p++,h++;for(var x=(m-p)*w+1>>>0,y=new Uint8Array(x);p!==m;){for(var v=s[p],I=0,A=x-1;(v!==0||I<u)&&A!==-1;A--,I++)v+=256*y[A]>>>0,y[A]=v%f>>>0,v=v/f>>>0;if(v!==0)throw new Error("Non-zero carry");u=I,p++}for(var S=x-u;S!==x&&y[S]===0;)S++;for(var B=l.repeat(h);S<x;++S)B+=r.charAt(y[S]);return B}function g(s){if(typeof s!="string")throw new TypeError("Expected String");if(s.length===0)return new Uint8Array;var h=0;if(s[h]!==" "){for(var u=0,p=0;s[h]===l;)u++,h++;for(var m=(s.length-h)*d+1>>>0,x=new Uint8Array(m);s[h];){var y=e[s.charCodeAt(h)];if(y===255)return;for(var v=0,I=m-1;(y!==0||v<p)&&I!==-1;I--,v++)y+=f*x[I]>>>0,x[I]=y%256>>>0,y=y/256>>>0;if(y!==0)throw new Error("Non-zero carry");p=v,h++}if(s[h]!==" "){for(var A=m-p;A!==m&&x[A]===0;)A++;for(var S=new Uint8Array(u+(m-A)),B=u;A!==m;)S[B++]=x[A++];return S}}}function c(s){var h=g(s);if(h)return h;throw new Error(`Non-${t} character`)}return{encode:b,decodeUnsafe:g,decode:c}}var Ec=Ic,Sc=Ec,Bo=Sc;var jd=new Uint8Array(0);var Oo=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")};var tn=class{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")}},en=class{constructor(t,e,n){if(this.name=t,this.prefix=e,e.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=e.codePointAt(0),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 zo(this,t)}},rn=class{constructor(t){this.decoders=t}or(t){return zo(this,t)}decode(t){let e=t[0],n=this.decoders[e];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},zo=(r,t)=>new rn({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),nn=class{constructor(t,e,n,o){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=o,this.encoder=new tn(t,e,n),this.decoder=new en(t,e,o)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Vo=({name:r,prefix:t,encode:e,decode:n})=>new nn(r,t,e,n),on=({prefix:r,name:t,alphabet:e})=>{let{encode:n,decode:o}=Bo(e,t);return Vo({prefix:r,name:t,encode:n,decode:i=>Oo(o(i))})},Lc=(r,t,e,n)=>{let o={};for(let w=0;w<t.length;++w)o[t[w]]=w;let i=r.length;for(;r[i-1]==="=";)--i;let a=new Uint8Array(i*e/8|0),f=0,l=0,d=0;for(let w=0;w<i;++w){let b=o[r[w]];if(b===void 0)throw new SyntaxError(`Non-${n} character`);l=l<<e|b,f+=e,f>=8&&(f-=8,a[d++]=255&l>>f)}if(f>=e||255&l<<8-f)throw new SyntaxError("Unexpected end of data");return a},Dc=(r,t,e)=>{let n=t[t.length-1]==="=",o=(1<<e)-1,i="",a=0,f=0;for(let l=0;l<r.length;++l)for(f=f<<8|r[l],a+=8;a>e;)a-=e,i+=t[o&f>>a];if(a&&(i+=t[o&f<<e-a]),n)for(;i.length*e&7;)i+="=";return i},Wt=({name:r,prefix:t,bitsPerChar:e,alphabet:n})=>Vo({prefix:t,name:r,encode(o){return Dc(o,n,e)},decode(o){return Lc(o,n,e,r)}});var _o=on({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Qd=on({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Zd=Wt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Yd=Wt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),jo=Wt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),tp=Wt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Nc=r=>r.toString().split("/").slice(1),Xt=r=>({match:t=>t.length<1?!1:r(t[0])?t.slice(1):!1,pattern:"fn"}),C=r=>({match:t=>Xt(e=>e===r).match(t),pattern:r}),xe=()=>({match:r=>Xt(t=>typeof t=="string").match(r),pattern:"{string}"}),Go=()=>({match:r=>Xt(t=>!isNaN(parseInt(t))).match(r),pattern:"{number}"}),G=()=>({match:r=>{if(r.length<2||r[0]!=="p2p"&&r[0]!=="ipfs")return!1;if(r[1].startsWith("Q")||r[1].startsWith("1"))try{_o.decode(`z${r[1]}`)}catch{return!1}else return!1;return r.slice(2)},pattern:"/p2p/{peerid}"}),we=()=>({match:r=>{if(r.length<2||r[0]!=="certhash")return!1;try{jo.decode(r[1])}catch{return!1}return r.slice(2)},pattern:"/certhash/{certhash}"}),K=r=>({match:t=>{let e=r.match(t);return e===!1?t:e},pattern:`optional(${r.pattern})`}),Z=(...r)=>({match:t=>{let e;for(let n of r){let o=n.match(t);o!==!1&&(e==null||o.length<e.length)&&(e=o)}return e??!1},pattern:`or(${r.map(t=>t.pattern).join(", ")})`}),P=(...r)=>({match:t=>{for(let e of r){let n=e.match(t);if(n===!1)return!1;t=n}return t},pattern:`and(${r.map(t=>t.pattern).join(", ")})`});function R(...r){function t(o){let i=Nc(o);for(let a of r){let f=a.match(i);if(f===!1)return!1;i=f}return i}function e(o){return t(o)!==!1}function n(o){let i=t(o);return i===!1?!1:i.length===0}return{matches:e,exactMatch:n}}var an=P(C("dns4"),xe()),cn=P(C("dns6"),xe()),fn=P(C("dnsaddr"),xe()),qo=P(C("dns"),xe()),sp=R(an),ap=R(cn),cp=R(fn),Wo=R(Z(qo,fn,an,cn)),Xo=P(C("ip4"),Xt(se)),Jo=P(C("ip6"),Xt(ae)),Qo=Z(Xo,Jo),Jt=Z(Qo,qo,an,cn,fn),fp=R(Jt),hp=R(Xo),up=R(Jo),Ho=R(Qo),ye=P(Jt,C("tcp"),Go()),Qt=P(Jt,C("udp"),Go()),Uc=Z(ye,Qt),lp=R(ye),dp=R(Qt),hn=P(Qt,C("quic")),ve=P(Qt,C("quic-v1")),Cc=Z(hn,ve),pp=R(hn),mp=R(ve),sn=Z(Jt,ye,Qt,hn,ve),Ko=Z(P(sn,C("ws"),K(G()))),gp=R(Ko),Zo=Z(P(sn,C("wss"),K(G())),P(sn,C("tls"),C("ws"),K(G()))),wp=R(Zo),Yo=P(Uc,C("webrtc-direct"),we(),K(we()),K(G())),bp=R(Yo),ti=P(ve,C("webtransport"),we(),we(),K(G())),xp=R(ti),be=Z(Ko,Zo,P(ye,K(G())),P(Cc,K(G())),P(Jt,K(G())),Yo,ti,G()),yp=R(be),Pc=P(be,C("p2p-circuit"),G()),ei=R(Pc),Fc=Z(P(be,C("p2p-circuit"),C("webrtc"),G()),P(be,C("webrtc"),K(G())),C("webrtc")),vp=R(Fc);var ci=De(ri(),1);var ni="[a-fA-F\\d:]",ct=r=>r&&r.includeBoundaries?`(?:(?<=\\s|^)(?=${ni})|(?<=${ni})(?=\\s|$))`:"",Q="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",F="[a-fA-F\\d]{1,4}",Ae=`
|
|
3
3
|
(?:
|
|
4
|
-
(?:${
|
|
5
|
-
(?:${
|
|
6
|
-
(?:${
|
|
7
|
-
(?:${
|
|
8
|
-
(?:${
|
|
9
|
-
(?:${
|
|
10
|
-
(?:${
|
|
11
|
-
(?::(?:(?::${
|
|
4
|
+
(?:${F}:){7}(?:${F}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
5
|
+
(?:${F}:){6}(?:${Q}|:${F}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
|
|
6
|
+
(?:${F}:){5}(?::${Q}|(?::${F}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
|
|
7
|
+
(?:${F}:){4}(?:(?::${F}){0,1}:${Q}|(?::${F}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
|
|
8
|
+
(?:${F}:){3}(?:(?::${F}){0,2}:${Q}|(?::${F}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
|
|
9
|
+
(?:${F}:){2}(?:(?::${F}){0,3}:${Q}|(?::${F}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
|
|
10
|
+
(?:${F}:){1}(?:(?::${F}){0,4}:${Q}|(?::${F}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
11
|
+
(?::(?:(?::${F}){0,5}:${Q}|(?::${F}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
|
|
12
12
|
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
|
|
13
|
-
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),
|
|
13
|
+
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),Rc=new RegExp(`(?:^${Q}$)|(?:^${Ae}$)`),Tc=new RegExp(`^${Q}$`),Mc=new RegExp(`^${Ae}$`),un=r=>r&&r.exact?Rc:new RegExp(`(?:${ct(r)}${Q}${ct(r)})|(?:${ct(r)}${Ae}${ct(r)})`,"g");un.v4=r=>r&&r.exact?Tc:new RegExp(`${ct(r)}${Q}${ct(r)}`,"g");un.v6=r=>r&&r.exact?Mc:new RegExp(`${ct(r)}${Ae}${ct(r)}`,"g");var oi=un;var fi=De(si(),1),{isValid:kc,parse:$c}=fi.default,Bc=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],Oc=Bc.map(r=>new ci.Netmask(r));function zc(r){for(let t of Oc)if(t.contains(r))return!0;return!1}function ai(r){return/^::$/.test(r)||/^::1$/.test(r)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(r)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(r)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(r)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(r)||/^ff([0-9a-fA-F]{2,2}):/i.test(r)}var hi=r=>{if(kc(r)){let t=$c(r);if(t.kind()==="ipv4")return zc(t.toNormalizedString());if(t.kind()==="ipv6")return ai(r)}else if(Dt(r)&&oi.v6().test(r))return ai(r)};var ui=hi;function ln(r,t){return ei.matches(r)||t.transportForMultiaddr(r)==null?!1:Wo.matches(r)?!0:Ho.matches(r)?ui(r.toOptions().host)===!1:!1}var li=1024*4,di=100,Ee={timeout:5e3,retries:3,maxInboundStreams:1,maxOutboundStreams:1},Se=class{started;timeout;retries;maxInboundStreams;maxOutboundStreams;peerStore;registrar;connectionManager;addressManager;transportManager;topologyId;log;constructor(t,e){this.log=t.logger.forComponent("libp2p:dcutr"),this.started=!1,this.peerStore=t.peerStore,this.registrar=t.registrar,this.addressManager=t.addressManager,this.connectionManager=t.connectionManager,this.transportManager=t.transportManager,this.timeout=e.timeout??Ee.timeout,this.retries=e.retries??Ee.retries,this.maxInboundStreams=e.maxInboundStreams??Ee.maxInboundStreams,this.maxOutboundStreams=e.maxOutboundStreams??Ee.maxOutboundStreams}isStarted(){return this.started}async start(){this.started||(this.topologyId=await this.registrar.register(Ft,{notifyOnTransient:!0,onConnect:(t,e)=>{e.transient&&e.direction==="inbound"&&this.upgradeInbound(e).catch(n=>{this.log.error("error during outgoing DCUtR attempt",n)})}}),await this.registrar.handle(Ft,t=>{this.handleIncomingUpgrade(t.stream,t.connection).catch(e=>{this.log.error("error during incoming DCUtR attempt",e),t.stream.abort(e)})},{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams,runOnTransientConnection:!0}),this.started=!0)}async stop(){await this.registrar.unhandle(Ft),this.topologyId!=null&&this.registrar.unregister(this.topologyId),this.started=!1}async upgradeInbound(t){if(await this.attemptUnilateralConnectionUpgrade(t))return;let e;for(let n=0;n<this.retries;n++){let o={signal:AbortSignal.timeout(this.timeout)};try{e=await t.newStream([Ft],{signal:o.signal,runOnTransientConnection:!0});let i=Br(e,{maxDataLength:li}).pb(J);this.log("B sending connect to %p",t.remotePeer);let a=Date.now();await i.write({type:J.Type.CONNECT,observedAddresses:this.addressManager.getAddresses().map(b=>b.bytes)},o),this.log("B receiving connect from %p",t.remotePeer);let f=await i.read(o);if(f.type!==J.Type.CONNECT)throw this.log("A sent wrong message type"),new q("DCUtR message type was incorrect",ft);let l=this.getDialableMultiaddrs(f.observedAddresses);if(l.length===0)throw this.log("A did not have any dialable multiaddrs"),new q("DCUtR connect message had no multiaddrs",ft);let d=Date.now()-a;this.log("A sending sync, rtt %dms",d),await i.write({type:J.Type.SYNC,observedAddresses:[]},o),this.log("A waiting for half RTT"),await xo(d/2),this.log("B dialing",l);let w=await this.connectionManager.openConnection(l,{signal:o.signal,priority:di});this.log("DCUtR to %p succeeded to address %a, closing relayed connection",t.remotePeer,w.remoteAddr),await t.close(o);break}catch(i){if(this.log.error("error while attempting DCUtR on attempt %d of %d",n+1,this.retries,i),e?.abort(i),n===this.retries)throw i}finally{e!=null&&await e.close(o)}}}async attemptUnilateralConnectionUpgrade(t){let n=(await this.peerStore.get(t.remotePeer)).addresses.map(o=>{let i=o.multiaddr;return i.getPeerId()==null?i.encapsulate(`/p2p/${t.remotePeer}`):i}).filter(o=>ln(o,this.transportManager));if(n.length>0){let o=AbortSignal.timeout(this.timeout);try{this.log("attempting unilateral connection upgrade to %a",n);let i=await this.connectionManager.openConnection(n,{signal:o,force:!0});if(i.transient)throw new Error("Could not open a new, non-transient, connection");return this.log("unilateral connection upgrade to %p succeeded via %a, closing relayed connection",t.remotePeer,i.remoteAddr),await t.close({signal:o}),!0}catch(i){this.log.error("unilateral connection upgrade to %p on addresses %a failed",t.remotePeer,n,i)}}else this.log("peer %p has no public addresses, not attempting unilateral connection upgrade",t.remotePeer);return!1}async handleIncomingUpgrade(t,e){let n={signal:AbortSignal.timeout(this.timeout)};try{let o=Br(t,{maxDataLength:li}).pb(J);this.log("A receiving connect");let i=await o.read(n);if(i.type!==J.Type.CONNECT)throw this.log("B sent wrong message type"),new q("DCUtR message type was incorrect",ft);if(i.observedAddresses.length===0)throw this.log("B sent no multiaddrs"),new q("DCUtR connect message had no multiaddrs",ft);let a=this.getDialableMultiaddrs(i.observedAddresses);if(a.length===0)throw this.log("B had no dialable multiaddrs"),new q("DCUtR connect message had no dialable multiaddrs",ft);if(this.log("A sending connect"),await o.write({type:J.Type.CONNECT,observedAddresses:this.addressManager.getAddresses().map(d=>d.bytes)}),this.log("A receiving sync"),(await o.read(n)).type!==J.Type.SYNC)throw new q("DCUtR message type was incorrect",ft);this.log("A dialing",a);let l=await this.connectionManager.openConnection(a,{signal:n.signal,priority:di,force:!0});this.log("DCUtR to %p succeeded via %a, closing relayed connection",e.remotePeer,l.remoteAddr),await e.close(n)}catch(o){this.log.error("incoming DCUtR from %p failed",e.remotePeer,o),t.abort(o)}finally{await t.close(n)}}getDialableMultiaddrs(t){let e=[];for(let n of t)if(!(n==null||n.length===0))try{let o=Rr(n);if(!ln(o,this.transportManager))continue;e.push(o)}catch{}return e}};var Ft="/libp2p/dcutr";function Vc(r={}){return t=>new Se(t,r)}return xi(_c);})();
|
|
14
14
|
return Libp2PDcutr}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/dcutr",
|
|
3
|
-
"version": "1.0.5-
|
|
3
|
+
"version": "1.0.5-4e0135c7d",
|
|
4
4
|
"description": "Implementation of the DCUtR Protocol",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/protocol-dcutr#readme",
|
|
@@ -51,8 +51,8 @@
|
|
|
51
51
|
"dep-check": "aegir dep-check"
|
|
52
52
|
},
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@libp2p/interface": "1.0.2-
|
|
55
|
-
"@libp2p/interface-internal": "1.0.3-
|
|
54
|
+
"@libp2p/interface": "1.0.2-4e0135c7d",
|
|
55
|
+
"@libp2p/interface-internal": "1.0.3-4e0135c7d",
|
|
56
56
|
"@multiformats/multiaddr": "^12.1.10",
|
|
57
57
|
"@multiformats/multiaddr-matcher": "^1.1.0",
|
|
58
58
|
"delay": "^6.0.0",
|