@libp2p/tcp 6.0.7 → 6.0.9
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 +1 -1
- package/dist/index.min.js +4 -4
- package/dist/src/constants.d.ts +1 -1
- package/dist/src/constants.d.ts.map +1 -1
- package/dist/src/constants.js +1 -1
- package/dist/src/constants.js.map +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -3
- package/dist/src/index.js.map +1 -1
- package/dist/src/socket-to-conn.js +4 -4
- package/dist/src/socket-to-conn.js.map +1 -1
- package/package.json +2 -3
- package/src/constants.ts +1 -1
- package/src/index.ts +2 -3
- package/src/socket-to-conn.ts +4 -4
package/README.md
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
[](http://libp2p.io/)
|
|
4
4
|
[](https://discuss.libp2p.io)
|
|
5
5
|
[](https://codecov.io/gh/libp2p/js-libp2p-tcp)
|
|
6
|
-
[](https://github.com/libp2p/js-libp2p-tcp/actions/workflows/js-test-and-release.yml?query=branch%3Amaster)
|
|
7
7
|
|
|
8
8
|
> A TCP transport for libp2p
|
|
9
9
|
|
package/dist/index.min.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PTcp = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Libp2PTcp=(()=>{var Pi=Object.create;var Se=Object.defineProperty;var Fi=Object.getOwnPropertyDescriptor;var ki=Object.getOwnPropertyNames;var Ni=Object.getPrototypeOf,Ui=Object.prototype.hasOwnProperty;var dt=(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 new Error('Dynamic require of "'+r+'" is not supported')});var F=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),rt=(r,t)=>{for(var e in t)Se(r,e,{get:t[e],enumerable:!0})},yn=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of ki(t))!Ui.call(r,i)&&i!==e&&Se(r,i,{get:()=>t[i],enumerable:!(n=Fi(t,i))||n.enumerable});return r};var k=(r,t,e)=>(e=r!=null?Pi(Ni(r)):{},yn(t||!r||!r.__esModule?Se(e,"default",{value:r,enumerable:!0}):e,r)),Li=r=>yn(Se({},"__esModule",{value:!0}),r);var jn=F((Ef,$n)=>{$n.exports=Ir;var Ln=128,Ka=127,Qa=~Ka,tc=Math.pow(2,31);function Ir(r,t,e){if(Number.MAX_SAFE_INTEGER&&r>Number.MAX_SAFE_INTEGER)throw Ir.bytes=0,new RangeError("Could not encode varint");t=t||[],e=e||0;for(var n=e;r>=tc;)t[e++]=r&255|Ln,r/=128;for(;r&Qa;)t[e++]=r&255|Ln,r>>>=7;return t[e]=r|0,Ir.bytes=e-n+1,t}});var qn=F((Cf,zn)=>{zn.exports=Br;var ec=128,Vn=127;function Br(r,n){var e=0,n=n||0,i=0,u=n,l,d=r.length;do{if(u>=d||i>49)throw Br.bytes=0,new RangeError("Could not decode varint");l=r[u++],e+=i<28?(l&Vn)<<i:(l&Vn)*Math.pow(2,i),i+=7}while(l>=ec);return Br.bytes=u-n,e}});var Zn=F((Af,Gn)=>{var rc=Math.pow(2,7),nc=Math.pow(2,14),sc=Math.pow(2,21),oc=Math.pow(2,28),ic=Math.pow(2,35),ac=Math.pow(2,42),cc=Math.pow(2,49),uc=Math.pow(2,56),fc=Math.pow(2,63);Gn.exports=function(r){return r<rc?1:r<nc?2:r<sc?3:r<oc?4:r<ic?5:r<ac?6:r<cc?7:r<uc?8:r<fc?9:10}});var Re=F((If,Hn)=>{Hn.exports={encode:jn(),decode:qn(),encodingLength:Zn()}});var fe=F((Hf,rs)=>{"use strict";function es(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function Ic(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 es(r,e)}catch{e.message=r.message,e.stack=r.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(r)),es(new i,e)}}rs.exports=Ic});var ms=F((ol,ds)=>{var Jt=1e3,Yt=Jt*60,Kt=Yt*60,kt=Kt*24,Uc=kt*7,Lc=kt*365.25;ds.exports=function(r,t){t=t||{};var e=typeof r;if(e==="string"&&r.length>0)return $c(r);if(e==="number"&&isFinite(r))return t.long?Vc(r):jc(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function $c(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*Lc;case"weeks":case"week":case"w":return e*Uc;case"days":case"day":case"d":return e*kt;case"hours":case"hour":case"hrs":case"hr":case"h":return e*Kt;case"minutes":case"minute":case"mins":case"min":case"m":return e*Yt;case"seconds":case"second":case"secs":case"sec":case"s":return e*Jt;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:return}}}}function jc(r){var t=Math.abs(r);return t>=kt?Math.round(r/kt)+"d":t>=Kt?Math.round(r/Kt)+"h":t>=Yt?Math.round(r/Yt)+"m":t>=Jt?Math.round(r/Jt)+"s":r+"ms"}function Vc(r){var t=Math.abs(r);return t>=kt?Pe(r,t,kt,"day"):t>=Kt?Pe(r,t,Kt,"hour"):t>=Yt?Pe(r,t,Yt,"minute"):t>=Jt?Pe(r,t,Jt,"second"):r+" ms"}function Pe(r,t,e,n){var i=t>=e*1.5;return Math.round(r/e)+" "+n+(i?"s":"")}});var jr=F((il,gs)=>{function zc(r){e.debug=e,e.default=e,e.coerce=b,e.disable=u,e.enable=i,e.enabled=l,e.humanize=ms(),e.destroy=A,Object.keys(r).forEach(f=>{e[f]=r[f]}),e.names=[],e.skips=[],e.formatters={};function t(f){let w=0;for(let v=0;v<f.length;v++)w=(w<<5)-w+f.charCodeAt(v),w|=0;return e.colors[Math.abs(w)%e.colors.length]}e.selectColor=t;function e(f){let w,v=null,x,m;function C(...B){if(!C.enabled)return;let S=C,I=Number(new Date),P=I-(w||I);S.diff=P,S.prev=w,S.curr=I,w=I,B[0]=e.coerce(B[0]),typeof B[0]!="string"&&B.unshift("%O");let U=0;B[0]=B[0].replace(/%([a-zA-Z%])/g,(J,W)=>{if(J==="%%")return"%";U++;let Y=e.formatters[W];if(typeof Y=="function"){let at=B[U];J=Y.call(S,at),B.splice(U,1),U--}return J}),e.formatArgs.call(S,B),(S.log||e.log).apply(S,B)}return C.namespace=f,C.useColors=e.useColors(),C.color=e.selectColor(f),C.extend=n,C.destroy=e.destroy,Object.defineProperty(C,"enabled",{enumerable:!0,configurable:!1,get:()=>v!==null?v:(x!==e.namespaces&&(x=e.namespaces,m=e.enabled(f)),m),set:B=>{v=B}}),typeof e.init=="function"&&e.init(C),C}function n(f,w){let v=e(this.namespace+(typeof w>"u"?":":w)+f);return v.log=this.log,v}function i(f){e.save(f),e.namespaces=f,e.names=[],e.skips=[];let w,v=(typeof f=="string"?f:"").split(/[\s,]+/),x=v.length;for(w=0;w<x;w++)v[w]&&(f=v[w].replace(/\*/g,".*?"),f[0]==="-"?e.skips.push(new RegExp("^"+f.slice(1)+"$")):e.names.push(new RegExp("^"+f+"$")))}function u(){let f=[...e.names.map(d),...e.skips.map(d).map(w=>"-"+w)].join(",");return e.enable(""),f}function l(f){if(f[f.length-1]==="*")return!0;let w,v;for(w=0,v=e.skips.length;w<v;w++)if(e.skips[w].test(f))return!1;for(w=0,v=e.names.length;w<v;w++)if(e.names[w].test(f))return!0;return!1}function d(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function b(f){return f instanceof Error?f.stack||f.message:f}function A(){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}gs.exports=zc});var bs=F((nt,Fe)=>{nt.formatArgs=Gc;nt.save=Zc;nt.load=Hc;nt.useColors=qc;nt.storage=Wc();nt.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`."))}})();nt.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 qc(){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 Gc(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+Fe.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)}nt.log=console.debug||console.log||(()=>{});function Zc(r){try{r?nt.storage.setItem("debug",r):nt.storage.removeItem("debug")}catch{}}function Hc(){let r;try{r=nt.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function Wc(){try{return localStorage}catch{}}Fe.exports=jr()(nt);var{formatters:Xc}=Fe.exports;Xc.j=function(r){try{return JSON.stringify(r)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var ws=F((al,ys)=>{"use strict";ys.exports=(r,t=process.argv)=>{let e=r.startsWith("-")?"":r.length===1?"-":"--",n=t.indexOf(e+r),i=t.indexOf("--");return n!==-1&&(i===-1||n<i)}});var xs=F((cl,Ts)=>{"use strict";var Jc=dt("os"),vs=dt("tty"),it=ws(),{env:j}=process,Rt;it("no-color")||it("no-colors")||it("color=false")||it("color=never")?Rt=0:(it("color")||it("colors")||it("color=true")||it("color=always"))&&(Rt=1);"FORCE_COLOR"in j&&(j.FORCE_COLOR==="true"?Rt=1:j.FORCE_COLOR==="false"?Rt=0:Rt=j.FORCE_COLOR.length===0?1:Math.min(parseInt(j.FORCE_COLOR,10),3));function Vr(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function zr(r,t){if(Rt===0)return 0;if(it("color=16m")||it("color=full")||it("color=truecolor"))return 3;if(it("color=256"))return 2;if(r&&!t&&Rt===void 0)return 0;let e=Rt||0;if(j.TERM==="dumb")return e;if(process.platform==="win32"){let n=Jc.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in j)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in j)||j.CI_NAME==="codeship"?1:e;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 n=parseInt((j.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(j.TERM_PROGRAM){case"iTerm.app":return n>=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:e}function Yc(r){let t=zr(r,r&&r.isTTY);return Vr(t)}Ts.exports={supportsColor:Yc,stdout:Vr(zr(!0,vs.isatty(1))),stderr:Vr(zr(!0,vs.isatty(2)))}});var Es=F((V,Ne)=>{var Kc=dt("tty"),ke=dt("util");V.init=ou;V.log=ru;V.formatArgs=tu;V.save=nu;V.load=su;V.useColors=Qc;V.destroy=ke.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");V.colors=[6,2,3,4,5,1];try{let r=xs();r&&(r.stderr||r).level>=2&&(V.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{}V.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,u)=>u.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 Qc(){return"colors"in V.inspectOpts?Boolean(V.inspectOpts.colors):Kc.isatty(process.stderr.fd)}function tu(r){let{namespace:t,useColors:e}=this;if(e){let n=this.color,i="\x1B[3"+(n<8?n:"8;5;"+n),u=` ${i};1m${t} \x1B[0m`;r[0]=u+r[0].split(`
|
|
2
|
+
"use strict";var Libp2PTcp=(()=>{var ki=Object.create;var Se=Object.defineProperty;var Ni=Object.getOwnPropertyDescriptor;var Li=Object.getOwnPropertyNames;var $i=Object.getPrototypeOf,Ui=Object.prototype.hasOwnProperty;var dt=(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 new Error('Dynamic require of "'+r+'" is not supported')});var k=(r,t)=>()=>(t||r((t={exports:{}}).exports,t),t.exports),rt=(r,t)=>{for(var e in t)Se(r,e,{get:t[e],enumerable:!0})},yn=(r,t,e,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Li(t))!Ui.call(r,i)&&i!==e&&Se(r,i,{get:()=>t[i],enumerable:!(n=Ni(t,i))||n.enumerable});return r};var U=(r,t,e)=>(e=r!=null?ki($i(r)):{},yn(t||!r||!r.__esModule?Se(e,"default",{value:r,enumerable:!0}):e,r)),ji=r=>yn(Se({},"__esModule",{value:!0}),r);var Vn=k((Sf,jn)=>{jn.exports=Ar;var Un=128,Qa=127,tc=~Qa,ec=Math.pow(2,31);function Ar(r,t,e){if(Number.MAX_SAFE_INTEGER&&r>Number.MAX_SAFE_INTEGER)throw Ar.bytes=0,new RangeError("Could not encode varint");t=t||[],e=e||0;for(var n=e;r>=ec;)t[e++]=r&255|Un,r/=128;for(;r&tc;)t[e++]=r&255|Un,r>>>=7;return t[e]=r|0,Ar.bytes=e-n+1,t}});var Gn=k((Ef,qn)=>{qn.exports=Ir;var rc=128,zn=127;function Ir(r,n){var e=0,n=n||0,i=0,u=n,l,d=r.length;do{if(u>=d||i>49)throw Ir.bytes=0,new RangeError("Could not decode varint");l=r[u++],e+=i<28?(l&zn)<<i:(l&zn)*Math.pow(2,i),i+=7}while(l>=rc);return Ir.bytes=u-n,e}});var Hn=k((Cf,Zn)=>{var nc=Math.pow(2,7),sc=Math.pow(2,14),oc=Math.pow(2,21),ic=Math.pow(2,28),ac=Math.pow(2,35),cc=Math.pow(2,42),uc=Math.pow(2,49),fc=Math.pow(2,56),lc=Math.pow(2,63);Zn.exports=function(r){return r<nc?1:r<sc?2:r<oc?3:r<ic?4:r<ac?5:r<cc?6:r<uc?7:r<fc?8:r<lc?9:10}});var Re=k((Af,Wn)=>{Wn.exports={encode:Vn(),decode:Gn(),encodingLength:Hn()}});var kr=k((Zf,os)=>{"use strict";function ss(r,t){for(let e in t)Object.defineProperty(r,e,{value:t[e],enumerable:!0,configurable:!0});return r}function Ac(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 ss(r,e)}catch{e.message=r.message,e.stack=r.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(r)),ss(new i,e)}}os.exports=Ac});var bs=k((sl,gs)=>{var Yt=1e3,Kt=Yt*60,Qt=Kt*60,Nt=Qt*24,Nc=Nt*7,Lc=Nt*365.25;gs.exports=function(r,t){t=t||{};var e=typeof r;if(e==="string"&&r.length>0)return $c(r);if(e==="number"&&isFinite(r))return t.long?jc(r):Uc(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function $c(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*Lc;case"weeks":case"week":case"w":return e*Nc;case"days":case"day":case"d":return e*Nt;case"hours":case"hour":case"hrs":case"hr":case"h":return e*Qt;case"minutes":case"minute":case"mins":case"min":case"m":return e*Kt;case"seconds":case"second":case"secs":case"sec":case"s":return e*Yt;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return e;default:return}}}}function Uc(r){var t=Math.abs(r);return t>=Nt?Math.round(r/Nt)+"d":t>=Qt?Math.round(r/Qt)+"h":t>=Kt?Math.round(r/Kt)+"m":t>=Yt?Math.round(r/Yt)+"s":r+"ms"}function jc(r){var t=Math.abs(r);return t>=Nt?Pe(r,t,Nt,"day"):t>=Qt?Pe(r,t,Qt,"hour"):t>=Kt?Pe(r,t,Kt,"minute"):t>=Yt?Pe(r,t,Yt,"second"):r+" ms"}function Pe(r,t,e,n){var i=t>=e*1.5;return Math.round(r/e)+" "+n+(i?"s":"")}});var jr=k((ol,ys)=>{function Vc(r){e.debug=e,e.default=e,e.coerce=b,e.disable=u,e.enable=i,e.enabled=l,e.humanize=bs(),e.destroy=A,Object.keys(r).forEach(f=>{e[f]=r[f]}),e.names=[],e.skips=[],e.formatters={};function t(f){let y=0;for(let v=0;v<f.length;v++)y=(y<<5)-y+f.charCodeAt(v),y|=0;return e.colors[Math.abs(y)%e.colors.length]}e.selectColor=t;function e(f){let y,v=null,T,m;function C(...B){if(!C.enabled)return;let S=C,I=Number(new Date),F=I-(y||I);S.diff=F,S.prev=y,S.curr=I,y=I,B[0]=e.coerce(B[0]),typeof B[0]!="string"&&B.unshift("%O");let N=0;B[0]=B[0].replace(/%([a-zA-Z%])/g,(X,W)=>{if(X==="%%")return"%";N++;let Y=e.formatters[W];if(typeof Y=="function"){let at=B[N];X=Y.call(S,at),B.splice(N,1),N--}return X}),e.formatArgs.call(S,B),(S.log||e.log).apply(S,B)}return C.namespace=f,C.useColors=e.useColors(),C.color=e.selectColor(f),C.extend=n,C.destroy=e.destroy,Object.defineProperty(C,"enabled",{enumerable:!0,configurable:!1,get:()=>v!==null?v:(T!==e.namespaces&&(T=e.namespaces,m=e.enabled(f)),m),set:B=>{v=B}}),typeof e.init=="function"&&e.init(C),C}function n(f,y){let v=e(this.namespace+(typeof y>"u"?":":y)+f);return v.log=this.log,v}function i(f){e.save(f),e.namespaces=f,e.names=[],e.skips=[];let y,v=(typeof f=="string"?f:"").split(/[\s,]+/),T=v.length;for(y=0;y<T;y++)v[y]&&(f=v[y].replace(/\*/g,".*?"),f[0]==="-"?e.skips.push(new RegExp("^"+f.slice(1)+"$")):e.names.push(new RegExp("^"+f+"$")))}function u(){let f=[...e.names.map(d),...e.skips.map(d).map(y=>"-"+y)].join(",");return e.enable(""),f}function l(f){if(f[f.length-1]==="*")return!0;let y,v;for(y=0,v=e.skips.length;y<v;y++)if(e.skips[y].test(f))return!1;for(y=0,v=e.names.length;y<v;y++)if(e.names[y].test(f))return!0;return!1}function d(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function b(f){return f instanceof Error?f.stack||f.message:f}function A(){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}ys.exports=Vc});var ws=k((nt,Fe)=>{nt.formatArgs=qc;nt.save=Gc;nt.load=Zc;nt.useColors=zc;nt.storage=Hc();nt.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`."))}})();nt.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 zc(){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 qc(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+Fe.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)}nt.log=console.debug||console.log||(()=>{});function Gc(r){try{r?nt.storage.setItem("debug",r):nt.storage.removeItem("debug")}catch{}}function Zc(){let r;try{r=nt.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function Hc(){try{return localStorage}catch{}}Fe.exports=jr()(nt);var{formatters:Wc}=Fe.exports;Wc.j=function(r){try{return JSON.stringify(r)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Ts=k((il,vs)=>{"use strict";vs.exports=(r,t=process.argv)=>{let e=r.startsWith("-")?"":r.length===1?"-":"--",n=t.indexOf(e+r),i=t.indexOf("--");return n!==-1&&(i===-1||n<i)}});var Es=k((al,Ss)=>{"use strict";var Jc=dt("os"),xs=dt("tty"),it=Ts(),{env:j}=process,Rt;it("no-color")||it("no-colors")||it("color=false")||it("color=never")?Rt=0:(it("color")||it("colors")||it("color=true")||it("color=always"))&&(Rt=1);"FORCE_COLOR"in j&&(j.FORCE_COLOR==="true"?Rt=1:j.FORCE_COLOR==="false"?Rt=0:Rt=j.FORCE_COLOR.length===0?1:Math.min(parseInt(j.FORCE_COLOR,10),3));function Vr(r){return r===0?!1:{level:r,hasBasic:!0,has256:r>=2,has16m:r>=3}}function zr(r,t){if(Rt===0)return 0;if(it("color=16m")||it("color=full")||it("color=truecolor"))return 3;if(it("color=256"))return 2;if(r&&!t&&Rt===void 0)return 0;let e=Rt||0;if(j.TERM==="dumb")return e;if(process.platform==="win32"){let n=Jc.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in j)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in j)||j.CI_NAME==="codeship"?1:e;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 n=parseInt((j.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(j.TERM_PROGRAM){case"iTerm.app":return n>=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:e}function Xc(r){let t=zr(r,r&&r.isTTY);return Vr(t)}Ss.exports={supportsColor:Xc,stdout:Vr(zr(!0,xs.isatty(1))),stderr:Vr(zr(!0,xs.isatty(2)))}});var As=k((V,Ne)=>{var Yc=dt("tty"),ke=dt("util");V.init=su;V.log=eu;V.formatArgs=Qc;V.save=ru;V.load=nu;V.useColors=Kc;V.destroy=ke.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");V.colors=[6,2,3,4,5,1];try{let r=Es();r&&(r.stderr||r).level>=2&&(V.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{}V.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,u)=>u.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 Kc(){return"colors"in V.inspectOpts?Boolean(V.inspectOpts.colors):Yc.isatty(process.stderr.fd)}function Qc(r){let{namespace:t,useColors:e}=this;if(e){let n=this.color,i="\x1B[3"+(n<8?n:"8;5;"+n),u=` ${i};1m${t} \x1B[0m`;r[0]=u+r[0].split(`
|
|
3
3
|
`).join(`
|
|
4
|
-
`+u),r.push(i+"m+"+Ne.exports.humanize(this.diff)+"\x1B[0m")}else r[0]=
|
|
5
|
-
`)}function
|
|
6
|
-
`).map(t=>t.trim()).join(" ")};Ss.O=function(r){return this.inspectOpts.colors=this.useColors,ke.inspect(r,this.inspectOpts)}});var Cs=F((ul,qr)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?qr.exports=bs():qr.exports=Es()});var Ue=F((dl,As)=>{As.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 Bs=F((ml,Is)=>{Is.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 Gr=F((gl,Rs)=>{var iu=Bs();Rs.exports=r=>async t=>{t=iu(t);let e=S=>{typeof S.return=="function"&&S.return()},n=null,i=null,u=S=>{n=S,i&&i(S),e(t)},l=null,d=!1,b=()=>{d=!0,l&&l()},A=null,f=!1,w=()=>{f=!0,A&&A()},v=null,x=()=>{v&&v()},m=()=>new Promise((S,I)=>{l=v=S,i=I,r.once("drain",x)}),C=()=>(e(t),new Promise((S,I)=>{if(d||f||n)return S();A=l=S,i=I})),B=()=>{r.removeListener("error",u),r.removeListener("close",b),r.removeListener("finish",w),r.removeListener("drain",x)};r.once("error",u),r.once("close",b),r.once("finish",w);try{for await(let S of t){if(!r.writable||r.destroyed||n)break;r.write(S)===!1&&await m()}}catch(S){n||r.destroy(),n=S}try{if(r.writable&&r.end(),await C(),n)throw n}finally{B()}}});var Zr=F((bl,Ms)=>{var au=Gr(),cu=Ue();Ms.exports=r=>({sink:au(r),source:cu(r)})});var Os=F((yl,Ds)=>{var uu=Zr();Ds.exports=r=>async function*(t){let e=uu(r),n;if(e.sink(t).catch(i=>{n=i}),yield*e.source,n)throw n}});var _s=F((wl,Qt)=>{Qt.exports=Ue();Qt.exports.source=Ue();Qt.exports.sink=Gr();Qt.exports.transform=Os();Qt.exports.duplex=Zr()});var Wr=F((je,ks)=>{(function(){var r,t=0xdeadbeefcafe,e=(t&16777215)==15715070;function n(s,o,a){s!=null&&(typeof s=="number"?this.fromNumber(s,o,a):o==null&&typeof s!="string"?this.fromString(s,256):this.fromString(s,o))}function i(){return new n(null)}function u(s,o,a,c,p,h){for(;--h>=0;){var g=o*this[s++]+a[c]+p;p=Math.floor(g/67108864),a[c++]=g&67108863}return p}function l(s,o,a,c,p,h){for(var g=o&32767,y=o>>15;--h>=0;){var R=this[s]&32767,$=this[s++]>>15,st=y*R+$*g;R=g*R+((st&32767)<<15)+a[c]+(p&1073741823),p=(R>>>30)+(st>>>15)+y*$+(p>>>30),a[c++]=R&1073741823}return p}function d(s,o,a,c,p,h){for(var g=o&16383,y=o>>14;--h>=0;){var R=this[s]&16383,$=this[s++]>>14,st=y*R+$*g;R=g*R+((st&16383)<<14)+a[c]+p,p=(R>>28)+(st>>14)+y*$,a[c++]=R&268435455}return p}var b=typeof navigator<"u";b&&e&&navigator.appName=="Microsoft Internet Explorer"?(n.prototype.am=l,r=30):b&&e&&navigator.appName!="Netscape"?(n.prototype.am=u,r=26):(n.prototype.am=d,r=28),n.prototype.DB=r,n.prototype.DM=(1<<r)-1,n.prototype.DV=1<<r;var A=52;n.prototype.FV=Math.pow(2,A),n.prototype.F1=A-r,n.prototype.F2=2*r-A;var f="0123456789abcdefghijklmnopqrstuvwxyz",w=new Array,v,x;for(v="0".charCodeAt(0),x=0;x<=9;++x)w[v++]=x;for(v="a".charCodeAt(0),x=10;x<36;++x)w[v++]=x;for(v="A".charCodeAt(0),x=10;x<36;++x)w[v++]=x;function m(s){return f.charAt(s)}function C(s,o){var a=w[s.charCodeAt(o)];return a??-1}function B(s){for(var o=this.t-1;o>=0;--o)s[o]=this[o];s.t=this.t,s.s=this.s}function S(s){this.t=1,this.s=s<0?-1:0,s>0?this[0]=s:s<-1?this[0]=s+this.DV:this.t=0}function I(s){var o=i();return o.fromInt(s),o}function P(s,o){var a;if(o==16)a=4;else if(o==8)a=3;else if(o==256)a=8;else if(o==2)a=1;else if(o==32)a=5;else if(o==4)a=2;else{this.fromRadix(s,o);return}this.t=0,this.s=0;for(var c=s.length,p=!1,h=0;--c>=0;){var g=a==8?s[c]&255:C(s,c);if(g<0){s.charAt(c)=="-"&&(p=!0);continue}p=!1,h==0?this[this.t++]=g:h+a>this.DB?(this[this.t-1]|=(g&(1<<this.DB-h)-1)<<h,this[this.t++]=g>>this.DB-h):this[this.t-1]|=g<<h,h+=a,h>=this.DB&&(h-=this.DB)}a==8&&s[0]&128&&(this.s=-1,h>0&&(this[this.t-1]|=(1<<this.DB-h)-1<<h)),this.clamp(),p&&n.ZERO.subTo(this,this)}function U(){for(var s=this.s&this.DM;this.t>0&&this[this.t-1]==s;)--this.t}function Q(s){if(this.s<0)return"-"+this.negate().toString(s);var o;if(s==16)o=4;else if(s==8)o=3;else if(s==2)o=1;else if(s==32)o=5;else if(s==4)o=2;else return this.toRadix(s);var a=(1<<o)-1,c,p=!1,h="",g=this.t,y=this.DB-g*this.DB%o;if(g-- >0)for(y<this.DB&&(c=this[g]>>y)>0&&(p=!0,h=m(c));g>=0;)y<o?(c=(this[g]&(1<<y)-1)<<o-y,c|=this[--g]>>(y+=this.DB-o)):(c=this[g]>>(y-=o)&a,y<=0&&(y+=this.DB,--g)),c>0&&(p=!0),p&&(h+=m(c));return p?h:"0"}function J(){var s=i();return n.ZERO.subTo(this,s),s}function W(){return this.s<0?this.negate():this}function Y(s){var o=this.s-s.s;if(o!=0)return o;var a=this.t;if(o=a-s.t,o!=0)return this.s<0?-o:o;for(;--a>=0;)if((o=this[a]-s[a])!=0)return o;return 0}function at(s){var o=1,a;return(a=s>>>16)!=0&&(s=a,o+=16),(a=s>>8)!=0&&(s=a,o+=8),(a=s>>4)!=0&&(s=a,o+=4),(a=s>>2)!=0&&(s=a,o+=2),(a=s>>1)!=0&&(s=a,o+=1),o}function Qs(){return this.t<=0?0:this.DB*(this.t-1)+at(this[this.t-1]^this.s&this.DM)}function to(s,o){var a;for(a=this.t-1;a>=0;--a)o[a+s]=this[a];for(a=s-1;a>=0;--a)o[a]=0;o.t=this.t+s,o.s=this.s}function eo(s,o){for(var a=s;a<this.t;++a)o[a-s]=this[a];o.t=Math.max(this.t-s,0),o.s=this.s}function ro(s,o){var a=s%this.DB,c=this.DB-a,p=(1<<c)-1,h=Math.floor(s/this.DB),g=this.s<<a&this.DM,y;for(y=this.t-1;y>=0;--y)o[y+h+1]=this[y]>>c|g,g=(this[y]&p)<<a;for(y=h-1;y>=0;--y)o[y]=0;o[h]=g,o.t=this.t+h+1,o.s=this.s,o.clamp()}function no(s,o){o.s=this.s;var a=Math.floor(s/this.DB);if(a>=this.t){o.t=0;return}var c=s%this.DB,p=this.DB-c,h=(1<<c)-1;o[0]=this[a]>>c;for(var g=a+1;g<this.t;++g)o[g-a-1]|=(this[g]&h)<<p,o[g-a]=this[g]>>c;c>0&&(o[this.t-a-1]|=(this.s&h)<<p),o.t=this.t-a,o.clamp()}function so(s,o){for(var a=0,c=0,p=Math.min(s.t,this.t);a<p;)c+=this[a]-s[a],o[a++]=c&this.DM,c>>=this.DB;if(s.t<this.t){for(c-=s.s;a<this.t;)c+=this[a],o[a++]=c&this.DM,c>>=this.DB;c+=this.s}else{for(c+=this.s;a<s.t;)c-=s[a],o[a++]=c&this.DM,c>>=this.DB;c-=s.s}o.s=c<0?-1:0,c<-1?o[a++]=this.DV+c:c>0&&(o[a++]=c),o.t=a,o.clamp()}function oo(s,o){var a=this.abs(),c=s.abs(),p=a.t;for(o.t=p+c.t;--p>=0;)o[p]=0;for(p=0;p<c.t;++p)o[p+a.t]=a.am(0,c[p],o,p,0,a.t);o.s=0,o.clamp(),this.s!=s.s&&n.ZERO.subTo(o,o)}function io(s){for(var o=this.abs(),a=s.t=2*o.t;--a>=0;)s[a]=0;for(a=0;a<o.t-1;++a){var c=o.am(a,o[a],s,2*a,0,1);(s[a+o.t]+=o.am(a+1,2*o[a],s,2*a+1,c,o.t-a-1))>=o.DV&&(s[a+o.t]-=o.DV,s[a+o.t+1]=1)}s.t>0&&(s[s.t-1]+=o.am(a,o[a],s,2*a,0,1)),s.s=0,s.clamp()}function ao(s,o,a){var c=s.abs();if(!(c.t<=0)){var p=this.abs();if(p.t<c.t){o?.fromInt(0),a!=null&&this.copyTo(a);return}a==null&&(a=i());var h=i(),g=this.s,y=s.s,R=this.DB-at(c[c.t-1]);R>0?(c.lShiftTo(R,h),p.lShiftTo(R,a)):(c.copyTo(h),p.copyTo(a));var $=h.t,st=h[$-1];if(st!=0){var et=st*(1<<this.F1)+($>1?h[$-2]>>this.F2:0),bt=this.FV/et,Te=(1<<this.F1)/et,ut=1<<this.F2,ft=a.t,xe=ft-$,Ct=o??i();for(h.dlShiftTo(xe,Ct),a.compareTo(Ct)>=0&&(a[a.t++]=1,a.subTo(Ct,a)),n.ONE.dlShiftTo($,Ct),Ct.subTo(h,h);h.t<$;)h[h.t++]=0;for(;--xe>=0;){var er=a[--ft]==st?this.DM:Math.floor(a[ft]*bt+(a[ft-1]+ut)*Te);if((a[ft]+=h.am(0,er,a,xe,0,$))<er)for(h.dlShiftTo(xe,Ct),a.subTo(Ct,a);a[ft]<--er;)a.subTo(Ct,a)}o!=null&&(a.drShiftTo($,o),g!=y&&n.ZERO.subTo(o,o)),a.t=$,a.clamp(),R>0&&a.rShiftTo(R,a),g<0&&n.ZERO.subTo(a,a)}}}function co(s){var o=i();return this.abs().divRemTo(s,null,o),this.s<0&&o.compareTo(n.ZERO)>0&&s.subTo(o,o),o}function Dt(s){this.m=s}function uo(s){return s.s<0||s.compareTo(this.m)>=0?s.mod(this.m):s}function fo(s){return s}function lo(s){s.divRemTo(this.m,null,s)}function po(s,o,a){s.multiplyTo(o,a),this.reduce(a)}function ho(s,o){s.squareTo(o),this.reduce(o)}Dt.prototype.convert=uo,Dt.prototype.revert=fo,Dt.prototype.reduce=lo,Dt.prototype.mulTo=po,Dt.prototype.sqrTo=ho;function mo(){if(this.t<1)return 0;var s=this[0];if(!(s&1))return 0;var o=s&3;return o=o*(2-(s&15)*o)&15,o=o*(2-(s&255)*o)&255,o=o*(2-((s&65535)*o&65535))&65535,o=o*(2-s*o%this.DV)%this.DV,o>0?this.DV-o:-o}function Ot(s){this.m=s,this.mp=s.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<s.DB-15)-1,this.mt2=2*s.t}function go(s){var o=i();return s.abs().dlShiftTo(this.m.t,o),o.divRemTo(this.m,null,o),s.s<0&&o.compareTo(n.ZERO)>0&&this.m.subTo(o,o),o}function bo(s){var o=i();return s.copyTo(o),this.reduce(o),o}function yo(s){for(;s.t<=this.mt2;)s[s.t++]=0;for(var o=0;o<this.m.t;++o){var a=s[o]&32767,c=a*this.mpl+((a*this.mph+(s[o]>>15)*this.mpl&this.um)<<15)&s.DM;for(a=o+this.m.t,s[a]+=this.m.am(0,c,s,o,0,this.m.t);s[a]>=s.DV;)s[a]-=s.DV,s[++a]++}s.clamp(),s.drShiftTo(this.m.t,s),s.compareTo(this.m)>=0&&s.subTo(this.m,s)}function wo(s,o){s.squareTo(o),this.reduce(o)}function vo(s,o,a){s.multiplyTo(o,a),this.reduce(a)}Ot.prototype.convert=go,Ot.prototype.revert=bo,Ot.prototype.reduce=yo,Ot.prototype.mulTo=vo,Ot.prototype.sqrTo=wo;function To(){return(this.t>0?this[0]&1:this.s)==0}function xo(s,o){if(s>4294967295||s<1)return n.ONE;var a=i(),c=i(),p=o.convert(this),h=at(s)-1;for(p.copyTo(a);--h>=0;)if(o.sqrTo(a,c),(s&1<<h)>0)o.mulTo(c,p,a);else{var g=a;a=c,c=g}return o.revert(a)}function So(s,o){var a;return s<256||o.isEven()?a=new Dt(o):a=new Ot(o),this.exp(s,a)}n.prototype.copyTo=B,n.prototype.fromInt=S,n.prototype.fromString=P,n.prototype.clamp=U,n.prototype.dlShiftTo=to,n.prototype.drShiftTo=eo,n.prototype.lShiftTo=ro,n.prototype.rShiftTo=no,n.prototype.subTo=so,n.prototype.multiplyTo=oo,n.prototype.squareTo=io,n.prototype.divRemTo=ao,n.prototype.invDigit=mo,n.prototype.isEven=To,n.prototype.exp=xo,n.prototype.toString=Q,n.prototype.negate=J,n.prototype.abs=W,n.prototype.compareTo=Y,n.prototype.bitLength=Qs,n.prototype.mod=co,n.prototype.modPowInt=So,n.ZERO=I(0),n.ONE=I(1);function Eo(){var s=i();return this.copyTo(s),s}function Co(){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 Ao(){return this.t==0?this.s:this[0]<<24>>24}function Io(){return this.t==0?this.s:this[0]<<16>>16}function Bo(s){return Math.floor(Math.LN2*this.DB/Math.log(s))}function Ro(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function Mo(s){if(s==null&&(s=10),this.signum()==0||s<2||s>36)return"0";var o=this.chunkSize(s),a=Math.pow(s,o),c=I(a),p=i(),h=i(),g="";for(this.divRemTo(c,p,h);p.signum()>0;)g=(a+h.intValue()).toString(s).substr(1)+g,p.divRemTo(c,p,h);return h.intValue().toString(s)+g}function Do(s,o){this.fromInt(0),o==null&&(o=10);for(var a=this.chunkSize(o),c=Math.pow(o,a),p=!1,h=0,g=0,y=0;y<s.length;++y){var R=C(s,y);if(R<0){s.charAt(y)=="-"&&this.signum()==0&&(p=!0);continue}g=o*g+R,++h>=a&&(this.dMultiply(c),this.dAddOffset(g,0),h=0,g=0)}h>0&&(this.dMultiply(Math.pow(o,h)),this.dAddOffset(g,0)),p&&n.ZERO.subTo(this,this)}function Oo(s,o,a){if(typeof o=="number")if(s<2)this.fromInt(1);else for(this.fromNumber(s,a),this.testBit(s-1)||this.bitwiseTo(n.ONE.shiftLeft(s-1),Ye,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(o);)this.dAddOffset(2,0),this.bitLength()>s&&this.subTo(n.ONE.shiftLeft(s-1),this);else{var c=new Array,p=s&7;c.length=(s>>3)+1,o.nextBytes(c),p>0?c[0]&=(1<<p)-1:c[0]=0,this.fromString(c,256)}}function _o(){var s=this.t,o=new Array;o[0]=this.s;var a=this.DB-s*this.DB%8,c,p=0;if(s-- >0)for(a<this.DB&&(c=this[s]>>a)!=(this.s&this.DM)>>a&&(o[p++]=c|this.s<<this.DB-a);s>=0;)a<8?(c=(this[s]&(1<<a)-1)<<8-a,c|=this[--s]>>(a+=this.DB-8)):(c=this[s]>>(a-=8)&255,a<=0&&(a+=this.DB,--s)),c&128&&(c|=-256),p==0&&(this.s&128)!=(c&128)&&++p,(p>0||c!=this.s)&&(o[p++]=c);return o}function Po(s){return this.compareTo(s)==0}function Fo(s){return this.compareTo(s)<0?this:s}function ko(s){return this.compareTo(s)>0?this:s}function No(s,o,a){var c,p,h=Math.min(s.t,this.t);for(c=0;c<h;++c)a[c]=o(this[c],s[c]);if(s.t<this.t){for(p=s.s&this.DM,c=h;c<this.t;++c)a[c]=o(this[c],p);a.t=this.t}else{for(p=this.s&this.DM,c=h;c<s.t;++c)a[c]=o(p,s[c]);a.t=s.t}a.s=o(this.s,s.s),a.clamp()}function Uo(s,o){return s&o}function Lo(s){var o=i();return this.bitwiseTo(s,Uo,o),o}function Ye(s,o){return s|o}function $o(s){var o=i();return this.bitwiseTo(s,Ye,o),o}function pn(s,o){return s^o}function jo(s){var o=i();return this.bitwiseTo(s,pn,o),o}function hn(s,o){return s&~o}function Vo(s){var o=i();return this.bitwiseTo(s,hn,o),o}function zo(){for(var s=i(),o=0;o<this.t;++o)s[o]=this.DM&~this[o];return s.t=this.t,s.s=~this.s,s}function qo(s){var o=i();return s<0?this.rShiftTo(-s,o):this.lShiftTo(s,o),o}function Go(s){var o=i();return s<0?this.lShiftTo(-s,o):this.rShiftTo(s,o),o}function Zo(s){if(s==0)return-1;var o=0;return s&65535||(s>>=16,o+=16),s&255||(s>>=8,o+=8),s&15||(s>>=4,o+=4),s&3||(s>>=2,o+=2),s&1||++o,o}function Ho(){for(var s=0;s<this.t;++s)if(this[s]!=0)return s*this.DB+Zo(this[s]);return this.s<0?this.t*this.DB:-1}function Wo(s){for(var o=0;s!=0;)s&=s-1,++o;return o}function Xo(){for(var s=0,o=this.s&this.DM,a=0;a<this.t;++a)s+=Wo(this[a]^o);return s}function Jo(s){var o=Math.floor(s/this.DB);return o>=this.t?this.s!=0:(this[o]&1<<s%this.DB)!=0}function Yo(s,o){var a=n.ONE.shiftLeft(s);return this.bitwiseTo(a,o,a),a}function Ko(s){return this.changeBit(s,Ye)}function Qo(s){return this.changeBit(s,hn)}function ti(s){return this.changeBit(s,pn)}function ei(s,o){for(var a=0,c=0,p=Math.min(s.t,this.t);a<p;)c+=this[a]+s[a],o[a++]=c&this.DM,c>>=this.DB;if(s.t<this.t){for(c+=s.s;a<this.t;)c+=this[a],o[a++]=c&this.DM,c>>=this.DB;c+=this.s}else{for(c+=this.s;a<s.t;)c+=s[a],o[a++]=c&this.DM,c>>=this.DB;c+=s.s}o.s=c<0?-1:0,c>0?o[a++]=c:c<-1&&(o[a++]=this.DV+c),o.t=a,o.clamp()}function ri(s){var o=i();return this.addTo(s,o),o}function ni(s){var o=i();return this.subTo(s,o),o}function si(s){var o=i();return this.multiplyTo(s,o),o}function oi(){var s=i();return this.squareTo(s),s}function ii(s){var o=i();return this.divRemTo(s,o,null),o}function ai(s){var o=i();return this.divRemTo(s,null,o),o}function ci(s){var o=i(),a=i();return this.divRemTo(s,o,a),new Array(o,a)}function ui(s){this[this.t]=this.am(0,s-1,this,0,0,this.t),++this.t,this.clamp()}function fi(s,o){if(s!=0){for(;this.t<=o;)this[this.t++]=0;for(this[o]+=s;this[o]>=this.DV;)this[o]-=this.DV,++o>=this.t&&(this[this.t++]=0),++this[o]}}function se(){}function dn(s){return s}function li(s,o,a){s.multiplyTo(o,a)}function pi(s,o){s.squareTo(o)}se.prototype.convert=dn,se.prototype.revert=dn,se.prototype.mulTo=li,se.prototype.sqrTo=pi;function hi(s){return this.exp(s,new se)}function di(s,o,a){var c=Math.min(this.t+s.t,o);for(a.s=0,a.t=c;c>0;)a[--c]=0;var p;for(p=a.t-this.t;c<p;++c)a[c+this.t]=this.am(0,s[c],a,c,0,this.t);for(p=Math.min(s.t,o);c<p;++c)this.am(0,s[c],a,c,0,o-c);a.clamp()}function mi(s,o,a){--o;var c=a.t=this.t+s.t-o;for(a.s=0;--c>=0;)a[c]=0;for(c=Math.max(o-this.t,0);c<s.t;++c)a[this.t+c-o]=this.am(o-c,s[c],a,0,0,this.t+c-o);a.clamp(),a.drShiftTo(1,a)}function _t(s){this.r2=i(),this.q3=i(),n.ONE.dlShiftTo(2*s.t,this.r2),this.mu=this.r2.divide(s),this.m=s}function gi(s){if(s.s<0||s.t>2*this.m.t)return s.mod(this.m);if(s.compareTo(this.m)<0)return s;var o=i();return s.copyTo(o),this.reduce(o),o}function bi(s){return s}function yi(s){for(s.drShiftTo(this.m.t-1,this.r2),s.t>this.m.t+1&&(s.t=this.m.t+1,s.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);s.compareTo(this.r2)<0;)s.dAddOffset(1,this.m.t+1);for(s.subTo(this.r2,s);s.compareTo(this.m)>=0;)s.subTo(this.m,s)}function wi(s,o){s.squareTo(o),this.reduce(o)}function vi(s,o,a){s.multiplyTo(o,a),this.reduce(a)}_t.prototype.convert=gi,_t.prototype.revert=bi,_t.prototype.reduce=yi,_t.prototype.mulTo=vi,_t.prototype.sqrTo=wi;function Ti(s,o){var a=s.bitLength(),c,p=I(1),h;if(a<=0)return p;a<18?c=1:a<48?c=3:a<144?c=4:a<768?c=5:c=6,a<8?h=new Dt(o):o.isEven()?h=new _t(o):h=new Ot(o);var g=new Array,y=3,R=c-1,$=(1<<c)-1;if(g[1]=h.convert(this),c>1){var st=i();for(h.sqrTo(g[1],st);y<=$;)g[y]=i(),h.mulTo(st,g[y-2],g[y]),y+=2}var et=s.t-1,bt,Te=!0,ut=i(),ft;for(a=at(s[et])-1;et>=0;){for(a>=R?bt=s[et]>>a-R&$:(bt=(s[et]&(1<<a+1)-1)<<R-a,et>0&&(bt|=s[et-1]>>this.DB+a-R)),y=c;!(bt&1);)bt>>=1,--y;if((a-=y)<0&&(a+=this.DB,--et),Te)g[bt].copyTo(p),Te=!1;else{for(;y>1;)h.sqrTo(p,ut),h.sqrTo(ut,p),y-=2;y>0?h.sqrTo(p,ut):(ft=p,p=ut,ut=ft),h.mulTo(ut,g[bt],p)}for(;et>=0&&!(s[et]&1<<a);)h.sqrTo(p,ut),ft=p,p=ut,ut=ft,--a<0&&(a=this.DB-1,--et)}return h.revert(p)}function xi(s){var o=this.s<0?this.negate():this.clone(),a=s.s<0?s.negate():s.clone();if(o.compareTo(a)<0){var c=o;o=a,a=c}var p=o.getLowestSetBit(),h=a.getLowestSetBit();if(h<0)return o;for(p<h&&(h=p),h>0&&(o.rShiftTo(h,o),a.rShiftTo(h,a));o.signum()>0;)(p=o.getLowestSetBit())>0&&o.rShiftTo(p,o),(p=a.getLowestSetBit())>0&&a.rShiftTo(p,a),o.compareTo(a)>=0?(o.subTo(a,o),o.rShiftTo(1,o)):(a.subTo(o,a),a.rShiftTo(1,a));return h>0&&a.lShiftTo(h,a),a}function Si(s){if(s<=0)return 0;var o=this.DV%s,a=this.s<0?s-1:0;if(this.t>0)if(o==0)a=this[0]%s;else for(var c=this.t-1;c>=0;--c)a=(o*a+this[c])%s;return a}function Ei(s){var o=s.isEven();if(this.isEven()&&o||s.signum()==0)return n.ZERO;for(var a=s.clone(),c=this.clone(),p=I(1),h=I(0),g=I(0),y=I(1);a.signum()!=0;){for(;a.isEven();)a.rShiftTo(1,a),o?((!p.isEven()||!h.isEven())&&(p.addTo(this,p),h.subTo(s,h)),p.rShiftTo(1,p)):h.isEven()||h.subTo(s,h),h.rShiftTo(1,h);for(;c.isEven();)c.rShiftTo(1,c),o?((!g.isEven()||!y.isEven())&&(g.addTo(this,g),y.subTo(s,y)),g.rShiftTo(1,g)):y.isEven()||y.subTo(s,y),y.rShiftTo(1,y);a.compareTo(c)>=0?(a.subTo(c,a),o&&p.subTo(g,p),h.subTo(y,h)):(c.subTo(a,c),o&&g.subTo(p,g),y.subTo(h,y))}if(c.compareTo(n.ONE)!=0)return n.ZERO;if(y.compareTo(s)>=0)return y.subtract(s);if(y.signum()<0)y.addTo(s,y);else return y;return y.signum()<0?y.add(s):y}var X=[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],Ci=(1<<26)/X[X.length-1];function Ai(s){var o,a=this.abs();if(a.t==1&&a[0]<=X[X.length-1]){for(o=0;o<X.length;++o)if(a[0]==X[o])return!0;return!1}if(a.isEven())return!1;for(o=1;o<X.length;){for(var c=X[o],p=o+1;p<X.length&&c<Ci;)c*=X[p++];for(c=a.modInt(c);o<p;)if(c%X[o++]==0)return!1}return a.millerRabin(s)}function Ii(s){var o=this.subtract(n.ONE),a=o.getLowestSetBit();if(a<=0)return!1;var c=o.shiftRight(a);s=s+1>>1,s>X.length&&(s=X.length);for(var p=i(),h=0;h<s;++h){p.fromInt(X[Math.floor(Math.random()*X.length)]);var g=p.modPow(c,this);if(g.compareTo(n.ONE)!=0&&g.compareTo(o)!=0){for(var y=1;y++<a&&g.compareTo(o)!=0;)if(g=g.modPowInt(2,this),g.compareTo(n.ONE)==0)return!1;if(g.compareTo(o)!=0)return!1}}return!0}n.prototype.chunkSize=Bo,n.prototype.toRadix=Mo,n.prototype.fromRadix=Do,n.prototype.fromNumber=Oo,n.prototype.bitwiseTo=No,n.prototype.changeBit=Yo,n.prototype.addTo=ei,n.prototype.dMultiply=ui,n.prototype.dAddOffset=fi,n.prototype.multiplyLowerTo=di,n.prototype.multiplyUpperTo=mi,n.prototype.modInt=Si,n.prototype.millerRabin=Ii,n.prototype.clone=Eo,n.prototype.intValue=Co,n.prototype.byteValue=Ao,n.prototype.shortValue=Io,n.prototype.signum=Ro,n.prototype.toByteArray=_o,n.prototype.equals=Po,n.prototype.min=Fo,n.prototype.max=ko,n.prototype.and=Lo,n.prototype.or=$o,n.prototype.xor=jo,n.prototype.andNot=Vo,n.prototype.not=zo,n.prototype.shiftLeft=qo,n.prototype.shiftRight=Go,n.prototype.getLowestSetBit=Ho,n.prototype.bitCount=Xo,n.prototype.testBit=Jo,n.prototype.setBit=Ko,n.prototype.clearBit=Qo,n.prototype.flipBit=ti,n.prototype.add=ri,n.prototype.subtract=ni,n.prototype.multiply=si,n.prototype.divide=ii,n.prototype.remainder=ai,n.prototype.divideAndRemainder=ci,n.prototype.modPow=Ti,n.prototype.modInverse=Ei,n.prototype.pow=hi,n.prototype.gcd=xi,n.prototype.isProbablePrime=Ai,n.prototype.square=oi,n.prototype.Barrett=_t;var ve,tt,L;function Bi(s){tt[L++]^=s&255,tt[L++]^=s>>8&255,tt[L++]^=s>>16&255,tt[L++]^=s>>24&255,L>=tr&&(L-=tr)}function mn(){Bi(new Date().getTime())}if(tt==null){tt=new Array,L=0;var ct;if(typeof window<"u"&&window.crypto){if(window.crypto.getRandomValues){var gn=new Uint8Array(32);for(window.crypto.getRandomValues(gn),ct=0;ct<32;++ct)tt[L++]=gn[ct]}else if(navigator.appName=="Netscape"&&navigator.appVersion<"5"){var bn=window.crypto.random(32);for(ct=0;ct<bn.length;++ct)tt[L++]=bn.charCodeAt(ct)&255}}for(;L<tr;)ct=Math.floor(65536*Math.random()),tt[L++]=ct>>>8,tt[L++]=ct&255;L=0,mn()}function Ri(){if(ve==null){for(mn(),ve=_i(),ve.init(tt),L=0;L<tt.length;++L)tt[L]=0;L=0}return ve.next()}function Mi(s){var o;for(o=0;o<s.length;++o)s[o]=Ri()}function Ke(){}Ke.prototype.nextBytes=Mi;function Qe(){this.i=0,this.j=0,this.S=new Array}function Di(s){var o,a,c;for(o=0;o<256;++o)this.S[o]=o;for(a=0,o=0;o<256;++o)a=a+this.S[o]+s[o%s.length]&255,c=this.S[o],this.S[o]=this.S[a],this.S[a]=c;this.i=0,this.j=0}function Oi(){var s;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,s=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=s,this.S[s+this.S[this.i]&255]}Qe.prototype.init=Di,Qe.prototype.next=Oi;function _i(){return new Qe}var tr=256;typeof je<"u"?je=ks.exports={default:n,BigInteger:n,SecureRandom:Ke}:this.jsbn={BigInteger:n,SecureRandom:Ke}}).call(je)});var ye=F(Ve=>{(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(l){return n(u(l),arguments)}function e(l,d){return t.apply(null,[l].concat(d||[]))}function n(l,d){var b=1,A=l.length,f,w="",v,x,m,C,B,S,I,P;for(v=0;v<A;v++)if(typeof l[v]=="string")w+=l[v];else if(typeof l[v]=="object"){if(m=l[v],m.keys)for(f=d[b],x=0;x<m.keys.length;x++){if(f==null)throw new Error(t('[sprintf] Cannot access property "%s" of undefined value "%s"',m.keys[x],m.keys[x-1]));f=f[m.keys[x]]}else m.param_no?f=d[m.param_no]:f=d[b++];if(r.not_type.test(m.type)&&r.not_primitive.test(m.type)&&f instanceof Function&&(f=f()),r.numeric_arg.test(m.type)&&typeof f!="number"&&isNaN(f))throw new TypeError(t("[sprintf] expecting number but found %T",f));switch(r.number.test(m.type)&&(I=f>=0),m.type){case"b":f=parseInt(f,10).toString(2);break;case"c":f=String.fromCharCode(parseInt(f,10));break;case"d":case"i":f=parseInt(f,10);break;case"j":f=JSON.stringify(f,null,m.width?parseInt(m.width):0);break;case"e":f=m.precision?parseFloat(f).toExponential(m.precision):parseFloat(f).toExponential();break;case"f":f=m.precision?parseFloat(f).toFixed(m.precision):parseFloat(f);break;case"g":f=m.precision?String(Number(f.toPrecision(m.precision))):parseFloat(f);break;case"o":f=(parseInt(f,10)>>>0).toString(8);break;case"s":f=String(f),f=m.precision?f.substring(0,m.precision):f;break;case"t":f=String(!!f),f=m.precision?f.substring(0,m.precision):f;break;case"T":f=Object.prototype.toString.call(f).slice(8,-1).toLowerCase(),f=m.precision?f.substring(0,m.precision):f;break;case"u":f=parseInt(f,10)>>>0;break;case"v":f=f.valueOf(),f=m.precision?f.substring(0,m.precision):f;break;case"x":f=(parseInt(f,10)>>>0).toString(16);break;case"X":f=(parseInt(f,10)>>>0).toString(16).toUpperCase();break}r.json.test(m.type)?w+=f:(r.number.test(m.type)&&(!I||m.sign)?(P=I?"+":"-",f=f.toString().replace(r.sign,"")):P="",B=m.pad_char?m.pad_char==="0"?"0":m.pad_char.charAt(1):" ",S=m.width-(P+f).length,C=m.width&&S>0?B.repeat(S):"",w+=m.align?P+f+C:B==="0"?P+C+f:C+P+f)}return w}var i=Object.create(null);function u(l){if(i[l])return i[l];for(var d=l,b,A=[],f=0;d;){if((b=r.text.exec(d))!==null)A.push(b[0]);else if((b=r.modulo.exec(d))!==null)A.push("%");else if((b=r.placeholder.exec(d))!==null){if(b[2]){f|=1;var w=[],v=b[2],x=[];if((x=r.key.exec(v))!==null)for(w.push(x[1]);(v=v.substring(x[0].length))!=="";)if((x=r.key_access.exec(v))!==null)w.push(x[1]);else if((x=r.index_access.exec(v))!==null)w.push(x[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");b[2]=w}else f|=2;if(f===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");A.push({placeholder:b[0],param_no:b[1],keys:b[2],sign:b[3],pad_char:b[4],align:b[5],width:b[6],precision:b[7],type:b[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");d=d.substring(b[0].length)}return i[l]=A}typeof Ve<"u"&&(Ve.sprintf=t,Ve.vsprintf=e),typeof window<"u"&&(window.sprintf=t,window.vsprintf=e,typeof define=="function"&&define.amd&&define(function(){return{sprintf:t,vsprintf:e}}))})()});var Au={};rt(Au,{tcp:()=>Cu});var Ys=k(dt("net"),1);var At=dt("node:net");function Ee(r){return Boolean((0,At.isIP)(r))}var ir={};rt(ir,{identity:()=>Gi});function $i(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 u=r.charAt(i),l=u.charCodeAt(0);if(e[l]!==255)throw new TypeError(u+" is ambiguous");e[l]=i}var d=r.length,b=r.charAt(0),A=Math.log(d)/Math.log(256),f=Math.log(256)/Math.log(d);function w(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 C=0,B=0,S=0,I=m.length;S!==I&&m[S]===0;)S++,C++;for(var P=(I-S)*f+1>>>0,U=new Uint8Array(P);S!==I;){for(var Q=m[S],J=0,W=P-1;(Q!==0||J<B)&&W!==-1;W--,J++)Q+=256*U[W]>>>0,U[W]=Q%d>>>0,Q=Q/d>>>0;if(Q!==0)throw new Error("Non-zero carry");B=J,S++}for(var Y=P-B;Y!==P&&U[Y]===0;)Y++;for(var at=b.repeat(C);Y<P;++Y)at+=r.charAt(U[Y]);return at}function v(m){if(typeof m!="string")throw new TypeError("Expected String");if(m.length===0)return new Uint8Array;var C=0;if(m[C]!==" "){for(var B=0,S=0;m[C]===b;)B++,C++;for(var I=(m.length-C)*A+1>>>0,P=new Uint8Array(I);m[C];){var U=e[m.charCodeAt(C)];if(U===255)return;for(var Q=0,J=I-1;(U!==0||Q<S)&&J!==-1;J--,Q++)U+=d*P[J]>>>0,P[J]=U%256>>>0,U=U/256>>>0;if(U!==0)throw new Error("Non-zero carry");S=Q,C++}if(m[C]!==" "){for(var W=I-S;W!==I&&P[W]===0;)W++;for(var Y=new Uint8Array(B+(I-W)),at=B;W!==I;)Y[at++]=P[W++];return Y}}}function x(m){var C=v(m);if(C)return C;throw new Error(`Non-${t} character`)}return{encode:w,decodeUnsafe:v,decode:x}}var ji=$i,Vi=ji,wn=Vi;var Mu=new Uint8Array(0);var vn=(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},ot=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")};var Tn=r=>new TextEncoder().encode(r),xn=r=>new TextDecoder().decode(r);var rr=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")}},nr=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 En(this,t)}},sr=class{constructor(t){this.decoders=t}or(t){return En(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`)}},En=(r,t)=>new sr({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),or=class{constructor(t,e,n,i){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=i,this.encoder=new rr(t,e,n),this.decoder=new nr(t,e,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},jt=({name:r,prefix:t,encode:e,decode:n})=>new or(r,t,e,n),It=({prefix:r,name:t,alphabet:e})=>{let{encode:n,decode:i}=wn(e,t);return jt({prefix:r,name:t,encode:n,decode:u=>ot(i(u))})},zi=(r,t,e,n)=>{let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let u=r.length;for(;r[u-1]==="=";)--u;let l=new Uint8Array(u*e/8|0),d=0,b=0,A=0;for(let f=0;f<u;++f){let w=i[r[f]];if(w===void 0)throw new SyntaxError(`Non-${n} character`);b=b<<e|w,d+=e,d>=8&&(d-=8,l[A++]=255&b>>d)}if(d>=e||255&b<<8-d)throw new SyntaxError("Unexpected end of data");return l},qi=(r,t,e)=>{let n=t[t.length-1]==="=",i=(1<<e)-1,u="",l=0,d=0;for(let b=0;b<r.length;++b)for(d=d<<8|r[b],l+=8;l>e;)l-=e,u+=t[i&d>>l];if(l&&(u+=t[i&d<<e-l]),n)for(;u.length*e&7;)u+="=";return u},O=({name:r,prefix:t,bitsPerChar:e,alphabet:n})=>jt({prefix:t,name:r,encode(i){return qi(i,n,e)},decode(i){return zi(i,n,e,r)}});var Gi=jt({prefix:"\0",name:"identity",encode:r=>xn(r),decode:r=>Tn(r)});var ar={};rt(ar,{base2:()=>Zi});var Zi=O({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var cr={};rt(cr,{base8:()=>Hi});var Hi=O({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ur={};rt(ur,{base10:()=>Wi});var Wi=It({prefix:"9",name:"base10",alphabet:"0123456789"});var fr={};rt(fr,{base16:()=>Xi,base16upper:()=>Ji});var Xi=O({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Ji=O({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var lr={};rt(lr,{base32:()=>lt,base32hex:()=>ta,base32hexpad:()=>ra,base32hexpadupper:()=>na,base32hexupper:()=>ea,base32pad:()=>Ki,base32padupper:()=>Qi,base32upper:()=>Yi,base32z:()=>sa});var lt=O({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Yi=O({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Ki=O({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Qi=O({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),ta=O({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),ea=O({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),ra=O({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),na=O({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),sa=O({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var pr={};rt(pr,{base36:()=>oa,base36upper:()=>ia});var oa=It({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ia=It({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var hr={};rt(hr,{base58btc:()=>z,base58flickr:()=>aa});var z=It({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),aa=It({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var mr={};rt(mr,{base64:()=>dr,base64pad:()=>ca,base64url:()=>ua,base64urlpad:()=>fa});var dr=O({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),ca=O({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),ua=O({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),fa=O({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var gr={};rt(gr,{base256emoji:()=>ma});var Cn=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}"),la=Cn.reduce((r,t,e)=>(r[e]=t,r),[]),pa=Cn.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function ha(r){return r.reduce((t,e)=>(t+=la[e],t),"")}function da(r){let t=[];for(let e of r){let n=pa[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var ma=jt({prefix:"\u{1F680}",name:"base256emoji",encode:ha,decode:da});var Tr={};rt(Tr,{sha256:()=>Pa,sha512:()=>Fa});var vr=k(dt("crypto"),1);var ga=Bn,An=128,ba=127,ya=~ba,wa=Math.pow(2,31);function Bn(r,t,e){t=t||[],e=e||0;for(var n=e;r>=wa;)t[e++]=r&255|An,r/=128;for(;r&ya;)t[e++]=r&255|An,r>>>=7;return t[e]=r|0,Bn.bytes=e-n+1,t}var va=br,Ta=128,In=127;function br(r,n){var e=0,n=n||0,i=0,u=n,l,d=r.length;do{if(u>=d)throw br.bytes=0,new RangeError("Could not decode varint");l=r[u++],e+=i<28?(l&In)<<i:(l&In)*Math.pow(2,i),i+=7}while(l>=Ta);return br.bytes=u-n,e}var xa=Math.pow(2,7),Sa=Math.pow(2,14),Ea=Math.pow(2,21),Ca=Math.pow(2,28),Aa=Math.pow(2,35),Ia=Math.pow(2,42),Ba=Math.pow(2,49),Ra=Math.pow(2,56),Ma=Math.pow(2,63),Da=function(r){return r<xa?1:r<Sa?2:r<Ea?3:r<Ca?4:r<Aa?5:r<Ia?6:r<Ba?7:r<Ra?8:r<Ma?9:10},Oa={encode:ga,decode:va,encodingLength:Da},_a=Oa,oe=_a;var ie=(r,t=0)=>[oe.decode(r,t),oe.decode.bytes],Vt=(r,t,e=0)=>(oe.encode(r,t,e),t),zt=r=>oe.encodingLength(r);var Pt=(r,t)=>{let e=t.byteLength,n=zt(r),i=n+zt(e),u=new Uint8Array(i+e);return Vt(r,u,0),Vt(e,u,n),u.set(t,i),new qt(r,e,t,u)},Ae=r=>{let t=ot(r),[e,n]=ie(t),[i,u]=ie(t.subarray(n)),l=t.subarray(n+u);if(l.byteLength!==i)throw new Error("Incorrect length");return new qt(e,i,l,t)},Rn=(r,t)=>{if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&vn(r.bytes,e.bytes)}},qt=class{constructor(t,e,n,i){this.code=t,this.size=e,this.digest=n,this.bytes=i}};var wr=({name:r,code:t,encode:e})=>new yr(r,t,e),yr=class{constructor(t,e,n){this.name=t,this.code=e,this.encode=n}digest(t){if(t instanceof Uint8Array){let e=this.encode(t);return e instanceof Uint8Array?Pt(this.code,e):e.then(n=>Pt(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Pa=wr({name:"sha2-256",code:18,encode:r=>ot(vr.default.createHash("sha256").update(r).digest())}),Fa=wr({name:"sha2-512",code:19,encode:r=>ot(vr.default.createHash("sha512").update(r).digest())});var xr={};rt(xr,{identity:()=>Ua});var Dn=0,ka="identity",On=ot,Na=r=>Pt(Dn,On(r)),Ua={code:Dn,name:ka,encode:On,digest:Na};var Ku=new TextEncoder,Qu=new TextDecoder;var ja=(r,t)=>{let{bytes:e,version:n}=r;switch(n){case 0:return za(e,Sr(r),t||z.encoder);default:return qa(e,Sr(r),t||lt.encoder)}},_n=new WeakMap,Sr=r=>{let t=_n.get(r);if(t==null){let e=new Map;return _n.set(r,e),e}return t},M=class{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!==ae)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Ga)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return M.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=Pt(t,e);return M.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 M.equals(this,t)}static equals(t,e){let n=e;return n&&t.code===n.code&&t.version===n.version&&Rn(t.multihash,n.multihash)}toString(t){return ja(this,t)}toJSON(){return{code:this.code,version:this.version,hash:this.multihash.bytes}}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 M)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:i,multihash:u,bytes:l}=e;return new M(n,i,u,l||Pn(n,i,u.bytes))}else if(e[Za]===!0){let{version:n,multihash:i,code:u}=e,l=Ae(i);return M.create(n,u,l)}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!==ae)throw new Error(`Version 0 CID must use dag-pb (code: ${ae}) block encoding`);return new M(t,e,n,n.bytes)}case 1:{let i=Pn(t,e,n.bytes);return new M(t,e,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return M.create(0,ae,t)}static createV1(t,e){return M.create(1,t,e)}static decode(t){let[e,n]=M.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=M.inspectBytes(t),n=e.size-e.multihashSize,i=ot(t.subarray(n,n+e.multihashSize));if(i.byteLength!==e.multihashSize)throw new Error("Incorrect length");let u=i.subarray(e.multihashSize-e.digestSize),l=new qt(e.multihashCode,e.digestSize,u,i);return[e.version===0?M.createV0(l):M.createV1(e.codec,l),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[w,v]=ie(t.subarray(e));return e+=v,w},i=n(),u=ae;if(i===18?(i=0,e=0):u=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let l=e,d=n(),b=n(),A=e+b,f=A-l;return{version:i,codec:u,multihashCode:d,digestSize:b,multihashSize:f,size:A}}static parse(t,e){let[n,i]=Va(t,e),u=M.decode(i);return Sr(u).set(n,t),u}},Va=(r,t)=>{switch(r[0]){case"Q":{let e=t||z;return[z.prefix,e.decode(`${z.prefix}${r}`)]}case z.prefix:{let e=t||z;return[z.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)]}}},za=(r,t,e)=>{let{prefix:n}=e;if(n!==z.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let i=t.get(n);if(i==null){let u=e.encode(r).slice(1);return t.set(n,u),u}else return i},qa=(r,t,e)=>{let{prefix:n}=e,i=t.get(n);if(i==null){let u=e.encode(r);return t.set(n,u),u}else return i},ae=112,Ga=18,Pn=(r,t,e)=>{let n=zt(r),i=n+zt(t),u=new Uint8Array(i+e.byteLength);return Vt(r,u,0),Vt(t,u,n),u.set(e,i),u},Za=Symbol.for("@ipld/js-cid/CID");var ce={...ir,...ar,...cr,...ur,...fr,...lr,...pr,...hr,...mr,...gr},ff={...Tr,...xr};function Zt(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function Ie(r=0){return globalThis.Buffer?.allocUnsafe!=null?Zt(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function kn(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var Fn=kn("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Er=kn("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=Ie(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Ha={utf8:Fn,"utf-8":Fn,hex:ce.base16,latin1:Er,ascii:Er,binary:Er,...ce},Be=Ha;function K(r,t="utf8"){let e=Be[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 Nn=At.isIPv4,Wa=At.isIPv6,Cr=function(r){let t=0;if(r=r.toString().trim(),Nn(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(Wa(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let u=Nn(e[n]),l;u&&(l=Cr(e[n]),e[n]=K(l.slice(0,2),"base16")),l!=null&&++n<8&&e.splice(n,0,K(l.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 u=[n,1];for(n=9-e.length;n>0;n--)u.push("0");e.splice.apply(e,u)}let i=new Uint8Array(t+16);for(n=0;n<e.length;n++){let u=parseInt(e[n],16);i[t++]=u>>8&255,i[t++]=u&255}return i}throw new Error("invalid ip address")},Un=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 u=0;u<e;u++)i.push(r[t+u]);return i.join(".")}if(e===16){let i=[];for(let u=0;u<e;u+=2)i.push(n.getUint16(t+u).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var ue={},Ar={},Ja=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[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"],[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"],[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"]];Ja.forEach(r=>{let t=Ya(...r);Ar[t.code]=t,ue[t.name]=t});function Ya(r,t,e,n,i){return{code:r,size:t,name:e,resolvable:Boolean(n),path:Boolean(i)}}function N(r){if(typeof r=="number"){if(Ar[r]!=null)return Ar[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(ue[r]!=null)return ue[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var mt=k(Re(),1);function Rr(r,t="utf8"){let e=Be[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Zt(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function yt(r,t){t==null&&(t=r.reduce((i,u)=>i+u.length,0));let e=Ie(t),n=0;for(let i of r)e.set(i,n),n+=i.length;return Zt(e)}function Jn(r,t){switch(N(r).code){case 4:case 41:return pc(t);case 6:case 273:case 33:case 132:return Kn(t).toString();case 53:case 54:case 55:case 56:case 400:case 777:return dc(t);case 421:return yc(t);case 444:return Xn(t);case 445:return Xn(t);case 466:return bc(t);default:return K(t,"base16")}}function Yn(r,t){switch(N(r).code){case 4:return Wn(t);case 41:return Wn(t);case 6:case 273:case 33:case 132:return Dr(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 777:return hc(t);case 421:return mc(t);case 444:return wc(t);case 445:return vc(t);case 466:return gc(t);default:return Rr(t,"base16")}}var Mr=Object.values(ce).map(r=>r.decoder),lc=function(){let r=Mr[0].or(Mr[1]);return Mr.slice(2).forEach(t=>r=r.or(t)),r}();function Wn(r){if(!Ee(r))throw new Error("invalid ip address");return Cr(r)}function pc(r){let t=Un(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!Ee(t))throw new Error("invalid ip address");return t}function Dr(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function Kn(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function hc(r){let t=Rr(r),e=Uint8Array.from(mt.default.encode(t.length));return yt([e,t],e.length+t.length)}function dc(r){let t=mt.default.decode(r);if(r=r.slice(mt.default.decode.bytes),r.length!==t)throw new Error("inconsistent lengths");return K(r)}function mc(r){let t;r[0]==="Q"||r[0]==="1"?t=Ae(z.decode(`z${r}`)).bytes:t=M.parse(r).multihash.bytes;let e=Uint8Array.from(mt.default.encode(t.length));return yt([e,t],e.length+t.length)}function gc(r){let t=lc.decode(r),e=Uint8Array.from(mt.default.encode(t.length));return yt([e,t],e.length+t.length)}function bc(r){let t=mt.default.decode(r),e=r.slice(mt.default.decode.bytes);if(e.length!==t)throw new Error("inconsistent lengths");return"u"+K(e,"base64url")}function yc(r){let t=mt.default.decode(r),e=r.slice(mt.default.decode.bytes);if(e.length!==t)throw new Error("inconsistent lengths");return K(e,"base58btc")}function wc(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=lt.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Dr(n);return yt([e,i],e.length+i.length)}function vc(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=lt.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Dr(n);return yt([e,i],e.length+i.length)}function Xn(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=K(t,"base32"),i=Kn(e);return`${n}:${i}`}var Ht=k(Re(),1);function Tc(r){let t=[],e=r.split("/").slice(1);if(e.length===1&&e[0]==="")return[];for(let n=0;n<e.length;n++){let i=e[n],u=N(i);if(u.size===0){t.push([i]);continue}if(n++,n>=e.length)throw ts("invalid address: "+r);if(u.path===!0){t.push([i,kr(e.slice(n).join("/"))]);break}t.push([i,e[n]])}return t}function xc(r){let t=[];return r.map(e=>{let n=Oe(e);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),kr(t.join("/"))}function Sc(r){return r.map(t=>{Array.isArray(t)||(t=[t]);let e=Oe(t);return t.length>1?[e.code,Yn(e.code,t[1])]:[e.code]})}function Or(r){return r.map(t=>{let e=Oe(t);return t[1]!=null?[e.code,Jn(e.code,t[1])]:[e.code]})}function _r(r){return De(yt(r.map(t=>{let e=Oe(t),n=Uint8Array.from(Ht.default.encode(e.code));return t.length>1&&t[1]!=null&&(n=yt([n,t[1]])),n})))}function Pr(r,t){return r.size>0?r.size/8:r.size===0?0:Ht.default.decode(t)+(Ht.default.decode.bytes??0)}function Me(r){let t=[],e=0;for(;e<r.length;){let n=Ht.default.decode(r,e),i=Ht.default.decode.bytes??0,u=N(n),l=Pr(u,r.slice(e+i));if(l===0){t.push([n]),e+=i;continue}let d=r.slice(e+i,e+i+l);if(e+=l+i,e>r.length)throw ts("Invalid address Uint8Array: "+K(r,"base16"));t.push([n,d])}return t}function Fr(r){let t=Me(r),e=Or(t);return xc(e)}function Ec(r){r=kr(r);let t=Tc(r),e=Sc(t);return _r(e)}function Qn(r){return Ec(r)}function De(r){let t=Cc(r);if(t!=null)throw t;return Uint8Array.from(r)}function Cc(r){try{Me(r)}catch(t){return t}}function kr(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function ts(r){return new Error("Error parsing address: "+r)}function Oe(r){return N(r[0])}var Ur=k(Re(),1);var is=k(fe(),1);function ns(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 Wt=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},Nr=function(r,t,e,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?r!==t||!i:!t.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,e):i?i.value=e:t.set(r,e),e},le,pe,he,ss,Bc=Symbol.for("nodejs.util.inspect.custom"),os=[N("dns").code,N("dns4").code,N("dns6").code,N("dnsaddr").code],Rc=[N("p2p").code,N("ipfs").code],Mc=new Map,as=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Dc(r){return Boolean(r?.[as])}var wt=class{constructor(t){if(le.set(this,void 0),pe.set(this,void 0),he.set(this,void 0),this[ss]=!0,t==null&&(t=""),t instanceof Uint8Array)this.bytes=De(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);this.bytes=Qn(t)}else if(Dc(t))this.bytes=De(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return Wt(this,le,"f")==null&&Nr(this,le,Fr(this.bytes),"f"),Wt(this,le,"f")}toJSON(){return this.toString()}toOptions(){let t=this.protoCodes(),e=this.toString().split("/").slice(1),n,i;if(e.length>2)os.includes(t[0])&&Rc.includes(t[1])?(n=N("tcp").name,i=443):(n=N(e[2]).name,i=parseInt(e[3]));else if(os.includes(t[0]))n=N("tcp").name,i=443;else throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t[0]===41||t[0]===55?6:4,host:e[1],transport:n,port:i}}protos(){return this.protoCodes().map(t=>Object.assign({},N(t)))}protoCodes(){let t=[],e=this.bytes,n=0;for(;n<e.length;){let i=Ur.default.decode(e,n),u=Ur.default.decode.bytes??0,l=N(i),d=Pr(l,e.slice(n+u));n+=d+u,t.push(i)}return t}protoNames(){return this.protos().map(t=>t.name)}tuples(){return Wt(this,pe,"f")==null&&Nr(this,pe,Me(this.bytes),"f"),Wt(this,pe,"f")}stringTuples(){return Wt(this,he,"f")==null&&Nr(this,he,Or(this.tuples()),"f"),Wt(this,he,"f")}encapsulate(t){return t=new wt(t),new wt(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 wt(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 wt(_r(e.slice(0,n)));return this}getPeerId(){try{let e=this.stringTuples().filter(n=>n[0]===ue.ipfs.code).pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?K(z.decode(`z${n}`),"base58btc"):K(M.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){let t=null;try{t=this.stringTuples().filter(e=>N(e[0]).path===!0)[0][1],t==null&&(t=null)}catch{t=null}return t}equals(t){return ns(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(u=>u.resolvable);if(e==null)return[this];let n=Mc.get(e.name);if(n==null)throw(0,is.default)(new Error(`no available resolver for ${e.name}`),"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(u=>new wt(u))}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)}[(le=new WeakMap,pe=new WeakMap,he=new WeakMap,ss=as,Bc)](){return`Multiaddr(${Fr(this.bytes)})`}};function vt(r){return new wt(r)}var Oc=T("dns4"),_c=T("dns6"),Pc=T("dnsaddr"),Xt=q(T("dns"),Pc,Oc,_c),_e=q(T("ip4"),T("ip6")),Ft=q(E(_e,T("tcp")),E(Xt,T("tcp"))),us=E(_e,T("udp")),Fc=E(us,T("utp")),kc=E(us,T("quic")),me=q(E(Ft,T("ws")),E(Xt,T("ws"))),ge=q(E(Ft,T("wss")),E(Xt,T("wss"))),Lr=q(E(Ft,T("http")),E(_e,T("http")),E(Xt,T("http"))),$r=q(E(Ft,T("https")),E(_e,T("https")),E(Xt,T("https"))),fs=q(E(me,T("p2p-webrtc-star"),T("p2p")),E(ge,T("p2p-webrtc-star"),T("p2p")),E(me,T("p2p-webrtc-star")),E(ge,T("p2p-webrtc-star"))),rl=q(E(me,T("p2p-websocket-star"),T("p2p")),E(ge,T("p2p-websocket-star"),T("p2p")),E(me,T("p2p-websocket-star")),E(ge,T("p2p-websocket-star"))),ls=q(E(Lr,T("p2p-webrtc-direct"),T("p2p")),E($r,T("p2p-webrtc-direct"),T("p2p")),E(Lr,T("p2p-webrtc-direct")),E($r,T("p2p-webrtc-direct"))),be=q(me,ge,Lr,$r,fs,ls,Ft,Fc,kc,Xt),nl=q(E(be,T("p2p-stardust"),T("p2p")),E(be,T("p2p-stardust"))),Bt=q(E(be,T("p2p")),fs,ls,T("p2p")),cs=q(E(Bt,T("p2p-circuit"),Bt),E(Bt,T("p2p-circuit")),E(T("p2p-circuit"),Bt),E(be,T("p2p-circuit")),E(T("p2p-circuit"),be),T("p2p-circuit")),ps=()=>q(E(cs,ps),cs),de=ps(),sl=q(E(de,Bt,de),E(Bt,de),E(de,Bt),de,Bt);function hs(r){function t(e){let n;try{n=vt(e)}catch{return!1}let i=r(n.protoNames());return i===null?!1:i===!0||i===!1?i:i.length===0}return t}function E(...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:hs(t),partialMatch:t}}function q(...r){function t(n){let i=null;return r.some(u=>{let l=typeof u=="function"?u().partialMatch(n):u.partialMatch(n);return l!=null?(i=l,!0):!1}),i}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:hs(t),partialMatch:t}}function T(r){let t=r;function e(i){let u;try{u=vt(i)}catch{return!1}let l=u.protoNames();return l.length===1&&l[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 Ks=k(fe(),1);var gt=k(Cs(),1);gt.default.formatters.b=r=>r==null?"undefined":z.baseEncode(r);gt.default.formatters.t=r=>r==null?"undefined":lt.baseEncode(r);gt.default.formatters.m=r=>r==null?"undefined":dr.baseEncode(r);gt.default.formatters.p=r=>r==null?"undefined":r.toString();gt.default.formatters.c=r=>r==null?"undefined":r.toString();gt.default.formatters.k=r=>r==null?"undefined":r.toString();function Mt(r){return Object.assign((0,gt.default)(r),{error:(0,gt.default)(`${r}:error`),trace:(0,gt.default)(`${r}:trace`)})}var Ws=k(_s(),1);var Ze=k(fe(),1);function Le(r){return this.subnetMask<r.subnetMask?!1:this.mask(r.subnetMask)===r.mask()}function $e(r){return function(){return this.addressMinusSuffix!==this.correctForm()?!1:this.subnetMask===r&&!this.parsedSubnet?!0:this.parsedSubnet===String(this.subnetMask)}}var te=/^(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,Hr=/\/\d{1,2}$/;var G=class extends Error{constructor(t,e){super(t),this.name="AddressError",e!==null&&(this.parseMessage=e)}};var ee=k(Wr(),1),Nt=k(ye(),1),D=class{constructor(t){this.groups=4,this.parsedAddress=[],this.parsedSubnet="",this.subnet="/32",this.subnetMask=32,this.v4=!0,this.isCorrect=$e(32),this.isInSubnet=Le,this.address=t;let e=Hr.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 G("Invalid subnet mask.");t=t.replace(Hr,"")}this.addressMinusSuffix=t,this.parsedAddress=this.parse(t)}static isValid(t){try{return new D(t),!0}catch{return!1}}parse(t){let e=t.split(".");if(!t.match(te))throw new G("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 u=e.slice(i,i+2);n.push(parseInt(u,16))}return new D(n.join("."))}static fromInteger(t){return D.fromHex(t.toString(16))}static fromArpa(t){let n=t.replace(/(\.in-addr\.arpa)?\.$/,"").split(".").reverse().join(".");return new D(n)}toHex(){return this.parsedAddress.map(t=>(0,Nt.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,Nt.sprintf)("%02x%02x",parseInt(this.parsedAddress[e],10),parseInt(this.parsedAddress[e+1],10));t.push((0,Nt.sprintf)("%x",parseInt(n,16)))}return t.join(":")}bigInteger(){return new ee.BigInteger(this.parsedAddress.map(t=>(0,Nt.sprintf)("%02x",parseInt(t,10))).join(""),16)}_startAddress(){return new ee.BigInteger(this.mask()+"0".repeat(32-this.subnetMask),2)}startAddress(){return D.fromBigInteger(this._startAddress())}startAddressExclusive(){let t=new ee.BigInteger("1");return D.fromBigInteger(this._startAddress().add(t))}_endAddress(){return new ee.BigInteger(this.mask()+"1".repeat(32-this.subnetMask),2)}endAddress(){return D.fromBigInteger(this._endAddress())}endAddressExclusive(){let t=new ee.BigInteger("1");return D.fromBigInteger(this._endAddress().subtract(t))}static fromBigInteger(t){return D.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,Nt.sprintf)("%s.in-addr.arpa.",e)}isMulticast(){return this.isInSubnet(new D("224.0.0.0/4"))}binaryZeroPad(){return this.bigInteger().toString(2).padStart(32,"0")}groupForV6(){let t=this.parsedAddress;return this.address.replace(te,(0,Nt.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 Us={0:"Reserved",1:"Interface local",2:"Link local",4:"Admin local",5:"Site local",8:"Organization local",14:"Global",15:"Reserved"},Xr={"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"},Jr=/([^0-9a-f:/%])/gi,Yr=/([0-9a-f]{5,}|:{3,}|[^:]:$|^:[^:]|\/$)/gi,Kr=/\/\d{1,3}(?=%|$)/,Qr=/%.*$/,Ls=new RegExp(/^\[{0,1}([0-9a-f:]+)\]{0,1}/),$s=new RegExp(/\[([0-9a-f:]+)\]:([0-9]{1,5})/);var Vs=k(ye(),1);function fu(r){return r.replace(/^(0+)/,'<span class="zero">$1</span>')}function ze(r,t=0){return r.split(":").map((n,i)=>/group-v4/.test(n)?n:(0,Vs.sprintf)('<span class="hover-group group-%d">%s</span>',i+t,fu(n)))}var Lt=k(ye(),1);function en(r){return(0,Lt.sprintf)("(%s)",r.join("|"))}function tn(r){return r.length<4?(0,Lt.sprintf)("0{0,%d}%s",4-r.length,r):r}var rn="[^A-Fa-f0-9:]";function qe(r){let t=[];r.forEach((n,i)=>{parseInt(n,16)===0&&t.push(i)});let e=t.map(n=>r.map((i,u)=>{if(u===n){let l=u===0||u===8-1?":":"";return en([tn(i),l])}return tn(i)}).join(":"));return e.push(r.map(tn).join(":")),en(e)}function nn(r,t,e){let n=t?"":":",i=e?"":":",u=[];!t&&!e&&u.push("::"),t&&e&&u.push(""),(e&&!t||!e&&t)&&u.push(":"),u.push((0,Lt.sprintf)("%s(:0{1,4}){1,%d}",n,r-1)),u.push((0,Lt.sprintf)("(0{1,4}:){1,%d}%s",r-1,i)),u.push((0,Lt.sprintf)("(0{1,4}:){%d}0{1,4}",r-1));for(let l=1;l<r-1;l++)for(let d=1;d<r-l;d++)u.push((0,Lt.sprintf)("(0{1,4}:){%d}:(0{1,4}:){%d}0{1,4}",d,r-d-l-1));return en(u)}var Z=k(Wr(),1),H=k(ye(),1);function Ge(r){if(!r)throw new Error("Assertion failed.")}function lu(r){let t=/(\d+)(\d{3})/;for(;t.test(r);)r=r.replace(t,"$1,$2");return r}function pu(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 hu(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 qs(r){return(0,H.sprintf)("%04x",parseInt(r,16))}function Gs(r){return r&255}var _=class{constructor(t,e){this.addressMinusSuffix="",this.parsedSubnet="",this.subnet="/128",this.subnetMask=128,this.v4=!1,this.zone="",this.isInSubnet=Le,this.isCorrect=$e(128),e===void 0?this.groups=8:this.groups=e,this.address=t;let n=Kr.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 G("Invalid subnet mask.");t=t.replace(Kr,"")}else if(/\//.test(t))throw new G("Invalid subnet mask.");let i=Qr.exec(t);i&&(this.zone=i[0],t=t.replace(Qr,"")),this.addressMinusSuffix=t,this.parsedAddress=this.parse(this.addressMinusSuffix)}static isValid(t){try{return new _(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 _(n.join(":"))}static fromURL(t){let e,n=null,i;if(t.indexOf("[")!==-1&&t.indexOf("]:")!==-1){if(i=$s.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=Ls.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 _(e),port:n}}static fromAddress4(t){let e=new D(t),n=128-(32-e.subnetMask);return new _(`::ffff:${e.correctForm()}/${n}`)}static fromArpa(t){let e=t.replace(/(\.ip6\.arpa)?\.$/,""),n=7;if(e.length!==63)throw new G("Invalid 'ip6.arpa' form.");let i=e.split(".").reverse();for(let u=n;u>0;u--){let l=u*4;i.splice(l,0,":")}return e=i.join(""),new _(e)}microsoftTranscription(){return(0,H.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":lu(new Z.BigInteger("2",10).pow(i).toString(10))}_startAddress(){return new Z.BigInteger(this.mask()+"0".repeat(128-this.subnetMask),2)}startAddress(){return _.fromBigInteger(this._startAddress())}startAddressExclusive(){let t=new Z.BigInteger("1");return _.fromBigInteger(this._startAddress().add(t))}_endAddress(){return new Z.BigInteger(this.mask()+"1".repeat(128-this.subnetMask),2)}endAddress(){return _.fromBigInteger(this._endAddress())}endAddressExclusive(){let t=new Z.BigInteger("1");return _.fromBigInteger(this._endAddress().subtract(t))}getScope(){let t=Us[this.getBits(12,16).intValue()];return this.getType()==="Global unicast"&&t!=="Link local"&&(t="Global"),t||"Unknown"}getType(){for(let t of Object.keys(Xr))if(this.isInSubnet(new _(t)))return Xr[t];return"Global unicast"}getBits(t,e){return new Z.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,H.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 d=parseInt(this.parsedAddress[t],16);d===0&&n++,d!==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 u=i.map(d=>d[1]-d[0]+1);if(i.length>0){let d=u.indexOf(Math.max(...u));e=hu(this.parsedAddress,i[d])}else e=this.parsedAddress;for(t=0;t<e.length;t++)e[t]!=="compact"&&(e[t]=parseInt(e[t],16).toString(16));let l=e.join(":");return l=l.replace(/^compact$/,"::"),l=l.replace(/^compact|compact$/,":"),l=l.replace(/compact/,""),l}binaryZeroPad(){return this.bigInteger().toString(2).padStart(128,"0")}parse4in6(t){let e=t.split(":"),i=e.slice(-1)[0].match(te);if(i){this.parsedAddress4=i[0],this.address4=new D(this.parsedAddress4);for(let u=0;u<this.address4.groups;u++)if(/^0[0-9]+/.test(this.address4.parsedAddress[u]))throw new G("IPv4 addresses can't have leading zeroes.",t.replace(te,this.address4.parsedAddress.map(pu).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(Jr);if(e)throw new G((0,H.sprintf)("Bad character%s detected in address: %s",e.length>1?"s":"",e.join("")),t.replace(Jr,'<span class="parse-error">$1</span>'));let n=t.match(Yr);if(n)throw new G((0,H.sprintf)("Address failed regex: %s",n.join("")),t.replace(Yr,'<span class="parse-error">$1</span>'));let i=[],u=t.split("::");if(u.length===2){let l=u[0].split(":"),d=u[1].split(":");l.length===1&&l[0]===""&&(l=[]),d.length===1&&d[0]===""&&(d=[]);let b=this.groups-(l.length+d.length);if(!b)throw new G("Error parsing groups");this.elidedGroups=b,this.elisionBegin=l.length,this.elisionEnd=l.length+this.elidedGroups,i=i.concat(l);for(let A=0;A<b;A++)i.push("0");i=i.concat(d)}else if(u.length===1)i=t.split(":"),this.elidedGroups=0;else throw new G("Too many :: groups found");if(i=i.map(l=>(0,H.sprintf)("%x",parseInt(l,16))),i.length!==this.groups)throw new G("Incorrect number of groups found");return i}canonicalForm(){return this.parsedAddress.map(qs).join(":")}decimal(){return this.parsedAddress.map(t=>(0,H.sprintf)("%05d",parseInt(t,16))).join(":")}bigInteger(){return new Z.BigInteger(this.parsedAddress.map(qs).join(""),16)}to4(){let t=this.binaryZeroPad().split("");return D.fromHex(new Z.BigInteger(t.slice(96,128).join(""),2).toString(16))}to4in6(){let t=this.to4(),n=new _(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 Z.BigInteger("ffff",16)).toString(),n=D.fromHex(this.getBitsBase16(32,64)),i=D.fromHex(this.getBits(96,128).xor(new Z.BigInteger("ffffffff",16)).toString(16)),u=this.getBits(64,80),l=this.getBitsBase2(64,80),d=u.testBit(15),b=u.testBit(14),A=u.testBit(8),f=u.testBit(9),w=new Z.BigInteger(l.slice(2,6)+l.slice(8,16),2).toString(10);return{prefix:(0,H.sprintf)("%s:%s",t.slice(0,4),t.slice(4,8)),server4:n.address,client4:i.address,flags:l,coneNat:d,microsoft:{reserved:b,universalLocal:f,groupIndividual:A,nonce:w},udpPort:e}}inspect6to4(){let t=this.getBitsBase16(0,16),e=D.fromHex(this.getBitsBase16(16,48));return{prefix:(0,H.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 _(t)}toByteArray(){let t=this.bigInteger().toByteArray();return t.length===17&&t[0]===0?t.slice(1):t}toUnsignedByteArray(){return this.toByteArray().map(Gs)}static fromByteArray(t){return this.fromUnsignedByteArray(t.map(Gs))}static fromUnsignedByteArray(t){let e=new Z.BigInteger("256",10),n=new Z.BigInteger("0",10),i=new Z.BigInteger("1",10);for(let u=t.length-1;u>=0;u--)n=n.add(i.multiply(new Z.BigInteger(t[u].toString(10),10))),i=i.multiply(e);return _.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 _("2001::/32"))}is6to4(){return this.isInSubnet(new _("2002::/16"))}isLoopback(){return this.getType()==="Loopback"}href(t){return t===void 0?t="":t=(0,H.sprintf)(":%s",t),(0,H.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,H.sprintf)('<a href="%1$s%2$s" class="%3$s">%2$s</a>',t.prefix,e.call(this),t.className):(0,H.sprintf)('<a href="%1$s%2$s">%2$s</a>',t.prefix,e.call(this))}group(){if(this.elidedGroups===0)return ze(this.address).join(":");Ge(typeof this.elidedGroups=="number"),Ge(typeof this.elisionBegin=="number");let t=[],[e,n]=this.address.split("::");e.length?t.push(...ze(e)):t.push("");let i=["hover-group"];for(let u=this.elisionBegin;u<this.elisionBegin+this.elidedGroups;u++)i.push((0,H.sprintf)("group-%d",u));return t.push((0,H.sprintf)('<span class="%s"></span>',i.join(" "))),n.length?t.push(...ze(n,this.elisionEnd)):t.push(""),this.is4()&&(Ge(this.address4 instanceof D),t.pop(),t.push(this.address4.groupForV6())),t.join(":")}regularExpressionString(t=!1){let e=[],n=new _(this.correctForm());if(n.elidedGroups===0)e.push(qe(n.parsedAddress));else if(n.elidedGroups===8)e.push(nn(8));else{let i=n.address.split("::");i[0].length&&e.push(qe(i[0].split(":"))),Ge(typeof n.elidedGroups=="number"),e.push(nn(n.elidedGroups,i[0].length!==0,i[1].length!==0)),i[1].length&&e.push(qe(i[1].split(":"))),e=[e.join(":")]}return t||(e=["(?=^|",rn,"|[^\\w\\:])(",...e,")(?=[^\\w\\:]|",rn,"|$)"]),e.join("")}regularExpression(t=!1){return new RegExp(this.regularExpressionString(t),"i")}};var du=Mt("libp2p:ip-port-to-multiaddr"),sn={ERR_INVALID_IP_PARAMETER:"ERR_INVALID_IP_PARAMETER",ERR_INVALID_PORT_PARAMETER:"ERR_INVALID_PORT_PARAMETER",ERR_INVALID_IP:"ERR_INVALID_IP"};function Zs(r,t){if(typeof r!="string")throw(0,Ze.default)(new Error(`invalid ip provided: ${r}`),sn.ERR_INVALID_IP_PARAMETER);if(typeof t=="string"&&(t=parseInt(t)),isNaN(t))throw(0,Ze.default)(new Error(`invalid port provided: ${t}`),sn.ERR_INVALID_PORT_PARAMETER);try{return new D(r),vt(`/ip4/${r}/tcp/${t}`)}catch{}try{let e=new _(r);return e.is4()?vt(`/ip4/${e.to4().correctForm()}/tcp/${t}`):vt(`/ip6/${r}/tcp/${t}`)}catch{let n=`invalid ip:port for creating a multiaddr: ${r}:${t}`;throw du.error(n),(0,Ze.default)(new Error(n),sn.ERR_INVALID_IP)}}var on=k(dt("os"),1),Hs=k(dt("path"),1),mu={ip4:"IPv4",ip6:"IPv6"};function ne(r){let t=r.getPath();return t!=null?on.default.platform()==="win32"?{path:Hs.default.join("\\\\.\\pipe\\",t)}:{path:t}:r.toOptions()}function an(r,t,e){let n=i=>vt(`/${r}/${i}/tcp/${e}`);return(gu(t)?yu(mu[r]):[t]).map(n)}function gu(r){return["0.0.0.0","::"].includes(r)}var bu=on.default.networkInterfaces();function yu(r){let t=[];for(let[,e]of Object.entries(bu))if(e!=null)for(let n of e)n.family===r&&t.push(n.address);return t}var He=k(fe(),1),pt=Mt("libp2p:tcp:socket"),We=(r,t)=>{let e=t.metrics,n=t.metricPrefix??"",i=t.socketInactivityTimeout??3e4,u=t.socketCloseTimeout??2e3;t.listeningAddr?.getPath()!=null&&(t.remoteAddr=t.listeningAddr),t.remoteAddr?.getPath()!=null&&(t.localAddr=t.remoteAddr);let l;if(t.remoteAddr!=null)l=t.remoteAddr;else{if(r.remoteAddress==null||r.remotePort==null)throw(0,He.default)(new Error("Could not determine remote address or port"),"ERR_NO_REMOTE_ADDRESS");l=Zs(r.remoteAddress,r.remotePort)}let d=ne(l),b=d.path??`${d.host??""}:${d.port??""}`,{sink:A,source:f}=Ws.default.duplex(r);r.setTimeout(i,()=>{pt("%s socket read timeout",b),e?.increment({[`${n}timeout`]:!0});let v;r.readable&&(v=(0,He.default)(new Error("Socket read timeout"),"ERR_SOCKET_READ_TIMEOUT")),r.destroy(v)}),r.once("close",()=>{pt("%s socket read timeout",b),e?.increment({[`${n}close`]:!0}),w.timeline.close==null&&(w.timeline.close=Date.now())}),r.once("end",()=>{pt("socket ended",w.remoteAddr.toString()),e?.increment({[`${n}end`]:!0})});let w={async sink(v){try{await A(v)}catch(x){x.type!=="aborted"&&pt(x)}r.end()},source:f,remoteAddr:l,timeline:{open:Date.now()},async close(){if(r.destroyed){pt("%s socket was already destroyed when trying to close",b);return}pt("%s closing socket",b),await new Promise((v,x)=>{let m=Date.now(),C=setTimeout(()=>{r.destroyed?(pt("%s is already destroyed",b),v()):(pt("%s socket close timeout after %dms, destroying it manually",b,Date.now()-m),r.destroy((0,He.default)(new Error("Socket close timeout"),"ERR_SOCKET_CLOSE_TIMEOUT")))},u).unref();r.once("close",()=>{pt("%s socket closed",b),clearTimeout(C),v()}),r.once("error",B=>{pt("%s socket error",b,B),w.timeline.close==null&&(w.timeline.close=Date.now()),r.destroyed&&clearTimeout(C),x(B)}),r.setTimeout(u),r.end(),r.writableLength>0?r.once("drain",()=>{pt("%s socket drained",b),r.destroy()}):r.destroy()})}};return w};var Xs=k(dt("net"),1);var $t=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},xt,Xe=class extends EventTarget{constructor(){super(...arguments),xt.set(this,new Map)}listenerCount(t){let e=$t(this,xt,"f").get(t);return e==null?0:e.length}addEventListener(t,e,n){super.addEventListener(t,e,n);let i=$t(this,xt,"f").get(t);i==null&&(i=[],$t(this,xt,"f").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=$t(this,xt,"f").get(t);i!=null&&(i=i.filter(({callback:u})=>u!==e),$t(this,xt,"f").set(t,i))}dispatchEvent(t){let e=super.dispatchEvent(t),n=$t(this,xt,"f").get(t.type);return n==null||(n=n.filter(({once:i})=>!i),$t(this,xt,"f").set(t.type,n)),e}};xt=new WeakMap;var cn=class extends Event{constructor(t,e){super(t,e),this.detail=e?.detail}},we=globalThis.CustomEvent??cn;var ht=Mt("libp2p:tcp:listener");async function un(r){try{await r.close()}catch(t){ht.error("an error occurred closing the connection",t)}}var Tu=1,xu=0,Je=class extends Xe{constructor(t){super(),this.context=t,this.connections=new Set,this.status={started:!1},t.keepAlive=t.keepAlive??!0,this.addr="unknown",this.server=Xs.default.createServer(t,this.onSocket.bind(this)),t.maxConnections!==void 0&&(this.server.maxConnections=t.maxConnections),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]:Tu})}this.dispatchEvent(new we("listening"))}).on("error",e=>{this.metrics?.errors.increment({[`${this.addr} listen_error`]:!0}),this.dispatchEvent(new we("error",{detail:e}))}).on("close",()=>{this.metrics?.status.update({[this.addr]:xu}),this.dispatchEvent(new we("close"))})}onSocket(t){t.on("error",n=>{ht("socket error",n),this.metrics?.events.increment({[`${this.addr} error`]:!0})});let e;try{e=We(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){ht.error("inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_to_connection`]:!0});return}ht("new inbound connection %s",e.remoteAddr);try{this.context.upgrader.upgradeInbound(e).then(n=>{ht("inbound connection upgraded %s",e.remoteAddr),this.connections.add(e),t.once("close",()=>{this.connections.delete(e)}),this.context.handler!=null&&this.context.handler(n),this.dispatchEvent(new we("connection",{detail:n}))}).catch(async n=>{ht.error("inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_upgrade`]:!0}),await un(e)}).catch(n=>{ht.error("closing inbound connection failed",n)})}catch(n){ht.error("inbound connection failed",n),un(e).catch(i=>{ht.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(an("ip4",e.address,e.port)):e.family==="IPv6"&&(t=t.concat(an("ip6",e.address,e.port)))}catch(u){ht.error("could not turn %s:%s into multiaddr",e.address,e.port,u)}return t.map(u=>i!=null?u.encapsulate(`/p2p/${i}`):u)}async listen(t){let e=t.getPeerId(),n=e==null?t.decapsulateCode(421):t;return this.status={started:!0,listeningAddr:n,peerId:e},await new Promise((i,u)=>{let l=ne(n);this.server.on("error",d=>{u(d)}),this.server.listen(l,()=>{ht("Listening on %s",this.server.address()),i()})})}async close(){this.server.listening&&(await Promise.all(Array.from(this.connections.values()).map(async t=>await un(t))),await new Promise((t,e)=>{this.server.close(n=>n!=null?e(n):t())}))}};var St=class extends Error{constructor(t="The operation was aborted"){super(t),this.code=St.code,this.type=St.type}static get code(){return"ABORT_ERR"}static get type(){return"aborted"}};var Js=Symbol.for("@libp2p/transport");var Et=Mt("libp2p:tcp"),ln=class{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"})})}get[Js](){return!0}get[Symbol.toStringTag](){return"@libp2p/tcp"}async dial(t,e){e.keepAlive=e.keepAlive??!0;let n=await this._connect(t,e);n.on("error",d=>{Et("socket error",d)});let i=We(n,{remoteAddr:t,socketInactivityTimeout:this.opts.outboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.metrics?.dialerEvents}),u=()=>{i.close().catch(d=>{Et.error("Error closing maConn after abort",d)})};e.signal?.addEventListener("abort",u,{once:!0}),Et("new outbound connection %s",i.remoteAddr);let l=await e.upgrader.upgradeOutbound(i);if(Et("outbound connection %s upgraded",i.remoteAddr),e.signal?.removeEventListener("abort",u),e.signal?.aborted===!0)throw l.close().catch(d=>{Et.error("Error closing conn after abort",d)}),new St;return l}async _connect(t,e){if(e.signal?.aborted===!0)throw new St;return await new Promise((n,i)=>{let u=Date.now(),l=ne(t),d=l.path??`${l.host??""}:${l.port}`;Et("dialing %j",l);let b=Ys.default.connect(l),A=m=>{m.message=`connection error ${d}: ${m.message}`,this.metrics?.dialerEvents.increment({error:!0}),x(m)},f=()=>{Et("connection timeout %s",d),this.metrics?.dialerEvents.increment({timeout:!0});let m=(0,Ks.default)(new Error(`connection timeout after ${Date.now()-u}ms`),"ERR_CONNECT_TIMEOUT");b.emit("error",m)},w=()=>{Et("connection opened %j",l),this.metrics?.dialerEvents.increment({connect:!0}),x()},v=()=>{Et("connection aborted %j",l),this.metrics?.dialerEvents.increment({abort:!0}),b.destroy(),x(new St)},x=m=>{if(b.removeListener("error",A),b.removeListener("timeout",f),b.removeListener("connect",w),e.signal!=null&&e.signal.removeEventListener("abort",v),m!=null)return i(m);n(b)};b.on("error",A),b.on("timeout",f),b.on("connect",w),e.signal!=null&&e.signal.addEventListener("abort",v)})}createListener(t){return new Je({...t,maxConnections:this.opts.maxConnections,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:Ft.matches(e.decapsulateCode(421)))}};function Cu(r={}){return(t={})=>new ln(t,r)}return Li(Au);})();
|
|
4
|
+
`+u),r.push(i+"m+"+Ne.exports.humanize(this.diff)+"\x1B[0m")}else r[0]=tu()+t+" "+r[0]}function tu(){return V.inspectOpts.hideDate?"":new Date().toISOString()+" "}function eu(...r){return process.stderr.write(ke.format(...r)+`
|
|
5
|
+
`)}function ru(r){r?process.env.DEBUG=r:delete process.env.DEBUG}function nu(){return process.env.DEBUG}function su(r){r.inspectOpts={};let t=Object.keys(V.inspectOpts);for(let e=0;e<t.length;e++)r.inspectOpts[t[e]]=V.inspectOpts[t[e]]}Ne.exports=jr()(V);var{formatters:Cs}=Ne.exports;Cs.o=function(r){return this.inspectOpts.colors=this.useColors,ke.inspect(r,this.inspectOpts).split(`
|
|
6
|
+
`).map(t=>t.trim()).join(" ")};Cs.O=function(r){return this.inspectOpts.colors=this.useColors,ke.inspect(r,this.inspectOpts)}});var Is=k((cl,qr)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?qr.exports=ws():qr.exports=As()});var Le=k((hl,Bs)=>{Bs.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 Ms=k((dl,Rs)=>{Rs.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 Gr=k((ml,Ds)=>{var ou=Ms();Ds.exports=r=>async t=>{t=ou(t);let e=S=>{typeof S.return=="function"&&S.return()},n=null,i=null,u=S=>{n=S,i&&i(S),e(t)},l=null,d=!1,b=()=>{d=!0,l&&l()},A=null,f=!1,y=()=>{f=!0,A&&A()},v=null,T=()=>{v&&v()},m=()=>new Promise((S,I)=>{l=v=S,i=I,r.once("drain",T)}),C=()=>(e(t),new Promise((S,I)=>{if(d||f||n)return S();A=l=S,i=I})),B=()=>{r.removeListener("error",u),r.removeListener("close",b),r.removeListener("finish",y),r.removeListener("drain",T)};r.once("error",u),r.once("close",b),r.once("finish",y);try{for await(let S of t){if(!r.writable||r.destroyed||n)break;r.write(S)===!1&&await m()}}catch(S){n||r.destroy(),n=S}try{if(r.writable&&r.end(),await C(),n)throw n}finally{B()}}});var Zr=k((gl,Os)=>{var iu=Gr(),au=Le();Os.exports=r=>({sink:iu(r),source:au(r)})});var Ps=k((bl,_s)=>{var cu=Zr();_s.exports=r=>async function*(t){let e=cu(r),n;if(e.sink(t).catch(i=>{n=i}),yield*e.source,n)throw n}});var Fs=k((yl,te)=>{te.exports=Le();te.exports.source=Le();te.exports.sink=Gr();te.exports.transform=Ps();te.exports.duplex=Zr()});var Wr=k((je,Ls)=>{(function(){var r,t=0xdeadbeefcafe,e=(t&16777215)==15715070;function n(s,o,a){s!=null&&(typeof s=="number"?this.fromNumber(s,o,a):o==null&&typeof s!="string"?this.fromString(s,256):this.fromString(s,o))}function i(){return new n(null)}function u(s,o,a,c,p,h){for(;--h>=0;){var g=o*this[s++]+a[c]+p;p=Math.floor(g/67108864),a[c++]=g&67108863}return p}function l(s,o,a,c,p,h){for(var g=o&32767,w=o>>15;--h>=0;){var R=this[s]&32767,$=this[s++]>>15,st=w*R+$*g;R=g*R+((st&32767)<<15)+a[c]+(p&1073741823),p=(R>>>30)+(st>>>15)+w*$+(p>>>30),a[c++]=R&1073741823}return p}function d(s,o,a,c,p,h){for(var g=o&16383,w=o>>14;--h>=0;){var R=this[s]&16383,$=this[s++]>>14,st=w*R+$*g;R=g*R+((st&16383)<<14)+a[c]+p,p=(R>>28)+(st>>14)+w*$,a[c++]=R&268435455}return p}var b=typeof navigator<"u";b&&e&&navigator.appName=="Microsoft Internet Explorer"?(n.prototype.am=l,r=30):b&&e&&navigator.appName!="Netscape"?(n.prototype.am=u,r=26):(n.prototype.am=d,r=28),n.prototype.DB=r,n.prototype.DM=(1<<r)-1,n.prototype.DV=1<<r;var A=52;n.prototype.FV=Math.pow(2,A),n.prototype.F1=A-r,n.prototype.F2=2*r-A;var f="0123456789abcdefghijklmnopqrstuvwxyz",y=new Array,v,T;for(v="0".charCodeAt(0),T=0;T<=9;++T)y[v++]=T;for(v="a".charCodeAt(0),T=10;T<36;++T)y[v++]=T;for(v="A".charCodeAt(0),T=10;T<36;++T)y[v++]=T;function m(s){return f.charAt(s)}function C(s,o){var a=y[s.charCodeAt(o)];return a??-1}function B(s){for(var o=this.t-1;o>=0;--o)s[o]=this[o];s.t=this.t,s.s=this.s}function S(s){this.t=1,this.s=s<0?-1:0,s>0?this[0]=s:s<-1?this[0]=s+this.DV:this.t=0}function I(s){var o=i();return o.fromInt(s),o}function F(s,o){var a;if(o==16)a=4;else if(o==8)a=3;else if(o==256)a=8;else if(o==2)a=1;else if(o==32)a=5;else if(o==4)a=2;else{this.fromRadix(s,o);return}this.t=0,this.s=0;for(var c=s.length,p=!1,h=0;--c>=0;){var g=a==8?s[c]&255:C(s,c);if(g<0){s.charAt(c)=="-"&&(p=!0);continue}p=!1,h==0?this[this.t++]=g:h+a>this.DB?(this[this.t-1]|=(g&(1<<this.DB-h)-1)<<h,this[this.t++]=g>>this.DB-h):this[this.t-1]|=g<<h,h+=a,h>=this.DB&&(h-=this.DB)}a==8&&s[0]&128&&(this.s=-1,h>0&&(this[this.t-1]|=(1<<this.DB-h)-1<<h)),this.clamp(),p&&n.ZERO.subTo(this,this)}function N(){for(var s=this.s&this.DM;this.t>0&&this[this.t-1]==s;)--this.t}function Q(s){if(this.s<0)return"-"+this.negate().toString(s);var o;if(s==16)o=4;else if(s==8)o=3;else if(s==2)o=1;else if(s==32)o=5;else if(s==4)o=2;else return this.toRadix(s);var a=(1<<o)-1,c,p=!1,h="",g=this.t,w=this.DB-g*this.DB%o;if(g-- >0)for(w<this.DB&&(c=this[g]>>w)>0&&(p=!0,h=m(c));g>=0;)w<o?(c=(this[g]&(1<<w)-1)<<o-w,c|=this[--g]>>(w+=this.DB-o)):(c=this[g]>>(w-=o)&a,w<=0&&(w+=this.DB,--g)),c>0&&(p=!0),p&&(h+=m(c));return p?h:"0"}function X(){var s=i();return n.ZERO.subTo(this,s),s}function W(){return this.s<0?this.negate():this}function Y(s){var o=this.s-s.s;if(o!=0)return o;var a=this.t;if(o=a-s.t,o!=0)return this.s<0?-o:o;for(;--a>=0;)if((o=this[a]-s[a])!=0)return o;return 0}function at(s){var o=1,a;return(a=s>>>16)!=0&&(s=a,o+=16),(a=s>>8)!=0&&(s=a,o+=8),(a=s>>4)!=0&&(s=a,o+=4),(a=s>>2)!=0&&(s=a,o+=2),(a=s>>1)!=0&&(s=a,o+=1),o}function eo(){return this.t<=0?0:this.DB*(this.t-1)+at(this[this.t-1]^this.s&this.DM)}function ro(s,o){var a;for(a=this.t-1;a>=0;--a)o[a+s]=this[a];for(a=s-1;a>=0;--a)o[a]=0;o.t=this.t+s,o.s=this.s}function no(s,o){for(var a=s;a<this.t;++a)o[a-s]=this[a];o.t=Math.max(this.t-s,0),o.s=this.s}function so(s,o){var a=s%this.DB,c=this.DB-a,p=(1<<c)-1,h=Math.floor(s/this.DB),g=this.s<<a&this.DM,w;for(w=this.t-1;w>=0;--w)o[w+h+1]=this[w]>>c|g,g=(this[w]&p)<<a;for(w=h-1;w>=0;--w)o[w]=0;o[h]=g,o.t=this.t+h+1,o.s=this.s,o.clamp()}function oo(s,o){o.s=this.s;var a=Math.floor(s/this.DB);if(a>=this.t){o.t=0;return}var c=s%this.DB,p=this.DB-c,h=(1<<c)-1;o[0]=this[a]>>c;for(var g=a+1;g<this.t;++g)o[g-a-1]|=(this[g]&h)<<p,o[g-a]=this[g]>>c;c>0&&(o[this.t-a-1]|=(this.s&h)<<p),o.t=this.t-a,o.clamp()}function io(s,o){for(var a=0,c=0,p=Math.min(s.t,this.t);a<p;)c+=this[a]-s[a],o[a++]=c&this.DM,c>>=this.DB;if(s.t<this.t){for(c-=s.s;a<this.t;)c+=this[a],o[a++]=c&this.DM,c>>=this.DB;c+=this.s}else{for(c+=this.s;a<s.t;)c-=s[a],o[a++]=c&this.DM,c>>=this.DB;c-=s.s}o.s=c<0?-1:0,c<-1?o[a++]=this.DV+c:c>0&&(o[a++]=c),o.t=a,o.clamp()}function ao(s,o){var a=this.abs(),c=s.abs(),p=a.t;for(o.t=p+c.t;--p>=0;)o[p]=0;for(p=0;p<c.t;++p)o[p+a.t]=a.am(0,c[p],o,p,0,a.t);o.s=0,o.clamp(),this.s!=s.s&&n.ZERO.subTo(o,o)}function co(s){for(var o=this.abs(),a=s.t=2*o.t;--a>=0;)s[a]=0;for(a=0;a<o.t-1;++a){var c=o.am(a,o[a],s,2*a,0,1);(s[a+o.t]+=o.am(a+1,2*o[a],s,2*a+1,c,o.t-a-1))>=o.DV&&(s[a+o.t]-=o.DV,s[a+o.t+1]=1)}s.t>0&&(s[s.t-1]+=o.am(a,o[a],s,2*a,0,1)),s.s=0,s.clamp()}function uo(s,o,a){var c=s.abs();if(!(c.t<=0)){var p=this.abs();if(p.t<c.t){o?.fromInt(0),a!=null&&this.copyTo(a);return}a==null&&(a=i());var h=i(),g=this.s,w=s.s,R=this.DB-at(c[c.t-1]);R>0?(c.lShiftTo(R,h),p.lShiftTo(R,a)):(c.copyTo(h),p.copyTo(a));var $=h.t,st=h[$-1];if(st!=0){var et=st*(1<<this.F1)+($>1?h[$-2]>>this.F2:0),bt=this.FV/et,Te=(1<<this.F1)/et,ut=1<<this.F2,ft=a.t,xe=ft-$,Ct=o??i();for(h.dlShiftTo(xe,Ct),a.compareTo(Ct)>=0&&(a[a.t++]=1,a.subTo(Ct,a)),n.ONE.dlShiftTo($,Ct),Ct.subTo(h,h);h.t<$;)h[h.t++]=0;for(;--xe>=0;){var tr=a[--ft]==st?this.DM:Math.floor(a[ft]*bt+(a[ft-1]+ut)*Te);if((a[ft]+=h.am(0,tr,a,xe,0,$))<tr)for(h.dlShiftTo(xe,Ct),a.subTo(Ct,a);a[ft]<--tr;)a.subTo(Ct,a)}o!=null&&(a.drShiftTo($,o),g!=w&&n.ZERO.subTo(o,o)),a.t=$,a.clamp(),R>0&&a.rShiftTo(R,a),g<0&&n.ZERO.subTo(a,a)}}}function fo(s){var o=i();return this.abs().divRemTo(s,null,o),this.s<0&&o.compareTo(n.ZERO)>0&&s.subTo(o,o),o}function Ot(s){this.m=s}function lo(s){return s.s<0||s.compareTo(this.m)>=0?s.mod(this.m):s}function po(s){return s}function ho(s){s.divRemTo(this.m,null,s)}function mo(s,o,a){s.multiplyTo(o,a),this.reduce(a)}function go(s,o){s.squareTo(o),this.reduce(o)}Ot.prototype.convert=lo,Ot.prototype.revert=po,Ot.prototype.reduce=ho,Ot.prototype.mulTo=mo,Ot.prototype.sqrTo=go;function bo(){if(this.t<1)return 0;var s=this[0];if(!(s&1))return 0;var o=s&3;return o=o*(2-(s&15)*o)&15,o=o*(2-(s&255)*o)&255,o=o*(2-((s&65535)*o&65535))&65535,o=o*(2-s*o%this.DV)%this.DV,o>0?this.DV-o:-o}function _t(s){this.m=s,this.mp=s.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<s.DB-15)-1,this.mt2=2*s.t}function yo(s){var o=i();return s.abs().dlShiftTo(this.m.t,o),o.divRemTo(this.m,null,o),s.s<0&&o.compareTo(n.ZERO)>0&&this.m.subTo(o,o),o}function wo(s){var o=i();return s.copyTo(o),this.reduce(o),o}function vo(s){for(;s.t<=this.mt2;)s[s.t++]=0;for(var o=0;o<this.m.t;++o){var a=s[o]&32767,c=a*this.mpl+((a*this.mph+(s[o]>>15)*this.mpl&this.um)<<15)&s.DM;for(a=o+this.m.t,s[a]+=this.m.am(0,c,s,o,0,this.m.t);s[a]>=s.DV;)s[a]-=s.DV,s[++a]++}s.clamp(),s.drShiftTo(this.m.t,s),s.compareTo(this.m)>=0&&s.subTo(this.m,s)}function To(s,o){s.squareTo(o),this.reduce(o)}function xo(s,o,a){s.multiplyTo(o,a),this.reduce(a)}_t.prototype.convert=yo,_t.prototype.revert=wo,_t.prototype.reduce=vo,_t.prototype.mulTo=xo,_t.prototype.sqrTo=To;function So(){return(this.t>0?this[0]&1:this.s)==0}function Eo(s,o){if(s>4294967295||s<1)return n.ONE;var a=i(),c=i(),p=o.convert(this),h=at(s)-1;for(p.copyTo(a);--h>=0;)if(o.sqrTo(a,c),(s&1<<h)>0)o.mulTo(c,p,a);else{var g=a;a=c,c=g}return o.revert(a)}function Co(s,o){var a;return s<256||o.isEven()?a=new Ot(o):a=new _t(o),this.exp(s,a)}n.prototype.copyTo=B,n.prototype.fromInt=S,n.prototype.fromString=F,n.prototype.clamp=N,n.prototype.dlShiftTo=ro,n.prototype.drShiftTo=no,n.prototype.lShiftTo=so,n.prototype.rShiftTo=oo,n.prototype.subTo=io,n.prototype.multiplyTo=ao,n.prototype.squareTo=co,n.prototype.divRemTo=uo,n.prototype.invDigit=bo,n.prototype.isEven=So,n.prototype.exp=Eo,n.prototype.toString=Q,n.prototype.negate=X,n.prototype.abs=W,n.prototype.compareTo=Y,n.prototype.bitLength=eo,n.prototype.mod=fo,n.prototype.modPowInt=Co,n.ZERO=I(0),n.ONE=I(1);function Ao(){var s=i();return this.copyTo(s),s}function Io(){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 Bo(){return this.t==0?this.s:this[0]<<24>>24}function Ro(){return this.t==0?this.s:this[0]<<16>>16}function Mo(s){return Math.floor(Math.LN2*this.DB/Math.log(s))}function Do(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function Oo(s){if(s==null&&(s=10),this.signum()==0||s<2||s>36)return"0";var o=this.chunkSize(s),a=Math.pow(s,o),c=I(a),p=i(),h=i(),g="";for(this.divRemTo(c,p,h);p.signum()>0;)g=(a+h.intValue()).toString(s).substr(1)+g,p.divRemTo(c,p,h);return h.intValue().toString(s)+g}function _o(s,o){this.fromInt(0),o==null&&(o=10);for(var a=this.chunkSize(o),c=Math.pow(o,a),p=!1,h=0,g=0,w=0;w<s.length;++w){var R=C(s,w);if(R<0){s.charAt(w)=="-"&&this.signum()==0&&(p=!0);continue}g=o*g+R,++h>=a&&(this.dMultiply(c),this.dAddOffset(g,0),h=0,g=0)}h>0&&(this.dMultiply(Math.pow(o,h)),this.dAddOffset(g,0)),p&&n.ZERO.subTo(this,this)}function Po(s,o,a){if(typeof o=="number")if(s<2)this.fromInt(1);else for(this.fromNumber(s,a),this.testBit(s-1)||this.bitwiseTo(n.ONE.shiftLeft(s-1),Xe,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(o);)this.dAddOffset(2,0),this.bitLength()>s&&this.subTo(n.ONE.shiftLeft(s-1),this);else{var c=new Array,p=s&7;c.length=(s>>3)+1,o.nextBytes(c),p>0?c[0]&=(1<<p)-1:c[0]=0,this.fromString(c,256)}}function Fo(){var s=this.t,o=new Array;o[0]=this.s;var a=this.DB-s*this.DB%8,c,p=0;if(s-- >0)for(a<this.DB&&(c=this[s]>>a)!=(this.s&this.DM)>>a&&(o[p++]=c|this.s<<this.DB-a);s>=0;)a<8?(c=(this[s]&(1<<a)-1)<<8-a,c|=this[--s]>>(a+=this.DB-8)):(c=this[s]>>(a-=8)&255,a<=0&&(a+=this.DB,--s)),c&128&&(c|=-256),p==0&&(this.s&128)!=(c&128)&&++p,(p>0||c!=this.s)&&(o[p++]=c);return o}function ko(s){return this.compareTo(s)==0}function No(s){return this.compareTo(s)<0?this:s}function Lo(s){return this.compareTo(s)>0?this:s}function $o(s,o,a){var c,p,h=Math.min(s.t,this.t);for(c=0;c<h;++c)a[c]=o(this[c],s[c]);if(s.t<this.t){for(p=s.s&this.DM,c=h;c<this.t;++c)a[c]=o(this[c],p);a.t=this.t}else{for(p=this.s&this.DM,c=h;c<s.t;++c)a[c]=o(p,s[c]);a.t=s.t}a.s=o(this.s,s.s),a.clamp()}function Uo(s,o){return s&o}function jo(s){var o=i();return this.bitwiseTo(s,Uo,o),o}function Xe(s,o){return s|o}function Vo(s){var o=i();return this.bitwiseTo(s,Xe,o),o}function pn(s,o){return s^o}function zo(s){var o=i();return this.bitwiseTo(s,pn,o),o}function hn(s,o){return s&~o}function qo(s){var o=i();return this.bitwiseTo(s,hn,o),o}function Go(){for(var s=i(),o=0;o<this.t;++o)s[o]=this.DM&~this[o];return s.t=this.t,s.s=~this.s,s}function Zo(s){var o=i();return s<0?this.rShiftTo(-s,o):this.lShiftTo(s,o),o}function Ho(s){var o=i();return s<0?this.lShiftTo(-s,o):this.rShiftTo(s,o),o}function Wo(s){if(s==0)return-1;var o=0;return s&65535||(s>>=16,o+=16),s&255||(s>>=8,o+=8),s&15||(s>>=4,o+=4),s&3||(s>>=2,o+=2),s&1||++o,o}function Jo(){for(var s=0;s<this.t;++s)if(this[s]!=0)return s*this.DB+Wo(this[s]);return this.s<0?this.t*this.DB:-1}function Xo(s){for(var o=0;s!=0;)s&=s-1,++o;return o}function Yo(){for(var s=0,o=this.s&this.DM,a=0;a<this.t;++a)s+=Xo(this[a]^o);return s}function Ko(s){var o=Math.floor(s/this.DB);return o>=this.t?this.s!=0:(this[o]&1<<s%this.DB)!=0}function Qo(s,o){var a=n.ONE.shiftLeft(s);return this.bitwiseTo(a,o,a),a}function ti(s){return this.changeBit(s,Xe)}function ei(s){return this.changeBit(s,hn)}function ri(s){return this.changeBit(s,pn)}function ni(s,o){for(var a=0,c=0,p=Math.min(s.t,this.t);a<p;)c+=this[a]+s[a],o[a++]=c&this.DM,c>>=this.DB;if(s.t<this.t){for(c+=s.s;a<this.t;)c+=this[a],o[a++]=c&this.DM,c>>=this.DB;c+=this.s}else{for(c+=this.s;a<s.t;)c+=s[a],o[a++]=c&this.DM,c>>=this.DB;c+=s.s}o.s=c<0?-1:0,c>0?o[a++]=c:c<-1&&(o[a++]=this.DV+c),o.t=a,o.clamp()}function si(s){var o=i();return this.addTo(s,o),o}function oi(s){var o=i();return this.subTo(s,o),o}function ii(s){var o=i();return this.multiplyTo(s,o),o}function ai(){var s=i();return this.squareTo(s),s}function ci(s){var o=i();return this.divRemTo(s,o,null),o}function ui(s){var o=i();return this.divRemTo(s,null,o),o}function fi(s){var o=i(),a=i();return this.divRemTo(s,o,a),new Array(o,a)}function li(s){this[this.t]=this.am(0,s-1,this,0,0,this.t),++this.t,this.clamp()}function pi(s,o){if(s!=0){for(;this.t<=o;)this[this.t++]=0;for(this[o]+=s;this[o]>=this.DV;)this[o]-=this.DV,++o>=this.t&&(this[this.t++]=0),++this[o]}}function oe(){}function dn(s){return s}function hi(s,o,a){s.multiplyTo(o,a)}function di(s,o){s.squareTo(o)}oe.prototype.convert=dn,oe.prototype.revert=dn,oe.prototype.mulTo=hi,oe.prototype.sqrTo=di;function mi(s){return this.exp(s,new oe)}function gi(s,o,a){var c=Math.min(this.t+s.t,o);for(a.s=0,a.t=c;c>0;)a[--c]=0;var p;for(p=a.t-this.t;c<p;++c)a[c+this.t]=this.am(0,s[c],a,c,0,this.t);for(p=Math.min(s.t,o);c<p;++c)this.am(0,s[c],a,c,0,o-c);a.clamp()}function bi(s,o,a){--o;var c=a.t=this.t+s.t-o;for(a.s=0;--c>=0;)a[c]=0;for(c=Math.max(o-this.t,0);c<s.t;++c)a[this.t+c-o]=this.am(o-c,s[c],a,0,0,this.t+c-o);a.clamp(),a.drShiftTo(1,a)}function Pt(s){this.r2=i(),this.q3=i(),n.ONE.dlShiftTo(2*s.t,this.r2),this.mu=this.r2.divide(s),this.m=s}function yi(s){if(s.s<0||s.t>2*this.m.t)return s.mod(this.m);if(s.compareTo(this.m)<0)return s;var o=i();return s.copyTo(o),this.reduce(o),o}function wi(s){return s}function vi(s){for(s.drShiftTo(this.m.t-1,this.r2),s.t>this.m.t+1&&(s.t=this.m.t+1,s.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);s.compareTo(this.r2)<0;)s.dAddOffset(1,this.m.t+1);for(s.subTo(this.r2,s);s.compareTo(this.m)>=0;)s.subTo(this.m,s)}function Ti(s,o){s.squareTo(o),this.reduce(o)}function xi(s,o,a){s.multiplyTo(o,a),this.reduce(a)}Pt.prototype.convert=yi,Pt.prototype.revert=wi,Pt.prototype.reduce=vi,Pt.prototype.mulTo=xi,Pt.prototype.sqrTo=Ti;function Si(s,o){var a=s.bitLength(),c,p=I(1),h;if(a<=0)return p;a<18?c=1:a<48?c=3:a<144?c=4:a<768?c=5:c=6,a<8?h=new Ot(o):o.isEven()?h=new Pt(o):h=new _t(o);var g=new Array,w=3,R=c-1,$=(1<<c)-1;if(g[1]=h.convert(this),c>1){var st=i();for(h.sqrTo(g[1],st);w<=$;)g[w]=i(),h.mulTo(st,g[w-2],g[w]),w+=2}var et=s.t-1,bt,Te=!0,ut=i(),ft;for(a=at(s[et])-1;et>=0;){for(a>=R?bt=s[et]>>a-R&$:(bt=(s[et]&(1<<a+1)-1)<<R-a,et>0&&(bt|=s[et-1]>>this.DB+a-R)),w=c;!(bt&1);)bt>>=1,--w;if((a-=w)<0&&(a+=this.DB,--et),Te)g[bt].copyTo(p),Te=!1;else{for(;w>1;)h.sqrTo(p,ut),h.sqrTo(ut,p),w-=2;w>0?h.sqrTo(p,ut):(ft=p,p=ut,ut=ft),h.mulTo(ut,g[bt],p)}for(;et>=0&&!(s[et]&1<<a);)h.sqrTo(p,ut),ft=p,p=ut,ut=ft,--a<0&&(a=this.DB-1,--et)}return h.revert(p)}function Ei(s){var o=this.s<0?this.negate():this.clone(),a=s.s<0?s.negate():s.clone();if(o.compareTo(a)<0){var c=o;o=a,a=c}var p=o.getLowestSetBit(),h=a.getLowestSetBit();if(h<0)return o;for(p<h&&(h=p),h>0&&(o.rShiftTo(h,o),a.rShiftTo(h,a));o.signum()>0;)(p=o.getLowestSetBit())>0&&o.rShiftTo(p,o),(p=a.getLowestSetBit())>0&&a.rShiftTo(p,a),o.compareTo(a)>=0?(o.subTo(a,o),o.rShiftTo(1,o)):(a.subTo(o,a),a.rShiftTo(1,a));return h>0&&a.lShiftTo(h,a),a}function Ci(s){if(s<=0)return 0;var o=this.DV%s,a=this.s<0?s-1:0;if(this.t>0)if(o==0)a=this[0]%s;else for(var c=this.t-1;c>=0;--c)a=(o*a+this[c])%s;return a}function Ai(s){var o=s.isEven();if(this.isEven()&&o||s.signum()==0)return n.ZERO;for(var a=s.clone(),c=this.clone(),p=I(1),h=I(0),g=I(0),w=I(1);a.signum()!=0;){for(;a.isEven();)a.rShiftTo(1,a),o?((!p.isEven()||!h.isEven())&&(p.addTo(this,p),h.subTo(s,h)),p.rShiftTo(1,p)):h.isEven()||h.subTo(s,h),h.rShiftTo(1,h);for(;c.isEven();)c.rShiftTo(1,c),o?((!g.isEven()||!w.isEven())&&(g.addTo(this,g),w.subTo(s,w)),g.rShiftTo(1,g)):w.isEven()||w.subTo(s,w),w.rShiftTo(1,w);a.compareTo(c)>=0?(a.subTo(c,a),o&&p.subTo(g,p),h.subTo(w,h)):(c.subTo(a,c),o&&g.subTo(p,g),w.subTo(h,w))}if(c.compareTo(n.ONE)!=0)return n.ZERO;if(w.compareTo(s)>=0)return w.subtract(s);if(w.signum()<0)w.addTo(s,w);else return w;return w.signum()<0?w.add(s):w}var J=[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],Ii=(1<<26)/J[J.length-1];function Bi(s){var o,a=this.abs();if(a.t==1&&a[0]<=J[J.length-1]){for(o=0;o<J.length;++o)if(a[0]==J[o])return!0;return!1}if(a.isEven())return!1;for(o=1;o<J.length;){for(var c=J[o],p=o+1;p<J.length&&c<Ii;)c*=J[p++];for(c=a.modInt(c);o<p;)if(c%J[o++]==0)return!1}return a.millerRabin(s)}function Ri(s){var o=this.subtract(n.ONE),a=o.getLowestSetBit();if(a<=0)return!1;var c=o.shiftRight(a);s=s+1>>1,s>J.length&&(s=J.length);for(var p=i(),h=0;h<s;++h){p.fromInt(J[Math.floor(Math.random()*J.length)]);var g=p.modPow(c,this);if(g.compareTo(n.ONE)!=0&&g.compareTo(o)!=0){for(var w=1;w++<a&&g.compareTo(o)!=0;)if(g=g.modPowInt(2,this),g.compareTo(n.ONE)==0)return!1;if(g.compareTo(o)!=0)return!1}}return!0}n.prototype.chunkSize=Mo,n.prototype.toRadix=Oo,n.prototype.fromRadix=_o,n.prototype.fromNumber=Po,n.prototype.bitwiseTo=$o,n.prototype.changeBit=Qo,n.prototype.addTo=ni,n.prototype.dMultiply=li,n.prototype.dAddOffset=pi,n.prototype.multiplyLowerTo=gi,n.prototype.multiplyUpperTo=bi,n.prototype.modInt=Ci,n.prototype.millerRabin=Ri,n.prototype.clone=Ao,n.prototype.intValue=Io,n.prototype.byteValue=Bo,n.prototype.shortValue=Ro,n.prototype.signum=Do,n.prototype.toByteArray=Fo,n.prototype.equals=ko,n.prototype.min=No,n.prototype.max=Lo,n.prototype.and=jo,n.prototype.or=Vo,n.prototype.xor=zo,n.prototype.andNot=qo,n.prototype.not=Go,n.prototype.shiftLeft=Zo,n.prototype.shiftRight=Ho,n.prototype.getLowestSetBit=Jo,n.prototype.bitCount=Yo,n.prototype.testBit=Ko,n.prototype.setBit=ti,n.prototype.clearBit=ei,n.prototype.flipBit=ri,n.prototype.add=si,n.prototype.subtract=oi,n.prototype.multiply=ii,n.prototype.divide=ci,n.prototype.remainder=ui,n.prototype.divideAndRemainder=fi,n.prototype.modPow=Si,n.prototype.modInverse=Ai,n.prototype.pow=mi,n.prototype.gcd=Ei,n.prototype.isProbablePrime=Bi,n.prototype.square=ai,n.prototype.Barrett=Pt;var ve,tt,L;function Mi(s){tt[L++]^=s&255,tt[L++]^=s>>8&255,tt[L++]^=s>>16&255,tt[L++]^=s>>24&255,L>=Qe&&(L-=Qe)}function mn(){Mi(new Date().getTime())}if(tt==null){tt=new Array,L=0;var ct;if(typeof window<"u"&&window.crypto){if(window.crypto.getRandomValues){var gn=new Uint8Array(32);for(window.crypto.getRandomValues(gn),ct=0;ct<32;++ct)tt[L++]=gn[ct]}else if(navigator.appName=="Netscape"&&navigator.appVersion<"5"){var bn=window.crypto.random(32);for(ct=0;ct<bn.length;++ct)tt[L++]=bn.charCodeAt(ct)&255}}for(;L<Qe;)ct=Math.floor(65536*Math.random()),tt[L++]=ct>>>8,tt[L++]=ct&255;L=0,mn()}function Di(){if(ve==null){for(mn(),ve=Fi(),ve.init(tt),L=0;L<tt.length;++L)tt[L]=0;L=0}return ve.next()}function Oi(s){var o;for(o=0;o<s.length;++o)s[o]=Di()}function Ye(){}Ye.prototype.nextBytes=Oi;function Ke(){this.i=0,this.j=0,this.S=new Array}function _i(s){var o,a,c;for(o=0;o<256;++o)this.S[o]=o;for(a=0,o=0;o<256;++o)a=a+this.S[o]+s[o%s.length]&255,c=this.S[o],this.S[o]=this.S[a],this.S[a]=c;this.i=0,this.j=0}function Pi(){var s;return this.i=this.i+1&255,this.j=this.j+this.S[this.i]&255,s=this.S[this.i],this.S[this.i]=this.S[this.j],this.S[this.j]=s,this.S[s+this.S[this.i]&255]}Ke.prototype.init=_i,Ke.prototype.next=Pi;function Fi(){return new Ke}var Qe=256;typeof je<"u"?je=Ls.exports={default:n,BigInteger:n,SecureRandom:Ye}:this.jsbn={BigInteger:n,SecureRandom:Ye}}).call(je)});var ye=k(Ve=>{(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(l){return n(u(l),arguments)}function e(l,d){return t.apply(null,[l].concat(d||[]))}function n(l,d){var b=1,A=l.length,f,y="",v,T,m,C,B,S,I,F;for(v=0;v<A;v++)if(typeof l[v]=="string")y+=l[v];else if(typeof l[v]=="object"){if(m=l[v],m.keys)for(f=d[b],T=0;T<m.keys.length;T++){if(f==null)throw new Error(t('[sprintf] Cannot access property "%s" of undefined value "%s"',m.keys[T],m.keys[T-1]));f=f[m.keys[T]]}else m.param_no?f=d[m.param_no]:f=d[b++];if(r.not_type.test(m.type)&&r.not_primitive.test(m.type)&&f instanceof Function&&(f=f()),r.numeric_arg.test(m.type)&&typeof f!="number"&&isNaN(f))throw new TypeError(t("[sprintf] expecting number but found %T",f));switch(r.number.test(m.type)&&(I=f>=0),m.type){case"b":f=parseInt(f,10).toString(2);break;case"c":f=String.fromCharCode(parseInt(f,10));break;case"d":case"i":f=parseInt(f,10);break;case"j":f=JSON.stringify(f,null,m.width?parseInt(m.width):0);break;case"e":f=m.precision?parseFloat(f).toExponential(m.precision):parseFloat(f).toExponential();break;case"f":f=m.precision?parseFloat(f).toFixed(m.precision):parseFloat(f);break;case"g":f=m.precision?String(Number(f.toPrecision(m.precision))):parseFloat(f);break;case"o":f=(parseInt(f,10)>>>0).toString(8);break;case"s":f=String(f),f=m.precision?f.substring(0,m.precision):f;break;case"t":f=String(!!f),f=m.precision?f.substring(0,m.precision):f;break;case"T":f=Object.prototype.toString.call(f).slice(8,-1).toLowerCase(),f=m.precision?f.substring(0,m.precision):f;break;case"u":f=parseInt(f,10)>>>0;break;case"v":f=f.valueOf(),f=m.precision?f.substring(0,m.precision):f;break;case"x":f=(parseInt(f,10)>>>0).toString(16);break;case"X":f=(parseInt(f,10)>>>0).toString(16).toUpperCase();break}r.json.test(m.type)?y+=f:(r.number.test(m.type)&&(!I||m.sign)?(F=I?"+":"-",f=f.toString().replace(r.sign,"")):F="",B=m.pad_char?m.pad_char==="0"?"0":m.pad_char.charAt(1):" ",S=m.width-(F+f).length,C=m.width&&S>0?B.repeat(S):"",y+=m.align?F+f+C:B==="0"?F+C+f:C+F+f)}return y}var i=Object.create(null);function u(l){if(i[l])return i[l];for(var d=l,b,A=[],f=0;d;){if((b=r.text.exec(d))!==null)A.push(b[0]);else if((b=r.modulo.exec(d))!==null)A.push("%");else if((b=r.placeholder.exec(d))!==null){if(b[2]){f|=1;var y=[],v=b[2],T=[];if((T=r.key.exec(v))!==null)for(y.push(T[1]);(v=v.substring(T[0].length))!=="";)if((T=r.key_access.exec(v))!==null)y.push(T[1]);else if((T=r.index_access.exec(v))!==null)y.push(T[1]);else throw new SyntaxError("[sprintf] failed to parse named argument key");else throw new SyntaxError("[sprintf] failed to parse named argument key");b[2]=y}else f|=2;if(f===3)throw new Error("[sprintf] mixing positional and named placeholders is not (yet) supported");A.push({placeholder:b[0],param_no:b[1],keys:b[2],sign:b[3],pad_char:b[4],align:b[5],width:b[6],precision:b[7],type:b[8]})}else throw new SyntaxError("[sprintf] unexpected placeholder");d=d.substring(b[0].length)}return i[l]=A}typeof Ve<"u"&&(Ve.sprintf=t,Ve.vsprintf=e),typeof window<"u"&&(window.sprintf=t,window.vsprintf=e,typeof define=="function"&&define.amd&&define(function(){return{sprintf:t,vsprintf:e}}))})()});var Cu={};rt(Cu,{tcp:()=>Eu});var to=U(dt("net"),1);var At=dt("node:net");function Ee(r){return Boolean((0,At.isIP)(r))}var or={};rt(or,{identity:()=>Hi});function Vi(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 u=r.charAt(i),l=u.charCodeAt(0);if(e[l]!==255)throw new TypeError(u+" is ambiguous");e[l]=i}var d=r.length,b=r.charAt(0),A=Math.log(d)/Math.log(256),f=Math.log(256)/Math.log(d);function y(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 C=0,B=0,S=0,I=m.length;S!==I&&m[S]===0;)S++,C++;for(var F=(I-S)*f+1>>>0,N=new Uint8Array(F);S!==I;){for(var Q=m[S],X=0,W=F-1;(Q!==0||X<B)&&W!==-1;W--,X++)Q+=256*N[W]>>>0,N[W]=Q%d>>>0,Q=Q/d>>>0;if(Q!==0)throw new Error("Non-zero carry");B=X,S++}for(var Y=F-B;Y!==F&&N[Y]===0;)Y++;for(var at=b.repeat(C);Y<F;++Y)at+=r.charAt(N[Y]);return at}function v(m){if(typeof m!="string")throw new TypeError("Expected String");if(m.length===0)return new Uint8Array;var C=0;if(m[C]!==" "){for(var B=0,S=0;m[C]===b;)B++,C++;for(var I=(m.length-C)*A+1>>>0,F=new Uint8Array(I);m[C];){var N=e[m.charCodeAt(C)];if(N===255)return;for(var Q=0,X=I-1;(N!==0||Q<S)&&X!==-1;X--,Q++)N+=d*F[X]>>>0,F[X]=N%256>>>0,N=N/256>>>0;if(N!==0)throw new Error("Non-zero carry");S=Q,C++}if(m[C]!==" "){for(var W=I-S;W!==I&&F[W]===0;)W++;for(var Y=new Uint8Array(B+(I-W)),at=B;W!==I;)Y[at++]=F[W++];return Y}}}function T(m){var C=v(m);if(C)return C;throw new Error(`Non-${t} character`)}return{encode:y,decodeUnsafe:v,decode:T}}var zi=Vi,qi=zi,wn=qi;var Ru=new Uint8Array(0);var vn=(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},ot=r=>{if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")};var Tn=r=>new TextEncoder().encode(r),xn=r=>new TextDecoder().decode(r);var er=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")}},rr=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 En(this,t)}},nr=class{constructor(t){this.decoders=t}or(t){return En(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`)}},En=(r,t)=>new nr({...r.decoders||{[r.prefix]:r},...t.decoders||{[t.prefix]:t}}),sr=class{constructor(t,e,n,i){this.name=t,this.prefix=e,this.baseEncode=n,this.baseDecode=i,this.encoder=new er(t,e,n),this.decoder=new rr(t,e,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Vt=({name:r,prefix:t,encode:e,decode:n})=>new sr(r,t,e,n),It=({prefix:r,name:t,alphabet:e})=>{let{encode:n,decode:i}=wn(e,t);return Vt({prefix:r,name:t,encode:n,decode:u=>ot(i(u))})},Gi=(r,t,e,n)=>{let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let u=r.length;for(;r[u-1]==="=";)--u;let l=new Uint8Array(u*e/8|0),d=0,b=0,A=0;for(let f=0;f<u;++f){let y=i[r[f]];if(y===void 0)throw new SyntaxError(`Non-${n} character`);b=b<<e|y,d+=e,d>=8&&(d-=8,l[A++]=255&b>>d)}if(d>=e||255&b<<8-d)throw new SyntaxError("Unexpected end of data");return l},Zi=(r,t,e)=>{let n=t[t.length-1]==="=",i=(1<<e)-1,u="",l=0,d=0;for(let b=0;b<r.length;++b)for(d=d<<8|r[b],l+=8;l>e;)l-=e,u+=t[i&d>>l];if(l&&(u+=t[i&d<<e-l]),n)for(;u.length*e&7;)u+="=";return u},_=({name:r,prefix:t,bitsPerChar:e,alphabet:n})=>Vt({prefix:t,name:r,encode(i){return Zi(i,n,e)},decode(i){return Gi(i,n,e,r)}});var Hi=Vt({prefix:"\0",name:"identity",encode:r=>xn(r),decode:r=>Tn(r)});var ir={};rt(ir,{base2:()=>Wi});var Wi=_({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ar={};rt(ar,{base8:()=>Ji});var Ji=_({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var cr={};rt(cr,{base10:()=>Xi});var Xi=It({prefix:"9",name:"base10",alphabet:"0123456789"});var ur={};rt(ur,{base16:()=>Yi,base16upper:()=>Ki});var Yi=_({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Ki=_({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var fr={};rt(fr,{base32:()=>lt,base32hex:()=>ra,base32hexpad:()=>sa,base32hexpadupper:()=>oa,base32hexupper:()=>na,base32pad:()=>ta,base32padupper:()=>ea,base32upper:()=>Qi,base32z:()=>ia});var lt=_({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Qi=_({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),ta=_({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ea=_({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),ra=_({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),na=_({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),sa=_({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),oa=_({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),ia=_({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var lr={};rt(lr,{base36:()=>aa,base36upper:()=>ca});var aa=It({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ca=It({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var pr={};rt(pr,{base58btc:()=>z,base58flickr:()=>ua});var z=It({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),ua=It({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var dr={};rt(dr,{base64:()=>hr,base64pad:()=>fa,base64url:()=>la,base64urlpad:()=>pa});var hr=_({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),fa=_({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),la=_({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),pa=_({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var mr={};rt(mr,{base256emoji:()=>ba});var Cn=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}"),ha=Cn.reduce((r,t,e)=>(r[e]=t,r),[]),da=Cn.reduce((r,t,e)=>(r[t.codePointAt(0)]=e,r),[]);function ma(r){return r.reduce((t,e)=>(t+=ha[e],t),"")}function ga(r){let t=[];for(let e of r){let n=da[e.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${e}`);t.push(n)}return new Uint8Array(t)}var ba=Vt({prefix:"\u{1F680}",name:"base256emoji",encode:ma,decode:ga});var vr={};rt(vr,{sha256:()=>ka,sha512:()=>Na});var wr=U(dt("crypto"),1);var ya=Bn,An=128,wa=127,va=~wa,Ta=Math.pow(2,31);function Bn(r,t,e){t=t||[],e=e||0;for(var n=e;r>=Ta;)t[e++]=r&255|An,r/=128;for(;r&va;)t[e++]=r&255|An,r>>>=7;return t[e]=r|0,Bn.bytes=e-n+1,t}var xa=gr,Sa=128,In=127;function gr(r,n){var e=0,n=n||0,i=0,u=n,l,d=r.length;do{if(u>=d)throw gr.bytes=0,new RangeError("Could not decode varint");l=r[u++],e+=i<28?(l&In)<<i:(l&In)*Math.pow(2,i),i+=7}while(l>=Sa);return gr.bytes=u-n,e}var Ea=Math.pow(2,7),Ca=Math.pow(2,14),Aa=Math.pow(2,21),Ia=Math.pow(2,28),Ba=Math.pow(2,35),Ra=Math.pow(2,42),Ma=Math.pow(2,49),Da=Math.pow(2,56),Oa=Math.pow(2,63),_a=function(r){return r<Ea?1:r<Ca?2:r<Aa?3:r<Ia?4:r<Ba?5:r<Ra?6:r<Ma?7:r<Da?8:r<Oa?9:10},Pa={encode:ya,decode:xa,encodingLength:_a},Fa=Pa,ie=Fa;var ae=(r,t=0)=>[ie.decode(r,t),ie.decode.bytes],zt=(r,t,e=0)=>(ie.encode(r,t,e),t),qt=r=>ie.encodingLength(r);var Ft=(r,t)=>{let e=t.byteLength,n=qt(r),i=n+qt(e),u=new Uint8Array(i+e);return zt(r,u,0),zt(e,u,n),u.set(t,i),new Gt(r,e,t,u)},Ae=r=>{let t=ot(r),[e,n]=ae(t),[i,u]=ae(t.subarray(n)),l=t.subarray(n+u);if(l.byteLength!==i)throw new Error("Incorrect length");return new Gt(e,i,l,t)},Rn=(r,t)=>{if(r===t)return!0;{let e=t;return r.code===e.code&&r.size===e.size&&e.bytes instanceof Uint8Array&&vn(r.bytes,e.bytes)}},Gt=class{constructor(t,e,n,i){this.code=t,this.size=e,this.digest=n,this.bytes=i}};var yr=({name:r,code:t,encode:e})=>new br(r,t,e),br=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?Ft(this.code,e):e.then(n=>Ft(this.code,n))}else throw Error("Unknown type, must be binary type")}};var ka=yr({name:"sha2-256",code:18,encode:r=>ot(wr.default.createHash("sha256").update(r).digest())}),Na=yr({name:"sha2-512",code:19,encode:r=>ot(wr.default.createHash("sha512").update(r).digest())});var Tr={};rt(Tr,{identity:()=>Ua});var Dn=0,La="identity",On=ot,$a=r=>Ft(Dn,On(r)),Ua={code:Dn,name:La,encode:On,digest:$a};var Yu=new TextEncoder,Ku=new TextDecoder;var _n=(r,t)=>{let{bytes:e,version:n}=r;switch(n){case 0:return qa(e,xr(r),t||z.encoder);default:return Ga(e,xr(r),t||lt.encoder)}};var Pn=new WeakMap,xr=r=>{let t=Pn.get(r);if(t==null){let e=new Map;return Pn.set(r,e),e}return t},M=class{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!==ce)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(e.code!==Za)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return M.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=Ft(t,e);return M.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 M.equals(this,t)}static equals(t,e){let n=e;return n&&t.code===n.code&&t.version===n.version&&Rn(t.multihash,n.multihash)}toString(t){return _n(this,t)}toJSON(){return{"/":_n(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 M)return e;if(e["/"]!=null&&e["/"]===e.bytes||e.asCID===e){let{version:n,code:i,multihash:u,bytes:l}=e;return new M(n,i,u,l||Fn(n,i,u.bytes))}else if(e[Ha]===!0){let{version:n,multihash:i,code:u}=e,l=Ae(i);return M.create(n,u,l)}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!==ce)throw new Error(`Version 0 CID must use dag-pb (code: ${ce}) block encoding`);return new M(t,e,n,n.bytes)}case 1:{let i=Fn(t,e,n.bytes);return new M(t,e,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return M.create(0,ce,t)}static createV1(t,e){return M.create(1,t,e)}static decode(t){let[e,n]=M.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return e}static decodeFirst(t){let e=M.inspectBytes(t),n=e.size-e.multihashSize,i=ot(t.subarray(n,n+e.multihashSize));if(i.byteLength!==e.multihashSize)throw new Error("Incorrect length");let u=i.subarray(e.multihashSize-e.digestSize),l=new Gt(e.multihashCode,e.digestSize,u,i);return[e.version===0?M.createV0(l):M.createV1(e.codec,l),t.subarray(e.size)]}static inspectBytes(t){let e=0,n=()=>{let[y,v]=ae(t.subarray(e));return e+=v,y},i=n(),u=ce;if(i===18?(i=0,e=0):u=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let l=e,d=n(),b=n(),A=e+b,f=A-l;return{version:i,codec:u,multihashCode:d,digestSize:b,multihashSize:f,size:A}}static parse(t,e){let[n,i]=za(t,e),u=M.decode(i);return xr(u).set(n,t),u}},za=(r,t)=>{switch(r[0]){case"Q":{let e=t||z;return[z.prefix,e.decode(`${z.prefix}${r}`)]}case z.prefix:{let e=t||z;return[z.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)]}}},qa=(r,t,e)=>{let{prefix:n}=e;if(n!==z.prefix)throw Error(`Cannot string encode V0 in ${e.name} encoding`);let i=t.get(n);if(i==null){let u=e.encode(r).slice(1);return t.set(n,u),u}else return i},Ga=(r,t,e)=>{let{prefix:n}=e,i=t.get(n);if(i==null){let u=e.encode(r);return t.set(n,u),u}else return i},ce=112,Za=18,Fn=(r,t,e)=>{let n=qt(r),i=n+qt(t),u=new Uint8Array(i+e.byteLength);return zt(r,u,0),zt(t,u,n),u.set(e,i),u},Ha=Symbol.for("@ipld/js-cid/CID");var ue={...or,...ir,...ar,...cr,...ur,...fr,...lr,...pr,...dr,...mr},uf={...vr,...Tr};function Ht(r){return globalThis.Buffer!=null?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r}function Ie(r=0){return globalThis.Buffer?.allocUnsafe!=null?Ht(globalThis.Buffer.allocUnsafe(r)):new Uint8Array(r)}function Nn(r,t,e,n){return{name:r,prefix:t,encoder:{name:r,prefix:t,encode:e},decoder:{decode:n}}}var kn=Nn("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),Sr=Nn("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=Ie(r.length);for(let e=0;e<r.length;e++)t[e]=r.charCodeAt(e);return t}),Wa={utf8:kn,"utf-8":kn,hex:ue.base16,latin1:Sr,ascii:Sr,binary:Sr,...ue},Be=Wa;function K(r,t="utf8"){let e=Be[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 Ln=At.isIPv4,Ja=At.isIPv6,Er=function(r){let t=0;if(r=r.toString().trim(),Ln(r)){let e=new Uint8Array(t+4);return r.split(/\./g).forEach(n=>{e[t++]=parseInt(n,10)&255}),e}if(Ja(r)){let e=r.split(":",8),n;for(n=0;n<e.length;n++){let u=Ln(e[n]),l;u&&(l=Er(e[n]),e[n]=K(l.slice(0,2),"base16")),l!=null&&++n<8&&e.splice(n,0,K(l.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 u=[n,1];for(n=9-e.length;n>0;n--)u.push("0");e.splice.apply(e,u)}let i=new Uint8Array(t+16);for(n=0;n<e.length;n++){let u=parseInt(e[n],16);i[t++]=u>>8&255,i[t++]=u&255}return i}throw new Error("invalid ip address")},$n=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 u=0;u<e;u++)i.push(r[t+u]);return i.join(".")}if(e===16){let i=[];for(let u=0;u<e;u+=2)i.push(n.getUint16(t+u).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var fe={},Cr={},Ya=[[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"],[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"],[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"]];Ya.forEach(r=>{let t=Ka(...r);Cr[t.code]=t,fe[t.name]=t});function Ka(r,t,e,n,i){return{code:r,size:t,name:e,resolvable:Boolean(n),path:Boolean(i)}}function O(r){if(typeof r=="number"){if(Cr[r]!=null)return Cr[r];throw new Error(`no protocol with code: ${r}`)}else if(typeof r=="string"){if(fe[r]!=null)return fe[r];throw new Error(`no protocol with name: ${r}`)}throw new Error(`invalid protocol id type: ${typeof r}`)}var mt=U(Re(),1);function Br(r,t="utf8"){let e=Be[t];if(e==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Ht(globalThis.Buffer.from(r,"utf-8")):e.decoder.decode(`${e.prefix}${r}`)}function yt(r,t){t==null&&(t=r.reduce((i,u)=>i+u.length,0));let e=Ie(t),n=0;for(let i of r)e.set(i,n),n+=i.length;return Ht(e)}function Qn(r,t){switch(O(r).code){case 4:case 41:return hc(t);case 42:return Yn(t);case 6:case 273:case 33:case 132:return es(t).toString();case 53:case 54:case 55:case 56:case 400:case 777:return Yn(t);case 421:return bc(t);case 444:return Kn(t);case 445:return Kn(t);case 466:return gc(t);default:return K(t,"base16")}}function ts(r,t){switch(O(r).code){case 4:return Jn(t);case 41:return Jn(t);case 42:return Xn(t);case 6:case 273:case 33:case 132:return Mr(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 777:return Xn(t);case 421:return dc(t);case 444:return yc(t);case 445:return wc(t);case 466:return mc(t);default:return Br(t,"base16")}}var Rr=Object.values(ue).map(r=>r.decoder),pc=function(){let r=Rr[0].or(Rr[1]);return Rr.slice(2).forEach(t=>r=r.or(t)),r}();function Jn(r){if(!Ee(r))throw new Error("invalid ip address");return Er(r)}function hc(r){let t=$n(r,0,r.length);if(t==null)throw new Error("ipBuff is required");if(!Ee(t))throw new Error("invalid ip address");return t}function Mr(r){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,r),new Uint8Array(t)}function es(r){return new DataView(r.buffer).getUint16(r.byteOffset)}function Xn(r){let t=Br(r),e=Uint8Array.from(mt.default.encode(t.length));return yt([e,t],e.length+t.length)}function Yn(r){let t=mt.default.decode(r);if(r=r.slice(mt.default.decode.bytes),r.length!==t)throw new Error("inconsistent lengths");return K(r)}function dc(r){let t;r[0]==="Q"||r[0]==="1"?t=Ae(z.decode(`z${r}`)).bytes:t=M.parse(r).multihash.bytes;let e=Uint8Array.from(mt.default.encode(t.length));return yt([e,t],e.length+t.length)}function mc(r){let t=pc.decode(r),e=Uint8Array.from(mt.default.encode(t.length));return yt([e,t],e.length+t.length)}function gc(r){let t=mt.default.decode(r),e=r.slice(mt.default.decode.bytes);if(e.length!==t)throw new Error("inconsistent lengths");return"u"+K(e,"base64url")}function bc(r){let t=mt.default.decode(r),e=r.slice(mt.default.decode.bytes);if(e.length!==t)throw new Error("inconsistent lengths");return K(e,"base58btc")}function yc(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let e=lt.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Mr(n);return yt([e,i],e.length+i.length)}function wc(r){let t=r.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let e=lt.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Mr(n);return yt([e,i],e.length+i.length)}function Kn(r){let t=r.slice(0,r.length-2),e=r.slice(r.length-2),n=K(t,"base32"),i=es(e);return`${n}:${i}`}var Wt=U(Re(),1);function vc(r){let t=[],e=r.split("/").slice(1);if(e.length===1&&e[0]==="")return[];for(let n=0;n<e.length;n++){let i=e[n],u=O(i);if(u.size===0){t.push([i]);continue}if(n++,n>=e.length)throw ns("invalid address: "+r);if(u.path===!0){t.push([i,Fr(e.slice(n).join("/"))]);break}t.push([i,e[n]])}return t}function Tc(r){let t=[];return r.map(e=>{let n=Oe(e);return t.push(n.name),e.length>1&&e[1]!=null&&t.push(e[1]),null}),Fr(t.join("/"))}function xc(r){return r.map(t=>{Array.isArray(t)||(t=[t]);let e=Oe(t);return t.length>1?[e.code,ts(e.code,t[1])]:[e.code]})}function Dr(r){return r.map(t=>{let e=Oe(t);return t[1]!=null?[e.code,Qn(e.code,t[1])]:[e.code]})}function Or(r){return De(yt(r.map(t=>{let e=Oe(t),n=Uint8Array.from(Wt.default.encode(e.code));return t.length>1&&t[1]!=null&&(n=yt([n,t[1]])),n})))}function _r(r,t){return r.size>0?r.size/8:r.size===0?0:Wt.default.decode(t)+(Wt.default.decode.bytes??0)}function Me(r){let t=[],e=0;for(;e<r.length;){let n=Wt.default.decode(r,e),i=Wt.default.decode.bytes??0,u=O(n),l=_r(u,r.slice(e+i));if(l===0){t.push([n]),e+=i;continue}let d=r.slice(e+i,e+i+l);if(e+=l+i,e>r.length)throw ns("Invalid address Uint8Array: "+K(r,"base16"));t.push([n,d])}return t}function Pr(r){let t=Me(r),e=Dr(t);return Tc(e)}function Sc(r){r=Fr(r);let t=vc(r),e=xc(t);return Or(e)}function rs(r){return Sc(r)}function De(r){let t=Ec(r);if(t!=null)throw t;return Uint8Array.from(r)}function Ec(r){try{Me(r)}catch(t){return t}}function Fr(r){return"/"+r.trim().split("/").filter(t=>t).join("/")}function ns(r){return new Error("Error parsing address: "+r)}function Oe(r){return O(r[0])}var Lr=U(Re(),1);var cs=U(kr(),1);function is(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 Jt=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},Nr=function(r,t,e,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?r!==t||!i:!t.has(r))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(r,e):i?i.value=e:t.set(r,e),e},le,pe,he,as,Ic=Symbol.for("nodejs.util.inspect.custom"),Bc=[O("dns").code,O("dns4").code,O("dns6").code,O("dnsaddr").code],Rc=new Map,us=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Mc(r){return Boolean(r?.[us])}var wt=class{constructor(t){if(le.set(this,void 0),pe.set(this,void 0),he.set(this,void 0),this[as]=!0,t==null&&(t=""),t instanceof Uint8Array)this.bytes=De(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);this.bytes=rs(t)}else if(Mc(t))this.bytes=De(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return Jt(this,le,"f")==null&&Nr(this,le,Pr(this.bytes),"f"),Jt(this,le,"f")}toJSON(){return this.toString()}toOptions(){let t,e,n,i,u="",l=O("tcp"),d=O("udp"),b=O("ip4"),A=O("ip6"),f=O("dns6"),y=O("ip6zone");for(let[T,m]of this.stringTuples())T===y.code&&(u=`%${m??""}`),Bc.includes(T)&&(e=l.name,i=443,n=`${m??""}${u}`,t=T===f.code?6:4),(T===l.code||T===d.code)&&(e=O(T).name,i=parseInt(m??"")),(T===b.code||T===A.code)&&(e=O(T).name,n=`${m??""}${u}`,t=T===A.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.protoCodes().map(t=>Object.assign({},O(t)))}protoCodes(){let t=[],e=this.bytes,n=0;for(;n<e.length;){let i=Lr.default.decode(e,n),u=Lr.default.decode.bytes??0,l=O(i),d=_r(l,e.slice(n+u));n+=d+u,t.push(i)}return t}protoNames(){return this.protos().map(t=>t.name)}tuples(){return Jt(this,pe,"f")==null&&Nr(this,pe,Me(this.bytes),"f"),Jt(this,pe,"f")}stringTuples(){return Jt(this,he,"f")==null&&Nr(this,he,Dr(this.tuples()),"f"),Jt(this,he,"f")}encapsulate(t){return t=new wt(t),new wt(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 wt(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 wt(Or(e.slice(0,n)));return this}getPeerId(){try{let e=this.stringTuples().filter(n=>n[0]===fe.ipfs.code).pop();if(e?.[1]!=null){let n=e[1];return n[0]==="Q"||n[0]==="1"?K(z.decode(`z${n}`),"base58btc"):K(M.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){let t=null;try{t=this.stringTuples().filter(e=>O(e[0]).path===!0)[0][1],t==null&&(t=null)}catch{t=null}return t}equals(t){return is(this.bytes,t.bytes)}async resolve(t){let e=this.protos().find(u=>u.resolvable);if(e==null)return[this];let n=Rc.get(e.name);if(n==null)throw(0,cs.default)(new Error(`no available resolver for ${e.name}`),"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(u=>new wt(u))}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)}[(le=new WeakMap,pe=new WeakMap,he=new WeakMap,as=us,Ic)](){return`Multiaddr(${Pr(this.bytes)})`}};function vt(r){return new wt(r)}var Dc=x("dns4"),Oc=x("dns6"),_c=x("dnsaddr"),Xt=q(x("dns"),_c,Dc,Oc),_e=q(x("ip4"),x("ip6")),kt=q(E(_e,x("tcp")),E(Xt,x("tcp"))),ls=E(_e,x("udp")),Pc=E(ls,x("utp")),Fc=E(ls,x("quic")),me=q(E(kt,x("ws")),E(Xt,x("ws"))),ge=q(E(kt,x("wss")),E(Xt,x("wss"))),$r=q(E(kt,x("http")),E(_e,x("http")),E(Xt,x("http"))),Ur=q(E(kt,x("https")),E(_e,x("https")),E(Xt,x("https"))),ps=q(E(me,x("p2p-webrtc-star"),x("p2p")),E(ge,x("p2p-webrtc-star"),x("p2p")),E(me,x("p2p-webrtc-star")),E(ge,x("p2p-webrtc-star"))),el=q(E(me,x("p2p-websocket-star"),x("p2p")),E(ge,x("p2p-websocket-star"),x("p2p")),E(me,x("p2p-websocket-star")),E(ge,x("p2p-websocket-star"))),hs=q(E($r,x("p2p-webrtc-direct"),x("p2p")),E(Ur,x("p2p-webrtc-direct"),x("p2p")),E($r,x("p2p-webrtc-direct")),E(Ur,x("p2p-webrtc-direct"))),be=q(me,ge,$r,Ur,ps,hs,kt,Pc,Fc,Xt),rl=q(E(be,x("p2p-stardust"),x("p2p")),E(be,x("p2p-stardust"))),Bt=q(E(be,x("p2p")),ps,hs,x("p2p")),fs=q(E(Bt,x("p2p-circuit"),Bt),E(Bt,x("p2p-circuit")),E(x("p2p-circuit"),Bt),E(be,x("p2p-circuit")),E(x("p2p-circuit"),be),x("p2p-circuit")),ds=()=>q(E(fs,ds),fs),de=ds(),nl=q(E(de,Bt,de),E(Bt,de),E(de,Bt),de,Bt);function ms(r){function t(e){let n;try{n=vt(e)}catch{return!1}let i=r(n.protoNames());return i===null?!1:i===!0||i===!1?i:i.length===0}return t}function E(...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:ms(t),partialMatch:t}}function q(...r){function t(n){let i=null;return r.some(u=>{let l=typeof u=="function"?u().partialMatch(n):u.partialMatch(n);return l!=null?(i=l,!0):!1}),i}return{toString:function(){return"{ "+r.join(" ")+" }"},input:r,matches:ms(t),partialMatch:t}}function x(r){let t=r;function e(i){let u;try{u=vt(i)}catch{return!1}let l=u.protoNames();return l.length===1&&l[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 gt=U(Is(),1);gt.default.formatters.b=r=>r==null?"undefined":z.baseEncode(r);gt.default.formatters.t=r=>r==null?"undefined":lt.baseEncode(r);gt.default.formatters.m=r=>r==null?"undefined":hr.baseEncode(r);gt.default.formatters.p=r=>r==null?"undefined":r.toString();gt.default.formatters.c=r=>r==null?"undefined":r.toString();gt.default.formatters.k=r=>r==null?"undefined":r.toString();function Mt(r){return Object.assign((0,gt.default)(r),{error:(0,gt.default)(`${r}:error`),trace:(0,gt.default)(`${r}:trace`)})}var Xs=U(Fs(),1);var Ze=U(kr(),1);function $e(r){return this.subnetMask<r.subnetMask?!1:this.mask(r.subnetMask)===r.mask()}function Ue(r){return function(){return this.addressMinusSuffix!==this.correctForm()?!1:this.subnetMask===r&&!this.parsedSubnet?!0:this.parsedSubnet===String(this.subnetMask)}}var ee=/^(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,Hr=/\/\d{1,2}$/;var G=class extends Error{constructor(t,e){super(t),this.name="AddressError",e!==null&&(this.parseMessage=e)}};var re=U(Wr(),1),Lt=U(ye(),1),D=class{constructor(t){this.groups=4,this.parsedAddress=[],this.parsedSubnet="",this.subnet="/32",this.subnetMask=32,this.v4=!0,this.isCorrect=Ue(32),this.isInSubnet=$e,this.address=t;let e=Hr.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 G("Invalid subnet mask.");t=t.replace(Hr,"")}this.addressMinusSuffix=t,this.parsedAddress=this.parse(t)}static isValid(t){try{return new D(t),!0}catch{return!1}}parse(t){let e=t.split(".");if(!t.match(ee))throw new G("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 u=e.slice(i,i+2);n.push(parseInt(u,16))}return new D(n.join("."))}static fromInteger(t){return D.fromHex(t.toString(16))}static fromArpa(t){let n=t.replace(/(\.in-addr\.arpa)?\.$/,"").split(".").reverse().join(".");return new D(n)}toHex(){return this.parsedAddress.map(t=>(0,Lt.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,Lt.sprintf)("%02x%02x",parseInt(this.parsedAddress[e],10),parseInt(this.parsedAddress[e+1],10));t.push((0,Lt.sprintf)("%x",parseInt(n,16)))}return t.join(":")}bigInteger(){return new re.BigInteger(this.parsedAddress.map(t=>(0,Lt.sprintf)("%02x",parseInt(t,10))).join(""),16)}_startAddress(){return new re.BigInteger(this.mask()+"0".repeat(32-this.subnetMask),2)}startAddress(){return D.fromBigInteger(this._startAddress())}startAddressExclusive(){let t=new re.BigInteger("1");return D.fromBigInteger(this._startAddress().add(t))}_endAddress(){return new re.BigInteger(this.mask()+"1".repeat(32-this.subnetMask),2)}endAddress(){return D.fromBigInteger(this._endAddress())}endAddressExclusive(){let t=new re.BigInteger("1");return D.fromBigInteger(this._endAddress().subtract(t))}static fromBigInteger(t){return D.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,Lt.sprintf)("%s.in-addr.arpa.",e)}isMulticast(){return this.isInSubnet(new D("224.0.0.0/4"))}binaryZeroPad(){return this.bigInteger().toString(2).padStart(32,"0")}groupForV6(){let t=this.parsedAddress;return this.address.replace(ee,(0,Lt.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 Us={0:"Reserved",1:"Interface local",2:"Link local",4:"Admin local",5:"Site local",8:"Organization local",14:"Global",15:"Reserved"},Jr={"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"},Xr=/([^0-9a-f:/%])/gi,Yr=/([0-9a-f]{5,}|:{3,}|[^:]:$|^:[^:]|\/$)/gi,Kr=/\/\d{1,3}(?=%|$)/,Qr=/%.*$/,js=new RegExp(/^\[{0,1}([0-9a-f:]+)\]{0,1}/),Vs=new RegExp(/\[([0-9a-f:]+)\]:([0-9]{1,5})/);var qs=U(ye(),1);function uu(r){return r.replace(/^(0+)/,'<span class="zero">$1</span>')}function ze(r,t=0){return r.split(":").map((n,i)=>/group-v4/.test(n)?n:(0,qs.sprintf)('<span class="hover-group group-%d">%s</span>',i+t,uu(n)))}var Ut=U(ye(),1);function en(r){return(0,Ut.sprintf)("(%s)",r.join("|"))}function tn(r){return r.length<4?(0,Ut.sprintf)("0{0,%d}%s",4-r.length,r):r}var rn="[^A-Fa-f0-9:]";function qe(r){let t=[];r.forEach((n,i)=>{parseInt(n,16)===0&&t.push(i)});let e=t.map(n=>r.map((i,u)=>{if(u===n){let l=u===0||u===8-1?":":"";return en([tn(i),l])}return tn(i)}).join(":"));return e.push(r.map(tn).join(":")),en(e)}function nn(r,t,e){let n=t?"":":",i=e?"":":",u=[];!t&&!e&&u.push("::"),t&&e&&u.push(""),(e&&!t||!e&&t)&&u.push(":"),u.push((0,Ut.sprintf)("%s(:0{1,4}){1,%d}",n,r-1)),u.push((0,Ut.sprintf)("(0{1,4}:){1,%d}%s",r-1,i)),u.push((0,Ut.sprintf)("(0{1,4}:){%d}0{1,4}",r-1));for(let l=1;l<r-1;l++)for(let d=1;d<r-l;d++)u.push((0,Ut.sprintf)("(0{1,4}:){%d}:(0{1,4}:){%d}0{1,4}",d,r-d-l-1));return en(u)}var Z=U(Wr(),1),H=U(ye(),1);function Ge(r){if(!r)throw new Error("Assertion failed.")}function fu(r){let t=/(\d+)(\d{3})/;for(;t.test(r);)r=r.replace(t,"$1,$2");return r}function lu(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 pu(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 Zs(r){return(0,H.sprintf)("%04x",parseInt(r,16))}function Hs(r){return r&255}var P=class{constructor(t,e){this.addressMinusSuffix="",this.parsedSubnet="",this.subnet="/128",this.subnetMask=128,this.v4=!1,this.zone="",this.isInSubnet=$e,this.isCorrect=Ue(128),e===void 0?this.groups=8:this.groups=e,this.address=t;let n=Kr.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 G("Invalid subnet mask.");t=t.replace(Kr,"")}else if(/\//.test(t))throw new G("Invalid subnet mask.");let i=Qr.exec(t);i&&(this.zone=i[0],t=t.replace(Qr,"")),this.addressMinusSuffix=t,this.parsedAddress=this.parse(this.addressMinusSuffix)}static isValid(t){try{return new P(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 P(n.join(":"))}static fromURL(t){let e,n=null,i;if(t.indexOf("[")!==-1&&t.indexOf("]:")!==-1){if(i=Vs.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=js.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 P(e),port:n}}static fromAddress4(t){let e=new D(t),n=128-(32-e.subnetMask);return new P(`::ffff:${e.correctForm()}/${n}`)}static fromArpa(t){let e=t.replace(/(\.ip6\.arpa)?\.$/,""),n=7;if(e.length!==63)throw new G("Invalid 'ip6.arpa' form.");let i=e.split(".").reverse();for(let u=n;u>0;u--){let l=u*4;i.splice(l,0,":")}return e=i.join(""),new P(e)}microsoftTranscription(){return(0,H.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":fu(new Z.BigInteger("2",10).pow(i).toString(10))}_startAddress(){return new Z.BigInteger(this.mask()+"0".repeat(128-this.subnetMask),2)}startAddress(){return P.fromBigInteger(this._startAddress())}startAddressExclusive(){let t=new Z.BigInteger("1");return P.fromBigInteger(this._startAddress().add(t))}_endAddress(){return new Z.BigInteger(this.mask()+"1".repeat(128-this.subnetMask),2)}endAddress(){return P.fromBigInteger(this._endAddress())}endAddressExclusive(){let t=new Z.BigInteger("1");return P.fromBigInteger(this._endAddress().subtract(t))}getScope(){let t=Us[this.getBits(12,16).intValue()];return this.getType()==="Global unicast"&&t!=="Link local"&&(t="Global"),t||"Unknown"}getType(){for(let t of Object.keys(Jr))if(this.isInSubnet(new P(t)))return Jr[t];return"Global unicast"}getBits(t,e){return new Z.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,H.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 d=parseInt(this.parsedAddress[t],16);d===0&&n++,d!==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 u=i.map(d=>d[1]-d[0]+1);if(i.length>0){let d=u.indexOf(Math.max(...u));e=pu(this.parsedAddress,i[d])}else e=this.parsedAddress;for(t=0;t<e.length;t++)e[t]!=="compact"&&(e[t]=parseInt(e[t],16).toString(16));let l=e.join(":");return l=l.replace(/^compact$/,"::"),l=l.replace(/^compact|compact$/,":"),l=l.replace(/compact/,""),l}binaryZeroPad(){return this.bigInteger().toString(2).padStart(128,"0")}parse4in6(t){let e=t.split(":"),i=e.slice(-1)[0].match(ee);if(i){this.parsedAddress4=i[0],this.address4=new D(this.parsedAddress4);for(let u=0;u<this.address4.groups;u++)if(/^0[0-9]+/.test(this.address4.parsedAddress[u]))throw new G("IPv4 addresses can't have leading zeroes.",t.replace(ee,this.address4.parsedAddress.map(lu).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(Xr);if(e)throw new G((0,H.sprintf)("Bad character%s detected in address: %s",e.length>1?"s":"",e.join("")),t.replace(Xr,'<span class="parse-error">$1</span>'));let n=t.match(Yr);if(n)throw new G((0,H.sprintf)("Address failed regex: %s",n.join("")),t.replace(Yr,'<span class="parse-error">$1</span>'));let i=[],u=t.split("::");if(u.length===2){let l=u[0].split(":"),d=u[1].split(":");l.length===1&&l[0]===""&&(l=[]),d.length===1&&d[0]===""&&(d=[]);let b=this.groups-(l.length+d.length);if(!b)throw new G("Error parsing groups");this.elidedGroups=b,this.elisionBegin=l.length,this.elisionEnd=l.length+this.elidedGroups,i=i.concat(l);for(let A=0;A<b;A++)i.push("0");i=i.concat(d)}else if(u.length===1)i=t.split(":"),this.elidedGroups=0;else throw new G("Too many :: groups found");if(i=i.map(l=>(0,H.sprintf)("%x",parseInt(l,16))),i.length!==this.groups)throw new G("Incorrect number of groups found");return i}canonicalForm(){return this.parsedAddress.map(Zs).join(":")}decimal(){return this.parsedAddress.map(t=>(0,H.sprintf)("%05d",parseInt(t,16))).join(":")}bigInteger(){return new Z.BigInteger(this.parsedAddress.map(Zs).join(""),16)}to4(){let t=this.binaryZeroPad().split("");return D.fromHex(new Z.BigInteger(t.slice(96,128).join(""),2).toString(16))}to4in6(){let t=this.to4(),n=new P(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 Z.BigInteger("ffff",16)).toString(),n=D.fromHex(this.getBitsBase16(32,64)),i=D.fromHex(this.getBits(96,128).xor(new Z.BigInteger("ffffffff",16)).toString(16)),u=this.getBits(64,80),l=this.getBitsBase2(64,80),d=u.testBit(15),b=u.testBit(14),A=u.testBit(8),f=u.testBit(9),y=new Z.BigInteger(l.slice(2,6)+l.slice(8,16),2).toString(10);return{prefix:(0,H.sprintf)("%s:%s",t.slice(0,4),t.slice(4,8)),server4:n.address,client4:i.address,flags:l,coneNat:d,microsoft:{reserved:b,universalLocal:f,groupIndividual:A,nonce:y},udpPort:e}}inspect6to4(){let t=this.getBitsBase16(0,16),e=D.fromHex(this.getBitsBase16(16,48));return{prefix:(0,H.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 P(t)}toByteArray(){let t=this.bigInteger().toByteArray();return t.length===17&&t[0]===0?t.slice(1):t}toUnsignedByteArray(){return this.toByteArray().map(Hs)}static fromByteArray(t){return this.fromUnsignedByteArray(t.map(Hs))}static fromUnsignedByteArray(t){let e=new Z.BigInteger("256",10),n=new Z.BigInteger("0",10),i=new Z.BigInteger("1",10);for(let u=t.length-1;u>=0;u--)n=n.add(i.multiply(new Z.BigInteger(t[u].toString(10),10))),i=i.multiply(e);return P.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 P("2001::/32"))}is6to4(){return this.isInSubnet(new P("2002::/16"))}isLoopback(){return this.getType()==="Loopback"}href(t){return t===void 0?t="":t=(0,H.sprintf)(":%s",t),(0,H.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,H.sprintf)('<a href="%1$s%2$s" class="%3$s">%2$s</a>',t.prefix,e.call(this),t.className):(0,H.sprintf)('<a href="%1$s%2$s">%2$s</a>',t.prefix,e.call(this))}group(){if(this.elidedGroups===0)return ze(this.address).join(":");Ge(typeof this.elidedGroups=="number"),Ge(typeof this.elisionBegin=="number");let t=[],[e,n]=this.address.split("::");e.length?t.push(...ze(e)):t.push("");let i=["hover-group"];for(let u=this.elisionBegin;u<this.elisionBegin+this.elidedGroups;u++)i.push((0,H.sprintf)("group-%d",u));return t.push((0,H.sprintf)('<span class="%s"></span>',i.join(" "))),n.length?t.push(...ze(n,this.elisionEnd)):t.push(""),this.is4()&&(Ge(this.address4 instanceof D),t.pop(),t.push(this.address4.groupForV6())),t.join(":")}regularExpressionString(t=!1){let e=[],n=new P(this.correctForm());if(n.elidedGroups===0)e.push(qe(n.parsedAddress));else if(n.elidedGroups===8)e.push(nn(8));else{let i=n.address.split("::");i[0].length&&e.push(qe(i[0].split(":"))),Ge(typeof n.elidedGroups=="number"),e.push(nn(n.elidedGroups,i[0].length!==0,i[1].length!==0)),i[1].length&&e.push(qe(i[1].split(":"))),e=[e.join(":")]}return t||(e=["(?=^|",rn,"|[^\\w\\:])(",...e,")(?=[^\\w\\:]|",rn,"|$)"]),e.join("")}regularExpression(t=!1){return new RegExp(this.regularExpressionString(t),"i")}};var hu=Mt("libp2p:ip-port-to-multiaddr"),sn={ERR_INVALID_IP_PARAMETER:"ERR_INVALID_IP_PARAMETER",ERR_INVALID_PORT_PARAMETER:"ERR_INVALID_PORT_PARAMETER",ERR_INVALID_IP:"ERR_INVALID_IP"};function Ws(r,t){if(typeof r!="string")throw(0,Ze.default)(new Error(`invalid ip provided: ${r}`),sn.ERR_INVALID_IP_PARAMETER);if(typeof t=="string"&&(t=parseInt(t)),isNaN(t))throw(0,Ze.default)(new Error(`invalid port provided: ${t}`),sn.ERR_INVALID_PORT_PARAMETER);try{return new D(r),vt(`/ip4/${r}/tcp/${t}`)}catch{}try{let e=new P(r);return e.is4()?vt(`/ip4/${e.to4().correctForm()}/tcp/${t}`):vt(`/ip6/${r}/tcp/${t}`)}catch{let n=`invalid ip:port for creating a multiaddr: ${r}:${t}`;throw hu.error(n),(0,Ze.default)(new Error(n),sn.ERR_INVALID_IP)}}var on=U(dt("os"),1),Js=U(dt("path"),1),du={ip4:"IPv4",ip6:"IPv6"};function se(r){let t=r.getPath();return t!=null?on.default.platform()==="win32"?{path:Js.default.join("\\\\.\\pipe\\",t)}:{path:t}:r.toOptions()}function an(r,t,e){let n=i=>vt(`/${r}/${i}/tcp/${e}`);return(mu(t)?bu(du[r]):[t]).map(n)}function mu(r){return["0.0.0.0","::"].includes(r)}var gu=on.default.networkInterfaces();function bu(r){let t=[];for(let[,e]of Object.entries(gu))if(e!=null)for(let n of e)n.family===r&&t.push(n.address);return t}var xt=class extends Error{constructor(t="The operation was aborted"){super(t),this.code=xt.code,this.type=xt.type}static get code(){return"ABORT_ERR"}static get type(){return"aborted"}},Dt=class extends Error{constructor(t,e,n){super(t),this.code=e,this.name=n?.name??"CodeError",this.props=n??{}}};var pt=Mt("libp2p:tcp:socket"),He=(r,t)=>{let e=t.metrics,n=t.metricPrefix??"",i=t.socketInactivityTimeout??3e5,u=t.socketCloseTimeout??2e3;t.listeningAddr?.getPath()!=null&&(t.remoteAddr=t.listeningAddr),t.remoteAddr?.getPath()!=null&&(t.localAddr=t.remoteAddr);let l;if(t.remoteAddr!=null)l=t.remoteAddr;else{if(r.remoteAddress==null||r.remotePort==null)throw new Dt("Could not determine remote address or port","ERR_NO_REMOTE_ADDRESS");l=Ws(r.remoteAddress,r.remotePort)}let d=se(l),b=d.path??`${d.host??""}:${d.port??""}`,{sink:A,source:f}=Xs.default.duplex(r);r.setTimeout(i,()=>{pt("%s socket read timeout",b),e?.increment({[`${n}timeout`]:!0});let v;r.readable&&(v=new Dt("Socket read timeout","ERR_SOCKET_READ_TIMEOUT")),r.destroy(v)}),r.once("close",()=>{pt("%s socket read timeout",b),e?.increment({[`${n}close`]:!0}),y.timeline.close==null&&(y.timeline.close=Date.now())}),r.once("end",()=>{pt("socket ended",y.remoteAddr.toString()),e?.increment({[`${n}end`]:!0})});let y={async sink(v){try{await A(v)}catch(T){T.type!=="aborted"&&pt(T)}r.end()},source:f,remoteAddr:l,timeline:{open:Date.now()},async close(){if(r.destroyed){pt("%s socket was already destroyed when trying to close",b);return}pt("%s closing socket",b),await new Promise((v,T)=>{let m=Date.now(),C=setTimeout(()=>{r.destroyed?(pt("%s is already destroyed",b),v()):(pt("%s socket close timeout after %dms, destroying it manually",b,Date.now()-m),r.destroy(new Dt("Socket close timeout","ERR_SOCKET_CLOSE_TIMEOUT")))},u).unref();r.once("close",()=>{pt("%s socket closed",b),clearTimeout(C),v()}),r.once("error",B=>{pt("%s socket error",b,B),y.timeline.close==null&&(y.timeline.close=Date.now()),r.destroyed&&clearTimeout(C),T(B)}),r.setTimeout(u),r.end(),r.writableLength>0?r.once("drain",()=>{pt("%s socket drained",b),r.destroy()}):r.destroy()})}};return y};var Ys=U(dt("net"),1);var jt=function(r,t,e,n){if(e==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?r!==t||!n:!t.has(r))throw new TypeError("Cannot read private member from an object whose class did not declare it");return e==="m"?n:e==="a"?n.call(r):n?n.value:t.get(r)},St,We=class extends EventTarget{constructor(){super(...arguments),St.set(this,new Map)}listenerCount(t){let e=jt(this,St,"f").get(t);return e==null?0:e.length}addEventListener(t,e,n){super.addEventListener(t,e,n);let i=jt(this,St,"f").get(t);i==null&&(i=[],jt(this,St,"f").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=jt(this,St,"f").get(t);i!=null&&(i=i.filter(({callback:u})=>u!==e),jt(this,St,"f").set(t,i))}dispatchEvent(t){let e=super.dispatchEvent(t),n=jt(this,St,"f").get(t.type);return n==null||(n=n.filter(({once:i})=>!i),jt(this,St,"f").set(t.type,n)),e}};St=new WeakMap;var cn=class extends Event{constructor(t,e){super(t,e),this.detail=e?.detail}},we=globalThis.CustomEvent??cn;var ht=Mt("libp2p:tcp:listener");async function un(r){try{await r.close()}catch(t){ht.error("an error occurred closing the connection",t)}}var vu=1,Tu=0,Je=class extends We{constructor(t){super(),this.context=t,this.connections=new Set,this.status={started:!1},t.keepAlive=t.keepAlive??!0,this.addr="unknown",this.server=Ys.default.createServer(t,this.onSocket.bind(this)),t.maxConnections!==void 0&&(this.server.maxConnections=t.maxConnections),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]:vu})}this.dispatchEvent(new we("listening"))}).on("error",e=>{this.metrics?.errors.increment({[`${this.addr} listen_error`]:!0}),this.dispatchEvent(new we("error",{detail:e}))}).on("close",()=>{this.metrics?.status.update({[this.addr]:Tu}),this.dispatchEvent(new we("close"))})}onSocket(t){t.on("error",n=>{ht("socket error",n),this.metrics?.events.increment({[`${this.addr} error`]:!0})});let e;try{e=He(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){ht.error("inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_to_connection`]:!0});return}ht("new inbound connection %s",e.remoteAddr);try{this.context.upgrader.upgradeInbound(e).then(n=>{ht("inbound connection upgraded %s",e.remoteAddr),this.connections.add(e),t.once("close",()=>{this.connections.delete(e)}),this.context.handler!=null&&this.context.handler(n),this.dispatchEvent(new we("connection",{detail:n}))}).catch(async n=>{ht.error("inbound connection failed",n),this.metrics?.errors.increment({[`${this.addr} inbound_upgrade`]:!0}),await un(e)}).catch(n=>{ht.error("closing inbound connection failed",n)})}catch(n){ht.error("inbound connection failed",n),un(e).catch(i=>{ht.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(an("ip4",e.address,e.port)):e.family==="IPv6"&&(t=t.concat(an("ip6",e.address,e.port)))}catch(u){ht.error("could not turn %s:%s into multiaddr",e.address,e.port,u)}return t.map(u=>i!=null?u.encapsulate(`/p2p/${i}`):u)}async listen(t){let e=t.getPeerId(),n=e==null?t.decapsulateCode(421):t;return this.status={started:!0,listeningAddr:n,peerId:e},await new Promise((i,u)=>{let l=se(n);this.server.on("error",d=>{u(d)}),this.server.listen(l,()=>{ht("Listening on %s",this.server.address()),i()})})}async close(){this.server.listening&&(await Promise.all(Array.from(this.connections.values()).map(async t=>await un(t))),await new Promise((t,e)=>{this.server.close(n=>n!=null?e(n):t())}))}};var Qs=Symbol.for("@libp2p/transport");var Ks;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(Ks||(Ks={}));var Et=Mt("libp2p:tcp"),ln=class{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"})})}get[Qs](){return!0}get[Symbol.toStringTag](){return"@libp2p/tcp"}async dial(t,e){e.keepAlive=e.keepAlive??!0;let n=await this._connect(t,e);n.on("error",d=>{Et("socket error",d)});let i=He(n,{remoteAddr:t,socketInactivityTimeout:this.opts.outboundSocketInactivityTimeout,socketCloseTimeout:this.opts.socketCloseTimeout,metrics:this.metrics?.dialerEvents}),u=()=>{i.close().catch(d=>{Et.error("Error closing maConn after abort",d)})};e.signal?.addEventListener("abort",u,{once:!0}),Et("new outbound connection %s",i.remoteAddr);let l=await e.upgrader.upgradeOutbound(i);if(Et("outbound connection %s upgraded",i.remoteAddr),e.signal?.removeEventListener("abort",u),e.signal?.aborted===!0)throw l.close().catch(d=>{Et.error("Error closing conn after abort",d)}),new xt;return l}async _connect(t,e){if(e.signal?.aborted===!0)throw new xt;return await new Promise((n,i)=>{let u=Date.now(),l=se(t),d=l.path??`${l.host??""}:${l.port}`;Et("dialing %j",l);let b=to.default.connect(l),A=m=>{m.message=`connection error ${d}: ${m.message}`,this.metrics?.dialerEvents.increment({error:!0}),T(m)},f=()=>{Et("connection timeout %s",d),this.metrics?.dialerEvents.increment({timeout:!0});let m=new Dt(`connection timeout after ${Date.now()-u}ms`,"ERR_CONNECT_TIMEOUT");b.emit("error",m)},y=()=>{Et("connection opened %j",l),this.metrics?.dialerEvents.increment({connect:!0}),T()},v=()=>{Et("connection aborted %j",l),this.metrics?.dialerEvents.increment({abort:!0}),b.destroy(),T(new xt)},T=m=>{if(b.removeListener("error",A),b.removeListener("timeout",f),b.removeListener("connect",y),e.signal!=null&&e.signal.removeEventListener("abort",v),m!=null)return i(m);n(b)};b.on("error",A),b.on("timeout",f),b.on("connect",y),e.signal!=null&&e.signal.addEventListener("abort",v)})}createListener(t){return new Je({...t,maxConnections:this.opts.maxConnections,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:kt.matches(e.decapsulateCode(421)))}};function Eu(r={}){return(t={})=>new ln(t,r)}return ji(Cu);})();
|
|
7
7
|
return Libp2PTcp}));
|
package/dist/src/constants.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ export declare const CODE_P2P = 421;
|
|
|
2
2
|
export declare const CODE_CIRCUIT = 290;
|
|
3
3
|
export declare const CODE_UNIX = 400;
|
|
4
4
|
export declare const CLOSE_TIMEOUT = 2000;
|
|
5
|
-
export declare const SOCKET_TIMEOUT
|
|
5
|
+
export declare const SOCKET_TIMEOUT: number;
|
|
6
6
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,QAAQ,MAAM,CAAA;AAC3B,eAAO,MAAM,YAAY,MAAM,CAAA;AAC/B,eAAO,MAAM,SAAS,MAAM,CAAA;AAG5B,eAAO,MAAM,aAAa,OAAO,CAAA;AAGjC,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,QAAQ,MAAM,CAAA;AAC3B,eAAO,MAAM,YAAY,MAAM,CAAA;AAC/B,eAAO,MAAM,SAAS,MAAM,CAAA;AAG5B,eAAO,MAAM,aAAa,OAAO,CAAA;AAGjC,eAAO,MAAM,cAAc,QAAY,CAAA"}
|
package/dist/src/constants.js
CHANGED
|
@@ -5,5 +5,5 @@ export const CODE_UNIX = 400;
|
|
|
5
5
|
// Time to wait for a connection to close gracefully before destroying it manually
|
|
6
6
|
export const CLOSE_TIMEOUT = 2000;
|
|
7
7
|
// Close the socket if there is no activity after this long in ms
|
|
8
|
-
export const SOCKET_TIMEOUT =
|
|
8
|
+
export const SOCKET_TIMEOUT = 5 * 60000; // 5 mins
|
|
9
9
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAA;AAC3B,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAA;AAE5B,kFAAkF;AAClF,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAA;AAEjC,iEAAiE;AACjE,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,CAAA"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA,yBAAyB;AACzB,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAA;AAC3B,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAA;AAC/B,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,CAAA;AAE5B,kFAAkF;AAClF,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAA;AAEjC,iEAAiE;AACjE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAG,KAAK,CAAA,CAAC,SAAS"}
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAAoB,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAC7G,OAAO,KAAK,EAAE,YAAY,EAAa,MAAM,yBAAyB,CAAA;AAGtE,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AAItE,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,8BAA8B,CAAC,EAAE,MAAM,CAAA;IAEvC;;OAEG;IACH,+BAA+B,CAAC,EAAE,MAAM,CAAA;IAExC;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAE3B;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,YAAY;IACpD,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAA;CACxB;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW,EAAE,gBAAgB;CAEpE;AAED,MAAM,WAAW,wBAAyB,SAAQ,qBAAqB,EAAE,gBAAgB;CAExF;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAA;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,YAAY,EAAE,YAAY,CAAA;CAC3B;AA8KD,wBAAgB,GAAG,CAAE,IAAI,GAAE,UAAe,GAAG,CAAC,UAAU,CAAC,EAAE,aAAa,KAAK,SAAS,CAIrF"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import net from 'net';
|
|
2
2
|
import * as mafmt from '@multiformats/mafmt';
|
|
3
|
-
import errCode from 'err-code';
|
|
4
3
|
import { logger } from '@libp2p/logger';
|
|
5
4
|
import { toMultiaddrConnection } from './socket-to-conn.js';
|
|
6
5
|
import { TCPListener } from './listener.js';
|
|
7
6
|
import { multiaddrToNetConfig } from './utils.js';
|
|
8
|
-
import { AbortError } from '@libp2p/interfaces/errors';
|
|
7
|
+
import { AbortError, CodeError } from '@libp2p/interfaces/errors';
|
|
9
8
|
import { CODE_CIRCUIT, CODE_P2P, CODE_UNIX } from './constants.js';
|
|
10
9
|
import { symbol } from '@libp2p/interface-transport';
|
|
11
10
|
const log = logger('libp2p:tcp');
|
|
@@ -78,7 +77,7 @@ class TCP {
|
|
|
78
77
|
const onTimeout = () => {
|
|
79
78
|
log('connection timeout %s', cOptsStr);
|
|
80
79
|
this.metrics?.dialerEvents.increment({ timeout: true });
|
|
81
|
-
const err =
|
|
80
|
+
const err = new CodeError(`connection timeout after ${Date.now() - start}ms`, 'ERR_CONNECT_TIMEOUT');
|
|
82
81
|
// Note: this will result in onError() being called
|
|
83
82
|
rawSocket.emit('error', err);
|
|
84
83
|
};
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAA;AACrB,OAAO,KAAK,KAAK,MAAM,qBAAqB,CAAA;AAC5C,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import toIterable from 'stream-to-it';
|
|
|
4
4
|
import { ipPortToMultiaddr as toMultiaddr } from '@libp2p/utils/ip-port-to-multiaddr';
|
|
5
5
|
import { CLOSE_TIMEOUT, SOCKET_TIMEOUT } from './constants.js';
|
|
6
6
|
import { multiaddrToNetConfig } from './utils.js';
|
|
7
|
-
import
|
|
7
|
+
import { CodeError } from '@libp2p/interfaces/errors';
|
|
8
8
|
const log = logger('libp2p:tcp:socket');
|
|
9
9
|
/**
|
|
10
10
|
* Convert a socket into a MultiaddrConnection
|
|
@@ -30,7 +30,7 @@ export const toMultiaddrConnection = (socket, options) => {
|
|
|
30
30
|
if (socket.remoteAddress == null || socket.remotePort == null) {
|
|
31
31
|
// this can be undefined if the socket is destroyed (for example, if the client disconnected)
|
|
32
32
|
// https://nodejs.org/dist/latest-v16.x/docs/api/net.html#socketremoteaddress
|
|
33
|
-
throw
|
|
33
|
+
throw new CodeError('Could not determine remote address or port', 'ERR_NO_REMOTE_ADDRESS');
|
|
34
34
|
}
|
|
35
35
|
remoteAddr = toMultiaddr(socket.remoteAddress, socket.remotePort);
|
|
36
36
|
}
|
|
@@ -45,7 +45,7 @@ export const toMultiaddrConnection = (socket, options) => {
|
|
|
45
45
|
// only destroy with an error if the remote has not sent the FIN message
|
|
46
46
|
let err;
|
|
47
47
|
if (socket.readable) {
|
|
48
|
-
err =
|
|
48
|
+
err = new CodeError('Socket read timeout', 'ERR_SOCKET_READ_TIMEOUT');
|
|
49
49
|
}
|
|
50
50
|
// if the socket times out due to inactivity we must manually close the connection
|
|
51
51
|
// https://nodejs.org/dist/latest-v16.x/docs/api/net.html#event-timeout
|
|
@@ -106,7 +106,7 @@ export const toMultiaddrConnection = (socket, options) => {
|
|
|
106
106
|
else {
|
|
107
107
|
log('%s socket close timeout after %dms, destroying it manually', lOptsStr, Date.now() - start);
|
|
108
108
|
// will trigger 'error' and 'close' events that resolves promise
|
|
109
|
-
socket.destroy(
|
|
109
|
+
socket.destroy(new CodeError('Socket close timeout', 'ERR_SOCKET_CLOSE_TIMEOUT'));
|
|
110
110
|
}
|
|
111
111
|
}, closeTimeout).unref();
|
|
112
112
|
socket.once('close', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket-to-conn.js","sourceRoot":"","sources":["../../src/socket-to-conn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,4BAA4B;AAC5B,OAAO,UAAU,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,iBAAiB,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAA;AACrF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AACjD,OAAO,
|
|
1
|
+
{"version":3,"file":"socket-to-conn.js","sourceRoot":"","sources":["../../src/socket-to-conn.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/tcp",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.9",
|
|
4
4
|
"description": "A TCP transport for libp2p",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p-tcp#readme",
|
|
@@ -144,12 +144,11 @@
|
|
|
144
144
|
"@libp2p/interface-connection": "^3.0.2",
|
|
145
145
|
"@libp2p/interface-metrics": "^4.0.0",
|
|
146
146
|
"@libp2p/interface-transport": "^2.0.0",
|
|
147
|
-
"@libp2p/interfaces": "^3.0
|
|
147
|
+
"@libp2p/interfaces": "^3.2.0",
|
|
148
148
|
"@libp2p/logger": "^2.0.0",
|
|
149
149
|
"@libp2p/utils": "^3.0.2",
|
|
150
150
|
"@multiformats/mafmt": "^11.0.3",
|
|
151
151
|
"@multiformats/multiaddr": "^11.0.0",
|
|
152
|
-
"err-code": "^3.0.1",
|
|
153
152
|
"stream-to-it": "^0.2.2"
|
|
154
153
|
},
|
|
155
154
|
"devDependencies": {
|
package/src/constants.ts
CHANGED
package/src/index.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import net from 'net'
|
|
2
2
|
import * as mafmt from '@multiformats/mafmt'
|
|
3
|
-
import errCode from 'err-code'
|
|
4
3
|
import { logger } from '@libp2p/logger'
|
|
5
4
|
import { toMultiaddrConnection } from './socket-to-conn.js'
|
|
6
5
|
import { TCPListener } from './listener.js'
|
|
7
6
|
import { multiaddrToNetConfig } from './utils.js'
|
|
8
|
-
import { AbortError } from '@libp2p/interfaces/errors'
|
|
7
|
+
import { AbortError, CodeError } from '@libp2p/interfaces/errors'
|
|
9
8
|
import { CODE_CIRCUIT, CODE_P2P, CODE_UNIX } from './constants.js'
|
|
10
9
|
import { CreateListenerOptions, DialOptions, Listener, symbol, Transport } from '@libp2p/interface-transport'
|
|
11
10
|
import type { AbortOptions, Multiaddr } from '@multiformats/multiaddr'
|
|
@@ -157,7 +156,7 @@ class TCP implements Transport {
|
|
|
157
156
|
log('connection timeout %s', cOptsStr)
|
|
158
157
|
this.metrics?.dialerEvents.increment({ timeout: true })
|
|
159
158
|
|
|
160
|
-
const err =
|
|
159
|
+
const err = new CodeError(`connection timeout after ${Date.now() - start}ms`, 'ERR_CONNECT_TIMEOUT')
|
|
161
160
|
// Note: this will result in onError() being called
|
|
162
161
|
rawSocket.emit('error', err)
|
|
163
162
|
}
|
package/src/socket-to-conn.ts
CHANGED
|
@@ -4,7 +4,7 @@ import toIterable from 'stream-to-it'
|
|
|
4
4
|
import { ipPortToMultiaddr as toMultiaddr } from '@libp2p/utils/ip-port-to-multiaddr'
|
|
5
5
|
import { CLOSE_TIMEOUT, SOCKET_TIMEOUT } from './constants.js'
|
|
6
6
|
import { multiaddrToNetConfig } from './utils.js'
|
|
7
|
-
import
|
|
7
|
+
import { CodeError } from '@libp2p/interfaces/errors'
|
|
8
8
|
import type { Socket } from 'net'
|
|
9
9
|
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
10
10
|
import type { MultiaddrConnection } from '@libp2p/interface-connection'
|
|
@@ -49,7 +49,7 @@ export const toMultiaddrConnection = (socket: Socket, options: ToConnectionOptio
|
|
|
49
49
|
if (socket.remoteAddress == null || socket.remotePort == null) {
|
|
50
50
|
// this can be undefined if the socket is destroyed (for example, if the client disconnected)
|
|
51
51
|
// https://nodejs.org/dist/latest-v16.x/docs/api/net.html#socketremoteaddress
|
|
52
|
-
throw
|
|
52
|
+
throw new CodeError('Could not determine remote address or port', 'ERR_NO_REMOTE_ADDRESS')
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
remoteAddr = toMultiaddr(socket.remoteAddress, socket.remotePort)
|
|
@@ -68,7 +68,7 @@ export const toMultiaddrConnection = (socket: Socket, options: ToConnectionOptio
|
|
|
68
68
|
// only destroy with an error if the remote has not sent the FIN message
|
|
69
69
|
let err: Error | undefined
|
|
70
70
|
if (socket.readable) {
|
|
71
|
-
err =
|
|
71
|
+
err = new CodeError('Socket read timeout', 'ERR_SOCKET_READ_TIMEOUT')
|
|
72
72
|
}
|
|
73
73
|
|
|
74
74
|
// if the socket times out due to inactivity we must manually close the connection
|
|
@@ -140,7 +140,7 @@ export const toMultiaddrConnection = (socket: Socket, options: ToConnectionOptio
|
|
|
140
140
|
log('%s socket close timeout after %dms, destroying it manually', lOptsStr, Date.now() - start)
|
|
141
141
|
|
|
142
142
|
// will trigger 'error' and 'close' events that resolves promise
|
|
143
|
-
socket.destroy(
|
|
143
|
+
socket.destroy(new CodeError('Socket close timeout', 'ERR_SOCKET_CLOSE_TIMEOUT'))
|
|
144
144
|
}
|
|
145
145
|
}, closeTimeout).unref()
|
|
146
146
|
|