@libp2p/daemon-server 6.0.1 → 6.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,5 +1,3 @@
1
- # @libp2p/daemon-server <!-- omit in toc -->
2
-
3
1
  [![libp2p.io](https://img.shields.io/badge/project-libp2p-yellow.svg?style=flat-square)](http://libp2p.io/)
4
2
  [![Discuss](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg?style=flat-square)](https://discuss.libp2p.io)
5
3
  [![codecov](https://img.shields.io/codecov/c/github/libp2p/js-libp2p-daemon.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p-daemon)
@@ -7,25 +5,17 @@
7
5
 
8
6
  > API server for libp2p-daemon instances
9
7
 
10
- ## Table of contents <!-- omit in toc -->
11
-
12
- - [Install](#install)
13
- - [Specs](#specs)
14
- - [Usage](#usage)
15
- - [License](#license)
16
- - [Contribution](#contribution)
17
-
18
- ## Install
8
+ # Install
19
9
 
20
10
  ```console
21
11
  $ npm i @libp2p/daemon-server
22
12
  ```
23
13
 
24
- ## Specs
14
+ # Specs
25
15
 
26
16
  The specs for the daemon are currently housed in the go implementation. You can read them at [libp2p/go-libp2p-daemon](https://github.com/libp2p/go-libp2p-daemon/blob/master/specs/README.md)
27
17
 
28
- ## Usage
18
+ # Usage
29
19
 
30
20
  ```js
31
21
  import { createServer } from '@libp2p/daemon-server'
@@ -42,13 +32,17 @@ const server = await createServer(multiaddr, libp2p)
42
32
  await server.start()
43
33
  ```
44
34
 
45
- ## License
35
+ # API Docs
36
+
37
+ - <https://libp2p.github.io/js-libp2p-daemon/modules/_libp2p_daemon_server.html>
38
+
39
+ # License
46
40
 
47
41
  Licensed under either of
48
42
 
49
43
  - Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)
50
44
  - MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)
51
45
 
52
- ## Contribution
46
+ # Contribution
53
47
 
54
48
  Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
package/dist/index.min.js CHANGED
@@ -1,7 +1,7 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PDaemonServer = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2PDaemonServer=(()=>{var Iu=Object.create;var dr=Object.defineProperty;var Cu=Object.getOwnPropertyDescriptor;var ku=Object.getOwnPropertyNames;var Du=Object.getPrototypeOf,Bu=Object.prototype.hasOwnProperty;var Ft=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(t,e)=>(typeof require<"u"?require:t)[e]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var B=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),ft=(r,t)=>{for(var e in t)dr(r,e,{get:t[e],enumerable:!0})},rs=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of ku(t))!Bu.call(r,i)&&i!==e&&dr(r,i,{get:()=>t[i],enumerable:!(n=Cu(t,i))||n.enumerable});return r};var M=(r,t,e)=>(e=r!=null?Iu(Du(r)):{},rs(t||!r||!r.__esModule?dr(e,"default",{value:r,enumerable:!0}):e,r)),Ru=r=>rs(dr({},"__esModule",{value:!0}),r);var is=B((Jh,ns)=>{"use strict";ns.exports=_u;function _u(r,t){for(var e=new Array(arguments.length-1),n=0,i=2,s=!0;i<arguments.length;)e[n++]=arguments[i++];return new Promise(function(l,f){e[n]=function(h){if(s)if(s=!1,h)f(h);else{for(var g=new Array(arguments.length-1),w=0;w<g.length;)g[w++]=arguments[w];l.apply(null,g)}};try{r.apply(t||null,e)}catch(d){s&&(s=!1,f(d))}})}});var as=B(cs=>{"use strict";var mr=cs;mr.length=function(t){var e=t.length;if(!e)return 0;for(var n=0;--e%4>1&&t.charAt(e)==="=";)++n;return Math.ceil(t.length*3)/4-n};var Ae=new Array(64),os=new Array(123);for(kt=0;kt<64;)os[Ae[kt]=kt<26?kt+65:kt<52?kt+71:kt<62?kt-4:kt-59|43]=kt++;var kt;mr.encode=function(t,e,n){for(var i=null,s=[],a=0,l=0,f;e<n;){var d=t[e++];switch(l){case 0:s[a++]=Ae[d>>2],f=(d&3)<<4,l=1;break;case 1:s[a++]=Ae[f|d>>4],f=(d&15)<<2,l=2;break;case 2:s[a++]=Ae[f|d>>6],s[a++]=Ae[d&63],l=0;break}a>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,s)),a=0)}return l&&(s[a++]=Ae[f],s[a++]=61,l===1&&(s[a++]=61)),i?(a&&i.push(String.fromCharCode.apply(String,s.slice(0,a))),i.join("")):String.fromCharCode.apply(String,s.slice(0,a))};var ss="invalid encoding";mr.decode=function(t,e,n){for(var i=n,s=0,a,l=0;l<t.length;){var f=t.charCodeAt(l++);if(f===61&&s>1)break;if((f=os[f])===void 0)throw Error(ss);switch(s){case 0:a=f,s=1;break;case 1:e[n++]=a<<2|(f&48)>>4,a=f,s=2;break;case 2:e[n++]=(a&15)<<4|(f&60)>>2,a=f,s=3;break;case 3:e[n++]=(a&3)<<6|f,s=0;break}}if(s===1)throw Error(ss);return n-i};mr.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}});var ls=B((tp,us)=>{"use strict";us.exports=gr;function gr(){this._listeners={}}gr.prototype.on=function(t,e,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:e,ctx:n||this}),this};gr.prototype.off=function(t,e){if(t===void 0)this._listeners={};else if(e===void 0)this._listeners[t]=[];else for(var n=this._listeners[t],i=0;i<n.length;)n[i].fn===e?n.splice(i,1):++i;return this};gr.prototype.emit=function(t){var e=this._listeners[t];if(e){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<e.length;)e[i].fn.apply(e[i++].ctx,n)}return this}});var ys=B((ep,gs)=>{"use strict";gs.exports=fs(fs);function fs(r){return typeof Float32Array<"u"?function(){var t=new Float32Array([-0]),e=new Uint8Array(t.buffer),n=e[3]===128;function i(f,d,h){t[0]=f,d[h]=e[0],d[h+1]=e[1],d[h+2]=e[2],d[h+3]=e[3]}function s(f,d,h){t[0]=f,d[h]=e[3],d[h+1]=e[2],d[h+2]=e[1],d[h+3]=e[0]}r.writeFloatLE=n?i:s,r.writeFloatBE=n?s:i;function a(f,d){return e[0]=f[d],e[1]=f[d+1],e[2]=f[d+2],e[3]=f[d+3],t[0]}function l(f,d){return e[3]=f[d],e[2]=f[d+1],e[1]=f[d+2],e[0]=f[d+3],t[0]}r.readFloatLE=n?a:l,r.readFloatBE=n?l:a}():function(){function t(n,i,s,a){var l=i<0?1:0;if(l&&(i=-i),i===0)n(1/i>0?0:2147483648,s,a);else if(isNaN(i))n(2143289344,s,a);else if(i>34028234663852886e22)n((l<<31|2139095040)>>>0,s,a);else if(i<11754943508222875e-54)n((l<<31|Math.round(i/1401298464324817e-60))>>>0,s,a);else{var f=Math.floor(Math.log(i)/Math.LN2),d=Math.round(i*Math.pow(2,-f)*8388608)&8388607;n((l<<31|f+127<<23|d)>>>0,s,a)}}r.writeFloatLE=t.bind(null,hs),r.writeFloatBE=t.bind(null,ps);function e(n,i,s){var a=n(i,s),l=(a>>31)*2+1,f=a>>>23&255,d=a&8388607;return f===255?d?NaN:l*(1/0):f===0?l*1401298464324817e-60*d:l*Math.pow(2,f-150)*(d+8388608)}r.readFloatLE=e.bind(null,ds),r.readFloatBE=e.bind(null,ms)}(),typeof Float64Array<"u"?function(){var t=new Float64Array([-0]),e=new Uint8Array(t.buffer),n=e[7]===128;function i(f,d,h){t[0]=f,d[h]=e[0],d[h+1]=e[1],d[h+2]=e[2],d[h+3]=e[3],d[h+4]=e[4],d[h+5]=e[5],d[h+6]=e[6],d[h+7]=e[7]}function s(f,d,h){t[0]=f,d[h]=e[7],d[h+1]=e[6],d[h+2]=e[5],d[h+3]=e[4],d[h+4]=e[3],d[h+5]=e[2],d[h+6]=e[1],d[h+7]=e[0]}r.writeDoubleLE=n?i:s,r.writeDoubleBE=n?s:i;function a(f,d){return e[0]=f[d],e[1]=f[d+1],e[2]=f[d+2],e[3]=f[d+3],e[4]=f[d+4],e[5]=f[d+5],e[6]=f[d+6],e[7]=f[d+7],t[0]}function l(f,d){return e[7]=f[d],e[6]=f[d+1],e[5]=f[d+2],e[4]=f[d+3],e[3]=f[d+4],e[2]=f[d+5],e[1]=f[d+6],e[0]=f[d+7],t[0]}r.readDoubleLE=n?a:l,r.readDoubleBE=n?l:a}():function(){function t(n,i,s,a,l,f){var d=a<0?1:0;if(d&&(a=-a),a===0)n(0,l,f+i),n(1/a>0?0:2147483648,l,f+s);else if(isNaN(a))n(0,l,f+i),n(2146959360,l,f+s);else if(a>17976931348623157e292)n(0,l,f+i),n((d<<31|2146435072)>>>0,l,f+s);else{var h;if(a<22250738585072014e-324)h=a/5e-324,n(h>>>0,l,f+i),n((d<<31|h/4294967296)>>>0,l,f+s);else{var g=Math.floor(Math.log(a)/Math.LN2);g===1024&&(g=1023),h=a*Math.pow(2,-g),n(h*4503599627370496>>>0,l,f+i),n((d<<31|g+1023<<20|h*1048576&1048575)>>>0,l,f+s)}}}r.writeDoubleLE=t.bind(null,hs,0,4),r.writeDoubleBE=t.bind(null,ps,4,0);function e(n,i,s,a,l){var f=n(a,l+i),d=n(a,l+s),h=(d>>31)*2+1,g=d>>>20&2047,w=4294967296*(d&1048575)+f;return g===2047?w?NaN:h*(1/0):g===0?h*5e-324*w:h*Math.pow(2,g-1075)*(w+4503599627370496)}r.readDoubleLE=e.bind(null,ds,0,4),r.readDoubleBE=e.bind(null,ms,4,0)}(),r}function hs(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 ps(r,t,e){t[e]=r>>>24,t[e+1]=r>>>16&255,t[e+2]=r>>>8&255,t[e+3]=r&255}function ds(r,t){return(r[t]|r[t+1]<<8|r[t+2]<<16|r[t+3]<<24)>>>0}function ms(r,t){return(r[t]<<24|r[t+1]<<16|r[t+2]<<8|r[t+3])>>>0}});var bs=B((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(r){}return null}});var Es=B(ws=>{"use strict";var wn=ws;wn.length=function(t){for(var e=0,n=0,i=0;i<t.length;++i)n=t.charCodeAt(i),n<128?e+=1:n<2048?e+=2:(n&64512)===55296&&(t.charCodeAt(i+1)&64512)===56320?(++i,e+=4):e+=3;return e};wn.read=function(t,e,n){var i=n-e;if(i<1)return"";for(var s=null,a=[],l=0,f;e<n;)f=t[e++],f<128?a[l++]=f:f>191&&f<224?a[l++]=(f&31)<<6|t[e++]&63:f>239&&f<365?(f=((f&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,a[l++]=55296+(f>>10),a[l++]=56320+(f&1023)):a[l++]=(f&15)<<12|(t[e++]&63)<<6|t[e++]&63,l>8191&&((s||(s=[])).push(String.fromCharCode.apply(String,a)),l=0);return s?(l&&s.push(String.fromCharCode.apply(String,a.slice(0,l))),s.join("")):String.fromCharCode.apply(String,a.slice(0,l))};wn.write=function(t,e,n){for(var i=n,s,a,l=0;l<t.length;++l)s=t.charCodeAt(l),s<128?e[n++]=s:s<2048?(e[n++]=s>>6|192,e[n++]=s&63|128):(s&64512)===55296&&((a=t.charCodeAt(l+1))&64512)===56320?(s=65536+((s&1023)<<10)+(a&1023),++l,e[n++]=s>>18|240,e[n++]=s>>12&63|128,e[n++]=s>>6&63|128,e[n++]=s&63|128):(e[n++]=s>>12|224,e[n++]=s>>6&63|128,e[n++]=s&63|128);return n-i}});var xs=B((np,vs)=>{"use strict";vs.exports=Lu;function Lu(r,t,e){var n=e||8192,i=n>>>1,s=null,a=n;return function(f){if(f<1||f>i)return r(f);a+f>n&&(s=r(n),a=0);var d=t.call(s,a,a+=f);return a&7&&(a=(a|7)+1),d}}});var Ts=B((ip,Ss)=>{"use strict";Ss.exports=K;var Ye=ce();function K(r,t){this.lo=r>>>0,this.hi=t>>>0}var oe=K.zero=new K(0,0);oe.toNumber=function(){return 0};oe.zzEncode=oe.zzDecode=function(){return this};oe.length=function(){return 1};var Nu=K.zeroHash="\0\0\0\0\0\0\0\0";K.fromNumber=function(t){if(t===0)return oe;var e=t<0;e&&(t=-t);var n=t>>>0,i=(t-n)/4294967296>>>0;return e&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new K(n,i)};K.from=function(t){if(typeof t=="number")return K.fromNumber(t);if(Ye.isString(t))if(Ye.Long)t=Ye.Long.fromString(t);else return K.fromNumber(parseInt(t,10));return t.low||t.high?new K(t.low>>>0,t.high>>>0):oe};K.prototype.toNumber=function(t){if(!t&&this.hi>>>31){var e=~this.lo+1>>>0,n=~this.hi>>>0;return e||(n=n+1>>>0),-(e+n*4294967296)}return this.lo+this.hi*4294967296};K.prototype.toLong=function(t){return Ye.Long?new Ye.Long(this.lo|0,this.hi|0,!!t):{low:this.lo|0,high:this.hi|0,unsigned:!!t}};var Zt=String.prototype.charCodeAt;K.fromHash=function(t){return t===Nu?oe:new K((Zt.call(t,0)|Zt.call(t,1)<<8|Zt.call(t,2)<<16|Zt.call(t,3)<<24)>>>0,(Zt.call(t,4)|Zt.call(t,5)<<8|Zt.call(t,6)<<16|Zt.call(t,7)<<24)>>>0)};K.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};K.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this};K.prototype.zzDecode=function(){var t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this};K.prototype.length=function(){var 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}});var ce=B(En=>{"use strict";var T=En;T.asPromise=is();T.base64=as();T.EventEmitter=ls();T.float=ys();T.inquire=bs();T.utf8=Es();T.pool=xs();T.LongBits=Ts();T.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);T.global=T.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||En;T.emptyArray=Object.freeze?Object.freeze([]):[];T.emptyObject=Object.freeze?Object.freeze({}):{};T.isInteger=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t};T.isString=function(t){return typeof t=="string"||t instanceof String};T.isObject=function(t){return t&&typeof t=="object"};T.isset=T.isSet=function(t,e){var n=t[e];return n!=null&&t.hasOwnProperty(e)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};T.Buffer=function(){try{var r=T.inquire("buffer").Buffer;return r.prototype.utf8Write?r:null}catch{return null}}();T._Buffer_from=null;T._Buffer_allocUnsafe=null;T.newBuffer=function(t){return typeof t=="number"?T.Buffer?T._Buffer_allocUnsafe(t):new T.Array(t):T.Buffer?T._Buffer_from(t):typeof Uint8Array>"u"?t:new Uint8Array(t)};T.Array=typeof Uint8Array<"u"?Uint8Array:Array;T.Long=T.global.dcodeIO&&T.global.dcodeIO.Long||T.global.Long||T.inquire("long");T.key2Re=/^true|false|0|1$/;T.key32Re=/^-?(?:0|[1-9][0-9]*)$/;T.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;T.longToHash=function(t){return t?T.LongBits.from(t).toHash():T.LongBits.zeroHash};T.longFromHash=function(t,e){var n=T.LongBits.fromHash(t);return T.Long?T.Long.fromBits(n.lo,n.hi,e):n.toNumber(!!e)};function As(r,t,e){for(var n=Object.keys(t),i=0;i<n.length;++i)(r[n[i]]===void 0||!e)&&(r[n[i]]=t[n[i]]);return r}T.merge=As;T.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function Is(r){function t(e,n){if(!(this instanceof t))return new t(e,n);Object.defineProperty(this,"message",{get:function(){return e}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&As(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return r},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}T.newError=Is;T.ProtocolError=Is("ProtocolError");T.oneOfGetter=function(t){for(var e={},n=0;n<t.length;++n)e[t[n]]=1;return function(){for(var i=Object.keys(this),s=i.length-1;s>-1;--s)if(e[i[s]]===1&&this[i[s]]!==void 0&&this[i[s]]!==null)return i[s]}};T.oneOfSetter=function(t){return function(e){for(var n=0;n<t.length;++n)t[n]!==e&&delete this[t[n]]}};T.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};T._configure=function(){var r=T.Buffer;if(!r){T._Buffer_from=T._Buffer_allocUnsafe=null;return}T._Buffer_from=r.from!==Uint8Array.from&&r.from||function(e,n){return new r(e,n)},T._Buffer_allocUnsafe=r.allocUnsafe||function(e){return new r(e)}}});var Sn=B((op,Rs)=>{"use strict";Rs.exports=U;var Lt=ce(),xn,Ds=Lt.LongBits,Ou=Lt.utf8;function Dt(r,t){return RangeError("index out of range: "+r.pos+" + "+(t||1)+" > "+r.len)}function U(r){this.buf=r,this.pos=0,this.len=r.length}var Cs=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new U(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new U(t);throw Error("illegal buffer")},Bs=function(){return Lt.Buffer?function(e){return(U.create=function(i){return Lt.Buffer.isBuffer(i)?new xn(i):Cs(i)})(e)}:Cs};U.create=Bs();U.prototype._slice=Lt.Array.prototype.subarray||Lt.Array.prototype.slice;U.prototype.uint32=function(){var t=4294967295;return function(){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,Dt(this,10);return t}}();U.prototype.int32=function(){return this.uint32()|0};U.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function vn(){var r=new Ds(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(r.lo=(r.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return r;if(r.lo=(r.lo|(this.buf[this.pos]&127)<<28)>>>0,r.hi=(r.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return r;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw Dt(this);if(r.lo=(r.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return r}return r.lo=(r.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,r}if(this.len-this.pos>4){for(;t<5;++t)if(r.hi=(r.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return r}else for(;t<5;++t){if(this.pos>=this.len)throw Dt(this);if(r.hi=(r.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return r}throw Error("invalid varint encoding")}U.prototype.bool=function(){return this.uint32()!==0};function yr(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}U.prototype.fixed32=function(){if(this.pos+4>this.len)throw Dt(this,4);return yr(this.buf,this.pos+=4)};U.prototype.sfixed32=function(){if(this.pos+4>this.len)throw Dt(this,4);return yr(this.buf,this.pos+=4)|0};function ks(){if(this.pos+8>this.len)throw Dt(this,8);return new Ds(yr(this.buf,this.pos+=4),yr(this.buf,this.pos+=4))}U.prototype.float=function(){if(this.pos+4>this.len)throw Dt(this,4);var t=Lt.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};U.prototype.double=function(){if(this.pos+8>this.len)throw Dt(this,4);var t=Lt.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};U.prototype.bytes=function(){var t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw Dt(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(e,n):e===n?new this.buf.constructor(0):this._slice.call(this.buf,e,n)};U.prototype.string=function(){var t=this.bytes();return Ou.read(t,0,t.length)};U.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Dt(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Dt(this);while(this.buf[this.pos++]&128);return this};U.prototype.skipType=function(r){switch(r){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(r=this.uint32()&7)!==4;)this.skipType(r);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+r+" at offset "+this.pos)}return this};U._configure=function(r){xn=r,U.create=Bs(),xn._configure();var t=Lt.Long?"toLong":"toNumber";Lt.merge(U.prototype,{int64:function(){return vn.call(this)[t](!1)},uint64:function(){return vn.call(this)[t](!0)},sint64:function(){return vn.call(this).zzDecode()[t](!1)},fixed64:function(){return ks.call(this)[t](!0)},sfixed64:function(){return ks.call(this)[t](!1)}})}});var Os=B((cp,Ns)=>{"use strict";Ns.exports=ae;var Ls=Sn();(ae.prototype=Object.create(Ls.prototype)).constructor=ae;var _s=ce();function ae(r){Ls.call(this,r)}ae._configure=function(){_s.Buffer&&(ae.prototype._slice=_s.Buffer.prototype.slice)};ae.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))};ae._configure()});var Bn=B((ap,Fs)=>{"use strict";Fs.exports=R;var bt=ce(),Tn,br=bt.LongBits,Ps=bt.base64,Ms=bt.utf8;function je(r,t,e){this.fn=r,this.len=t,this.next=void 0,this.val=e}function In(){}function Pu(r){this.head=r.head,this.tail=r.tail,this.len=r.len,this.next=r.states}function R(){this.len=0,this.head=new je(In,0,0),this.tail=this.head,this.states=null}var Us=function(){return bt.Buffer?function(){return(R.create=function(){return new Tn})()}:function(){return new R}};R.create=Us();R.alloc=function(t){return new bt.Array(t)};bt.Array!==Array&&(R.alloc=bt.pool(R.alloc,bt.Array.prototype.subarray));R.prototype._push=function(t,e,n){return this.tail=this.tail.next=new je(t,e,n),this.len+=e,this};function Cn(r,t,e){t[e]=r&255}function Mu(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}function kn(r,t){this.len=r,this.next=void 0,this.val=t}kn.prototype=Object.create(je.prototype);kn.prototype.fn=Mu;R.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new kn((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this};R.prototype.int32=function(t){return t<0?this._push(Dn,10,br.fromNumber(t)):this.uint32(t)};R.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function Dn(r,t,e){for(;r.hi;)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}R.prototype.uint64=function(t){var e=br.from(t);return this._push(Dn,e.length(),e)};R.prototype.int64=R.prototype.uint64;R.prototype.sint64=function(t){var e=br.from(t).zzEncode();return this._push(Dn,e.length(),e)};R.prototype.bool=function(t){return this._push(Cn,1,t?1:0)};function An(r,t,e){t[e]=r&255,t[e+1]=r>>>8&255,t[e+2]=r>>>16&255,t[e+3]=r>>>24}R.prototype.fixed32=function(t){return this._push(An,4,t>>>0)};R.prototype.sfixed32=R.prototype.fixed32;R.prototype.fixed64=function(t){var e=br.from(t);return this._push(An,4,e.lo)._push(An,4,e.hi)};R.prototype.sfixed64=R.prototype.fixed64;R.prototype.float=function(t){return this._push(bt.float.writeFloatLE,4,t)};R.prototype.double=function(t){return this._push(bt.float.writeDoubleLE,8,t)};var Uu=bt.Array.prototype.set?function(t,e,n){e.set(t,n)}:function(t,e,n){for(var i=0;i<t.length;++i)e[n+i]=t[i]};R.prototype.bytes=function(t){var e=t.length>>>0;if(!e)return this._push(Cn,1,0);if(bt.isString(t)){var n=R.alloc(e=Ps.length(t));Ps.decode(t,n,0),t=n}return this.uint32(e)._push(Uu,e,t)};R.prototype.string=function(t){var e=Ms.length(t);return e?this.uint32(e)._push(Ms.write,e,t):this._push(Cn,1,0)};R.prototype.fork=function(){return this.states=new Pu(this),this.head=this.tail=new je(In,0,0),this.len=0,this};R.prototype.reset=function(){return this.states?(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 je(In,0,0),this.len=0),this};R.prototype.ldelim=function(){var t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=e,this.len+=n),this};R.prototype.finish=function(){for(var t=this.head.next,e=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e};R._configure=function(r){Tn=r,R.create=Us(),Tn._configure()}});var zs=B((up,$s)=>{"use strict";$s.exports=Nt;var Gs=Bn();(Nt.prototype=Object.create(Gs.prototype)).constructor=Nt;var Kt=ce();function Nt(){Gs.call(this)}Nt._configure=function(){Nt.alloc=Kt._Buffer_allocUnsafe,Nt.writeBytesBuffer=Kt.Buffer&&Kt.Buffer.prototype instanceof Uint8Array&&Kt.Buffer.prototype.set.name==="set"?function(t,e,n){e.set(t,n)}:function(t,e,n){if(t.copy)t.copy(e,n,0,t.length);else for(var i=0;i<t.length;)e[n++]=t[i++]}};Nt.prototype.bytes=function(t){Kt.isString(t)&&(t=Kt._Buffer_from(t,"base64"));var e=t.length>>>0;return this.uint32(e),e&&this._push(Nt.writeBytesBuffer,e,t),this};function Fu(r,t,e){r.length<40?Kt.utf8.write(r,t,e):t.utf8Write?t.utf8Write(r,e):t.write(r,e)}Nt.prototype.string=function(t){var e=Kt.Buffer.byteLength(t);return this.uint32(e),e&&this._push(Fu,e,t),this};Nt._configure()});var Ks=B((kp,Zs)=>{var ke=1e3,De=ke*60,Be=De*60,fe=Be*24,Vu=fe*7,Hu=fe*365.25;Zs.exports=function(r,t){t=t||{};var e=typeof r;if(e==="string"&&r.length>0)return Wu(r);if(e==="number"&&isFinite(r))return t.long?Zu(r):qu(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function Wu(r){if(r=String(r),!(r.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(t){var e=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return e*Hu;case"weeks":case"week":case"w":return e*Vu;case"days":case"day":case"d":return e*fe;case"hours":case"hour":case"hrs":case"hr":case"h":return e*Be;case"minutes":case"minute":case"mins":case"min":case"m":return e*De;case"seconds":case"second":case"secs":case"sec":case"s":return e*ke;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:return}}}}function qu(r){var t=Math.abs(r);return t>=fe?Math.round(r/fe)+"d":t>=Be?Math.round(r/Be)+"h":t>=De?Math.round(r/De)+"m":t>=ke?Math.round(r/ke)+"s":r+"ms"}function Zu(r){var t=Math.abs(r);return t>=fe?Dr(r,t,fe,"day"):t>=Be?Dr(r,t,Be,"hour"):t>=De?Dr(r,t,De,"minute"):t>=ke?Dr(r,t,ke,"second"):r+" ms"}function Dr(r,t,e,n){var i=t>=e*1.5;return Math.round(r/e)+" "+n+(i?"s":"")}});var On=B((Dp,Xs)=>{function Ku(r){e.debug=e,e.default=e,e.coerce=f,e.disable=s,e.enable=i,e.enabled=a,e.humanize=Ks(),e.destroy=d,Object.keys(r).forEach(h=>{e[h]=r[h]}),e.names=[],e.skips=[],e.formatters={};function t(h){let g=0;for(let w=0;w<h.length;w++)g=(g<<5)-g+h.charCodeAt(w),g|=0;return e.colors[Math.abs(g)%e.colors.length]}e.selectColor=t;function e(h){let g,w=null,S,b;function k(...A){if(!k.enabled)return;let C=k,D=Number(new Date),_=D-(g||D);C.diff=_,C.prev=g,C.curr=D,g=D,A[0]=e.coerce(A[0]),typeof A[0]!="string"&&A.unshift("%O");let G=0;A[0]=A[0].replace(/%([a-zA-Z%])/g,(st,nt)=>{if(st==="%%")return"%";G++;let ot=e.formatters[nt];if(typeof ot=="function"){let Tt=A[G];st=ot.call(C,Tt),A.splice(G,1),G--}return st}),e.formatArgs.call(C,A),(C.log||e.log).apply(C,A)}return k.namespace=h,k.useColors=e.useColors(),k.color=e.selectColor(h),k.extend=n,k.destroy=e.destroy,Object.defineProperty(k,"enabled",{enumerable:!0,configurable:!1,get:()=>w!==null?w:(S!==e.namespaces&&(S=e.namespaces,b=e.enabled(h)),b),set:A=>{w=A}}),typeof e.init=="function"&&e.init(k),k}function n(h,g){let w=e(this.namespace+(typeof g>"u"?":":g)+h);return w.log=this.log,w}function i(h){e.save(h),e.namespaces=h,e.names=[],e.skips=[];let g,w=(typeof h=="string"?h:"").split(/[\s,]+/),S=w.length;for(g=0;g<S;g++)w[g]&&(h=w[g].replace(/\*/g,".*?"),h[0]==="-"?e.skips.push(new RegExp("^"+h.slice(1)+"$")):e.names.push(new RegExp("^"+h+"$")))}function s(){let h=[...e.names.map(l),...e.skips.map(l).map(g=>"-"+g)].join(",");return e.enable(""),h}function a(h){if(h[h.length-1]==="*")return!0;let g,w;for(g=0,w=e.skips.length;g<w;g++)if(e.skips[g].test(h))return!1;for(g=0,w=e.names.length;g<w;g++)if(e.names[g].test(h))return!0;return!1}function l(h){return h.toString().substring(2,h.toString().length-2).replace(/\.\*\?$/,"*")}function f(h){return h instanceof Error?h.stack||h.message:h}function d(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return e.enable(e.load()),e}Xs.exports=Ku});var Ys=B((ht,Br)=>{ht.formatArgs=Yu;ht.save=ju;ht.load=Ju;ht.useColors=Xu;ht.storage=Qu();ht.destroy=(()=>{let r=!1;return()=>{r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();ht.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Xu(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Yu(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+Br.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;r.splice(1,0,t,"color: inherit");let e=0,n=0;r[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(e++,i==="%c"&&(n=e))}),r.splice(n,0,t)}ht.log=console.debug||console.log||(()=>{});function ju(r){try{r?ht.storage.setItem("debug",r):ht.storage.removeItem("debug")}catch{}}function Ju(){let r;try{r=ht.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function Qu(){try{return localStorage}catch{}}Br.exports=On()(ht);var{formatters:tl}=Br.exports;tl.j=function(r){try{return JSON.stringify(r)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Js=B((Bp,js)=>{"use strict";js.exports=(r,t)=>{t=t||process.argv;let e=r.startsWith("-")?"":r.length===1?"-":"--",n=t.indexOf(e+r),i=t.indexOf("--");return n!==-1&&(i===-1?!0:n<i)}});var to=B((Rp,Qs)=>{"use strict";var el=Ft("os"),Bt=Js(),j=process.env,Re;Bt("no-color")||Bt("no-colors")||Bt("color=false")?Re=!1:(Bt("color")||Bt("colors")||Bt("color=true")||Bt("color=always"))&&(Re=!0);"FORCE_COLOR"in j&&(Re=j.FORCE_COLOR.length===0||parseInt(j.FORCE_COLOR,10)!==0);function rl(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function nl(r){if(Re===!1)return 0;if(Bt("color=16m")||Bt("color=full")||Bt("color=truecolor"))return 3;if(Bt("color=256"))return 2;if(r&&!r.isTTY&&Re!==!0)return 0;let t=Re?1:0;if(process.platform==="win32"){let e=el.release().split(".");return Number(process.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in j)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in j)||j.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in j)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(j.TEAMCITY_VERSION)?1:0;if(j.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in j){let e=parseInt((j.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(j.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(j.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(j.TERM)||"COLORTERM"in j?1:(j.TERM==="dumb",t)}function Pn(r){let t=nl(r);return rl(t)}Qs.exports={supportsColor:Pn,stdout:Pn(process.stdout),stderr:Pn(process.stderr)}});var ro=B((Y,_r)=>{var il=Ft("tty"),Rr=Ft("util");Y.init=fl;Y.log=al;Y.formatArgs=ol;Y.save=ul;Y.load=ll;Y.useColors=sl;Y.destroy=Rr.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");Y.colors=[6,2,3,4,5,1];try{let r=to();r&&(r.stderr||r).level>=2&&(Y.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}Y.inspectOpts=Object.keys(process.env).filter(r=>/^debug_/i.test(r)).reduce((r,t)=>{let e=t.substring(6).toLowerCase().replace(/_([a-z])/g,(i,s)=>s.toUpperCase()),n=process.env[t];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),r[e]=n,r},{});function sl(){return"colors"in Y.inspectOpts?!!Y.inspectOpts.colors:il.isatty(process.stderr.fd)}function ol(r){let{namespace:t,useColors:e}=this;if(e){let n=this.color,i="\x1B[3"+(n<8?n:"8;5;"+n),s=` ${i};1m${t} \x1B[0m`;r[0]=s+r[0].split(`
2
+ "use strict";var Libp2PDaemonServer=(()=>{var gi=Object.create;var Ie=Object.defineProperty;var yi=Object.getOwnPropertyDescriptor;var bi=Object.getOwnPropertyNames;var Ei=Object.getPrototypeOf,wi=Object.prototype.hasOwnProperty;var ht=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(t,e)=>(typeof require<"u"?require:t)[e]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var z=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),Z=(r,t)=>{for(var e in t)Ie(r,e,{get:t[e],enumerable:!0})},Ln=(r,t,e,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of bi(t))!wi.call(r,n)&&n!==e&&Ie(r,n,{get:()=>t[n],enumerable:!(o=yi(t,n))||o.enumerable});return r};var Et=(r,t,e)=>(e=r!=null?gi(Ei(r)):{},Ln(t||!r||!r.__esModule?Ie(e,"default",{value:r,enumerable:!0}):e,r)),xi=r=>Ln(Ie({},"__esModule",{value:!0}),r);var no=z((Fl,ro)=>{var Zt=1e3,qt=Zt*60,jt=qt*60,Ft=jt*24,Us=Ft*7,_s=Ft*365.25;ro.exports=function(r,t){t=t||{};var e=typeof r;if(e==="string"&&r.length>0)return Fs(r);if(e==="number"&&isFinite(r))return t.long?Ms(r):Bs(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function Fs(r){if(r=String(r),!(r.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(r);if(t){var e=parseFloat(t[1]),o=(t[2]||"ms").toLowerCase();switch(o){case"years":case"year":case"yrs":case"yr":case"y":return e*_s;case"weeks":case"week":case"w":return e*Us;case"days":case"day":case"d":return e*Ft;case"hours":case"hour":case"hrs":case"hr":case"h":return e*jt;case"minutes":case"minute":case"mins":case"min":case"m":return e*qt;case"seconds":case"second":case"secs":case"sec":case"s":return e*Zt;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:return}}}}function Bs(r){var t=Math.abs(r);return t>=Ft?Math.round(r/Ft)+"d":t>=jt?Math.round(r/jt)+"h":t>=qt?Math.round(r/qt)+"m":t>=Zt?Math.round(r/Zt)+"s":r+"ms"}function Ms(r){var t=Math.abs(r);return t>=Ft?Be(r,t,Ft,"day"):t>=jt?Be(r,t,jt,"hour"):t>=qt?Be(r,t,qt,"minute"):t>=Zt?Be(r,t,Zt,"second"):r+" ms"}function Be(r,t,e,o){var n=t>=e*1.5;return Math.round(r/e)+" "+o+(n?"s":"")}});var Wr=z((Bl,oo)=>{function Gs(r){e.debug=e,e.default=e,e.coerce=a,e.disable=i,e.enable=n,e.enabled=s,e.humanize=no(),e.destroy=h,Object.keys(r).forEach(l=>{e[l]=r[l]}),e.names=[],e.skips=[],e.formatters={};function t(l){let u=0;for(let f=0;f<l.length;f++)u=(u<<5)-u+l.charCodeAt(f),u|=0;return e.colors[Math.abs(u)%e.colors.length]}e.selectColor=t;function e(l){let u,f=null,b,m;function E(...g){if(!E.enabled)return;let y=E,I=Number(new Date),k=I-(u||I);y.diff=k,y.prev=u,y.curr=I,u=I,g[0]=e.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let D=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(tt,J)=>{if(tt==="%%")return"%";D++;let et=e.formatters[J];if(typeof et=="function"){let Ht=g[D];tt=et.call(y,Ht),g.splice(D,1),D--}return tt}),e.formatArgs.call(y,g),(y.log||e.log).apply(y,g)}return E.namespace=l,E.useColors=e.useColors(),E.color=e.selectColor(l),E.extend=o,E.destroy=e.destroy,Object.defineProperty(E,"enabled",{enumerable:!0,configurable:!1,get:()=>f!==null?f:(b!==e.namespaces&&(b=e.namespaces,m=e.enabled(l)),m),set:g=>{f=g}}),typeof e.init=="function"&&e.init(E),E}function o(l,u){let f=e(this.namespace+(typeof u>"u"?":":u)+l);return f.log=this.log,f}function n(l){e.save(l),e.namespaces=l,e.names=[],e.skips=[];let u,f=(typeof l=="string"?l:"").split(/[\s,]+/),b=f.length;for(u=0;u<b;u++)f[u]&&(l=f[u].replace(/\*/g,".*?"),l[0]==="-"?e.skips.push(new RegExp("^"+l.slice(1)+"$")):e.names.push(new RegExp("^"+l+"$")))}function i(){let l=[...e.names.map(c),...e.skips.map(c).map(u=>"-"+u)].join(",");return e.enable(""),l}function s(l){if(l[l.length-1]==="*")return!0;let u,f;for(u=0,f=e.skips.length;u<f;u++)if(e.skips[u].test(l))return!1;for(u=0,f=e.names.length;u<f;u++)if(e.names[u].test(l))return!0;return!1}function c(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function a(l){return l instanceof Error?l.stack||l.message:l}function h(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return e.enable(e.load()),e}oo.exports=Gs});var io=z((q,Me)=>{q.formatArgs=$s;q.save=zs;q.load=Hs;q.useColors=Vs;q.storage=Ws();q.destroy=(()=>{let r=!1;return()=>{r||(r=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();q.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Vs(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function $s(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+Me.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;r.splice(1,0,t,"color: inherit");let e=0,o=0;r[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(e++,n==="%c"&&(o=e))}),r.splice(o,0,t)}q.log=console.debug||console.log||(()=>{});function zs(r){try{r?q.storage.setItem("debug",r):q.storage.removeItem("debug")}catch{}}function Hs(){let r;try{r=q.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function Ws(){try{return localStorage}catch{}}Me.exports=Wr()(q);var{formatters:Ks}=Me.exports;Ks.j=function(r){try{return JSON.stringify(r)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var co=z((Ml,so)=>{"use strict";so.exports=(r,t)=>{t=t||process.argv;let e=r.startsWith("-")?"":r.length===1?"-":"--",o=t.indexOf(e+r),n=t.indexOf("--");return o!==-1&&(n===-1?!0:o<n)}});var lo=z((Gl,ao)=>{"use strict";var Xs=ht("os"),ut=co(),G=process.env,te;ut("no-color")||ut("no-colors")||ut("color=false")?te=!1:(ut("color")||ut("colors")||ut("color=true")||ut("color=always"))&&(te=!0);"FORCE_COLOR"in G&&(te=G.FORCE_COLOR.length===0||parseInt(G.FORCE_COLOR,10)!==0);function Ys(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function Qs(r){if(te===!1)return 0;if(ut("color=16m")||ut("color=full")||ut("color=truecolor"))return 3;if(ut("color=256"))return 2;if(r&&!r.isTTY&&te!==!0)return 0;let t=te?1:0;if(process.platform==="win32"){let e=Xs.release().split(".");return Number(process.versions.node.split(".")[0])>=8&&Number(e[0])>=10&&Number(e[2])>=10586?Number(e[2])>=14931?3:2:1}if("CI"in G)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI"].some(e=>e in G)||G.CI_NAME==="codeship"?1:t;if("TEAMCITY_VERSION"in G)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(G.TEAMCITY_VERSION)?1:0;if(G.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in G){let e=parseInt((G.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(G.TERM_PROGRAM){case"iTerm.app":return e>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(G.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(G.TERM)||"COLORTERM"in G?1:(G.TERM==="dumb",t)}function Kr(r){let t=Qs(r);return Ys(t)}ao.exports={supportsColor:Kr,stdout:Kr(process.stdout),stderr:Kr(process.stderr)}});var fo=z((_,Ve)=>{var Js=ht("tty"),Ge=ht("util");_.init=nc;_.log=tc;_.formatArgs=qs;_.save=ec;_.load=rc;_.useColors=Zs;_.destroy=Ge.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");_.colors=[6,2,3,4,5,1];try{let r=lo();r&&(r.stderr||r).level>=2&&(_.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}_.inspectOpts=Object.keys(process.env).filter(r=>/^debug_/i.test(r)).reduce((r,t)=>{let e=t.substring(6).toLowerCase().replace(/_([a-z])/g,(n,i)=>i.toUpperCase()),o=process.env[t];return/^(yes|on|true|enabled)$/i.test(o)?o=!0:/^(no|off|false|disabled)$/i.test(o)?o=!1:o==="null"?o=null:o=Number(o),r[e]=o,r},{});function Zs(){return"colors"in _.inspectOpts?!!_.inspectOpts.colors:Js.isatty(process.stderr.fd)}function qs(r){let{namespace:t,useColors:e}=this;if(e){let o=this.color,n="\x1B[3"+(o<8?o:"8;5;"+o),i=` ${n};1m${t} \x1B[0m`;r[0]=i+r[0].split(`
3
3
  `).join(`
4
- `+s),r.push(i+"m+"+_r.exports.humanize(this.diff)+"\x1B[0m")}else r[0]=cl()+t+" "+r[0]}function cl(){return Y.inspectOpts.hideDate?"":new Date().toISOString()+" "}function al(...r){return process.stderr.write(Rr.format(...r)+`
5
- `)}function ul(r){r?process.env.DEBUG=r:delete process.env.DEBUG}function ll(){return process.env.DEBUG}function fl(r){r.inspectOpts={};let t=Object.keys(Y.inspectOpts);for(let e=0;e<t.length;e++)r.inspectOpts[t[e]]=Y.inspectOpts[t[e]]}_r.exports=On()(Y);var{formatters:eo}=_r.exports;eo.o=function(r){return this.inspectOpts.colors=this.useColors,Rr.inspect(r,this.inspectOpts).split(`
6
- `).map(t=>t.trim()).join(" ")};eo.O=function(r){return this.inspectOpts.colors=this.useColors,Rr.inspect(r,this.inspectOpts)}});var no=B((_p,Mn)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Mn.exports=Ys():Mn.exports=ro()});var bo=B((Ad,yo)=>{"use strict";function go(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function Gl(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 go(r,e)}catch{e.message=r.message,e.stack=r.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(r)),go(new i,e)}}yo.exports=Gl});var zo=B((km,$o)=>{$o.exports=fi;var Go=128,Of=127,Pf=~Of,Mf=Math.pow(2,31);function fi(r,t,e){if(Number.MAX_SAFE_INTEGER&&r>Number.MAX_SAFE_INTEGER)throw fi.bytes=0,new RangeError("Could not encode varint");t=t||[],e=e||0;for(var n=e;r>=Mf;)t[e++]=r&255|Go,r/=128;for(;r&Pf;)t[e++]=r&255|Go,r>>>=7;return t[e]=r|0,fi.bytes=e-n+1,t}});var Wo=B((Dm,Ho)=>{Ho.exports=hi;var Uf=128,Vo=127;function hi(r,n){var e=0,n=n||0,i=0,s=n,a,l=r.length;do{if(s>=l||i>49)throw hi.bytes=0,new RangeError("Could not decode varint");a=r[s++],e+=i<28?(a&Vo)<<i:(a&Vo)*Math.pow(2,i),i+=7}while(a>=Uf);return hi.bytes=s-n,e}});var Zo=B((Bm,qo)=>{var Ff=Math.pow(2,7),Gf=Math.pow(2,14),$f=Math.pow(2,21),zf=Math.pow(2,28),Vf=Math.pow(2,35),Hf=Math.pow(2,42),Wf=Math.pow(2,49),qf=Math.pow(2,56),Zf=Math.pow(2,63);qo.exports=function(r){return r<Ff?1:r<Gf?2:r<$f?3:r<zf?4:r<Vf?5:r<Hf?6:r<Wf?7:r<qf?8:r<Zf?9:10}});var pi=B((Rm,Ko)=>{Ko.exports={encode:zo(),decode:Wo(),encodingLength:Zo()}});var Bi=B((Qr,wc)=>{(function(){var r,t=0xdeadbeefcafe,e=(t&16777215)==15715070;function n(o,c,u){o!=null&&(typeof o=="number"?this.fromNumber(o,c,u):c==null&&typeof o!="string"?this.fromString(o,256):this.fromString(o,c))}function i(){return new n(null)}function s(o,c,u,p,m,y){for(;--y>=0;){var E=c*this[o++]+u[p]+m;m=Math.floor(E/67108864),u[p++]=E&67108863}return m}function a(o,c,u,p,m,y){for(var E=c&32767,x=c>>15;--y>=0;){var N=this[o]&32767,Z=this[o++]>>15,yt=x*N+Z*E;N=E*N+((yt&32767)<<15)+u[p]+(m&1073741823),m=(N>>>30)+(yt>>>15)+x*Z+(m>>>30),u[p++]=N&1073741823}return m}function l(o,c,u,p,m,y){for(var E=c&16383,x=c>>14;--y>=0;){var N=this[o]&16383,Z=this[o++]>>14,yt=x*N+Z*E;N=E*N+((yt&16383)<<14)+u[p]+m,m=(N>>28)+(yt>>14)+x*Z,u[p++]=N&268435455}return m}var f=typeof navigator<"u";f&&e&&navigator.appName=="Microsoft Internet Explorer"?(n.prototype.am=a,r=30):f&&e&&navigator.appName!="Netscape"?(n.prototype.am=s,r=26):(n.prototype.am=l,r=28),n.prototype.DB=r,n.prototype.DM=(1<<r)-1,n.prototype.DV=1<<r;var d=52;n.prototype.FV=Math.pow(2,d),n.prototype.F1=d-r,n.prototype.F2=2*r-d;var h="0123456789abcdefghijklmnopqrstuvwxyz",g=new Array,w,S;for(w="0".charCodeAt(0),S=0;S<=9;++S)g[w++]=S;for(w="a".charCodeAt(0),S=10;S<36;++S)g[w++]=S;for(w="A".charCodeAt(0),S=10;S<36;++S)g[w++]=S;function b(o){return h.charAt(o)}function k(o,c){var u=g[o.charCodeAt(c)];return u??-1}function A(o){for(var c=this.t-1;c>=0;--c)o[c]=this[c];o.t=this.t,o.s=this.s}function C(o){this.t=1,this.s=o<0?-1:0,o>0?this[0]=o:o<-1?this[0]=o+this.DV:this.t=0}function D(o){var c=i();return c.fromInt(o),c}function _(o,c){var u;if(c==16)u=4;else if(c==8)u=3;else if(c==256)u=8;else if(c==2)u=1;else if(c==32)u=5;else if(c==4)u=2;else{this.fromRadix(o,c);return}this.t=0,this.s=0;for(var p=o.length,m=!1,y=0;--p>=0;){var E=u==8?o[p]&255:k(o,p);if(E<0){o.charAt(p)=="-"&&(m=!0);continue}m=!1,y==0?this[this.t++]=E:y+u>this.DB?(this[this.t-1]|=(E&(1<<this.DB-y)-1)<<y,this[this.t++]=E>>this.DB-y):this[this.t-1]|=E<<y,y+=u,y>=this.DB&&(y-=this.DB)}u==8&&o[0]&128&&(this.s=-1,y>0&&(this[this.t-1]|=(1<<this.DB-y)-1<<y)),this.clamp(),m&&n.ZERO.subTo(this,this)}function G(){for(var o=this.s&this.DM;this.t>0&&this[this.t-1]==o;)--this.t}function rt(o){if(this.s<0)return"-"+this.negate().toString(o);var c;if(o==16)c=4;else if(o==8)c=3;else if(o==2)c=1;else if(o==32)c=5;else if(o==4)c=2;else return this.toRadix(o);var u=(1<<c)-1,p,m=!1,y="",E=this.t,x=this.DB-E*this.DB%c;if(E-- >0)for(x<this.DB&&(p=this[E]>>x)>0&&(m=!0,y=b(p));E>=0;)x<c?(p=(this[E]&(1<<x)-1)<<c-x,p|=this[--E]>>(x+=this.DB-c)):(p=this[E]>>(x-=c)&u,x<=0&&(x+=this.DB,--E)),p>0&&(m=!0),m&&(y+=b(p));return m?y:"0"}function st(){var o=i();return n.ZERO.subTo(this,o),o}function nt(){return this.s<0?this.negate():this}function ot(o){var c=this.s-o.s;if(c!=0)return c;var u=this.t;if(c=u-o.t,c!=0)return this.s<0?-c:c;for(;--u>=0;)if((c=this[u]-o[u])!=0)return c;return 0}function Tt(o){var c=1,u;return(u=o>>>16)!=0&&(o=u,c+=16),(u=o>>8)!=0&&(o=u,c+=8),(u=o>>4)!=0&&(o=u,c+=4),(u=o>>2)!=0&&(o=u,c+=2),(u=o>>1)!=0&&(o=u,c+=1),c}function qc(){return this.t<=0?0:this.DB*(this.t-1)+Tt(this[this.t-1]^this.s&this.DM)}function Zc(o,c){var u;for(u=this.t-1;u>=0;--u)c[u+o]=this[u];for(u=o-1;u>=0;--u)c[u]=0;c.t=this.t+o,c.s=this.s}function Kc(o,c){for(var u=o;u<this.t;++u)c[u-o]=this[u];c.t=Math.max(this.t-o,0),c.s=this.s}function Xc(o,c){var u=o%this.DB,p=this.DB-u,m=(1<<p)-1,y=Math.floor(o/this.DB),E=this.s<<u&this.DM,x;for(x=this.t-1;x>=0;--x)c[x+y+1]=this[x]>>p|E,E=(this[x]&m)<<u;for(x=y-1;x>=0;--x)c[x]=0;c[y]=E,c.t=this.t+y+1,c.s=this.s,c.clamp()}function Yc(o,c){c.s=this.s;var u=Math.floor(o/this.DB);if(u>=this.t){c.t=0;return}var p=o%this.DB,m=this.DB-p,y=(1<<p)-1;c[0]=this[u]>>p;for(var E=u+1;E<this.t;++E)c[E-u-1]|=(this[E]&y)<<m,c[E-u]=this[E]>>p;p>0&&(c[this.t-u-1]|=(this.s&y)<<m),c.t=this.t-u,c.clamp()}function jc(o,c){for(var u=0,p=0,m=Math.min(o.t,this.t);u<m;)p+=this[u]-o[u],c[u++]=p&this.DM,p>>=this.DB;if(o.t<this.t){for(p-=o.s;u<this.t;)p+=this[u],c[u++]=p&this.DM,p>>=this.DB;p+=this.s}else{for(p+=this.s;u<o.t;)p-=o[u],c[u++]=p&this.DM,p>>=this.DB;p-=o.s}c.s=p<0?-1:0,p<-1?c[u++]=this.DV+p:p>0&&(c[u++]=p),c.t=u,c.clamp()}function Jc(o,c){var u=this.abs(),p=o.abs(),m=u.t;for(c.t=m+p.t;--m>=0;)c[m]=0;for(m=0;m<p.t;++m)c[m+u.t]=u.am(0,p[m],c,m,0,u.t);c.s=0,c.clamp(),this.s!=o.s&&n.ZERO.subTo(c,c)}function Qc(o){for(var c=this.abs(),u=o.t=2*c.t;--u>=0;)o[u]=0;for(u=0;u<c.t-1;++u){var p=c.am(u,c[u],o,2*u,0,1);(o[u+c.t]+=c.am(u+1,2*c[u],o,2*u+1,p,c.t-u-1))>=c.DV&&(o[u+c.t]-=c.DV,o[u+c.t+1]=1)}o.t>0&&(o[o.t-1]+=c.am(u,c[u],o,2*u,0,1)),o.s=0,o.clamp()}function ta(o,c,u){var p=o.abs();if(!(p.t<=0)){var m=this.abs();if(m.t<p.t){c?.fromInt(0),u!=null&&this.copyTo(u);return}u==null&&(u=i());var y=i(),E=this.s,x=o.s,N=this.DB-Tt(p[p.t-1]);N>0?(p.lShiftTo(N,y),m.lShiftTo(N,u)):(p.copyTo(y),m.copyTo(u));var Z=y.t,yt=y[Z-1];if(yt!=0){var lt=yt*(1<<this.F1)+(Z>1?y[Z-2]>>this.F2:0),Ut=this.FV/lt,hr=(1<<this.F1)/lt,It=1<<this.F2,Ct=u.t,pr=Ct-Z,qt=c??i();for(y.dlShiftTo(pr,qt),u.compareTo(qt)>=0&&(u[u.t++]=1,u.subTo(qt,u)),n.ONE.dlShiftTo(Z,qt),qt.subTo(y,y);y.t<Z;)y[y.t++]=0;for(;--pr>=0;){var bn=u[--Ct]==yt?this.DM:Math.floor(u[Ct]*Ut+(u[Ct-1]+It)*hr);if((u[Ct]+=y.am(0,bn,u,pr,0,Z))<bn)for(y.dlShiftTo(pr,qt),u.subTo(qt,u);u[Ct]<--bn;)u.subTo(qt,u)}c!=null&&(u.drShiftTo(Z,c),E!=x&&n.ZERO.subTo(c,c)),u.t=Z,u.clamp(),N>0&&u.rShiftTo(N,u),E<0&&n.ZERO.subTo(u,u)}}}function ea(o){var c=i();return this.abs().divRemTo(o,null,c),this.s<0&&c.compareTo(n.ZERO)>0&&o.subTo(c,c),c}function ne(o){this.m=o}function ra(o){return o.s<0||o.compareTo(this.m)>=0?o.mod(this.m):o}function na(o){return o}function ia(o){o.divRemTo(this.m,null,o)}function sa(o,c,u){o.multiplyTo(c,u),this.reduce(u)}function oa(o,c){o.squareTo(c),this.reduce(c)}ne.prototype.convert=ra,ne.prototype.revert=na,ne.prototype.reduce=ia,ne.prototype.mulTo=sa,ne.prototype.sqrTo=oa;function ca(){if(this.t<1)return 0;var o=this[0];if(!(o&1))return 0;var c=o&3;return c=c*(2-(o&15)*c)&15,c=c*(2-(o&255)*c)&255,c=c*(2-((o&65535)*c&65535))&65535,c=c*(2-o*c%this.DV)%this.DV,c>0?this.DV-c:-c}function ie(o){this.m=o,this.mp=o.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<o.DB-15)-1,this.mt2=2*o.t}function aa(o){var c=i();return o.abs().dlShiftTo(this.m.t,c),c.divRemTo(this.m,null,c),o.s<0&&c.compareTo(n.ZERO)>0&&this.m.subTo(c,c),c}function ua(o){var c=i();return o.copyTo(c),this.reduce(c),c}function la(o){for(;o.t<=this.mt2;)o[o.t++]=0;for(var c=0;c<this.m.t;++c){var u=o[c]&32767,p=u*this.mpl+((u*this.mph+(o[c]>>15)*this.mpl&this.um)<<15)&o.DM;for(u=c+this.m.t,o[u]+=this.m.am(0,p,o,c,0,this.m.t);o[u]>=o.DV;)o[u]-=o.DV,o[++u]++}o.clamp(),o.drShiftTo(this.m.t,o),o.compareTo(this.m)>=0&&o.subTo(this.m,o)}function fa(o,c){o.squareTo(c),this.reduce(c)}function ha(o,c,u){o.multiplyTo(c,u),this.reduce(u)}ie.prototype.convert=aa,ie.prototype.revert=ua,ie.prototype.reduce=la,ie.prototype.mulTo=ha,ie.prototype.sqrTo=fa;function pa(){return(this.t>0?this[0]&1:this.s)==0}function da(o,c){if(o>4294967295||o<1)return n.ONE;var u=i(),p=i(),m=c.convert(this),y=Tt(o)-1;for(m.copyTo(u);--y>=0;)if(c.sqrTo(u,p),(o&1<<y)>0)c.mulTo(p,m,u);else{var E=u;u=p,p=E}return c.revert(u)}function ma(o,c){var u;return o<256||c.isEven()?u=new ne(c):u=new ie(c),this.exp(o,u)}n.prototype.copyTo=A,n.prototype.fromInt=C,n.prototype.fromString=_,n.prototype.clamp=G,n.prototype.dlShiftTo=Zc,n.prototype.drShiftTo=Kc,n.prototype.lShiftTo=Xc,n.prototype.rShiftTo=Yc,n.prototype.subTo=jc,n.prototype.multiplyTo=Jc,n.prototype.squareTo=Qc,n.prototype.divRemTo=ta,n.prototype.invDigit=ca,n.prototype.isEven=pa,n.prototype.exp=da,n.prototype.toString=rt,n.prototype.negate=st,n.prototype.abs=nt,n.prototype.compareTo=ot,n.prototype.bitLength=qc,n.prototype.mod=ea,n.prototype.modPowInt=ma,n.ZERO=D(0),n.ONE=D(1);function ga(){var o=i();return this.copyTo(o),o}function ya(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<<this.DB|this[0]}function ba(){return this.t==0?this.s:this[0]<<24>>24}function wa(){return this.t==0?this.s:this[0]<<16>>16}function Ea(o){return Math.floor(Math.LN2*this.DB/Math.log(o))}function va(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function xa(o){if(o==null&&(o=10),this.signum()==0||o<2||o>36)return"0";var c=this.chunkSize(o),u=Math.pow(o,c),p=D(u),m=i(),y=i(),E="";for(this.divRemTo(p,m,y);m.signum()>0;)E=(u+y.intValue()).toString(o).substr(1)+E,m.divRemTo(p,m,y);return y.intValue().toString(o)+E}function Sa(o,c){this.fromInt(0),c==null&&(c=10);for(var u=this.chunkSize(c),p=Math.pow(c,u),m=!1,y=0,E=0,x=0;x<o.length;++x){var N=k(o,x);if(N<0){o.charAt(x)=="-"&&this.signum()==0&&(m=!0);continue}E=c*E+N,++y>=u&&(this.dMultiply(p),this.dAddOffset(E,0),y=0,E=0)}y>0&&(this.dMultiply(Math.pow(c,y)),this.dAddOffset(E,0)),m&&n.ZERO.subTo(this,this)}function Ta(o,c,u){if(typeof c=="number")if(o<2)this.fromInt(1);else for(this.fromNumber(o,u),this.testBit(o-1)||this.bitwiseTo(n.ONE.shiftLeft(o-1),dn,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(c);)this.dAddOffset(2,0),this.bitLength()>o&&this.subTo(n.ONE.shiftLeft(o-1),this);else{var p=new Array,m=o&7;p.length=(o>>3)+1,c.nextBytes(p),m>0?p[0]&=(1<<m)-1:p[0]=0,this.fromString(p,256)}}function Aa(){var o=this.t,c=new Array;c[0]=this.s;var u=this.DB-o*this.DB%8,p,m=0;if(o-- >0)for(u<this.DB&&(p=this[o]>>u)!=(this.s&this.DM)>>u&&(c[m++]=p|this.s<<this.DB-u);o>=0;)u<8?(p=(this[o]&(1<<u)-1)<<8-u,p|=this[--o]>>(u+=this.DB-8)):(p=this[o]>>(u-=8)&255,u<=0&&(u+=this.DB,--o)),p&128&&(p|=-256),m==0&&(this.s&128)!=(p&128)&&++m,(m>0||p!=this.s)&&(c[m++]=p);return c}function Ia(o){return this.compareTo(o)==0}function Ca(o){return this.compareTo(o)<0?this:o}function ka(o){return this.compareTo(o)>0?this:o}function Da(o,c,u){var p,m,y=Math.min(o.t,this.t);for(p=0;p<y;++p)u[p]=c(this[p],o[p]);if(o.t<this.t){for(m=o.s&this.DM,p=y;p<this.t;++p)u[p]=c(this[p],m);u.t=this.t}else{for(m=this.s&this.DM,p=y;p<o.t;++p)u[p]=c(m,o[p]);u.t=o.t}u.s=c(this.s,o.s),u.clamp()}function Ba(o,c){return o&c}function Ra(o){var c=i();return this.bitwiseTo(o,Ba,c),c}function dn(o,c){return o|c}function _a(o){var c=i();return this.bitwiseTo(o,dn,c),c}function Yi(o,c){return o^c}function La(o){var c=i();return this.bitwiseTo(o,Yi,c),c}function ji(o,c){return o&~c}function Na(o){var c=i();return this.bitwiseTo(o,ji,c),c}function Oa(){for(var o=i(),c=0;c<this.t;++c)o[c]=this.DM&~this[c];return o.t=this.t,o.s=~this.s,o}function Pa(o){var c=i();return o<0?this.rShiftTo(-o,c):this.lShiftTo(o,c),c}function Ma(o){var c=i();return o<0?this.lShiftTo(-o,c):this.rShiftTo(o,c),c}function Ua(o){if(o==0)return-1;var c=0;return o&65535||(o>>=16,c+=16),o&255||(o>>=8,c+=8),o&15||(o>>=4,c+=4),o&3||(o>>=2,c+=2),o&1||++c,c}function Fa(){for(var o=0;o<this.t;++o)if(this[o]!=0)return o*this.DB+Ua(this[o]);return this.s<0?this.t*this.DB:-1}function Ga(o){for(var c=0;o!=0;)o&=o-1,++c;return c}function $a(){for(var o=0,c=this.s&this.DM,u=0;u<this.t;++u)o+=Ga(this[u]^c);return o}function za(o){var c=Math.floor(o/this.DB);return c>=this.t?this.s!=0:(this[c]&1<<o%this.DB)!=0}function Va(o,c){var u=n.ONE.shiftLeft(o);return this.bitwiseTo(u,c,u),u}function Ha(o){return this.changeBit(o,dn)}function Wa(o){return this.changeBit(o,ji)}function qa(o){return this.changeBit(o,Yi)}function Za(o,c){for(var u=0,p=0,m=Math.min(o.t,this.t);u<m;)p+=this[u]+o[u],c[u++]=p&this.DM,p>>=this.DB;if(o.t<this.t){for(p+=o.s;u<this.t;)p+=this[u],c[u++]=p&this.DM,p>>=this.DB;p+=this.s}else{for(p+=this.s;u<o.t;)p+=o[u],c[u++]=p&this.DM,p>>=this.DB;p+=o.s}c.s=p<0?-1:0,p>0?c[u++]=p:p<-1&&(c[u++]=this.DV+p),c.t=u,c.clamp()}function Ka(o){var c=i();return this.addTo(o,c),c}function Xa(o){var c=i();return this.subTo(o,c),c}function Ya(o){var c=i();return this.multiplyTo(o,c),c}function ja(){var o=i();return this.squareTo(o),o}function Ja(o){var c=i();return this.divRemTo(o,c,null),c}function Qa(o){var c=i();return this.divRemTo(o,null,c),c}function tu(o){var c=i(),u=i();return this.divRemTo(o,c,u),new Array(c,u)}function eu(o){this[this.t]=this.am(0,o-1,this,0,0,this.t),++this.t,this.clamp()}function ru(o,c){if(o!=0){for(;this.t<=c;)this[this.t++]=0;for(this[c]+=o;this[c]>=this.DV;)this[c]-=this.DV,++c>=this.t&&(this[this.t++]=0),++this[c]}}function Xe(){}function Ji(o){return o}function nu(o,c,u){o.multiplyTo(c,u)}function iu(o,c){o.squareTo(c)}Xe.prototype.convert=Ji,Xe.prototype.revert=Ji,Xe.prototype.mulTo=nu,Xe.prototype.sqrTo=iu;function su(o){return this.exp(o,new Xe)}function ou(o,c,u){var p=Math.min(this.t+o.t,c);for(u.s=0,u.t=p;p>0;)u[--p]=0;var m;for(m=u.t-this.t;p<m;++p)u[p+this.t]=this.am(0,o[p],u,p,0,this.t);for(m=Math.min(o.t,c);p<m;++p)this.am(0,o[p],u,p,0,c-p);u.clamp()}function cu(o,c,u){--c;var p=u.t=this.t+o.t-c;for(u.s=0;--p>=0;)u[p]=0;for(p=Math.max(c-this.t,0);p<o.t;++p)u[this.t+p-c]=this.am(c-p,o[p],u,0,0,this.t+p-c);u.clamp(),u.drShiftTo(1,u)}function se(o){this.r2=i(),this.q3=i(),n.ONE.dlShiftTo(2*o.t,this.r2),this.mu=this.r2.divide(o),this.m=o}function au(o){if(o.s<0||o.t>2*this.m.t)return o.mod(this.m);if(o.compareTo(this.m)<0)return o;var c=i();return o.copyTo(c),this.reduce(c),c}function uu(o){return o}function lu(o){for(o.drShiftTo(this.m.t-1,this.r2),o.t>this.m.t+1&&(o.t=this.m.t+1,o.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);o.compareTo(this.r2)<0;)o.dAddOffset(1,this.m.t+1);for(o.subTo(this.r2,o);o.compareTo(this.m)>=0;)o.subTo(this.m,o)}function fu(o,c){o.squareTo(c),this.reduce(c)}function hu(o,c,u){o.multiplyTo(c,u),this.reduce(u)}se.prototype.convert=au,se.prototype.revert=uu,se.prototype.reduce=lu,se.prototype.mulTo=hu,se.prototype.sqrTo=fu;function pu(o,c){var u=o.bitLength(),p,m=D(1),y;if(u<=0)return m;u<18?p=1:u<48?p=3:u<144?p=4:u<768?p=5:p=6,u<8?y=new ne(c):c.isEven()?y=new se(c):y=new ie(c);var E=new Array,x=3,N=p-1,Z=(1<<p)-1;if(E[1]=y.convert(this),p>1){var yt=i();for(y.sqrTo(E[1],yt);x<=Z;)E[x]=i(),y.mulTo(yt,E[x-2],E[x]),x+=2}var lt=o.t-1,Ut,hr=!0,It=i(),Ct;for(u=Tt(o[lt])-1;lt>=0;){for(u>=N?Ut=o[lt]>>u-N&Z:(Ut=(o[lt]&(1<<u+1)-1)<<N-u,lt>0&&(Ut|=o[lt-1]>>this.DB+u-N)),x=p;!(Ut&1);)Ut>>=1,--x;if((u-=x)<0&&(u+=this.DB,--lt),hr)E[Ut].copyTo(m),hr=!1;else{for(;x>1;)y.sqrTo(m,It),y.sqrTo(It,m),x-=2;x>0?y.sqrTo(m,It):(Ct=m,m=It,It=Ct),y.mulTo(It,E[Ut],m)}for(;lt>=0&&!(o[lt]&1<<u);)y.sqrTo(m,It),Ct=m,m=It,It=Ct,--u<0&&(u=this.DB-1,--lt)}return y.revert(m)}function du(o){var c=this.s<0?this.negate():this.clone(),u=o.s<0?o.negate():o.clone();if(c.compareTo(u)<0){var p=c;c=u,u=p}var m=c.getLowestSetBit(),y=u.getLowestSetBit();if(y<0)return c;for(m<y&&(y=m),y>0&&(c.rShiftTo(y,c),u.rShiftTo(y,u));c.signum()>0;)(m=c.getLowestSetBit())>0&&c.rShiftTo(m,c),(m=u.getLowestSetBit())>0&&u.rShiftTo(m,u),c.compareTo(u)>=0?(c.subTo(u,c),c.rShiftTo(1,c)):(u.subTo(c,u),u.rShiftTo(1,u));return y>0&&u.lShiftTo(y,u),u}function mu(o){if(o<=0)return 0;var c=this.DV%o,u=this.s<0?o-1:0;if(this.t>0)if(c==0)u=this[0]%o;else for(var p=this.t-1;p>=0;--p)u=(c*u+this[p])%o;return u}function gu(o){var c=o.isEven();if(this.isEven()&&c||o.signum()==0)return n.ZERO;for(var u=o.clone(),p=this.clone(),m=D(1),y=D(0),E=D(0),x=D(1);u.signum()!=0;){for(;u.isEven();)u.rShiftTo(1,u),c?((!m.isEven()||!y.isEven())&&(m.addTo(this,m),y.subTo(o,y)),m.rShiftTo(1,m)):y.isEven()||y.subTo(o,y),y.rShiftTo(1,y);for(;p.isEven();)p.rShiftTo(1,p),c?((!E.isEven()||!x.isEven())&&(E.addTo(this,E),x.subTo(o,x)),E.rShiftTo(1,E)):x.isEven()||x.subTo(o,x),x.rShiftTo(1,x);u.compareTo(p)>=0?(u.subTo(p,u),c&&m.subTo(E,m),y.subTo(x,y)):(p.subTo(u,p),c&&E.subTo(m,E),x.subTo(y,x))}if(p.compareTo(n.ONE)!=0)return n.ZERO;if(x.compareTo(o)>=0)return x.subtract(o);if(x.signum()<0)x.addTo(o,x);else return x;return x.signum()<0?x.add(o):x}var it=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,937,941,947,953,967,971,977,983,991,997],yu=(1<<26)/it[it.length-1];function bu(o){var c,u=this.abs();if(u.t==1&&u[0]<=it[it.length-1]){for(c=0;c<it.length;++c)if(u[0]==it[c])return!0;return!1}if(u.isEven())return!1;for(c=1;c<it.length;){for(var p=it[c],m=c+1;m<it.length&&p<yu;)p*=it[m++];for(p=u.modInt(p);c<m;)if(p%it[c++]==0)return!1}return u.millerRabin(o)}function wu(o){var c=this.subtract(n.ONE),u=c.getLowestSetBit();if(u<=0)return!1;var p=c.shiftRight(u);o=o+1>>1,o>it.length&&(o=it.length);for(var m=i(),y=0;y<o;++y){m.fromInt(it[Math.floor(Math.random()*it.length)]);var E=m.modPow(p,this);if(E.compareTo(n.ONE)!=0&&E.compareTo(c)!=0){for(var x=1;x++<u&&E.compareTo(c)!=0;)if(E=E.modPowInt(2,this),E.compareTo(n.ONE)==0)return!1;if(E.compareTo(c)!=0)return!1}}return!0}n.prototype.chunkSize=Ea,n.prototype.toRadix=xa,n.prototype.fromRadix=Sa,n.prototype.fromNumber=Ta,n.prototype.bitwiseTo=Da,n.prototype.changeBit=Va,n.prototype.addTo=Za,n.prototype.dMultiply=eu,n.prototype.dAddOffset=ru,n.prototype.multiplyLowerTo=ou,n.prototype.multiplyUpperTo=cu,n.prototype.modInt=mu,n.prototype.millerRabin=wu,n.prototype.clone=ga,n.prototype.intValue=ya,n.prototype.byteValue=ba,n.prototype.shortValue=wa,n.prototype.signum=va,n.prototype.toByteArray=Aa,n.prototype.equals=Ia,n.prototype.min=Ca,n.prototype.max=ka,n.prototype.and=Ra,n.prototype.or=_a,n.prototype.xor=La,n.prototype.andNot=Na,n.prototype.not=Oa,n.prototype.shiftLeft=Pa,n.prototype.shiftRight=Ma,n.prototype.getLowestSetBit=Fa,n.prototype.bitCount=$a,n.prototype.testBit=za,n.prototype.setBit=Ha,n.prototype.clearBit=Wa,n.prototype.flipBit=qa,n.prototype.add=Ka,n.prototype.subtract=Xa,n.prototype.multiply=Ya,n.prototype.divide=Ja,n.prototype.remainder=Qa,n.prototype.divideAndRemainder=tu,n.prototype.modPow=pu,n.prototype.modInverse=gu,n.prototype.pow=su,n.prototype.gcd=du,n.prototype.isProbablePrime=bu,n.prototype.square=ja,n.prototype.Barrett=se;var fr,ut,q;function Eu(o){ut[q++]^=o&255,ut[q++]^=o>>8&255,ut[q++]^=o>>16&255,ut[q++]^=o>>24&255,q>=yn&&(q-=yn)}function Qi(){Eu(new Date().getTime())}if(ut==null){ut=new Array,q=0;var At;if(typeof window<"u"&&window.crypto){if(window.crypto.getRandomValues){var ts=new Uint8Array(32);for(window.crypto.getRandomValues(ts),At=0;At<32;++At)ut[q++]=ts[At]}else if(navigator.appName=="Netscape"&&navigator.appVersion<"5"){var es=window.crypto.random(32);for(At=0;At<es.length;++At)ut[q++]=es.charCodeAt(At)&255}}for(;q<yn;)At=Math.floor(65536*Math.random()),ut[q++]=At>>>8,ut[q++]=At&255;q=0,Qi()}function vu(){if(fr==null){for(Qi(),fr=Au(),fr.init(ut),q=0;q<ut.length;++q)ut[q]=0;q=0}return fr.next()}function xu(o){var c;for(c=0;c<o.length;++c)o[c]=vu()}function mn(){}mn.prototype.nextBytes=xu;function gn(){this.i=0,this.j=0,this.S=new Array}function Su(o){var c,u,p;for(c=0;c<256;++c)this.S[c]=c;for(u=0,c=0;c<256;++c)u=u+this.S[c]+o[c%o.length]&255,p=this.S[c],this.S[c]=this.S[u],this.S[u]=p;this.i=0,this.j=0}function Tu(){var o;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,o=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=o,this.S[o+this.S[this.i]&255]}gn.prototype.init=Su,gn.prototype.next=Tu;function Au(){return new gn}var yn=256;typeof Qr<"u"?Qr=wc.exports={default:n,BigInteger:n,SecureRandom:mn}:this.jsbn={BigInteger:n,SecureRandom:mn}}).call(Qr)});var ur=B(tn=>{(function(){"use strict";var r={not_string:/[^s]/,not_bool:/[^t]/,not_type:/[^T]/,not_primitive:/[^v]/,number:/[diefg]/,numeric_arg:/[bcdiefguxX]/,json:/[j]/,not_json:/[^j]/,text:/^[^\x25]+/,modulo:/^\x25{2}/,placeholder:/^\x25(?:([1-9]\d*)\$|\(([^)]+)\))?(\+)?(0|'[^$])?(-)?(\d+)?(?:\.(\d+))?([b-gijostTuvxX])/,key:/^([a-z_][a-z_\d]*)/i,key_access:/^\.([a-z_][a-z_\d]*)/i,index_access:/^\[(\d+)\]/,sign:/^[+-]/};function t(a){return n(s(a),arguments)}function e(a,l){return t.apply(null,[a].concat(l||[]))}function n(a,l){var f=1,d=a.length,h,g="",w,S,b,k,A,C,D,_;for(w=0;w<d;w++)if(typeof a[w]=="string")g+=a[w];else if(typeof a[w]=="object"){if(b=a[w],b.keys)for(h=l[f],S=0;S<b.keys.length;S++){if(h==null)throw new Error(t('[sprintf] Cannot access property "%s" of undefined value "%s"',b.keys[S],b.keys[S-1]));h=h[b.keys[S]]}else b.param_no?h=l[b.param_no]:h=l[f++];if(r.not_type.test(b.type)&&r.not_primitive.test(b.type)&&h instanceof Function&&(h=h()),r.numeric_arg.test(b.type)&&typeof h!="number"&&isNaN(h))throw new TypeError(t("[sprintf] expecting number but found %T",h));switch(r.number.test(b.type)&&(D=h>=0),b.type){case"b":h=parseInt(h,10).toString(2);break;case"c":h=String.fromCharCode(parseInt(h,10));break;case"d":case"i":h=parseInt(h,10);break;case"j":h=JSON.stringify(h,null,b.width?parseInt(b.width):0);break;case"e":h=b.precision?parseFloat(h).toExponential(b.precision):parseFloat(h).toExponential();break;case"f":h=b.precision?parseFloat(h).toFixed(b.precision):parseFloat(h);break;case"g":h=b.precision?String(Number(h.toPrecision(b.precision))):parseFloat(h);break;case"o":h=(parseInt(h,10)>>>0).toString(8);break;case"s":h=String(h),h=b.precision?h.substring(0,b.precision):h;break;case"t":h=String(!!h),h=b.precision?h.substring(0,b.precision):h;break;case"T":h=Object.prototype.toString.call(h).slice(8,-1).toLowerCase(),h=b.precision?h.substring(0,b.precision):h;break;case"u":h=parseInt(h,10)>>>0;break;case"v":h=h.valueOf(),h=b.precision?h.substring(0,b.precision):h;break;case"x":h=(parseInt(h,10)>>>0).toString(16);break;case"X":h=(parseInt(h,10)>>>0).toString(16).toUpperCase();break}r.json.test(b.type)?g+=h:(r.number.test(b.type)&&(!D||b.sign)?(_=D?"+":"-",h=h.toString().replace(r.sign,"")):_="",A=b.pad_char?b.pad_char==="0"?"0":b.pad_char.charAt(1):" ",C=b.width-(_+h).length,k=b.width&&C>0?A.repeat(C):"",g+=b.align?_+h+k:A==="0"?_+k+h:k+_+h)}return g}var i=Object.create(null);function s(a){if(i[a])return i[a];for(var l=a,f,d=[],h=0;l;){if((f=r.text.exec(l))!==null)d.push(f[0]);else if((f=r.modulo.exec(l))!==null)d.push("%");else if((f=r.placeholder.exec(l))!==null){if(f[2]){h|=1;var g=[],w=f[2],S=[];if((S=r.key.exec(w))!==null)for(g.push(S[1]);(w=w.substring(S[0].length))!=="";)if((S=r.key_access.exec(w))!==null)g.push(S[1]);else if((S=r.index_access.exec(w))!==null)g.push(S[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");f[2]=g}else h|=2;if(h===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");d.push({placeholder:f[0],param_no:f[1],keys:f[2],sign:f[3],pad_char:f[4],align:f[5],width:f[6],precision:f[7],type:f[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");l=l.substring(f[0].length)}return i[a]=d}typeof tn<"u"&&(tn.sprintf=t,tn.vsprintf=e),typeof window<"u"&&(window.sprintf=t,window.vsprintf=e,typeof define=="function"&&define.amd&&define(function(){return{sprintf:t,vsprintf:e}}))})()});var sn=B((Tg,Bc)=>{Bc.exports=r=>{if(r[Symbol.asyncIterator])return r;if(r.getReader)return async function*(){let t=r.getReader();try{for(;;){let{done:e,value:n}=await t.read();if(e)return;yield n}}finally{t.releaseLock()}}();throw new Error("unknown stream")}});var _c=B((Ag,Rc)=>{Rc.exports=function(t){if(t){if(typeof t[Symbol.iterator]=="function")return t[Symbol.iterator]();if(typeof t[Symbol.asyncIterator]=="function")return t[Symbol.asyncIterator]();if(typeof t.next=="function")return t}throw new Error("argument is not an iterator or iterable")}});var $i=B((Ig,Lc)=>{var kh=_c();Lc.exports=r=>async t=>{t=kh(t);let e=C=>{typeof C.return=="function"&&C.return()},n=null,i=null,s=C=>{n=C,i&&i(C),e(t)},a=null,l=!1,f=()=>{l=!0,a&&a()},d=null,h=!1,g=()=>{h=!0,d&&d()},w=null,S=()=>{w&&w()},b=()=>new Promise((C,D)=>{a=w=C,i=D,r.once("drain",S)}),k=()=>(e(t),new Promise((C,D)=>{if(l||h||n)return C();d=a=C,i=D})),A=()=>{r.removeListener("error",s),r.removeListener("close",f),r.removeListener("finish",g),r.removeListener("drain",S)};r.once("error",s),r.once("close",f),r.once("finish",g);try{for await(let C of t){if(!r.writable||r.destroyed||n)break;r.write(C)===!1&&await b()}}catch(C){n||r.destroy(),n=C}try{if(r.writable&&r.end(),await k(),n)throw n}finally{A()}}});var zi=B((Cg,Nc)=>{var Dh=$i(),Bh=sn();Nc.exports=r=>({sink:Dh(r),source:Bh(r)})});var Pc=B((kg,Oc)=>{var Rh=zi();Oc.exports=r=>async function*(t){let e=Rh(r),n;if(e.sink(t).catch(i=>{n=i}),yield*e.source,n)throw n}});var Mc=B((Dg,Ze)=>{Ze.exports=sn();Ze.exports.source=sn();Ze.exports.sink=$i();Ze.exports.transform=Pc();Ze.exports.duplex=zi()});var Yh={};ft(Yh,{Server:()=>pn,createServer:()=>Xh});var Rn=M(Sn(),1),Vs=M(Os(),1),Hs=M(ce(),1),_n=M(Bn(),1),Ws=M(zs(),1);function Gu(){Hs.default._configure(),Rn.default._configure(Vs.default),_n.default._configure(Ws.default)}Gu();var qs=["uint64","int64","sint64","fixed64","sfixed64"];function $u(r){for(let t of qs){if(r[t]==null)continue;let e=r[t];r[t]=function(){return BigInt(e.call(this).toString())}}return r}function Ln(r){return $u(new Rn.default(r))}function zu(r){for(let t of qs){if(r[t]==null)continue;let e=r[t];r[t]=function(n){return e.call(this,n.toString())}}return r}function Nn(){return zu(_n.default.create())}function $(r,t){let e=Ln(r instanceof Uint8Array?r:r.subarray());return t.decode(e)}function z(r,t){let e=Nn();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var Ie;(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"})(Ie||(Ie={}));function wr(r,t,e,n){return{name:r,type:t,encode:e,decode:n}}function Gt(r){function t(i){if(r[i.toString()]==null)throw new Error("Invalid enum value");return r[i]}let e=function(s,a){let l=t(s);a.int32(l)},n=function(s){let a=s.int32();return t(a)};return wr("enum",Ie.VARINT,e,n)}function V(r,t){return wr("message",Ie.LENGTH_DELIMITED,r,t)}var wt;(function(r){let t;(function(i){i.IDENTIFY="IDENTIFY",i.CONNECT="CONNECT",i.STREAM_OPEN="STREAM_OPEN",i.STREAM_HANDLER="STREAM_HANDLER",i.DHT="DHT",i.LIST_PEERS="LIST_PEERS",i.CONNMANAGER="CONNMANAGER",i.DISCONNECT="DISCONNECT",i.PUBSUB="PUBSUB",i.PEERSTORE="PEERSTORE"})(t=r.Type||(r.Type={}));let e;(function(i){i[i.IDENTIFY=0]="IDENTIFY",i[i.CONNECT=1]="CONNECT",i[i.STREAM_OPEN=2]="STREAM_OPEN",i[i.STREAM_HANDLER=3]="STREAM_HANDLER",i[i.DHT=4]="DHT",i[i.LIST_PEERS=5]="LIST_PEERS",i[i.CONNMANAGER=6]="CONNMANAGER",i[i.DISCONNECT=7]="DISCONNECT",i[i.PUBSUB=8]="PUBSUB",i[i.PEERSTORE=9]="PEERSTORE"})(e||(e={})),function(i){i.codec=()=>Gt(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=V((i,s,a={})=>{a.lengthDelimited!==!1&&s.fork(),i.type!=null&&(s.uint32(8),r.Type.codec().encode(i.type,s)),i.connect!=null&&(s.uint32(18),vr.codec().encode(i.connect,s)),i.streamOpen!=null&&(s.uint32(26),xr.codec().encode(i.streamOpen,s)),i.streamHandler!=null&&(s.uint32(34),Sr.codec().encode(i.streamHandler,s)),i.dht!=null&&(s.uint32(42),Et.codec().encode(i.dht,s)),i.connManager!=null&&(s.uint32(50),Ar.codec().encode(i.connManager,s)),i.disconnect!=null&&(s.uint32(58),Ir.codec().encode(i.disconnect,s)),i.pubsub!=null&&(s.uint32(66),$t.codec().encode(i.pubsub,s)),i.peerStore!=null&&(s.uint32(74),le.codec().encode(i.peerStore,s)),a.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let a={},l=s==null?i.len:i.pos+s;for(;i.pos<l;){let f=i.uint32();switch(f>>>3){case 1:a.type=r.Type.codec().decode(i);break;case 2:a.connect=vr.codec().decode(i,i.uint32());break;case 3:a.streamOpen=xr.codec().decode(i,i.uint32());break;case 4:a.streamHandler=Sr.codec().decode(i,i.uint32());break;case 5:a.dht=Et.codec().decode(i,i.uint32());break;case 6:a.connManager=Ar.codec().decode(i,i.uint32());break;case 7:a.disconnect=Ir.codec().decode(i,i.uint32());break;case 8:a.pubsub=$t.codec().decode(i,i.uint32());break;case 9:a.peerStore=le.codec().decode(i,i.uint32());break;default:i.skipType(f&7);break}}return a})),n),r.encode=i=>z(i,r.codec()),r.decode=i=>$(i,r.codec())})(wt||(wt={}));var ue;(function(r){let t;(function(i){i.OK="OK",i.ERROR="ERROR"})(t=r.Type||(r.Type={}));let e;(function(i){i[i.OK=0]="OK",i[i.ERROR=1]="ERROR"})(e||(e={})),function(i){i.codec=()=>Gt(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=V((i,s,a={})=>{if(a.lengthDelimited!==!1&&s.fork(),i.type!=null&&(s.uint32(8),r.Type.codec().encode(i.type,s)),i.error!=null&&(s.uint32(18),Tr.codec().encode(i.error,s)),i.streamInfo!=null&&(s.uint32(26),Ce.codec().encode(i.streamInfo,s)),i.identify!=null&&(s.uint32(34),Er.codec().encode(i.identify,s)),i.dht!=null&&(s.uint32(42),X.codec().encode(i.dht,s)),i.peers!=null)for(let l of i.peers)s.uint32(50),Xt.codec().encode(l,s);i.pubsub!=null&&(s.uint32(58),Cr.codec().encode(i.pubsub,s)),i.peerStore!=null&&(s.uint32(66),kr.codec().encode(i.peerStore,s)),a.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let a={peers:[]},l=s==null?i.len:i.pos+s;for(;i.pos<l;){let f=i.uint32();switch(f>>>3){case 1:a.type=r.Type.codec().decode(i);break;case 2:a.error=Tr.codec().decode(i,i.uint32());break;case 3:a.streamInfo=Ce.codec().decode(i,i.uint32());break;case 4:a.identify=Er.codec().decode(i,i.uint32());break;case 5:a.dht=X.codec().decode(i,i.uint32());break;case 6:a.peers.push(Xt.codec().decode(i,i.uint32()));break;case 7:a.pubsub=Cr.codec().decode(i,i.uint32());break;case 8:a.peerStore=kr.codec().decode(i,i.uint32());break;default:i.skipType(f&7);break}}return a})),n),r.encode=i=>z(i,r.codec()),r.decode=i=>$(i,r.codec())})(ue||(ue={}));var Er;(function(r){let t;r.codec=()=>(t==null&&(t=V((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.id!=null&&e.id.byteLength>0&&(n.uint32(10),n.bytes(e.id)),e.addrs!=null)for(let s of e.addrs)n.uint32(18),n.bytes(s);i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={id:new Uint8Array(0),addrs:[]},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let a=e.uint32();switch(a>>>3){case 1:i.id=e.bytes();break;case 2:i.addrs.push(e.bytes());break;default:e.skipType(a&7);break}}return i})),t),r.encode=e=>z(e,r.codec()),r.decode=e=>$(e,r.codec())})(Er||(Er={}));var vr;(function(r){let t;r.codec=()=>(t==null&&(t=V((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.peer!=null&&e.peer.byteLength>0&&(n.uint32(10),n.bytes(e.peer)),e.addrs!=null)for(let s of e.addrs)n.uint32(18),n.bytes(s);e.timeout!=null&&(n.uint32(24),n.int64(e.timeout)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={peer:new Uint8Array(0),addrs:[]},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let a=e.uint32();switch(a>>>3){case 1:i.peer=e.bytes();break;case 2:i.addrs.push(e.bytes());break;case 3:i.timeout=e.int64();break;default:e.skipType(a&7);break}}return i})),t),r.encode=e=>z(e,r.codec()),r.decode=e=>$(e,r.codec())})(vr||(vr={}));var xr;(function(r){let t;r.codec=()=>(t==null&&(t=V((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.peer!=null&&e.peer.byteLength>0&&(n.uint32(10),n.bytes(e.peer)),e.proto!=null)for(let s of e.proto)n.uint32(18),n.string(s);e.timeout!=null&&(n.uint32(24),n.int64(e.timeout)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={peer:new Uint8Array(0),proto:[]},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let a=e.uint32();switch(a>>>3){case 1:i.peer=e.bytes();break;case 2:i.proto.push(e.string());break;case 3:i.timeout=e.int64();break;default:e.skipType(a&7);break}}return i})),t),r.encode=e=>z(e,r.codec()),r.decode=e=>$(e,r.codec())})(xr||(xr={}));var Sr;(function(r){let t;r.codec=()=>(t==null&&(t=V((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.addr!=null&&e.addr.byteLength>0&&(n.uint32(10),n.bytes(e.addr)),e.proto!=null)for(let s of e.proto)n.uint32(18),n.string(s);i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={addr:new Uint8Array(0),proto:[]},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let a=e.uint32();switch(a>>>3){case 1:i.addr=e.bytes();break;case 2:i.proto.push(e.string());break;default:e.skipType(a&7);break}}return i})),t),r.encode=e=>z(e,r.codec()),r.decode=e=>$(e,r.codec())})(Sr||(Sr={}));var Tr;(function(r){let t;r.codec=()=>(t==null&&(t=V((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.msg!=null&&e.msg!==""&&(n.uint32(10),n.string(e.msg)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={msg:""},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let a=e.uint32();switch(a>>>3){case 1:i.msg=e.string();break;default:e.skipType(a&7);break}}return i})),t),r.encode=e=>z(e,r.codec()),r.decode=e=>$(e,r.codec())})(Tr||(Tr={}));var Ce;(function(r){let t;r.codec=()=>(t==null&&(t=V((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.peer!=null&&e.peer.byteLength>0&&(n.uint32(10),n.bytes(e.peer)),e.addr!=null&&e.addr.byteLength>0&&(n.uint32(18),n.bytes(e.addr)),e.proto!=null&&e.proto!==""&&(n.uint32(26),n.string(e.proto)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={peer:new Uint8Array(0),addr:new Uint8Array(0),proto:""},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let a=e.uint32();switch(a>>>3){case 1:i.peer=e.bytes();break;case 2:i.addr=e.bytes();break;case 3:i.proto=e.string();break;default:e.skipType(a&7);break}}return i})),t),r.encode=e=>z(e,r.codec()),r.decode=e=>$(e,r.codec())})(Ce||(Ce={}));var Et;(function(r){let t;(function(i){i.FIND_PEER="FIND_PEER",i.FIND_PEERS_CONNECTED_TO_PEER="FIND_PEERS_CONNECTED_TO_PEER",i.FIND_PROVIDERS="FIND_PROVIDERS",i.GET_CLOSEST_PEERS="GET_CLOSEST_PEERS",i.GET_PUBLIC_KEY="GET_PUBLIC_KEY",i.GET_VALUE="GET_VALUE",i.SEARCH_VALUE="SEARCH_VALUE",i.PUT_VALUE="PUT_VALUE",i.PROVIDE="PROVIDE"})(t=r.Type||(r.Type={}));let e;(function(i){i[i.FIND_PEER=0]="FIND_PEER",i[i.FIND_PEERS_CONNECTED_TO_PEER=1]="FIND_PEERS_CONNECTED_TO_PEER",i[i.FIND_PROVIDERS=2]="FIND_PROVIDERS",i[i.GET_CLOSEST_PEERS=3]="GET_CLOSEST_PEERS",i[i.GET_PUBLIC_KEY=4]="GET_PUBLIC_KEY",i[i.GET_VALUE=5]="GET_VALUE",i[i.SEARCH_VALUE=6]="SEARCH_VALUE",i[i.PUT_VALUE=7]="PUT_VALUE",i[i.PROVIDE=8]="PROVIDE"})(e||(e={})),function(i){i.codec=()=>Gt(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=V((i,s,a={})=>{a.lengthDelimited!==!1&&s.fork(),i.type!=null&&(s.uint32(8),r.Type.codec().encode(i.type,s)),i.peer!=null&&(s.uint32(18),s.bytes(i.peer)),i.cid!=null&&(s.uint32(26),s.bytes(i.cid)),i.key!=null&&(s.uint32(34),s.bytes(i.key)),i.value!=null&&(s.uint32(42),s.bytes(i.value)),i.count!=null&&(s.uint32(48),s.int32(i.count)),i.timeout!=null&&(s.uint32(56),s.int64(i.timeout)),a.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let a={},l=s==null?i.len:i.pos+s;for(;i.pos<l;){let f=i.uint32();switch(f>>>3){case 1:a.type=r.Type.codec().decode(i);break;case 2:a.peer=i.bytes();break;case 3:a.cid=i.bytes();break;case 4:a.key=i.bytes();break;case 5:a.value=i.bytes();break;case 6:a.count=i.int32();break;case 7:a.timeout=i.int64();break;default:i.skipType(f&7);break}}return a})),n),r.encode=i=>z(i,r.codec()),r.decode=i=>$(i,r.codec())})(Et||(Et={}));var X;(function(r){let t;(function(i){i.BEGIN="BEGIN",i.VALUE="VALUE",i.END="END"})(t=r.Type||(r.Type={}));let e;(function(i){i[i.BEGIN=0]="BEGIN",i[i.VALUE=1]="VALUE",i[i.END=2]="END"})(e||(e={})),function(i){i.codec=()=>Gt(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=V((i,s,a={})=>{a.lengthDelimited!==!1&&s.fork(),i.type!=null&&(s.uint32(8),r.Type.codec().encode(i.type,s)),i.peer!=null&&(s.uint32(18),Xt.codec().encode(i.peer,s)),i.value!=null&&(s.uint32(26),s.bytes(i.value)),a.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let a={},l=s==null?i.len:i.pos+s;for(;i.pos<l;){let f=i.uint32();switch(f>>>3){case 1:a.type=r.Type.codec().decode(i);break;case 2:a.peer=Xt.codec().decode(i,i.uint32());break;case 3:a.value=i.bytes();break;default:i.skipType(f&7);break}}return a})),n),r.encode=i=>z(i,r.codec()),r.decode=i=>$(i,r.codec())})(X||(X={}));var Xt;(function(r){let t;r.codec=()=>(t==null&&(t=V((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.id!=null&&e.id.byteLength>0&&(n.uint32(10),n.bytes(e.id)),e.addrs!=null)for(let s of e.addrs)n.uint32(18),n.bytes(s);i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={id:new Uint8Array(0),addrs:[]},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let a=e.uint32();switch(a>>>3){case 1:i.id=e.bytes();break;case 2:i.addrs.push(e.bytes());break;default:e.skipType(a&7);break}}return i})),t),r.encode=e=>z(e,r.codec()),r.decode=e=>$(e,r.codec())})(Xt||(Xt={}));var Ar;(function(r){let t;(function(i){i.TAG_PEER="TAG_PEER",i.UNTAG_PEER="UNTAG_PEER",i.TRIM="TRIM"})(t=r.Type||(r.Type={}));let e;(function(i){i[i.TAG_PEER=0]="TAG_PEER",i[i.UNTAG_PEER=1]="UNTAG_PEER",i[i.TRIM=2]="TRIM"})(e||(e={})),function(i){i.codec=()=>Gt(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=V((i,s,a={})=>{a.lengthDelimited!==!1&&s.fork(),i.type!=null&&(s.uint32(8),r.Type.codec().encode(i.type,s)),i.peer!=null&&(s.uint32(18),s.bytes(i.peer)),i.tag!=null&&(s.uint32(26),s.string(i.tag)),i.weight!=null&&(s.uint32(32),s.int64(i.weight)),a.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let a={},l=s==null?i.len:i.pos+s;for(;i.pos<l;){let f=i.uint32();switch(f>>>3){case 1:a.type=r.Type.codec().decode(i);break;case 2:a.peer=i.bytes();break;case 3:a.tag=i.string();break;case 4:a.weight=i.int64();break;default:i.skipType(f&7);break}}return a})),n),r.encode=i=>z(i,r.codec()),r.decode=i=>$(i,r.codec())})(Ar||(Ar={}));var Ir;(function(r){let t;r.codec=()=>(t==null&&(t=V((e,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),e.peer!=null&&e.peer.byteLength>0&&(n.uint32(10),n.bytes(e.peer)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={peer:new Uint8Array(0)},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let a=e.uint32();switch(a>>>3){case 1:i.peer=e.bytes();break;default:e.skipType(a&7);break}}return i})),t),r.encode=e=>z(e,r.codec()),r.decode=e=>$(e,r.codec())})(Ir||(Ir={}));var $t;(function(r){let t;(function(i){i.GET_TOPICS="GET_TOPICS",i.LIST_PEERS="LIST_PEERS",i.PUBLISH="PUBLISH",i.SUBSCRIBE="SUBSCRIBE"})(t=r.Type||(r.Type={}));let e;(function(i){i[i.GET_TOPICS=0]="GET_TOPICS",i[i.LIST_PEERS=1]="LIST_PEERS",i[i.PUBLISH=2]="PUBLISH",i[i.SUBSCRIBE=3]="SUBSCRIBE"})(e||(e={})),function(i){i.codec=()=>Gt(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=V((i,s,a={})=>{a.lengthDelimited!==!1&&s.fork(),i.type!=null&&(s.uint32(8),r.Type.codec().encode(i.type,s)),i.topic!=null&&(s.uint32(18),s.string(i.topic)),i.data!=null&&(s.uint32(26),s.bytes(i.data)),a.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let a={},l=s==null?i.len:i.pos+s;for(;i.pos<l;){let f=i.uint32();switch(f>>>3){case 1:a.type=r.Type.codec().decode(i);break;case 2:a.topic=i.string();break;case 3:a.data=i.bytes();break;default:i.skipType(f&7);break}}return a})),n),r.encode=i=>z(i,r.codec()),r.decode=i=>$(i,r.codec())})($t||($t={}));var Je;(function(r){let t;r.codec=()=>(t==null&&(t=V((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.from!=null&&(n.uint32(10),n.bytes(e.from)),e.data!=null&&(n.uint32(18),n.bytes(e.data)),e.seqno!=null&&(n.uint32(26),n.bytes(e.seqno)),e.topicIDs!=null)for(let s of e.topicIDs)n.uint32(34),n.string(s);e.signature!=null&&(n.uint32(42),n.bytes(e.signature)),e.key!=null&&(n.uint32(50),n.bytes(e.key)),i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={topicIDs:[]},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let a=e.uint32();switch(a>>>3){case 1:i.from=e.bytes();break;case 2:i.data=e.bytes();break;case 3:i.seqno=e.bytes();break;case 4:i.topicIDs.push(e.string());break;case 5:i.signature=e.bytes();break;case 6:i.key=e.bytes();break;default:e.skipType(a&7);break}}return i})),t),r.encode=e=>z(e,r.codec()),r.decode=e=>$(e,r.codec())})(Je||(Je={}));var Cr;(function(r){let t;r.codec=()=>(t==null&&(t=V((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.topics!=null)for(let s of e.topics)n.uint32(10),n.string(s);if(e.peerIDs!=null)for(let s of e.peerIDs)n.uint32(18),n.bytes(s);i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={topics:[],peerIDs:[]},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let a=e.uint32();switch(a>>>3){case 1:i.topics.push(e.string());break;case 2:i.peerIDs.push(e.bytes());break;default:e.skipType(a&7);break}}return i})),t),r.encode=e=>z(e,r.codec()),r.decode=e=>$(e,r.codec())})(Cr||(Cr={}));var le;(function(r){let t;(function(i){i.UNSPECIFIED="UNSPECIFIED",i.GET_PROTOCOLS="GET_PROTOCOLS",i.GET_PEER_INFO="GET_PEER_INFO"})(t=r.Type||(r.Type={}));let e;(function(i){i[i.UNSPECIFIED=0]="UNSPECIFIED",i[i.GET_PROTOCOLS=1]="GET_PROTOCOLS",i[i.GET_PEER_INFO=2]="GET_PEER_INFO"})(e||(e={})),function(i){i.codec=()=>Gt(e)}(t=r.Type||(r.Type={}));let n;r.codec=()=>(n==null&&(n=V((i,s,a={})=>{if(a.lengthDelimited!==!1&&s.fork(),i.type!=null&&(s.uint32(8),r.Type.codec().encode(i.type,s)),i.id!=null&&(s.uint32(18),s.bytes(i.id)),i.protos!=null)for(let l of i.protos)s.uint32(26),s.string(l);a.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let a={protos:[]},l=s==null?i.len:i.pos+s;for(;i.pos<l;){let f=i.uint32();switch(f>>>3){case 1:a.type=r.Type.codec().decode(i);break;case 2:a.id=i.bytes();break;case 3:a.protos.push(i.string());break;default:i.skipType(f&7);break}}return a})),n),r.encode=i=>z(i,r.codec()),r.decode=i=>$(i,r.codec())})(le||(le={}));var kr;(function(r){let t;r.codec=()=>(t==null&&(t=V((e,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),e.peer!=null&&(n.uint32(10),Xt.codec().encode(e.peer,n)),e.protos!=null)for(let s of e.protos)n.uint32(18),n.string(s);i.lengthDelimited!==!1&&n.ldelim()},(e,n)=>{let i={protos:[]},s=n==null?e.len:e.pos+n;for(;e.pos<s;){let a=e.uint32();switch(a>>>3){case 1:i.peer=Xt.codec().decode(e,e.uint32());break;case 2:i.protos.push(e.string());break;default:e.skipType(a&7);break}}return i})),t),r.encode=e=>z(e,r.codec()),r.decode=e=>$(e,r.codec())})(kr||(kr={}));var pt=M(no(),1);var zn={};ft(zn,{base32:()=>Rt,base32hex:()=>El,base32hexpad:()=>xl,base32hexpadupper:()=>Sl,base32hexupper:()=>vl,base32pad:()=>bl,base32padupper:()=>wl,base32upper:()=>yl,base32z:()=>Tl});function hl(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 i=0;i<r.length;i++){var s=r.charAt(i),a=s.charCodeAt(0);if(e[a]!==255)throw new TypeError(s+" is ambiguous");e[a]=i}var l=r.length,f=r.charAt(0),d=Math.log(l)/Math.log(256),h=Math.log(256)/Math.log(l);function g(b){if(b instanceof Uint8Array||(ArrayBuffer.isView(b)?b=new Uint8Array(b.buffer,b.byteOffset,b.byteLength):Array.isArray(b)&&(b=Uint8Array.from(b))),!(b instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(b.length===0)return"";for(var k=0,A=0,C=0,D=b.length;C!==D&&b[C]===0;)C++,k++;for(var _=(D-C)*h+1>>>0,G=new Uint8Array(_);C!==D;){for(var rt=b[C],st=0,nt=_-1;(rt!==0||st<A)&&nt!==-1;nt--,st++)rt+=256*G[nt]>>>0,G[nt]=rt%l>>>0,rt=rt/l>>>0;if(rt!==0)throw new Error("Non-zero carry");A=st,C++}for(var ot=_-A;ot!==_&&G[ot]===0;)ot++;for(var Tt=f.repeat(k);ot<_;++ot)Tt+=r.charAt(G[ot]);return Tt}function w(b){if(typeof b!="string")throw new TypeError("Expected String");if(b.length===0)return new Uint8Array;var k=0;if(b[k]!==" "){for(var A=0,C=0;b[k]===f;)A++,k++;for(var D=(b.length-k)*d+1>>>0,_=new Uint8Array(D);b[k];){var G=e[b.charCodeAt(k)];if(G===255)return;for(var rt=0,st=D-1;(G!==0||rt<C)&&st!==-1;st--,rt++)G+=l*_[st]>>>0,_[st]=G%256>>>0,G=G/256>>>0;if(G!==0)throw new Error("Non-zero carry");C=rt,k++}if(b[k]!==" "){for(var nt=D-C;nt!==D&&_[nt]===0;)nt++;for(var ot=new Uint8Array(A+(D-nt)),Tt=A;nt!==D;)ot[Tt++]=_[nt++];return ot}}}function S(b){var k=w(b);if(k)return k;throw new Error(`Non-${t} character`)}return{encode:g,decodeUnsafe:w,decode:S}}var pl=hl,dl=pl,io=dl;var Np=new Uint8Array(0);var so=(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},vt=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 oo=r=>new TextEncoder().encode(r),co=r=>new TextDecoder().decode(r);var Un=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")}},Fn=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 uo(this,t)}},Gn=class{constructor(t){this.decoders=t}or(t){return uo(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`)}},uo=(r,t)=>new Gn({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),$n=class{constructor(t,e,n,i){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=i,this.encoder=new Un(t,e,n),this.decoder=new Fn(t,e,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},_e=({name:r,prefix:t,encode:e,decode:n})=>new $n(r,t,e,n),Yt=({prefix:r,name:t,alphabet:e})=>{let{encode:n,decode:i}=io(e,t);return _e({prefix:r,name:t,encode:n,decode:s=>vt(i(s))})},ml=(r,t,e,n)=>{let i={};for(let h=0;h<t.length;++h)i[t[h]]=h;let s=r.length;for(;r[s-1]==="=";)--s;let a=new Uint8Array(s*e/8|0),l=0,f=0,d=0;for(let h=0;h<s;++h){let g=i[r[h]];if(g===void 0)throw new SyntaxError(`Non-${n} character`);f=f<<e|g,l+=e,l>=8&&(l-=8,a[d++]=255&f>>l)}if(l>=e||255&f<<8-l)throw new SyntaxError("Unexpected end of data");return a},gl=(r,t,e)=>{let n=t[t.length-1]==="=",i=(1<<e)-1,s="",a=0,l=0;for(let f=0;f<r.length;++f)for(l=l<<8|r[f],a+=8;a>e;)a-=e,s+=t[i&l>>a];if(a&&(s+=t[i&l<<e-a]),n)for(;s.length*e&7;)s+="=";return s},P=({name:r,prefix:t,bitsPerChar:e,alphabet:n})=>_e({prefix:t,name:r,encode(i){return gl(i,n,e)},decode(i){return ml(i,n,e,r)}});var Rt=P({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),yl=P({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),bl=P({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),wl=P({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),El=P({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),vl=P({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),xl=P({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Sl=P({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Tl=P({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Vn={};ft(Vn,{base58btc:()=>H,base58flickr:()=>Al});var H=Yt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Al=Yt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Wn={};ft(Wn,{base64:()=>Hn,base64pad:()=>Il,base64url:()=>Cl,base64urlpad:()=>kl});var Hn=P({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Il=P({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Cl=P({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),kl=P({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});pt.default.formatters.b=r=>r==null?"undefined":H.baseEncode(r);pt.default.formatters.t=r=>r==null?"undefined":Rt.baseEncode(r);pt.default.formatters.m=r=>r==null?"undefined":Hn.baseEncode(r);pt.default.formatters.p=r=>r==null?"undefined":r.toString();pt.default.formatters.c=r=>r==null?"undefined":r.toString();pt.default.formatters.k=r=>r==null?"undefined":r.toString();pt.default.formatters.a=r=>r==null?"undefined":r.toString();function Dl(r){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=r,t.destroy=()=>!0,t.extend=()=>t,t}function J(r){let t=Dl(`${r}:trace`);return pt.default.enabled(`${r}:trace`)&&pt.default.names.map(e=>e.toString()).find(e=>e.includes(":trace"))!=null&&(t=(0,pt.default)(`${r}:trace`)),Object.assign((0,pt.default)(r),{error:(0,pt.default)(`${r}:error`),trace:t})}function he(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function zt(r=0){return globalThis.Buffer?.alloc!=null?he(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function _t(r=0){return globalThis.Buffer?.allocUnsafe!=null?he(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function xt(r,t){t==null&&(t=r.reduce((i,s)=>i+s.length,0));let e=_t(t),n=0;for(let i of r)e.set(i,n),n+=i.length;return he(e)}function pe(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 fo=Symbol.for("@achingbrain/uint8arraylist");function lo(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let n of r){let i=e+n.byteLength;if(t<i)return{buf:n,index:t-e};e=i}throw new RangeError("index is out of bounds")}function Lr(r){return!!r?.[fo]}var Ot=class r{constructor(...t){Object.defineProperty(this,fo,{value:!0}),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(Lr(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(Lr(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=lo(this.bufs,t);return e.buf[e.index]}set(t,e){let n=lo(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(Lr(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:i}=this._subList(t,e);return xt(n,i)}subarray(t,e){let{bufs:n,length:i}=this._subList(t,e);return n.length===1?n[0]:xt(n,i)}sublist(t,e){let{bufs:n,length:i}=this._subList(t,e),s=new r;return s.length=i,s.bufs=n,s}_subList(t,e){if(t=t??0,e=e??this.length,t<0&&(t=this.length+t),e<0&&(e=this.length+e),t<0||e>this.length)throw new RangeError("index is out of bounds");if(t===e)return{bufs:[],length:0};if(t===0&&e===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let s=0;s<this.bufs.length;s++){let a=this.bufs[s],l=i,f=l+a.byteLength;if(i=f,t>=f)continue;let d=t>=l&&t<f,h=e>l&&e<=f;if(d&&h){if(t===l&&e===f){n.push(a);break}let g=t-l;n.push(a.subarray(g,g+(e-t)));break}if(d){if(t===0){n.push(a);continue}n.push(a.subarray(t-l));continue}if(h){if(e===f){n.push(a);break}n.push(a.subarray(0,e-l));break}n.push(a)}return{bufs:n,length:e-t}}indexOf(t,e=0){if(!Lr(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 i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let s=256,a=new Int32Array(s);for(let g=0;g<s;g++)a[g]=-1;for(let g=0;g<i;g++)a[n[g]]=g;let l=a,f=this.byteLength-n.byteLength,d=n.byteLength-1,h;for(let g=e;g<=f;g+=h){h=0;for(let w=d;w>=0;w--){let S=this.get(g+w);if(n[w]!==S){h=Math.max(1,w-l[S]);break}}if(h===0)return g}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 i=zt(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,e,n),this.write(i,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 i=zt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,e,n),this.write(i,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 i=zt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,e,n),this.write(i,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 i=zt(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,e,n),this.write(i,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 i=zt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,e,n),this.write(i,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 i=zt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,e,n),this.write(i,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 i=zt(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,e,n),this.write(i,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 i=zt(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,e,n),this.write(i,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(!pe(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((i,s)=>i+s.byteLength,0)),n.length=e,n}};function ho(r){let t=async function*(){let e=yield,n=new Ot;for await(let i of r){if(e==null){n.append(i),e=yield n,n=new Ot;continue}for(n.append(i);n.length>=e;){let s=n.sublist(0,e);if(n.consume(e),e=yield s,e==null){n.length>0&&(e=yield n,n=new Ot);break}}}if(e!=null)throw Object.assign(new Error(`stream ended before ${e} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return t.next(),t}function Le(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var Nr=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},Ne=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new Nr(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let e=this.head;this.head=e.next=new Nr(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let e=this.tail.next;this.tail.next=null,this.tail=e,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var qn=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function jt(r={}){return Bl(e=>{let n=e.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},r)}function Bl(r,t){t=t??{};let e=t.onEnd,n=new Ne,i,s,a,l=Le(),f=async()=>{try{return n.isEmpty()?a?{done:!0}:await new Promise((A,C)=>{s=D=>{s=null,n.push(D);try{A(r(n))}catch(_){C(_)}return i}}):r(n)}finally{n.isEmpty()&&queueMicrotask(()=>{l.resolve(),l=Le()})}},d=A=>s!=null?s(A):(n.push(A),i),h=A=>(n=new Ne,s!=null?s({error:A}):(n.push({error:A}),i)),g=A=>{if(a)return i;if(t?.objectMode!==!0&&A?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return d({done:!1,value:A})},w=A=>a?i:(a=!0,A!=null?h(A):d({done:!0})),S=()=>(n=new Ne,w(),{done:!0}),b=A=>(w(A),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:f,return:S,throw:b,push:g,end:w,get readableLength(){return n.size},onEmpty:async A=>{let C=A?.signal;if(C?.throwIfAborted(),n.isEmpty())return;let D,_;C!=null&&(D=new Promise((G,rt)=>{_=()=>{rt(new qn)},C.addEventListener("abort",_)}));try{await Promise.race([l.promise,D])}finally{_!=null&&C!=null&&C?.removeEventListener("abort",_)}}},e==null)return i;let k=i;return i={[Symbol.asyncIterator](){return this},next(){return k.next()},throw(A){return k.throw(A),e!=null&&(e(A),e=void 0),{done:!0}},return(){return k.return(),e!=null&&(e(),e=void 0),{done:!0}},push:g,end(A){return k.end(A),e!=null&&(e(A),e=void 0),i},get readableLength(){return k.readableLength}},i}function po(r){let t=jt(),e=ho(r.source),n=Le(),i,s=r.sink(async function*(){yield*t,yield*await n.promise}());return s.catch(l=>{i=l}),{reader:e,writer:t,stream:{sink:async l=>{if(i!=null){await Promise.reject(i);return}n.resolve(l),await s},source:e},rest:()=>t.end(),write:t.push,read:async()=>{let l=await e.next();if(l.value!=null)return l.value}}}function Or(r){return r instanceof Uint8Array?{get(t){return r[t]},set(t,e){r[t]=e}}:{get(t){return r.get(t)},set(t,e){r.set(t,e)}}}var mo=4294967296,Qe=class r{constructor(t=0,e=0){this.hi=t,this.lo=e}toBigInt(t){if(t===!0)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)}toNumber(t){return Number(this.toBigInt(t))}zzDecode(){let t=-(this.lo&1),e=((this.lo>>>1|this.hi<<31)^t)>>>0,n=(this.hi>>>1^t)>>>0;return new r(n,e)}zzEncode(){let t=this.hi>>31,e=((this.hi<<1|this.lo>>>31)^t)>>>0,n=(this.lo<<1^t)>>>0;return new r(e,n)}toBytes(t,e=0){let n=Or(t);for(;this.hi>0;)n.set(e++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(e++,this.lo&127|128),this.lo=this.lo>>>7;n.set(e++,this.lo)}static fromBigInt(t){if(t===0n)return new r;let e=t<0;e&&(t=-t);let n=Number(t>>32n)|0,i=Number(t-(BigInt(n)<<32n))|0;return e&&(n=~n>>>0,i=~i>>>0,++i>mo&&(i=0,++n>mo&&(n=0))),new r(n,i)}static fromNumber(t){if(t===0)return new r;let e=t<0;e&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return e&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new r(i,n)}static fromBytes(t,e=0){let n=Or(t),i=new r,s=0;if(t.length-e>4){for(;s<4;++s)if(i.lo=(i.lo|(n.get(e)&127)<<s*7)>>>0,n.get(e++)<128)return i;if(i.lo=(i.lo|(n.get(e)&127)<<28)>>>0,i.hi=(i.hi|(n.get(e)&127)>>4)>>>0,n.get(e++)<128)return i;s=0}else for(;s<4;++s){if(e>=t.length)throw RangeError(`index out of range: ${e} > ${t.length}`);if(i.lo=(i.lo|(n.get(e)&127)<<s*7)>>>0,n.get(e++)<128)return i}if(t.length-e>4){for(;s<5;++s)if(i.hi=(i.hi|(n.get(e)&127)<<s*7+3)>>>0,n.get(e++)<128)return i}else if(e<t.byteLength)for(;s<5;++s){if(e>=t.length)throw RangeError(`index out of range: ${e} > ${t.length}`);if(i.hi=(i.hi|(n.get(e)&127)<<s*7+3)>>>0,n.get(e++)<128)return i}throw RangeError("invalid varint encoding")}};var Rl=Math.pow(2,7),_l=Math.pow(2,14),Ll=Math.pow(2,21),Nl=Math.pow(2,28),Ol=Math.pow(2,35),Pl=Math.pow(2,42),Ml=Math.pow(2,49),Ul=Math.pow(2,56),Fl=Math.pow(2,63),de={encodingLength(r){return r<Rl?1:r<_l?2:r<Ll?3:r<Nl?4:r<Ol?5:r<Pl?6:r<Ml?7:r<Ul?8:r<Fl?9:10},encode(r,t,e=0){if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return t==null&&(t=_t(de.encodingLength(r))),Qe.fromNumber(r).toBytes(t,e),t},decode(r,t=0){return Qe.fromBytes(r,t).toNumber(!0)}};function Pr(r){return r[Symbol.asyncIterator]!=null}var Mr=r=>{let t=de.encodingLength(r),e=_t(t);return de.encode(r,e),Mr.bytes=t,e};Mr.bytes=0;function Oe(r,t){t=t??{};let e=t.lengthEncoder??Mr;function*n(i){let s=e(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return Pr(r)?async function*(){for await(let i of r)yield*n(i)}():function*(){for(let i of r)yield*n(i)}()}Oe.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??Mr;return new Ot(e(r.byteLength),r)};var Pe=M(bo(),1);var $l=8,zl=1024*1024*4,me;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(me||(me={}));var Zn=r=>{let t=de.decode(r);return Zn.bytes=de.encodingLength(t),t};Zn.bytes=0;function tr(r,t){let e=new Ot,n=me.LENGTH,i=-1,s=t?.lengthDecoder??Zn,a=t?.maxLengthLength??$l,l=t?.maxDataLength??zl;function*f(){for(;e.byteLength>0;){if(n===me.LENGTH)try{if(i=s(e),i<0)throw(0,Pe.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>l)throw(0,Pe.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let d=s.bytes;e.consume(d),t?.onLength!=null&&t.onLength(i),n=me.DATA}catch(d){if(d instanceof RangeError){if(e.byteLength>a)throw(0,Pe.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw d}if(n===me.DATA){if(e.byteLength<i)break;let d=e.sublist(0,i);e.consume(i),t?.onData!=null&&t.onData(d),yield d,n=me.LENGTH}}}return Pr(r)?async function*(){for await(let d of r)e.append(d),yield*f();if(e.byteLength>0)throw(0,Pe.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let d of r)e.append(d),yield*f();if(e.byteLength>0)throw(0,Pe.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}tr.fromReader=(r,t)=>{let e=1,n=async function*(){for(;;)try{let{done:s,value:a}=await r.next(e);if(s===!0)return;a!=null&&(yield a)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{e=1}}();return tr(n,{...t??{},onLength:s=>{e=s}})};var Kn=J("libp2p:daemon-protocol:stream-handler"),Ur=class{stream;shake;decoder;constructor(t){let{stream:e,maxLength:n}=t;this.stream=e,this.shake=po(this.stream),this.decoder=tr.fromReader(this.shake.reader,{maxDataLength:n??4096})}async read(){let t=await this.decoder.next();if(t.value!=null)return t.value.subarray();Kn("read received no value, closing stream"),await this.close()}write(t){Kn("write message"),this.shake.write(Oe.single(t).subarray())}rest(){return this.shake.rest(),this.shake.stream}async close(){Kn("closing the stream"),await this.rest().sink([])}};var Xn={upgradeInbound:async r=>r,upgradeOutbound:async r=>r};var Me=class r extends Error{code;type;constructor(t="The operation was aborted"){super(t),this.code=r.code,this.type=r.type}static code="ABORT_ERR";static type="aborted"},St=class extends Error{code;props;constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var Eo=Symbol.for("@libp2p/peer-id");var Yn={};ft(Yn,{identity:()=>Vl});var Vl=_e({prefix:"\0",name:"identity",encode:r=>co(r),decode:r=>oo(r)});var jn={};ft(jn,{base2:()=>Hl});var Hl=P({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Jn={};ft(Jn,{base8:()=>Wl});var Wl=P({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Qn={};ft(Qn,{base10:()=>ql});var ql=Yt({prefix:"9",name:"base10",alphabet:"0123456789"});var ti={};ft(ti,{base16:()=>Zl,base16upper:()=>Kl});var Zl=P({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Kl=P({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var ei={};ft(ei,{base36:()=>Xl,base36upper:()=>Yl});var Xl=Yt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Yl=Yt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ri={};ft(ri,{base256emoji:()=>ef});var vo=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}"),jl=vo.reduce((r,t,e)=>(r[e]=t,r),[]),Jl=vo.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function Ql(r){return r.reduce((t,e)=>(t+=jl[e],t),"")}function tf(r){let t=[];for(let e of r){let n=Jl[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var ef=_e({prefix:"\u{1F680}",name:"base256emoji",encode:Ql,decode:tf});var ci={};ft(ci,{sha256:()=>Gr,sha512:()=>vf});var oi=M(Ft("crypto"),1);var rf=To,xo=128,nf=127,sf=~nf,of=Math.pow(2,31);function To(r,t,e){t=t||[],e=e||0;for(var n=e;r>=of;)t[e++]=r&255|xo,r/=128;for(;r&sf;)t[e++]=r&255|xo,r>>>=7;return t[e]=r|0,To.bytes=e-n+1,t}var cf=ni,af=128,So=127;function ni(r,n){var e=0,n=n||0,i=0,s=n,a,l=r.length;do{if(s>=l)throw ni.bytes=0,new RangeError("Could not decode varint");a=r[s++],e+=i<28?(a&So)<<i:(a&So)*Math.pow(2,i),i+=7}while(a>=af);return ni.bytes=s-n,e}var uf=Math.pow(2,7),lf=Math.pow(2,14),ff=Math.pow(2,21),hf=Math.pow(2,28),pf=Math.pow(2,35),df=Math.pow(2,42),mf=Math.pow(2,49),gf=Math.pow(2,56),yf=Math.pow(2,63),bf=function(r){return r<uf?1:r<lf?2:r<ff?3:r<hf?4:r<pf?5:r<df?6:r<mf?7:r<gf?8:r<yf?9:10},wf={encode:rf,decode:cf,encodingLength:bf},Ef=wf,er=Ef;var rr=(r,t=0)=>[er.decode(r,t),er.decode.bytes],Ue=(r,t,e=0)=>(er.encode(r,t,e),t),Fe=r=>er.encodingLength(r);var Jt=(r,t)=>{let e=t.byteLength,n=Fe(r),i=n+Fe(e),s=new Uint8Array(i+e);return Ue(r,s,0),Ue(e,s,n),s.set(t,i),new Ge(r,e,t,s)},ge=r=>{let t=vt(r),[e,n]=rr(t),[i,s]=rr(t.subarray(n)),a=t.subarray(n+s);if(a.byteLength!==i)throw new Error("Incorrect length");return new Ge(e,i,a,t)},Ao=(r,t)=>{if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&so(r.bytes,e.bytes)}},Ge=class{constructor(t,e,n,i){this.code=t,this.size=e,this.digest=n,this.bytes=i}};var si=({name:r,code:t,encode:e})=>new ii(r,t,e),ii=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?Jt(this.code,e):e.then(n=>Jt(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Gr=si({name:"sha2-256",code:18,encode:r=>vt(oi.default.createHash("sha256").update(r).digest())}),vf=si({name:"sha2-512",code:19,encode:r=>vt(oi.default.createHash("sha512").update(r).digest())});var ai={};ft(ai,{identity:()=>$r});var Co=0,xf="identity",ko=vt,Sf=r=>Jt(Co,ko(r)),$r={code:Co,name:xf,encode:ko,digest:Sf};var Qd=new TextEncoder,tm=new TextDecoder;var Do=(r,t)=>{let{bytes:e,version:n}=r;switch(n){case 0:return Cf(e,ui(r),t||H.encoder);default:return kf(e,ui(r),t||Rt.encoder)}};var Bo=new WeakMap,ui=r=>{let t=Bo.get(r);if(t==null){let e=new Map;return Bo.set(r,e),e}return t},ct=class r{constructor(t,e,n,i){this.code=e,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}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!==nr)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Df)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=Jt(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&&Ao(t.multihash,n.multihash)}toString(t){return Do(this,t)}toJSON(){return{"/":Do(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:i,multihash:s,bytes:a}=e;return new r(n,i,s,a||Ro(n,i,s.bytes))}else if(e[Bf]===!0){let{version:n,multihash:i,code:s}=e,a=ge(i);return r.create(n,s,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!==nr)throw new Error(`Version 0 CID must use dag-pb (code: ${nr}) block encoding`);return new r(t,e,n,n.bytes)}case 1:{let i=Ro(t,e,n.bytes);return new r(t,e,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,nr,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,i=vt(t.subarray(n,n+e.multihashSize));if(i.byteLength!==e.multihashSize)throw new Error("Incorrect length");let s=i.subarray(e.multihashSize-e.digestSize),a=new Ge(e.multihashCode,e.digestSize,s,i);return[e.version===0?r.createV0(a):r.createV1(e.codec,a),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[g,w]=rr(t.subarray(e));return e+=w,g},i=n(),s=nr;if(i===18?(i=0,e=0):s=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let a=e,l=n(),f=n(),d=e+f,h=d-a;return{version:i,codec:s,multihashCode:l,digestSize:f,multihashSize:h,size:d}}static parse(t,e){let[n,i]=If(t,e),s=r.decode(i);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return ui(s).set(n,t),s}},If=(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 Rt.prefix:{let e=t||Rt;return[Rt.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)]}}},Cf=(r,t,e)=>{let{prefix:n}=e;if(n!==H.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let i=t.get(n);if(i==null){let s=e.encode(r).slice(1);return t.set(n,s),s}else return i},kf=(r,t,e)=>{let{prefix:n}=e,i=t.get(n);if(i==null){let s=e.encode(r);return t.set(n,s),s}else return i},nr=112,Df=18,Ro=(r,t,e)=>{let n=Fe(r),i=n+Fe(t),s=new Uint8Array(i+e.byteLength);return Ue(r,s,0),Ue(t,s,n),s.set(e,i),s},Bf=Symbol.for("@ipld/js-cid/CID");var Qt={...Yn,...jn,...Jn,...Qn,...ti,...zn,...ei,...Vn,...Wn,...ri},lm={...ci,...ai};var Rf=Symbol.for("nodejs.util.inspect.custom"),_o=Object.values(Qt).map(r=>r.decoder).reduce((r,t)=>r.or(t),Qt.identity.decoder),Lo=114,No=36,Oo=37,ir=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Eo]=!0;toString(){return this.string==null&&(this.string=H.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return ct.createV1(Lo,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return pe(this.multihash.bytes,t);if(typeof t=="string")return _f(t).equals(this);if(t?.multihash?.bytes!=null)return pe(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Rf](){return`PeerId(${this.toString()})`}},sr=class extends ir{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},or=class extends ir{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},cr=class extends ir{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function _f(r,t){if(t=t??_o,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=ge(H.decode(`z${r}`));return r.startsWith("12D")?new or({multihash:e}):r.startsWith("16U")?new cr({multihash:e}):new sr({multihash:e})}return be(_o.decode(r))}function be(r){try{let t=ge(r);if(t.code===$r.code){if(t.digest.length===No)return new or({multihash:t});if(t.digest.length===Oo)return new cr({multihash:t})}if(t.code===Gr.code)return new sr({multihash:t})}catch{return Lf(ct.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function Lf(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==Lo)throw new Error("Supplied PeerID CID is invalid");let t=r.multihash;if(t.code===Gr.code)return new sr({multihash:r.multihash});if(t.code===$r.code){if(t.digest.length===No)return new or({multihash:r.multihash});if(t.digest.length===Oo)return new cr({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}var $c=M(Ft("net"),1);var Mo=Symbol.for("@libp2p/transport");var Po;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(Po||(Po={}));var zr=class extends Error{code;props;constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};function Fo(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Uo=Fo("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),li=Fo("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}),Nf={utf8:Uo,"utf-8":Uo,hex:Qt.base16,latin1:li,ascii:li,binary:li,...Qt},Vr=Nf;function at(r,t="utf8"){let e=Vr[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 ze=M(pi(),1);var Hr=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,i){return this.readAtomically(()=>{let s=0,a=0,l=this.peekChar();if(l===void 0)return;let f=l==="0",d=2**(8*i)-1;for(;;){let h=this.readAtomically(()=>{let g=this.readChar();if(g===void 0)return;let w=Number.parseInt(g,t);if(!Number.isNaN(w))return w});if(h===void 0)break;if(s*=t,s+=h,s>d||(a+=1,e!==void 0&&a>e))return}if(a!==0)return!n&&f&&a>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let n=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[e]=n}return t})}readIPv6Addr(){let t=e=>{for(let n=0;n<e.length/2;n++){let i=n*2;if(n<e.length-3){let a=this.readSeparator(":",n,()=>this.readIPv4Addr());if(a!==void 0)return e[i]=a[0],e[i+1]=a[1],e[i+2]=a[2],e[i+3]=a[3],[i+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[i,!1];e[i]=s>>8,e[i+1]=s&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[n,i]=t(e);if(n===16)return e;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),a=16-(n+2),[l]=t(s.subarray(0,a));return e.set(s.subarray(0,l),16-l),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Nm=new Hr;var zm=parseInt("0xFFFF",16),Vm=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function ar(r,t="utf8"){let e=Vr[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?he(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}var Pt=M(pi(),1);var te=Ft("node:net");function Wr(r){return!!(0,te.isIP)(r)}var jo=te.isIPv4,Qf=te.isIPv6,di=function(r){let t=0;if(r=r.toString().trim(),jo(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(Qf(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let s=jo(e[n]),a;s&&(a=di(e[n]),e[n]=at(a.slice(0,2),"base16")),a!=null&&++n<8&&e.splice(n,0,at(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 s=[n,1];for(n=9-e.length;n>0;n--)s.push("0");e.splice.apply(e,s)}let i=new Uint8Array(t+16);for(n=0;n<e.length;n++){let s=parseInt(e[n],16);i[t++]=s>>8&255,i[t++]=s&255}return i}throw new Error("invalid ip address")},Jo=function(r,t=0,e){t=~~t,e=e??r.length-t;let n=new DataView(r.buffer);if(e===4){let i=[];for(let s=0;s<e;s++)i.push(r[t+s]);return i.join(".")}if(e===16){let i=[];for(let s=0;s<e;s+=2)i.push(n.getUint16(t+s).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var $e={},mi={},eh=[[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"]];eh.forEach(r=>{let t=rh(...r);mi[t.code]=t,$e[t.name]=t});function rh(r,t,e,n,i){return{code:r,size:t,name:e,resolvable:!!n,path:!!i}}function L(r){if(typeof r=="number"){if(mi[r]!=null)return mi[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if($e[r]!=null)return $e[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var B0=L("ip4"),R0=L("ip6"),_0=L("ipcidr");function yi(r,t){switch(L(r).code){case 4:case 41:return ih(t);case 42:return ec(t);case 6:case 273:case 33:case 132:return nc(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return ec(t);case 421:return ah(t);case 444:return rc(t);case 445:return rc(t);case 466:return ch(t);default:return at(t,"base16")}}function bi(r,t){switch(L(r).code){case 4:return Qo(t);case 41:return Qo(t);case 42:return tc(t);case 6:case 273:case 33:case 132:return wi(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return tc(t);case 421:return sh(t);case 444:return uh(t);case 445:return lh(t);case 466:return oh(t);default:return ar(t,"base16")}}var gi=Object.values(Qt).map(r=>r.decoder),nh=function(){let r=gi[0].or(gi[1]);return gi.slice(2).forEach(t=>r=r.or(t)),r}();function Qo(r){if(!Wr(r))throw new Error("invalid ip address");return di(r)}function ih(r){let t=Jo(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!Wr(t))throw new Error("invalid ip address");return t}function wi(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function nc(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function tc(r){let t=ar(r),e=Uint8Array.from(Pt.default.encode(t.length));return xt([e,t],e.length+t.length)}function ec(r){let t=Pt.default.decode(r);if(r=r.slice(Pt.default.decode.bytes),r.length!==t)throw new Error("inconsistent lengths");return at(r)}function sh(r){let t;r[0]==="Q"||r[0]==="1"?t=ge(H.decode(`z${r}`)).bytes:t=ct.parse(r).multihash.bytes;let e=Uint8Array.from(Pt.default.encode(t.length));return xt([e,t],e.length+t.length)}function oh(r){let t=nh.decode(r),e=Uint8Array.from(Pt.default.encode(t.length));return xt([e,t],e.length+t.length)}function ch(r){let t=Pt.default.decode(r),e=r.slice(Pt.default.decode.bytes);if(e.length!==t)throw new Error("inconsistent lengths");return"u"+at(e,"base64url")}function ah(r){let t=Pt.default.decode(r),e=r.slice(Pt.default.decode.bytes);if(e.length!==t)throw new Error("inconsistent lengths");return at(e,"base58btc")}function uh(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=Rt.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 i=wi(n);return xt([e,i],e.length+i.length)}function lh(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=Rt.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 i=wi(n);return xt([e,i],e.length+i.length)}function rc(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=at(t,"base32"),i=nc(e);return`${n}:${i}`}function ic(r){r=Ei(r);let t=[],e=[],n=null,i=r.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let s=0;s<i.length;s++){let a=i[s],l=L(a);if(l.size===0){t.push([l.code]),e.push([l.code]);continue}if(s++,s>=i.length)throw oc("invalid address: "+r);if(l.path===!0){n=Ei(i.slice(s).join("/")),t.push([l.code,bi(l.code,n)]),e.push([l.code,n]);break}let f=bi(l.code,i[s]);t.push([l.code,f]),e.push([l.code,yi(l.code,f)])}return{string:sc(e),bytes:xi(t),tuples:t,stringTuples:e,path:n}}function vi(r){let t=[],e=[],n=null,i=0;for(;i<r.length;){let s=ze.default.decode(r,i),a=ze.default.decode.bytes??0,l=L(s),f=fh(l,r.slice(i+a));if(f===0){t.push([s]),e.push([s]),i+=a;continue}let d=r.slice(i+a,i+a+f);if(i+=f+a,i>r.length)throw oc("Invalid address Uint8Array: "+at(r,"base16"));t.push([s,d]);let h=yi(s,d);if(e.push([s,h]),l.path===!0){n=h;break}}return{bytes:Uint8Array.from(r),string:sc(e),tuples:t,stringTuples:e,path:n}}function sc(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}),Ei(t.join("/"))}function xi(r){return xt(r.map(t=>{let e=L(t[0]),n=Uint8Array.from(ze.default.encode(e.code));return t.length>1&&t[1]!=null&&(n=xt([n,t[1]])),n}))}function fh(r,t){return r.size>0?r.size/8:r.size===0?0:ze.default.decode(t)+(ze.default.decode.bytes??0)}function Ei(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function oc(r){return new Error("Error parsing address: "+r)}var hh=Symbol.for("nodejs.util.inspect.custom"),ph=[L("dns").code,L("dns4").code,L("dns6").code,L("dnsaddr").code],dh=new Map,cc=Symbol.for("@multiformats/js-multiaddr/multiaddr");function mh(r){return!!r?.[cc]}var Si=class r{bytes;#t;#e;#r;#n;[cc]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=vi(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=ic(t)}else if(mh(t))e=vi(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=e.bytes,this.#t=e.string,this.#e=e.tuples,this.#r=e.stringTuples,this.#n=e.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,e,n,i,s="",a=L("tcp"),l=L("udp"),f=L("ip4"),d=L("ip6"),h=L("dns6"),g=L("ip6zone");for(let[S,b]of this.stringTuples())S===g.code&&(s=`%${b??""}`),ph.includes(S)&&(e=a.name,i=443,n=`${b??""}${s}`,t=S===h.code?6:4),(S===a.code||S===l.code)&&(e=L(S).name,i=parseInt(b??"")),(S===f.code||S===d.code)&&(e=L(S).name,n=`${b??""}${s}`,t=S===d.code?6:4);if(t==null||e==null||n==null||i==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:i}}protos(){return this.#e.map(([t])=>Object.assign({},L(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>L(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new r(t),new r(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),n=this.toString(),i=n.lastIndexOf(e);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(n.slice(0,i))}decapsulateCode(t){let e=this.tuples();for(let n=e.length-1;n>=0;n--)if(e[n][0]===t)return new r(xi(e.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,i])=>{n===$e.p2p.code&&t.push([n,i]),n===$e["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?at(H.decode(`z${n}`),"base58btc"):at(ct.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return pe(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(s=>s.resolvable);if(e==null)return[this];let n=dh.get(e.name);if(n==null)throw new zr(`no available resolver for ${e.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(s=>new r(s))}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)}[hh](){return`Multiaddr(${this.#t})`}};function dt(r){return new Si(r)}var gh=v("dns4"),yh=v("dns6"),bh=v("dnsaddr"),Ee=F(v("dns"),bh,gh,yh),Kr=F(v("ip4"),v("ip6")),re=F(I(Kr,v("tcp")),I(Ee,v("tcp"))),Xr=I(Kr,v("udp")),wh=I(Xr,v("utp")),Eh=I(Xr,v("quic")),vh=I(Xr,v("quic-v1")),Ti=F(I(re,v("ws")),I(Ee,v("ws"))),qr=F(I(Ti,v("p2p")),Ti),Ai=F(I(re,v("wss")),I(Ee,v("wss")),I(re,v("tls"),v("ws")),I(Ee,v("tls"),v("ws"))),Zr=F(I(Ai,v("p2p")),Ai),Ii=F(I(re,v("http")),I(Kr,v("http")),I(Ee,v("http"))),Ci=F(I(re,v("https")),I(Kr,v("https")),I(Ee,v("https"))),ac=I(Xr,v("webrtc-direct"),v("certhash")),fc=F(I(ac,v("p2p")),ac),uc=I(vh,v("webtransport"),v("certhash"),v("certhash")),hc=F(I(uc,v("p2p")),uc),pc=F(I(qr,v("p2p-webrtc-star"),v("p2p")),I(Zr,v("p2p-webrtc-star"),v("p2p")),I(qr,v("p2p-webrtc-star")),I(Zr,v("p2p-webrtc-star"))),tg=F(I(qr,v("p2p-websocket-star"),v("p2p")),I(Zr,v("p2p-websocket-star"),v("p2p")),I(qr,v("p2p-websocket-star")),I(Zr,v("p2p-websocket-star"))),dc=F(I(Ii,v("p2p-webrtc-direct"),v("p2p")),I(Ci,v("p2p-webrtc-direct"),v("p2p")),I(Ii,v("p2p-webrtc-direct")),I(Ci,v("p2p-webrtc-direct"))),ve=F(Ti,Ai,Ii,Ci,pc,dc,re,wh,Eh,Ee,fc,hc),eg=F(I(ve,v("p2p-stardust"),v("p2p")),I(ve,v("p2p-stardust"))),ee=F(I(ve,v("p2p")),pc,dc,fc,hc,v("p2p")),lc=F(I(ee,v("p2p-circuit"),ee),I(ee,v("p2p-circuit")),I(v("p2p-circuit"),ee),I(ve,v("p2p-circuit")),I(v("p2p-circuit"),ve),v("p2p-circuit")),mc=()=>F(I(lc,mc),lc),we=mc(),rg=F(I(we,ee,we),I(ee,we),I(we,ee),we,ee);var ng=F(I(we,v("webrtc"),v("p2p")),I(we,v("webrtc")),I(ve,v("webrtc"),v("p2p")),I(ve,v("webrtc")),v("webrtc"));function gc(r){function t(e){let n;try{n=dt(e)}catch{return!1}let i=r(n.protoNames());return i===null?!1:i===!0||i===!1?i:i.length===0}return t}function I(...r){function t(e){if(e.length<r.length)return null;let n=e;return r.some(i=>(n=typeof i=="function"?i().partialMatch(e):i.partialMatch(e),Array.isArray(n)&&(e=n),n===null)),n}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:gc(t),partialMatch:t}}function F(...r){function t(n){let i=null;return r.some(s=>{let a=typeof s=="function"?s().partialMatch(n):s.partialMatch(n);return a!=null?(i=a,!0):!1}),i}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:gc(t),partialMatch:t}}function v(r){let t=r;function e(i){let s;try{s=dt(i)}catch{return!1}let a=s.protoNames();return a.length===1&&a[0]===t}function n(i){return i.length===0?null:i[0]===t?i.slice(1):null}return{toString:function(){return t},matches:e,partialMatch:n}}var Gc=M(Ft("net"),1);var Yr=class extends EventTarget{#t=new Map;listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,n){super.addEventListener(t,e,n);let i=this.#t.get(t);i==null&&(i=[],this.#t.set(t,i)),i.push({callback:e,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,e,n){super.removeEventListener(t.toString(),e??null,n);let i=this.#t.get(t);i!=null&&(i=i.filter(({callback:s})=>s!==e),this.#t.set(t,i))}dispatchEvent(t){let e=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:i})=>!i),this.#t.set(t.type,n)),e}safeDispatchEvent(t,e){return this.dispatchEvent(new Ve(t,e))}},ki=class extends Event{detail;constructor(t,e){super(t,e),this.detail=e?.detail}},Ve=globalThis.CustomEvent??ki;function jr(r){return this.subnetMask<r.subnetMask?!1:this.mask(r.subnetMask)===r.mask()}function Jr(r){return function(){return this.addressMinusSuffix!==this.correctForm()?!1:this.subnetMask===r&&!this.parsedSubnet?!0:this.parsedSubnet===String(this.subnetMask)}}var He=/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/g,Di=/\/\d{1,2}$/;var Q=class extends Error{constructor(t,e){super(t),this.name="AddressError",e!==null&&(this.parseMessage=e)}};var We=M(Bi(),1),xe=M(ur(),1),mt=class r{constructor(t){this.groups=4,this.parsedAddress=[],this.parsedSubnet="",this.subnet="/32",this.subnetMask=32,this.v4=!0,this.isCorrect=Jr(32),this.isInSubnet=jr,this.address=t;let e=Di.exec(t);if(e){if(this.parsedSubnet=e[0].replace("/",""),this.subnetMask=parseInt(this.parsedSubnet,10),this.subnet=`/${this.subnetMask}`,this.subnetMask<0||this.subnetMask>32)throw new Q("Invalid subnet mask.");t=t.replace(Di,"")}this.addressMinusSuffix=t,this.parsedAddress=this.parse(t)}static isValid(t){try{return new r(t),!0}catch{return!1}}parse(t){let e=t.split(".");if(!t.match(He))throw new Q("Invalid IPv4 address.");return e}correctForm(){return this.parsedAddress.map(t=>parseInt(t,10)).join(".")}static fromHex(t){let e=t.replace(/:/g,"").padStart(8,"0"),n=[],i;for(i=0;i<8;i+=2){let s=e.slice(i,i+2);n.push(parseInt(s,16))}return new r(n.join("."))}static fromInteger(t){return r.fromHex(t.toString(16))}static fromArpa(t){let n=t.replace(/(\.in-addr\.arpa)?\.$/,"").split(".").reverse().join(".");return new r(n)}toHex(){return this.parsedAddress.map(t=>(0,xe.sprintf)("%02x",parseInt(t,10))).join(":")}toArray(){return this.parsedAddress.map(t=>parseInt(t,10))}toGroup6(){let t=[],e;for(e=0;e<4;e+=2){let n=(0,xe.sprintf)("%02x%02x",parseInt(this.parsedAddress[e],10),parseInt(this.parsedAddress[e+1],10));t.push((0,xe.sprintf)("%x",parseInt(n,16)))}return t.join(":")}bigInteger(){return new We.BigInteger(this.parsedAddress.map(t=>(0,xe.sprintf)("%02x",parseInt(t,10))).join(""),16)}_startAddress(){return new We.BigInteger(this.mask()+"0".repeat(32-this.subnetMask),2)}startAddress(){return r.fromBigInteger(this._startAddress())}startAddressExclusive(){let t=new We.BigInteger("1");return r.fromBigInteger(this._startAddress().add(t))}_endAddress(){return new We.BigInteger(this.mask()+"1".repeat(32-this.subnetMask),2)}endAddress(){return r.fromBigInteger(this._endAddress())}endAddressExclusive(){let t=new We.BigInteger("1");return r.fromBigInteger(this._endAddress().subtract(t))}static fromBigInteger(t){return r.fromInteger(parseInt(t.toString(),10))}mask(t){return t===void 0&&(t=this.subnetMask),this.getBitsBase2(0,t)}getBitsBase2(t,e){return this.binaryZeroPad().slice(t,e)}reverseForm(t){t||(t={});let e=this.correctForm().split(".").reverse().join(".");return t.omitSuffix?e:(0,xe.sprintf)("%s.in-addr.arpa.",e)}isMulticast(){return this.isInSubnet(new r("224.0.0.0/4"))}binaryZeroPad(){return this.bigInteger().toString(2).padStart(32,"0")}groupForV6(){let t=this.parsedAddress;return this.address.replace(He,(0,xe.sprintf)('<span class="hover-group group-v4 group-6">%s</span>.<span class="hover-group group-v4 group-7">%s</span>',t.slice(0,2).join("."),t.slice(2,4).join(".")))}};var vc={0:"Reserved",1:"Interface local",2:"Link local",4:"Admin local",5:"Site local",8:"Organization local",14:"Global",15:"Reserved"},Ri={"ff01::1/128":"Multicast (All nodes on this interface)","ff01::2/128":"Multicast (All routers on this interface)","ff02::1/128":"Multicast (All nodes on this link)","ff02::2/128":"Multicast (All routers on this link)","ff05::2/128":"Multicast (All routers in this site)","ff02::5/128":"Multicast (OSPFv3 AllSPF routers)","ff02::6/128":"Multicast (OSPFv3 AllDR routers)","ff02::9/128":"Multicast (RIP routers)","ff02::a/128":"Multicast (EIGRP routers)","ff02::d/128":"Multicast (PIM routers)","ff02::16/128":"Multicast (MLDv2 reports)","ff01::fb/128":"Multicast (mDNSv6)","ff02::fb/128":"Multicast (mDNSv6)","ff05::fb/128":"Multicast (mDNSv6)","ff02::1:2/128":"Multicast (All DHCP servers and relay agents on this link)","ff05::1:2/128":"Multicast (All DHCP servers and relay agents in this site)","ff02::1:3/128":"Multicast (All DHCP servers on this link)","ff05::1:3/128":"Multicast (All DHCP servers in this site)","::/128":"Unspecified","::1/128":"Loopback","ff00::/8":"Multicast","fe80::/10":"Link-local unicast"},_i=/([^0-9a-f:/%])/gi,Li=/([0-9a-f]{5,}|:{3,}|[^:]:$|^:[^:]|\/$)/gi,Ni=/\/\d{1,3}(?=%|$)/,Oi=/%.*$/,xc=new RegExp(/^\[{0,1}([0-9a-f:]+)\]{0,1}/),Sc=new RegExp(/\[([0-9a-f:]+)\]:([0-9]{1,5})/);var Ac=M(ur(),1);function Sh(r){return r.replace(/^(0+)/,'<span class="zero">$1</span>')}function en(r,t=0){return r.split(":").map((n,i)=>/group-v4/.test(n)?n:(0,Ac.sprintf)('<span class="hover-group group-%d">%s</span>',i+t,Sh(n)))}var Te=M(ur(),1);function Mi(r){return(0,Te.sprintf)("(%s)",r.join("|"))}function Pi(r){return r.length<4?(0,Te.sprintf)("0{0,%d}%s",4-r.length,r):r}var Ui="[^A-Fa-f0-9:]";function rn(r){let t=[];r.forEach((n,i)=>{parseInt(n,16)===0&&t.push(i)});let e=t.map(n=>r.map((i,s)=>{if(s===n){let a=s===0||s===8-1?":":"";return Mi([Pi(i),a])}return Pi(i)}).join(":"));return e.push(r.map(Pi).join(":")),Mi(e)}function Fi(r,t,e){let n=t?"":":",i=e?"":":",s=[];!t&&!e&&s.push("::"),t&&e&&s.push(""),(e&&!t||!e&&t)&&s.push(":"),s.push((0,Te.sprintf)("%s(:0{1,4}){1,%d}",n,r-1)),s.push((0,Te.sprintf)("(0{1,4}:){1,%d}%s",r-1,i)),s.push((0,Te.sprintf)("(0{1,4}:){%d}0{1,4}",r-1));for(let a=1;a<r-1;a++)for(let l=1;l<r-a;l++)s.push((0,Te.sprintf)("(0{1,4}:){%d}:(0{1,4}:){%d}0{1,4}",l,r-l-a-1));return Mi(s)}var tt=M(Bi(),1),et=M(ur(),1);function nn(r){if(!r)throw new Error("Assertion failed.")}function Th(r){let t=/(\d+)(\d{3})/;for(;t.test(r);)r=r.replace(t,"$1,$2");return r}function Ah(r){return r=r.replace(/^(0{1,})([1-9]+)$/,'<span class="parse-error">$1</span>$2'),r=r.replace(/^(0{1,})(0)$/,'<span class="parse-error">$1</span>$2'),r}function Ih(r,t){let e=[],n=[],i;for(i=0;i<r.length;i++)i<t[0]?e.push(r[i]):i>t[1]&&n.push(r[i]);return e.concat(["compact"]).concat(n)}function Cc(r){return(0,et.sprintf)("%04x",parseInt(r,16))}function kc(r){return r&255}var lr=class r{constructor(t,e){this.addressMinusSuffix="",this.parsedSubnet="",this.subnet="/128",this.subnetMask=128,this.v4=!1,this.zone="",this.isInSubnet=jr,this.isCorrect=Jr(128),e===void 0?this.groups=8:this.groups=e,this.address=t;let n=Ni.exec(t);if(n){if(this.parsedSubnet=n[0].replace("/",""),this.subnetMask=parseInt(this.parsedSubnet,10),this.subnet=`/${this.subnetMask}`,Number.isNaN(this.subnetMask)||this.subnetMask<0||this.subnetMask>128)throw new Q("Invalid subnet mask.");t=t.replace(Ni,"")}else if(/\//.test(t))throw new Q("Invalid subnet mask.");let i=Oi.exec(t);i&&(this.zone=i[0],t=t.replace(Oi,"")),this.addressMinusSuffix=t,this.parsedAddress=this.parse(this.addressMinusSuffix)}static isValid(t){try{return new r(t),!0}catch{return!1}}static fromBigInteger(t){let e=t.toString(16).padStart(32,"0"),n=[],i;for(i=0;i<8;i++)n.push(e.slice(i*4,(i+1)*4));return new r(n.join(":"))}static fromURL(t){let e,n=null,i;if(t.indexOf("[")!==-1&&t.indexOf("]:")!==-1){if(i=Sc.exec(t),i===null)return{error:"failed to parse address with port",address:null,port:null};e=i[1],n=i[2]}else if(t.indexOf("/")!==-1){if(t=t.replace(/^[a-z0-9]+:\/\//,""),i=xc.exec(t),i===null)return{error:"failed to parse address from URL",address:null,port:null};e=i[1]}else e=t;return n?(n=parseInt(n,10),(n<0||n>65536)&&(n=null)):n=null,{address:new r(e),port:n}}static fromAddress4(t){let e=new mt(t),n=128-(32-e.subnetMask);return new r(`::ffff:${e.correctForm()}/${n}`)}static fromArpa(t){let e=t.replace(/(\.ip6\.arpa)?\.$/,""),n=7;if(e.length!==63)throw new Q("Invalid 'ip6.arpa' form.");let i=e.split(".").reverse();for(let s=n;s>0;s--){let a=s*4;i.splice(a,0,":")}return e=i.join(""),new r(e)}microsoftTranscription(){return(0,et.sprintf)("%s.ipv6-literal.net",this.correctForm().replace(/:/g,"-"))}mask(t=this.subnetMask){return this.getBitsBase2(0,t)}possibleSubnets(t=128){let e=128-this.subnetMask,n=Math.abs(t-128),i=e-n;return i<0?"0":Th(new tt.BigInteger("2",10).pow(i).toString(10))}_startAddress(){return new tt.BigInteger(this.mask()+"0".repeat(128-this.subnetMask),2)}startAddress(){return r.fromBigInteger(this._startAddress())}startAddressExclusive(){let t=new tt.BigInteger("1");return r.fromBigInteger(this._startAddress().add(t))}_endAddress(){return new tt.BigInteger(this.mask()+"1".repeat(128-this.subnetMask),2)}endAddress(){return r.fromBigInteger(this._endAddress())}endAddressExclusive(){let t=new tt.BigInteger("1");return r.fromBigInteger(this._endAddress().subtract(t))}getScope(){let t=vc[this.getBits(12,16).intValue()];return this.getType()==="Global unicast"&&t!=="Link local"&&(t="Global"),t||"Unknown"}getType(){for(let t of Object.keys(Ri))if(this.isInSubnet(new r(t)))return Ri[t];return"Global unicast"}getBits(t,e){return new tt.BigInteger(this.getBitsBase2(t,e),2)}getBitsBase2(t,e){return this.binaryZeroPad().slice(t,e)}getBitsBase16(t,e){let n=e-t;if(n%4!==0)throw new Error("Length of bits to retrieve must be divisible by four");return this.getBits(t,e).toString(16).padStart(n/4,"0")}getBitsPastSubnet(){return this.getBitsBase2(this.subnetMask,128)}reverseForm(t){t||(t={});let e=Math.floor(this.subnetMask/4),n=this.canonicalForm().replace(/:/g,"").split("").slice(0,e).reverse().join(".");return e>0?t.omitSuffix?n:(0,et.sprintf)("%s.ip6.arpa.",n):t.omitSuffix?"":"ip6.arpa."}correctForm(){let t,e=[],n=0,i=[];for(t=0;t<this.parsedAddress.length;t++){let l=parseInt(this.parsedAddress[t],16);l===0&&n++,l!==0&&n>0&&(n>1&&i.push([t-n,t-1]),n=0)}n>1&&i.push([this.parsedAddress.length-n,this.parsedAddress.length-1]);let s=i.map(l=>l[1]-l[0]+1);if(i.length>0){let l=s.indexOf(Math.max(...s));e=Ih(this.parsedAddress,i[l])}else e=this.parsedAddress;for(t=0;t<e.length;t++)e[t]!=="compact"&&(e[t]=parseInt(e[t],16).toString(16));let a=e.join(":");return a=a.replace(/^compact$/,"::"),a=a.replace(/^compact|compact$/,":"),a=a.replace(/compact/,""),a}binaryZeroPad(){return this.bigInteger().toString(2).padStart(128,"0")}parse4in6(t){let e=t.split(":"),i=e.slice(-1)[0].match(He);if(i){this.parsedAddress4=i[0],this.address4=new mt(this.parsedAddress4);for(let s=0;s<this.address4.groups;s++)if(/^0[0-9]+/.test(this.address4.parsedAddress[s]))throw new Q("IPv4 addresses can't have leading zeroes.",t.replace(He,this.address4.parsedAddress.map(Ah).join(".")));this.v4=!0,e[e.length-1]=this.address4.toGroup6(),t=e.join(":")}return t}parse(t){t=this.parse4in6(t);let e=t.match(_i);if(e)throw new Q((0,et.sprintf)("Bad character%s detected in address: %s",e.length>1?"s":"",e.join("")),t.replace(_i,'<span class="parse-error">$1</span>'));let n=t.match(Li);if(n)throw new Q((0,et.sprintf)("Address failed regex: %s",n.join("")),t.replace(Li,'<span class="parse-error">$1</span>'));let i=[],s=t.split("::");if(s.length===2){let a=s[0].split(":"),l=s[1].split(":");a.length===1&&a[0]===""&&(a=[]),l.length===1&&l[0]===""&&(l=[]);let f=this.groups-(a.length+l.length);if(!f)throw new Q("Error parsing groups");this.elidedGroups=f,this.elisionBegin=a.length,this.elisionEnd=a.length+this.elidedGroups,i=i.concat(a);for(let d=0;d<f;d++)i.push("0");i=i.concat(l)}else if(s.length===1)i=t.split(":"),this.elidedGroups=0;else throw new Q("Too many :: groups found");if(i=i.map(a=>(0,et.sprintf)("%x",parseInt(a,16))),i.length!==this.groups)throw new Q("Incorrect number of groups found");return i}canonicalForm(){return this.parsedAddress.map(Cc).join(":")}decimal(){return this.parsedAddress.map(t=>(0,et.sprintf)("%05d",parseInt(t,16))).join(":")}bigInteger(){return new tt.BigInteger(this.parsedAddress.map(Cc).join(""),16)}to4(){let t=this.binaryZeroPad().split("");return mt.fromHex(new tt.BigInteger(t.slice(96,128).join(""),2).toString(16))}to4in6(){let t=this.to4(),n=new r(this.parsedAddress.slice(0,6).join(":"),6).correctForm(),i="";return/:$/.test(n)||(i=":"),n+i+t.address}inspectTeredo(){let t=this.getBitsBase16(0,32),e=this.getBits(80,96).xor(new tt.BigInteger("ffff",16)).toString(),n=mt.fromHex(this.getBitsBase16(32,64)),i=mt.fromHex(this.getBits(96,128).xor(new tt.BigInteger("ffffffff",16)).toString(16)),s=this.getBits(64,80),a=this.getBitsBase2(64,80),l=s.testBit(15),f=s.testBit(14),d=s.testBit(8),h=s.testBit(9),g=new tt.BigInteger(a.slice(2,6)+a.slice(8,16),2).toString(10);return{prefix:(0,et.sprintf)("%s:%s",t.slice(0,4),t.slice(4,8)),server4:n.address,client4:i.address,flags:a,coneNat:l,microsoft:{reserved:f,universalLocal:h,groupIndividual:d,nonce:g},udpPort:e}}inspect6to4(){let t=this.getBitsBase16(0,16),e=mt.fromHex(this.getBitsBase16(16,48));return{prefix:(0,et.sprintf)("%s",t.slice(0,4)),gateway:e.address}}to6to4(){if(!this.is4())return null;let t=["2002",this.getBitsBase16(96,112),this.getBitsBase16(112,128),"","/16"].join(":");return new r(t)}toByteArray(){let t=this.bigInteger().toByteArray();return t.length===17&&t[0]===0?t.slice(1):t}toUnsignedByteArray(){return this.toByteArray().map(kc)}static fromByteArray(t){return this.fromUnsignedByteArray(t.map(kc))}static fromUnsignedByteArray(t){let e=new tt.BigInteger("256",10),n=new tt.BigInteger("0",10),i=new tt.BigInteger("1",10);for(let s=t.length-1;s>=0;s--)n=n.add(i.multiply(new tt.BigInteger(t[s].toString(10),10))),i=i.multiply(e);return r.fromBigInteger(n)}isCanonical(){return this.addressMinusSuffix===this.canonicalForm()}isLinkLocal(){return this.getBitsBase2(0,64)==="1111111010000000000000000000000000000000000000000000000000000000"}isMulticast(){return this.getType()==="Multicast"}is4(){return this.v4}isTeredo(){return this.isInSubnet(new r("2001::/32"))}is6to4(){return this.isInSubnet(new r("2002::/16"))}isLoopback(){return this.getType()==="Loopback"}href(t){return t===void 0?t="":t=(0,et.sprintf)(":%s",t),(0,et.sprintf)("http://[%s]%s/",this.correctForm(),t)}link(t){t||(t={}),t.className===void 0&&(t.className=""),t.prefix===void 0&&(t.prefix="/#address="),t.v4===void 0&&(t.v4=!1);let e=this.correctForm;return t.v4&&(e=this.to4in6),t.className?(0,et.sprintf)('<a href="%1$s%2$s" class="%3$s">%2$s</a>',t.prefix,e.call(this),t.className):(0,et.sprintf)('<a href="%1$s%2$s">%2$s</a>',t.prefix,e.call(this))}group(){if(this.elidedGroups===0)return en(this.address).join(":");nn(typeof this.elidedGroups=="number"),nn(typeof this.elisionBegin=="number");let t=[],[e,n]=this.address.split("::");e.length?t.push(...en(e)):t.push("");let i=["hover-group"];for(let s=this.elisionBegin;s<this.elisionBegin+this.elidedGroups;s++)i.push((0,et.sprintf)("group-%d",s));return t.push((0,et.sprintf)('<span class="%s"></span>',i.join(" "))),n.length?t.push(...en(n,this.elisionEnd)):t.push(""),this.is4()&&(nn(this.address4 instanceof mt),t.pop(),t.push(this.address4.groupForV6())),t.join(":")}regularExpressionString(t=!1){let e=[],n=new r(this.correctForm());if(n.elidedGroups===0)e.push(rn(n.parsedAddress));else if(n.elidedGroups===8)e.push(Fi(8));else{let i=n.address.split("::");i[0].length&&e.push(rn(i[0].split(":"))),nn(typeof n.elidedGroups=="number"),e.push(Fi(n.elidedGroups,i[0].length!==0,i[1].length!==0)),i[1].length&&e.push(rn(i[1].split(":"))),e=[e.join(":")]}return t||(e=["(?=^|",Ui,"|[^\\w\\:])(",...e,")(?=[^\\w\\:]|",Ui,"|$)"]),e.join("")}regularExpression(t=!1){return new RegExp(this.regularExpressionString(t),"i")}};var Ch=J("libp2p:ip-port-to-multiaddr"),Gi={ERR_INVALID_IP_PARAMETER:"ERR_INVALID_IP_PARAMETER",ERR_INVALID_PORT_PARAMETER:"ERR_INVALID_PORT_PARAMETER",ERR_INVALID_IP:"ERR_INVALID_IP"};function Dc(r,t){if(typeof r!="string")throw new St(`invalid ip provided: ${r}`,Gi.ERR_INVALID_IP_PARAMETER);if(typeof t=="string"&&(t=parseInt(t)),isNaN(t))throw new St(`invalid port provided: ${t}`,Gi.ERR_INVALID_PORT_PARAMETER);try{return new mt(r),dt(`/ip4/${r}/tcp/${t}`)}catch{}try{let e=new lr(r);return e.is4()?dt(`/ip4/${e.to4().correctForm()}/tcp/${t}`):dt(`/ip6/${r}/tcp/${t}`)}catch{let n=`invalid ip:port for creating a multiaddr: ${r}:${t}`;throw Ch.error(n),new St(n,Gi.ERR_INVALID_IP)}}var Fc=M(Mc(),1);var Vi=M(Ft("os"),1),Uc=M(Ft("path"),1);var _h={ip4:"IPv4",ip6:"IPv6"};function Ke(r,t={}){let e=r.getPath();return e!=null?Vi.default.platform()==="win32"?{path:Uc.default.join("\\\\.\\pipe\\",e)}:{path:e}:{...r.toOptions(),...t}}function Hi(r,t,e){let n=i=>dt(`/${r}/${i}/tcp/${e}`);return(Lh(t)?Oh(_h[r]):[t]).map(n)}function Lh(r){return["0.0.0.0","::"].includes(r)}var Nh=Vi.default.networkInterfaces();function Oh(r){let t=[];for(let[,e]of Object.entries(Nh))if(e!=null)for(let n of e)n.family===r&&t.push(n.address);return t}var Mt=J("libp2p:tcp:socket"),on=(r,t)=>{let e=t.metrics,n=t.metricPrefix??"",i=t.socketInactivityTimeout??3e5,s=t.socketCloseTimeout??500;t.listeningAddr?.getPath()!=null&&(t.remoteAddr=t.listeningAddr),t.remoteAddr?.getPath()!=null&&(t.localAddr=t.remoteAddr);let a;if(t.remoteAddr!=null)a=t.remoteAddr;else{if(r.remoteAddress==null||r.remotePort==null)throw new St("Could not determine remote address or port","ERR_NO_REMOTE_ADDRESS");a=Dc(r.remoteAddress,r.remotePort)}let l=Ke(a),f=l.path??`${l.host??""}:${l.port??""}`,{sink:d,source:h}=Fc.default.duplex(r);r.setTimeout(i,()=>{Mt("%s socket read timeout",f),e?.increment({[`${n}timeout`]:!0});let w;r.readable&&(w=new St("Socket read timeout","ERR_SOCKET_READ_TIMEOUT")),r.destroy(w)}),r.once("close",()=>{Mt("%s socket close",f),e?.increment({[`${n}close`]:!0}),g.timeline.close==null&&(g.timeline.close=Date.now())}),r.once("end",()=>{Mt("%s socket end",f),e?.increment({[`${n}end`]:!0})});let g={async sink(w){try{await d(w)}catch(S){S.type!=="aborted"&&Mt(S)}r.end()},source:h,remoteAddr:a,timeline:{open:Date.now()},async close(w={}){if(r.destroyed){Mt("%s socket was already destroyed when trying to close",f);return}w.signal=w.signal??AbortSignal.timeout(s);try{Mt("%s closing socket",f),await new Promise((S,b)=>{r.once("close",()=>{Mt("%s socket closed",f),S()}),r.once("error",k=>{Mt("%s socket error",f,k),g.timeline.close==null&&(g.timeline.close=Date.now()),b(k)}),r.setTimeout(s),r.end(),r.writableLength>0?r.once("drain",()=>{Mt("%s socket drained",f),r.destroy()}):r.destroy()})}catch(S){this.abort(S)}},abort:w=>{Mt("%s socket abort due to error",f,w),r.destroy(w)}};return g};var gt=J("libp2p:tcp:listener");async function Wi(r){try{await r.close()}catch(t){gt.error("an error occurred closing the connection",t)}}var Uh=1,Fh=0,cn=class extends Yr{context;server;connections=new Set;status={started:!1};metrics;addr;constructor(t){if(super(),this.context=t,t.keepAlive=t.keepAlive??!0,this.addr="unknown",this.server=Gc.default.createServer(t,this.onSocket.bind(this)),t.maxConnections!==void 0&&(this.server.maxConnections=t.maxConnections),t.closeServerOnMaxConnections!=null&&t.closeServerOnMaxConnections.closeAbove<t.closeServerOnMaxConnections.listenBelow)throw Error("closeAbove must be >= listenBelow");this.server.on("listening",()=>{if(t.metrics!=null){let e=this.server.address();e==null?this.addr="unknown":typeof e=="string"?this.addr=e:this.addr=`${e.address}:${e.port}`,t.metrics?.registerMetricGroup("libp2p_tcp_inbound_connections_total",{label:"address",help:"Current active connections in TCP listener",calculate:()=>({[this.addr]:this.connections.size})}),this.metrics={status:t.metrics.registerMetricGroup("libp2p_tcp_listener_status_info",{label:"address",help:"Current status of the TCP listener socket"}),errors:t.metrics.registerMetricGroup("libp2p_tcp_listener_errors_total",{label:"address",help:"Total count of TCP listener errors by type"}),events:t.metrics.registerMetricGroup("libp2p_tcp_listener_events_total",{label:"address",help:"Total count of TCP listener events by type"})},this.metrics?.status.update({[this.addr]:Uh})}this.dispatchEvent(new Ve("listening"))}).on("error",e=>{this.metrics?.errors.increment({[`${this.addr} listen_error`]:!0}),this.dispatchEvent(new Ve("error",{detail:e}))}).on("close",()=>{this.metrics?.status.update({[this.addr]:Fh}),this.dispatchEvent(new Ve("close"))})}onSocket(t){t.on("error",n=>{gt("socket error",n),this.metrics?.events.increment({[`${this.addr} error`]:!0})});let e;try{e=on(t,{listeningAddr:this.status.started?this.status.listeningAddr:void 0,socketInactivityTimeout:this.context.socketInactivityTimeout,socketCloseTimeout:this.context.socketCloseTimeout,metrics:this.metrics?.events,metricPrefix:`${this.addr} `})}catch(n){gt.error("inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_to_connection`]:!0});return}gt("new inbound connection %s",e.remoteAddr);try{this.context.upgrader.upgradeInbound(e).then(n=>{gt("inbound connection upgraded %s",e.remoteAddr),this.connections.add(e),t.once("close",()=>{this.connections.delete(e),this.context.closeServerOnMaxConnections!=null&&this.connections.size<this.context.closeServerOnMaxConnections.listenBelow&&this.netListen().catch(i=>{gt.error("error attempting to listen server once connection count under limit",i),this.context.closeServerOnMaxConnections?.onListenError?.(i)})}),this.context.handler!=null&&this.context.handler(n),this.context.closeServerOnMaxConnections!=null&&this.connections.size>=this.context.closeServerOnMaxConnections.closeAbove&&this.netClose(),this.dispatchEvent(new Ve("connection",{detail:n}))}).catch(async n=>{gt.error("inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_upgrade`]:!0}),await Wi(e)}).catch(n=>{gt.error("closing inbound connection failed",n)})}catch(n){gt.error("inbound connection failed",n),Wi(e).catch(i=>{gt.error("closing inbound connection failed",i),this.metrics?.errors.increment({[`${this.addr} inbound_closing_failed`]:!0})})}}getAddrs(){if(!this.status.started)return[];let t=[],e=this.server.address(),{listeningAddr:n,peerId:i}=this.status;if(e==null)return[];if(typeof e=="string")t=[n];else try{n.toString().startsWith("/ip4")?t=t.concat(Hi("ip4",e.address,e.port)):e.family==="IPv6"&&(t=t.concat(Hi("ip6",e.address,e.port)))}catch(s){gt.error("could not turn %s:%s into multiaddr",e.address,e.port,s)}return t.map(s=>i!=null?s.encapsulate(`/p2p/${i}`):s)}async listen(t){if(this.status.started)throw Error("server is already listening");let e=t.getPeerId(),n=e==null?t.decapsulateCode(421):t,{backlog:i}=this.context;this.status={started:!0,listeningAddr:n,peerId:e,netConfig:Ke(n,{backlog:i})},await this.netListen()}async close(){await Promise.all(Array.from(this.connections.values()).map(async t=>{await Wi(t)})),this.netClose()}async netListen(){if(!this.status.started||this.server.listening)return;let t=this.status.netConfig;await new Promise((e,n)=>{this.server.once("error",n),this.server.listen(t,e)}),gt("Listening on %s",this.server.address())}netClose(){!this.status.started||!this.server.listening||(gt("Closing server on %s",this.server.address()),this.server.close())}};var Ht=J("libp2p:tcp"),Zi=class{opts;metrics;components;constructor(t,e={}){this.opts=e,this.components=t,t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_tcp_dialer_events_total",{label:"event",help:"Total count of TCP dialer events by type"})})}[Mo]=!0;[Symbol.toStringTag]="@libp2p/tcp";async dial(t,e){e.keepAlive=e.keepAlive??!0;let n=await this._connect(t,e);n.on("error",l=>{Ht("socket error",l)});let i=on(n,{remoteAddr:t,socketInactivityTimeout:this.opts.outboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.metrics?.dialerEvents}),s=()=>{i.close().catch(l=>{Ht.error("Error closing maConn after abort",l)})};e.signal?.addEventListener("abort",s,{once:!0}),Ht("new outbound connection %s",i.remoteAddr);let a=await e.upgrader.upgradeOutbound(i);if(Ht("outbound connection %s upgraded",i.remoteAddr),e.signal?.removeEventListener("abort",s),e.signal?.aborted===!0)throw a.close().catch(l=>{Ht.error("Error closing conn after abort",l)}),new Me;return a}async _connect(t,e){if(e.signal?.aborted===!0)throw new Me;return new Promise((n,i)=>{let s=Date.now(),a=Ke(t),l=a.path??`${a.host??""}:${a.port}`;Ht("dialing %j",a);let f=$c.default.connect(a),d=b=>{b.message=`connection error ${l}: ${b.message}`,this.metrics?.dialerEvents.increment({error:!0}),S(b)},h=()=>{Ht("connection timeout %s",l),this.metrics?.dialerEvents.increment({timeout:!0});let b=new St(`connection timeout after ${Date.now()-s}ms`,"ERR_CONNECT_TIMEOUT");f.emit("error",b)},g=()=>{Ht("connection opened %j",a),this.metrics?.dialerEvents.increment({connect:!0}),S()},w=()=>{Ht("connection aborted %j",a),this.metrics?.dialerEvents.increment({abort:!0}),f.destroy(),S(new Me)},S=b=>{if(f.removeListener("error",d),f.removeListener("timeout",h),f.removeListener("connect",g),e.signal!=null&&e.signal.removeEventListener("abort",w),b!=null){i(b);return}n(f)};f.on("error",d),f.on("timeout",h),f.on("connect",g),e.signal!=null&&e.signal.addEventListener("abort",w)})}createListener(t){return new cn({...t,maxConnections:this.opts.maxConnections,backlog:this.opts.backlog,closeServerOnMaxConnections:this.opts.closeServerOnMaxConnections,socketInactivityTimeout:this.opts.inboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.components.metrics})}filter(t){return t=Array.isArray(t)?t:[t],t.filter(e=>e.protoCodes().includes(290)?!1:e.protoCodes().includes(400)?!0:re.matches(e.decapsulateCode(421)))}};function zc(r={}){return(t={})=>new Zi(t,r)}function zh(r){return r[Symbol.asyncIterator]!=null}function Vh(...r){let t=[];for(let e of r)zh(e)||t.push(e);return t.length===r.length?function*(){for(let e of t)yield*e}():async function*(){let e=jt({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async n=>{for await(let i of n)e.push(i)})),e.end()}catch(n){e.end(n)}}),yield*e}()}var Vc=Vh;function an(r,...t){if(r==null)throw new Error("Empty pipeline");if(Ki(r)){let n=r;r=()=>n.source}else if(Wc(r)||Hc(r)){let n=r;r=()=>n}let e=[r,...t];if(e.length>1&&Ki(e[e.length-1])&&(e[e.length-1]=e[e.length-1].sink),e.length>2)for(let n=1;n<e.length-1;n++)Ki(e[n])&&(e[n]=Wh(e[n]));return Hh(...e)}var Hh=(...r)=>{let t;for(;r.length>0;)t=r.shift()(t);return t},Hc=r=>r?.[Symbol.asyncIterator]!=null,Wc=r=>r?.[Symbol.iterator]!=null,Ki=r=>r==null?!1:r.sink!=null&&r.source!=null,Wh=r=>t=>{let e=r.sink(t);if(e?.then!=null){let n=jt({objectMode:!0});e.then(()=>{n.end()},a=>{n.end(a)});let i,s=r.source;if(Hc(s))i=async function*(){yield*s,n.end()};else if(Wc(s))i=function*(){yield*s,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Vc(n,i())}return r.source};function qh(r){return r[Symbol.asyncIterator]!=null}function Zh(r){if(qh(r))return(async()=>{for await(let t of r);})();for(let t of r);}var Xi=Zh;function W(r){return ue.encode({type:ue.Type.OK,peers:[],...r}).subarray()}function O(r){return ue.encode({type:ue.Type.ERROR,error:{msg:r.message},peers:[]}).subarray()}var un=J("libp2p:daemon-server:dht"),ln=class{dht;constructor(t){let{dht:e}=t;this.dht=e}async*provide(t){try{await Xi(this.dht.provide(t)),yield W()}catch(e){un.error(e),yield O(e)}}async*getClosestPeers(t){yield W({dht:{type:X.Type.BEGIN}});for await(let e of this.dht.getClosestPeers(t))e.name==="PEER_RESPONSE"&&(yield*e.closer.map(n=>X.encode({type:X.Type.VALUE,value:n.id.toBytes()})));yield X.encode({type:X.Type.END})}async*getPublicKey(t){yield O(new Error("FIX ME: not implemented"))}async*getValue(t){try{for await(let e of this.dht.get(t))e.name==="VALUE"&&(yield W({dht:{type:X.Type.VALUE,value:e.value}}))}catch(e){un.error(e),yield O(e)}}async*putValue(t,e){try{await Xi(this.dht.put(t,e)),yield W()}catch(n){un.error(n),yield O(n)}}async*findPeer(t){try{for await(let e of this.dht.findPeer(t))e.name==="FINAL_PEER"&&(yield W({dht:{type:X.Type.VALUE,peer:{id:e.peer.id.toBytes(),addrs:e.peer.multiaddrs.map(n=>n.bytes)}}}));throw new Error("Peer not found")}catch(e){un.error(e),yield O(e)}}async*findProviders(t,e){yield W({dht:{type:X.Type.BEGIN}});try{let n=e,i=0;for await(let s of this.dht.findProviders(t))if(s.name==="PEER_RESPONSE"){for(let a of s.providers)i++,yield X.encode({type:X.Type.VALUE,peer:{id:a.id.toBytes(),addrs:(a.multiaddrs??[]).map(l=>l.bytes)}});if(n===i)break}}catch(n){yield O(n)}yield X.encode({type:X.Type.END})}};var fn=J("libp2p:daemon-server:pubsub"),hn=class{pubsub;constructor(t){let{pubsub:e}=t;this.pubsub=e}async*getTopics(){try{yield W({pubsub:{topics:this.pubsub.getTopics(),peerIDs:[]}})}catch(t){fn.error(t),yield O(t)}}async*subscribe(t){try{let e=jt();this.pubsub.subscribe(t),this.pubsub.addEventListener("message",n=>{let i=n.detail;i.topic===t&&(i.type==="signed"?e.push(Je.encode({from:i.from.toBytes(),data:i.data,seqno:i.sequenceNumber==null?void 0:ar(i.sequenceNumber.toString(16).padStart(16,"0"),"base16"),topicIDs:[i.topic],signature:i.signature,key:i.key}).subarray()):e.push(Je.encode({data:i.data,topicIDs:[i.topic]}).subarray()))}),yield W(),yield*e}catch(e){fn.error(e),yield O(e)}}async*publish(t,e){try{await this.pubsub.publish(t,e),yield W()}catch(n){fn.error(n),yield O(n)}}async*listPeers(t){try{yield W({pubsub:{topics:[t],peerIDs:this.pubsub.getSubscribers(t).map(e=>e.toBytes())}})}catch(e){fn.error(e),yield O(e)}}};var Kh=1<<22,Wt=J("libp2p:daemon-server"),pn=class{multiaddr;libp2p;tcp;listener;dhtOperations;pubsubOperations;constructor(t){let{multiaddr:e,libp2pNode:n}=t;this.multiaddr=e,this.libp2p=n,this.tcp=zc()(),this.listener=this.tcp.createListener({handler:this.handleConnection.bind(this),upgrader:Xn}),this._onExit=this._onExit.bind(this),n.services.dht!=null&&(this.dhtOperations=new ln({dht:n.services.dht})),n.services.pubsub!=null&&(this.pubsubOperations=new hn({pubsub:n.services.pubsub}))}async connect(t){if(t.connect==null||t.connect.addrs==null)throw new Error("Invalid request");let e=t.connect.peer,n=t.connect.addrs.map(s=>dt(s)),i=be(e);return await this.libp2p.peerStore.merge(i,{multiaddrs:n}),this.libp2p.dial(i)}async openStream(t){if(t.streamOpen==null||t.streamOpen.proto==null)throw new Error("Invalid request");let{peer:e,proto:n}=t.streamOpen,i=be(e),s=await this.libp2p.dial(i),a=await s.newStream(n,{runOnTransientConnection:!0});return{streamInfo:{peer:i.toBytes(),addr:s.remoteAddr.bytes,proto:a.protocol??""},connection:a}}async registerStreamHandler(t){if(t.streamHandler==null||t.streamHandler.proto==null)throw new Error("Invalid request");let e=t.streamHandler.proto,n=dt(t.streamHandler.addr),i;await this.libp2p.handle(e,({connection:s,stream:a})=>{Promise.resolve().then(async()=>{i=await this.tcp.dial(n,{upgrader:Xn});let l=Ce.encode({peer:s.remotePeer.toBytes(),addr:s.remoteAddr.bytes,proto:a.protocol??""}),f=Oe.single(l);await an(async function*(){yield f,yield*a.source}(),async function*(d){for await(let h of d)yield*h},i,a.sink)}).catch(async l=>{Wt.error(l),i!=null&&await i.close(l)}).finally(()=>{i?.close().catch(l=>{Wt.error(l)})})},{runOnTransientConnection:!0})}_listen(){process.on("SIGTERM",this._onExit),process.on("SIGINT",this._onExit),process.on("SIGHUP",this._onExit)}_onExit(){this.stop({exit:!0}).catch(t=>{Wt.error(t)})}async start(){this._listen(),await this.libp2p.start(),await this.listener.listen(this.multiaddr)}getMultiaddr(){let t=this.listener.getAddrs();if(t.length>0)return t[0];throw new Error("Not started")}async stop(t={exit:!1}){await this.libp2p.stop(),await this.listener.close(),t.exit&&Wt("server closed, exiting"),process.removeListener("SIGTERM",this._onExit),process.removeListener("SIGINT",this._onExit),process.removeListener("SIGHUP",this._onExit)}async*handlePeerStoreRequest(t){try{switch(t.type){case le.Type.GET_PROTOCOLS:if(t.id==null)throw new Error("Invalid request");let e=be(t.id),i=(await this.libp2p.peerStore.get(e)).protocols;yield W({peerStore:{protos:i}});return;case le.Type.GET_PEER_INFO:throw new Error("ERR_NOT_IMPLEMENTED");default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(e){Wt.error(e),yield O(e)}}async*handlePubsubRequest(t){try{if(this.libp2p.services.pubsub==null||this.pubsubOperations==null)throw new Error("PubSub not configured");switch(t.type){case $t.Type.GET_TOPICS:yield*this.pubsubOperations.getTopics();return;case $t.Type.SUBSCRIBE:if(t.topic==null)throw new Error("Invalid request");yield*this.pubsubOperations.subscribe(t.topic);return;case $t.Type.PUBLISH:if(t.topic==null||t.data==null)throw new Error("Invalid request");yield*this.pubsubOperations.publish(t.topic,t.data);return;case $t.Type.LIST_PEERS:if(t.topic==null)throw new Error("Invalid request");yield*this.pubsubOperations.listPeers(t.topic);return;default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(e){Wt.error(e),yield O(e)}}async*handleDHTRequest(t){try{if(this.libp2p.services.dht==null||this.dhtOperations==null)throw new Error("DHT not configured");switch(t.type){case Et.Type.FIND_PEER:if(t.peer==null)throw new Error("Invalid request");yield*this.dhtOperations.findPeer(be(t.peer));return;case Et.Type.FIND_PROVIDERS:if(t.cid==null)throw new Error("Invalid request");yield*this.dhtOperations.findProviders(ct.decode(t.cid),t.count??20);return;case Et.Type.PROVIDE:if(t.cid==null)throw new Error("Invalid request");yield*this.dhtOperations.provide(ct.decode(t.cid));return;case Et.Type.GET_CLOSEST_PEERS:if(t.key==null)throw new Error("Invalid request");yield*this.dhtOperations.getClosestPeers(t.key);return;case Et.Type.GET_PUBLIC_KEY:if(t.peer==null)throw new Error("Invalid request");yield*this.dhtOperations.getPublicKey(be(t.peer));return;case Et.Type.GET_VALUE:if(t.key==null)throw new Error("Invalid request");yield*this.dhtOperations.getValue(t.key);return;case Et.Type.PUT_VALUE:if(t.key==null||t.value==null)throw new Error("Invalid request");yield*this.dhtOperations.putValue(t.key,t.value);return;default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(e){Wt.error(e),yield O(e)}}handleConnection(t){let e=this,n=new Ur({stream:t,maxLength:Kh});an(n.decoder,i=>async function*(){let s;for await(let a of i)try{switch(s=wt.decode(a),s.type){case wt.Type.CONNECT:{try{await e.connect(s)}catch(l){yield O(l);break}yield W();break}case wt.Type.IDENTIFY:{yield W({identify:{id:e.libp2p.peerId.toBytes(),addrs:e.libp2p.getMultiaddrs().map(l=>l.decapsulateCode(L("p2p").code)).map(l=>l.bytes)}});break}case wt.Type.LIST_PEERS:{let l=[],f=new Set;for(let d of e.libp2p.getConnections()){let h=d.remotePeer.toString();f.has(h)||(f.add(h),l.push({id:d.remotePeer.toBytes(),addrs:[d.remoteAddr.bytes]}))}yield W({peers:l});break}case wt.Type.STREAM_OPEN:{let l;try{l=await e.openStream(s)}catch(d){yield O(d);break}yield W({streamInfo:l.streamInfo});let f=n.rest();await an(f,l.connection,async function*(d){for await(let h of d)yield*h},f);return}case wt.Type.STREAM_HANDLER:{try{await e.registerStreamHandler(s)}catch(l){yield O(l);break}yield W();break}case wt.Type.PEERSTORE:{if(s.peerStore==null){yield O(new Error("ERR_INVALID_REQUEST"));break}yield*e.handlePeerStoreRequest(s.peerStore);break}case wt.Type.PUBSUB:{if(s.pubsub==null){yield O(new Error("ERR_INVALID_REQUEST"));break}yield*e.handlePubsubRequest(s.pubsub);break}case wt.Type.DHT:{if(s.dht==null){yield O(new Error("ERR_INVALID_REQUEST"));break}yield*e.handleDHTRequest(s.dht);break}default:yield O(new Error("ERR_INVALID_REQUEST_TYPE"));break}}catch(l){Wt.error(l),yield O(l);continue}}(),async function(i){for await(let s of i)n.write(s)}).catch(i=>{Wt(i)})}},Xh=(r,t)=>new pn({multiaddr:r,libp2pNode:t});return Ru(Yh);})();
4
+ `+i),r.push(n+"m+"+Ve.exports.humanize(this.diff)+"\x1B[0m")}else r[0]=js()+t+" "+r[0]}function js(){return _.inspectOpts.hideDate?"":new Date().toISOString()+" "}function tc(...r){return process.stderr.write(Ge.format(...r)+`
5
+ `)}function ec(r){r?process.env.DEBUG=r:delete process.env.DEBUG}function rc(){return process.env.DEBUG}function nc(r){r.inspectOpts={};let t=Object.keys(_.inspectOpts);for(let e=0;e<t.length;e++)r.inspectOpts[t[e]]=_.inspectOpts[t[e]]}Ve.exports=Wr()(_);var{formatters:uo}=Ve.exports;uo.o=function(r){return this.inspectOpts.colors=this.useColors,Ge.inspect(r,this.inspectOpts).split(`
6
+ `).map(t=>t.trim()).join(" ")};uo.O=function(r){return this.inspectOpts.colors=this.useColors,Ge.inspect(r,this.inspectOpts)}});var ho=z((Vl,Xr)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?Xr.exports=io():Xr.exports=fo()});var xo=z((wu,wo)=>{"use strict";function Eo(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function hc(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 Eo(r,e)}catch{e.message=r.message,e.stack=r.stack;let n=function(){};return n.prototype=Object.create(Object.getPrototypeOf(r)),Eo(new n,e)}}wo.exports=hc});var rr=z((vf,ti)=>{ti.exports=r=>{if(r[Symbol.asyncIterator])return r;if(r.getReader)return async function*(){let t=r.getReader();try{for(;;){let{done:e,value:o}=await t.read();if(e)return;yield o}}finally{t.releaseLock()}}();throw new Error("unknown stream")}});var ri=z((Sf,ei)=>{ei.exports=function(t){if(t){if(typeof t[Symbol.iterator]=="function")return t[Symbol.iterator]();if(typeof t[Symbol.asyncIterator]=="function")return t[Symbol.asyncIterator]();if(typeof t.next=="function")return t}throw new Error("argument is not an iterator or iterable")}});var En=z((Tf,ni)=>{var Xc=ri();ni.exports=r=>async t=>{t=Xc(t);let e=y=>{typeof y.return=="function"&&y.return()},o=null,n=null,i=y=>{o=y,n&&n(y),e(t)},s=null,c=!1,a=()=>{c=!0,s&&s()},h=null,l=!1,u=()=>{l=!0,h&&h()},f=null,b=()=>{f&&f()},m=()=>new Promise((y,I)=>{s=f=y,n=I,r.once("drain",b)}),E=()=>(e(t),new Promise((y,I)=>{if(c||l||o)return y();h=s=y,n=I})),g=()=>{r.removeListener("error",i),r.removeListener("close",a),r.removeListener("finish",u),r.removeListener("drain",b)};r.once("error",i),r.once("close",a),r.once("finish",u);try{for await(let y of t){if(!r.writable||r.destroyed||o)break;r.write(y)===!1&&await m()}}catch(y){o||r.destroy(),o=y}try{if(r.writable&&r.end(),await E(),o)throw o}finally{g()}}});var wn=z((Lf,oi)=>{var Yc=En(),Qc=rr();oi.exports=r=>({sink:Yc(r),source:Qc(r)})});var si=z((kf,ii)=>{var Jc=wn();ii.exports=r=>async function*(t){let e=Jc(r),o;if(e.sink(t).catch(n=>{o=n}),yield*e.source,o)throw o}});var ci=z((Nf,ae)=>{ae.exports=rr();ae.exports.source=rr();ae.exports.sink=En();ae.exports.transform=si();ae.exports.duplex=wn()});var ha={};Z(ha,{Server:()=>ur,createServer:()=>fa});var dr=new Float32Array([-0]),wt=new Uint8Array(dr.buffer);function kn(r,t,e){dr[0]=r,t[e]=wt[0],t[e+1]=wt[1],t[e+2]=wt[2],t[e+3]=wt[3]}function Nn(r,t){return wt[0]=r[t],wt[1]=r[t+1],wt[2]=r[t+2],wt[3]=r[t+3],dr[0]}var fr=new Float64Array([-0]),B=new Uint8Array(fr.buffer);function Pn(r,t,e){fr[0]=r,t[e]=B[0],t[e+1]=B[1],t[e+2]=B[2],t[e+3]=B[3],t[e+4]=B[4],t[e+5]=B[5],t[e+6]=B[6],t[e+7]=B[7]}function Dn(r,t){return B[0]=r[t],B[1]=r[t+1],B[2]=r[t+2],B[3]=r[t+3],B[4]=r[t+4],B[5]=r[t+5],B[6]=r[t+6],B[7]=r[t+7],fr[0]}var Ii=BigInt(Number.MAX_SAFE_INTEGER),Ci=BigInt(Number.MIN_SAFE_INTEGER),H=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,o=~this.hi>>>0;return e===0&&(o=o+1>>>0),-(e+o*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,o=~this.hi>>>0;return e===0&&(o=o+1>>>0),-(BigInt(e)+(BigInt(o)<<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,o=this.hi>>>24;return o===0?e===0?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:o<128?9:10}static fromBigInt(t){if(t===0n)return kt;if(t<Ii&&t>Ci)return this.fromNumber(Number(t));let e=t<0n;e&&(t=-t);let o=t>>32n,n=t-(o<<32n);return e&&(o=~o|0n,n=~n|0n,++n>Rn&&(n=0n,++o>Rn&&(o=0n))),new r(Number(n),Number(o))}static fromNumber(t){if(t===0)return kt;let e=t<0;e&&(t=-t);let o=t>>>0,n=(t-o)/4294967296>>>0;return e&&(n=~n>>>0,o=~o>>>0,++o>4294967295&&(o=0,++n>4294967295&&(n=0))),new r(o,n)}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):kt}},kt=new H(0,0);kt.toBigInt=function(){return 0n};kt.zzEncode=kt.zzDecode=function(){return this};kt.length=function(){return 1};var Rn=4294967296n;function On(r){let t=0,e=0;for(let o=0;o<r.length;++o)e=r.charCodeAt(o),e<128?t+=1:e<2048?t+=2:(e&64512)===55296&&(r.charCodeAt(o+1)&64512)===56320?(++o,t+=4):t+=3;return t}function Un(r,t,e){if(e-t<1)return"";let n,i=[],s=0,c;for(;t<e;)c=r[t++],c<128?i[s++]=c:c>191&&c<224?i[s++]=(c&31)<<6|r[t++]&63:c>239&&c<365?(c=((c&7)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,i[s++]=55296+(c>>10),i[s++]=56320+(c&1023)):i[s++]=(c&15)<<12|(r[t++]&63)<<6|r[t++]&63,s>8191&&((n??(n=[])).push(String.fromCharCode.apply(String,i)),s=0);return n!=null?(s>0&&n.push(String.fromCharCode.apply(String,i.slice(0,s))),n.join("")):String.fromCharCode.apply(String,i.slice(0,s))}function hr(r,t,e){let o=e,n,i;for(let s=0;s<r.length;++s)n=r.charCodeAt(s),n<128?t[e++]=n:n<2048?(t[e++]=n>>6|192,t[e++]=n&63|128):(n&64512)===55296&&((i=r.charCodeAt(s+1))&64512)===56320?(n=65536+((n&1023)<<10)+(i&1023),++s,t[e++]=n>>18|240,t[e++]=n>>12&63|128,t[e++]=n>>6&63|128,t[e++]=n&63|128):(t[e++]=n>>12|224,t[e++]=n>>6&63|128,t[e++]=n&63|128);return e-o}function at(r,t){return RangeError(`index out of range: ${r.pos} + ${t??1} > ${r.len}`)}function Ce(r,t){return(r[t-4]|r[t-3]<<8|r[t-2]<<16|r[t-1]<<24)>>>0}var pr=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,at(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 at(this,4);return Ce(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw at(this,4);return Ce(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw at(this,4);let t=Nn(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw at(this,4);let t=Dn(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),e=this.pos,o=this.pos+t;if(o>this.len)throw at(this,t);return this.pos+=t,e===o?new Uint8Array(0):this.buf.subarray(e,o)}string(){let t=this.bytes();return Un(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw at(this,t);this.pos+=t}else do if(this.pos>=this.len)throw at(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 H(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 at(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 at(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 at(this,8);let t=Ce(this.buf,this.pos+=4),e=Ce(this.buf,this.pos+=4);return new H(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 mr(r){return new pr(r instanceof Uint8Array?r:r.subarray())}function S(r,t){let e=mr(r);return t.decode(e)}function Nt(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function pt(r=0){return globalThis.Buffer?.alloc!=null?Nt(globalThis.Buffer.alloc(r)):new Uint8Array(r)}function M(r=0){return globalThis.Buffer?.allocUnsafe!=null?Nt(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}var wr={};Z(wr,{base10:()=>ki});function Ai(r,t){if(r.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),o=0;o<e.length;o++)e[o]=255;for(var n=0;n<r.length;n++){var i=r.charAt(n),s=i.charCodeAt(0);if(e[s]!==255)throw new TypeError(i+" is ambiguous");e[s]=n}var c=r.length,a=r.charAt(0),h=Math.log(c)/Math.log(256),l=Math.log(256)/Math.log(c);function u(m){if(m instanceof Uint8Array||(ArrayBuffer.isView(m)?m=new Uint8Array(m.buffer,m.byteOffset,m.byteLength):Array.isArray(m)&&(m=Uint8Array.from(m))),!(m instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(m.length===0)return"";for(var E=0,g=0,y=0,I=m.length;y!==I&&m[y]===0;)y++,E++;for(var k=(I-y)*l+1>>>0,D=new Uint8Array(k);y!==I;){for(var Q=m[y],tt=0,J=k-1;(Q!==0||tt<g)&&J!==-1;J--,tt++)Q+=256*D[J]>>>0,D[J]=Q%c>>>0,Q=Q/c>>>0;if(Q!==0)throw new Error("Non-zero carry");g=tt,y++}for(var et=k-g;et!==k&&D[et]===0;)et++;for(var Ht=a.repeat(E);et<k;++et)Ht+=r.charAt(D[et]);return Ht}function f(m){if(typeof m!="string")throw new TypeError("Expected String");if(m.length===0)return new Uint8Array;var E=0;if(m[E]!==" "){for(var g=0,y=0;m[E]===a;)g++,E++;for(var I=(m.length-E)*h+1>>>0,k=new Uint8Array(I);m[E];){var D=e[m.charCodeAt(E)];if(D===255)return;for(var Q=0,tt=I-1;(D!==0||Q<y)&&tt!==-1;tt--,Q++)D+=c*k[tt]>>>0,k[tt]=D%256>>>0,D=D/256>>>0;if(D!==0)throw new Error("Non-zero carry");y=Q,E++}if(m[E]!==" "){for(var J=I-y;J!==I&&k[J]===0;)J++;for(var et=new Uint8Array(g+(I-J)),Ht=g;J!==I;)et[Ht++]=k[J++];return et}}}function b(m){var E=f(m);if(E)return E;throw new Error(`Non-${t} character`)}return{encode:u,decodeUnsafe:f,decode:b}}var vi=Ai,Si=vi,Fn=Si;var Sa=new Uint8Array(0);var Bn=(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},rt=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 Mn=r=>new TextEncoder().encode(r),Gn=r=>new TextDecoder().decode(r);var gr=class{constructor(t,e,o){this.name=t,this.prefix=e,this.baseEncode=o}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},yr=class{constructor(t,e,o){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=o}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 $n(this,t)}},br=class{constructor(t){this.decoders=t}or(t){return $n(this,t)}decode(t){let e=t[0],o=this.decoders[e];if(o)return o.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},$n=(r,t)=>new br({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),Er=class{constructor(t,e,o,n){this.name=t,this.prefix=e,this.baseEncode=o,this.baseDecode=n,this.encoder=new gr(t,e,o),this.decoder=new yr(t,e,n)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Wt=({name:r,prefix:t,encode:e,decode:o})=>new Er(r,t,e,o),xt=({prefix:r,name:t,alphabet:e})=>{let{encode:o,decode:n}=Fn(e,t);return Wt({prefix:r,name:t,encode:o,decode:i=>rt(n(i))})},Ti=(r,t,e,o)=>{let n={};for(let l=0;l<t.length;++l)n[t[l]]=l;let i=r.length;for(;r[i-1]==="=";)--i;let s=new Uint8Array(i*e/8|0),c=0,a=0,h=0;for(let l=0;l<i;++l){let u=n[r[l]];if(u===void 0)throw new SyntaxError(`Non-${o} character`);a=a<<e|u,c+=e,c>=8&&(c-=8,s[h++]=255&a>>c)}if(c>=e||255&a<<8-c)throw new SyntaxError("Unexpected end of data");return s},Li=(r,t,e)=>{let o=t[t.length-1]==="=",n=(1<<e)-1,i="",s=0,c=0;for(let a=0;a<r.length;++a)for(c=c<<8|r[a],s+=8;s>e;)s-=e,i+=t[n&c>>s];if(s&&(i+=t[n&c<<e-s]),o)for(;i.length*e&7;)i+="=";return i},A=({name:r,prefix:t,bitsPerChar:e,alphabet:o})=>Wt({prefix:t,name:r,encode(n){return Li(n,o,e)},decode(n){return Ti(n,o,e,r)}});var ki=xt({prefix:"9",name:"base10",alphabet:"0123456789"});var xr={};Z(xr,{base16:()=>Ni,base16upper:()=>Pi});var Ni=A({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Pi=A({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Ir={};Z(Ir,{base2:()=>Di});var Di=A({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Cr={};Z(Cr,{base256emoji:()=>Fi});var zn=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}"),Ri=zn.reduce((r,t,e)=>(r[e]=t,r),[]),Oi=zn.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function Ui(r){return r.reduce((t,e)=>(t+=Ri[e],t),"")}function _i(r){let t=[];for(let e of r){let o=Oi[e.codePointAt(0)];if(o===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(o)}return new Uint8Array(t)}var Fi=Wt({prefix:"\u{1F680}",name:"base256emoji",encode:Ui,decode:_i});var Ar={};Z(Ar,{base32:()=>lt,base32hex:()=>Vi,base32hexpad:()=>zi,base32hexpadupper:()=>Hi,base32hexupper:()=>$i,base32pad:()=>Mi,base32padupper:()=>Gi,base32upper:()=>Bi,base32z:()=>Wi});var lt=A({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Bi=A({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Mi=A({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Gi=A({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Vi=A({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),$i=A({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),zi=A({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Hi=A({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Wi=A({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var vr={};Z(vr,{base36:()=>Ki,base36upper:()=>Xi});var Ki=xt({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Xi=xt({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Sr={};Z(Sr,{base58btc:()=>N,base58flickr:()=>Yi});var N=xt({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Yi=xt({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Lr={};Z(Lr,{base64:()=>Tr,base64pad:()=>Qi,base64url:()=>Ji,base64urlpad:()=>Zi});var Tr=A({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Qi=A({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Ji=A({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Zi=A({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var kr={};Z(kr,{base8:()=>qi});var qi=A({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Nr={};Z(Nr,{identity:()=>ji});var ji=Wt({prefix:"\0",name:"identity",encode:r=>Gn(r),decode:r=>Mn(r)});var Va=new TextEncoder,$a=new TextDecoder;var Dr={};Z(Dr,{identity:()=>ve});var rs=Kn,Hn=128,ns=127,os=~ns,is=Math.pow(2,31);function Kn(r,t,e){t=t||[],e=e||0;for(var o=e;r>=is;)t[e++]=r&255|Hn,r/=128;for(;r&os;)t[e++]=r&255|Hn,r>>>=7;return t[e]=r|0,Kn.bytes=e-o+1,t}var ss=Pr,cs=128,Wn=127;function Pr(r,o){var e=0,o=o||0,n=0,i=o,s,c=r.length;do{if(i>=c)throw Pr.bytes=0,new RangeError("Could not decode varint");s=r[i++],e+=n<28?(s&Wn)<<n:(s&Wn)*Math.pow(2,n),n+=7}while(s>=cs);return Pr.bytes=i-o,e}var as=Math.pow(2,7),ls=Math.pow(2,14),us=Math.pow(2,21),ds=Math.pow(2,28),fs=Math.pow(2,35),hs=Math.pow(2,42),ps=Math.pow(2,49),ms=Math.pow(2,56),gs=Math.pow(2,63),ys=function(r){return r<as?1:r<ls?2:r<us?3:r<ds?4:r<fs?5:r<hs?6:r<ps?7:r<ms?8:r<gs?9:10},bs={encode:rs,decode:ss,encodingLength:ys},Es=bs,ue=Es;var de=(r,t=0)=>[ue.decode(r,t),ue.decode.bytes],Kt=(r,t,e=0)=>(ue.encode(r,t,e),t),Xt=r=>ue.encodingLength(r);var It=(r,t)=>{let e=t.byteLength,o=Xt(r),n=o+Xt(e),i=new Uint8Array(n+e);return Kt(r,i,0),Kt(e,i,o),i.set(t,n),new Yt(r,e,t,i)},Pt=r=>{let t=rt(r),[e,o]=de(t),[n,i]=de(t.subarray(o)),s=t.subarray(o+i);if(s.byteLength!==n)throw new Error("Incorrect length");return new Yt(e,n,s,t)},Xn=(r,t)=>{if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&Bn(r.bytes,e.bytes)}},Yt=class{constructor(t,e,o,n){this.code=t,this.size=e,this.digest=o,this.bytes=n}};var Yn=0,ws="identity",Qn=rt,xs=r=>It(Yn,Qn(r)),ve={code:Yn,name:ws,encode:Qn,digest:xs};var _r={};Z(_r,{sha256:()=>Se,sha512:()=>Is});var Ur=Et(ht("crypto"),1);var Or=({name:r,code:t,encode:e})=>new Rr(r,t,e),Rr=class{constructor(t,e,o){this.name=t,this.code=e,this.encode=o}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?It(this.code,e):e.then(o=>It(this.code,o))}else throw Error("Unknown type, must be binary type")}};var Se=Or({name:"sha2-256",code:18,encode:r=>rt(Ur.default.createHash("sha256").update(r).digest())}),Is=Or({name:"sha2-512",code:19,encode:r=>rt(Ur.default.createHash("sha512").update(r).digest())});var Zn=(r,t)=>{let{bytes:e,version:o}=r;switch(o){case 0:return As(e,Fr(r),t||N.encoder);default:return vs(e,Fr(r),t||lt.encoder)}};var qn=new WeakMap,Fr=r=>{let t=qn.get(r);if(t==null){let e=new Map;return qn.set(r,e),e}return t},W=class r{constructor(t,e,o,n){this.code=e,this.version=t,this.multihash=o,this.bytes=n,this["/"]=n}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!==fe)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Ss)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,o=It(t,e);return r.createV1(this.code,o)}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 o=e;return o&&t.code===o.code&&t.version===o.version&&Xn(t.multihash,o.multihash)}toString(t){return Zn(this,t)}toJSON(){return{"/":Zn(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:o,code:n,multihash:i,bytes:s}=e;return new r(o,n,i,s||jn(o,n,i.bytes))}else if(e[Ts]===!0){let{version:o,multihash:n,code:i}=e,s=Pt(n);return r.create(o,i,s)}else return null}static create(t,e,o){if(typeof e!="number")throw new Error("String codecs are no longer supported");if(!(o.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(e!==fe)throw new Error(`Version 0 CID must use dag-pb (code: ${fe}) block encoding`);return new r(t,e,o,o.bytes)}case 1:{let n=jn(t,e,o.bytes);return new r(t,e,o,n)}default:throw new Error("Invalid version")}}static createV0(t){return r.create(0,fe,t)}static createV1(t,e){return r.create(1,t,e)}static decode(t){let[e,o]=r.decodeFirst(t);if(o.length)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=r.inspectBytes(t),o=e.size-e.multihashSize,n=rt(t.subarray(o,o+e.multihashSize));if(n.byteLength!==e.multihashSize)throw new Error("Incorrect length");let i=n.subarray(e.multihashSize-e.digestSize),s=new Yt(e.multihashCode,e.digestSize,i,n);return[e.version===0?r.createV0(s):r.createV1(e.codec,s),t.subarray(e.size)]}static inspectBytes(t){let e=0,o=()=>{let[u,f]=de(t.subarray(e));return e+=f,u},n=o(),i=fe;if(n===18?(n=0,e=0):i=o(),n!==0&&n!==1)throw new RangeError(`Invalid CID version ${n}`);let s=e,c=o(),a=o(),h=e+a,l=h-s;return{version:n,codec:i,multihashCode:c,digestSize:a,multihashSize:l,size:h}}static parse(t,e){let[o,n]=Cs(t,e),i=r.decode(n);if(i.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Fr(i).set(o,t),i}},Cs=(r,t)=>{switch(r[0]){case"Q":{let e=t||N;return[N.prefix,e.decode(`${N.prefix}${r}`)]}case N.prefix:{let e=t||N;return[N.prefix,e.decode(r)]}case lt.prefix:{let e=t||lt;return[lt.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)]}}},As=(r,t,e)=>{let{prefix:o}=e;if(o!==N.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let n=t.get(o);if(n==null){let i=e.encode(r).slice(1);return t.set(o,i),i}else return n},vs=(r,t,e)=>{let{prefix:o}=e,n=t.get(o);if(n==null){let i=e.encode(r);return t.set(o,i),i}else return n},fe=112,Ss=18,jn=(r,t,e)=>{let o=Xt(r),n=o+Xt(t),i=new Uint8Array(n+e.byteLength);return Kt(r,i,0),Kt(t,i,o),i.set(e,n),i},Ts=Symbol.for("@ipld/js-cid/CID");var Ct={...Nr,...Ir,...kr,...wr,...xr,...Ar,...vr,...Sr,...Lr,...Cr},il={..._r,...Dr};function eo(r,t,e,o){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:o}}}var to=eo("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Br=eo("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=M(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Ls={utf8:to,"utf-8":to,hex:Ct.base16,latin1:Br,ascii:Br,binary:Br,...Ct},Te=Ls;function Rt(r,t="utf8"){let e=Te[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Nt(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function Mr(r){let t=r??8192,e=t>>>1,o,n=t;return function(s){if(s<1||s>e)return M(s);n+s>t&&(o=M(t),n=0);let c=o.subarray(n,n+=s);return n&7&&(n=(n|7)+1),c}}var Ot=class{fn;len;next;val;constructor(t,e,o){this.fn=t,this.len=e,this.next=void 0,this.val=o}};function Gr(){}var $r=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},ks=Mr();function Ns(r){return globalThis.Buffer!=null?M(r):ks(r)}var me=class{len;head;tail;states;constructor(){this.len=0,this.head=new Ot(Gr,0,0),this.tail=this.head,this.states=null}_push(t,e,o){return this.tail=this.tail.next=new Ot(t,e,o),this.len+=e,this}uint32(t){return this.len+=(this.tail=this.tail.next=new zr((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(he,10,H.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let e=H.fromBigInt(t);return this._push(he,e.length(),e)}uint64Number(t){let e=H.fromNumber(t);return this._push(he,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=H.fromBigInt(t).zzEncode();return this._push(he,e.length(),e)}sint64Number(t){let e=H.fromNumber(t).zzEncode();return this._push(he,e.length(),e)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Vr,1,t?1:0)}fixed32(t){return this._push(pe,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let e=H.fromBigInt(t);return this._push(pe,4,e.lo)._push(pe,4,e.hi)}fixed64Number(t){let e=H.fromNumber(t);return this._push(pe,4,e.lo)._push(pe,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(kn,4,t)}double(t){return this._push(Pn,8,t)}bytes(t){let e=t.length>>>0;return e===0?this._push(Vr,1,0):this.uint32(e)._push(Ds,e,t)}string(t){let e=On(t);return e!==0?this.uint32(e)._push(hr,e,t):this._push(Vr,1,0)}fork(){return this.states=new $r(this),this.head=this.tail=new Ot(Gr,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 Ot(Gr,0,0),this.len=0),this}ldelim(){let t=this.head,e=this.tail,o=this.len;return this.reset().uint32(o),o!==0&&(this.tail.next=t.next,this.tail=e,this.len+=o),this}finish(){let t=this.head.next,e=Ns(this.len),o=0;for(;t!=null;)t.fn(t.val,e,o),o+=t.len,t=t.next;return e}};function Vr(r,t,e){t[e]=r&255}function Ps(r,t,e){for(;r>127;)t[e++]=r&127|128,r>>>=7;t[e]=r}var zr=class extends Ot{next;constructor(t,e){super(Ps,t,e),this.next=void 0}};function he(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 pe(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 Ds(r,t,e){t.set(r,e)}globalThis.Buffer!=null&&(me.prototype.bytes=function(r){let t=r.length>>>0;return this.uint32(t),t>0&&this._push(Rs,t,r),this},me.prototype.string=function(r){let t=globalThis.Buffer.byteLength(r);return this.uint32(t),t>0&&this._push(Os,t,r),this});function Rs(r,t,e){t.set(r,e)}function Os(r,t,e){r.length<40?hr(r,t,e):t.utf8Write!=null?t.utf8Write(r,e):t.set(Rt(r),e)}function Hr(){return new me}function T(r,t){let e=Hr();return t.encode(r,e,{lengthDelimited:!1}),e.finish()}var Qt;(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"})(Qt||(Qt={}));function Le(r,t,e,o){return{name:r,type:t,encode:e,decode:o}}function mt(r){function t(n){if(r[n.toString()]==null)throw new Error("Invalid enum value");return r[n]}let e=function(i,s){let c=t(i);s.int32(c)},o=function(i){let s=i.int32();return t(s)};return Le("enum",Qt.VARINT,e,o)}function L(r,t){return Le("message",Qt.LENGTH_DELIMITED,r,t)}var nt;(function(r){let t;(function(n){n.IDENTIFY="IDENTIFY",n.CONNECT="CONNECT",n.STREAM_OPEN="STREAM_OPEN",n.STREAM_HANDLER="STREAM_HANDLER",n.DHT="DHT",n.LIST_PEERS="LIST_PEERS",n.CONNMANAGER="CONNMANAGER",n.DISCONNECT="DISCONNECT",n.PUBSUB="PUBSUB",n.PEERSTORE="PEERSTORE"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.IDENTIFY=0]="IDENTIFY",n[n.CONNECT=1]="CONNECT",n[n.STREAM_OPEN=2]="STREAM_OPEN",n[n.STREAM_HANDLER=3]="STREAM_HANDLER",n[n.DHT=4]="DHT",n[n.LIST_PEERS=5]="LIST_PEERS",n[n.CONNMANAGER=6]="CONNMANAGER",n[n.DISCONNECT=7]="DISCONNECT",n[n.PUBSUB=8]="PUBSUB",n[n.PEERSTORE=9]="PEERSTORE"})(e||(e={})),function(n){n.codec=()=>mt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=L((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.connect!=null&&(i.uint32(18),Ne.codec().encode(n.connect,i)),n.streamOpen!=null&&(i.uint32(26),Pe.codec().encode(n.streamOpen,i)),n.streamHandler!=null&&(i.uint32(34),De.codec().encode(n.streamHandler,i)),n.dht!=null&&(i.uint32(42),ot.codec().encode(n.dht,i)),n.connManager!=null&&(i.uint32(50),Oe.codec().encode(n.connManager,i)),n.disconnect!=null&&(i.uint32(58),Ue.codec().encode(n.disconnect,i)),n.pubsub!=null&&(i.uint32(66),gt.codec().encode(n.pubsub,i)),n.peerStore!=null&&(i.uint32(74),_t.codec().encode(n.peerStore,i)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.connect=Ne.codec().decode(n,n.uint32());break;case 3:s.streamOpen=Pe.codec().decode(n,n.uint32());break;case 4:s.streamHandler=De.codec().decode(n,n.uint32());break;case 5:s.dht=ot.codec().decode(n,n.uint32());break;case 6:s.connManager=Oe.codec().decode(n,n.uint32());break;case 7:s.disconnect=Ue.codec().decode(n,n.uint32());break;case 8:s.pubsub=gt.codec().decode(n,n.uint32());break;case 9:s.peerStore=_t.codec().decode(n,n.uint32());break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>T(n,r.codec()),r.decode=n=>S(n,r.codec())})(nt||(nt={}));var Ut;(function(r){let t;(function(n){n.OK="OK",n.ERROR="ERROR"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.OK=0]="OK",n[n.ERROR=1]="ERROR"})(e||(e={})),function(n){n.codec=()=>mt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=L((n,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.error!=null&&(i.uint32(18),Re.codec().encode(n.error,i)),n.streamInfo!=null&&(i.uint32(26),Jt.codec().encode(n.streamInfo,i)),n.identify!=null&&(i.uint32(34),ke.codec().encode(n.identify,i)),n.dht!=null&&(i.uint32(42),U.codec().encode(n.dht,i)),n.peers!=null)for(let c of n.peers)i.uint32(50),At.codec().encode(c,i);n.pubsub!=null&&(i.uint32(58),_e.codec().encode(n.pubsub,i)),n.peerStore!=null&&(i.uint32(66),Fe.codec().encode(n.peerStore,i)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={peers:[]},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.error=Re.codec().decode(n,n.uint32());break;case 3:s.streamInfo=Jt.codec().decode(n,n.uint32());break;case 4:s.identify=ke.codec().decode(n,n.uint32());break;case 5:s.dht=U.codec().decode(n,n.uint32());break;case 6:s.peers.push(At.codec().decode(n,n.uint32()));break;case 7:s.pubsub=_e.codec().decode(n,n.uint32());break;case 8:s.peerStore=Fe.codec().decode(n,n.uint32());break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>T(n,r.codec()),r.decode=n=>S(n,r.codec())})(Ut||(Ut={}));var ke;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.id!=null&&e.id.byteLength>0&&(o.uint32(10),o.bytes(e.id)),e.addrs!=null)for(let i of e.addrs)o.uint32(18),o.bytes(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={id:new Uint8Array(0),addrs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.id=e.bytes();break;case 2:n.addrs.push(e.bytes());break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(ke||(ke={}));var Ne;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&e.peer.byteLength>0&&(o.uint32(10),o.bytes(e.peer)),e.addrs!=null)for(let i of e.addrs)o.uint32(18),o.bytes(i);e.timeout!=null&&(o.uint32(24),o.int64(e.timeout)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={peer:new Uint8Array(0),addrs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.peer=e.bytes();break;case 2:n.addrs.push(e.bytes());break;case 3:n.timeout=e.int64();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(Ne||(Ne={}));var Pe;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&e.peer.byteLength>0&&(o.uint32(10),o.bytes(e.peer)),e.proto!=null)for(let i of e.proto)o.uint32(18),o.string(i);e.timeout!=null&&(o.uint32(24),o.int64(e.timeout)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={peer:new Uint8Array(0),proto:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.peer=e.bytes();break;case 2:n.proto.push(e.string());break;case 3:n.timeout=e.int64();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(Pe||(Pe={}));var De;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.addr!=null&&e.addr.byteLength>0&&(o.uint32(10),o.bytes(e.addr)),e.proto!=null)for(let i of e.proto)o.uint32(18),o.string(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={addr:new Uint8Array(0),proto:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.addr=e.bytes();break;case 2:n.proto.push(e.string());break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(De||(De={}));var Re;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{n.lengthDelimited!==!1&&o.fork(),e.msg!=null&&e.msg!==""&&(o.uint32(10),o.string(e.msg)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={msg:""},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.msg=e.string();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(Re||(Re={}));var Jt;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&e.peer.byteLength>0&&(o.uint32(10),o.bytes(e.peer)),e.addr!=null&&e.addr.byteLength>0&&(o.uint32(18),o.bytes(e.addr)),e.proto!=null&&e.proto!==""&&(o.uint32(26),o.string(e.proto)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={peer:new Uint8Array(0),addr:new Uint8Array(0),proto:""},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.peer=e.bytes();break;case 2:n.addr=e.bytes();break;case 3:n.proto=e.string();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(Jt||(Jt={}));var ot;(function(r){let t;(function(n){n.FIND_PEER="FIND_PEER",n.FIND_PEERS_CONNECTED_TO_PEER="FIND_PEERS_CONNECTED_TO_PEER",n.FIND_PROVIDERS="FIND_PROVIDERS",n.GET_CLOSEST_PEERS="GET_CLOSEST_PEERS",n.GET_PUBLIC_KEY="GET_PUBLIC_KEY",n.GET_VALUE="GET_VALUE",n.SEARCH_VALUE="SEARCH_VALUE",n.PUT_VALUE="PUT_VALUE",n.PROVIDE="PROVIDE"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.FIND_PEER=0]="FIND_PEER",n[n.FIND_PEERS_CONNECTED_TO_PEER=1]="FIND_PEERS_CONNECTED_TO_PEER",n[n.FIND_PROVIDERS=2]="FIND_PROVIDERS",n[n.GET_CLOSEST_PEERS=3]="GET_CLOSEST_PEERS",n[n.GET_PUBLIC_KEY=4]="GET_PUBLIC_KEY",n[n.GET_VALUE=5]="GET_VALUE",n[n.SEARCH_VALUE=6]="SEARCH_VALUE",n[n.PUT_VALUE=7]="PUT_VALUE",n[n.PROVIDE=8]="PROVIDE"})(e||(e={})),function(n){n.codec=()=>mt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=L((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.peer!=null&&(i.uint32(18),i.bytes(n.peer)),n.cid!=null&&(i.uint32(26),i.bytes(n.cid)),n.key!=null&&(i.uint32(34),i.bytes(n.key)),n.value!=null&&(i.uint32(42),i.bytes(n.value)),n.count!=null&&(i.uint32(48),i.int32(n.count)),n.timeout!=null&&(i.uint32(56),i.int64(n.timeout)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.peer=n.bytes();break;case 3:s.cid=n.bytes();break;case 4:s.key=n.bytes();break;case 5:s.value=n.bytes();break;case 6:s.count=n.int32();break;case 7:s.timeout=n.int64();break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>T(n,r.codec()),r.decode=n=>S(n,r.codec())})(ot||(ot={}));var U;(function(r){let t;(function(n){n.BEGIN="BEGIN",n.VALUE="VALUE",n.END="END"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.BEGIN=0]="BEGIN",n[n.VALUE=1]="VALUE",n[n.END=2]="END"})(e||(e={})),function(n){n.codec=()=>mt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=L((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.peer!=null&&(i.uint32(18),At.codec().encode(n.peer,i)),n.value!=null&&(i.uint32(26),i.bytes(n.value)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.peer=At.codec().decode(n,n.uint32());break;case 3:s.value=n.bytes();break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>T(n,r.codec()),r.decode=n=>S(n,r.codec())})(U||(U={}));var At;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.id!=null&&e.id.byteLength>0&&(o.uint32(10),o.bytes(e.id)),e.addrs!=null)for(let i of e.addrs)o.uint32(18),o.bytes(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={id:new Uint8Array(0),addrs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.id=e.bytes();break;case 2:n.addrs.push(e.bytes());break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(At||(At={}));var Oe;(function(r){let t;(function(n){n.TAG_PEER="TAG_PEER",n.UNTAG_PEER="UNTAG_PEER",n.TRIM="TRIM"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.TAG_PEER=0]="TAG_PEER",n[n.UNTAG_PEER=1]="UNTAG_PEER",n[n.TRIM=2]="TRIM"})(e||(e={})),function(n){n.codec=()=>mt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=L((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.peer!=null&&(i.uint32(18),i.bytes(n.peer)),n.tag!=null&&(i.uint32(26),i.string(n.tag)),n.weight!=null&&(i.uint32(32),i.int64(n.weight)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.peer=n.bytes();break;case 3:s.tag=n.string();break;case 4:s.weight=n.int64();break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>T(n,r.codec()),r.decode=n=>S(n,r.codec())})(Oe||(Oe={}));var Ue;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&e.peer.byteLength>0&&(o.uint32(10),o.bytes(e.peer)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={peer:new Uint8Array(0)},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.peer=e.bytes();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(Ue||(Ue={}));var gt;(function(r){let t;(function(n){n.GET_TOPICS="GET_TOPICS",n.LIST_PEERS="LIST_PEERS",n.PUBLISH="PUBLISH",n.SUBSCRIBE="SUBSCRIBE"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.GET_TOPICS=0]="GET_TOPICS",n[n.LIST_PEERS=1]="LIST_PEERS",n[n.PUBLISH=2]="PUBLISH",n[n.SUBSCRIBE=3]="SUBSCRIBE"})(e||(e={})),function(n){n.codec=()=>mt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=L((n,i,s={})=>{s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.topic!=null&&(i.uint32(18),i.string(n.topic)),n.data!=null&&(i.uint32(26),i.bytes(n.data)),s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.topic=n.string();break;case 3:s.data=n.bytes();break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>T(n,r.codec()),r.decode=n=>S(n,r.codec())})(gt||(gt={}));var ge;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.from!=null&&(o.uint32(10),o.bytes(e.from)),e.data!=null&&(o.uint32(18),o.bytes(e.data)),e.seqno!=null&&(o.uint32(26),o.bytes(e.seqno)),e.topicIDs!=null)for(let i of e.topicIDs)o.uint32(34),o.string(i);e.signature!=null&&(o.uint32(42),o.bytes(e.signature)),e.key!=null&&(o.uint32(50),o.bytes(e.key)),n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={topicIDs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.from=e.bytes();break;case 2:n.data=e.bytes();break;case 3:n.seqno=e.bytes();break;case 4:n.topicIDs.push(e.string());break;case 5:n.signature=e.bytes();break;case 6:n.key=e.bytes();break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(ge||(ge={}));var _e;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.topics!=null)for(let i of e.topics)o.uint32(10),o.string(i);if(e.peerIDs!=null)for(let i of e.peerIDs)o.uint32(18),o.bytes(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={topics:[],peerIDs:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.topics.push(e.string());break;case 2:n.peerIDs.push(e.bytes());break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(_e||(_e={}));var _t;(function(r){let t;(function(n){n.UNSPECIFIED="UNSPECIFIED",n.GET_PROTOCOLS="GET_PROTOCOLS",n.GET_PEER_INFO="GET_PEER_INFO"})(t=r.Type||(r.Type={}));let e;(function(n){n[n.UNSPECIFIED=0]="UNSPECIFIED",n[n.GET_PROTOCOLS=1]="GET_PROTOCOLS",n[n.GET_PEER_INFO=2]="GET_PEER_INFO"})(e||(e={})),function(n){n.codec=()=>mt(e)}(t=r.Type||(r.Type={}));let o;r.codec=()=>(o==null&&(o=L((n,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),n.type!=null&&(i.uint32(8),r.Type.codec().encode(n.type,i)),n.id!=null&&(i.uint32(18),i.bytes(n.id)),n.protos!=null)for(let c of n.protos)i.uint32(26),i.string(c);s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={protos:[]},c=i==null?n.len:n.pos+i;for(;n.pos<c;){let a=n.uint32();switch(a>>>3){case 1:s.type=r.Type.codec().decode(n);break;case 2:s.id=n.bytes();break;case 3:s.protos.push(n.string());break;default:n.skipType(a&7);break}}return s})),o),r.encode=n=>T(n,r.codec()),r.decode=n=>S(n,r.codec())})(_t||(_t={}));var Fe;(function(r){let t;r.codec=()=>(t==null&&(t=L((e,o,n={})=>{if(n.lengthDelimited!==!1&&o.fork(),e.peer!=null&&(o.uint32(10),At.codec().encode(e.peer,o)),e.protos!=null)for(let i of e.protos)o.uint32(18),o.string(i);n.lengthDelimited!==!1&&o.ldelim()},(e,o)=>{let n={protos:[]},i=o==null?e.len:e.pos+o;for(;e.pos<i;){let s=e.uint32();switch(s>>>3){case 1:n.peer=At.codec().decode(e,e.uint32());break;case 2:n.protos.push(e.string());break;default:e.skipType(s&7);break}}return n})),t),r.encode=e=>T(e,r.codec()),r.decode=e=>S(e,r.codec())})(Fe||(Fe={}));var j=Et(ho(),1);j.default.formatters.b=r=>r==null?"undefined":N.baseEncode(r);j.default.formatters.t=r=>r==null?"undefined":lt.baseEncode(r);j.default.formatters.m=r=>r==null?"undefined":Tr.baseEncode(r);j.default.formatters.p=r=>r==null?"undefined":r.toString();j.default.formatters.c=r=>r==null?"undefined":r.toString();j.default.formatters.k=r=>r==null?"undefined":r.toString();j.default.formatters.a=r=>r==null?"undefined":r.toString();function oc(r){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=r,t.destroy=()=>!0,t.extend=()=>t,t}function po(){return{forComponent(r){return F(r)}}}function F(r){let t=oc(`${r}:trace`);return j.default.enabled(`${r}:trace`)&&j.default.names.map(e=>e.toString()).find(e=>e.includes(":trace"))!=null&&(t=(0,j.default)(`${r}:trace`)),Object.assign((0,j.default)(r),{error:(0,j.default)(`${r}:error`),trace:t})}function it(r,t){t==null&&(t=r.reduce((n,i)=>n+i.length,0));let e=M(t),o=0;for(let n of r)e.set(n,o),o+=n.length;return Nt(e)}function Bt(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 go=Symbol.for("@achingbrain/uint8arraylist");function mo(r,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let e=0;for(let o of r){let n=e+o.byteLength;if(t<n)return{buf:o,index:t-e};e=n}throw new RangeError("index is out of bounds")}function $e(r){return!!r?.[go]}var dt=class r{constructor(...t){Object.defineProperty(this,go,{value:!0}),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 o of t)if(o instanceof Uint8Array)e+=o.byteLength,this.bufs.push(o);else if($e(o))e+=o.byteLength,this.bufs.push(...o.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 o of t.reverse())if(o instanceof Uint8Array)e+=o.byteLength,this.bufs.unshift(o);else if($e(o))e+=o.byteLength,this.bufs.unshift(...o.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=e}get(t){let e=mo(this.bufs,t);return e.buf[e.index]}set(t,e){let o=mo(this.bufs,t);o.buf[o.index]=e}write(t,e=0){if(t instanceof Uint8Array)for(let o=0;o<t.length;o++)this.set(e+o,t[o]);else if($e(t))for(let o=0;o<t.length;o++)this.set(e+o,t.get(o));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:o,length:n}=this._subList(t,e);return it(o,n)}subarray(t,e){let{bufs:o,length:n}=this._subList(t,e);return o.length===1?o[0]:it(o,n)}sublist(t,e){let{bufs:o,length:n}=this._subList(t,e),i=new r;return i.length=n,i.bufs=o,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 o=[],n=0;for(let i=0;i<this.bufs.length;i++){let s=this.bufs[i],c=n,a=c+s.byteLength;if(n=a,t>=a)continue;let h=t>=c&&t<a,l=e>c&&e<=a;if(h&&l){if(t===c&&e===a){o.push(s);break}let u=t-c;o.push(s.subarray(u,u+(e-t)));break}if(h){if(t===0){o.push(s);continue}o.push(s.subarray(t-c));continue}if(l){if(e===a){o.push(s);break}o.push(s.subarray(0,e-c));break}o.push(s)}return{bufs:o,length:e-t}}indexOf(t,e=0){if(!$e(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let o=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 n=o.byteLength;if(n===0)throw new TypeError("search must be at least 1 byte long");let i=256,s=new Int32Array(i);for(let u=0;u<i;u++)s[u]=-1;for(let u=0;u<n;u++)s[o[u]]=u;let c=s,a=this.byteLength-o.byteLength,h=o.byteLength-1,l;for(let u=e;u<=a;u+=l){l=0;for(let f=h;f>=0;f--){let b=this.get(u+f);if(o[f]!==b){l=Math.max(1,f-c[b]);break}}if(l===0)return u}return-1}getInt8(t){let e=this.subarray(t,t+1);return new DataView(e.buffer,e.byteOffset,e.byteLength).getInt8(0)}setInt8(t,e){let o=M(1);new DataView(o.buffer,o.byteOffset,o.byteLength).setInt8(0,e),this.write(o,t)}getInt16(t,e){let o=this.subarray(t,t+2);return new DataView(o.buffer,o.byteOffset,o.byteLength).getInt16(0,e)}setInt16(t,e,o){let n=pt(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt16(0,e,o),this.write(n,t)}getInt32(t,e){let o=this.subarray(t,t+4);return new DataView(o.buffer,o.byteOffset,o.byteLength).getInt32(0,e)}setInt32(t,e,o){let n=pt(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt32(0,e,o),this.write(n,t)}getBigInt64(t,e){let o=this.subarray(t,t+8);return new DataView(o.buffer,o.byteOffset,o.byteLength).getBigInt64(0,e)}setBigInt64(t,e,o){let n=pt(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigInt64(0,e,o),this.write(n,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 o=M(1);new DataView(o.buffer,o.byteOffset,o.byteLength).setUint8(0,e),this.write(o,t)}getUint16(t,e){let o=this.subarray(t,t+2);return new DataView(o.buffer,o.byteOffset,o.byteLength).getUint16(0,e)}setUint16(t,e,o){let n=pt(2);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint16(0,e,o),this.write(n,t)}getUint32(t,e){let o=this.subarray(t,t+4);return new DataView(o.buffer,o.byteOffset,o.byteLength).getUint32(0,e)}setUint32(t,e,o){let n=pt(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint32(0,e,o),this.write(n,t)}getBigUint64(t,e){let o=this.subarray(t,t+8);return new DataView(o.buffer,o.byteOffset,o.byteLength).getBigUint64(0,e)}setBigUint64(t,e,o){let n=pt(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setBigUint64(0,e,o),this.write(n,t)}getFloat32(t,e){let o=this.subarray(t,t+4);return new DataView(o.buffer,o.byteOffset,o.byteLength).getFloat32(0,e)}setFloat32(t,e,o){let n=pt(4);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat32(0,e,o),this.write(n,t)}getFloat64(t,e){let o=this.subarray(t,t+8);return new DataView(o.buffer,o.byteOffset,o.byteLength).getFloat64(0,e)}setFloat64(t,e,o){let n=pt(8);new DataView(n.buffer,n.byteOffset,n.byteLength).setFloat64(0,e,o),this.write(n,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(!Bt(this.bufs[e],t.bufs[e]))return!1;return!0}static fromUint8Arrays(t,e){let o=new r;return o.bufs=t,e==null&&(e=t.reduce((n,i)=>n+i.byteLength,0)),o.length=e,o}};function yo(r){let t=async function*(){let e=yield,o=new dt;for await(let n of r){if(e==null){o.append(n),e=yield o,o=new dt;continue}for(o.append(n);o.length>=e;){let i=o.sublist(0,e);if(o.consume(e),e=yield i,e==null){o.length>0&&(e=yield o,o=new dt);break}}}if(e!=null)throw Object.assign(new Error(`stream ended before ${e} bytes became available`),{code:"ERR_UNDER_READ",buffer:o})}();return t.next(),t}function ee(){let r={};return r.promise=new Promise((t,e)=>{r.resolve=t,r.reject=e}),r}var ze=class{buffer;mask;top;btm;next;constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},re=class{size;hwm;head;tail;constructor(t={}){this.hwm=t.splitLimit??16,this.head=new ze(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let e=this.head;this.head=e.next=new ze(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let e=this.tail.next;this.tail.next=null,this.tail=e,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};var Yr=class extends Error{type;code;constructor(t,e){super(t??"The operation was aborted"),this.type="aborted",this.code=e??"ABORT_ERR"}};function vt(r={}){return ic(e=>{let o=e.shift();if(o==null)return{done:!0};if(o.error!=null)throw o.error;return{done:o.done===!0,value:o.value}},r)}function ic(r,t){t=t??{};let e=t.onEnd,o=new re,n,i,s,c=ee(),a=async()=>{try{return o.isEmpty()?s?{done:!0}:await new Promise((g,y)=>{i=I=>{i=null,o.push(I);try{g(r(o))}catch(k){y(k)}return n}}):r(o)}finally{o.isEmpty()&&queueMicrotask(()=>{c.resolve(),c=ee()})}},h=g=>i!=null?i(g):(o.push(g),n),l=g=>(o=new re,i!=null?i({error:g}):(o.push({error:g}),n)),u=g=>{if(s)return n;if(t?.objectMode!==!0&&g?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return h({done:!1,value:g})},f=g=>s?n:(s=!0,g!=null?l(g):h({done:!0})),b=()=>(o=new re,f(),{done:!0}),m=g=>(f(g),{done:!0});if(n={[Symbol.asyncIterator](){return this},next:a,return:b,throw:m,push:u,end:f,get readableLength(){return o.size},onEmpty:async g=>{let y=g?.signal;if(y?.throwIfAborted(),o.isEmpty())return;let I,k;y!=null&&(I=new Promise((D,Q)=>{k=()=>{Q(new Yr)},y.addEventListener("abort",k)}));try{await Promise.race([c.promise,I])}finally{k!=null&&y!=null&&y?.removeEventListener("abort",k)}}},e==null)return n;let E=n;return n={[Symbol.asyncIterator](){return this},next(){return E.next()},throw(g){return E.throw(g),e!=null&&(e(g),e=void 0),{done:!0}},return(){return E.return(),e!=null&&(e(),e=void 0),{done:!0}},push:u,end(g){return E.end(g),e!=null&&(e(g),e=void 0),n},get readableLength(){return E.readableLength}},n}function bo(r){let t=vt(),e=yo(r.source),o=ee(),n,i=r.sink(async function*(){yield*t,yield*await o.promise}());return i.catch(c=>{n=c}),{reader:e,writer:t,stream:{sink:async c=>{if(n!=null){await Promise.reject(n);return}o.resolve(c),await i},source:e},rest:()=>t.end(),write:t.push,read:async()=>{let c=await e.next();if(c.value!=null)return c.value}}}var sc=Math.pow(2,7),cc=Math.pow(2,14),ac=Math.pow(2,21),Qr=Math.pow(2,28),Jr=Math.pow(2,35),Zr=Math.pow(2,42),qr=Math.pow(2,49),w=128,V=127;function K(r){if(r<sc)return 1;if(r<cc)return 2;if(r<ac)return 3;if(r<Qr)return 4;if(r<Jr)return 5;if(r<Zr)return 6;if(r<qr)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function lc(r,t,e=0){switch(K(r)){case 8:t[e++]=r&255|w,r/=128;case 7:t[e++]=r&255|w,r/=128;case 6:t[e++]=r&255|w,r/=128;case 5:t[e++]=r&255|w,r/=128;case 4:t[e++]=r&255|w,r>>>=7;case 3:t[e++]=r&255|w,r>>>=7;case 2:t[e++]=r&255|w,r>>>=7;case 1:{t[e++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return t}function uc(r,t,e=0){switch(K(r)){case 8:t.set(e++,r&255|w),r/=128;case 7:t.set(e++,r&255|w),r/=128;case 6:t.set(e++,r&255|w),r/=128;case 5:t.set(e++,r&255|w),r/=128;case 4:t.set(e++,r&255|w),r>>>=7;case 3:t.set(e++,r&255|w),r>>>=7;case 2:t.set(e++,r&255|w),r>>>=7;case 1:{t.set(e++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return t}function dc(r,t){let e=r[t],o=0;if(o+=e&V,e<w||(e=r[t+1],o+=(e&V)<<7,e<w)||(e=r[t+2],o+=(e&V)<<14,e<w)||(e=r[t+3],o+=(e&V)<<21,e<w)||(e=r[t+4],o+=(e&V)*Qr,e<w)||(e=r[t+5],o+=(e&V)*Jr,e<w)||(e=r[t+6],o+=(e&V)*Zr,e<w)||(e=r[t+7],o+=(e&V)*qr,e<w))return o;throw new RangeError("Could not decode varint")}function fc(r,t){let e=r.get(t),o=0;if(o+=e&V,e<w||(e=r.get(t+1),o+=(e&V)<<7,e<w)||(e=r.get(t+2),o+=(e&V)<<14,e<w)||(e=r.get(t+3),o+=(e&V)<<21,e<w)||(e=r.get(t+4),o+=(e&V)*Qr,e<w)||(e=r.get(t+5),o+=(e&V)*Jr,e<w)||(e=r.get(t+6),o+=(e&V)*Zr,e<w)||(e=r.get(t+7),o+=(e&V)*qr,e<w))return o;throw new RangeError("Could not decode varint")}function St(r,t,e=0){return t==null&&(t=M(K(r))),t instanceof Uint8Array?lc(r,t,e):uc(r,t,e)}function yt(r,t=0){return r instanceof Uint8Array?dc(r,t):fc(r,t)}function We(r){return r[Symbol.asyncIterator]!=null}var Ke=r=>{let t=K(r),e=M(t);return St(r,e),Ke.bytes=t,e};Ke.bytes=0;function ne(r,t){t=t??{};let e=t.lengthEncoder??Ke;function*o(n){let i=e(n.byteLength);i instanceof Uint8Array?yield i:yield*i,n instanceof Uint8Array?yield n:yield*n}return We(r)?async function*(){for await(let n of r)yield*o(n)}():function*(){for(let n of r)yield*o(n)}()}ne.single=(r,t)=>{t=t??{};let e=t.lengthEncoder??Ke;return new dt(e(r.byteLength),r)};var oe=Et(xo(),1);var pc=8,mc=1024*1024*4,Mt;(function(r){r[r.LENGTH=0]="LENGTH",r[r.DATA=1]="DATA"})(Mt||(Mt={}));var jr=r=>{let t=yt(r);return jr.bytes=K(t),t};jr.bytes=0;function ye(r,t){let e=new dt,o=Mt.LENGTH,n=-1,i=t?.lengthDecoder??jr,s=t?.maxLengthLength??pc,c=t?.maxDataLength??mc;function*a(){for(;e.byteLength>0;){if(o===Mt.LENGTH)try{if(n=i(e),n<0)throw(0,oe.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(n>c)throw(0,oe.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let h=i.bytes;e.consume(h),t?.onLength!=null&&t.onLength(n),o=Mt.DATA}catch(h){if(h instanceof RangeError){if(e.byteLength>s)throw(0,oe.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw h}if(o===Mt.DATA){if(e.byteLength<n)break;let h=e.sublist(0,n);e.consume(n),t?.onData!=null&&t.onData(h),yield h,o=Mt.LENGTH}}}return We(r)?async function*(){for await(let h of r)e.append(h),yield*a();if(e.byteLength>0)throw(0,oe.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let h of r)e.append(h),yield*a();if(e.byteLength>0)throw(0,oe.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}ye.fromReader=(r,t)=>{let e=1,o=async function*(){for(;;)try{let{done:i,value:s}=await r.next(e);if(i===!0)return;s!=null&&(yield s)}catch(i){if(i.code==="ERR_UNDER_READ")return{done:!0,value:null};throw i}finally{e=1}}();return ye(o,{...t??{},onLength:i=>{e=i}})};var tn=F("libp2p:daemon-protocol:stream-handler"),Xe=class{stream;shake;decoder;constructor(t){let{stream:e,maxLength:o}=t;this.stream=e,this.shake=bo(this.stream),this.decoder=ye.fromReader(this.shake.reader,{maxDataLength:o??4096})}async read(){let t=await this.decoder.next();if(t.value!=null)return t.value.subarray();tn("read received no value, closing stream"),await this.close()}write(t){tn("write message"),this.shake.write(ne.single(t).subarray())}rest(){return this.shake.rest(),this.shake.stream}async close(){tn("closing the stream"),await this.rest().sink([])}};var en={upgradeInbound:async r=>r,upgradeOutbound:async r=>r};var ie=class r extends Error{code;type;constructor(t="The operation was aborted"){super(t),this.code=r.code,this.type=r.type}static code="ABORT_ERR";static type="aborted"},R=class extends Error{code;props;constructor(t,e,o){super(t),this.code=e,this.name=o?.name??"CodeError",this.props=o??{}}};var Co=Symbol.for("@libp2p/peer-id");var gc=Symbol.for("nodejs.util.inspect.custom"),Ao=Object.values(Ct).map(r=>r.decoder).reduce((r,t)=>r.or(t),Ct.identity.decoder),vo=114,So=36,To=37,be=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Co]=!0;toString(){return this.string==null&&(this.string=N.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return W.createV1(vo,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return Bt(this.multihash.bytes,t);if(typeof t=="string")return yc(t).equals(this);if(t?.multihash?.bytes!=null)return Bt(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[gc](){return`PeerId(${this.toString()})`}},Ee=class extends be{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},we=class extends be{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},xe=class extends be{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function yc(r,t){if(t=t??Ao,r.charAt(0)==="1"||r.charAt(0)==="Q"){let e=Pt(N.decode(`z${r}`));return r.startsWith("12D")?new we({multihash:e}):r.startsWith("16U")?new xe({multihash:e}):new Ee({multihash:e})}return Gt(Ao.decode(r))}function Gt(r){try{let t=Pt(r);if(t.code===ve.code){if(t.digest.length===So)return new we({multihash:t});if(t.digest.length===To)return new xe({multihash:t})}if(t.code===Se.code)return new Ee({multihash:t})}catch{return bc(W.decode(r))}throw new Error("Supplied PeerID CID is invalid")}function bc(r){if(r==null||r.multihash==null||r.version==null||r.version===1&&r.code!==vo)throw new Error("Supplied PeerID CID is invalid");let t=r.multihash;if(t.code===Se.code)return new Ee({multihash:r.multihash});if(t.code===ve.code){if(t.digest.length===So)return new we({multihash:r.multihash});if(t.digest.length===To)return new xe({multihash:r.multihash})}throw new Error("Supplied PeerID CID is invalid")}var di=Et(ht("net"),1);var ko=Symbol.for("@libp2p/transport");var Lo;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(Lo||(Lo={}));function X(r,t="utf8"){let e=Te[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 Ye=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let e=this.index,o=t();return o===void 0&&(this.index=e),o}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,o){return this.readAtomically(()=>{if(!(e>0&&this.readGivenChar(t)===void 0))return o()})}readNumber(t,e,o,n){return this.readAtomically(()=>{let i=0,s=0,c=this.peekChar();if(c===void 0)return;let a=c==="0",h=2**(8*n)-1;for(;;){let l=this.readAtomically(()=>{let u=this.readChar();if(u===void 0)return;let f=Number.parseInt(u,t);if(!Number.isNaN(f))return f});if(l===void 0)break;if(i*=t,i+=l,i>h||(s+=1,e!==void 0&&s>e))return}if(s!==0)return!o&&a&&s>1?void 0:i})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let e=0;e<t.length;e++){let o=this.readSeparator(".",e,()=>this.readNumber(10,3,!1,1));if(o===void 0)return;t[e]=o}return t})}readIPv6Addr(){let t=e=>{for(let o=0;o<e.length/2;o++){let n=o*2;if(o<e.length-3){let s=this.readSeparator(":",o,()=>this.readIPv4Addr());if(s!==void 0)return e[n]=s[0],e[n+1]=s[1],e[n+2]=s[2],e[n+3]=s[3],[n+4,!0]}let i=this.readSeparator(":",o,()=>this.readNumber(16,4,!0,2));if(i===void 0)return[n,!1];e[n]=i>>8,e[n+1]=i&255}return[e.length,!1]};return this.readAtomically(()=>{let e=new Uint8Array(16),[o,n]=t(e);if(o===16)return e;if(n||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let i=new Uint8Array(14),s=16-(o+2),[c]=t(i.subarray(0,s));return e.set(i.subarray(0,c),16-c),e})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Ku=new Ye;var td=parseInt("0xFFFF",16),ed=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var st=ht("node:net");function Qe(r){return!!(0,st.isIP)(r)}var Do=st.isIPv4,Ac=st.isIPv6,rn=function(r){let t=0;if(r=r.toString().trim(),Do(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(o=>{e[t++]=parseInt(o,10)&255}),e}if(Ac(r)){let e=r.split(":",8),o;for(o=0;o<e.length;o++){let i=Do(e[o]),s;i&&(s=rn(e[o]),e[o]=X(s.slice(0,2),"base16")),s!=null&&++o<8&&e.splice(o,0,X(s.slice(2,4),"base16"))}if(e[0]==="")for(;e.length<8;)e.unshift("0");else if(e[e.length-1]==="")for(;e.length<8;)e.push("0");else if(e.length<8){for(o=0;o<e.length&&e[o]!=="";o++);let i=[o,1];for(o=9-e.length;o>0;o--)i.push("0");e.splice.apply(e,i)}let n=new Uint8Array(t+16);for(o=0;o<e.length;o++){let i=parseInt(e[o],16);n[t++]=i>>8&255,n[t++]=i&255}return n}throw new Error("invalid ip address")},Ro=function(r,t=0,e){t=~~t,e=e??r.length-t;let o=new DataView(r.buffer);if(e===4){let n=[];for(let i=0;i<e;i++)n.push(r[t+i]);return n.join(".")}if(e===16){let n=[];for(let i=0;i<e;i+=2)n.push(o.getUint16(t+i).toString(16));return n.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var se={},nn={},Sc=[[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"]];Sc.forEach(r=>{let t=Tc(...r);nn[t.code]=t,se[t.name]=t});function Tc(r,t,e,o,n){return{code:r,size:t,name:e,resolvable:!!o,path:!!n}}function x(r){if(typeof r=="number"){if(nn[r]!=null)return nn[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(se[r]!=null)return se[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var Md=x("ip4"),Gd=x("ip6"),Vd=x("ipcidr");function sn(r,t){switch(x(r).code){case 4:case 41:return kc(t);case 42:return _o(t);case 6:case 273:case 33:case 132:return Bo(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return _o(t);case 421:return Rc(t);case 444:return Fo(t);case 445:return Fo(t);case 466:return Dc(t);default:return X(t,"base16")}}function cn(r,t){switch(x(r).code){case 4:return Oo(t);case 41:return Oo(t);case 42:return Uo(t);case 6:case 273:case 33:case 132:return an(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Uo(t);case 421:return Nc(t);case 444:return Oc(t);case 445:return Uc(t);case 466:return Pc(t);default:return Rt(t,"base16")}}var on=Object.values(Ct).map(r=>r.decoder),Lc=function(){let r=on[0].or(on[1]);return on.slice(2).forEach(t=>r=r.or(t)),r}();function Oo(r){if(!Qe(r))throw new Error("invalid ip address");return rn(r)}function kc(r){let t=Ro(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!Qe(t))throw new Error("invalid ip address");return t}function an(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function Bo(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Uo(r){let t=Rt(r),e=Uint8Array.from(St(t.length));return it([e,t],e.length+t.length)}function _o(r){let t=yt(r);if(r=r.slice(K(t)),r.length!==t)throw new Error("inconsistent lengths");return X(r)}function Nc(r){let t;r[0]==="Q"||r[0]==="1"?t=Pt(N.decode(`z${r}`)).bytes:t=W.parse(r).multihash.bytes;let e=Uint8Array.from(St(t.length));return it([e,t],e.length+t.length)}function Pc(r){let t=Lc.decode(r),e=Uint8Array.from(St(t.length));return it([e,t],e.length+t.length)}function Dc(r){let t=yt(r),e=r.slice(K(t));if(e.length!==t)throw new Error("inconsistent lengths");return"u"+X(e,"base64url")}function Rc(r){let t=yt(r),e=r.slice(K(t));if(e.length!==t)throw new Error("inconsistent lengths");return X(e,"base58btc")}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!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=lt.decode("b"+t[0]),o=parseInt(t[1],10);if(o<1||o>65536)throw new Error("Port number is not in range(1, 65536)");let n=an(o);return it([e,n],e.length+n.length)}function Uc(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=lt.decode(`b${t[0]}`),o=parseInt(t[1],10);if(o<1||o>65536)throw new Error("Port number is not in range(1, 65536)");let n=an(o);return it([e,n],e.length+n.length)}function Fo(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),o=X(t,"base32"),n=Bo(e);return`${o}:${n}`}function Mo(r){r=ln(r);let t=[],e=[],o=null,n=r.split("/").slice(1);if(n.length===1&&n[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let i=0;i<n.length;i++){let s=n[i],c=x(s);if(c.size===0){t.push([c.code]),e.push([c.code]);continue}if(i++,i>=n.length)throw Vo("invalid address: "+r);if(c.path===!0){o=ln(n.slice(i).join("/")),t.push([c.code,cn(c.code,o)]),e.push([c.code,o]);break}let a=cn(c.code,n[i]);t.push([c.code,a]),e.push([c.code,sn(c.code,a)])}return{string:Go(e),bytes:dn(t),tuples:t,stringTuples:e,path:o}}function un(r){let t=[],e=[],o=null,n=0;for(;n<r.length;){let i=yt(r,n),s=K(i),c=x(i),a=_c(c,r.slice(n+s));if(a===0){t.push([i]),e.push([i]),n+=s;continue}let h=r.slice(n+s,n+s+a);if(n+=a+s,n>r.length)throw Vo("Invalid address Uint8Array: "+X(r,"base16"));t.push([i,h]);let l=sn(i,h);if(e.push([i,l]),c.path===!0){o=l;break}}return{bytes:Uint8Array.from(r),string:Go(e),tuples:t,stringTuples:e,path:o}}function Go(r){let t=[];return r.map(e=>{let o=x(e[0]);return t.push(o.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),ln(t.join("/"))}function dn(r){return it(r.map(t=>{let e=x(t[0]),o=Uint8Array.from(St(e.code));return t.length>1&&t[1]!=null&&(o=it([o,t[1]])),o}))}function _c(r,t){if(r.size>0)return r.size/8;if(r.size===0)return 0;{let e=yt(t instanceof Uint8Array?t:Uint8Array.from(t));return e+K(e)}}function ln(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function Vo(r){return new Error("Error parsing address: "+r)}var Fc=Symbol.for("nodejs.util.inspect.custom"),fn=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Bc=[x("dns").code,x("dns4").code,x("dns6").code,x("dnsaddr").code],Je=class r{bytes;#t;#e;#r;#n;[fn]=!0;constructor(t){t==null&&(t="");let e;if(t instanceof Uint8Array)e=un(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);e=Mo(t)}else if(zo(t))e=un(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=e.bytes,this.#t=e.string,this.#e=e.tuples,this.#r=e.stringTuples,this.#n=e.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,e,o,n,i="",s=x("tcp"),c=x("udp"),a=x("ip4"),h=x("ip6"),l=x("dns6"),u=x("ip6zone");for(let[b,m]of this.stringTuples())b===u.code&&(i=`%${m??""}`),Bc.includes(b)&&(e=s.name,n=443,o=`${m??""}${i}`,t=b===l.code?6:4),(b===s.code||b===c.code)&&(e=x(b).name,n=parseInt(m??"")),(b===a.code||b===h.code)&&(e=x(b).name,o=`${m??""}${i}`,t=b===h.code?6:4);if(t==null||e==null||o==null||n==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:o,transport:e,port:n}}protos(){return this.#e.map(([t])=>Object.assign({},x(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>x(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new r(t),new r(this.toString()+t.toString())}decapsulate(t){let e=t.toString(),o=this.toString(),n=o.lastIndexOf(e);if(n<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new r(o.slice(0,n))}decapsulateCode(t){let e=this.tuples();for(let o=e.length-1;o>=0;o--)if(e[o][0]===t)return new r(dn(e.slice(0,o)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([o,n])=>{o===se.p2p.code&&t.push([o,n]),o===se["p2p-circuit"].code&&(t=[])});let e=t.pop();if(e?.[1]!=null){let o=e[1];return o[0]==="Q"||o[0]==="1"?X(N.decode(`z${o}`),"base58btc"):X(W.parse(o).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return Bt(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(i=>i.resolvable);if(e==null)return[this];let o=$o.get(e.name);if(o==null)throw new R(`no available resolver for ${e.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await o(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)}[Fc](){return`Multiaddr(${this.#t})`}};var $o=new Map;function zo(r){return!!r?.[fn]}function ct(r){return new Je(r)}var Mc=d("dns4"),Gc=d("dns6"),Vc=d("dnsaddr"),$t=v(d("dns"),Vc,Mc,Gc),je=v(d("ip4"),d("ip6")),Lt=v(p(je,d("tcp")),p($t,d("tcp"))),tr=p(je,d("udp")),$c=p(tr,d("utp")),zc=p(tr,d("quic")),Hc=p(tr,d("quic-v1")),hn=v(p(Lt,d("ws")),p($t,d("ws"))),Ze=v(p(hn,d("p2p")),hn),pn=v(p(Lt,d("wss")),p($t,d("wss")),p(Lt,d("tls"),d("ws")),p($t,d("tls"),d("ws"))),qe=v(p(pn,d("p2p")),pn),mn=v(p(Lt,d("http")),p(je,d("http")),p($t,d("http"))),gn=v(p(Lt,d("https")),p(je,d("https")),p($t,d("https"))),Ho=p(tr,d("webrtc-direct"),d("certhash")),Xo=v(p(Ho,d("p2p")),Ho),Wo=p(Hc,d("webtransport"),d("certhash"),d("certhash")),Yo=v(p(Wo,d("p2p")),Wo),Qo=v(p(Ze,d("p2p-webrtc-star"),d("p2p")),p(qe,d("p2p-webrtc-star"),d("p2p")),p(Ze,d("p2p-webrtc-star")),p(qe,d("p2p-webrtc-star"))),pf=v(p(Ze,d("p2p-websocket-star"),d("p2p")),p(qe,d("p2p-websocket-star"),d("p2p")),p(Ze,d("p2p-websocket-star")),p(qe,d("p2p-websocket-star"))),Jo=v(p(mn,d("p2p-webrtc-direct"),d("p2p")),p(gn,d("p2p-webrtc-direct"),d("p2p")),p(mn,d("p2p-webrtc-direct")),p(gn,d("p2p-webrtc-direct"))),zt=v(hn,pn,mn,gn,Qo,Jo,Lt,$c,zc,$t,Xo,Yo),mf=v(p(zt,d("p2p-stardust"),d("p2p")),p(zt,d("p2p-stardust"))),Tt=v(p(zt,d("p2p")),Qo,Jo,Xo,Yo,d("p2p")),Ko=v(p(Tt,d("p2p-circuit"),Tt),p(Tt,d("p2p-circuit")),p(d("p2p-circuit"),Tt),p(zt,d("p2p-circuit")),p(d("p2p-circuit"),zt),d("p2p-circuit")),Zo=()=>v(p(Ko,Zo),Ko),Vt=Zo(),gf=v(p(Vt,Tt,Vt),p(Tt,Vt),p(Vt,Tt),Vt,Tt);var yf=v(p(Vt,d("webrtc"),d("p2p")),p(Vt,d("webrtc")),p(zt,d("webrtc"),d("p2p")),p(zt,d("webrtc")),d("webrtc"));function qo(r){function t(e){let o;try{o=ct(e)}catch{return!1}let n=r(o.protoNames());return n===null?!1:n===!0||n===!1?n:n.length===0}return t}function p(...r){function t(e){if(e.length<r.length)return null;let o=e;return r.some(n=>(o=typeof n=="function"?n().partialMatch(e):n.partialMatch(e),Array.isArray(o)&&(e=o),o===null)),o}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:qo(t),partialMatch:t}}function v(...r){function t(o){let n=null;return r.some(i=>{let s=typeof i=="function"?i().partialMatch(o):i.partialMatch(o);return s!=null?(n=s,!0):!1}),n}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:qo(t),partialMatch:t}}function d(r){let t=r;function e(n){let i;try{i=ct(n)}catch{return!1}let s=i.protoNames();return s.length===1&&s[0]===t}function o(n){return n.length===0?null:n[0]===t?n.slice(1):null}return{toString:function(){return t},matches:e,partialMatch:o}}var ui=Et(ht("net"),1);var er=class extends EventTarget{#t=new Map;listenerCount(t){let e=this.#t.get(t);return e==null?0:e.length}addEventListener(t,e,o){super.addEventListener(t,e,o);let n=this.#t.get(t);n==null&&(n=[],this.#t.set(t,n)),n.push({callback:e,once:(o!==!0&&o!==!1&&o?.once)??!1})}removeEventListener(t,e,o){super.removeEventListener(t.toString(),e??null,o);let n=this.#t.get(t);n!=null&&(n=n.filter(({callback:i})=>i!==e),this.#t.set(t,n))}dispatchEvent(t){let e=super.dispatchEvent(t),o=this.#t.get(t.type);return o==null||(o=o.filter(({once:n})=>!n),this.#t.set(t.type,o)),e}safeDispatchEvent(t,e){return this.dispatchEvent(new ce(t,e))}},yn=class extends Event{detail;constructor(t,e){super(t,e),this.detail=e?.detail}},ce=globalThis.CustomEvent??yn;var Kc=F("libp2p:ip-port-to-multiaddr"),bn={ERR_INVALID_IP_PARAMETER:"ERR_INVALID_IP_PARAMETER",ERR_INVALID_PORT_PARAMETER:"ERR_INVALID_PORT_PARAMETER",ERR_INVALID_IP:"ERR_INVALID_IP"};function jo(r,t){if(typeof r!="string")throw new R(`invalid ip provided: ${r}`,bn.ERR_INVALID_IP_PARAMETER);if(typeof t=="string"&&(t=parseInt(t)),isNaN(t))throw new R(`invalid port provided: ${t}`,bn.ERR_INVALID_PORT_PARAMETER);if((0,st.isIPv4)(r))return ct(`/ip4/${r}/tcp/${t}`);if((0,st.isIPv6)(r))return ct(`/ip6/${r}/tcp/${t}`);let e=`invalid ip:port for creating a multiaddr: ${r}:${t}`;throw Kc.error(e),new R(e,bn.ERR_INVALID_IP)}var li=Et(ci(),1);var xn=Et(ht("os"),1),ai=Et(ht("path"),1);var Zc={ip4:"IPv4",ip6:"IPv6"};function le(r,t={}){let e=r.getPath();return e!=null?xn.default.platform()==="win32"?{path:ai.default.join("\\\\.\\pipe\\",e)}:{path:e}:{...r.toOptions(),...t}}function In(r,t,e){let o=n=>ct(`/${r}/${n}/tcp/${e}`);return(qc(t)?ta(Zc[r]):[t]).map(o)}function qc(r){return["0.0.0.0","::"].includes(r)}var jc=xn.default.networkInterfaces();function ta(r){let t=[];for(let[,e]of Object.entries(jc))if(e!=null)for(let o of e)o.family===r&&t.push(o.address);return t}var ft=F("libp2p:tcp:socket"),nr=(r,t)=>{let e=t.metrics,o=t.metricPrefix??"",n=t.socketInactivityTimeout??3e5,i=t.socketCloseTimeout??500;t.listeningAddr?.getPath()!=null&&(t.remoteAddr=t.listeningAddr),t.remoteAddr?.getPath()!=null&&(t.localAddr=t.remoteAddr);let s;if(t.remoteAddr!=null)s=t.remoteAddr;else{if(r.remoteAddress==null||r.remotePort==null)throw new R("Could not determine remote address or port","ERR_NO_REMOTE_ADDRESS");s=jo(r.remoteAddress,r.remotePort)}let c=le(s),a=c.path??`${c.host??""}:${c.port??""}`,{sink:h,source:l}=li.default.duplex(r);r.setTimeout(n,()=>{ft("%s socket read timeout",a),e?.increment({[`${o}timeout`]:!0});let f;r.readable&&(f=new R("Socket read timeout","ERR_SOCKET_READ_TIMEOUT")),r.destroy(f)}),r.once("close",()=>{ft("%s socket close",a),e?.increment({[`${o}close`]:!0}),u.timeline.close==null&&(u.timeline.close=Date.now())}),r.once("end",()=>{ft("%s socket end",a),e?.increment({[`${o}end`]:!0})});let u={async sink(f){try{await h(f)}catch(b){b.type!=="aborted"&&ft(b)}r.end()},source:l,remoteAddr:s,timeline:{open:Date.now()},async close(f={}){if(r.destroyed){ft("%s socket was already destroyed when trying to close",a);return}if(f.signal==null){let b=AbortSignal.timeout(i);f={...f,signal:b}}try{ft("%s closing socket",a),await new Promise((b,m)=>{r.once("close",()=>{ft("%s socket closed",a),b()}),r.once("error",E=>{ft("%s socket error",a,E),u.timeline.close==null&&(u.timeline.close=Date.now()),m(E)}),r.setTimeout(i),r.end(),r.writableLength>0?r.once("drain",()=>{ft("%s socket drained",a),r.destroy()}):r.destroy()})}catch(b){this.abort(b)}},abort:f=>{ft("%s socket abort due to error",a,f),r.destroy(f)}};return u};var $=F("libp2p:tcp:listener");async function Cn(r){try{await r.close()}catch(t){$.error("an error occurred closing the connection",t)}}var O;(function(r){r[r.INACTIVE=0]="INACTIVE",r[r.ACTIVE=1]="ACTIVE",r[r.PAUSED=2]="PAUSED"})(O||(O={}));var or=class extends er{context;server;connections=new Set;status={code:O.INACTIVE};metrics;addr;constructor(t){if(super(),this.context=t,t.keepAlive=t.keepAlive??!0,this.addr="unknown",this.server=ui.default.createServer(t,this.onSocket.bind(this)),t.maxConnections!==void 0&&(this.server.maxConnections=t.maxConnections),t.closeServerOnMaxConnections!=null&&t.closeServerOnMaxConnections.closeAbove<t.closeServerOnMaxConnections.listenBelow)throw new R("closeAbove must be >= listenBelow","ERROR_CONNECTION_LIMITS");this.server.on("listening",()=>{if(t.metrics!=null){let e=this.server.address();e==null?this.addr="unknown":typeof e=="string"?this.addr=e:this.addr=`${e.address}:${e.port}`,t.metrics?.registerMetricGroup("libp2p_tcp_inbound_connections_total",{label:"address",help:"Current active connections in TCP listener",calculate:()=>({[this.addr]:this.connections.size})}),this.metrics={status:t.metrics.registerMetricGroup("libp2p_tcp_listener_status_info",{label:"address",help:"Current status of the TCP listener socket"}),errors:t.metrics.registerMetricGroup("libp2p_tcp_listener_errors_total",{label:"address",help:"Total count of TCP listener errors by type"}),events:t.metrics.registerMetricGroup("libp2p_tcp_listener_events_total",{label:"address",help:"Total count of TCP listener events by type"})},this.metrics?.status.update({[this.addr]:O.ACTIVE})}this.dispatchEvent(new ce("listening"))}).on("error",e=>{this.metrics?.errors.increment({[`${this.addr} listen_error`]:!0}),this.dispatchEvent(new ce("error",{detail:e}))}).on("close",()=>{this.metrics?.status.update({[this.addr]:this.status.code}),this.status.code!==O.PAUSED&&this.dispatchEvent(new ce("close"))})}onSocket(t){if(this.status.code!==O.ACTIVE)throw new R("Server is is not listening yet","ERR_SERVER_NOT_RUNNING");t.on("error",o=>{$("socket error",o),this.metrics?.events.increment({[`${this.addr} error`]:!0})});let e;try{e=nr(t,{listeningAddr:this.status.listeningAddr,socketInactivityTimeout:this.context.socketInactivityTimeout,socketCloseTimeout:this.context.socketCloseTimeout,metrics:this.metrics?.events,metricPrefix:`${this.addr} `})}catch(o){$.error("inbound connection failed",o),this.metrics?.errors.increment({[`${this.addr} inbound_to_connection`]:!0});return}$("new inbound connection %s",e.remoteAddr);try{this.context.upgrader.upgradeInbound(e).then(o=>{$("inbound connection upgraded %s",e.remoteAddr),this.connections.add(e),t.once("close",()=>{this.connections.delete(e),this.context.closeServerOnMaxConnections!=null&&this.connections.size<this.context.closeServerOnMaxConnections.listenBelow&&this.resume().catch(n=>{$.error("error attempting to listen server once connection count under limit",n),this.context.closeServerOnMaxConnections?.onListenError?.(n)})}),this.context.handler!=null&&this.context.handler(o),this.context.closeServerOnMaxConnections!=null&&this.connections.size>=this.context.closeServerOnMaxConnections.closeAbove&&this.pause(!1).catch(n=>{$.error("error attempting to close server once connection count over limit",n)}),this.dispatchEvent(new ce("connection",{detail:o}))}).catch(async o=>{$.error("inbound connection failed",o),this.metrics?.errors.increment({[`${this.addr} inbound_upgrade`]:!0}),await Cn(e)}).catch(o=>{$.error("closing inbound connection failed",o)})}catch(o){$.error("inbound connection failed",o),Cn(e).catch(n=>{$.error("closing inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_closing_failed`]:!0})})}}getAddrs(){if(this.status.code===O.INACTIVE)return[];let t=[],e=this.server.address(),{listeningAddr:o,peerId:n}=this.status;if(e==null)return[];if(typeof e=="string")t=[o];else try{o.toString().startsWith("/ip4")?t=t.concat(In("ip4",e.address,e.port)):e.family==="IPv6"&&(t=t.concat(In("ip6",e.address,e.port)))}catch(i){$.error("could not turn %s:%s into multiaddr",e.address,e.port,i)}return t.map(i=>n!=null?i.encapsulate(`/p2p/${n}`):i)}async listen(t){if(this.status.code===O.ACTIVE||this.status.code===O.PAUSED)throw new R("server is already listening","ERR_SERVER_ALREADY_LISTENING");let e=t.getPeerId(),o=e==null?t.decapsulateCode(421):t,{backlog:n}=this.context;try{this.status={code:O.ACTIVE,listeningAddr:o,peerId:e,netConfig:le(o,{backlog:n})},await this.resume()}catch(i){throw this.status={code:O.INACTIVE},i}}async close(){await Promise.all([Promise.all(Array.from(this.connections.values()).map(async t=>Cn(t))),this.pause(!0).catch(t=>{$.error("error attempting to close server once connection count over limit",t)})])}async resume(){if(this.server.listening||this.status.code===O.INACTIVE)return;let t=this.status.netConfig;await new Promise((e,o)=>{this.server.once("error",o),this.server.listen(t,e)}),this.status={...this.status,code:O.ACTIVE},$("Listening on %s",this.server.address())}async pause(t){if(!this.server.listening&&this.status.code===O.PAUSED&&t){this.status={code:O.INACTIVE};return}!this.server.listening||this.status.code!==O.ACTIVE||($("Closing server on %s",this.server.address()),this.status=t?{code:O.INACTIVE}:{...this.status,code:O.PAUSED},await new Promise((e,o)=>{this.server.close(n=>{n!=null?o(n):e()})}))}};var bt=F("libp2p:tcp"),vn=class{opts;metrics;components;constructor(t,e={}){this.opts=e,this.components=t,t.metrics!=null&&(this.metrics={dialerEvents:t.metrics.registerCounterGroup("libp2p_tcp_dialer_events_total",{label:"event",help:"Total count of TCP dialer events by type"})})}[ko]=!0;[Symbol.toStringTag]="@libp2p/tcp";async dial(t,e){e.keepAlive=e.keepAlive??!0;let o=await this._connect(t,e);o.on("error",c=>{bt("socket error",c)});let n=nr(o,{remoteAddr:t,socketInactivityTimeout:this.opts.outboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.metrics?.dialerEvents}),i=()=>{n.close().catch(c=>{bt.error("Error closing maConn after abort",c)})};e.signal?.addEventListener("abort",i,{once:!0}),bt("new outbound connection %s",n.remoteAddr);let s=await e.upgrader.upgradeOutbound(n);if(bt("outbound connection %s upgraded",n.remoteAddr),e.signal?.removeEventListener("abort",i),e.signal?.aborted===!0)throw s.close().catch(c=>{bt.error("Error closing conn after abort",c)}),new ie;return s}async _connect(t,e){if(e.signal?.aborted===!0)throw new ie;return new Promise((o,n)=>{let i=Date.now(),s=le(t),c=s.path??`${s.host??""}:${s.port}`;bt("dialing %j",s);let a=di.default.connect(s),h=m=>{m.message=`connection error ${c}: ${m.message}`,this.metrics?.dialerEvents.increment({error:!0}),b(m)},l=()=>{bt("connection timeout %s",c),this.metrics?.dialerEvents.increment({timeout:!0});let m=new R(`connection timeout after ${Date.now()-i}ms`,"ERR_CONNECT_TIMEOUT");a.emit("error",m)},u=()=>{bt("connection opened %j",s),this.metrics?.dialerEvents.increment({connect:!0}),b()},f=()=>{bt("connection aborted %j",s),this.metrics?.dialerEvents.increment({abort:!0}),a.destroy(),b(new ie)},b=m=>{if(a.removeListener("error",h),a.removeListener("timeout",l),a.removeListener("connect",u),e.signal!=null&&e.signal.removeEventListener("abort",f),m!=null){n(m);return}o(a)};a.on("error",h),a.on("timeout",l),a.on("connect",u),e.signal!=null&&e.signal.addEventListener("abort",f)})}createListener(t){return new or({...t,maxConnections:this.opts.maxConnections,backlog:this.opts.backlog,closeServerOnMaxConnections:this.opts.closeServerOnMaxConnections,socketInactivityTimeout:this.opts.inboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.components.metrics})}filter(t){return t=Array.isArray(t)?t:[t],t.filter(e=>e.protoCodes().includes(290)?!1:e.protoCodes().includes(400)?!0:Lt.matches(e.decapsulateCode(421)))}};function fi(r={}){return(t={})=>new vn(t,r)}function ia(r){return r[Symbol.asyncIterator]!=null}function sa(...r){let t=[];for(let e of r)ia(e)||t.push(e);return t.length===r.length?function*(){for(let e of t)yield*e}():async function*(){let e=vt({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(r.map(async o=>{for await(let n of o)e.push(n)})),e.end()}catch(o){e.end(o)}}),yield*e}()}var hi=sa;function ir(r,...t){if(r==null)throw new Error("Empty pipeline");if(Sn(r)){let o=r;r=()=>o.source}else if(mi(r)||pi(r)){let o=r;r=()=>o}let e=[r,...t];if(e.length>1&&Sn(e[e.length-1])&&(e[e.length-1]=e[e.length-1].sink),e.length>2)for(let o=1;o<e.length-1;o++)Sn(e[o])&&(e[o]=aa(e[o]));return ca(...e)}var ca=(...r)=>{let t;for(;r.length>0;)t=r.shift()(t);return t},pi=r=>r?.[Symbol.asyncIterator]!=null,mi=r=>r?.[Symbol.iterator]!=null,Sn=r=>r==null?!1:r.sink!=null&&r.source!=null,aa=r=>t=>{let e=r.sink(t);if(e?.then!=null){let o=vt({objectMode:!0});e.then(()=>{o.end()},s=>{o.end(s)});let n,i=r.source;if(pi(i))n=async function*(){yield*i,o.end()};else if(mi(i))n=function*(){yield*i,o.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return hi(o,n())}return r.source};function la(r){return r[Symbol.asyncIterator]!=null}function ua(r){if(la(r))return(async()=>{for await(let t of r);})();for(let t of r);}var Tn=ua;function P(r){return Ut.encode({type:Ut.Type.OK,peers:[],...r}).subarray()}function C(r){return Ut.encode({type:Ut.Type.ERROR,error:{msg:r.message},peers:[]}).subarray()}var sr=F("libp2p:daemon-server:dht"),cr=class{dht;constructor(t){let{dht:e}=t;this.dht=e}async*provide(t){try{await Tn(this.dht.provide(t)),yield P()}catch(e){sr.error(e),yield C(e)}}async*getClosestPeers(t){yield P({dht:{type:U.Type.BEGIN}});for await(let e of this.dht.getClosestPeers(t))e.name==="PEER_RESPONSE"&&(yield*e.closer.map(o=>U.encode({type:U.Type.VALUE,value:o.id.toBytes()})));yield U.encode({type:U.Type.END})}async*getPublicKey(t){yield C(new Error("FIX ME: not implemented"))}async*getValue(t){try{for await(let e of this.dht.get(t))e.name==="VALUE"&&(yield P({dht:{type:U.Type.VALUE,value:e.value}}))}catch(e){sr.error(e),yield C(e)}}async*putValue(t,e){try{await Tn(this.dht.put(t,e)),yield P()}catch(o){sr.error(o),yield C(o)}}async*findPeer(t){try{for await(let e of this.dht.findPeer(t))e.name==="FINAL_PEER"&&(yield P({dht:{type:U.Type.VALUE,peer:{id:e.peer.id.toBytes(),addrs:e.peer.multiaddrs.map(o=>o.bytes)}}}));throw new Error("Peer not found")}catch(e){sr.error(e),yield C(e)}}async*findProviders(t,e){yield P({dht:{type:U.Type.BEGIN}});try{let o=e,n=0;for await(let i of this.dht.findProviders(t))if(i.name==="PEER_RESPONSE"){for(let s of i.providers)n++,yield U.encode({type:U.Type.VALUE,peer:{id:s.id.toBytes(),addrs:(s.multiaddrs??[]).map(c=>c.bytes)}});if(o===n)break}}catch(o){yield C(o)}yield U.encode({type:U.Type.END})}};var ar=F("libp2p:daemon-server:pubsub"),lr=class{pubsub;constructor(t){let{pubsub:e}=t;this.pubsub=e}async*getTopics(){try{yield P({pubsub:{topics:this.pubsub.getTopics(),peerIDs:[]}})}catch(t){ar.error(t),yield C(t)}}async*subscribe(t){try{let e=vt();this.pubsub.subscribe(t),this.pubsub.addEventListener("message",o=>{let n=o.detail;n.topic===t&&(n.type==="signed"?e.push(ge.encode({from:n.from.toBytes(),data:n.data,seqno:n.sequenceNumber==null?void 0:Rt(n.sequenceNumber.toString(16).padStart(16,"0"),"base16"),topicIDs:[n.topic],signature:n.signature,key:n.key}).subarray()):e.push(ge.encode({data:n.data,topicIDs:[n.topic]}).subarray()))}),yield P(),yield*e}catch(e){ar.error(e),yield C(e)}}async*publish(t,e){try{await this.pubsub.publish(t,e),yield P()}catch(o){ar.error(o),yield C(o)}}async*listPeers(t){try{yield P({pubsub:{topics:[t],peerIDs:this.pubsub.getSubscribers(t).map(e=>e.toBytes())}})}catch(e){ar.error(e),yield C(e)}}};var da=1<<22,Y=F("libp2p:daemon-server"),ur=class{multiaddr;libp2p;tcp;listener;dhtOperations;pubsubOperations;constructor(t){let{multiaddr:e,libp2pNode:o}=t;this.multiaddr=e,this.libp2p=o,this.tcp=fi()({logger:po()}),this.listener=this.tcp.createListener({handler:this.handleConnection.bind(this),upgrader:en}),this._onExit=this._onExit.bind(this),o.services.dht!=null&&(this.dhtOperations=new cr({dht:o.services.dht})),o.services.pubsub!=null&&(this.pubsubOperations=new lr({pubsub:o.services.pubsub}))}async connect(t){if(t.connect==null||t.connect.addrs==null)throw new Error("Invalid request");let e=t.connect.peer,o=t.connect.addrs.map(i=>ct(i)),n=Gt(e);return Y("connect - adding multiaddrs %a to peer %p",o,n),await this.libp2p.peerStore.merge(n,{multiaddrs:o}),Y("connect - dial %p",n),this.libp2p.dial(n)}async openStream(t){if(t.streamOpen==null||t.streamOpen.proto==null)throw new Error("Invalid request");let{peer:e,proto:o}=t.streamOpen,n=Gt(e);Y("openStream - dial %p",n);let i=await this.libp2p.dial(n);Y("openStream - open stream for protocol %s",o);let s=await i.newStream(o,{runOnTransientConnection:!0});return{streamInfo:{peer:n.toBytes(),addr:i.remoteAddr.bytes,proto:s.protocol??""},connection:s}}async registerStreamHandler(t){if(t.streamHandler==null||t.streamHandler.proto==null)throw new Error("Invalid request");let e=t.streamHandler.proto,o=ct(t.streamHandler.addr),n;Y("registerStreamHandler - handle %s",e),await this.libp2p.handle(e,({connection:i,stream:s})=>{Promise.resolve().then(async()=>{n=await this.tcp.dial(o,{upgrader:en});let c=Jt.encode({peer:i.remotePeer.toBytes(),addr:i.remoteAddr.bytes,proto:s.protocol??""}),a=ne.single(c);await ir(async function*(){yield a,yield*s.source}(),async function*(h){for await(let l of h)yield*l},n,s.sink)}).catch(async c=>{Y.error(c),n!=null&&await n.close(c)}).finally(()=>{n?.close().catch(c=>{Y.error(c)})})},{runOnTransientConnection:!0})}_listen(){process.on("SIGTERM",this._onExit),process.on("SIGINT",this._onExit),process.on("SIGHUP",this._onExit)}_onExit(){this.stop({exit:!0}).catch(t=>{Y.error(t)})}async start(){this._listen(),await this.libp2p.start(),await this.listener.listen(this.multiaddr)}getMultiaddr(){let t=this.listener.getAddrs();if(t.length>0)return t[0];throw new Error("Not started")}async stop(t={exit:!1}){await this.libp2p.stop(),await this.listener.close(),t.exit&&Y("server closed, exiting"),process.removeListener("SIGTERM",this._onExit),process.removeListener("SIGINT",this._onExit),process.removeListener("SIGHUP",this._onExit)}async*handlePeerStoreRequest(t){try{switch(t.type){case _t.Type.GET_PROTOCOLS:if(t.id==null)throw new Error("Invalid request");let e=Gt(t.id),n=(await this.libp2p.peerStore.get(e)).protocols;yield P({peerStore:{protos:n}});return;case _t.Type.GET_PEER_INFO:throw new Error("ERR_NOT_IMPLEMENTED");default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(e){Y.error(e),yield C(e)}}async*handlePubsubRequest(t){try{if(this.libp2p.services.pubsub==null||this.pubsubOperations==null)throw new Error("PubSub not configured");switch(t.type){case gt.Type.GET_TOPICS:yield*this.pubsubOperations.getTopics();return;case gt.Type.SUBSCRIBE:if(t.topic==null)throw new Error("Invalid request");yield*this.pubsubOperations.subscribe(t.topic);return;case gt.Type.PUBLISH:if(t.topic==null||t.data==null)throw new Error("Invalid request");yield*this.pubsubOperations.publish(t.topic,t.data);return;case gt.Type.LIST_PEERS:if(t.topic==null)throw new Error("Invalid request");yield*this.pubsubOperations.listPeers(t.topic);return;default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(e){Y.error(e),yield C(e)}}async*handleDHTRequest(t){try{if(this.libp2p.services.dht==null||this.dhtOperations==null)throw new Error("DHT not configured");switch(t.type){case ot.Type.FIND_PEER:if(t.peer==null)throw new Error("Invalid request");yield*this.dhtOperations.findPeer(Gt(t.peer));return;case ot.Type.FIND_PROVIDERS:if(t.cid==null)throw new Error("Invalid request");yield*this.dhtOperations.findProviders(W.decode(t.cid),t.count??20);return;case ot.Type.PROVIDE:if(t.cid==null)throw new Error("Invalid request");yield*this.dhtOperations.provide(W.decode(t.cid));return;case ot.Type.GET_CLOSEST_PEERS:if(t.key==null)throw new Error("Invalid request");yield*this.dhtOperations.getClosestPeers(t.key);return;case ot.Type.GET_PUBLIC_KEY:if(t.peer==null)throw new Error("Invalid request");yield*this.dhtOperations.getPublicKey(Gt(t.peer));return;case ot.Type.GET_VALUE:if(t.key==null)throw new Error("Invalid request");yield*this.dhtOperations.getValue(t.key);return;case ot.Type.PUT_VALUE:if(t.key==null||t.value==null)throw new Error("Invalid request");yield*this.dhtOperations.putValue(t.key,t.value);return;default:throw new Error("ERR_INVALID_REQUEST_TYPE")}}catch(e){Y.error(e),yield C(e)}}handleConnection(t){let e=this,o=new Xe({stream:t,maxLength:da});ir(o.decoder,n=>async function*(){let i;for await(let s of n)try{switch(i=nt.decode(s),i.type){case nt.Type.CONNECT:{try{await e.connect(i)}catch(c){yield C(c);break}yield P();break}case nt.Type.IDENTIFY:{yield P({identify:{id:e.libp2p.peerId.toBytes(),addrs:e.libp2p.getMultiaddrs().map(c=>c.decapsulateCode(x("p2p").code)).map(c=>c.bytes)}});break}case nt.Type.LIST_PEERS:{let c=[],a=new Set;for(let h of e.libp2p.getConnections()){let l=h.remotePeer.toString();a.has(l)||(a.add(l),c.push({id:h.remotePeer.toBytes(),addrs:[h.remoteAddr.bytes]}))}yield P({peers:c});break}case nt.Type.STREAM_OPEN:{let c;try{c=await e.openStream(i)}catch(h){yield C(h);break}yield P({streamInfo:c.streamInfo});let a=o.rest();await ir(a,c.connection,async function*(h){for await(let l of h)yield*l},a);return}case nt.Type.STREAM_HANDLER:{try{await e.registerStreamHandler(i)}catch(c){yield C(c);break}yield P();break}case nt.Type.PEERSTORE:{if(i.peerStore==null){yield C(new Error("ERR_INVALID_REQUEST"));break}yield*e.handlePeerStoreRequest(i.peerStore);break}case nt.Type.PUBSUB:{if(i.pubsub==null){yield C(new Error("ERR_INVALID_REQUEST"));break}yield*e.handlePubsubRequest(i.pubsub);break}case nt.Type.DHT:{if(i.dht==null){yield C(new Error("ERR_INVALID_REQUEST"));break}yield*e.handleDHTRequest(i.dht);break}default:yield C(new Error("ERR_INVALID_REQUEST_TYPE"));break}}catch(c){Y.error(c),yield C(c);continue}}(),async function(n){for await(let i of n)o.write(i)}).catch(n=>{Y(n)})}},fa=(r,t)=>new ur({multiaddr:r,libp2pNode:t});return xi(ha);})();
7
7
  return Libp2PDaemonServer}));
@@ -16,9 +16,9 @@ export interface DaemonInit {
16
16
  }>;
17
17
  }
18
18
  export interface Libp2pServer {
19
- start: () => Promise<void>;
20
- stop: () => Promise<void>;
21
- getMultiaddr: () => Multiaddr;
19
+ start(): Promise<void>;
20
+ stop(): Promise<void>;
21
+ getMultiaddr(): Multiaddr;
22
22
  }
23
23
  export declare class Server implements Libp2pServer {
24
24
  private readonly multiaddr;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,UAAU,EACX,MAAM,yBAAyB,CAAA;AAahC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAuB,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAE3F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAKxD,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,UAAU,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,SAAS,CAAA;IACpB,UAAU,EAAE,MAAM,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAE,CAAC,CAAA;CACvD;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC1B,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IACzB,YAAY,EAAE,MAAM,SAAS,CAAA;CAC9B;AAED,qBAAa,MAAO,YAAW,YAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IACnE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAW;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAkB;gBAEvC,IAAI,EAAE,UAAU;IAqB7B;;OAEG;IACG,OAAO,CAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAerD;;OAEG;IACG,UAAU,CAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAsBxD;;;;OAIG;IACG,qBAAqB,CAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IA+D7D;;OAEG;IACH,OAAO,IAAK,IAAI;IAOhB,OAAO,IAAK,IAAI;IAMhB;;OAEG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAM7B,YAAY,IAAK,SAAS;IAU1B;;OAEG;IACG,IAAI,CAAE,OAAO;;KAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAW7C,sBAAsB,CAAE,OAAO,EAAE,gBAAgB,GAAG,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC;IAwBvG;;OAEG;IACK,mBAAmB,CAAE,OAAO,EAAE,SAAS,GAAG,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC;IAwC7F;;OAEG;IACK,gBAAgB,CAAE,OAAO,EAAE,UAAU,GAAG,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC;IAiE3F;;OAEG;IACH,gBAAgB,CAAE,UAAU,EAAE,UAAU,GAAG,IAAI;CAoJhD;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,cAAe,SAAS,cAAc,OAAO;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC,KAAG,YAO3G,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,OAAO,EACP,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,UAAU,EACX,MAAM,yBAAyB,CAAA;AAahC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAC5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAuB,MAAM,EAAE,MAAM,8BAA8B,CAAA;AAE3F,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAKxD,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,UAAU,CAAA;IACtB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE,SAAS,CAAA;IACpB,UAAU,EAAE,MAAM,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,SAAS,CAAA;KAAE,CAAC,CAAA;CACvD;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACrB,YAAY,IAAI,SAAS,CAAA;CAC1B;AAED,qBAAa,MAAO,YAAW,YAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4C;IACnE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAW;IAC/B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAU;IACnC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAe;IAC9C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAkB;gBAEvC,IAAI,EAAE,UAAU;IAwB7B;;OAEG;IACG,OAAO,CAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IAkBrD;;OAEG;IACG,UAAU,CAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;IA0BxD;;;;OAIG;IACG,qBAAqB,CAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAgE7D;;OAEG;IACH,OAAO,IAAK,IAAI;IAOhB,OAAO,IAAK,IAAI;IAMhB;;OAEG;IACG,KAAK,IAAK,OAAO,CAAC,IAAI,CAAC;IAM7B,YAAY,IAAK,SAAS;IAU1B;;OAEG;IACG,IAAI,CAAE,OAAO;;KAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAW7C,sBAAsB,CAAE,OAAO,EAAE,gBAAgB,GAAG,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC;IAwBvG;;OAEG;IACK,mBAAmB,CAAE,OAAO,EAAE,SAAS,GAAG,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC;IAwC7F;;OAEG;IACK,gBAAgB,CAAE,OAAO,EAAE,UAAU,GAAG,cAAc,CAAC,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC;IAiE3F;;OAEG;IACH,gBAAgB,CAAE,UAAU,EAAE,UAAU,GAAG,IAAI;CAoJhD;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,cAAe,SAAS,cAAc,OAAO;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,CAAA;CAAE,CAAC,KAAG,YAO3G,CAAA"}
package/dist/src/index.js CHANGED
@@ -2,7 +2,7 @@
2
2
  import { Request, DHTRequest, PeerstoreRequest, PSRequest, StreamInfo } from '@libp2p/daemon-protocol';
3
3
  import { StreamHandler } from '@libp2p/daemon-protocol/stream-handler';
4
4
  import { passThroughUpgrader } from '@libp2p/daemon-protocol/upgrader';
5
- import { logger } from '@libp2p/logger';
5
+ import { defaultLogger, logger } from '@libp2p/logger';
6
6
  import { peerIdFromBytes } from '@libp2p/peer-id';
7
7
  import { tcp } from '@libp2p/tcp';
8
8
  import { multiaddr, protocols } from '@multiformats/multiaddr';
@@ -25,7 +25,10 @@ export class Server {
25
25
  const { multiaddr, libp2pNode } = init;
26
26
  this.multiaddr = multiaddr;
27
27
  this.libp2p = libp2pNode;
28
- this.tcp = tcp()();
28
+ this.tcp = tcp()({
29
+ // @ts-expect-error this field will be present post v1
30
+ logger: defaultLogger()
31
+ });
29
32
  this.listener = this.tcp.createListener({
30
33
  handler: this.handleConnection.bind(this),
31
34
  upgrader: passThroughUpgrader
@@ -48,9 +51,11 @@ export class Server {
48
51
  const peer = request.connect.peer;
49
52
  const addrs = request.connect.addrs.map((a) => multiaddr(a));
50
53
  const peerId = peerIdFromBytes(peer);
54
+ log('connect - adding multiaddrs %a to peer %p', addrs, peerId);
51
55
  await this.libp2p.peerStore.merge(peerId, {
52
56
  multiaddrs: addrs
53
57
  });
58
+ log('connect - dial %p', peerId);
54
59
  return this.libp2p.dial(peerId);
55
60
  }
56
61
  /**
@@ -62,7 +67,9 @@ export class Server {
62
67
  }
63
68
  const { peer, proto } = request.streamOpen;
64
69
  const peerId = peerIdFromBytes(peer);
70
+ log('openStream - dial %p', peerId);
65
71
  const connection = await this.libp2p.dial(peerId);
72
+ log('openStream - open stream for protocol %s', proto);
66
73
  const stream = await connection.newStream(proto, {
67
74
  runOnTransientConnection: true
68
75
  });
@@ -87,6 +94,7 @@ export class Server {
87
94
  const protocols = request.streamHandler.proto;
88
95
  const addr = multiaddr(request.streamHandler.addr);
89
96
  let conn;
97
+ log('registerStreamHandler - handle %s', protocols);
90
98
  await this.libp2p.handle(protocols, ({ connection, stream }) => {
91
99
  Promise.resolve()
92
100
  .then(async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  {
2
- "Libp2pServer": "https://libp2p.github.io/js-libp2p-daemon/interfaces/_libp2p_daemon.unknown.Libp2pServer.html",
3
- "DHTOperations": "https://libp2p.github.io/js-libp2p-daemon/classes/_libp2p_daemon_server.unknown.DHTOperations.html",
4
- "PubSubOperations": "https://libp2p.github.io/js-libp2p-daemon/classes/_libp2p_daemon_server.unknown.PubSubOperations.html",
5
- "DHTOperationsInit": "https://libp2p.github.io/js-libp2p-daemon/interfaces/_libp2p_daemon_server.unknown.DHTOperationsInit.html",
6
- "PubSubOperationsInit": "https://libp2p.github.io/js-libp2p-daemon/interfaces/_libp2p_daemon_server.unknown.PubSubOperationsInit.html",
7
2
  "Server": "https://libp2p.github.io/js-libp2p-daemon/classes/_libp2p_daemon_server.Server.html",
3
+ ".:Server": "https://libp2p.github.io/js-libp2p-daemon/classes/_libp2p_daemon_server.Server.html",
8
4
  "DaemonInit": "https://libp2p.github.io/js-libp2p-daemon/interfaces/_libp2p_daemon_server.DaemonInit.html",
5
+ ".:DaemonInit": "https://libp2p.github.io/js-libp2p-daemon/interfaces/_libp2p_daemon_server.DaemonInit.html",
6
+ "Libp2pServer": "https://libp2p.github.io/js-libp2p-daemon/interfaces/_libp2p_daemon_server.Libp2pServer.html",
7
+ ".:Libp2pServer": "https://libp2p.github.io/js-libp2p-daemon/interfaces/_libp2p_daemon_server.Libp2pServer.html",
9
8
  "OpenStream": "https://libp2p.github.io/js-libp2p-daemon/interfaces/_libp2p_daemon_server.OpenStream.html",
10
- "createServer": "https://libp2p.github.io/js-libp2p-daemon/functions/_libp2p_daemon_server.createServer.html"
9
+ ".:OpenStream": "https://libp2p.github.io/js-libp2p-daemon/interfaces/_libp2p_daemon_server.OpenStream.html",
10
+ "createServer": "https://libp2p.github.io/js-libp2p-daemon/functions/_libp2p_daemon_server.createServer.html",
11
+ ".:createServer": "https://libp2p.github.io/js-libp2p-daemon/functions/_libp2p_daemon_server.createServer.html"
11
12
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@libp2p/daemon-server",
3
- "version": "6.0.1",
3
+ "version": "6.0.3",
4
4
  "description": "API server for libp2p-daemon instances",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p-daemon/tree/master/packages/libp2p-daemon-server#readme",
@@ -31,6 +31,7 @@
31
31
  "eslintConfig": {
32
32
  "extends": "ipfs",
33
33
  "parserOptions": {
34
+ "project": true,
34
35
  "sourceType": "module"
35
36
  },
36
37
  "ignorePatterns": [
@@ -150,7 +151,7 @@
150
151
  "uint8arrays": "^4.0.4"
151
152
  },
152
153
  "devDependencies": {
153
- "aegir": "^40.0.1",
154
- "sinon-ts": "^1.0.0"
154
+ "aegir": "^41.1.6",
155
+ "sinon-ts": "^2.0.0"
155
156
  }
156
157
  }
package/src/index.ts CHANGED
@@ -9,7 +9,7 @@ import {
9
9
  } from '@libp2p/daemon-protocol'
10
10
  import { StreamHandler } from '@libp2p/daemon-protocol/stream-handler'
11
11
  import { passThroughUpgrader } from '@libp2p/daemon-protocol/upgrader'
12
- import { logger } from '@libp2p/logger'
12
+ import { defaultLogger, logger } from '@libp2p/logger'
13
13
  import { peerIdFromBytes } from '@libp2p/peer-id'
14
14
  import { tcp } from '@libp2p/tcp'
15
15
  import { multiaddr, protocols } from '@multiformats/multiaddr'
@@ -40,9 +40,9 @@ export interface DaemonInit {
40
40
  }
41
41
 
42
42
  export interface Libp2pServer {
43
- start: () => Promise<void>
44
- stop: () => Promise<void>
45
- getMultiaddr: () => Multiaddr
43
+ start(): Promise<void>
44
+ stop(): Promise<void>
45
+ getMultiaddr(): Multiaddr
46
46
  }
47
47
 
48
48
  export class Server implements Libp2pServer {
@@ -58,7 +58,10 @@ export class Server implements Libp2pServer {
58
58
 
59
59
  this.multiaddr = multiaddr
60
60
  this.libp2p = libp2pNode
61
- this.tcp = tcp()()
61
+ this.tcp = tcp()({
62
+ // @ts-expect-error this field will be present post v1
63
+ logger: defaultLogger()
64
+ })
62
65
  this.listener = this.tcp.createListener({
63
66
  handler: this.handleConnection.bind(this),
64
67
  upgrader: passThroughUpgrader
@@ -86,9 +89,12 @@ export class Server implements Libp2pServer {
86
89
  const addrs = request.connect.addrs.map((a) => multiaddr(a))
87
90
  const peerId = peerIdFromBytes(peer)
88
91
 
92
+ log('connect - adding multiaddrs %a to peer %p', addrs, peerId)
89
93
  await this.libp2p.peerStore.merge(peerId, {
90
94
  multiaddrs: addrs
91
95
  })
96
+
97
+ log('connect - dial %p', peerId)
92
98
  return this.libp2p.dial(peerId)
93
99
  }
94
100
 
@@ -102,7 +108,11 @@ export class Server implements Libp2pServer {
102
108
 
103
109
  const { peer, proto } = request.streamOpen
104
110
  const peerId = peerIdFromBytes(peer)
111
+
112
+ log('openStream - dial %p', peerId)
105
113
  const connection = await this.libp2p.dial(peerId)
114
+
115
+ log('openStream - open stream for protocol %s', proto)
106
116
  const stream = await connection.newStream(proto, {
107
117
  runOnTransientConnection: true
108
118
  })
@@ -131,6 +141,7 @@ export class Server implements Libp2pServer {
131
141
  const addr = multiaddr(request.streamHandler.addr)
132
142
  let conn: MultiaddrConnection
133
143
 
144
+ log('registerStreamHandler - handle %s', protocols)
134
145
  await this.libp2p.handle(protocols, ({ connection, stream }) => {
135
146
  Promise.resolve()
136
147
  .then(async () => {