libp2p 1.3.0-59a97b61b → 1.3.0-bf720c045

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -1,5 +1,5 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2P = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var Libp2P=(()=>{var Ud=Object.create;var bo=Object.defineProperty;var Md=Object.getOwnPropertyDescriptor;var Fd=Object.getOwnPropertyNames;var Vd=Object.getPrototypeOf,Kd=Object.prototype.hasOwnProperty;var ht=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),be=(r,e)=>{for(var t in e)bo(r,t,{get:e[t],enumerable:!0})},Cl=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Fd(e))!Kd.call(r,o)&&o!==t&&bo(r,o,{get:()=>e[o],enumerable:!(n=Md(e,o))||n.enumerable});return r};var Ft=(r,e,t)=>(t=r!=null?Ud(Vd(r)):{},Cl(e||!r||!r.__esModule?bo(t,"default",{value:r,enumerable:!0}):t,r)),Hd=r=>Cl(bo({},"__esModule",{value:!0}),r);var Ou=ht(rn=>{"use strict";var wg="[object ArrayBuffer]",Nt=class r{static isArrayBuffer(e){return Object.prototype.toString.call(e)===wg}static toArrayBuffer(e){return this.isArrayBuffer(e)?e:e.byteLength===e.buffer.byteLength||e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:this.toUint8Array(e.buffer).slice(e.byteOffset,e.byteOffset+e.byteLength).buffer}static toUint8Array(e){return this.toView(e,Uint8Array)}static toView(e,t){if(e.constructor===t)return e;if(this.isArrayBuffer(e))return new t(e);if(this.isArrayBufferView(e))return new t(e.buffer,e.byteOffset,e.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(e){return this.isArrayBufferView(e)||this.isArrayBuffer(e)}static isArrayBufferView(e){return ArrayBuffer.isView(e)||e&&this.isArrayBuffer(e.buffer)}static isEqual(e,t){let n=r.toUint8Array(e),o=r.toUint8Array(t);if(n.length!==o.byteLength)return!1;for(let s=0;s<n.length;s++)if(n[s]!==o[s])return!1;return!0}static concat(...e){let t;Array.isArray(e[0])&&!(e[1]instanceof Function)||Array.isArray(e[0])&&e[1]instanceof Function?t=e[0]:e[e.length-1]instanceof Function?t=e.slice(0,e.length-1):t=e;let n=0;for(let i of t)n+=i.byteLength;let o=new Uint8Array(n),s=0;for(let i of t){let a=this.toUint8Array(i);o.set(a,s),s+=a.length}return e[e.length-1]instanceof Function?this.toView(o,e[e.length-1]):o.buffer}},Za="string",bg=/^[0-9a-f]+$/i,Eg=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,xg=/^[a-zA-Z0-9-_]+$/,$o=class{static fromString(e){let t=unescape(encodeURIComponent(e)),n=new Uint8Array(t.length);for(let o=0;o<t.length;o++)n[o]=t.charCodeAt(o);return n.buffer}static toString(e){let t=Nt.toUint8Array(e),n="";for(let s=0;s<t.length;s++)n+=String.fromCharCode(t[s]);return decodeURIComponent(escape(n))}},et=class{static toString(e,t=!1){let n=Nt.toArrayBuffer(e),o=new DataView(n),s="";for(let i=0;i<n.byteLength;i+=2){let a=o.getUint16(i,t);s+=String.fromCharCode(a)}return s}static fromString(e,t=!1){let n=new ArrayBuffer(e.length*2),o=new DataView(n);for(let s=0;s<e.length;s++)o.setUint16(s*2,e.charCodeAt(s),t);return n}},qo=class r{static isHex(e){return typeof e===Za&&bg.test(e)}static isBase64(e){return typeof e===Za&&Eg.test(e)}static isBase64Url(e){return typeof e===Za&&xg.test(e)}static ToString(e,t="utf8"){let n=Nt.toUint8Array(e);switch(t.toLowerCase()){case"utf8":return this.ToUtf8String(n);case"binary":return this.ToBinary(n);case"hex":return this.ToHex(n);case"base64":return this.ToBase64(n);case"base64url":return this.ToBase64Url(n);case"utf16le":return et.toString(n,!0);case"utf16":case"utf16be":return et.toString(n);default:throw new Error(`Unknown type of encoding '${t}'`)}}static FromString(e,t="utf8"){if(!e)return new ArrayBuffer(0);switch(t.toLowerCase()){case"utf8":return this.FromUtf8String(e);case"binary":return this.FromBinary(e);case"hex":return this.FromHex(e);case"base64":return this.FromBase64(e);case"base64url":return this.FromBase64Url(e);case"utf16le":return et.fromString(e,!0);case"utf16":case"utf16be":return et.fromString(e);default:throw new Error(`Unknown type of encoding '${t}'`)}}static ToBase64(e){let t=Nt.toUint8Array(e);if(typeof btoa<"u"){let n=this.ToString(t,"binary");return btoa(n)}else return Buffer.from(t).toString("base64")}static FromBase64(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!r.isBase64(t))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(t)):new Uint8Array(Buffer.from(t,"base64")).buffer}static FromBase64Url(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!r.isBase64Url(t))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(t.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(e){return this.ToBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(e,t=r.DEFAULT_UTF8_ENCODING){switch(t){case"ascii":return this.FromBinary(e);case"utf8":return $o.fromString(e);case"utf16":case"utf16be":return et.fromString(e);case"utf16le":case"usc2":return et.fromString(e,!0);default:throw new Error(`Unknown type of encoding '${t}'`)}}static ToUtf8String(e,t=r.DEFAULT_UTF8_ENCODING){switch(t){case"ascii":return this.ToBinary(e);case"utf8":return $o.toString(e);case"utf16":case"utf16be":return et.toString(e);case"utf16le":case"usc2":return et.toString(e,!0);default:throw new Error(`Unknown type of encoding '${t}'`)}}static FromBinary(e){let t=e.length,n=new Uint8Array(t);for(let o=0;o<t;o++)n[o]=e.charCodeAt(o);return n.buffer}static ToBinary(e){let t=Nt.toUint8Array(e),n="";for(let o=0;o<t.length;o++)n+=String.fromCharCode(t[o]);return n}static ToHex(e){let t=Nt.toUint8Array(e),n="",o=t.length;for(let s=0;s<o;s++){let i=t[s];i<16&&(n+="0"),n+=i.toString(16)}return n}static FromHex(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!r.isHex(t))throw new TypeError("Argument 'hexString' is not HEX encoded");t.length%2&&(t=`0${t}`);let n=new Uint8Array(t.length/2);for(let o=0;o<t.length;o=o+2){let s=t.slice(o,o+2);n[o/2]=parseInt(s,16)}return n.buffer}static ToUtf16String(e,t=!1){return et.toString(e,t)}static FromUtf16String(e,t=!1){return et.fromString(e,t)}static Base64Padding(e){let t=4-e.length%4;if(t<4)for(let n=0;n<t;n++)e+="=";return e}static formatString(e){return e?.replace(/[\n\r\t ]/g,"")||""}};qo.DEFAULT_UTF8_ENCODING="utf8";function vg(r,...e){let t=arguments[0];for(let n=1;n<arguments.length;n++){let o=arguments[n];for(let s in o)t[s]=o[s]}return t}function Ag(...r){let e=r.map(o=>o.byteLength).reduce((o,s)=>o+s),t=new Uint8Array(e),n=0;return r.map(o=>new Uint8Array(o)).forEach(o=>{for(let s of o)t[n++]=s}),t.buffer}function Rg(r,e){if(!(r&&e)||r.byteLength!==e.byteLength)return!1;let t=new Uint8Array(r),n=new Uint8Array(e);for(let o=0;o<r.byteLength;o++)if(t[o]!==n[o])return!1;return!0}rn.BufferSourceConverter=Nt;rn.Convert=qo;rn.assign=vg;rn.combine=Ag;rn.isEqual=Rg});var zf=ht((fv,Gf)=>{var cn=1e3,ln=cn*60,un=ln*60,_r=un*24,n0=_r*7,o0=_r*365.25;Gf.exports=function(r,e){e=e||{};var t=typeof r;if(t==="string"&&r.length>0)return s0(r);if(t==="number"&&isFinite(r))return e.long?a0(r):i0(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function s0(r){if(r=String(r),!(r.length>100)){var e=/^(-?(?:\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(e){var t=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return t*o0;case"weeks":case"week":case"w":return t*n0;case"days":case"day":case"d":return t*_r;case"hours":case"hour":case"hrs":case"hr":case"h":return t*un;case"minutes":case"minute":case"mins":case"min":case"m":return t*ln;case"seconds":case"second":case"secs":case"sec":case"s":return t*cn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function i0(r){var e=Math.abs(r);return e>=_r?Math.round(r/_r)+"d":e>=un?Math.round(r/un)+"h":e>=ln?Math.round(r/ln)+"m":e>=cn?Math.round(r/cn)+"s":r+"ms"}function a0(r){var e=Math.abs(r);return e>=_r?Ls(r,e,_r,"day"):e>=un?Ls(r,e,un,"hour"):e>=ln?Ls(r,e,ln,"minute"):e>=cn?Ls(r,e,cn,"second"):r+" ms"}function Ls(r,e,t,n){var o=e>=t*1.5;return Math.round(r/t)+" "+n+(o?"s":"")}});var Wf=ht((hv,Yf)=>{function c0(r){t.debug=t,t.default=t,t.coerce=c,t.disable=s,t.enable=o,t.enabled=i,t.humanize=zf(),t.destroy=u,Object.keys(r).forEach(f=>{t[f]=r[f]}),t.names=[],t.skips=[],t.formatters={};function e(f){let l=0;for(let h=0;h<f.length;h++)l=(l<<5)-l+f.charCodeAt(h),l|=0;return t.colors[Math.abs(l)%t.colors.length]}t.selectColor=e;function t(f){let l,h=null,g,d;function p(...m){if(!p.enabled)return;let w=p,x=Number(new Date),b=x-(l||x);w.diff=b,w.prev=l,w.curr=x,l=x,m[0]=t.coerce(m[0]),typeof m[0]!="string"&&m.unshift("%O");let A=0;m[0]=m[0].replace(/%([a-zA-Z%])/g,(S,N)=>{if(S==="%%")return"%";A++;let C=t.formatters[N];if(typeof C=="function"){let q=m[A];S=C.call(w,q),m.splice(A,1),A--}return S}),t.formatArgs.call(w,m),(w.log||t.log).apply(w,m)}return p.namespace=f,p.useColors=t.useColors(),p.color=t.selectColor(f),p.extend=n,p.destroy=t.destroy,Object.defineProperty(p,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(g!==t.namespaces&&(g=t.namespaces,d=t.enabled(f)),d),set:m=>{h=m}}),typeof t.init=="function"&&t.init(p),p}function n(f,l){let h=t(this.namespace+(typeof l>"u"?":":l)+f);return h.log=this.log,h}function o(f){t.save(f),t.namespaces=f,t.names=[],t.skips=[];let l,h=(typeof f=="string"?f:"").split(/[\s,]+/),g=h.length;for(l=0;l<g;l++)h[l]&&(f=h[l].replace(/\*/g,".*?"),f[0]==="-"?t.skips.push(new RegExp("^"+f.slice(1)+"$")):t.names.push(new RegExp("^"+f+"$")))}function s(){let f=[...t.names.map(a),...t.skips.map(a).map(l=>"-"+l)].join(",");return t.enable(""),f}function i(f){if(f[f.length-1]==="*")return!0;let l,h;for(l=0,h=t.skips.length;l<h;l++)if(t.skips[l].test(f))return!1;for(l=0,h=t.names.length;l<h;l++)if(t.names[l].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function c(f){return f instanceof Error?f.stack||f.message:f}function u(){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 t.enable(t.load()),t}Yf.exports=c0});var jf=ht((We,ks)=>{We.formatArgs=u0;We.save=f0;We.load=h0;We.useColors=l0;We.storage=d0();We.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`."))}})();We.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 l0(){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 u0(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+ks.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,n=0;r[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(t++,o==="%c"&&(n=t))}),r.splice(n,0,e)}We.log=console.debug||console.log||(()=>{});function f0(r){try{r?We.storage.setItem("debug",r):We.storage.removeItem("debug")}catch{}}function h0(){let r;try{r=We.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function d0(){try{return localStorage}catch{}}ks.exports=Wf()(We);var{formatters:p0}=ks.exports;p0.j=function(r){try{return JSON.stringify(r)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var xh=ht((MA,Ic)=>{"use strict";var H0=Object.prototype.hasOwnProperty,He="~";function ao(){}Object.create&&(ao.prototype=Object.create(null),new ao().__proto__||(He=!1));function $0(r,e,t){this.fn=r,this.context=e,this.once=t||!1}function Eh(r,e,t,n,o){if(typeof t!="function")throw new TypeError("The listener must be a function");var s=new $0(t,n||r,o),i=He?He+e:e;return r._events[i]?r._events[i].fn?r._events[i]=[r._events[i],s]:r._events[i].push(s):(r._events[i]=s,r._eventsCount++),r}function Vs(r,e){--r._eventsCount===0?r._events=new ao:delete r._events[e]}function Pe(){this._events=new ao,this._eventsCount=0}Pe.prototype.eventNames=function(){var e=[],t,n;if(this._eventsCount===0)return e;for(n in t=this._events)H0.call(t,n)&&e.push(He?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};Pe.prototype.listeners=function(e){var t=He?He+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,s=n.length,i=new Array(s);o<s;o++)i[o]=n[o].fn;return i};Pe.prototype.listenerCount=function(e){var t=He?He+e:e,n=this._events[t];return n?n.fn?1:n.length:0};Pe.prototype.emit=function(e,t,n,o,s,i){var a=He?He+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,f,l;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,o),!0;case 5:return c.fn.call(c.context,t,n,o,s),!0;case 6:return c.fn.call(c.context,t,n,o,s,i),!0}for(l=1,f=new Array(u-1);l<u;l++)f[l-1]=arguments[l];c.fn.apply(c.context,f)}else{var h=c.length,g;for(l=0;l<h;l++)switch(c[l].once&&this.removeListener(e,c[l].fn,void 0,!0),u){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,t);break;case 3:c[l].fn.call(c[l].context,t,n);break;case 4:c[l].fn.call(c[l].context,t,n,o);break;default:if(!f)for(g=1,f=new Array(u-1);g<u;g++)f[g-1]=arguments[g];c[l].fn.apply(c[l].context,f)}}return!0};Pe.prototype.on=function(e,t,n){return Eh(this,e,t,n,!1)};Pe.prototype.once=function(e,t,n){return Eh(this,e,t,n,!0)};Pe.prototype.removeListener=function(e,t,n,o){var s=He?He+e:e;if(!this._events[s])return this;if(!t)return Vs(this,s),this;var i=this._events[s];if(i.fn)i.fn===t&&(!o||i.once)&&(!n||i.context===n)&&Vs(this,s);else{for(var a=0,c=[],u=i.length;a<u;a++)(i[a].fn!==t||o&&!i[a].once||n&&i[a].context!==n)&&c.push(i[a]);c.length?this._events[s]=c.length===1?c[0]:c:Vs(this,s)}return this};Pe.prototype.removeAllListeners=function(e){var t;return e?(t=He?He+e:e,this._events[t]&&Vs(this,t)):(this._events=new ao,this._eventsCount=0),this};Pe.prototype.off=Pe.prototype.removeListener;Pe.prototype.addListener=Pe.prototype.on;Pe.prefixed=He;Pe.EventEmitter=Pe;typeof Ic<"u"&&(Ic.exports=Pe)});var qc=ht((nR,Ph)=>{"use strict";function Dh(r,e){for(let t in e)Object.defineProperty(r,t,{value:e[t],enumerable:!0,configurable:!0});return r}function iy(r,e,t){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");t||(t={}),typeof e=="object"&&(t=e,e=""),e&&(t.code=e);try{return Dh(r,t)}catch{t.message=r.message,t.stack=r.stack;let o=function(){};return o.prototype=Object.create(Object.getPrototypeOf(r)),Dh(new o,t)}}Ph.exports=iy});var Vh=ht(fo=>{(function(){var r,e,t,n,o,s,i,a;a=function(c){var u,f,l,h;return u=(c&255<<24)>>>24,f=(c&255<<16)>>>16,l=(c&65280)>>>8,h=c&255,[u,f,l,h].join(".")},i=function(c){var u,f,l,h,g,d;for(u=[],l=h=0;h<=3&&c.length!==0;l=++h){if(l>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}d=e(c),g=d[0],f=d[1],c=c.substring(f),u.push(g)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},t=function(c){return c.charCodeAt(0)},n=t("0"),s=t("a"),o=t("A"),e=function(c){var u,f,l,h,g;for(h=0,u=10,f="9",l=0,c.length>1&&c[l]==="0"&&(c[l+1]==="x"||c[l+1]==="X"?(l+=2,u=16):"0"<=c[l+1]&&c[l+1]<="9"&&(l++,u=8,f="7")),g=l;l<c.length;){if("0"<=c[l]&&c[l]<=f)h=h*u+(t(c[l])-n)>>>0;else if(u===16)if("a"<=c[l]&&c[l]<="f")h=h*u+(10+t(c[l])-s)>>>0;else if("A"<=c[l]&&c[l]<="F")h=h*u+(10+t(c[l])-o)>>>0;else break;else break;if(h>4294967295)throw new Error("too large");l++}if(l===g)throw new Error("empty octet");return[h,l]},r=function(){function c(u,f){var l,h,g,d;if(typeof u!="string")throw new Error("Missing `net' parameter");if(f||(d=u.split("/",2),u=d[0],f=d[1]),f||(f=32),typeof f=="string"&&f.indexOf(".")>-1){try{this.maskLong=i(f)}catch(p){throw l=p,new Error("Invalid mask: "+f)}for(h=g=32;g>=0;h=--g)if(this.maskLong===4294967295<<32-h>>>0){this.bitmask=h;break}}else if(f||f===0)this.bitmask=parseInt(f,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(i(u)&this.maskLong)>>>0}catch(p){throw l=p,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+f);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(i(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var f,l,h;for(h=i(this.first),l=i(this.last),f=0;h<=l;)u(a(h),h,f),f++,h++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),fo.ip2long=i,fo.long2ip=a,fo.Netmask=r}).call(fo)});var Qh=ht((u_,Jh)=>{Jh.exports=function(r){if(!r)throw Error("hashlru must have a max value, of type number, greater than 0");var e=0,t=Object.create(null),n=Object.create(null);function o(s,i){t[s]=i,e++,e>=r&&(e=0,n=t,t=Object.create(null))}return{has:function(s){return t[s]!==void 0||n[s]!==void 0},remove:function(s){t[s]!==void 0&&(t[s]=void 0),n[s]!==void 0&&(n[s]=void 0)},get:function(s){var i=t[s];if(i!==void 0)return i;if((i=n[s])!==void 0)return o(s,i),i},set:function(s,i){t[s]!==void 0?t[s]=i:o(s,i)},clear:function(){t=Object.create(null),n=Object.create(null)}}}});var od=ht((B_,nd)=>{"use strict";nd.exports=r=>{if(Object.prototype.toString.call(r)!=="[object Object]")return!1;let e=Object.getPrototypeOf(r);return e===null||e===Object.prototype}});var ud=ht((cd,ld)=>{"use strict";var ci=od(),{hasOwnProperty:id}=Object.prototype,{propertyIsEnumerable:Ty}=Object,_n=(r,e,t)=>Object.defineProperty(r,e,{value:t,writable:!0,enumerable:!0,configurable:!0}),Ny=cd,sd={concatArrays:!1,ignoreUndefined:!1},li=r=>{let e=[];for(let t in r)id.call(r,t)&&e.push(t);if(Object.getOwnPropertySymbols){let t=Object.getOwnPropertySymbols(r);for(let n of t)Ty.call(r,n)&&e.push(n)}return e};function Sn(r){return Array.isArray(r)?Cy(r):ci(r)?Ly(r):r}function Cy(r){let e=r.slice(0,0);return li(r).forEach(t=>{_n(e,t,Sn(r[t]))}),e}function Ly(r){let e=Object.getPrototypeOf(r)===null?Object.create(null):{};return li(r).forEach(t=>{_n(e,t,Sn(r[t]))}),e}var ad=(r,e,t,n)=>(t.forEach(o=>{typeof e[o]>"u"&&n.ignoreUndefined||(o in r&&r[o]!==Object.getPrototypeOf(r)?_n(r,o,nl(r[o],e[o],n)):_n(r,o,Sn(e[o])))}),r),ky=(r,e,t)=>{let n=r.slice(0,0),o=0;return[r,e].forEach(s=>{let i=[];for(let a=0;a<s.length;a++)id.call(s,a)&&(i.push(String(a)),s===r?_n(n,o++,s[a]):_n(n,o++,Sn(s[a])));n=ad(n,s,li(s).filter(a=>!i.includes(a)),t)}),n};function nl(r,e,t){return t.concatArrays&&Array.isArray(r)&&Array.isArray(e)?ky(r,e,t):!ci(e)||!ci(r)?Sn(e):ad(r,e,li(e),t)}ld.exports=function(...r){let e=nl(Sn(sd),this!==Ny&&this||{},sd),t={_:{}};for(let n of r)if(n!==void 0){if(!ci(n))throw new TypeError("`"+n+"` is not an Option Object");t=nl(t,{_:n},e)}return t._}});var iw={};be(iw,{createLibp2p:()=>sw});var Ll=Symbol.for("@libp2p/connection");var Ki=Symbol.for("@libp2p/content-routing");var Hi=Symbol.for("@libp2p/peer-discovery");var $i=Symbol.for("@libp2p/peer-id");function Eo(r){return r!=null&&!!r[$i]}var qi=Symbol.for("@libp2p/peer-routing");var kl="keep-alive";var pw=Symbol.for("@libp2p/transport");var Vt;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(Vt||(Vt={}));var Kt=class r extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=r.code,this.type=r.type}static code="ABORT_ERR";static type="aborted"},y=class extends Error{code;props;constructor(e,t,n){super(e),this.code=t,this.name=n?.name??"CodeError",this.props=n??{}}},xo=class extends AggregateError{code;props;constructor(e,t,n,o){super(e,t),this.code=n,this.name=o?.name??"AggregateCodeError",this.props=o??{}}};var vo="ERR_TIMEOUT";var Oe=(r,...e)=>{try{[...e]}catch{}};var hr=class extends EventTarget{#e=new Map;constructor(){super(),Oe(1/0,this)}listenerCount(e){let t=this.#e.get(e);return t==null?0:t.length}addEventListener(e,t,n){super.addEventListener(e,t,n);let o=this.#e.get(e);o==null&&(o=[],this.#e.set(e,o)),o.push({callback:t,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,t,n){super.removeEventListener(e.toString(),t??null,n);let o=this.#e.get(e);o!=null&&(o=o.filter(({callback:s})=>s!==t),this.#e.set(e,o))}dispatchEvent(e){let t=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:o})=>!o),this.#e.set(e.type,n)),t}safeDispatchEvent(e,t={}){return this.dispatchEvent(new zi(e,t))}},Gi=class extends Event{detail;constructor(e,t){super(e,t),this.detail=t?.detail}},zi=globalThis.CustomEvent??Gi;function Dl(r){return r!=null&&typeof r.start=="function"&&typeof r.stop=="function"}var ja={};be(ja,{Ed25519PrivateKey:()=>xr,Ed25519PublicKey:()=>Vn,generateKeyPair:()=>mg,generateKeyPairFromSeed:()=>Pu,unmarshalEd25519PrivateKey:()=>dg,unmarshalEd25519PublicKey:()=>pg});var Zi={};be(Zi,{base58btc:()=>ne,base58flickr:()=>Wd});var xw=new Uint8Array(0);function Pl(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function vt(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function Ol(r){return new TextEncoder().encode(r)}function Ul(r){return new TextDecoder().decode(r)}function $d(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n<t.length;n++)t[n]=255;for(var o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(t[i]!==255)throw new TypeError(s+" is ambiguous");t[i]=o}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var p=0,m=0,w=0,x=d.length;w!==x&&d[w]===0;)w++,p++;for(var b=(x-w)*f+1>>>0,A=new Uint8Array(b);w!==x;){for(var v=d[w],S=0,N=b-1;(v!==0||S<m)&&N!==-1;N--,S++)v+=256*A[N]>>>0,A[N]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");m=S,w++}for(var C=b-m;C!==b&&A[C]===0;)C++;for(var q=c.repeat(p);C<b;++C)q+=r.charAt(A[C]);return q}function h(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var p=0;if(d[p]!==" "){for(var m=0,w=0;d[p]===c;)m++,p++;for(var x=(d.length-p)*u+1>>>0,b=new Uint8Array(x);d[p];){var A=t[d.charCodeAt(p)];if(A===255)return;for(var v=0,S=x-1;(A!==0||v<w)&&S!==-1;S--,v++)A+=a*b[S]>>>0,b[S]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");w=v,p++}if(d[p]!==" "){for(var N=x-w;N!==x&&b[N]===0;)N++;for(var C=new Uint8Array(m+(x-N)),q=m;N!==x;)C[q++]=b[N++];return C}}}function g(d){var p=h(d);if(p)return p;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:h,decode:g}}var qd=$d,Gd=qd,Fl=Gd;var Yi=class{name;prefix;baseEncode;constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Wi=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Vl(this,e)}},ji=class{decoders;constructor(e){this.decoders=e}or(e){return Vl(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Vl(r,e){return new ji({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var Xi=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new Yi(e,t,n),this.decoder=new Wi(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function Mr({name:r,prefix:e,encode:t,decode:n}){return new Xi(r,e,t,n)}function Ht({name:r,prefix:e,alphabet:t}){let{encode:n,decode:o}=Fl(t,r);return Mr({prefix:e,name:r,encode:n,decode:s=>vt(o(s))})}function zd(r,e,t,n){let o={};for(let f=0;f<e.length;++f)o[e[f]]=f;let s=r.length;for(;r[s-1]==="=";)--s;let i=new Uint8Array(s*t/8|0),a=0,c=0,u=0;for(let f=0;f<s;++f){let l=o[r[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<t|l,a+=t,a>=8&&(a-=8,i[u++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return i}function Yd(r,e,t){let n=e[e.length-1]==="=",o=(1<<t)-1,s="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>t;)i-=t,s+=e[o&a>>i];if(i!==0&&(s+=e[o&a<<t-i]),n)for(;s.length*t&7;)s+="=";return s}function se({name:r,prefix:e,bitsPerChar:t,alphabet:n}){return Mr({prefix:e,name:r,encode(o){return Yd(o,n,t)},decode(o){return zd(o,n,t,r)}})}var ne=Ht({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Wd=Ht({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Qi={};be(Qi,{identity:()=>$t});var jd=$l,Kl=128,Xd=127,Zd=~Xd,Jd=Math.pow(2,31);function $l(r,e,t){e=e||[],t=t||0;for(var n=t;r>=Jd;)e[t++]=r&255|Kl,r/=128;for(;r&Zd;)e[t++]=r&255|Kl,r>>>=7;return e[t]=r|0,$l.bytes=t-n+1,e}var Qd=Ji,ep=128,Hl=127;function Ji(r,n){var t=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw Ji.bytes=0,new RangeError("Could not decode varint");i=r[s++],t+=o<28?(i&Hl)<<o:(i&Hl)*Math.pow(2,o),o+=7}while(i>=ep);return Ji.bytes=s-n,t}var tp=Math.pow(2,7),rp=Math.pow(2,14),np=Math.pow(2,21),op=Math.pow(2,28),sp=Math.pow(2,35),ip=Math.pow(2,42),ap=Math.pow(2,49),cp=Math.pow(2,56),lp=Math.pow(2,63),up=function(r){return r<tp?1:r<rp?2:r<np?3:r<op?4:r<sp?5:r<ip?6:r<ap?7:r<cp?8:r<lp?9:10},fp={encode:jd,decode:Qd,encodingLength:up},hp=fp,Ln=hp;function kn(r,e=0){return[Ln.decode(r,e),Ln.decode.bytes]}function Fr(r,e,t=0){return Ln.encode(r,e,t),e}function Vr(r){return Ln.encodingLength(r)}function dt(r,e){let t=e.byteLength,n=Vr(r),o=n+Vr(t),s=new Uint8Array(o+t);return Fr(r,s,0),Fr(t,s,n),s.set(e,o),new Kr(r,t,e,s)}function dr(r){let e=vt(r),[t,n]=kn(e),[o,s]=kn(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new Kr(t,o,i,e)}function ql(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&Pl(r.bytes,t.bytes)}}var Kr=class{code;size;digest;bytes;constructor(e,t,n,o){this.code=e,this.size=t,this.digest=n,this.bytes=o}};var Gl=0,dp="identity",zl=vt;function pp(r){return dt(Gl,zl(r))}var $t={code:Gl,name:dp,encode:zl,digest:pp};var ra={};be(ra,{sha256:()=>Ae,sha512:()=>mp});function ta({name:r,code:e,encode:t}){return new ea(r,e,t)}var ea=class{name;code;encode;constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?dt(this.code,t):t.then(n=>dt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Wl(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var Ae=ta({name:"sha2-256",code:18,encode:Wl("SHA-256")}),mp=ta({name:"sha2-512",code:19,encode:Wl("SHA-512")});function ie(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function At(r=0){return new Uint8Array(r)}function Ne(r=0){return new Uint8Array(r)}function Re(r,e){e==null&&(e=r.reduce((o,s)=>o+s.length,0));let t=Ne(e),n=0;for(let o of r)t.set(o,n),n+=o.length;return t}var na={};be(na,{base10:()=>gp});var gp=Ht({prefix:"9",name:"base10",alphabet:"0123456789"});var oa={};be(oa,{base16:()=>yp,base16upper:()=>wp});var yp=se({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),wp=se({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var sa={};be(sa,{base2:()=>bp});var bp=se({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ia={};be(ia,{base256emoji:()=>Rp});var jl=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}"),Ep=jl.reduce((r,e,t)=>(r[t]=e,r),[]),xp=jl.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function vp(r){return r.reduce((e,t)=>(e+=Ep[t],e),"")}function Ap(r){let e=[];for(let t of r){let n=xp[t.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(n)}return new Uint8Array(e)}var Rp=Mr({prefix:"\u{1F680}",name:"base256emoji",encode:vp,decode:Ap});var aa={};be(aa,{base32:()=>Ge,base32hex:()=>Bp,base32hexpad:()=>Np,base32hexpadupper:()=>Cp,base32hexupper:()=>Tp,base32pad:()=>Sp,base32padupper:()=>Ip,base32upper:()=>_p,base32z:()=>Lp});var Ge=se({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),_p=se({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Sp=se({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Ip=se({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Bp=se({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Tp=se({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Np=se({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Cp=se({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Lp=se({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ca={};be(ca,{base36:()=>kp,base36upper:()=>Dp});var kp=Ht({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Dp=Ht({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ua={};be(ua,{base64:()=>Dn,base64pad:()=>Pp,base64url:()=>la,base64urlpad:()=>Op});var Dn=se({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Pp=se({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),la=se({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Op=se({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var fa={};be(fa,{base8:()=>Up});var Up=se({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ha={};be(ha,{identity:()=>Mp});var Mp=Mr({prefix:"\0",name:"identity",encode:r=>Ul(r),decode:r=>Ol(r)});var jw=new TextEncoder,Xw=new TextDecoder;function Xl(r,e){let{bytes:t,version:n}=r;switch(n){case 0:return Hp(t,da(r),e??ne.encoder);default:return $p(t,da(r),e??Ge.encoder)}}var Zl=new WeakMap;function da(r){let e=Zl.get(r);if(e==null){let t=new Map;return Zl.set(r,t),t}return e}var rt=class r{code;version;multihash;bytes;"/";constructor(e,t,n,o){this.code=t,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:t}=this;if(e!==Pn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==qp)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,n=dt(e,t);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,t){let n=t;return n!=null&&e.code===n.code&&e.version===n.version&&ql(e.multihash,n.multihash)}toString(e){return Xl(this,e)}toJSON(){return{"/":Xl(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:s,bytes:i}=t;return new r(n,o,s,i??Jl(n,o,s.bytes))}else if(t[Gp]===!0){let{version:n,multihash:o,code:s}=t,i=dr(o);return r.create(n,s,i)}else return null}static create(e,t,n){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==Pn)throw new Error(`Version 0 CID must use dag-pb (code: ${Pn}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=Jl(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,Pn,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=vt(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let s=o.subarray(t.multihashSize-t.digestSize),i=new Kr(t.multihashCode,t.digestSize,s,o);return[t.version===0?r.createV0(i):r.createV1(t.codec,i),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[l,h]=kn(e.subarray(t));return t+=h,l},o=n(),s=Pn;if(o===18?(o=0,t=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=t,a=n(),c=n(),u=t+c,f=u-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,t){let[n,o]=Kp(e,t),s=r.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return da(s).set(n,e),s}};function Kp(r,e){switch(r[0]){case"Q":{let t=e??ne;return[ne.prefix,t.decode(`${ne.prefix}${r}`)]}case ne.prefix:{let t=e??ne;return[ne.prefix,t.decode(r)]}case Ge.prefix:{let t=e??Ge;return[Ge.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function Hp(r,e,t){let{prefix:n}=t;if(n!==ne.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let s=t.encode(r).slice(1);return e.set(n,s),s}else return o}function $p(r,e,t){let{prefix:n}=t,o=e.get(n);if(o==null){let s=t.encode(r);return e.set(n,s),s}else return o}var Pn=112,qp=18;function Jl(r,e,t){let n=Vr(r),o=n+Vr(e),s=new Uint8Array(o+t.byteLength);return Fr(r,s,0),Fr(e,s,n),s.set(t,o),s}var Gp=Symbol.for("@ipld/js-cid/CID");var qt={...ha,...sa,...fa,...na,...oa,...aa,...ca,...Zi,...ua,...ia},hb={...ra,...Qi};function eu(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var Ql=eu("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),pa=eu("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=Ne(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),zp={utf8:Ql,"utf-8":Ql,hex:qt.base16,latin1:pa,ascii:pa,binary:pa,...qt},Ro=zp;function D(r,e="utf8"){let t=Ro[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.decoder.decode(`${t.prefix}${r}`)}function Qe(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function Hr(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`positive integer expected, not ${r}`)}function Yp(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function $r(r,...e){if(!Yp(r))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(r.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${r.length}`)}function _o(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Hr(r.outputLen),Hr(r.blockLen)}function qr(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function tu(r,e){$r(r);let t=e.outputLen;if(r.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}var So=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var zr=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),nt=(r,e)=>r<<32-e|r>>>e;var Sb=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;var Wp=async()=>{};async function ru(r,e,t){let n=Date.now();for(let o=0;o<r;o++){t(o);let s=Date.now()-n;s>=0&&s<e||(await Wp(),n+=s)}}function ma(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function Gt(r){return typeof r=="string"&&(r=ma(r)),$r(r),r}function Io(...r){let e=0;for(let n=0;n<r.length;n++){let o=r[n];$r(o),e+=o.length}let t=new Uint8Array(e);for(let n=0,o=0;n<r.length;n++){let s=r[n];t.set(s,o),o+=s.length}return t}var Gr=class{clone(){return this._cloneInto()}},jp={}.toString;function nu(r,e){if(e!==void 0&&jp.call(e)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(r,e)}function Bo(r){let e=n=>r().update(Gt(n)).digest(),t=r();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>r(),e}function Yr(r=32){if(So&&typeof So.getRandomValues=="function")return So.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}function Xp(r,e,t,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(e,t,n);let o=BigInt(32),s=BigInt(4294967295),i=Number(t>>o&s),a=Number(t&s),c=n?4:0,u=n?0:4;r.setUint32(e+c,i,n),r.setUint32(e+u,a,n)}var ou=(r,e,t)=>r&e^~r&t,su=(r,e,t)=>r&e^r&t^e&t,Wr=class extends Gr{constructor(e,t,n,o){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=zr(this.buffer)}update(e){qr(this);let{view:t,buffer:n,blockLen:o}=this;e=Gt(e);let s=e.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=zr(e);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){qr(this),tu(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;t[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>o-i&&(this.process(n,0),i=0);for(let l=i;l<o;l++)t[l]=0;Xp(n,o-8,BigInt(this.length*8),s),this.process(n,0);let a=zr(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,f[l],s)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return e.length=o,e.pos=a,e.finished=s,e.destroyed=i,o%t&&e.buffer.set(n),e}};var To=BigInt(4294967295),ga=BigInt(32);function iu(r,e=!1){return e?{h:Number(r&To),l:Number(r>>ga&To)}:{h:Number(r>>ga&To)|0,l:Number(r&To)|0}}function Zp(r,e=!1){let t=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let o=0;o<r.length;o++){let{h:s,l:i}=iu(r[o],e);[t[o],n[o]]=[s,i]}return[t,n]}var Jp=(r,e)=>BigInt(r>>>0)<<ga|BigInt(e>>>0),Qp=(r,e,t)=>r>>>t,em=(r,e,t)=>r<<32-t|e>>>t,tm=(r,e,t)=>r>>>t|e<<32-t,rm=(r,e,t)=>r<<32-t|e>>>t,nm=(r,e,t)=>r<<64-t|e>>>t-32,om=(r,e,t)=>r>>>t-32|e<<64-t,sm=(r,e)=>e,im=(r,e)=>r,am=(r,e,t)=>r<<t|e>>>32-t,cm=(r,e,t)=>e<<t|r>>>32-t,lm=(r,e,t)=>e<<t-32|r>>>64-t,um=(r,e,t)=>r<<t-32|e>>>64-t;function fm(r,e,t,n){let o=(e>>>0)+(n>>>0);return{h:r+t+(o/2**32|0)|0,l:o|0}}var hm=(r,e,t)=>(r>>>0)+(e>>>0)+(t>>>0),dm=(r,e,t,n)=>e+t+n+(r/2**32|0)|0,pm=(r,e,t,n)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0),mm=(r,e,t,n,o)=>e+t+n+o+(r/2**32|0)|0,gm=(r,e,t,n,o)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0)+(o>>>0),ym=(r,e,t,n,o,s)=>e+t+n+o+s+(r/2**32|0)|0;var wm={fromBig:iu,split:Zp,toBig:Jp,shrSH:Qp,shrSL:em,rotrSH:tm,rotrSL:rm,rotrBH:nm,rotrBL:om,rotr32H:sm,rotr32L:im,rotlSH:am,rotlSL:cm,rotlBH:lm,rotlBL:um,add:fm,add3L:hm,add3H:dm,add4L:pm,add4H:mm,add5H:ym,add5L:gm},O=wm;var[bm,Em]=O.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(r=>BigInt(r))),zt=new Uint32Array(80),Yt=new Uint32Array(80),ya=class extends Wr{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:t,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:u,El:f,Fh:l,Fl:h,Gh:g,Gl:d,Hh:p,Hl:m}=this;return[e,t,n,o,s,i,a,c,u,f,l,h,g,d,p,m]}set(e,t,n,o,s,i,a,c,u,f,l,h,g,d,p,m){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=f|0,this.Fh=l|0,this.Fl=h|0,this.Gh=g|0,this.Gl=d|0,this.Hh=p|0,this.Hl=m|0}process(e,t){for(let b=0;b<16;b++,t+=4)zt[b]=e.getUint32(t),Yt[b]=e.getUint32(t+=4);for(let b=16;b<80;b++){let A=zt[b-15]|0,v=Yt[b-15]|0,S=O.rotrSH(A,v,1)^O.rotrSH(A,v,8)^O.shrSH(A,v,7),N=O.rotrSL(A,v,1)^O.rotrSL(A,v,8)^O.shrSL(A,v,7),C=zt[b-2]|0,q=Yt[b-2]|0,G=O.rotrSH(C,q,19)^O.rotrBH(C,q,61)^O.shrSH(C,q,6),U=O.rotrSL(C,q,19)^O.rotrBL(C,q,61)^O.shrSL(C,q,6),ue=O.add4L(N,U,Yt[b-7],Yt[b-16]),ce=O.add4H(ue,S,G,zt[b-7],zt[b-16]);zt[b]=ce|0,Yt[b]=ue|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:u,Dl:f,Eh:l,El:h,Fh:g,Fl:d,Gh:p,Gl:m,Hh:w,Hl:x}=this;for(let b=0;b<80;b++){let A=O.rotrSH(l,h,14)^O.rotrSH(l,h,18)^O.rotrBH(l,h,41),v=O.rotrSL(l,h,14)^O.rotrSL(l,h,18)^O.rotrBL(l,h,41),S=l&g^~l&p,N=h&d^~h&m,C=O.add5L(x,v,N,Em[b],Yt[b]),q=O.add5H(C,w,A,S,bm[b],zt[b]),G=C|0,U=O.rotrSH(n,o,28)^O.rotrBH(n,o,34)^O.rotrBH(n,o,39),ue=O.rotrSL(n,o,28)^O.rotrBL(n,o,34)^O.rotrBL(n,o,39),ce=n&s^n&a^s&a,Je=o&i^o&c^i&c;w=p|0,x=m|0,p=g|0,m=d|0,g=l|0,d=h|0,{h:l,l:h}=O.add(u|0,f|0,q|0,G|0),u=a|0,f=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let R=O.add3L(G,ue,Je);n=O.add3H(R,q,U,ce),o=R|0}({h:n,l:o}=O.add(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=O.add(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=O.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=O.add(this.Dh|0,this.Dl|0,u|0,f|0),{h:l,l:h}=O.add(this.Eh|0,this.El|0,l|0,h|0),{h:g,l:d}=O.add(this.Fh|0,this.Fl|0,g|0,d|0),{h:p,l:m}=O.add(this.Gh|0,this.Gl|0,p|0,m|0),{h:w,l:x}=O.add(this.Hh|0,this.Hl|0,w|0,x|0),this.set(n,o,s,i,a,c,u,f,l,h,g,d,p,m,w,x)}roundClean(){zt.fill(0),Yt.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var jr=Bo(()=>new ya);var Co={};be(Co,{abytes:()=>Xr,bitGet:()=>Im,bitLen:()=>Sm,bitMask:()=>On,bitSet:()=>Bm,bytesToHex:()=>_t,bytesToNumberBE:()=>St,bytesToNumberLE:()=>jt,concatBytes:()=>It,createHmacDrbg:()=>Ea,ensureBytes:()=>ae,equalBytes:()=>Rm,hexToBytes:()=>mr,hexToNumber:()=>ba,isBytes:()=>Wt,numberToBytesBE:()=>Xt,numberToBytesLE:()=>gr,numberToHexUnpadded:()=>uu,numberToVarBytesBE:()=>Am,utf8ToBytes:()=>_m,validateObject:()=>pt});var lu=BigInt(0),No=BigInt(1),xm=BigInt(2);function Wt(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function Xr(r){if(!Wt(r))throw new Error("Uint8Array expected")}var vm=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function _t(r){Xr(r);let e="";for(let t=0;t<r.length;t++)e+=vm[r[t]];return e}function uu(r){let e=r.toString(16);return e.length&1?`0${e}`:e}function ba(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}var Rt={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function au(r){if(r>=Rt._0&&r<=Rt._9)return r-Rt._0;if(r>=Rt._A&&r<=Rt._F)return r-(Rt._A-10);if(r>=Rt._a&&r<=Rt._f)return r-(Rt._a-10)}function mr(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);let e=r.length,t=e/2;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(t);for(let o=0,s=0;o<t;o++,s+=2){let i=au(r.charCodeAt(s)),a=au(r.charCodeAt(s+1));if(i===void 0||a===void 0){let c=r[s]+r[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}function St(r){return ba(_t(r))}function jt(r){return Xr(r),ba(_t(Uint8Array.from(r).reverse()))}function Xt(r,e){return mr(r.toString(16).padStart(e*2,"0"))}function gr(r,e){return Xt(r,e).reverse()}function Am(r){return mr(uu(r))}function ae(r,e,t){let n;if(typeof e=="string")try{n=mr(e)}catch(s){throw new Error(`${r} must be valid hex string, got "${e}". Cause: ${s}`)}else if(Wt(e))n=Uint8Array.from(e);else throw new Error(`${r} must be hex string or Uint8Array`);let o=n.length;if(typeof t=="number"&&o!==t)throw new Error(`${r} expected ${t} bytes, got ${o}`);return n}function It(...r){let e=0;for(let n=0;n<r.length;n++){let o=r[n];Xr(o),e+=o.length}let t=new Uint8Array(e);for(let n=0,o=0;n<r.length;n++){let s=r[n];t.set(s,o),o+=s.length}return t}function Rm(r,e){if(r.length!==e.length)return!1;let t=0;for(let n=0;n<r.length;n++)t|=r[n]^e[n];return t===0}function _m(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function Sm(r){let e;for(e=0;r>lu;r>>=No,e+=1);return e}function Im(r,e){return r>>BigInt(e)&No}function Bm(r,e,t){return r|(t?No:lu)<<BigInt(e)}var On=r=>(xm<<BigInt(r-1))-No,wa=r=>new Uint8Array(r),cu=r=>Uint8Array.from(r);function Ea(r,e,t){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");let n=wa(r),o=wa(r),s=0,i=()=>{n.fill(1),o.fill(0),s=0},a=(...l)=>t(o,n,...l),c=(l=wa())=>{o=a(cu([0]),l),n=a(),l.length!==0&&(o=a(cu([1]),l),n=a())},u=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,h=[];for(;l<e;){n=a();let g=n.slice();h.push(g),l+=n.length}return It(...h)};return(l,h)=>{i(),c(l);let g;for(;!(g=h(u()));)c();return i(),g}}var Tm={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||Wt(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,e)=>e.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function pt(r,e,t={}){let n=(o,s,i)=>{let a=Tm[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);let c=r[o];if(!(i&&c===void 0)&&!a(c,r))throw new Error(`Invalid param ${String(o)}=${c} (${typeof c}), expected ${s}`)};for(let[o,s]of Object.entries(e))n(o,s,!1);for(let[o,s]of Object.entries(t))n(o,s,!0);return r}var ge=BigInt(0),Q=BigInt(1),yr=BigInt(2),Nm=BigInt(3),xa=BigInt(4),fu=BigInt(5),hu=BigInt(8),Cm=BigInt(9),Lm=BigInt(16);function Z(r,e){let t=r%e;return t>=ge?t:e+t}function km(r,e,t){if(t<=ge||e<ge)throw new Error("Expected power/modulo > 0");if(t===Q)return ge;let n=Q;for(;e>ge;)e&Q&&(n=n*r%t),r=r*r%t,e>>=Q;return n}function ee(r,e,t){let n=r;for(;e-- >ge;)n*=n,n%=t;return n}function Lo(r,e){if(r===ge||e<=ge)throw new Error(`invert: expected positive integers, got n=${r} mod=${e}`);let t=Z(r,e),n=e,o=ge,s=Q,i=Q,a=ge;for(;t!==ge;){let u=n/t,f=n%t,l=o-i*u,h=s-a*u;n=t,t=f,o=i,s=a,i=l,a=h}if(n!==Q)throw new Error("invert: does not exist");return Z(o,e)}function Dm(r){let e=(r-Q)/yr,t,n,o;for(t=r-Q,n=0;t%yr===ge;t/=yr,n++);for(o=yr;o<r&&km(o,e,r)!==r-Q;o++);if(n===1){let i=(r+Q)/xa;return function(c,u){let f=c.pow(u,i);if(!c.eql(c.sqr(f),u))throw new Error("Cannot find square root");return f}}let s=(t+Q)/yr;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,f=a.pow(a.mul(a.ONE,o),t),l=a.pow(c,s),h=a.pow(c,t);for(;!a.eql(h,a.ONE);){if(a.eql(h,a.ZERO))return a.ZERO;let g=1;for(let p=a.sqr(h);g<u&&!a.eql(p,a.ONE);g++)p=a.sqr(p);let d=a.pow(f,Q<<BigInt(u-g-1));f=a.sqr(d),l=a.mul(l,d),h=a.mul(h,f),u=g}return l}}function Pm(r){if(r%xa===Nm){let e=(r+Q)/xa;return function(n,o){let s=n.pow(o,e);if(!n.eql(n.sqr(s),o))throw new Error("Cannot find square root");return s}}if(r%hu===fu){let e=(r-fu)/hu;return function(n,o){let s=n.mul(o,yr),i=n.pow(s,e),a=n.mul(o,i),c=n.mul(n.mul(a,yr),i),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),o))throw new Error("Cannot find square root");return u}}return r%Lm,Dm(r)}var du=(r,e)=>(Z(r,e)&Q)===Q,Om=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function va(r){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},t=Om.reduce((n,o)=>(n[o]="function",n),e);return pt(r,t)}function Um(r,e,t){if(t<ge)throw new Error("Expected power > 0");if(t===ge)return r.ONE;if(t===Q)return e;let n=r.ONE,o=e;for(;t>ge;)t&Q&&(n=r.mul(n,o)),o=r.sqr(o),t>>=Q;return n}function Mm(r,e){let t=new Array(e.length),n=e.reduce((s,i,a)=>r.is0(i)?s:(t[a]=s,r.mul(s,i)),r.ONE),o=r.inv(n);return e.reduceRight((s,i,a)=>r.is0(i)?s:(t[a]=r.mul(s,t[a]),r.mul(s,i)),o),t}function Aa(r,e){let t=e!==void 0?e:r.toString(2).length,n=Math.ceil(t/8);return{nBitLength:t,nByteLength:n}}function ko(r,e,t=!1,n={}){if(r<=ge)throw new Error(`Expected Field ORDER > 0, got ${r}`);let{nBitLength:o,nByteLength:s}=Aa(r,e);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");let i=Pm(r),a=Object.freeze({ORDER:r,BITS:o,BYTES:s,MASK:On(o),ZERO:ge,ONE:Q,create:c=>Z(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return ge<=c&&c<r},is0:c=>c===ge,isOdd:c=>(c&Q)===Q,neg:c=>Z(-c,r),eql:(c,u)=>c===u,sqr:c=>Z(c*c,r),add:(c,u)=>Z(c+u,r),sub:(c,u)=>Z(c-u,r),mul:(c,u)=>Z(c*u,r),pow:(c,u)=>Um(a,c,u),div:(c,u)=>Z(c*Lo(u,r),r),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Lo(c,r),sqrt:n.sqrt||(c=>i(a,c)),invertBatch:c=>Mm(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>t?gr(c,s):Xt(c,s),fromBytes:c=>{if(c.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${c.length}`);return t?jt(c):St(c)}});return Object.freeze(a)}function pu(r,e){if(!r.isOdd)throw new Error("Field doesn't have isOdd");let t=r.sqrt(e);return r.isOdd(t)?r.neg(t):t}function mu(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let e=r.toString(2).length;return Math.ceil(e/8)}function Ra(r){let e=mu(r);return e+Math.ceil(e/2)}function gu(r,e,t=!1){let n=r.length,o=mu(e),s=Ra(e);if(n<16||n<s||n>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);let i=t?St(r):jt(r),a=Z(i,e-Q)+Q;return t?gr(a,o):Xt(a,o)}var Vm=BigInt(0),_a=BigInt(1);function Do(r,e){let t=(o,s)=>{let i=s.negate();return o?i:s},n=o=>{let s=Math.ceil(e/o)+1,i=2**(o-1);return{windows:s,windowSize:i}};return{constTimeNegate:t,unsafeLadder(o,s){let i=r.ZERO,a=o;for(;s>Vm;)s&_a&&(i=i.add(a)),a=a.double(),s>>=_a;return i},precomputeWindow(o,s){let{windows:i,windowSize:a}=n(s),c=[],u=o,f=u;for(let l=0;l<i;l++){f=u,c.push(f);for(let h=1;h<a;h++)f=f.add(u),c.push(f);u=f.double()}return c},wNAF(o,s,i){let{windows:a,windowSize:c}=n(o),u=r.ZERO,f=r.BASE,l=BigInt(2**o-1),h=2**o,g=BigInt(o);for(let d=0;d<a;d++){let p=d*c,m=Number(i&l);i>>=g,m>c&&(m-=h,i+=_a);let w=p,x=p+Math.abs(m)-1,b=d%2!==0,A=m<0;m===0?f=f.add(t(b,s[w])):u=u.add(t(A,s[x]))}return{p:u,f}},wNAFCached(o,s,i,a){let c=o._WINDOW_SIZE||1,u=s.get(o);return u||(u=this.precomputeWindow(o,c),c!==1&&s.set(o,a(u))),this.wNAF(c,u,i)}}}function Un(r){return va(r.Fp),pt(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Aa(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}var ot=BigInt(0),ze=BigInt(1),Po=BigInt(2),Km=BigInt(8),Hm={zip215:!0};function $m(r){let e=Un(r);return pt(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function Oo(r){let e=$m(r),{Fp:t,n,prehash:o,hash:s,randomBytes:i,nByteLength:a,h:c}=e,u=Po<<BigInt(a*8)-ze,f=t.create,l=e.uvRatio||((_,E)=>{try{return{isValid:!0,value:t.sqrt(_*t.inv(E))}}catch{return{isValid:!1,value:ot}}}),h=e.adjustScalarBytes||(_=>_),g=e.domain||((_,E,T)=>{if(E.length||T)throw new Error("Contexts/pre-hash are not supported");return _}),d=_=>typeof _=="bigint"&&ot<_,p=(_,E)=>d(_)&&d(E)&&_<E,m=_=>_===ot||p(_,u);function w(_,E){if(p(_,E))return _;throw new Error(`Expected valid scalar < ${E}, got ${typeof _} ${_}`)}function x(_){return _===ot?_:w(_,n)}let b=new Map;function A(_){if(!(_ instanceof v))throw new Error("ExtendedPoint expected")}class v{constructor(E,T,k,P){if(this.ex=E,this.ey=T,this.ez=k,this.et=P,!m(E))throw new Error("x required");if(!m(T))throw new Error("y required");if(!m(k))throw new Error("z required");if(!m(P))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(E){if(E instanceof v)throw new Error("extended point not allowed");let{x:T,y:k}=E||{};if(!m(T)||!m(k))throw new Error("invalid affine point");return new v(T,k,ze,f(T*k))}static normalizeZ(E){let T=t.invertBatch(E.map(k=>k.ez));return E.map((k,P)=>k.toAffine(T[P])).map(v.fromAffine)}_setWindowSize(E){this._WINDOW_SIZE=E,b.delete(this)}assertValidity(){let{a:E,d:T}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:k,ey:P,ez:F,et:V}=this,Y=f(k*k),$=f(P*P),z=f(F*F),fe=f(z*z),oe=f(Y*E),xe=f(z*f(oe+$)),ve=f(fe+f(T*f(Y*$)));if(xe!==ve)throw new Error("bad point: equation left != right (1)");let me=f(k*P),Te=f(F*V);if(me!==Te)throw new Error("bad point: equation left != right (2)")}equals(E){A(E);let{ex:T,ey:k,ez:P}=this,{ex:F,ey:V,ez:Y}=E,$=f(T*Y),z=f(F*P),fe=f(k*Y),oe=f(V*P);return $===z&&fe===oe}is0(){return this.equals(v.ZERO)}negate(){return new v(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:E}=e,{ex:T,ey:k,ez:P}=this,F=f(T*T),V=f(k*k),Y=f(Po*f(P*P)),$=f(E*F),z=T+k,fe=f(f(z*z)-F-V),oe=$+V,xe=oe-Y,ve=$-V,me=f(fe*xe),Te=f(oe*ve),xt=f(fe*ve),fr=f(xe*oe);return new v(me,Te,fr,xt)}add(E){A(E);let{a:T,d:k}=e,{ex:P,ey:F,ez:V,et:Y}=this,{ex:$,ey:z,ez:fe,et:oe}=E;if(T===BigInt(-1)){let Rl=f((F-P)*(z+$)),_l=f((F+P)*(z-$)),Vi=f(_l-Rl);if(Vi===ot)return this.double();let Sl=f(V*Po*oe),Il=f(Y*Po*fe),Bl=Il+Sl,Tl=_l+Rl,Nl=Il-Sl,kd=f(Bl*Vi),Dd=f(Tl*Nl),Pd=f(Bl*Nl),Od=f(Vi*Tl);return new v(kd,Dd,Od,Pd)}let xe=f(P*$),ve=f(F*z),me=f(Y*k*oe),Te=f(V*fe),xt=f((P+F)*($+z)-xe-ve),fr=Te-me,Cn=Te+me,Al=f(ve-T*xe),Td=f(xt*fr),Nd=f(Cn*Al),Cd=f(xt*Al),Ld=f(fr*Cn);return new v(Td,Nd,Ld,Cd)}subtract(E){return this.add(E.negate())}wNAF(E){return C.wNAFCached(this,b,E,v.normalizeZ)}multiply(E){let{p:T,f:k}=this.wNAF(w(E,n));return v.normalizeZ([T,k])[0]}multiplyUnsafe(E){let T=x(E);return T===ot?N:this.equals(N)||T===ze?this:this.equals(S)?this.wNAF(T).p:C.unsafeLadder(this,T)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return C.unsafeLadder(this,n).is0()}toAffine(E){let{ex:T,ey:k,ez:P}=this,F=this.is0();E==null&&(E=F?Km:t.inv(P));let V=f(T*E),Y=f(k*E),$=f(P*E);if(F)return{x:ot,y:ze};if($!==ze)throw new Error("invZ was invalid");return{x:V,y:Y}}clearCofactor(){let{h:E}=e;return E===ze?this:this.multiplyUnsafe(E)}static fromHex(E,T=!1){let{d:k,a:P}=e,F=t.BYTES;E=ae("pointHex",E,F);let V=E.slice(),Y=E[F-1];V[F-1]=Y&-129;let $=jt(V);$===ot||(T?w($,u):w($,t.ORDER));let z=f($*$),fe=f(z-ze),oe=f(k*z-P),{isValid:xe,value:ve}=l(fe,oe);if(!xe)throw new Error("Point.fromHex: invalid y coordinate");let me=(ve&ze)===ze,Te=(Y&128)!==0;if(!T&&ve===ot&&Te)throw new Error("Point.fromHex: x=0 and x_0=1");return Te!==me&&(ve=f(-ve)),v.fromAffine({x:ve,y:$})}static fromPrivateKey(E){return U(E).point}toRawBytes(){let{x:E,y:T}=this.toAffine(),k=gr(T,t.BYTES);return k[k.length-1]|=E&ze?128:0,k}toHex(){return _t(this.toRawBytes())}}v.BASE=new v(e.Gx,e.Gy,ze,f(e.Gx*e.Gy)),v.ZERO=new v(ot,ze,ze,ot);let{BASE:S,ZERO:N}=v,C=Do(v,a*8);function q(_){return Z(_,n)}function G(_){return q(jt(_))}function U(_){let E=a;_=ae("private key",_,E);let T=ae("hashed private key",s(_),2*E),k=h(T.slice(0,E)),P=T.slice(E,2*E),F=G(k),V=S.multiply(F),Y=V.toRawBytes();return{head:k,prefix:P,scalar:F,point:V,pointBytes:Y}}function ue(_){return U(_).pointBytes}function ce(_=new Uint8Array,...E){let T=It(...E);return G(s(g(T,ae("context",_),!!o)))}function Je(_,E,T={}){_=ae("message",_),o&&(_=o(_));let{prefix:k,scalar:P,pointBytes:F}=U(E),V=ce(T.context,k,_),Y=S.multiply(V).toRawBytes(),$=ce(T.context,Y,F,_),z=q(V+$*P);x(z);let fe=It(Y,gr(z,t.BYTES));return ae("result",fe,a*2)}let R=Hm;function L(_,E,T,k=R){let{context:P,zip215:F}=k,V=t.BYTES;_=ae("signature",_,2*V),E=ae("message",E),o&&(E=o(E));let Y=jt(_.slice(V,2*V)),$,z,fe;try{$=v.fromHex(T,F),z=v.fromHex(_.slice(0,V),F),fe=S.multiplyUnsafe(Y)}catch{return!1}if(!F&&$.isSmallOrder())return!1;let oe=ce(P,z.toRawBytes(),$.toRawBytes(),E);return z.add($.multiplyUnsafe(oe)).subtract(fe).clearCofactor().equals(v.ZERO)}return S._setWindowSize(8),{CURVE:e,getPublicKey:ue,sign:Je,verify:L,ExtendedPoint:v,utils:{getExtendedPublicKey:U,randomPrivateKey:()=>i(t.BYTES),precompute(_=8,E=v.BASE){return E._setWindowSize(_),E.multiply(BigInt(3)),E}}}}var Ia=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),yu=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Wb=BigInt(0),qm=BigInt(1),Sa=BigInt(2),Gm=BigInt(5),wu=BigInt(10),zm=BigInt(20),Ym=BigInt(40),bu=BigInt(80);function Wm(r){let e=Ia,n=r*r%e*r%e,o=ee(n,Sa,e)*n%e,s=ee(o,qm,e)*r%e,i=ee(s,Gm,e)*s%e,a=ee(i,wu,e)*i%e,c=ee(a,zm,e)*a%e,u=ee(c,Ym,e)*c%e,f=ee(u,bu,e)*u%e,l=ee(f,bu,e)*u%e,h=ee(l,wu,e)*i%e;return{pow_p_5_8:ee(h,Sa,e)*r%e,b2:n}}function jm(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function Xm(r,e){let t=Ia,n=Z(e*e*e,t),o=Z(n*n*e,t),s=Wm(r*o).pow_p_5_8,i=Z(r*n*s,t),a=Z(e*i*i,t),c=i,u=Z(i*yu,t),f=a===r,l=a===Z(-r,t),h=a===Z(-r*yu,t);return f&&(i=c),(l||h)&&(i=u),du(i,t)&&(i=Z(-i,t)),{isValid:f||l,value:i}}var Bt=ko(Ia,void 0,!0),Ba={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Bt,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:jr,randomBytes:Yr,adjustScalarBytes:jm,uvRatio:Xm},Zr=Oo(Ba);function Eu(r,e,t){if(e.length>255)throw new Error("Context is too big");return Io(ma("SigEd25519 no Ed25519 collisions"),new Uint8Array([t?1:0,e.length]),e,r)}var jb=Oo({...Ba,domain:Eu}),Xb=Oo({...Ba,domain:Eu,prehash:jr});var Zm=(Bt.ORDER+BigInt(3))/BigInt(8),Zb=Bt.pow(Sa,Zm),Jb=Bt.sqrt(Bt.neg(Bt.ONE)),Qb=(Bt.ORDER-BigInt(5))/BigInt(8),eE=BigInt(486662);var tE=pu(Bt,Bt.neg(BigInt(486664)));var rE=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),nE=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),oE=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),sE=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var iE=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Jr=32,Tt=64,Uo=32;function xu(){let r=Zr.utils.randomPrivateKey(),e=Zr.getPublicKey(r);return{privateKey:_u(r,e),publicKey:e}}function vu(r){if(r.length!==Uo)throw new TypeError('"seed" must be 32 bytes in length.');if(!(r instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=r,t=Zr.getPublicKey(e);return{privateKey:_u(e,t),publicKey:t}}function Au(r,e){let t=r.subarray(0,Uo);return Zr.sign(e instanceof Uint8Array?e:e.subarray(),t)}function Ru(r,e,t){return Zr.verify(e,t instanceof Uint8Array?t:t.subarray(),r)}function _u(r,e){let t=new Uint8Array(Tt);for(let n=0;n<Uo;n++)t[n]=r[n],t[Uo+n]=e[n];return t}var Ue={get(r=globalThis){let e=r.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var Ta={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Su(r){let e=r?.algorithm??"AES-GCM",t=r?.keyLength??16,n=r?.nonceLength??12,o=r?.digest??"SHA-256",s=r?.saltLength??16,i=r?.iterations??32767,a=Ue.get();t*=8;async function c(l,h){let g=a.getRandomValues(new Uint8Array(s)),d=a.getRandomValues(new Uint8Array(n)),p={name:e,iv:d};typeof h=="string"&&(h=D(h));let m;if(h.length===0){m=await a.subtle.importKey("jwk",Ta,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:g,iterations:i,hash:{name:o}},b=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(x,b,{name:e,length:t},!0,["encrypt"])}catch{m=await a.subtle.importKey("jwk",Ta,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:g,iterations:i,hash:{name:o}},b=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(x,b,{name:e,length:t},!0,["encrypt"])}let w=await a.subtle.encrypt(p,m,l);return Re([g,p.iv,new Uint8Array(w)])}async function u(l,h){let g=l.subarray(0,s),d=l.subarray(s,s+n),p=l.subarray(s+n),m={name:e,iv:d};typeof h=="string"&&(h=D(h));let w;if(h.length===0)try{let b={name:"PBKDF2",salt:g,iterations:i,hash:{name:o}},A=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);w=await a.subtle.deriveKey(b,A,{name:e,length:t},!0,["decrypt"])}catch{w=await a.subtle.importKey("jwk",Ta,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:g,iterations:i,hash:{name:o}},A=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);w=await a.subtle.deriveKey(b,A,{name:e,length:t},!0,["decrypt"])}let x=await a.subtle.decrypt(m,w,p);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function Qr(r,e){let n=await Su().encrypt(r,e);return Dn.encode(n)}var eg=Math.pow(2,7),tg=Math.pow(2,14),rg=Math.pow(2,21),Na=Math.pow(2,28),Ca=Math.pow(2,35),La=Math.pow(2,42),ka=Math.pow(2,49),j=128,Ce=127;function he(r){if(r<eg)return 1;if(r<tg)return 2;if(r<rg)return 3;if(r<Na)return 4;if(r<Ca)return 5;if(r<La)return 6;if(r<ka)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Da(r,e,t=0){switch(he(r)){case 8:e[t++]=r&255|j,r/=128;case 7:e[t++]=r&255|j,r/=128;case 6:e[t++]=r&255|j,r/=128;case 5:e[t++]=r&255|j,r/=128;case 4:e[t++]=r&255|j,r>>>=7;case 3:e[t++]=r&255|j,r>>>=7;case 2:e[t++]=r&255|j,r>>>=7;case 1:{e[t++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return e}function ng(r,e,t=0){switch(he(r)){case 8:e.set(t++,r&255|j),r/=128;case 7:e.set(t++,r&255|j),r/=128;case 6:e.set(t++,r&255|j),r/=128;case 5:e.set(t++,r&255|j),r/=128;case 4:e.set(t++,r&255|j),r>>>=7;case 3:e.set(t++,r&255|j),r>>>=7;case 2:e.set(t++,r&255|j),r>>>=7;case 1:{e.set(t++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return e}function Pa(r,e){let t=r[e],n=0;if(n+=t&Ce,t<j||(t=r[e+1],n+=(t&Ce)<<7,t<j)||(t=r[e+2],n+=(t&Ce)<<14,t<j)||(t=r[e+3],n+=(t&Ce)<<21,t<j)||(t=r[e+4],n+=(t&Ce)*Na,t<j)||(t=r[e+5],n+=(t&Ce)*Ca,t<j)||(t=r[e+6],n+=(t&Ce)*La,t<j)||(t=r[e+7],n+=(t&Ce)*ka,t<j))return n;throw new RangeError("Could not decode varint")}function og(r,e){let t=r.get(e),n=0;if(n+=t&Ce,t<j||(t=r.get(e+1),n+=(t&Ce)<<7,t<j)||(t=r.get(e+2),n+=(t&Ce)<<14,t<j)||(t=r.get(e+3),n+=(t&Ce)<<21,t<j)||(t=r.get(e+4),n+=(t&Ce)*Na,t<j)||(t=r.get(e+5),n+=(t&Ce)*Ca,t<j)||(t=r.get(e+6),n+=(t&Ce)*La,t<j)||(t=r.get(e+7),n+=(t&Ce)*ka,t<j))return n;throw new RangeError("Could not decode varint")}function Le(r,e,t=0){return e==null&&(e=Ne(he(r))),e instanceof Uint8Array?Da(r,e,t):ng(r,e,t)}function st(r,e=0){return r instanceof Uint8Array?Pa(r,e):og(r,e)}var Oa=new Float32Array([-0]),Zt=new Uint8Array(Oa.buffer);function Iu(r,e,t){Oa[0]=r,e[t]=Zt[0],e[t+1]=Zt[1],e[t+2]=Zt[2],e[t+3]=Zt[3]}function Bu(r,e){return Zt[0]=r[e],Zt[1]=r[e+1],Zt[2]=r[e+2],Zt[3]=r[e+3],Oa[0]}var Ua=new Float64Array([-0]),ke=new Uint8Array(Ua.buffer);function Tu(r,e,t){Ua[0]=r,e[t]=ke[0],e[t+1]=ke[1],e[t+2]=ke[2],e[t+3]=ke[3],e[t+4]=ke[4],e[t+5]=ke[5],e[t+6]=ke[6],e[t+7]=ke[7]}function Nu(r,e){return ke[0]=r[e],ke[1]=r[e+1],ke[2]=r[e+2],ke[3]=r[e+3],ke[4]=r[e+4],ke[5]=r[e+5],ke[6]=r[e+6],ke[7]=r[e+7],Ua[0]}var sg=BigInt(Number.MAX_SAFE_INTEGER),ig=BigInt(Number.MIN_SAFE_INTEGER),Ye=class r{lo;hi;constructor(e,t){this.lo=e|0,this.hi=t|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let t=~this.lo+1>>>0,n=~this.hi>>>0;return t===0&&(n=n+1>>>0),-(t+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let t=~this.lo+1>>>0,n=~this.hi>>>0;return t===0&&(n=n+1>>>0),-(BigInt(t)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?t===0?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return br;if(e<sg&&e>ig)return this.fromNumber(Number(e));let t=e<0n;t&&(e=-e);let n=e>>32n,o=e-(n<<32n);return t&&(n=~n|0n,o=~o|0n,++o>Cu&&(o=0n,++n>Cu&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(e){if(e===0)return br;let t=e<0;t&&(e=-e);let n=e>>>0,o=(e-n)/4294967296>>>0;return t&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}static from(e){return typeof e=="number"?r.fromNumber(e):typeof e=="bigint"?r.fromBigInt(e):typeof e=="string"?r.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new r(e.low>>>0,e.high>>>0):br}},br=new Ye(0,0);br.toBigInt=function(){return 0n};br.zzEncode=br.zzDecode=function(){return this};br.length=function(){return 1};var Cu=4294967296n;function Lu(r){let e=0,t=0;for(let n=0;n<r.length;++n)t=r.charCodeAt(n),t<128?e+=1:t<2048?e+=2:(t&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function ku(r,e,t){if(t-e<1)return"";let o,s=[],i=0,a;for(;e<t;)a=r[e++],a<128?s[i++]=a:a>191&&a<224?s[i++]=(a&31)<<6|r[e++]&63:a>239&&a<365?(a=((a&7)<<18|(r[e++]&63)<<12|(r[e++]&63)<<6|r[e++]&63)-65536,s[i++]=55296+(a>>10),s[i++]=56320+(a&1023)):s[i++]=(a&15)<<12|(r[e++]&63)<<6|r[e++]&63,i>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o!=null?(i>0&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))}function Ma(r,e,t){let n=t,o,s;for(let i=0;i<r.length;++i)o=r.charCodeAt(i),o<128?e[t++]=o:o<2048?(e[t++]=o>>6|192,e[t++]=o&63|128):(o&64512)===55296&&((s=r.charCodeAt(i+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++i,e[t++]=o>>18|240,e[t++]=o>>12&63|128,e[t++]=o>>6&63|128,e[t++]=o&63|128):(e[t++]=o>>12|224,e[t++]=o>>6&63|128,e[t++]=o&63|128);return t-n}function it(r,e){return RangeError(`index out of range: ${r.pos} + ${e??1} > ${r.len}`)}function Mo(r,e){return(r[e-4]|r[e-3]<<8|r[e-2]<<16|r[e-1]<<24)>>>0}var Fa=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,it(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw it(this,4);return Mo(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw it(this,4);return Mo(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw it(this,4);let e=Bu(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw it(this,4);let e=Nu(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw it(this,e);return this.pos+=e,t===n?new Uint8Array(0):this.buf.subarray(t,n)}string(){let e=this.bytes();return ku(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw it(this,e);this.pos+=e}else do if(this.pos>=this.len)throw it(this);while(this.buf[this.pos++]&128);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new Ye(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw it(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw it(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw it(this,8);let e=Mo(this.buf,this.pos+=4),t=Mo(this.buf,this.pos+=4);return new Ye(e,t)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let e=Pa(this.buf,this.pos);return this.pos+=he(e),e}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function Va(r){return new Fa(r instanceof Uint8Array?r:r.subarray())}function Me(r,e,t){let n=Va(r);return e.decode(n,void 0,t)}function Ka(r){let e=r??8192,t=e>>>1,n,o=e;return function(i){if(i<1||i>t)return Ne(i);o+i>e&&(n=Ne(e),o=0);let a=n.subarray(o,o+=i);return o&7&&(o=(o|7)+1),a}}var Er=class{fn;len;next;val;constructor(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}};function Ha(){}var qa=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},ag=Ka();function cg(r){return globalThis.Buffer!=null?Ne(r):ag(r)}var Fn=class{len;head;tail;states;constructor(){this.len=0,this.head=new Er(Ha,0,0),this.tail=this.head,this.states=null}_push(e,t,n){return this.tail=this.tail.next=new Er(e,t,n),this.len+=t,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Ga((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(Fo,10,Ye.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let t=Ye.fromBigInt(e);return this._push(Fo,t.length(),t)}uint64Number(e){return this._push(Da,he(e),e)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let t=Ye.fromBigInt(e).zzEncode();return this._push(Fo,t.length(),t)}sint64Number(e){let t=Ye.fromNumber(e).zzEncode();return this._push(Fo,t.length(),t)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push($a,1,e?1:0)}fixed32(e){return this._push(Mn,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let t=Ye.fromBigInt(e);return this._push(Mn,4,t.lo)._push(Mn,4,t.hi)}fixed64Number(e){let t=Ye.fromNumber(e);return this._push(Mn,4,t.lo)._push(Mn,4,t.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(Iu,4,e)}double(e){return this._push(Tu,8,e)}bytes(e){let t=e.length>>>0;return t===0?this._push($a,1,0):this.uint32(t)._push(ug,t,e)}string(e){let t=Lu(e);return t!==0?this.uint32(t)._push(Ma,t,e):this._push($a,1,0)}fork(){return this.states=new qa(this),this.head=this.tail=new Er(Ha,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Er(Ha,0,0),this.len=0),this}ldelim(){let e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=t,this.len+=n),this}finish(){let e=this.head.next,t=cg(this.len),n=0;for(;e!=null;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t}};function $a(r,e,t){e[t]=r&255}function lg(r,e,t){for(;r>127;)e[t++]=r&127|128,r>>>=7;e[t]=r}var Ga=class extends Er{next;constructor(e,t){super(lg,e,t),this.next=void 0}};function Fo(r,e,t){for(;r.hi!==0;)e[t++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)e[t++]=r.lo&127|128,r.lo=r.lo>>>7;e[t++]=r.lo}function Mn(r,e,t){e[t]=r&255,e[t+1]=r>>>8&255,e[t+2]=r>>>16&255,e[t+3]=r>>>24}function ug(r,e,t){e.set(r,t)}globalThis.Buffer!=null&&(Fn.prototype.bytes=function(r){let e=r.length>>>0;return this.uint32(e),e>0&&this._push(fg,e,r),this},Fn.prototype.string=function(r){let e=globalThis.Buffer.byteLength(r);return this.uint32(e),e>0&&this._push(hg,e,r),this});function fg(r,e,t){e.set(r,t)}function hg(r,e,t){r.length<40?Ma(r,e,t):e.utf8Write!=null?e.utf8Write(r,t):e.set(D(r),t)}function za(){return new Fn}function Fe(r,e){let t=za();return e.encode(r,t,{lengthDelimited:!1}),t.finish()}var en;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(en||(en={}));function Vo(r,e,t,n){return{name:r,type:e,encode:t,decode:n}}function Ya(r){function e(o){if(r[o.toString()]==null)throw new Error("Invalid enum value");return r[o]}let t=function(s,i){let a=e(s);i.int32(a)},n=function(s){let i=s.int32();return e(i)};return Vo("enum",en.VARINT,t,n)}function Ve(r,e){return Vo("message",en.LENGTH_DELIMITED,r,e)}var te;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.Secp256k1="Secp256k1"})(te||(te={}));var Wa;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.Secp256k1=2]="Secp256k1"})(Wa||(Wa={}));(function(r){r.codec=()=>Ya(Wa)})(te||(te={}));var mt;(function(r){let e;r.codec=()=>(e==null&&(e=Ve((t,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),t.Type!=null&&(n.uint32(8),te.codec().encode(t.Type,n)),t.Data!=null&&(n.uint32(18),n.bytes(t.Data)),o.lengthDelimited!==!1&&n.ldelim()},(t,n)=>{let o={},s=n==null?t.len:t.pos+n;for(;t.pos<s;){let i=t.uint32();switch(i>>>3){case 1:o.Type=te.codec().decode(t);break;case 2:o.Data=t.bytes();break;default:t.skipType(i&7);break}}return o})),e),r.encode=t=>Fe(t,r.codec()),r.decode=t=>Me(t,r.codec())})(mt||(mt={}));var gt;(function(r){let e;r.codec=()=>(e==null&&(e=Ve((t,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),t.Type!=null&&(n.uint32(8),te.codec().encode(t.Type,n)),t.Data!=null&&(n.uint32(18),n.bytes(t.Data)),o.lengthDelimited!==!1&&n.ldelim()},(t,n)=>{let o={},s=n==null?t.len:t.pos+n;for(;t.pos<s;){let i=t.uint32();switch(i>>>3){case 1:o.Type=te.codec().decode(t);break;case 2:o.Data=t.bytes();break;default:t.skipType(i&7);break}}return o})),e),r.encode=t=>Fe(t,r.codec()),r.decode=t=>Me(t,r.codec())})(gt||(gt={}));var Vn=class{_key;constructor(e){this._key=tn(e,Jr)}verify(e,t){return Ru(this._key,t,e)}marshal(){return this._key}get bytes(){return mt.encode({Type:te.Ed25519,Data:this.marshal()}).subarray()}equals(e){return ie(this.bytes,e.bytes)}hash(){let e=Ae.digest(this.bytes);return Qe(e)?e.then(({bytes:t})=>t):e.bytes}},xr=class{_key;_publicKey;constructor(e,t){this._key=tn(e,Tt),this._publicKey=tn(t,Jr)}sign(e){return Au(this._key,e)}get public(){return new Vn(this._publicKey)}marshal(){return this._key}get bytes(){return gt.encode({Type:te.Ed25519,Data:this.marshal()}).subarray()}equals(e){return ie(this.bytes,e.bytes)}async hash(){let e=Ae.digest(this.bytes),t;return Qe(e)?{bytes:t}=await e:t=e.bytes,t}async id(){let e=$t.digest(this.public.bytes);return ne.encode(e.bytes).substring(1)}async export(e,t="libp2p-key"){if(t==="libp2p-key")return Qr(this.bytes,e);throw new y(`export format '${t}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function dg(r){if(r.length>Tt){r=tn(r,Tt+Jr);let n=r.subarray(0,Tt),o=r.subarray(Tt,r.length);return new xr(n,o)}r=tn(r,Tt);let e=r.subarray(0,Tt),t=r.subarray(Jr);return new xr(e,t)}function pg(r){return r=tn(r,Jr),new Vn(r)}async function mg(){let{privateKey:r,publicKey:e}=xu();return new xr(r,e)}async function Pu(r){let{privateKey:e,publicKey:t}=vu(r);return new xr(e,t)}function tn(r,e){if(r=Uint8Array.from(r??[]),r.length!==e)throw new y(`Key must be a Uint8Array of length ${e}, got ${r.length}`,"ERR_INVALID_KEY_TYPE");return r}function K(r,e="utf8"){let t=Ro[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.encoder.encode(r).substring(1)}var sc={};be(sc,{MAX_RSA_KEY_SIZE:()=>Jn,RsaPrivateKey:()=>an,RsaPublicKey:()=>Zn,fromJwk:()=>Hg,generateKeyPair:()=>$g,unmarshalRsaPrivateKey:()=>nc,unmarshalRsaPublicKey:()=>Kg});function vr(r){if(isNaN(r)||r<=0)throw new y("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Yr(r)}var tr={};be(tr,{exportToPem:()=>Og,importFromPem:()=>Ug,jwkToPkcs1:()=>Lg,jwkToPkix:()=>Dg,pkcs1ToJwk:()=>Cg,pkixToJwk:()=>kg});var Ho=class extends Gr{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,_o(e);let n=Gt(t);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let o=this.blockLen,s=new Uint8Array(o);s.set(n.length>o?e.create().update(n).digest():n);for(let i=0;i<s.length;i++)s[i]^=54;this.iHash.update(s),this.oHash=e.create();for(let i=0;i<s.length;i++)s[i]^=106;this.oHash.update(s),s.fill(0)}update(e){return qr(this),this.iHash.update(e),this}digestInto(e){qr(this),$r(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:t,iHash:n,finished:o,destroyed:s,blockLen:i,outputLen:a}=this;return e=e,e.finished=o,e.destroyed=s,e.blockLen=i,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Kn=(r,e,t)=>new Ho(r,e).update(t).digest();Kn.create=(r,e)=>new Ho(r,e);function gg(r,e,t,n){_o(r);let o=nu({dkLen:32,asyncTick:10},n),{c:s,dkLen:i,asyncTick:a}=o;if(Hr(s),Hr(i),Hr(a),s<1)throw new Error("PBKDF2: iterations (c) should be >= 1");let c=Gt(e),u=Gt(t),f=new Uint8Array(i),l=Kn.create(r,c),h=l._cloneInto().update(u);return{c:s,dkLen:i,asyncTick:a,DK:f,PRF:l,PRFSalt:h}}function yg(r,e,t,n,o){return r.destroy(),e.destroy(),n&&n.destroy(),o.fill(0),t}async function Xa(r,e,t,n){let{c:o,dkLen:s,asyncTick:i,DK:a,PRF:c,PRFSalt:u}=gg(r,e,t,n),f,l=new Uint8Array(4),h=zr(l),g=new Uint8Array(c.outputLen);for(let d=1,p=0;p<s;d++,p+=c.outputLen){let m=a.subarray(p,p+c.outputLen);h.setInt32(0,d,!1),(f=u._cloneInto(f)).update(l).digestInto(g),m.set(g.subarray(0,m.length)),await ru(o-1,i,()=>{c._cloneInto(f).update(g).digestInto(g);for(let w=0;w<m.length;w++)m[w]^=g[w]})}return yg(c,u,a,f,g)}var H=Ft(Ou());function Ar(r,e){let t=0;if(r.length===1)return r[0];for(let n=r.length-1;n>=0;n--)t+=r[r.length-1-n]*Math.pow(2,e*n);return t}function Jt(r,e,t=-1){let n=t,o=r,s=0,i=Math.pow(2,e);for(let a=1;a<8;a++){if(r<i){let c;if(n<0)c=new ArrayBuffer(a),s=a;else{if(n<a)return new ArrayBuffer(0);c=new ArrayBuffer(n),s=n}let u=new Uint8Array(c);for(let f=a-1;f>=0;f--){let l=Math.pow(2,f*e);u[s-f-1]=Math.floor(o/l),o-=u[s-f-1]*l}return c}i*=Math.pow(2,e)}return new ArrayBuffer(0)}function Go(...r){let e=0,t=0;for(let s of r)e+=s.length;let n=new ArrayBuffer(e),o=new Uint8Array(n);for(let s of r)o.set(s,t),t+=s.length;return o}function Ja(){let r=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let a=r[0]===255&&r[1]&128,c=r[0]===0&&(r[1]&128)===0;(a||c)&&this.warnings.push("Needlessly long format")}let e=new ArrayBuffer(this.valueHex.byteLength),t=new Uint8Array(e);for(let a=0;a<this.valueHex.byteLength;a++)t[a]=0;t[0]=r[0]&128;let n=Ar(t,8),o=new ArrayBuffer(this.valueHex.byteLength),s=new Uint8Array(o);for(let a=0;a<this.valueHex.byteLength;a++)s[a]=r[a];return s[0]&=127,Ar(s,8)-n}function Uu(r){let e=r<0?r*-1:r,t=128;for(let n=1;n<8;n++){if(e<=t){if(r<0){let i=t-e,a=Jt(i,8,n),c=new Uint8Array(a);return c[0]|=128,a}let o=Jt(e,8,n),s=new Uint8Array(o);if(s[0]&128){let i=o.slice(0),a=new Uint8Array(i);o=new ArrayBuffer(o.byteLength+1),s=new Uint8Array(o);for(let c=0;c<i.byteLength;c++)s[c+1]=a[c];s[0]=0}return o}t*=Math.pow(2,8)}return new ArrayBuffer(0)}function Mu(r,e){if(r.byteLength!==e.byteLength)return!1;let t=new Uint8Array(r),n=new Uint8Array(e);for(let o=0;o<t.length;o++)if(t[o]!==n[o])return!1;return!0}function qe(r,e){let t=r.toString(10);if(e<t.length)return"";let n=e-t.length,o=new Array(n);for(let i=0;i<n;i++)o[i]="0";return o.join("").concat(t)}var px=Math.log(2);function zo(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Qa(r){let e=0,t=0;for(let o=0;o<r.length;o++){let s=r[o];e+=s.byteLength}let n=new Uint8Array(e);for(let o=0;o<r.length;o++){let s=r[o];n.set(new Uint8Array(s),t),t+=s.byteLength}return n.buffer}function Dt(r,e,t,n){return e instanceof Uint8Array?e.byteLength?t<0?(r.error="Wrong parameter: inputOffset less than zero",!1):n<0?(r.error="Wrong parameter: inputLength less than zero",!1):e.byteLength-t-n<0?(r.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(r.error="Wrong parameter: inputBuffer has zero length",!1):(r.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}var $n=class{constructor(){this.items=[]}write(e){this.items.push(e)}final(){return Qa(this.items)}},Hn=[new Uint8Array([1])],Fu="0123456789";var on="",ct=new ArrayBuffer(0),ec=new Uint8Array(0),qn="EndOfContent",Ku="OCTET STRING",Hu="BIT STRING";function Pt(r){var e;return e=class extends r{constructor(...n){var o;super(...n);let s=n[0]||{};this.isHexOnly=(o=s.isHexOnly)!==null&&o!==void 0?o:!1,this.valueHexView=s.valueHex?H.BufferSourceConverter.toUint8Array(s.valueHex):ec}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(n){this.valueHexView=new Uint8Array(n)}fromBER(n,o,s){let i=n instanceof ArrayBuffer?new Uint8Array(n):n;if(!Dt(this,i,o,s))return-1;let a=o+s;return this.valueHexView=i.subarray(o,a),this.valueHexView.length?(this.blockLength=s,a):(this.warnings.push("Zero buffer length"),o)}toBER(n=!1){return this.isHexOnly?n?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",ct)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:H.Convert.ToHex(this.valueHexView)}}},e.NAME="hexBlock",e}var Ct=class{constructor({blockLength:e=0,error:t=on,warnings:n=[],valueBeforeDecode:o=ec}={}){this.blockLength=e,this.error=t,this.warnings=n,this.valueBeforeDecodeView=H.BufferSourceConverter.toUint8Array(o)}static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(e){this.valueBeforeDecodeView=new Uint8Array(e)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:H.Convert.ToHex(this.valueBeforeDecodeView)}}};Ct.NAME="baseBlock";var De=class extends Ct{fromBER(e,t,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(e,t){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};De.NAME="valueBlock";var Yo=class extends Pt(Ct){constructor({idBlock:e={}}={}){var t,n,o,s;super(),e?(this.isHexOnly=(t=e.isHexOnly)!==null&&t!==void 0?t:!1,this.valueHexView=e.valueHex?H.BufferSourceConverter.toUint8Array(e.valueHex):ec,this.tagClass=(n=e.tagClass)!==null&&n!==void 0?n:-1,this.tagNumber=(o=e.tagNumber)!==null&&o!==void 0?o:-1,this.isConstructed=(s=e.isConstructed)!==null&&s!==void 0?s:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(e=!1){let t=0;switch(this.tagClass){case 1:t|=0;break;case 2:t|=64;break;case 3:t|=128;break;case 4:t|=192;break;default:return this.error="Unknown tag class",ct}if(this.isConstructed&&(t|=32),this.tagNumber<31&&!this.isHexOnly){let o=new Uint8Array(1);if(!e){let s=this.tagNumber;s&=31,t|=s,o[0]=t}return o.buffer}if(!this.isHexOnly){let o=Jt(this.tagNumber,7),s=new Uint8Array(o),i=o.byteLength,a=new Uint8Array(i+1);if(a[0]=t|31,!e){for(let c=0;c<i-1;c++)a[c+1]=s[c]|128;a[i]=s[i-1]}return a.buffer}let n=new Uint8Array(this.valueHexView.byteLength+1);if(n[0]=t|31,!e){let o=this.valueHexView;for(let s=0;s<o.length-1;s++)n[s+1]=o[s]|128;n[this.valueHexView.byteLength]=o[o.length-1]}return n.buffer}fromBER(e,t,n){let o=H.BufferSourceConverter.toUint8Array(e);if(!Dt(this,o,t,n))return-1;let s=o.subarray(t,t+n);if(s.length===0)return this.error="Zero buffer length",-1;switch(s[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(s[0]&32)===32,this.isHexOnly=!1;let a=s[0]&31;if(a!==31)this.tagNumber=a,this.blockLength=1;else{let c=1,u=this.valueHexView=new Uint8Array(255),f=255;for(;s[c]&128;){if(u[c-1]=s[c]&127,c++,c>=s.length)return this.error="End of input reached before message was fully decoded",-1;if(c===f){f+=255;let h=new Uint8Array(f);for(let g=0;g<u.length;g++)h[g]=u[g];u=this.valueHexView=new Uint8Array(f)}}this.blockLength=c+1,u[c-1]=s[c]&127;let l=new Uint8Array(c);for(let h=0;h<c;h++)l[h]=u[h];u=this.valueHexView=new Uint8Array(c),u.set(l),this.blockLength<=9?this.tagNumber=Ar(u,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return t+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};Yo.NAME="identificationBlock";var Wo=class extends Ct{constructor({lenBlock:e={}}={}){var t,n,o;super(),this.isIndefiniteForm=(t=e.isIndefiniteForm)!==null&&t!==void 0?t:!1,this.longFormUsed=(n=e.longFormUsed)!==null&&n!==void 0?n:!1,this.length=(o=e.length)!==null&&o!==void 0?o:0}fromBER(e,t,n){let o=H.BufferSourceConverter.toUint8Array(e);if(!Dt(this,o,t,n))return-1;let s=o.subarray(t,t+n);if(s.length===0)return this.error="Zero buffer length",-1;if(s[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=s[0]===128,this.isIndefiniteForm)return this.blockLength=1,t+this.blockLength;if(this.longFormUsed=!!(s[0]&128),this.longFormUsed===!1)return this.length=s[0],this.blockLength=1,t+this.blockLength;let i=s[0]&127;if(i>8)return this.error="Too big integer",-1;if(i+1>s.length)return this.error="End of input reached before message was fully decoded",-1;let a=t+1,c=o.subarray(a,a+i);return c[i-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=Ar(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=i+1,t+this.blockLength}toBER(e=!1){let t,n;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return t=new ArrayBuffer(1),e===!1&&(n=new Uint8Array(t),n[0]=128),t;if(this.longFormUsed){let o=Jt(this.length,8);if(o.byteLength>127)return this.error="Too big length",ct;if(t=new ArrayBuffer(o.byteLength+1),e)return t;let s=new Uint8Array(o);n=new Uint8Array(t),n[0]=o.byteLength|128;for(let i=0;i<o.byteLength;i++)n[i+1]=s[i];return t}return t=new ArrayBuffer(1),e===!1&&(n=new Uint8Array(t),n[0]=this.length),t}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};Wo.NAME="lengthBlock";var I={},_e=class extends Ct{constructor({name:e=on,optional:t=!1,primitiveSchema:n,...o}={},s){super(o),this.name=e,this.optional=t,n&&(this.primitiveSchema=n),this.idBlock=new Yo(o),this.lenBlock=new Wo(o),this.valueBlock=s?new s(o):new De(o)}fromBER(e,t,n){let o=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),o)}toBER(e,t){let n=t||new $n;t||$u(this);let o=this.idBlock.toBER(e);if(n.write(o),this.lenBlock.isIndefiniteForm)n.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(e,n),n.write(new ArrayBuffer(2));else{let s=this.valueBlock.toBER(e);this.lenBlock.length=s.byteLength;let i=this.lenBlock.toBER(e);n.write(i),n.write(s)}return t?ct:n.final()}toJSON(){let e={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(e.primitiveSchema=this.primitiveSchema.toJSON()),e}toString(e="ascii"){return e==="ascii"?this.onAsciiEncoding():H.Convert.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${H.Convert.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(e){if(this===e)return!0;if(!(e instanceof this.constructor))return!1;let t=this.toBER(),n=e.toBER();return Mu(t,n)}};_e.NAME="BaseBlock";function $u(r){if(r instanceof I.Constructed)for(let e of r.valueBlock.value)$u(e)&&(r.lenBlock.isIndefiniteForm=!0);return!!r.lenBlock.isIndefiniteForm}var jo=class extends _e{constructor({value:e=on,...t}={},n){super(t,n),e&&this.fromString(e)}getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}fromBER(e,t,n){let o=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),o)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}};jo.NAME="BaseStringBlock";var Xo=class extends Pt(De){constructor({isHexOnly:e=!0,...t}={}){super(t),this.isHexOnly=e}};Xo.NAME="PrimitiveValueBlock";var qu,Zo=class extends _e{constructor(e={}){super(e,Xo),this.idBlock.isConstructed=!1}};qu=Zo;I.Primitive=qu;Zo.NAME="PRIMITIVE";function Sg(r,e){if(r instanceof e)return r;let t=new e;return t.idBlock=r.idBlock,t.lenBlock=r.lenBlock,t.warnings=r.warnings,t.valueBeforeDecodeView=r.valueBeforeDecodeView,t}function Ns(r,e=0,t=r.length){let n=e,o=new _e({},De),s=new Ct;if(!Dt(s,r,e,t))return o.error=s.error,{offset:-1,result:o};if(!r.subarray(e,e+t).length)return o.error="Zero buffer length",{offset:-1,result:o};let a=o.idBlock.fromBER(r,e,t);if(o.idBlock.warnings.length&&o.warnings.concat(o.idBlock.warnings),a===-1)return o.error=o.idBlock.error,{offset:-1,result:o};if(e=a,t-=o.idBlock.blockLength,a=o.lenBlock.fromBER(r,e,t),o.lenBlock.warnings.length&&o.warnings.concat(o.lenBlock.warnings),a===-1)return o.error=o.lenBlock.error,{offset:-1,result:o};if(e=a,t-=o.lenBlock.blockLength,!o.idBlock.isConstructed&&o.lenBlock.isIndefiniteForm)return o.error="Indefinite length form used for primitive encoding form",{offset:-1,result:o};let c=_e;switch(o.idBlock.tagClass){case 1:if(o.idBlock.tagNumber>=37&&o.idBlock.isHexOnly===!1)return o.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:o};switch(o.idBlock.tagNumber){case 0:if(o.idBlock.isConstructed&&o.lenBlock.length>0)return o.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:o};c=I.EndOfContent;break;case 1:c=I.Boolean;break;case 2:c=I.Integer;break;case 3:c=I.BitString;break;case 4:c=I.OctetString;break;case 5:c=I.Null;break;case 6:c=I.ObjectIdentifier;break;case 10:c=I.Enumerated;break;case 12:c=I.Utf8String;break;case 13:c=I.RelativeObjectIdentifier;break;case 14:c=I.TIME;break;case 15:return o.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:o};case 16:c=I.Sequence;break;case 17:c=I.Set;break;case 18:c=I.NumericString;break;case 19:c=I.PrintableString;break;case 20:c=I.TeletexString;break;case 21:c=I.VideotexString;break;case 22:c=I.IA5String;break;case 23:c=I.UTCTime;break;case 24:c=I.GeneralizedTime;break;case 25:c=I.GraphicString;break;case 26:c=I.VisibleString;break;case 27:c=I.GeneralString;break;case 28:c=I.UniversalString;break;case 29:c=I.CharacterString;break;case 30:c=I.BmpString;break;case 31:c=I.DATE;break;case 32:c=I.TimeOfDay;break;case 33:c=I.DateTime;break;case 34:c=I.Duration;break;default:{let u=o.idBlock.isConstructed?new I.Constructed:new I.Primitive;u.idBlock=o.idBlock,u.lenBlock=o.lenBlock,u.warnings=o.warnings,o=u}}break;case 2:case 3:case 4:default:c=o.idBlock.isConstructed?I.Constructed:I.Primitive}return o=Sg(o,c),a=o.fromBER(r,e,o.lenBlock.isIndefiniteForm?t:o.lenBlock.length),o.valueBeforeDecodeView=r.subarray(n,n+o.blockLength),{offset:a,result:o}}function sn(r){if(!r.byteLength){let e=new _e({},De);return e.error="Input buffer has zero length",{offset:-1,result:e}}return Ns(H.BufferSourceConverter.toUint8Array(r).slice(),0,r.byteLength)}function Ig(r,e){return r?1:e}var yt=class extends De{constructor({value:e=[],isIndefiniteForm:t=!1,...n}={}){super(n),this.value=e,this.isIndefiniteForm=t}fromBER(e,t,n){let o=H.BufferSourceConverter.toUint8Array(e);if(!Dt(this,o,t,n))return-1;if(this.valueBeforeDecodeView=o.subarray(t,t+n),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),t;let s=t;for(;Ig(this.isIndefiniteForm,n)>0;){let i=Ns(o,s,n);if(i.offset===-1)return this.error=i.result.error,this.warnings.concat(i.result.warnings),-1;if(s=i.offset,this.blockLength+=i.result.blockLength,n-=i.result.blockLength,this.value.push(i.result),this.isIndefiniteForm&&i.result.constructor.NAME===qn)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===qn?this.value.pop():this.warnings.push("No EndOfContent block encoded")),s}toBER(e,t){let n=t||new $n;for(let o=0;o<this.value.length;o++)this.value[o].toBER(e,n);return t?ct:n.final()}toJSON(){let e={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let t of this.value)e.value.push(t.toJSON());return e}};yt.NAME="ConstructedValueBlock";var Gu,Qt=class extends _e{constructor(e={}){super(e,yt),this.idBlock.isConstructed=!0}fromBER(e,t,n){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let o=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),o)}onAsciiEncoding(){let e=[];for(let n of this.valueBlock.value)e.push(n.toString("ascii").split(`
2
+ "use strict";var Libp2P=(()=>{var Ud=Object.create;var bo=Object.defineProperty;var Md=Object.getOwnPropertyDescriptor;var Fd=Object.getOwnPropertyNames;var Vd=Object.getPrototypeOf,Kd=Object.prototype.hasOwnProperty;var ht=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),be=(r,e)=>{for(var t in e)bo(r,t,{get:e[t],enumerable:!0})},Cl=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of Fd(e))!Kd.call(r,o)&&o!==t&&bo(r,o,{get:()=>e[o],enumerable:!(n=Md(e,o))||n.enumerable});return r};var Ft=(r,e,t)=>(t=r!=null?Ud(Vd(r)):{},Cl(e||!r||!r.__esModule?bo(t,"default",{value:r,enumerable:!0}):t,r)),Hd=r=>Cl(bo({},"__esModule",{value:!0}),r);var Ou=ht(rn=>{"use strict";var wg="[object ArrayBuffer]",Nt=class r{static isArrayBuffer(e){return Object.prototype.toString.call(e)===wg}static toArrayBuffer(e){return this.isArrayBuffer(e)?e:e.byteLength===e.buffer.byteLength||e.byteOffset===0&&e.byteLength===e.buffer.byteLength?e.buffer:this.toUint8Array(e.buffer).slice(e.byteOffset,e.byteOffset+e.byteLength).buffer}static toUint8Array(e){return this.toView(e,Uint8Array)}static toView(e,t){if(e.constructor===t)return e;if(this.isArrayBuffer(e))return new t(e);if(this.isArrayBufferView(e))return new t(e.buffer,e.byteOffset,e.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(e){return this.isArrayBufferView(e)||this.isArrayBuffer(e)}static isArrayBufferView(e){return ArrayBuffer.isView(e)||e&&this.isArrayBuffer(e.buffer)}static isEqual(e,t){let n=r.toUint8Array(e),o=r.toUint8Array(t);if(n.length!==o.byteLength)return!1;for(let s=0;s<n.length;s++)if(n[s]!==o[s])return!1;return!0}static concat(...e){let t;Array.isArray(e[0])&&!(e[1]instanceof Function)||Array.isArray(e[0])&&e[1]instanceof Function?t=e[0]:e[e.length-1]instanceof Function?t=e.slice(0,e.length-1):t=e;let n=0;for(let i of t)n+=i.byteLength;let o=new Uint8Array(n),s=0;for(let i of t){let a=this.toUint8Array(i);o.set(a,s),s+=a.length}return e[e.length-1]instanceof Function?this.toView(o,e[e.length-1]):o.buffer}},Za="string",bg=/^[0-9a-f]+$/i,Eg=/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/,xg=/^[a-zA-Z0-9-_]+$/,$o=class{static fromString(e){let t=unescape(encodeURIComponent(e)),n=new Uint8Array(t.length);for(let o=0;o<t.length;o++)n[o]=t.charCodeAt(o);return n.buffer}static toString(e){let t=Nt.toUint8Array(e),n="";for(let s=0;s<t.length;s++)n+=String.fromCharCode(t[s]);return decodeURIComponent(escape(n))}},et=class{static toString(e,t=!1){let n=Nt.toArrayBuffer(e),o=new DataView(n),s="";for(let i=0;i<n.byteLength;i+=2){let a=o.getUint16(i,t);s+=String.fromCharCode(a)}return s}static fromString(e,t=!1){let n=new ArrayBuffer(e.length*2),o=new DataView(n);for(let s=0;s<e.length;s++)o.setUint16(s*2,e.charCodeAt(s),t);return n}},qo=class r{static isHex(e){return typeof e===Za&&bg.test(e)}static isBase64(e){return typeof e===Za&&Eg.test(e)}static isBase64Url(e){return typeof e===Za&&xg.test(e)}static ToString(e,t="utf8"){let n=Nt.toUint8Array(e);switch(t.toLowerCase()){case"utf8":return this.ToUtf8String(n);case"binary":return this.ToBinary(n);case"hex":return this.ToHex(n);case"base64":return this.ToBase64(n);case"base64url":return this.ToBase64Url(n);case"utf16le":return et.toString(n,!0);case"utf16":case"utf16be":return et.toString(n);default:throw new Error(`Unknown type of encoding '${t}'`)}}static FromString(e,t="utf8"){if(!e)return new ArrayBuffer(0);switch(t.toLowerCase()){case"utf8":return this.FromUtf8String(e);case"binary":return this.FromBinary(e);case"hex":return this.FromHex(e);case"base64":return this.FromBase64(e);case"base64url":return this.FromBase64Url(e);case"utf16le":return et.fromString(e,!0);case"utf16":case"utf16be":return et.fromString(e);default:throw new Error(`Unknown type of encoding '${t}'`)}}static ToBase64(e){let t=Nt.toUint8Array(e);if(typeof btoa<"u"){let n=this.ToString(t,"binary");return btoa(n)}else return Buffer.from(t).toString("base64")}static FromBase64(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!r.isBase64(t))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return typeof atob<"u"?this.FromBinary(atob(t)):new Uint8Array(Buffer.from(t,"base64")).buffer}static FromBase64Url(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!r.isBase64Url(t))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(t.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(e){return this.ToBase64(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(e,t=r.DEFAULT_UTF8_ENCODING){switch(t){case"ascii":return this.FromBinary(e);case"utf8":return $o.fromString(e);case"utf16":case"utf16be":return et.fromString(e);case"utf16le":case"usc2":return et.fromString(e,!0);default:throw new Error(`Unknown type of encoding '${t}'`)}}static ToUtf8String(e,t=r.DEFAULT_UTF8_ENCODING){switch(t){case"ascii":return this.ToBinary(e);case"utf8":return $o.toString(e);case"utf16":case"utf16be":return et.toString(e);case"utf16le":case"usc2":return et.toString(e,!0);default:throw new Error(`Unknown type of encoding '${t}'`)}}static FromBinary(e){let t=e.length,n=new Uint8Array(t);for(let o=0;o<t;o++)n[o]=e.charCodeAt(o);return n.buffer}static ToBinary(e){let t=Nt.toUint8Array(e),n="";for(let o=0;o<t.length;o++)n+=String.fromCharCode(t[o]);return n}static ToHex(e){let t=Nt.toUint8Array(e),n="",o=t.length;for(let s=0;s<o;s++){let i=t[s];i<16&&(n+="0"),n+=i.toString(16)}return n}static FromHex(e){let t=this.formatString(e);if(!t)return new ArrayBuffer(0);if(!r.isHex(t))throw new TypeError("Argument 'hexString' is not HEX encoded");t.length%2&&(t=`0${t}`);let n=new Uint8Array(t.length/2);for(let o=0;o<t.length;o=o+2){let s=t.slice(o,o+2);n[o/2]=parseInt(s,16)}return n.buffer}static ToUtf16String(e,t=!1){return et.toString(e,t)}static FromUtf16String(e,t=!1){return et.fromString(e,t)}static Base64Padding(e){let t=4-e.length%4;if(t<4)for(let n=0;n<t;n++)e+="=";return e}static formatString(e){return e?.replace(/[\n\r\t ]/g,"")||""}};qo.DEFAULT_UTF8_ENCODING="utf8";function vg(r,...e){let t=arguments[0];for(let n=1;n<arguments.length;n++){let o=arguments[n];for(let s in o)t[s]=o[s]}return t}function Ag(...r){let e=r.map(o=>o.byteLength).reduce((o,s)=>o+s),t=new Uint8Array(e),n=0;return r.map(o=>new Uint8Array(o)).forEach(o=>{for(let s of o)t[n++]=s}),t.buffer}function Rg(r,e){if(!(r&&e)||r.byteLength!==e.byteLength)return!1;let t=new Uint8Array(r),n=new Uint8Array(e);for(let o=0;o<r.byteLength;o++)if(t[o]!==n[o])return!1;return!0}rn.BufferSourceConverter=Nt;rn.Convert=qo;rn.assign=vg;rn.combine=Ag;rn.isEqual=Rg});var zf=ht((fv,Gf)=>{var cn=1e3,ln=cn*60,un=ln*60,_r=un*24,n0=_r*7,o0=_r*365.25;Gf.exports=function(r,e){e=e||{};var t=typeof r;if(t==="string"&&r.length>0)return s0(r);if(t==="number"&&isFinite(r))return e.long?a0(r):i0(r);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(r))};function s0(r){if(r=String(r),!(r.length>100)){var e=/^(-?(?:\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(e){var t=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return t*o0;case"weeks":case"week":case"w":return t*n0;case"days":case"day":case"d":return t*_r;case"hours":case"hour":case"hrs":case"hr":case"h":return t*un;case"minutes":case"minute":case"mins":case"min":case"m":return t*ln;case"seconds":case"second":case"secs":case"sec":case"s":return t*cn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return t;default:return}}}}function i0(r){var e=Math.abs(r);return e>=_r?Math.round(r/_r)+"d":e>=un?Math.round(r/un)+"h":e>=ln?Math.round(r/ln)+"m":e>=cn?Math.round(r/cn)+"s":r+"ms"}function a0(r){var e=Math.abs(r);return e>=_r?Ls(r,e,_r,"day"):e>=un?Ls(r,e,un,"hour"):e>=ln?Ls(r,e,ln,"minute"):e>=cn?Ls(r,e,cn,"second"):r+" ms"}function Ls(r,e,t,n){var o=e>=t*1.5;return Math.round(r/t)+" "+n+(o?"s":"")}});var Wf=ht((hv,Yf)=>{function c0(r){t.debug=t,t.default=t,t.coerce=c,t.disable=s,t.enable=o,t.enabled=i,t.humanize=zf(),t.destroy=u,Object.keys(r).forEach(f=>{t[f]=r[f]}),t.names=[],t.skips=[],t.formatters={};function e(f){let l=0;for(let h=0;h<f.length;h++)l=(l<<5)-l+f.charCodeAt(h),l|=0;return t.colors[Math.abs(l)%t.colors.length]}t.selectColor=e;function t(f){let l,h=null,g,d;function p(...m){if(!p.enabled)return;let w=p,x=Number(new Date),b=x-(l||x);w.diff=b,w.prev=l,w.curr=x,l=x,m[0]=t.coerce(m[0]),typeof m[0]!="string"&&m.unshift("%O");let A=0;m[0]=m[0].replace(/%([a-zA-Z%])/g,(S,N)=>{if(S==="%%")return"%";A++;let C=t.formatters[N];if(typeof C=="function"){let q=m[A];S=C.call(w,q),m.splice(A,1),A--}return S}),t.formatArgs.call(w,m),(w.log||t.log).apply(w,m)}return p.namespace=f,p.useColors=t.useColors(),p.color=t.selectColor(f),p.extend=n,p.destroy=t.destroy,Object.defineProperty(p,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(g!==t.namespaces&&(g=t.namespaces,d=t.enabled(f)),d),set:m=>{h=m}}),typeof t.init=="function"&&t.init(p),p}function n(f,l){let h=t(this.namespace+(typeof l>"u"?":":l)+f);return h.log=this.log,h}function o(f){t.save(f),t.namespaces=f,t.names=[],t.skips=[];let l,h=(typeof f=="string"?f:"").split(/[\s,]+/),g=h.length;for(l=0;l<g;l++)h[l]&&(f=h[l].replace(/\*/g,".*?"),f[0]==="-"?t.skips.push(new RegExp("^"+f.slice(1)+"$")):t.names.push(new RegExp("^"+f+"$")))}function s(){let f=[...t.names.map(a),...t.skips.map(a).map(l=>"-"+l)].join(",");return t.enable(""),f}function i(f){if(f[f.length-1]==="*")return!0;let l,h;for(l=0,h=t.skips.length;l<h;l++)if(t.skips[l].test(f))return!1;for(l=0,h=t.names.length;l<h;l++)if(t.names[l].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function c(f){return f instanceof Error?f.stack||f.message:f}function u(){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 t.enable(t.load()),t}Yf.exports=c0});var jf=ht((We,ks)=>{We.formatArgs=u0;We.save=f0;We.load=h0;We.useColors=l0;We.storage=d0();We.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`."))}})();We.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 l0(){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 u0(r){if(r[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+r[0]+(this.useColors?"%c ":" ")+"+"+ks.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;r.splice(1,0,e,"color: inherit");let t=0,n=0;r[0].replace(/%[a-zA-Z%]/g,o=>{o!=="%%"&&(t++,o==="%c"&&(n=t))}),r.splice(n,0,e)}We.log=console.debug||console.log||(()=>{});function f0(r){try{r?We.storage.setItem("debug",r):We.storage.removeItem("debug")}catch{}}function h0(){let r;try{r=We.storage.getItem("debug")}catch{}return!r&&typeof process<"u"&&"env"in process&&(r=process.env.DEBUG),r}function d0(){try{return localStorage}catch{}}ks.exports=Wf()(We);var{formatters:p0}=ks.exports;p0.j=function(r){try{return JSON.stringify(r)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var xh=ht((MA,Ic)=>{"use strict";var H0=Object.prototype.hasOwnProperty,He="~";function ao(){}Object.create&&(ao.prototype=Object.create(null),new ao().__proto__||(He=!1));function $0(r,e,t){this.fn=r,this.context=e,this.once=t||!1}function Eh(r,e,t,n,o){if(typeof t!="function")throw new TypeError("The listener must be a function");var s=new $0(t,n||r,o),i=He?He+e:e;return r._events[i]?r._events[i].fn?r._events[i]=[r._events[i],s]:r._events[i].push(s):(r._events[i]=s,r._eventsCount++),r}function Vs(r,e){--r._eventsCount===0?r._events=new ao:delete r._events[e]}function Pe(){this._events=new ao,this._eventsCount=0}Pe.prototype.eventNames=function(){var e=[],t,n;if(this._eventsCount===0)return e;for(n in t=this._events)H0.call(t,n)&&e.push(He?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(t)):e};Pe.prototype.listeners=function(e){var t=He?He+e:e,n=this._events[t];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,s=n.length,i=new Array(s);o<s;o++)i[o]=n[o].fn;return i};Pe.prototype.listenerCount=function(e){var t=He?He+e:e,n=this._events[t];return n?n.fn?1:n.length:0};Pe.prototype.emit=function(e,t,n,o,s,i){var a=He?He+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,f,l;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,t),!0;case 3:return c.fn.call(c.context,t,n),!0;case 4:return c.fn.call(c.context,t,n,o),!0;case 5:return c.fn.call(c.context,t,n,o,s),!0;case 6:return c.fn.call(c.context,t,n,o,s,i),!0}for(l=1,f=new Array(u-1);l<u;l++)f[l-1]=arguments[l];c.fn.apply(c.context,f)}else{var h=c.length,g;for(l=0;l<h;l++)switch(c[l].once&&this.removeListener(e,c[l].fn,void 0,!0),u){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,t);break;case 3:c[l].fn.call(c[l].context,t,n);break;case 4:c[l].fn.call(c[l].context,t,n,o);break;default:if(!f)for(g=1,f=new Array(u-1);g<u;g++)f[g-1]=arguments[g];c[l].fn.apply(c[l].context,f)}}return!0};Pe.prototype.on=function(e,t,n){return Eh(this,e,t,n,!1)};Pe.prototype.once=function(e,t,n){return Eh(this,e,t,n,!0)};Pe.prototype.removeListener=function(e,t,n,o){var s=He?He+e:e;if(!this._events[s])return this;if(!t)return Vs(this,s),this;var i=this._events[s];if(i.fn)i.fn===t&&(!o||i.once)&&(!n||i.context===n)&&Vs(this,s);else{for(var a=0,c=[],u=i.length;a<u;a++)(i[a].fn!==t||o&&!i[a].once||n&&i[a].context!==n)&&c.push(i[a]);c.length?this._events[s]=c.length===1?c[0]:c:Vs(this,s)}return this};Pe.prototype.removeAllListeners=function(e){var t;return e?(t=He?He+e:e,this._events[t]&&Vs(this,t)):(this._events=new ao,this._eventsCount=0),this};Pe.prototype.off=Pe.prototype.removeListener;Pe.prototype.addListener=Pe.prototype.on;Pe.prefixed=He;Pe.EventEmitter=Pe;typeof Ic<"u"&&(Ic.exports=Pe)});var qc=ht((nR,Ph)=>{"use strict";function Dh(r,e){for(let t in e)Object.defineProperty(r,t,{value:e[t],enumerable:!0,configurable:!0});return r}function iy(r,e,t){if(!r||typeof r=="string")throw new TypeError("Please pass an Error to err-code");t||(t={}),typeof e=="object"&&(t=e,e=""),e&&(t.code=e);try{return Dh(r,t)}catch{t.message=r.message,t.stack=r.stack;let o=function(){};return o.prototype=Object.create(Object.getPrototypeOf(r)),Dh(new o,t)}}Ph.exports=iy});var Vh=ht(fo=>{(function(){var r,e,t,n,o,s,i,a;a=function(c){var u,f,l,h;return u=(c&255<<24)>>>24,f=(c&255<<16)>>>16,l=(c&65280)>>>8,h=c&255,[u,f,l,h].join(".")},i=function(c){var u,f,l,h,g,d;for(u=[],l=h=0;h<=3&&c.length!==0;l=++h){if(l>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}d=e(c),g=d[0],f=d[1],c=c.substring(f),u.push(g)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},t=function(c){return c.charCodeAt(0)},n=t("0"),s=t("a"),o=t("A"),e=function(c){var u,f,l,h,g;for(h=0,u=10,f="9",l=0,c.length>1&&c[l]==="0"&&(c[l+1]==="x"||c[l+1]==="X"?(l+=2,u=16):"0"<=c[l+1]&&c[l+1]<="9"&&(l++,u=8,f="7")),g=l;l<c.length;){if("0"<=c[l]&&c[l]<=f)h=h*u+(t(c[l])-n)>>>0;else if(u===16)if("a"<=c[l]&&c[l]<="f")h=h*u+(10+t(c[l])-s)>>>0;else if("A"<=c[l]&&c[l]<="F")h=h*u+(10+t(c[l])-o)>>>0;else break;else break;if(h>4294967295)throw new Error("too large");l++}if(l===g)throw new Error("empty octet");return[h,l]},r=function(){function c(u,f){var l,h,g,d;if(typeof u!="string")throw new Error("Missing `net' parameter");if(f||(d=u.split("/",2),u=d[0],f=d[1]),f||(f=32),typeof f=="string"&&f.indexOf(".")>-1){try{this.maskLong=i(f)}catch(p){throw l=p,new Error("Invalid mask: "+f)}for(h=g=32;g>=0;h=--g)if(this.maskLong===4294967295<<32-h>>>0){this.bitmask=h;break}}else if(f||f===0)this.bitmask=parseInt(f,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(i(u)&this.maskLong)>>>0}catch(p){throw l=p,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+f);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(i(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var f,l,h;for(h=i(this.first),l=i(this.last),f=0;h<=l;)u(a(h),h,f),f++,h++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),fo.ip2long=i,fo.long2ip=a,fo.Netmask=r}).call(fo)});var Qh=ht((u_,Jh)=>{Jh.exports=function(r){if(!r)throw Error("hashlru must have a max value, of type number, greater than 0");var e=0,t=Object.create(null),n=Object.create(null);function o(s,i){t[s]=i,e++,e>=r&&(e=0,n=t,t=Object.create(null))}return{has:function(s){return t[s]!==void 0||n[s]!==void 0},remove:function(s){t[s]!==void 0&&(t[s]=void 0),n[s]!==void 0&&(n[s]=void 0)},get:function(s){var i=t[s];if(i!==void 0)return i;if((i=n[s])!==void 0)return o(s,i),i},set:function(s,i){t[s]!==void 0?t[s]=i:o(s,i)},clear:function(){t=Object.create(null),n=Object.create(null)}}}});var od=ht((B_,nd)=>{"use strict";nd.exports=r=>{if(Object.prototype.toString.call(r)!=="[object Object]")return!1;let e=Object.getPrototypeOf(r);return e===null||e===Object.prototype}});var ud=ht((cd,ld)=>{"use strict";var ci=od(),{hasOwnProperty:id}=Object.prototype,{propertyIsEnumerable:Ty}=Object,_n=(r,e,t)=>Object.defineProperty(r,e,{value:t,writable:!0,enumerable:!0,configurable:!0}),Ny=cd,sd={concatArrays:!1,ignoreUndefined:!1},li=r=>{let e=[];for(let t in r)id.call(r,t)&&e.push(t);if(Object.getOwnPropertySymbols){let t=Object.getOwnPropertySymbols(r);for(let n of t)Ty.call(r,n)&&e.push(n)}return e};function Sn(r){return Array.isArray(r)?Cy(r):ci(r)?Ly(r):r}function Cy(r){let e=r.slice(0,0);return li(r).forEach(t=>{_n(e,t,Sn(r[t]))}),e}function Ly(r){let e=Object.getPrototypeOf(r)===null?Object.create(null):{};return li(r).forEach(t=>{_n(e,t,Sn(r[t]))}),e}var ad=(r,e,t,n)=>(t.forEach(o=>{typeof e[o]>"u"&&n.ignoreUndefined||(o in r&&r[o]!==Object.getPrototypeOf(r)?_n(r,o,nl(r[o],e[o],n)):_n(r,o,Sn(e[o])))}),r),ky=(r,e,t)=>{let n=r.slice(0,0),o=0;return[r,e].forEach(s=>{let i=[];for(let a=0;a<s.length;a++)id.call(s,a)&&(i.push(String(a)),s===r?_n(n,o++,s[a]):_n(n,o++,Sn(s[a])));n=ad(n,s,li(s).filter(a=>!i.includes(a)),t)}),n};function nl(r,e,t){return t.concatArrays&&Array.isArray(r)&&Array.isArray(e)?ky(r,e,t):!ci(e)||!ci(r)?Sn(e):ad(r,e,li(e),t)}ld.exports=function(...r){let e=nl(Sn(sd),this!==Ny&&this||{},sd),t={_:{}};for(let n of r)if(n!==void 0){if(!ci(n))throw new TypeError("`"+n+"` is not an Option Object");t=nl(t,{_:n},e)}return t._}});var iw={};be(iw,{createLibp2p:()=>sw});var Ll=Symbol.for("@libp2p/connection");var Ki=Symbol.for("@libp2p/content-routing");var Hi=Symbol.for("@libp2p/peer-discovery");var $i=Symbol.for("@libp2p/peer-id");function Eo(r){return r!=null&&!!r[$i]}var qi=Symbol.for("@libp2p/peer-routing");var kl="keep-alive";var pw=Symbol.for("@libp2p/transport");var Vt;(function(r){r[r.FATAL_ALL=0]="FATAL_ALL",r[r.NO_FATAL=1]="NO_FATAL"})(Vt||(Vt={}));var Kt=class r extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.name="AbortError",this.code=r.code,this.type=r.type}static code="ABORT_ERR";static type="aborted"},y=class extends Error{code;props;constructor(e,t,n){super(e),this.code=t,this.name=n?.name??"CodeError",this.props=n??{}}},xo=class extends AggregateError{code;props;constructor(e,t,n,o){super(e,t),this.code=n,this.name=o?.name??"AggregateCodeError",this.props=o??{}}};var vo="ERR_TIMEOUT";var Oe=(r,...e)=>{try{[...e]}catch{}};var hr=class extends EventTarget{#e=new Map;constructor(){super(),Oe(1/0,this)}listenerCount(e){let t=this.#e.get(e);return t==null?0:t.length}addEventListener(e,t,n){super.addEventListener(e,t,n);let o=this.#e.get(e);o==null&&(o=[],this.#e.set(e,o)),o.push({callback:t,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,t,n){super.removeEventListener(e.toString(),t??null,n);let o=this.#e.get(e);o!=null&&(o=o.filter(({callback:s})=>s!==t),this.#e.set(e,o))}dispatchEvent(e){let t=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:o})=>!o),this.#e.set(e.type,n)),t}safeDispatchEvent(e,t={}){return this.dispatchEvent(new zi(e,t))}},Gi=class extends Event{detail;constructor(e,t){super(e,t),this.detail=t?.detail}},zi=globalThis.CustomEvent??Gi;function Dl(r){return r!=null&&typeof r.start=="function"&&typeof r.stop=="function"}var ja={};be(ja,{Ed25519PrivateKey:()=>xr,Ed25519PublicKey:()=>Vn,generateKeyPair:()=>mg,generateKeyPairFromSeed:()=>Pu,unmarshalEd25519PrivateKey:()=>dg,unmarshalEd25519PublicKey:()=>pg});var Zi={};be(Zi,{base58btc:()=>ne,base58flickr:()=>Wd});var xw=new Uint8Array(0);function Pl(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function vt(r){if(r instanceof Uint8Array&&r.constructor.name==="Uint8Array")return r;if(r instanceof ArrayBuffer)return new Uint8Array(r);if(ArrayBuffer.isView(r))return new Uint8Array(r.buffer,r.byteOffset,r.byteLength);throw new Error("Unknown type, must be binary type")}function Ol(r){return new TextEncoder().encode(r)}function Ul(r){return new TextDecoder().decode(r)}function $d(r,e){if(r.length>=255)throw new TypeError("Alphabet too long");for(var t=new Uint8Array(256),n=0;n<t.length;n++)t[n]=255;for(var o=0;o<r.length;o++){var s=r.charAt(o),i=s.charCodeAt(0);if(t[i]!==255)throw new TypeError(s+" is ambiguous");t[i]=o}var a=r.length,c=r.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var p=0,m=0,w=0,x=d.length;w!==x&&d[w]===0;)w++,p++;for(var b=(x-w)*f+1>>>0,A=new Uint8Array(b);w!==x;){for(var v=d[w],S=0,N=b-1;(v!==0||S<m)&&N!==-1;N--,S++)v+=256*A[N]>>>0,A[N]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");m=S,w++}for(var C=b-m;C!==b&&A[C]===0;)C++;for(var q=c.repeat(p);C<b;++C)q+=r.charAt(A[C]);return q}function h(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var p=0;if(d[p]!==" "){for(var m=0,w=0;d[p]===c;)m++,p++;for(var x=(d.length-p)*u+1>>>0,b=new Uint8Array(x);d[p];){var A=t[d.charCodeAt(p)];if(A===255)return;for(var v=0,S=x-1;(A!==0||v<w)&&S!==-1;S--,v++)A+=a*b[S]>>>0,b[S]=A%256>>>0,A=A/256>>>0;if(A!==0)throw new Error("Non-zero carry");w=v,p++}if(d[p]!==" "){for(var N=x-w;N!==x&&b[N]===0;)N++;for(var C=new Uint8Array(m+(x-N)),q=m;N!==x;)C[q++]=b[N++];return C}}}function g(d){var p=h(d);if(p)return p;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:h,decode:g}}var qd=$d,Gd=qd,Fl=Gd;var Yi=class{name;prefix;baseEncode;constructor(e,t,n){this.name=e,this.prefix=t,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Wi=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,t,n){if(this.name=e,this.prefix=t,t.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=t.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Vl(this,e)}},ji=class{decoders;constructor(e){this.decoders=e}or(e){return Vl(this,e)}decode(e){let t=e[0],n=this.decoders[t];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function Vl(r,e){return new ji({...r.decoders??{[r.prefix]:r},...e.decoders??{[e.prefix]:e}})}var Xi=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,t,n,o){this.name=e,this.prefix=t,this.baseEncode=n,this.baseDecode=o,this.encoder=new Yi(e,t,n),this.decoder=new Wi(e,t,o)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function Mr({name:r,prefix:e,encode:t,decode:n}){return new Xi(r,e,t,n)}function Ht({name:r,prefix:e,alphabet:t}){let{encode:n,decode:o}=Fl(t,r);return Mr({prefix:e,name:r,encode:n,decode:s=>vt(o(s))})}function zd(r,e,t,n){let o={};for(let f=0;f<e.length;++f)o[e[f]]=f;let s=r.length;for(;r[s-1]==="=";)--s;let i=new Uint8Array(s*t/8|0),a=0,c=0,u=0;for(let f=0;f<s;++f){let l=o[r[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<t|l,a+=t,a>=8&&(a-=8,i[u++]=255&c>>a)}if(a>=t||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return i}function Yd(r,e,t){let n=e[e.length-1]==="=",o=(1<<t)-1,s="",i=0,a=0;for(let c=0;c<r.length;++c)for(a=a<<8|r[c],i+=8;i>t;)i-=t,s+=e[o&a>>i];if(i!==0&&(s+=e[o&a<<t-i]),n)for(;s.length*t&7;)s+="=";return s}function se({name:r,prefix:e,bitsPerChar:t,alphabet:n}){return Mr({prefix:e,name:r,encode(o){return Yd(o,n,t)},decode(o){return zd(o,n,t,r)}})}var ne=Ht({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Wd=Ht({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Qi={};be(Qi,{identity:()=>$t});var jd=$l,Kl=128,Xd=127,Zd=~Xd,Jd=Math.pow(2,31);function $l(r,e,t){e=e||[],t=t||0;for(var n=t;r>=Jd;)e[t++]=r&255|Kl,r/=128;for(;r&Zd;)e[t++]=r&255|Kl,r>>>=7;return e[t]=r|0,$l.bytes=t-n+1,e}var Qd=Ji,ep=128,Hl=127;function Ji(r,n){var t=0,n=n||0,o=0,s=n,i,a=r.length;do{if(s>=a)throw Ji.bytes=0,new RangeError("Could not decode varint");i=r[s++],t+=o<28?(i&Hl)<<o:(i&Hl)*Math.pow(2,o),o+=7}while(i>=ep);return Ji.bytes=s-n,t}var tp=Math.pow(2,7),rp=Math.pow(2,14),np=Math.pow(2,21),op=Math.pow(2,28),sp=Math.pow(2,35),ip=Math.pow(2,42),ap=Math.pow(2,49),cp=Math.pow(2,56),lp=Math.pow(2,63),up=function(r){return r<tp?1:r<rp?2:r<np?3:r<op?4:r<sp?5:r<ip?6:r<ap?7:r<cp?8:r<lp?9:10},fp={encode:jd,decode:Qd,encodingLength:up},hp=fp,Ln=hp;function kn(r,e=0){return[Ln.decode(r,e),Ln.decode.bytes]}function Fr(r,e,t=0){return Ln.encode(r,e,t),e}function Vr(r){return Ln.encodingLength(r)}function dt(r,e){let t=e.byteLength,n=Vr(r),o=n+Vr(t),s=new Uint8Array(o+t);return Fr(r,s,0),Fr(t,s,n),s.set(e,o),new Kr(r,t,e,s)}function dr(r){let e=vt(r),[t,n]=kn(e),[o,s]=kn(e.subarray(n)),i=e.subarray(n+s);if(i.byteLength!==o)throw new Error("Incorrect length");return new Kr(t,o,i,e)}function ql(r,e){if(r===e)return!0;{let t=e;return r.code===t.code&&r.size===t.size&&t.bytes instanceof Uint8Array&&Pl(r.bytes,t.bytes)}}var Kr=class{code;size;digest;bytes;constructor(e,t,n,o){this.code=e,this.size=t,this.digest=n,this.bytes=o}};var Gl=0,dp="identity",zl=vt;function pp(r){return dt(Gl,zl(r))}var $t={code:Gl,name:dp,encode:zl,digest:pp};var ra={};be(ra,{sha256:()=>Ae,sha512:()=>mp});function ta({name:r,code:e,encode:t}){return new ea(r,e,t)}var ea=class{name;code;encode;constructor(e,t,n){this.name=e,this.code=t,this.encode=n}digest(e){if(e instanceof Uint8Array){let t=this.encode(e);return t instanceof Uint8Array?dt(this.code,t):t.then(n=>dt(this.code,n))}else throw Error("Unknown type, must be binary type")}};function Wl(r){return async e=>new Uint8Array(await crypto.subtle.digest(r,e))}var Ae=ta({name:"sha2-256",code:18,encode:Wl("SHA-256")}),mp=ta({name:"sha2-512",code:19,encode:Wl("SHA-512")});function ie(r,e){if(r===e)return!0;if(r.byteLength!==e.byteLength)return!1;for(let t=0;t<r.byteLength;t++)if(r[t]!==e[t])return!1;return!0}function At(r=0){return new Uint8Array(r)}function Ne(r=0){return new Uint8Array(r)}function Re(r,e){e==null&&(e=r.reduce((o,s)=>o+s.length,0));let t=Ne(e),n=0;for(let o of r)t.set(o,n),n+=o.length;return t}var na={};be(na,{base10:()=>gp});var gp=Ht({prefix:"9",name:"base10",alphabet:"0123456789"});var oa={};be(oa,{base16:()=>yp,base16upper:()=>wp});var yp=se({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),wp=se({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var sa={};be(sa,{base2:()=>bp});var bp=se({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ia={};be(ia,{base256emoji:()=>Rp});var jl=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}"),Ep=jl.reduce((r,e,t)=>(r[t]=e,r),[]),xp=jl.reduce((r,e,t)=>(r[e.codePointAt(0)]=t,r),[]);function vp(r){return r.reduce((e,t)=>(e+=Ep[t],e),"")}function Ap(r){let e=[];for(let t of r){let n=xp[t.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${t}`);e.push(n)}return new Uint8Array(e)}var Rp=Mr({prefix:"\u{1F680}",name:"base256emoji",encode:vp,decode:Ap});var aa={};be(aa,{base32:()=>Ge,base32hex:()=>Bp,base32hexpad:()=>Np,base32hexpadupper:()=>Cp,base32hexupper:()=>Tp,base32pad:()=>Sp,base32padupper:()=>Ip,base32upper:()=>_p,base32z:()=>Lp});var Ge=se({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),_p=se({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Sp=se({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Ip=se({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Bp=se({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Tp=se({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Np=se({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Cp=se({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Lp=se({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ca={};be(ca,{base36:()=>kp,base36upper:()=>Dp});var kp=Ht({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Dp=Ht({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ua={};be(ua,{base64:()=>Dn,base64pad:()=>Pp,base64url:()=>la,base64urlpad:()=>Op});var Dn=se({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Pp=se({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),la=se({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Op=se({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var fa={};be(fa,{base8:()=>Up});var Up=se({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ha={};be(ha,{identity:()=>Mp});var Mp=Mr({prefix:"\0",name:"identity",encode:r=>Ul(r),decode:r=>Ol(r)});var jw=new TextEncoder,Xw=new TextDecoder;function Xl(r,e){let{bytes:t,version:n}=r;switch(n){case 0:return Hp(t,da(r),e??ne.encoder);default:return $p(t,da(r),e??Ge.encoder)}}var Zl=new WeakMap;function da(r){let e=Zl.get(r);if(e==null){let t=new Map;return Zl.set(r,t),t}return e}var rt=class r{code;version;multihash;bytes;"/";constructor(e,t,n,o){this.code=t,this.version=e,this.multihash=n,this.bytes=o,this["/"]=o}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:t}=this;if(e!==Pn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(t.code!==qp)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return r.createV0(t)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:t}=this.multihash,n=dt(e,t);return r.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return r.equals(this,e)}static equals(e,t){let n=t;return n!=null&&e.code===n.code&&e.version===n.version&&ql(e.multihash,n.multihash)}toString(e){return Xl(this,e)}toJSON(){return{"/":Xl(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let t=e;if(t instanceof r)return t;if(t["/"]!=null&&t["/"]===t.bytes||t.asCID===t){let{version:n,code:o,multihash:s,bytes:i}=t;return new r(n,o,s,i??Jl(n,o,s.bytes))}else if(t[Gp]===!0){let{version:n,multihash:o,code:s}=t,i=dr(o);return r.create(n,s,i)}else return null}static create(e,t,n){if(typeof t!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(t!==Pn)throw new Error(`Version 0 CID must use dag-pb (code: ${Pn}) block encoding`);return new r(e,t,n,n.bytes)}case 1:{let o=Jl(e,t,n.bytes);return new r(e,t,n,o)}default:throw new Error("Invalid version")}}static createV0(e){return r.create(0,Pn,e)}static createV1(e,t){return r.create(1,e,t)}static decode(e){let[t,n]=r.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return t}static decodeFirst(e){let t=r.inspectBytes(e),n=t.size-t.multihashSize,o=vt(e.subarray(n,n+t.multihashSize));if(o.byteLength!==t.multihashSize)throw new Error("Incorrect length");let s=o.subarray(t.multihashSize-t.digestSize),i=new Kr(t.multihashCode,t.digestSize,s,o);return[t.version===0?r.createV0(i):r.createV1(t.codec,i),e.subarray(t.size)]}static inspectBytes(e){let t=0,n=()=>{let[l,h]=kn(e.subarray(t));return t+=h,l},o=n(),s=Pn;if(o===18?(o=0,t=0):s=n(),o!==0&&o!==1)throw new RangeError(`Invalid CID version ${o}`);let i=t,a=n(),c=n(),u=t+c,f=u-i;return{version:o,codec:s,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,t){let[n,o]=Kp(e,t),s=r.decode(o);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return da(s).set(n,e),s}};function Kp(r,e){switch(r[0]){case"Q":{let t=e??ne;return[ne.prefix,t.decode(`${ne.prefix}${r}`)]}case ne.prefix:{let t=e??ne;return[ne.prefix,t.decode(r)]}case Ge.prefix:{let t=e??Ge;return[Ge.prefix,t.decode(r)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[r[0],e.decode(r)]}}}function Hp(r,e,t){let{prefix:n}=t;if(n!==ne.prefix)throw Error(`Cannot string encode V0 in ${t.name} encoding`);let o=e.get(n);if(o==null){let s=t.encode(r).slice(1);return e.set(n,s),s}else return o}function $p(r,e,t){let{prefix:n}=t,o=e.get(n);if(o==null){let s=t.encode(r);return e.set(n,s),s}else return o}var Pn=112,qp=18;function Jl(r,e,t){let n=Vr(r),o=n+Vr(e),s=new Uint8Array(o+t.byteLength);return Fr(r,s,0),Fr(e,s,n),s.set(t,o),s}var Gp=Symbol.for("@ipld/js-cid/CID");var qt={...ha,...sa,...fa,...na,...oa,...aa,...ca,...Zi,...ua,...ia},hb={...ra,...Qi};function eu(r,e,t,n){return{name:r,prefix:e,encoder:{name:r,prefix:e,encode:t},decoder:{decode:n}}}var Ql=eu("utf8","u",r=>"u"+new TextDecoder("utf8").decode(r),r=>new TextEncoder().encode(r.substring(1))),pa=eu("ascii","a",r=>{let e="a";for(let t=0;t<r.length;t++)e+=String.fromCharCode(r[t]);return e},r=>{r=r.substring(1);let e=Ne(r.length);for(let t=0;t<r.length;t++)e[t]=r.charCodeAt(t);return e}),zp={utf8:Ql,"utf-8":Ql,hex:qt.base16,latin1:pa,ascii:pa,binary:pa,...qt},Ro=zp;function D(r,e="utf8"){let t=Ro[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.decoder.decode(`${t.prefix}${r}`)}function Qe(r){return r==null?!1:typeof r.then=="function"&&typeof r.catch=="function"&&typeof r.finally=="function"}function Hr(r){if(!Number.isSafeInteger(r)||r<0)throw new Error(`positive integer expected, not ${r}`)}function Yp(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function $r(r,...e){if(!Yp(r))throw new Error("Uint8Array expected");if(e.length>0&&!e.includes(r.length))throw new Error(`Uint8Array expected of length ${e}, not of length=${r.length}`)}function _o(r){if(typeof r!="function"||typeof r.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");Hr(r.outputLen),Hr(r.blockLen)}function qr(r,e=!0){if(r.destroyed)throw new Error("Hash instance has been destroyed");if(e&&r.finished)throw new Error("Hash#digest() has already been called")}function tu(r,e){$r(r);let t=e.outputLen;if(r.length<t)throw new Error(`digestInto() expects output buffer of length at least ${t}`)}var So=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var zr=r=>new DataView(r.buffer,r.byteOffset,r.byteLength),nt=(r,e)=>r<<32-e|r>>>e;var Sb=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;var Wp=async()=>{};async function ru(r,e,t){let n=Date.now();for(let o=0;o<r;o++){t(o);let s=Date.now()-n;s>=0&&s<e||(await Wp(),n+=s)}}function ma(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function Gt(r){return typeof r=="string"&&(r=ma(r)),$r(r),r}function Io(...r){let e=0;for(let n=0;n<r.length;n++){let o=r[n];$r(o),e+=o.length}let t=new Uint8Array(e);for(let n=0,o=0;n<r.length;n++){let s=r[n];t.set(s,o),o+=s.length}return t}var Gr=class{clone(){return this._cloneInto()}},jp={}.toString;function nu(r,e){if(e!==void 0&&jp.call(e)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(r,e)}function Bo(r){let e=n=>r().update(Gt(n)).digest(),t=r();return e.outputLen=t.outputLen,e.blockLen=t.blockLen,e.create=()=>r(),e}function Yr(r=32){if(So&&typeof So.getRandomValues=="function")return So.getRandomValues(new Uint8Array(r));throw new Error("crypto.getRandomValues must be defined")}function Xp(r,e,t,n){if(typeof r.setBigUint64=="function")return r.setBigUint64(e,t,n);let o=BigInt(32),s=BigInt(4294967295),i=Number(t>>o&s),a=Number(t&s),c=n?4:0,u=n?0:4;r.setUint32(e+c,i,n),r.setUint32(e+u,a,n)}var ou=(r,e,t)=>r&e^~r&t,su=(r,e,t)=>r&e^r&t^e&t,Wr=class extends Gr{constructor(e,t,n,o){super(),this.blockLen=e,this.outputLen=t,this.padOffset=n,this.isLE=o,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=zr(this.buffer)}update(e){qr(this);let{view:t,buffer:n,blockLen:o}=this;e=Gt(e);let s=e.length;for(let i=0;i<s;){let a=Math.min(o-this.pos,s-i);if(a===o){let c=zr(e);for(;o<=s-i;i+=o)this.process(c,i);continue}n.set(e.subarray(i,i+a),this.pos),this.pos+=a,i+=a,this.pos===o&&(this.process(t,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){qr(this),tu(e,this),this.finished=!0;let{buffer:t,view:n,blockLen:o,isLE:s}=this,{pos:i}=this;t[i++]=128,this.buffer.subarray(i).fill(0),this.padOffset>o-i&&(this.process(n,0),i=0);for(let l=i;l<o;l++)t[l]=0;Xp(n,o-8,BigInt(this.length*8),s),this.process(n,0);let a=zr(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,f[l],s)}digest(){let{buffer:e,outputLen:t}=this;this.digestInto(e);let n=e.slice(0,t);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:t,buffer:n,length:o,finished:s,destroyed:i,pos:a}=this;return e.length=o,e.pos=a,e.finished=s,e.destroyed=i,o%t&&e.buffer.set(n),e}};var To=BigInt(4294967295),ga=BigInt(32);function iu(r,e=!1){return e?{h:Number(r&To),l:Number(r>>ga&To)}:{h:Number(r>>ga&To)|0,l:Number(r&To)|0}}function Zp(r,e=!1){let t=new Uint32Array(r.length),n=new Uint32Array(r.length);for(let o=0;o<r.length;o++){let{h:s,l:i}=iu(r[o],e);[t[o],n[o]]=[s,i]}return[t,n]}var Jp=(r,e)=>BigInt(r>>>0)<<ga|BigInt(e>>>0),Qp=(r,e,t)=>r>>>t,em=(r,e,t)=>r<<32-t|e>>>t,tm=(r,e,t)=>r>>>t|e<<32-t,rm=(r,e,t)=>r<<32-t|e>>>t,nm=(r,e,t)=>r<<64-t|e>>>t-32,om=(r,e,t)=>r>>>t-32|e<<64-t,sm=(r,e)=>e,im=(r,e)=>r,am=(r,e,t)=>r<<t|e>>>32-t,cm=(r,e,t)=>e<<t|r>>>32-t,lm=(r,e,t)=>e<<t-32|r>>>64-t,um=(r,e,t)=>r<<t-32|e>>>64-t;function fm(r,e,t,n){let o=(e>>>0)+(n>>>0);return{h:r+t+(o/2**32|0)|0,l:o|0}}var hm=(r,e,t)=>(r>>>0)+(e>>>0)+(t>>>0),dm=(r,e,t,n)=>e+t+n+(r/2**32|0)|0,pm=(r,e,t,n)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0),mm=(r,e,t,n,o)=>e+t+n+o+(r/2**32|0)|0,gm=(r,e,t,n,o)=>(r>>>0)+(e>>>0)+(t>>>0)+(n>>>0)+(o>>>0),ym=(r,e,t,n,o,s)=>e+t+n+o+s+(r/2**32|0)|0;var wm={fromBig:iu,split:Zp,toBig:Jp,shrSH:Qp,shrSL:em,rotrSH:tm,rotrSL:rm,rotrBH:nm,rotrBL:om,rotr32H:sm,rotr32L:im,rotlSH:am,rotlSL:cm,rotlBH:lm,rotlBL:um,add:fm,add3L:hm,add3H:dm,add4L:pm,add4H:mm,add5H:ym,add5L:gm},O=wm;var[bm,Em]=O.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(r=>BigInt(r))),zt=new Uint32Array(80),Yt=new Uint32Array(80),ya=class extends Wr{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:t,Bh:n,Bl:o,Ch:s,Cl:i,Dh:a,Dl:c,Eh:u,El:f,Fh:l,Fl:h,Gh:g,Gl:d,Hh:p,Hl:m}=this;return[e,t,n,o,s,i,a,c,u,f,l,h,g,d,p,m]}set(e,t,n,o,s,i,a,c,u,f,l,h,g,d,p,m){this.Ah=e|0,this.Al=t|0,this.Bh=n|0,this.Bl=o|0,this.Ch=s|0,this.Cl=i|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=f|0,this.Fh=l|0,this.Fl=h|0,this.Gh=g|0,this.Gl=d|0,this.Hh=p|0,this.Hl=m|0}process(e,t){for(let b=0;b<16;b++,t+=4)zt[b]=e.getUint32(t),Yt[b]=e.getUint32(t+=4);for(let b=16;b<80;b++){let A=zt[b-15]|0,v=Yt[b-15]|0,S=O.rotrSH(A,v,1)^O.rotrSH(A,v,8)^O.shrSH(A,v,7),N=O.rotrSL(A,v,1)^O.rotrSL(A,v,8)^O.shrSL(A,v,7),C=zt[b-2]|0,q=Yt[b-2]|0,G=O.rotrSH(C,q,19)^O.rotrBH(C,q,61)^O.shrSH(C,q,6),U=O.rotrSL(C,q,19)^O.rotrBL(C,q,61)^O.shrSL(C,q,6),ue=O.add4L(N,U,Yt[b-7],Yt[b-16]),ce=O.add4H(ue,S,G,zt[b-7],zt[b-16]);zt[b]=ce|0,Yt[b]=ue|0}let{Ah:n,Al:o,Bh:s,Bl:i,Ch:a,Cl:c,Dh:u,Dl:f,Eh:l,El:h,Fh:g,Fl:d,Gh:p,Gl:m,Hh:w,Hl:x}=this;for(let b=0;b<80;b++){let A=O.rotrSH(l,h,14)^O.rotrSH(l,h,18)^O.rotrBH(l,h,41),v=O.rotrSL(l,h,14)^O.rotrSL(l,h,18)^O.rotrBL(l,h,41),S=l&g^~l&p,N=h&d^~h&m,C=O.add5L(x,v,N,Em[b],Yt[b]),q=O.add5H(C,w,A,S,bm[b],zt[b]),G=C|0,U=O.rotrSH(n,o,28)^O.rotrBH(n,o,34)^O.rotrBH(n,o,39),ue=O.rotrSL(n,o,28)^O.rotrBL(n,o,34)^O.rotrBL(n,o,39),ce=n&s^n&a^s&a,Je=o&i^o&c^i&c;w=p|0,x=m|0,p=g|0,m=d|0,g=l|0,d=h|0,{h:l,l:h}=O.add(u|0,f|0,q|0,G|0),u=a|0,f=c|0,a=s|0,c=i|0,s=n|0,i=o|0;let R=O.add3L(G,ue,Je);n=O.add3H(R,q,U,ce),o=R|0}({h:n,l:o}=O.add(this.Ah|0,this.Al|0,n|0,o|0)),{h:s,l:i}=O.add(this.Bh|0,this.Bl|0,s|0,i|0),{h:a,l:c}=O.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=O.add(this.Dh|0,this.Dl|0,u|0,f|0),{h:l,l:h}=O.add(this.Eh|0,this.El|0,l|0,h|0),{h:g,l:d}=O.add(this.Fh|0,this.Fl|0,g|0,d|0),{h:p,l:m}=O.add(this.Gh|0,this.Gl|0,p|0,m|0),{h:w,l:x}=O.add(this.Hh|0,this.Hl|0,w|0,x|0),this.set(n,o,s,i,a,c,u,f,l,h,g,d,p,m,w,x)}roundClean(){zt.fill(0),Yt.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var jr=Bo(()=>new ya);var Co={};be(Co,{abytes:()=>Xr,bitGet:()=>Im,bitLen:()=>Sm,bitMask:()=>On,bitSet:()=>Bm,bytesToHex:()=>_t,bytesToNumberBE:()=>St,bytesToNumberLE:()=>jt,concatBytes:()=>It,createHmacDrbg:()=>Ea,ensureBytes:()=>ae,equalBytes:()=>Rm,hexToBytes:()=>mr,hexToNumber:()=>ba,isBytes:()=>Wt,numberToBytesBE:()=>Xt,numberToBytesLE:()=>gr,numberToHexUnpadded:()=>uu,numberToVarBytesBE:()=>Am,utf8ToBytes:()=>_m,validateObject:()=>pt});var lu=BigInt(0),No=BigInt(1),xm=BigInt(2);function Wt(r){return r instanceof Uint8Array||r!=null&&typeof r=="object"&&r.constructor.name==="Uint8Array"}function Xr(r){if(!Wt(r))throw new Error("Uint8Array expected")}var vm=Array.from({length:256},(r,e)=>e.toString(16).padStart(2,"0"));function _t(r){Xr(r);let e="";for(let t=0;t<r.length;t++)e+=vm[r[t]];return e}function uu(r){let e=r.toString(16);return e.length&1?`0${e}`:e}function ba(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);return BigInt(r===""?"0":`0x${r}`)}var Rt={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function au(r){if(r>=Rt._0&&r<=Rt._9)return r-Rt._0;if(r>=Rt._A&&r<=Rt._F)return r-(Rt._A-10);if(r>=Rt._a&&r<=Rt._f)return r-(Rt._a-10)}function mr(r){if(typeof r!="string")throw new Error("hex string expected, got "+typeof r);let e=r.length,t=e/2;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(t);for(let o=0,s=0;o<t;o++,s+=2){let i=au(r.charCodeAt(s)),a=au(r.charCodeAt(s+1));if(i===void 0||a===void 0){let c=r[s]+r[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[o]=i*16+a}return n}function St(r){return ba(_t(r))}function jt(r){return Xr(r),ba(_t(Uint8Array.from(r).reverse()))}function Xt(r,e){return mr(r.toString(16).padStart(e*2,"0"))}function gr(r,e){return Xt(r,e).reverse()}function Am(r){return mr(uu(r))}function ae(r,e,t){let n;if(typeof e=="string")try{n=mr(e)}catch(s){throw new Error(`${r} must be valid hex string, got "${e}". Cause: ${s}`)}else if(Wt(e))n=Uint8Array.from(e);else throw new Error(`${r} must be hex string or Uint8Array`);let o=n.length;if(typeof t=="number"&&o!==t)throw new Error(`${r} expected ${t} bytes, got ${o}`);return n}function It(...r){let e=0;for(let n=0;n<r.length;n++){let o=r[n];Xr(o),e+=o.length}let t=new Uint8Array(e);for(let n=0,o=0;n<r.length;n++){let s=r[n];t.set(s,o),o+=s.length}return t}function Rm(r,e){if(r.length!==e.length)return!1;let t=0;for(let n=0;n<r.length;n++)t|=r[n]^e[n];return t===0}function _m(r){if(typeof r!="string")throw new Error(`utf8ToBytes expected string, got ${typeof r}`);return new Uint8Array(new TextEncoder().encode(r))}function Sm(r){let e;for(e=0;r>lu;r>>=No,e+=1);return e}function Im(r,e){return r>>BigInt(e)&No}function Bm(r,e,t){return r|(t?No:lu)<<BigInt(e)}var On=r=>(xm<<BigInt(r-1))-No,wa=r=>new Uint8Array(r),cu=r=>Uint8Array.from(r);function Ea(r,e,t){if(typeof r!="number"||r<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof t!="function")throw new Error("hmacFn must be a function");let n=wa(r),o=wa(r),s=0,i=()=>{n.fill(1),o.fill(0),s=0},a=(...l)=>t(o,n,...l),c=(l=wa())=>{o=a(cu([0]),l),n=a(),l.length!==0&&(o=a(cu([1]),l),n=a())},u=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,h=[];for(;l<e;){n=a();let g=n.slice();h.push(g),l+=n.length}return It(...h)};return(l,h)=>{i(),c(l);let g;for(;!(g=h(u()));)c();return i(),g}}var Tm={bigint:r=>typeof r=="bigint",function:r=>typeof r=="function",boolean:r=>typeof r=="boolean",string:r=>typeof r=="string",stringOrUint8Array:r=>typeof r=="string"||Wt(r),isSafeInteger:r=>Number.isSafeInteger(r),array:r=>Array.isArray(r),field:(r,e)=>e.Fp.isValid(r),hash:r=>typeof r=="function"&&Number.isSafeInteger(r.outputLen)};function pt(r,e,t={}){let n=(o,s,i)=>{let a=Tm[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);let c=r[o];if(!(i&&c===void 0)&&!a(c,r))throw new Error(`Invalid param ${String(o)}=${c} (${typeof c}), expected ${s}`)};for(let[o,s]of Object.entries(e))n(o,s,!1);for(let[o,s]of Object.entries(t))n(o,s,!0);return r}var ge=BigInt(0),Q=BigInt(1),yr=BigInt(2),Nm=BigInt(3),xa=BigInt(4),fu=BigInt(5),hu=BigInt(8),Cm=BigInt(9),Lm=BigInt(16);function Z(r,e){let t=r%e;return t>=ge?t:e+t}function km(r,e,t){if(t<=ge||e<ge)throw new Error("Expected power/modulo > 0");if(t===Q)return ge;let n=Q;for(;e>ge;)e&Q&&(n=n*r%t),r=r*r%t,e>>=Q;return n}function ee(r,e,t){let n=r;for(;e-- >ge;)n*=n,n%=t;return n}function Lo(r,e){if(r===ge||e<=ge)throw new Error(`invert: expected positive integers, got n=${r} mod=${e}`);let t=Z(r,e),n=e,o=ge,s=Q,i=Q,a=ge;for(;t!==ge;){let u=n/t,f=n%t,l=o-i*u,h=s-a*u;n=t,t=f,o=i,s=a,i=l,a=h}if(n!==Q)throw new Error("invert: does not exist");return Z(o,e)}function Dm(r){let e=(r-Q)/yr,t,n,o;for(t=r-Q,n=0;t%yr===ge;t/=yr,n++);for(o=yr;o<r&&km(o,e,r)!==r-Q;o++);if(n===1){let i=(r+Q)/xa;return function(c,u){let f=c.pow(u,i);if(!c.eql(c.sqr(f),u))throw new Error("Cannot find square root");return f}}let s=(t+Q)/yr;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,f=a.pow(a.mul(a.ONE,o),t),l=a.pow(c,s),h=a.pow(c,t);for(;!a.eql(h,a.ONE);){if(a.eql(h,a.ZERO))return a.ZERO;let g=1;for(let p=a.sqr(h);g<u&&!a.eql(p,a.ONE);g++)p=a.sqr(p);let d=a.pow(f,Q<<BigInt(u-g-1));f=a.sqr(d),l=a.mul(l,d),h=a.mul(h,f),u=g}return l}}function Pm(r){if(r%xa===Nm){let e=(r+Q)/xa;return function(n,o){let s=n.pow(o,e);if(!n.eql(n.sqr(s),o))throw new Error("Cannot find square root");return s}}if(r%hu===fu){let e=(r-fu)/hu;return function(n,o){let s=n.mul(o,yr),i=n.pow(s,e),a=n.mul(o,i),c=n.mul(n.mul(a,yr),i),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),o))throw new Error("Cannot find square root");return u}}return r%Lm,Dm(r)}var du=(r,e)=>(Z(r,e)&Q)===Q,Om=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function va(r){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},t=Om.reduce((n,o)=>(n[o]="function",n),e);return pt(r,t)}function Um(r,e,t){if(t<ge)throw new Error("Expected power > 0");if(t===ge)return r.ONE;if(t===Q)return e;let n=r.ONE,o=e;for(;t>ge;)t&Q&&(n=r.mul(n,o)),o=r.sqr(o),t>>=Q;return n}function Mm(r,e){let t=new Array(e.length),n=e.reduce((s,i,a)=>r.is0(i)?s:(t[a]=s,r.mul(s,i)),r.ONE),o=r.inv(n);return e.reduceRight((s,i,a)=>r.is0(i)?s:(t[a]=r.mul(s,t[a]),r.mul(s,i)),o),t}function Aa(r,e){let t=e!==void 0?e:r.toString(2).length,n=Math.ceil(t/8);return{nBitLength:t,nByteLength:n}}function ko(r,e,t=!1,n={}){if(r<=ge)throw new Error(`Expected Field ORDER > 0, got ${r}`);let{nBitLength:o,nByteLength:s}=Aa(r,e);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");let i=Pm(r),a=Object.freeze({ORDER:r,BITS:o,BYTES:s,MASK:On(o),ZERO:ge,ONE:Q,create:c=>Z(c,r),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return ge<=c&&c<r},is0:c=>c===ge,isOdd:c=>(c&Q)===Q,neg:c=>Z(-c,r),eql:(c,u)=>c===u,sqr:c=>Z(c*c,r),add:(c,u)=>Z(c+u,r),sub:(c,u)=>Z(c-u,r),mul:(c,u)=>Z(c*u,r),pow:(c,u)=>Um(a,c,u),div:(c,u)=>Z(c*Lo(u,r),r),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Lo(c,r),sqrt:n.sqrt||(c=>i(a,c)),invertBatch:c=>Mm(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>t?gr(c,s):Xt(c,s),fromBytes:c=>{if(c.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${c.length}`);return t?jt(c):St(c)}});return Object.freeze(a)}function pu(r,e){if(!r.isOdd)throw new Error("Field doesn't have isOdd");let t=r.sqrt(e);return r.isOdd(t)?r.neg(t):t}function mu(r){if(typeof r!="bigint")throw new Error("field order must be bigint");let e=r.toString(2).length;return Math.ceil(e/8)}function Ra(r){let e=mu(r);return e+Math.ceil(e/2)}function gu(r,e,t=!1){let n=r.length,o=mu(e),s=Ra(e);if(n<16||n<s||n>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);let i=t?St(r):jt(r),a=Z(i,e-Q)+Q;return t?gr(a,o):Xt(a,o)}var Vm=BigInt(0),_a=BigInt(1);function Do(r,e){let t=(o,s)=>{let i=s.negate();return o?i:s},n=o=>{let s=Math.ceil(e/o)+1,i=2**(o-1);return{windows:s,windowSize:i}};return{constTimeNegate:t,unsafeLadder(o,s){let i=r.ZERO,a=o;for(;s>Vm;)s&_a&&(i=i.add(a)),a=a.double(),s>>=_a;return i},precomputeWindow(o,s){let{windows:i,windowSize:a}=n(s),c=[],u=o,f=u;for(let l=0;l<i;l++){f=u,c.push(f);for(let h=1;h<a;h++)f=f.add(u),c.push(f);u=f.double()}return c},wNAF(o,s,i){let{windows:a,windowSize:c}=n(o),u=r.ZERO,f=r.BASE,l=BigInt(2**o-1),h=2**o,g=BigInt(o);for(let d=0;d<a;d++){let p=d*c,m=Number(i&l);i>>=g,m>c&&(m-=h,i+=_a);let w=p,x=p+Math.abs(m)-1,b=d%2!==0,A=m<0;m===0?f=f.add(t(b,s[w])):u=u.add(t(A,s[x]))}return{p:u,f}},wNAFCached(o,s,i,a){let c=o._WINDOW_SIZE||1,u=s.get(o);return u||(u=this.precomputeWindow(o,c),c!==1&&s.set(o,a(u))),this.wNAF(c,u,i)}}}function Un(r){return va(r.Fp),pt(r,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Aa(r.n,r.nBitLength),...r,p:r.Fp.ORDER})}var ot=BigInt(0),ze=BigInt(1),Po=BigInt(2),Km=BigInt(8),Hm={zip215:!0};function $m(r){let e=Un(r);return pt(r,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function Oo(r){let e=$m(r),{Fp:t,n,prehash:o,hash:s,randomBytes:i,nByteLength:a,h:c}=e,u=Po<<BigInt(a*8)-ze,f=t.create,l=e.uvRatio||((_,E)=>{try{return{isValid:!0,value:t.sqrt(_*t.inv(E))}}catch{return{isValid:!1,value:ot}}}),h=e.adjustScalarBytes||(_=>_),g=e.domain||((_,E,T)=>{if(E.length||T)throw new Error("Contexts/pre-hash are not supported");return _}),d=_=>typeof _=="bigint"&&ot<_,p=(_,E)=>d(_)&&d(E)&&_<E,m=_=>_===ot||p(_,u);function w(_,E){if(p(_,E))return _;throw new Error(`Expected valid scalar < ${E}, got ${typeof _} ${_}`)}function x(_){return _===ot?_:w(_,n)}let b=new Map;function A(_){if(!(_ instanceof v))throw new Error("ExtendedPoint expected")}class v{constructor(E,T,k,P){if(this.ex=E,this.ey=T,this.ez=k,this.et=P,!m(E))throw new Error("x required");if(!m(T))throw new Error("y required");if(!m(k))throw new Error("z required");if(!m(P))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(E){if(E instanceof v)throw new Error("extended point not allowed");let{x:T,y:k}=E||{};if(!m(T)||!m(k))throw new Error("invalid affine point");return new v(T,k,ze,f(T*k))}static normalizeZ(E){let T=t.invertBatch(E.map(k=>k.ez));return E.map((k,P)=>k.toAffine(T[P])).map(v.fromAffine)}_setWindowSize(E){this._WINDOW_SIZE=E,b.delete(this)}assertValidity(){let{a:E,d:T}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:k,ey:P,ez:F,et:V}=this,Y=f(k*k),$=f(P*P),z=f(F*F),fe=f(z*z),oe=f(Y*E),xe=f(z*f(oe+$)),ve=f(fe+f(T*f(Y*$)));if(xe!==ve)throw new Error("bad point: equation left != right (1)");let me=f(k*P),Te=f(F*V);if(me!==Te)throw new Error("bad point: equation left != right (2)")}equals(E){A(E);let{ex:T,ey:k,ez:P}=this,{ex:F,ey:V,ez:Y}=E,$=f(T*Y),z=f(F*P),fe=f(k*Y),oe=f(V*P);return $===z&&fe===oe}is0(){return this.equals(v.ZERO)}negate(){return new v(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:E}=e,{ex:T,ey:k,ez:P}=this,F=f(T*T),V=f(k*k),Y=f(Po*f(P*P)),$=f(E*F),z=T+k,fe=f(f(z*z)-F-V),oe=$+V,xe=oe-Y,ve=$-V,me=f(fe*xe),Te=f(oe*ve),xt=f(fe*ve),fr=f(xe*oe);return new v(me,Te,fr,xt)}add(E){A(E);let{a:T,d:k}=e,{ex:P,ey:F,ez:V,et:Y}=this,{ex:$,ey:z,ez:fe,et:oe}=E;if(T===BigInt(-1)){let Rl=f((F-P)*(z+$)),_l=f((F+P)*(z-$)),Vi=f(_l-Rl);if(Vi===ot)return this.double();let Sl=f(V*Po*oe),Il=f(Y*Po*fe),Bl=Il+Sl,Tl=_l+Rl,Nl=Il-Sl,kd=f(Bl*Vi),Dd=f(Tl*Nl),Pd=f(Bl*Nl),Od=f(Vi*Tl);return new v(kd,Dd,Od,Pd)}let xe=f(P*$),ve=f(F*z),me=f(Y*k*oe),Te=f(V*fe),xt=f((P+F)*($+z)-xe-ve),fr=Te-me,Cn=Te+me,Al=f(ve-T*xe),Td=f(xt*fr),Nd=f(Cn*Al),Cd=f(xt*Al),Ld=f(fr*Cn);return new v(Td,Nd,Ld,Cd)}subtract(E){return this.add(E.negate())}wNAF(E){return C.wNAFCached(this,b,E,v.normalizeZ)}multiply(E){let{p:T,f:k}=this.wNAF(w(E,n));return v.normalizeZ([T,k])[0]}multiplyUnsafe(E){let T=x(E);return T===ot?N:this.equals(N)||T===ze?this:this.equals(S)?this.wNAF(T).p:C.unsafeLadder(this,T)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return C.unsafeLadder(this,n).is0()}toAffine(E){let{ex:T,ey:k,ez:P}=this,F=this.is0();E==null&&(E=F?Km:t.inv(P));let V=f(T*E),Y=f(k*E),$=f(P*E);if(F)return{x:ot,y:ze};if($!==ze)throw new Error("invZ was invalid");return{x:V,y:Y}}clearCofactor(){let{h:E}=e;return E===ze?this:this.multiplyUnsafe(E)}static fromHex(E,T=!1){let{d:k,a:P}=e,F=t.BYTES;E=ae("pointHex",E,F);let V=E.slice(),Y=E[F-1];V[F-1]=Y&-129;let $=jt(V);$===ot||(T?w($,u):w($,t.ORDER));let z=f($*$),fe=f(z-ze),oe=f(k*z-P),{isValid:xe,value:ve}=l(fe,oe);if(!xe)throw new Error("Point.fromHex: invalid y coordinate");let me=(ve&ze)===ze,Te=(Y&128)!==0;if(!T&&ve===ot&&Te)throw new Error("Point.fromHex: x=0 and x_0=1");return Te!==me&&(ve=f(-ve)),v.fromAffine({x:ve,y:$})}static fromPrivateKey(E){return U(E).point}toRawBytes(){let{x:E,y:T}=this.toAffine(),k=gr(T,t.BYTES);return k[k.length-1]|=E&ze?128:0,k}toHex(){return _t(this.toRawBytes())}}v.BASE=new v(e.Gx,e.Gy,ze,f(e.Gx*e.Gy)),v.ZERO=new v(ot,ze,ze,ot);let{BASE:S,ZERO:N}=v,C=Do(v,a*8);function q(_){return Z(_,n)}function G(_){return q(jt(_))}function U(_){let E=a;_=ae("private key",_,E);let T=ae("hashed private key",s(_),2*E),k=h(T.slice(0,E)),P=T.slice(E,2*E),F=G(k),V=S.multiply(F),Y=V.toRawBytes();return{head:k,prefix:P,scalar:F,point:V,pointBytes:Y}}function ue(_){return U(_).pointBytes}function ce(_=new Uint8Array,...E){let T=It(...E);return G(s(g(T,ae("context",_),!!o)))}function Je(_,E,T={}){_=ae("message",_),o&&(_=o(_));let{prefix:k,scalar:P,pointBytes:F}=U(E),V=ce(T.context,k,_),Y=S.multiply(V).toRawBytes(),$=ce(T.context,Y,F,_),z=q(V+$*P);x(z);let fe=It(Y,gr(z,t.BYTES));return ae("result",fe,a*2)}let R=Hm;function L(_,E,T,k=R){let{context:P,zip215:F}=k,V=t.BYTES;_=ae("signature",_,2*V),E=ae("message",E),o&&(E=o(E));let Y=jt(_.slice(V,2*V)),$,z,fe;try{$=v.fromHex(T,F),z=v.fromHex(_.slice(0,V),F),fe=S.multiplyUnsafe(Y)}catch{return!1}if(!F&&$.isSmallOrder())return!1;let oe=ce(P,z.toRawBytes(),$.toRawBytes(),E);return z.add($.multiplyUnsafe(oe)).subtract(fe).clearCofactor().equals(v.ZERO)}return S._setWindowSize(8),{CURVE:e,getPublicKey:ue,sign:Je,verify:L,ExtendedPoint:v,utils:{getExtendedPublicKey:U,randomPrivateKey:()=>i(t.BYTES),precompute(_=8,E=v.BASE){return E._setWindowSize(_),E.multiply(BigInt(3)),E}}}}var Ia=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),yu=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Wb=BigInt(0),qm=BigInt(1),Sa=BigInt(2),Gm=BigInt(5),wu=BigInt(10),zm=BigInt(20),Ym=BigInt(40),bu=BigInt(80);function Wm(r){let e=Ia,n=r*r%e*r%e,o=ee(n,Sa,e)*n%e,s=ee(o,qm,e)*r%e,i=ee(s,Gm,e)*s%e,a=ee(i,wu,e)*i%e,c=ee(a,zm,e)*a%e,u=ee(c,Ym,e)*c%e,f=ee(u,bu,e)*u%e,l=ee(f,bu,e)*u%e,h=ee(l,wu,e)*i%e;return{pow_p_5_8:ee(h,Sa,e)*r%e,b2:n}}function jm(r){return r[0]&=248,r[31]&=127,r[31]|=64,r}function Xm(r,e){let t=Ia,n=Z(e*e*e,t),o=Z(n*n*e,t),s=Wm(r*o).pow_p_5_8,i=Z(r*n*s,t),a=Z(e*i*i,t),c=i,u=Z(i*yu,t),f=a===r,l=a===Z(-r,t),h=a===Z(-r*yu,t);return f&&(i=c),(l||h)&&(i=u),du(i,t)&&(i=Z(-i,t)),{isValid:f||l,value:i}}var Bt=ko(Ia,void 0,!0),Ba={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Bt,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:jr,randomBytes:Yr,adjustScalarBytes:jm,uvRatio:Xm},Zr=Oo(Ba);function Eu(r,e,t){if(e.length>255)throw new Error("Context is too big");return Io(ma("SigEd25519 no Ed25519 collisions"),new Uint8Array([t?1:0,e.length]),e,r)}var jb=Oo({...Ba,domain:Eu}),Xb=Oo({...Ba,domain:Eu,prehash:jr});var Zm=(Bt.ORDER+BigInt(3))/BigInt(8),Zb=Bt.pow(Sa,Zm),Jb=Bt.sqrt(Bt.neg(Bt.ONE)),Qb=(Bt.ORDER-BigInt(5))/BigInt(8),eE=BigInt(486662);var tE=pu(Bt,Bt.neg(BigInt(486664)));var rE=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),nE=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),oE=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),sE=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var iE=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Jr=32,Tt=64,Uo=32;function xu(){let r=Zr.utils.randomPrivateKey(),e=Zr.getPublicKey(r);return{privateKey:_u(r,e),publicKey:e}}function vu(r){if(r.length!==Uo)throw new TypeError('"seed" must be 32 bytes in length.');if(!(r instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=r,t=Zr.getPublicKey(e);return{privateKey:_u(e,t),publicKey:t}}function Au(r,e){let t=r.subarray(0,Uo);return Zr.sign(e instanceof Uint8Array?e:e.subarray(),t)}function Ru(r,e,t){return Zr.verify(e,t instanceof Uint8Array?t:t.subarray(),r)}function _u(r,e){let t=new Uint8Array(Tt);for(let n=0;n<Uo;n++)t[n]=r[n],t[Uo+n]=e[n];return t}var Ue={get(r=globalThis){let e=r.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var Ta={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Su(r){let e=r?.algorithm??"AES-GCM",t=r?.keyLength??16,n=r?.nonceLength??12,o=r?.digest??"SHA-256",s=r?.saltLength??16,i=r?.iterations??32767,a=Ue.get();t*=8;async function c(l,h){let g=a.getRandomValues(new Uint8Array(s)),d=a.getRandomValues(new Uint8Array(n)),p={name:e,iv:d};typeof h=="string"&&(h=D(h));let m;if(h.length===0){m=await a.subtle.importKey("jwk",Ta,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:g,iterations:i,hash:{name:o}},b=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(x,b,{name:e,length:t},!0,["encrypt"])}catch{m=await a.subtle.importKey("jwk",Ta,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:g,iterations:i,hash:{name:o}},b=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(x,b,{name:e,length:t},!0,["encrypt"])}let w=await a.subtle.encrypt(p,m,l);return Re([g,p.iv,new Uint8Array(w)])}async function u(l,h){let g=l.subarray(0,s),d=l.subarray(s,s+n),p=l.subarray(s+n),m={name:e,iv:d};typeof h=="string"&&(h=D(h));let w;if(h.length===0)try{let b={name:"PBKDF2",salt:g,iterations:i,hash:{name:o}},A=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);w=await a.subtle.deriveKey(b,A,{name:e,length:t},!0,["decrypt"])}catch{w=await a.subtle.importKey("jwk",Ta,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:g,iterations:i,hash:{name:o}},A=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);w=await a.subtle.deriveKey(b,A,{name:e,length:t},!0,["decrypt"])}let x=await a.subtle.decrypt(m,w,p);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function Qr(r,e){let n=await Su().encrypt(r,e);return Dn.encode(n)}var eg=Math.pow(2,7),tg=Math.pow(2,14),rg=Math.pow(2,21),Na=Math.pow(2,28),Ca=Math.pow(2,35),La=Math.pow(2,42),ka=Math.pow(2,49),j=128,Ce=127;function he(r){if(r<eg)return 1;if(r<tg)return 2;if(r<rg)return 3;if(r<Na)return 4;if(r<Ca)return 5;if(r<La)return 6;if(r<ka)return 7;if(Number.MAX_SAFE_INTEGER!=null&&r>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Da(r,e,t=0){switch(he(r)){case 8:e[t++]=r&255|j,r/=128;case 7:e[t++]=r&255|j,r/=128;case 6:e[t++]=r&255|j,r/=128;case 5:e[t++]=r&255|j,r/=128;case 4:e[t++]=r&255|j,r>>>=7;case 3:e[t++]=r&255|j,r>>>=7;case 2:e[t++]=r&255|j,r>>>=7;case 1:{e[t++]=r&255,r>>>=7;break}default:throw new Error("unreachable")}return e}function ng(r,e,t=0){switch(he(r)){case 8:e.set(t++,r&255|j),r/=128;case 7:e.set(t++,r&255|j),r/=128;case 6:e.set(t++,r&255|j),r/=128;case 5:e.set(t++,r&255|j),r/=128;case 4:e.set(t++,r&255|j),r>>>=7;case 3:e.set(t++,r&255|j),r>>>=7;case 2:e.set(t++,r&255|j),r>>>=7;case 1:{e.set(t++,r&255),r>>>=7;break}default:throw new Error("unreachable")}return e}function Pa(r,e){let t=r[e],n=0;if(n+=t&Ce,t<j||(t=r[e+1],n+=(t&Ce)<<7,t<j)||(t=r[e+2],n+=(t&Ce)<<14,t<j)||(t=r[e+3],n+=(t&Ce)<<21,t<j)||(t=r[e+4],n+=(t&Ce)*Na,t<j)||(t=r[e+5],n+=(t&Ce)*Ca,t<j)||(t=r[e+6],n+=(t&Ce)*La,t<j)||(t=r[e+7],n+=(t&Ce)*ka,t<j))return n;throw new RangeError("Could not decode varint")}function og(r,e){let t=r.get(e),n=0;if(n+=t&Ce,t<j||(t=r.get(e+1),n+=(t&Ce)<<7,t<j)||(t=r.get(e+2),n+=(t&Ce)<<14,t<j)||(t=r.get(e+3),n+=(t&Ce)<<21,t<j)||(t=r.get(e+4),n+=(t&Ce)*Na,t<j)||(t=r.get(e+5),n+=(t&Ce)*Ca,t<j)||(t=r.get(e+6),n+=(t&Ce)*La,t<j)||(t=r.get(e+7),n+=(t&Ce)*ka,t<j))return n;throw new RangeError("Could not decode varint")}function Le(r,e,t=0){return e==null&&(e=Ne(he(r))),e instanceof Uint8Array?Da(r,e,t):ng(r,e,t)}function st(r,e=0){return r instanceof Uint8Array?Pa(r,e):og(r,e)}var Oa=new Float32Array([-0]),Zt=new Uint8Array(Oa.buffer);function Iu(r,e,t){Oa[0]=r,e[t]=Zt[0],e[t+1]=Zt[1],e[t+2]=Zt[2],e[t+3]=Zt[3]}function Bu(r,e){return Zt[0]=r[e],Zt[1]=r[e+1],Zt[2]=r[e+2],Zt[3]=r[e+3],Oa[0]}var Ua=new Float64Array([-0]),ke=new Uint8Array(Ua.buffer);function Tu(r,e,t){Ua[0]=r,e[t]=ke[0],e[t+1]=ke[1],e[t+2]=ke[2],e[t+3]=ke[3],e[t+4]=ke[4],e[t+5]=ke[5],e[t+6]=ke[6],e[t+7]=ke[7]}function Nu(r,e){return ke[0]=r[e],ke[1]=r[e+1],ke[2]=r[e+2],ke[3]=r[e+3],ke[4]=r[e+4],ke[5]=r[e+5],ke[6]=r[e+6],ke[7]=r[e+7],Ua[0]}var sg=BigInt(Number.MAX_SAFE_INTEGER),ig=BigInt(Number.MIN_SAFE_INTEGER),Ye=class r{lo;hi;constructor(e,t){this.lo=e|0,this.hi=t|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let t=~this.lo+1>>>0,n=~this.hi>>>0;return t===0&&(n=n+1>>>0),-(t+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let t=~this.lo+1>>>0,n=~this.hi>>>0;return t===0&&(n=n+1>>>0),-(BigInt(t)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,t=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?t===0?e<16384?e<128?1:2:e<2097152?3:4:t<16384?t<128?5:6:t<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return br;if(e<sg&&e>ig)return this.fromNumber(Number(e));let t=e<0n;t&&(e=-e);let n=e>>32n,o=e-(n<<32n);return t&&(n=~n|0n,o=~o|0n,++o>Cu&&(o=0n,++n>Cu&&(n=0n))),new r(Number(o),Number(n))}static fromNumber(e){if(e===0)return br;let t=e<0;t&&(e=-e);let n=e>>>0,o=(e-n)/4294967296>>>0;return t&&(o=~o>>>0,n=~n>>>0,++n>4294967295&&(n=0,++o>4294967295&&(o=0))),new r(n,o)}static from(e){return typeof e=="number"?r.fromNumber(e):typeof e=="bigint"?r.fromBigInt(e):typeof e=="string"?r.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new r(e.low>>>0,e.high>>>0):br}},br=new Ye(0,0);br.toBigInt=function(){return 0n};br.zzEncode=br.zzDecode=function(){return this};br.length=function(){return 1};var Cu=4294967296n;function Lu(r){let e=0,t=0;for(let n=0;n<r.length;++n)t=r.charCodeAt(n),t<128?e+=1:t<2048?e+=2:(t&64512)===55296&&(r.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function ku(r,e,t){if(t-e<1)return"";let o,s=[],i=0,a;for(;e<t;)a=r[e++],a<128?s[i++]=a:a>191&&a<224?s[i++]=(a&31)<<6|r[e++]&63:a>239&&a<365?(a=((a&7)<<18|(r[e++]&63)<<12|(r[e++]&63)<<6|r[e++]&63)-65536,s[i++]=55296+(a>>10),s[i++]=56320+(a&1023)):s[i++]=(a&15)<<12|(r[e++]&63)<<6|r[e++]&63,i>8191&&((o??(o=[])).push(String.fromCharCode.apply(String,s)),i=0);return o!=null?(i>0&&o.push(String.fromCharCode.apply(String,s.slice(0,i))),o.join("")):String.fromCharCode.apply(String,s.slice(0,i))}function Ma(r,e,t){let n=t,o,s;for(let i=0;i<r.length;++i)o=r.charCodeAt(i),o<128?e[t++]=o:o<2048?(e[t++]=o>>6|192,e[t++]=o&63|128):(o&64512)===55296&&((s=r.charCodeAt(i+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++i,e[t++]=o>>18|240,e[t++]=o>>12&63|128,e[t++]=o>>6&63|128,e[t++]=o&63|128):(e[t++]=o>>12|224,e[t++]=o>>6&63|128,e[t++]=o&63|128);return t-n}function it(r,e){return RangeError(`index out of range: ${r.pos} + ${e??1} > ${r.len}`)}function Mo(r,e){return(r[e-4]|r[e-3]<<8|r[e-2]<<16|r[e-1]<<24)>>>0}var Fa=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,it(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw it(this,4);return Mo(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw it(this,4);return Mo(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw it(this,4);let e=Bu(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw it(this,4);let e=Nu(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),t=this.pos,n=this.pos+e;if(n>this.len)throw it(this,e);return this.pos+=e,t===n?new Uint8Array(0):this.buf.subarray(t,n)}string(){let e=this.bytes();return ku(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw it(this,e);this.pos+=e}else do if(this.pos>=this.len)throw it(this);while(this.buf[this.pos++]&128);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new Ye(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw it(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw it(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw it(this,8);let e=Mo(this.buf,this.pos+=4),t=Mo(this.buf,this.pos+=4);return new Ye(e,t)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){let e=Pa(this.buf,this.pos);return this.pos+=he(e),e}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function Va(r){return new Fa(r instanceof Uint8Array?r:r.subarray())}function Me(r,e,t){let n=Va(r);return e.decode(n,void 0,t)}function Ka(r){let e=r??8192,t=e>>>1,n,o=e;return function(i){if(i<1||i>t)return Ne(i);o+i>e&&(n=Ne(e),o=0);let a=n.subarray(o,o+=i);return o&7&&(o=(o|7)+1),a}}var Er=class{fn;len;next;val;constructor(e,t,n){this.fn=e,this.len=t,this.next=void 0,this.val=n}};function Ha(){}var qa=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},ag=Ka();function cg(r){return globalThis.Buffer!=null?Ne(r):ag(r)}var Fn=class{len;head;tail;states;constructor(){this.len=0,this.head=new Er(Ha,0,0),this.tail=this.head,this.states=null}_push(e,t,n){return this.tail=this.tail.next=new Er(e,t,n),this.len+=t,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Ga((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(Fo,10,Ye.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let t=Ye.fromBigInt(e);return this._push(Fo,t.length(),t)}uint64Number(e){return this._push(Da,he(e),e)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let t=Ye.fromBigInt(e).zzEncode();return this._push(Fo,t.length(),t)}sint64Number(e){let t=Ye.fromNumber(e).zzEncode();return this._push(Fo,t.length(),t)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push($a,1,e?1:0)}fixed32(e){return this._push(Mn,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let t=Ye.fromBigInt(e);return this._push(Mn,4,t.lo)._push(Mn,4,t.hi)}fixed64Number(e){let t=Ye.fromNumber(e);return this._push(Mn,4,t.lo)._push(Mn,4,t.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(Iu,4,e)}double(e){return this._push(Tu,8,e)}bytes(e){let t=e.length>>>0;return t===0?this._push($a,1,0):this.uint32(t)._push(ug,t,e)}string(e){let t=Lu(e);return t!==0?this.uint32(t)._push(Ma,t,e):this._push($a,1,0)}fork(){return this.states=new qa(this),this.head=this.tail=new Er(Ha,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Er(Ha,0,0),this.len=0),this}ldelim(){let e=this.head,t=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=t,this.len+=n),this}finish(){let e=this.head.next,t=cg(this.len),n=0;for(;e!=null;)e.fn(e.val,t,n),n+=e.len,e=e.next;return t}};function $a(r,e,t){e[t]=r&255}function lg(r,e,t){for(;r>127;)e[t++]=r&127|128,r>>>=7;e[t]=r}var Ga=class extends Er{next;constructor(e,t){super(lg,e,t),this.next=void 0}};function Fo(r,e,t){for(;r.hi!==0;)e[t++]=r.lo&127|128,r.lo=(r.lo>>>7|r.hi<<25)>>>0,r.hi>>>=7;for(;r.lo>127;)e[t++]=r.lo&127|128,r.lo=r.lo>>>7;e[t++]=r.lo}function Mn(r,e,t){e[t]=r&255,e[t+1]=r>>>8&255,e[t+2]=r>>>16&255,e[t+3]=r>>>24}function ug(r,e,t){e.set(r,t)}globalThis.Buffer!=null&&(Fn.prototype.bytes=function(r){let e=r.length>>>0;return this.uint32(e),e>0&&this._push(fg,e,r),this},Fn.prototype.string=function(r){let e=globalThis.Buffer.byteLength(r);return this.uint32(e),e>0&&this._push(hg,e,r),this});function fg(r,e,t){e.set(r,t)}function hg(r,e,t){r.length<40?Ma(r,e,t):e.utf8Write!=null?e.utf8Write(r,t):e.set(D(r),t)}function za(){return new Fn}function Fe(r,e){let t=za();return e.encode(r,t,{lengthDelimited:!1}),t.finish()}var en;(function(r){r[r.VARINT=0]="VARINT",r[r.BIT64=1]="BIT64",r[r.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",r[r.START_GROUP=3]="START_GROUP",r[r.END_GROUP=4]="END_GROUP",r[r.BIT32=5]="BIT32"})(en||(en={}));function Vo(r,e,t,n){return{name:r,type:e,encode:t,decode:n}}function Ya(r){function e(o){if(r[o.toString()]==null)throw new Error("Invalid enum value");return r[o]}let t=function(s,i){let a=e(s);i.int32(a)},n=function(s){let i=s.int32();return e(i)};return Vo("enum",en.VARINT,t,n)}function Ve(r,e){return Vo("message",en.LENGTH_DELIMITED,r,e)}var te;(function(r){r.RSA="RSA",r.Ed25519="Ed25519",r.Secp256k1="Secp256k1"})(te||(te={}));var Wa;(function(r){r[r.RSA=0]="RSA",r[r.Ed25519=1]="Ed25519",r[r.Secp256k1=2]="Secp256k1"})(Wa||(Wa={}));(function(r){r.codec=()=>Ya(Wa)})(te||(te={}));var mt;(function(r){let e;r.codec=()=>(e==null&&(e=Ve((t,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),t.Type!=null&&(n.uint32(8),te.codec().encode(t.Type,n)),t.Data!=null&&(n.uint32(18),n.bytes(t.Data)),o.lengthDelimited!==!1&&n.ldelim()},(t,n)=>{let o={},s=n==null?t.len:t.pos+n;for(;t.pos<s;){let i=t.uint32();switch(i>>>3){case 1:o.Type=te.codec().decode(t);break;case 2:o.Data=t.bytes();break;default:t.skipType(i&7);break}}return o})),e),r.encode=t=>Fe(t,r.codec()),r.decode=t=>Me(t,r.codec())})(mt||(mt={}));var gt;(function(r){let e;r.codec=()=>(e==null&&(e=Ve((t,n,o={})=>{o.lengthDelimited!==!1&&n.fork(),t.Type!=null&&(n.uint32(8),te.codec().encode(t.Type,n)),t.Data!=null&&(n.uint32(18),n.bytes(t.Data)),o.lengthDelimited!==!1&&n.ldelim()},(t,n)=>{let o={},s=n==null?t.len:t.pos+n;for(;t.pos<s;){let i=t.uint32();switch(i>>>3){case 1:o.Type=te.codec().decode(t);break;case 2:o.Data=t.bytes();break;default:t.skipType(i&7);break}}return o})),e),r.encode=t=>Fe(t,r.codec()),r.decode=t=>Me(t,r.codec())})(gt||(gt={}));var Vn=class{_key;constructor(e){this._key=tn(e,Jr)}verify(e,t){return Ru(this._key,t,e)}marshal(){return this._key}get bytes(){return mt.encode({Type:te.Ed25519,Data:this.marshal()}).subarray()}equals(e){return ie(this.bytes,e.bytes)}hash(){let e=Ae.digest(this.bytes);return Qe(e)?e.then(({bytes:t})=>t):e.bytes}},xr=class{_key;_publicKey;constructor(e,t){this._key=tn(e,Tt),this._publicKey=tn(t,Jr)}sign(e){return Au(this._key,e)}get public(){return new Vn(this._publicKey)}marshal(){return this._key}get bytes(){return gt.encode({Type:te.Ed25519,Data:this.marshal()}).subarray()}equals(e){return ie(this.bytes,e.bytes)}async hash(){let e=Ae.digest(this.bytes),t;return Qe(e)?{bytes:t}=await e:t=e.bytes,t}async id(){let e=$t.digest(this.public.bytes);return ne.encode(e.bytes).substring(1)}async export(e,t="libp2p-key"){if(t==="libp2p-key")return Qr(this.bytes,e);throw new y(`export format '${t}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function dg(r){if(r.length>Tt){r=tn(r,Tt+Jr);let n=r.subarray(0,Tt),o=r.subarray(Tt,r.length);return new xr(n,o)}r=tn(r,Tt);let e=r.subarray(0,Tt),t=r.subarray(Jr);return new xr(e,t)}function pg(r){return r=tn(r,Jr),new Vn(r)}async function mg(){let{privateKey:r,publicKey:e}=xu();return new xr(r,e)}async function Pu(r){let{privateKey:e,publicKey:t}=vu(r);return new xr(e,t)}function tn(r,e){if(r=Uint8Array.from(r??[]),r.length!==e)throw new y(`Key must be a Uint8Array of length ${e}, got ${r.length}`,"ERR_INVALID_KEY_TYPE");return r}function K(r,e="utf8"){let t=Ro[e];if(t==null)throw new Error(`Unsupported encoding "${e}"`);return t.encoder.encode(r).substring(1)}var sc={};be(sc,{MAX_RSA_KEY_SIZE:()=>Jn,RsaPrivateKey:()=>an,RsaPublicKey:()=>Zn,fromJwk:()=>Hg,generateKeyPair:()=>$g,unmarshalRsaPrivateKey:()=>nc,unmarshalRsaPublicKey:()=>Kg});function vr(r){if(isNaN(r)||r<=0)throw new y("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Yr(r)}var tr={};be(tr,{exportToPem:()=>Og,importFromPem:()=>Ug,jwkToPkcs1:()=>Lg,jwkToPkix:()=>Dg,pkcs1ToJwk:()=>Cg,pkixToJwk:()=>kg});var Ho=class extends Gr{constructor(e,t){super(),this.finished=!1,this.destroyed=!1,_o(e);let n=Gt(t);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let o=this.blockLen,s=new Uint8Array(o);s.set(n.length>o?e.create().update(n).digest():n);for(let i=0;i<s.length;i++)s[i]^=54;this.iHash.update(s),this.oHash=e.create();for(let i=0;i<s.length;i++)s[i]^=106;this.oHash.update(s),s.fill(0)}update(e){return qr(this),this.iHash.update(e),this}digestInto(e){qr(this),$r(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:t,iHash:n,finished:o,destroyed:s,blockLen:i,outputLen:a}=this;return e=e,e.finished=o,e.destroyed=s,e.blockLen=i,e.outputLen=a,e.oHash=t._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Kn=(r,e,t)=>new Ho(r,e).update(t).digest();Kn.create=(r,e)=>new Ho(r,e);function gg(r,e,t,n){_o(r);let o=nu({dkLen:32,asyncTick:10},n),{c:s,dkLen:i,asyncTick:a}=o;if(Hr(s),Hr(i),Hr(a),s<1)throw new Error("PBKDF2: iterations (c) should be >= 1");let c=Gt(e),u=Gt(t),f=new Uint8Array(i),l=Kn.create(r,c),h=l._cloneInto().update(u);return{c:s,dkLen:i,asyncTick:a,DK:f,PRF:l,PRFSalt:h}}function yg(r,e,t,n,o){return r.destroy(),e.destroy(),n&&n.destroy(),o.fill(0),t}async function Xa(r,e,t,n){let{c:o,dkLen:s,asyncTick:i,DK:a,PRF:c,PRFSalt:u}=gg(r,e,t,n),f,l=new Uint8Array(4),h=zr(l),g=new Uint8Array(c.outputLen);for(let d=1,p=0;p<s;d++,p+=c.outputLen){let m=a.subarray(p,p+c.outputLen);h.setInt32(0,d,!1),(f=u._cloneInto(f)).update(l).digestInto(g),m.set(g.subarray(0,m.length)),await ru(o-1,i,()=>{c._cloneInto(f).update(g).digestInto(g);for(let w=0;w<m.length;w++)m[w]^=g[w]})}return yg(c,u,a,f,g)}var H=Ft(Ou());function Ar(r,e){let t=0;if(r.length===1)return r[0];for(let n=r.length-1;n>=0;n--)t+=r[r.length-1-n]*Math.pow(2,e*n);return t}function Jt(r,e,t=-1){let n=t,o=r,s=0,i=Math.pow(2,e);for(let a=1;a<8;a++){if(r<i){let c;if(n<0)c=new ArrayBuffer(a),s=a;else{if(n<a)return new ArrayBuffer(0);c=new ArrayBuffer(n),s=n}let u=new Uint8Array(c);for(let f=a-1;f>=0;f--){let l=Math.pow(2,f*e);u[s-f-1]=Math.floor(o/l),o-=u[s-f-1]*l}return c}i*=Math.pow(2,e)}return new ArrayBuffer(0)}function Go(...r){let e=0,t=0;for(let s of r)e+=s.length;let n=new ArrayBuffer(e),o=new Uint8Array(n);for(let s of r)o.set(s,t),t+=s.length;return o}function Ja(){let r=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){let a=r[0]===255&&r[1]&128,c=r[0]===0&&(r[1]&128)===0;(a||c)&&this.warnings.push("Needlessly long format")}let e=new ArrayBuffer(this.valueHex.byteLength),t=new Uint8Array(e);for(let a=0;a<this.valueHex.byteLength;a++)t[a]=0;t[0]=r[0]&128;let n=Ar(t,8),o=new ArrayBuffer(this.valueHex.byteLength),s=new Uint8Array(o);for(let a=0;a<this.valueHex.byteLength;a++)s[a]=r[a];return s[0]&=127,Ar(s,8)-n}function Uu(r){let e=r<0?r*-1:r,t=128;for(let n=1;n<8;n++){if(e<=t){if(r<0){let i=t-e,a=Jt(i,8,n),c=new Uint8Array(a);return c[0]|=128,a}let o=Jt(e,8,n),s=new Uint8Array(o);if(s[0]&128){let i=o.slice(0),a=new Uint8Array(i);o=new ArrayBuffer(o.byteLength+1),s=new Uint8Array(o);for(let c=0;c<i.byteLength;c++)s[c+1]=a[c];s[0]=0}return o}t*=Math.pow(2,8)}return new ArrayBuffer(0)}function Mu(r,e){if(r.byteLength!==e.byteLength)return!1;let t=new Uint8Array(r),n=new Uint8Array(e);for(let o=0;o<t.length;o++)if(t[o]!==n[o])return!1;return!0}function qe(r,e){let t=r.toString(10);if(e<t.length)return"";let n=e-t.length,o=new Array(n);for(let i=0;i<n;i++)o[i]="0";return o.join("").concat(t)}var px=Math.log(2);function zo(){if(typeof BigInt>"u")throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Qa(r){let e=0,t=0;for(let o=0;o<r.length;o++){let s=r[o];e+=s.byteLength}let n=new Uint8Array(e);for(let o=0;o<r.length;o++){let s=r[o];n.set(new Uint8Array(s),t),t+=s.byteLength}return n.buffer}function Dt(r,e,t,n){return e instanceof Uint8Array?e.byteLength?t<0?(r.error="Wrong parameter: inputOffset less than zero",!1):n<0?(r.error="Wrong parameter: inputLength less than zero",!1):e.byteLength-t-n<0?(r.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):!0:(r.error="Wrong parameter: inputBuffer has zero length",!1):(r.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}var $n=class{constructor(){this.items=[]}write(e){this.items.push(e)}final(){return Qa(this.items)}},Hn=[new Uint8Array([1])],Fu="0123456789";var on="",ct=new ArrayBuffer(0),ec=new Uint8Array(0),qn="EndOfContent",Ku="OCTET STRING",Hu="BIT STRING";function Pt(r){var e;return e=class extends r{constructor(...n){var o;super(...n);let s=n[0]||{};this.isHexOnly=(o=s.isHexOnly)!==null&&o!==void 0?o:!1,this.valueHexView=s.valueHex?H.BufferSourceConverter.toUint8Array(s.valueHex):ec}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(n){this.valueHexView=new Uint8Array(n)}fromBER(n,o,s){let i=n instanceof ArrayBuffer?new Uint8Array(n):n;if(!Dt(this,i,o,s))return-1;let a=o+s;return this.valueHexView=i.subarray(o,a),this.valueHexView.length?(this.blockLength=s,a):(this.warnings.push("Zero buffer length"),o)}toBER(n=!1){return this.isHexOnly?n?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",ct)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:H.Convert.ToHex(this.valueHexView)}}},e.NAME="hexBlock",e}var Ct=class{constructor({blockLength:e=0,error:t=on,warnings:n=[],valueBeforeDecode:o=ec}={}){this.blockLength=e,this.error=t,this.warnings=n,this.valueBeforeDecodeView=H.BufferSourceConverter.toUint8Array(o)}static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(e){this.valueBeforeDecodeView=new Uint8Array(e)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:H.Convert.ToHex(this.valueBeforeDecodeView)}}};Ct.NAME="baseBlock";var De=class extends Ct{fromBER(e,t,n){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(e,t){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}};De.NAME="valueBlock";var Yo=class extends Pt(Ct){constructor({idBlock:e={}}={}){var t,n,o,s;super(),e?(this.isHexOnly=(t=e.isHexOnly)!==null&&t!==void 0?t:!1,this.valueHexView=e.valueHex?H.BufferSourceConverter.toUint8Array(e.valueHex):ec,this.tagClass=(n=e.tagClass)!==null&&n!==void 0?n:-1,this.tagNumber=(o=e.tagNumber)!==null&&o!==void 0?o:-1,this.isConstructed=(s=e.isConstructed)!==null&&s!==void 0?s:!1):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(e=!1){let t=0;switch(this.tagClass){case 1:t|=0;break;case 2:t|=64;break;case 3:t|=128;break;case 4:t|=192;break;default:return this.error="Unknown tag class",ct}if(this.isConstructed&&(t|=32),this.tagNumber<31&&!this.isHexOnly){let o=new Uint8Array(1);if(!e){let s=this.tagNumber;s&=31,t|=s,o[0]=t}return o.buffer}if(!this.isHexOnly){let o=Jt(this.tagNumber,7),s=new Uint8Array(o),i=o.byteLength,a=new Uint8Array(i+1);if(a[0]=t|31,!e){for(let c=0;c<i-1;c++)a[c+1]=s[c]|128;a[i]=s[i-1]}return a.buffer}let n=new Uint8Array(this.valueHexView.byteLength+1);if(n[0]=t|31,!e){let o=this.valueHexView;for(let s=0;s<o.length-1;s++)n[s+1]=o[s]|128;n[this.valueHexView.byteLength]=o[o.length-1]}return n.buffer}fromBER(e,t,n){let o=H.BufferSourceConverter.toUint8Array(e);if(!Dt(this,o,t,n))return-1;let s=o.subarray(t,t+n);if(s.length===0)return this.error="Zero buffer length",-1;switch(s[0]&192){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=(s[0]&32)===32,this.isHexOnly=!1;let a=s[0]&31;if(a!==31)this.tagNumber=a,this.blockLength=1;else{let c=1,u=this.valueHexView=new Uint8Array(255),f=255;for(;s[c]&128;){if(u[c-1]=s[c]&127,c++,c>=s.length)return this.error="End of input reached before message was fully decoded",-1;if(c===f){f+=255;let h=new Uint8Array(f);for(let g=0;g<u.length;g++)h[g]=u[g];u=this.valueHexView=new Uint8Array(f)}}this.blockLength=c+1,u[c-1]=s[c]&127;let l=new Uint8Array(c);for(let h=0;h<c;h++)l[h]=u[h];u=this.valueHexView=new Uint8Array(c),u.set(l),this.blockLength<=9?this.tagNumber=Ar(u,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(this.tagClass===1&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return t+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}};Yo.NAME="identificationBlock";var Wo=class extends Ct{constructor({lenBlock:e={}}={}){var t,n,o;super(),this.isIndefiniteForm=(t=e.isIndefiniteForm)!==null&&t!==void 0?t:!1,this.longFormUsed=(n=e.longFormUsed)!==null&&n!==void 0?n:!1,this.length=(o=e.length)!==null&&o!==void 0?o:0}fromBER(e,t,n){let o=H.BufferSourceConverter.toUint8Array(e);if(!Dt(this,o,t,n))return-1;let s=o.subarray(t,t+n);if(s.length===0)return this.error="Zero buffer length",-1;if(s[0]===255)return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=s[0]===128,this.isIndefiniteForm)return this.blockLength=1,t+this.blockLength;if(this.longFormUsed=!!(s[0]&128),this.longFormUsed===!1)return this.length=s[0],this.blockLength=1,t+this.blockLength;let i=s[0]&127;if(i>8)return this.error="Too big integer",-1;if(i+1>s.length)return this.error="End of input reached before message was fully decoded",-1;let a=t+1,c=o.subarray(a,a+i);return c[i-1]===0&&this.warnings.push("Needlessly long encoded length"),this.length=Ar(c,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=i+1,t+this.blockLength}toBER(e=!1){let t,n;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return t=new ArrayBuffer(1),e===!1&&(n=new Uint8Array(t),n[0]=128),t;if(this.longFormUsed){let o=Jt(this.length,8);if(o.byteLength>127)return this.error="Too big length",ct;if(t=new ArrayBuffer(o.byteLength+1),e)return t;let s=new Uint8Array(o);n=new Uint8Array(t),n[0]=o.byteLength|128;for(let i=0;i<o.byteLength;i++)n[i+1]=s[i];return t}return t=new ArrayBuffer(1),e===!1&&(n=new Uint8Array(t),n[0]=this.length),t}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}};Wo.NAME="lengthBlock";var I={},_e=class extends Ct{constructor({name:e=on,optional:t=!1,primitiveSchema:n,...o}={},s){super(o),this.name=e,this.optional=t,n&&(this.primitiveSchema=n),this.idBlock=new Yo(o),this.lenBlock=new Wo(o),this.valueBlock=s?new s(o):new De(o)}fromBER(e,t,n){let o=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),o)}toBER(e,t){let n=t||new $n;t||$u(this);let o=this.idBlock.toBER(e);if(n.write(o),this.lenBlock.isIndefiniteForm)n.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(e,n),n.write(new ArrayBuffer(2));else{let s=this.valueBlock.toBER(e);this.lenBlock.length=s.byteLength;let i=this.lenBlock.toBER(e);n.write(i),n.write(s)}return t?ct:n.final()}toJSON(){let e={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(e.primitiveSchema=this.primitiveSchema.toJSON()),e}toString(e="ascii"){return e==="ascii"?this.onAsciiEncoding():H.Convert.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${H.Convert.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(e){if(this===e)return!0;if(!(e instanceof this.constructor))return!1;let t=this.toBER(),n=e.toBER();return Mu(t,n)}};_e.NAME="BaseBlock";function $u(r){if(r instanceof I.Constructed)for(let e of r.valueBlock.value)$u(e)&&(r.lenBlock.isIndefiniteForm=!0);return!!r.lenBlock.isIndefiniteForm}var jo=class extends _e{constructor({value:e=on,...t}={},n){super(t,n),e&&this.fromString(e)}getValue(){return this.valueBlock.value}setValue(e){this.valueBlock.value=e}fromBER(e,t,n){let o=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),o)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}};jo.NAME="BaseStringBlock";var Xo=class extends Pt(De){constructor({isHexOnly:e=!0,...t}={}){super(t),this.isHexOnly=e}};Xo.NAME="PrimitiveValueBlock";var qu,Zo=class extends _e{constructor(e={}){super(e,Xo),this.idBlock.isConstructed=!1}};qu=Zo;I.Primitive=qu;Zo.NAME="PRIMITIVE";function Sg(r,e){if(r instanceof e)return r;let t=new e;return t.idBlock=r.idBlock,t.lenBlock=r.lenBlock,t.warnings=r.warnings,t.valueBeforeDecodeView=r.valueBeforeDecodeView,t}function Ns(r,e=0,t=r.length){let n=e,o=new _e({},De),s=new Ct;if(!Dt(s,r,e,t))return o.error=s.error,{offset:-1,result:o};if(!r.subarray(e,e+t).length)return o.error="Zero buffer length",{offset:-1,result:o};let a=o.idBlock.fromBER(r,e,t);if(o.idBlock.warnings.length&&o.warnings.concat(o.idBlock.warnings),a===-1)return o.error=o.idBlock.error,{offset:-1,result:o};if(e=a,t-=o.idBlock.blockLength,a=o.lenBlock.fromBER(r,e,t),o.lenBlock.warnings.length&&o.warnings.concat(o.lenBlock.warnings),a===-1)return o.error=o.lenBlock.error,{offset:-1,result:o};if(e=a,t-=o.lenBlock.blockLength,!o.idBlock.isConstructed&&o.lenBlock.isIndefiniteForm)return o.error="Indefinite length form used for primitive encoding form",{offset:-1,result:o};let c=_e;switch(o.idBlock.tagClass){case 1:if(o.idBlock.tagNumber>=37&&o.idBlock.isHexOnly===!1)return o.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:o};switch(o.idBlock.tagNumber){case 0:if(o.idBlock.isConstructed&&o.lenBlock.length>0)return o.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:o};c=I.EndOfContent;break;case 1:c=I.Boolean;break;case 2:c=I.Integer;break;case 3:c=I.BitString;break;case 4:c=I.OctetString;break;case 5:c=I.Null;break;case 6:c=I.ObjectIdentifier;break;case 10:c=I.Enumerated;break;case 12:c=I.Utf8String;break;case 13:c=I.RelativeObjectIdentifier;break;case 14:c=I.TIME;break;case 15:return o.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:o};case 16:c=I.Sequence;break;case 17:c=I.Set;break;case 18:c=I.NumericString;break;case 19:c=I.PrintableString;break;case 20:c=I.TeletexString;break;case 21:c=I.VideotexString;break;case 22:c=I.IA5String;break;case 23:c=I.UTCTime;break;case 24:c=I.GeneralizedTime;break;case 25:c=I.GraphicString;break;case 26:c=I.VisibleString;break;case 27:c=I.GeneralString;break;case 28:c=I.UniversalString;break;case 29:c=I.CharacterString;break;case 30:c=I.BmpString;break;case 31:c=I.DATE;break;case 32:c=I.TimeOfDay;break;case 33:c=I.DateTime;break;case 34:c=I.Duration;break;default:{let u=o.idBlock.isConstructed?new I.Constructed:new I.Primitive;u.idBlock=o.idBlock,u.lenBlock=o.lenBlock,u.warnings=o.warnings,o=u}}break;case 2:case 3:case 4:default:c=o.idBlock.isConstructed?I.Constructed:I.Primitive}return o=Sg(o,c),a=o.fromBER(r,e,o.lenBlock.isIndefiniteForm?t:o.lenBlock.length),o.valueBeforeDecodeView=r.subarray(n,n+o.blockLength),{offset:a,result:o}}function sn(r){if(!r.byteLength){let e=new _e({},De);return e.error="Input buffer has zero length",{offset:-1,result:e}}return Ns(H.BufferSourceConverter.toUint8Array(r).slice(),0,r.byteLength)}function Ig(r,e){return r?1:e}var yt=class extends De{constructor({value:e=[],isIndefiniteForm:t=!1,...n}={}){super(n),this.value=e,this.isIndefiniteForm=t}fromBER(e,t,n){let o=H.BufferSourceConverter.toUint8Array(e);if(!Dt(this,o,t,n))return-1;if(this.valueBeforeDecodeView=o.subarray(t,t+n),this.valueBeforeDecodeView.length===0)return this.warnings.push("Zero buffer length"),t;let s=t;for(;Ig(this.isIndefiniteForm,n)>0;){let i=Ns(o,s,n);if(i.offset===-1)return this.error=i.result.error,this.warnings.concat(i.result.warnings),-1;if(s=i.offset,this.blockLength+=i.result.blockLength,n-=i.result.blockLength,this.value.push(i.result),this.isIndefiniteForm&&i.result.constructor.NAME===qn)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===qn?this.value.pop():this.warnings.push("No EndOfContent block encoded")),s}toBER(e,t){let n=t||new $n;for(let o=0;o<this.value.length;o++)this.value[o].toBER(e,n);return t?ct:n.final()}toJSON(){let e={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(let t of this.value)e.value.push(t.toJSON());return e}};yt.NAME="ConstructedValueBlock";var Gu,Qt=class extends _e{constructor(e={}){super(e,yt),this.idBlock.isConstructed=!0}fromBER(e,t,n){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;let o=this.valueBlock.fromBER(e,t,this.lenBlock.isIndefiniteForm?n:this.lenBlock.length);return o===-1?(this.error=this.valueBlock.error,o):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),o)}onAsciiEncoding(){let e=[];for(let n of this.valueBlock.value)e.push(n.toString("ascii").split(`
3
3
  `).map(o=>` ${o}`).join(`
4
4
  `));let t=this.idBlock.tagClass===3?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return e.length?`${t} :
5
5
  ${e.join(`
@@ -17,7 +17,7 @@ ${e.join(`
17
17
  `),t),t.log.trace('handle: responded with "%s" for "%s"',o,o),{stream:n.unwrap(),protocol:o};if(o==="ls"){let s=new we(...e.map(i=>Mi.single(D(`${i}
18
18
  `))),D(`
19
19
  `));t.log.trace('handle: respond with "%s" for %s',e,o),await Or(n,s,t),t.log.trace('handle: responded with "%s" for %s',e,o);continue}t.log('handle: respond with "na" for "%s"',o),await Or(n,D(`na
20
- `),t),t.log('handle: responded with "na" for "%s"',o)}}var ew=500,xl=class{id;remoteAddr;remotePeer;direction;timeline;multiplexer;encryption;status;transient;log;tags;_newStream;_close;_abort;_getStreams;constructor(e){let{remoteAddr:t,remotePeer:n,newStream:o,close:s,abort:i,getStreams:a}=e;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=t,this.remotePeer=n,this.direction=e.direction,this.status="open",this.timeline=e.timeline,this.multiplexer=e.multiplexer,this.encryption=e.encryption,this.transient=e.transient??!1,this.log=e.logger.forComponent(`libp2p:connection:${this.direction}:${this.id}`),this.remoteAddr.getPeerId()==null&&(this.remoteAddr=this.remoteAddr.encapsulate(`/p2p/${this.remotePeer}`)),this._newStream=o,this._close=s,this._abort=i,this._getStreams=a,this.tags=[]}[Symbol.toStringTag]="Connection";[Ll]=!0;get streams(){return this._getStreams()}async newStream(e,t){if(this.status==="closing")throw new y("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.status==="closed")throw new y("the connection is closed","ERR_CONNECTION_CLOSED");if(Array.isArray(e)||(e=[e]),this.transient&&t?.runOnTransientConnection!==!0)throw new y("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");let n=await this._newStream(e,t);return n.direction="outbound",n}async close(e={}){if(!(this.status==="closed"||this.status==="closing")){if(this.log("closing connection to %a",this.remoteAddr),this.status="closing",e.signal==null){let t=AbortSignal.timeout(ew);Oe(1/0,t),e={...e,signal:t}}try{this.log.trace("closing all streams"),await Promise.all(this.streams.map(async t=>t.close(e))),this.log.trace("closing underlying transport"),await this._close(e),this.log.trace("updating timeline with close time"),this.status="closed",this.timeline.close=Date.now()}catch(t){this.log.error("error encountered during graceful close of connection to %a",this.remoteAddr,t),this.abort(t)}}}abort(e){this.log.error("aborting connection to %a due to error",this.remoteAddr,e),this.status="closing",this.streams.forEach(t=>{t.abort(e)}),this.log.error("all streams aborted",this.streams.length),this._abort(e),this.timeline.close=Date.now(),this.status="closed"}};function Rd(r){return new xl(r)}var tw=3e4;function rw(r,e){try{let{options:t}=e.getHandler(r);return t.maxInboundStreams}catch(t){if(t.code!==B.ERR_NO_HANDLER_FOR_PROTOCOL)throw t}return dl}function nw(r,e,t={}){try{let{options:n}=e.getHandler(r);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.code!==B.ERR_NO_HANDLER_FOR_PROTOCOL)throw n}return t.maxOutboundStreams??pl}function _d(r,e,t){let n=0;return t.streams.forEach(o=>{o.direction===e&&o.protocol===r&&n++}),n}var Fi=class{components;connectionEncryption;muxers;inboundUpgradeTimeout;events;constructor(e,t){this.components=e,this.connectionEncryption=new Map,t.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,t.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=t.inboundUpgradeTimeout??3e4,this.events=e.events}async shouldBlockConnection(e,t,n){let o=this.components.connectionGater[n];if(o!==void 0&&await o(e,t))throw new y(`The multiaddr connection is blocked by gater.${n}`,B.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,t){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new y("connection denied",B.ERR_CONNECTION_DENIED);let o,s,i,a,c,u=AbortSignal.timeout(this.inboundUpgradeTimeout),f=()=>{e.abort(new y("inbound upgrade timeout",vo))};u.addEventListener("abort",f,{once:!0}),Oe(1/0,u);try{if(await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new y("The multiaddr connection is blocked by gater.acceptConnection",B.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),e.log("starting the inbound connection upgrade");let l=e;if(t?.skipProtection!==!0){let h=this.components.connectionProtector;h!=null&&(e.log("protecting the inbound connection"),l=await h.protect(e))}try{if(o=l,t?.skipEncryption!==!0){({conn:o,remotePeer:s,protocol:c}=await this._encryptInbound(l));let h={...l,...o};await this.shouldBlockConnection(s,h,"denyInboundEncryptedConnection")}else{let h=e.remoteAddr.getPeerId();if(h==null)throw new y("inbound connection that skipped encryption must have a peer id",B.ERR_INVALID_MULTIADDR);let g=ye(h);c="native",s=g}if(i=o,t?.muxerFactory!=null)a=t.muxerFactory;else if(this.muxers.size>0){let h=await this._multiplexInbound({...l,...o},this.muxers);a=h.muxerFactory,i=h.stream}}catch(h){throw e.log.error("failed to upgrade inbound connection",h),h}return await this.shouldBlockConnection(s,e,"denyInboundUpgradedConnection"),e.log("successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:e,upgradedConn:i,muxerFactory:a,remotePeer:s,transient:t?.transient})}finally{u.removeEventListener("abort",f),this.components.connectionManager.afterUpgradeInbound()}}async upgradeOutbound(e,t){let n=e.remoteAddr.getPeerId(),o;n!=null&&(o=ye(n),await this.shouldBlockConnection(o,e,"denyOutboundConnection"));let s,i,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),e.log("starting the outbound connection upgrade");let f=e;if(t?.skipProtection!==!0){let l=this.components.connectionProtector;l!=null&&(f=await l.protect(e))}try{if(s=f,t?.skipEncryption!==!0){({conn:s,remotePeer:i,protocol:c}=await this._encryptOutbound(f,o));let l={...f,...s};await this.shouldBlockConnection(i,l,"denyOutboundEncryptedConnection")}else{if(o==null)throw new y("Encryption was skipped but no peer id was passed",B.ERR_INVALID_PEER);c="native",i=o}if(a=s,t?.muxerFactory!=null)u=t.muxerFactory;else if(this.muxers.size>0){let l=await this._multiplexOutbound({...f,...s},this.muxers);u=l.muxerFactory,a=l.stream}}catch(l){throw e.log.error("failed to upgrade outbound connection",l),await e.close(l),l}return await this.shouldBlockConnection(i,e,"denyOutboundUpgradedConnection"),e.log("successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:e,upgradedConn:a,muxerFactory:u,remotePeer:i,transient:t?.transient})}_createConnection(e){let{cryptoProtocol:t,direction:n,maConn:o,upgradedConn:s,remotePeer:i,muxerFactory:a,transient:c}=e,u,f,l;a!=null&&(u=a.createStreamMuxer({direction:n,onIncomingStream:d=>{l!=null&&Promise.resolve().then(async()=>{let p=this.components.registrar.getProtocols(),{stream:m,protocol:w}=await wo(d,p,{log:d.log,yieldBytes:!1});if(l==null)return;l.log("incoming stream opened on %s",w);let x=rw(w,this.components.registrar);if(_d(w,"inbound",l)===x){let A=new y(`Too many inbound protocol streams for protocol "${w}" - limit ${x}`,B.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS);throw d.abort(A),A}d.source=m.source,d.sink=m.sink,d.protocol=w,m.closeWrite!=null&&(d.closeWrite=m.closeWrite),m.closeRead!=null&&(d.closeRead=m.closeRead),m.close!=null&&(d.close=m.close),await this.components.peerStore.merge(i,{protocols:[w]}),this.components.metrics?.trackProtocolStream(d,l),this._onStream({connection:l,stream:d,protocol:w})}).catch(async p=>{l.log.error("error handling incoming stream id %s",d.id,p.message,p.code,p.stack),d.timeline.close==null&&await d.close()})}}),f=async(d,p={})=>{if(u==null)throw new y("Stream is not multiplexed",B.ERR_MUXER_UNAVAILABLE);l.log("starting new stream for protocols %s",d);let m=await u.newStream();l.log.trace("started new stream %s for protocols %s",m.id,d);try{if(p.signal==null){m.log("no abort signal was passed while trying to negotiate protocols %s falling back to default timeout",d);let v=AbortSignal.timeout(tw);Oe(1/0,v),p={...p,signal:v}}m.log.trace("selecting protocol from protocols %s",d);let{stream:w,protocol:x}=await yo(m,d,{...p,log:m.log,yieldBytes:!0});m.log("selected protocol %s",x);let b=nw(x,this.components.registrar,p);if(_d(x,"outbound",l)>=b){let v=new y(`Too many outbound protocol streams for protocol "${x}" - limit ${b}`,B.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw m.abort(v),v}return await this.components.peerStore.merge(i,{protocols:[x]}),m.source=w.source,m.sink=w.sink,m.protocol=x,w.closeWrite!=null&&(m.closeWrite=w.closeWrite),w.closeRead!=null&&(m.closeRead=w.closeRead),w.close!=null&&(m.close=w.close),this.components.metrics?.trackProtocolStream(m,l),m}catch(w){throw l.log.error("could not create new stream for protocols %s",d,w),m.timeline.close==null&&m.abort(w),w.code!=null?w:new y(String(w),B.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([u.sink(s.source),s.sink(u.source)]).catch(d=>{l.log.error("error piping data through muxer",d)}));let h=o.timeline;o.timeline=new Proxy(h,{set:(...d)=>(l!=null&&d[1]==="close"&&d[2]!=null&&h.close==null&&(async()=>{try{l.status==="open"&&await l.close()}catch(p){l.log.error("error closing connection after timeline close",p)}finally{this.events.safeDispatchEvent("connection:close",{detail:l})}})().catch(p=>{l.log.error("error thrown while dispatching connection:close event",p)}),Reflect.set(...d))}),o.timeline.upgraded=Date.now();let g=()=>{throw new y("connection is not multiplexed",B.ERR_CONNECTION_NOT_MULTIPLEXED)};return l=Rd({remoteAddr:o.remoteAddr,remotePeer:i,status:"open",direction:n,timeline:o.timeline,multiplexer:u?.protocol,encryption:t,transient:c,logger:this.components.logger,newStream:f??g,getStreams:()=>u!=null?u.streams:[],close:async d=>{u!=null&&(l.log.trace("close muxer"),await u.close(d)),l.log.trace("close maconn"),await o.close(d),l.log.trace("closed maconn")},abort:d=>{o.abort(d),u?.abort(d)}}),this.events.safeDispatchEvent("connection:open",{detail:l}),l}_onStream(e){let{connection:t,stream:n,protocol:o}=e,{handler:s,options:i}=this.components.registrar.getHandler(o);if(t.transient&&i.runOnTransientConnection!==!0)throw new y("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");s({connection:t,stream:n})}async _encryptInbound(e){let t=Array.from(this.connectionEncryption.keys());e.log("handling inbound crypto protocol selection",t);try{let{stream:n,protocol:o}=await wo(e,t,{log:e.log}),s=this.connectionEncryption.get(o);if(s==null)throw new Error(`no crypto module found for ${o}`);return e.log("encrypting inbound connection using",o),{...await s.secureInbound(this.components.peerId,n),protocol:o}}catch(n){throw e.log.error("encrypting inbound connection to %p failed",n),new y(n.message,B.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,t){let n=Array.from(this.connectionEncryption.keys());e.log("selecting outbound crypto protocol",n);try{e.log.trace("selecting encrypter from %s",n);let{stream:o,protocol:s}=await yo(e,n,{log:e.log,yieldBytes:!0}),i=this.connectionEncryption.get(s);if(i==null)throw new Error(`no crypto module found for ${s}`);return e.log("encrypting outbound connection to %p using %s",t,i),{...await i.secureOutbound(this.components.peerId,o,t),protocol:s}}catch(o){throw e.log.error("encrypting outbound connection to %p failed",o),new y(o.message,B.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,t){let n=Array.from(t.keys());e.log("outbound selecting muxer %s",n);try{e.log.trace("selecting stream muxer from %s",n);let{stream:o,protocol:s}=await yo(e,n,{log:e.log,yieldBytes:!0});e.log("selected %s as muxer protocol",s);let i=t.get(s);return{stream:o,muxerFactory:i}}catch(o){throw e.log.error("error multiplexing outbound connection",o),new y(String(o),B.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,t){let n=Array.from(t.keys());e.log("inbound handling muxers %s",n);try{let{stream:o,protocol:s}=await wo(e,n,{log:e.log}),i=t.get(s);return{stream:o,muxerFactory:i}}catch(o){throw e.log.error("error multiplexing inbound connection",o),new y(String(o),B.ERR_MUXER_UNAVAILABLE)}}};var Sd="1.3.0-59a97b61b",Id="libp2p";var vl=class extends hr{peerId;peerStore;contentRouting;peerRouting;metrics;services;logger;status;components;log;constructor(e){super(),this.status="stopped";let t=new hr,n=t.dispatchEvent.bind(t);t.dispatchEvent=a=>{let c=n(a),u=this.dispatchEvent(new zi(a.type,{detail:a.detail}));return c||u},Oe(1/0,t),this.peerId=e.peerId,this.logger=e.logger??Ds(),this.log=this.logger.forComponent("libp2p"),this.services={};let o=this.components=Fh({peerId:e.peerId,privateKey:e.privateKey,nodeInfo:e.nodeInfo??{name:Id,version:Sd},logger:this.logger,events:t,datastore:e.datastore??new Xs,connectionGater:Hh(e.connectionGater),dns:e.dns});this.peerStore=this.configureComponent("peerStore",new Ws(o,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...e.peerStore})),e.metrics!=null&&(this.metrics=this.configureComponent("metrics",e.metrics(this.components))),o.events.addEventListener("peer:update",a=>{if(a.detail.previous==null){let c={id:a.detail.peer.id,multiaddrs:a.detail.peer.addresses.map(u=>u.multiaddr)};o.events.safeDispatchEvent("peer:discovery",{detail:c})}}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(o)),this.components.upgrader=new Fi(this.components,{connectionEncryption:(e.connectionEncryption??[]).map((a,c)=>this.configureComponent(`connection-encryption-${c}`,a(this.components))),muxers:(e.streamMuxers??[]).map((a,c)=>this.configureComponent(`stream-muxers-${c}`,a(this.components))),inboundUpgradeTimeout:e.connectionManager.inboundUpgradeTimeout}),this.configureComponent("transportManager",new ki(this.components,e.transportManager)),this.configureComponent("connectionManager",new Bi(this.components,e.connectionManager)),this.configureComponent("registrar",new Li(this.components)),this.configureComponent("addressManager",new Zs(this.components,e.addresses));let s=(e.peerRouters??[]).map((a,c)=>this.configureComponent(`peer-router-${c}`,a(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new Ci(this.components,{routers:s}));let i=(e.contentRouters??[]).map((a,c)=>this.configureComponent(`content-router-${c}`,a(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new Ti(this.components,{routers:i})),(e.peerDiscovery??[]).forEach((a,c)=>{this.configureComponent(`peer-discovery-${c}`,a(this.components)).addEventListener("peer",f=>{this.#e(f)})}),e.transports?.forEach((a,c)=>{this.components.transportManager.add(this.configureComponent(`transport-${c}`,a(this.components)))}),e.services!=null)for(let a of Object.keys(e.services)){let c=e.services[a],u=c(this.components);if(u==null){this.log.error("service factory %s returned null or undefined instance",a);continue}this.services[a]=u,this.configureComponent(a,u),u[Ki]!=null&&(this.log("registering service %s for content routing",a),i.push(u[Ki])),u[qi]!=null&&(this.log("registering service %s for peer routing",a),s.push(u[qi])),u[Hi]!=null&&(this.log("registering service %s for peer discovery",a),u[Hi].addEventListener?.("peer",f=>{this.#e(f)}))}}configureComponent(e,t){return t==null&&this.log.error("component %s was null or undefined",e),this.components[e]=t,t}async start(){if(this.status==="stopped"){this.status="starting",this.log("libp2p is starting");try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),this.status="started",this.safeDispatchEvent("start",{detail:this}),this.log("libp2p has started")}catch(e){throw this.log.error("An error occurred starting libp2p",e),this.status="started",await this.stop(),e}}}async stop(){this.status==="started"&&(this.log("libp2p is stopping"),this.status="stopping",await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.status="stopped",this.safeDispatchEvent("stop",{detail:this}),this.log("libp2p has stopped"))}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new ut;for(let t of this.components.connectionManager.getConnections())e.add(t.remotePeer);return Array.from(e)}async dial(e,t={}){return this.components.connectionManager.openConnection(e,{priority:75,...t})}async dialProtocol(e,t,n={}){if(t==null)throw new y("no protocols were provided to open a stream",B.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(t=Array.isArray(t)?t:[t],t.length===0)throw new y("no protocols were provided to open a stream",B.ERR_INVALID_PROTOCOLS_FOR_STREAM);return(await this.dial(e,n)).newStream(t,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(e,t={}){sr(e)&&(e=ye(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e,t)}async getPublicKey(e,t={}){if(this.log("getPublicKey %p",e),e.publicKey!=null)return e.publicKey;try{let s=await this.peerStore.get(e);if(s.id.publicKey!=null)return s.id.publicKey}catch(s){if(s.code!==B.ERR_NOT_FOUND)throw s}let n=Re([D("/pk/"),e.multihash.digest]),o=await this.contentRouting.get(n,t);return to(o),await this.peerStore.patch(e,{publicKey:o}),o}async handle(e,t,n){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async o=>{await this.components.registrar.handle(o,t,n)}))}async unhandle(e){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async t=>{await this.components.registrar.unhandle(t)}))}async register(e,t){return this.components.registrar.register(e,t)}unregister(e){this.components.registrar.unregister(e)}#e(e){let{detail:t}=e;if(t.id.toString()===this.peerId.toString()){this.log.error(new Error(B.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(t.id,{multiaddrs:t.multiaddrs}).catch(n=>{this.log.error(n)})}};async function Bd(r={}){let e=r.peerId??=await Qf();if(e.privateKey==null)throw new y("peer id was missing private key","ERR_MISSING_PRIVATE_KEY");return r.privateKey??=await ro(e.privateKey),new vl(await hd(r))}async function sw(r={}){let e=await Bd(r);return r.start!==!1&&await e.start(),e}return Hd(iw);})();
20
+ `),t),t.log('handle: responded with "na" for "%s"',o)}}var ew=500,xl=class{id;remoteAddr;remotePeer;direction;timeline;multiplexer;encryption;status;transient;log;tags;_newStream;_close;_abort;_getStreams;constructor(e){let{remoteAddr:t,remotePeer:n,newStream:o,close:s,abort:i,getStreams:a}=e;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=t,this.remotePeer=n,this.direction=e.direction,this.status="open",this.timeline=e.timeline,this.multiplexer=e.multiplexer,this.encryption=e.encryption,this.transient=e.transient??!1,this.log=e.logger.forComponent(`libp2p:connection:${this.direction}:${this.id}`),this.remoteAddr.getPeerId()==null&&(this.remoteAddr=this.remoteAddr.encapsulate(`/p2p/${this.remotePeer}`)),this._newStream=o,this._close=s,this._abort=i,this._getStreams=a,this.tags=[]}[Symbol.toStringTag]="Connection";[Ll]=!0;get streams(){return this._getStreams()}async newStream(e,t){if(this.status==="closing")throw new y("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.status==="closed")throw new y("the connection is closed","ERR_CONNECTION_CLOSED");if(Array.isArray(e)||(e=[e]),this.transient&&t?.runOnTransientConnection!==!0)throw new y("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");let n=await this._newStream(e,t);return n.direction="outbound",n}async close(e={}){if(!(this.status==="closed"||this.status==="closing")){if(this.log("closing connection to %a",this.remoteAddr),this.status="closing",e.signal==null){let t=AbortSignal.timeout(ew);Oe(1/0,t),e={...e,signal:t}}try{this.log.trace("closing all streams"),await Promise.all(this.streams.map(async t=>t.close(e))),this.log.trace("closing underlying transport"),await this._close(e),this.log.trace("updating timeline with close time"),this.status="closed",this.timeline.close=Date.now()}catch(t){this.log.error("error encountered during graceful close of connection to %a",this.remoteAddr,t),this.abort(t)}}}abort(e){this.log.error("aborting connection to %a due to error",this.remoteAddr,e),this.status="closing",this.streams.forEach(t=>{t.abort(e)}),this.log.error("all streams aborted",this.streams.length),this._abort(e),this.timeline.close=Date.now(),this.status="closed"}};function Rd(r){return new xl(r)}var tw=3e4;function rw(r,e){try{let{options:t}=e.getHandler(r);return t.maxInboundStreams}catch(t){if(t.code!==B.ERR_NO_HANDLER_FOR_PROTOCOL)throw t}return dl}function nw(r,e,t={}){try{let{options:n}=e.getHandler(r);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.code!==B.ERR_NO_HANDLER_FOR_PROTOCOL)throw n}return t.maxOutboundStreams??pl}function _d(r,e,t){let n=0;return t.streams.forEach(o=>{o.direction===e&&o.protocol===r&&n++}),n}var Fi=class{components;connectionEncryption;muxers;inboundUpgradeTimeout;events;constructor(e,t){this.components=e,this.connectionEncryption=new Map,t.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,t.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=t.inboundUpgradeTimeout??3e4,this.events=e.events}async shouldBlockConnection(e,t,n){let o=this.components.connectionGater[n];if(o!==void 0&&await o(e,t))throw new y(`The multiaddr connection is blocked by gater.${n}`,B.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,t){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new y("connection denied",B.ERR_CONNECTION_DENIED);let o,s,i,a,c,u=AbortSignal.timeout(this.inboundUpgradeTimeout),f=()=>{e.abort(new y("inbound upgrade timeout",vo))};u.addEventListener("abort",f,{once:!0}),Oe(1/0,u);try{if(await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new y("The multiaddr connection is blocked by gater.acceptConnection",B.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),e.log("starting the inbound connection upgrade");let l=e;if(t?.skipProtection!==!0){let h=this.components.connectionProtector;h!=null&&(e.log("protecting the inbound connection"),l=await h.protect(e))}try{if(o=l,t?.skipEncryption!==!0){({conn:o,remotePeer:s,protocol:c}=await this._encryptInbound(l));let h={...l,...o};await this.shouldBlockConnection(s,h,"denyInboundEncryptedConnection")}else{let h=e.remoteAddr.getPeerId();if(h==null)throw new y("inbound connection that skipped encryption must have a peer id",B.ERR_INVALID_MULTIADDR);let g=ye(h);c="native",s=g}if(i=o,t?.muxerFactory!=null)a=t.muxerFactory;else if(this.muxers.size>0){let h=await this._multiplexInbound({...l,...o},this.muxers);a=h.muxerFactory,i=h.stream}}catch(h){throw e.log.error("failed to upgrade inbound connection",h),h}return await this.shouldBlockConnection(s,e,"denyInboundUpgradedConnection"),e.log("successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:e,upgradedConn:i,muxerFactory:a,remotePeer:s,transient:t?.transient})}finally{u.removeEventListener("abort",f),this.components.connectionManager.afterUpgradeInbound()}}async upgradeOutbound(e,t){let n=e.remoteAddr.getPeerId(),o;n!=null&&(o=ye(n),await this.shouldBlockConnection(o,e,"denyOutboundConnection"));let s,i,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),e.log("starting the outbound connection upgrade");let f=e;if(t?.skipProtection!==!0){let l=this.components.connectionProtector;l!=null&&(f=await l.protect(e))}try{if(s=f,t?.skipEncryption!==!0){({conn:s,remotePeer:i,protocol:c}=await this._encryptOutbound(f,o));let l={...f,...s};await this.shouldBlockConnection(i,l,"denyOutboundEncryptedConnection")}else{if(o==null)throw new y("Encryption was skipped but no peer id was passed",B.ERR_INVALID_PEER);c="native",i=o}if(a=s,t?.muxerFactory!=null)u=t.muxerFactory;else if(this.muxers.size>0){let l=await this._multiplexOutbound({...f,...s},this.muxers);u=l.muxerFactory,a=l.stream}}catch(l){throw e.log.error("failed to upgrade outbound connection",l),await e.close(l),l}return await this.shouldBlockConnection(i,e,"denyOutboundUpgradedConnection"),e.log("successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:e,upgradedConn:a,muxerFactory:u,remotePeer:i,transient:t?.transient})}_createConnection(e){let{cryptoProtocol:t,direction:n,maConn:o,upgradedConn:s,remotePeer:i,muxerFactory:a,transient:c}=e,u,f,l;a!=null&&(u=a.createStreamMuxer({direction:n,onIncomingStream:d=>{l!=null&&Promise.resolve().then(async()=>{let p=this.components.registrar.getProtocols(),{stream:m,protocol:w}=await wo(d,p,{log:d.log,yieldBytes:!1});if(l==null)return;l.log("incoming stream opened on %s",w);let x=rw(w,this.components.registrar);if(_d(w,"inbound",l)===x){let A=new y(`Too many inbound protocol streams for protocol "${w}" - limit ${x}`,B.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS);throw d.abort(A),A}d.source=m.source,d.sink=m.sink,d.protocol=w,m.closeWrite!=null&&(d.closeWrite=m.closeWrite),m.closeRead!=null&&(d.closeRead=m.closeRead),m.close!=null&&(d.close=m.close),await this.components.peerStore.merge(i,{protocols:[w]}),this.components.metrics?.trackProtocolStream(d,l),this._onStream({connection:l,stream:d,protocol:w})}).catch(async p=>{l.log.error("error handling incoming stream id %s",d.id,p.message,p.code,p.stack),d.timeline.close==null&&await d.close()})}}),f=async(d,p={})=>{if(u==null)throw new y("Stream is not multiplexed",B.ERR_MUXER_UNAVAILABLE);l.log("starting new stream for protocols %s",d);let m=await u.newStream();l.log.trace("started new stream %s for protocols %s",m.id,d);try{if(p.signal==null){m.log("no abort signal was passed while trying to negotiate protocols %s falling back to default timeout",d);let v=AbortSignal.timeout(tw);Oe(1/0,v),p={...p,signal:v}}m.log.trace("selecting protocol from protocols %s",d);let{stream:w,protocol:x}=await yo(m,d,{...p,log:m.log,yieldBytes:!0});m.log("selected protocol %s",x);let b=nw(x,this.components.registrar,p);if(_d(x,"outbound",l)>=b){let v=new y(`Too many outbound protocol streams for protocol "${x}" - limit ${b}`,B.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw m.abort(v),v}return await this.components.peerStore.merge(i,{protocols:[x]}),m.source=w.source,m.sink=w.sink,m.protocol=x,w.closeWrite!=null&&(m.closeWrite=w.closeWrite),w.closeRead!=null&&(m.closeRead=w.closeRead),w.close!=null&&(m.close=w.close),this.components.metrics?.trackProtocolStream(m,l),m}catch(w){throw l.log.error("could not create new stream for protocols %s",d,w),m.timeline.close==null&&m.abort(w),w.code!=null?w:new y(String(w),B.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([u.sink(s.source),s.sink(u.source)]).catch(d=>{l.log.error("error piping data through muxer",d)}));let h=o.timeline;o.timeline=new Proxy(h,{set:(...d)=>(l!=null&&d[1]==="close"&&d[2]!=null&&h.close==null&&(async()=>{try{l.status==="open"&&await l.close()}catch(p){l.log.error("error closing connection after timeline close",p)}finally{this.events.safeDispatchEvent("connection:close",{detail:l})}})().catch(p=>{l.log.error("error thrown while dispatching connection:close event",p)}),Reflect.set(...d))}),o.timeline.upgraded=Date.now();let g=()=>{throw new y("connection is not multiplexed",B.ERR_CONNECTION_NOT_MULTIPLEXED)};return l=Rd({remoteAddr:o.remoteAddr,remotePeer:i,status:"open",direction:n,timeline:o.timeline,multiplexer:u?.protocol,encryption:t,transient:c,logger:this.components.logger,newStream:f??g,getStreams:()=>u!=null?u.streams:[],close:async d=>{u!=null&&(l.log.trace("close muxer"),await u.close(d)),l.log.trace("close maconn"),await o.close(d),l.log.trace("closed maconn")},abort:d=>{o.abort(d),u?.abort(d)}}),this.events.safeDispatchEvent("connection:open",{detail:l}),l}_onStream(e){let{connection:t,stream:n,protocol:o}=e,{handler:s,options:i}=this.components.registrar.getHandler(o);if(t.transient&&i.runOnTransientConnection!==!0)throw new y("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");s({connection:t,stream:n})}async _encryptInbound(e){let t=Array.from(this.connectionEncryption.keys());e.log("handling inbound crypto protocol selection",t);try{let{stream:n,protocol:o}=await wo(e,t,{log:e.log}),s=this.connectionEncryption.get(o);if(s==null)throw new Error(`no crypto module found for ${o}`);return e.log("encrypting inbound connection using",o),{...await s.secureInbound(this.components.peerId,n),protocol:o}}catch(n){throw e.log.error("encrypting inbound connection to %p failed",n),new y(n.message,B.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,t){let n=Array.from(this.connectionEncryption.keys());e.log("selecting outbound crypto protocol",n);try{e.log.trace("selecting encrypter from %s",n);let{stream:o,protocol:s}=await yo(e,n,{log:e.log,yieldBytes:!0}),i=this.connectionEncryption.get(s);if(i==null)throw new Error(`no crypto module found for ${s}`);return e.log("encrypting outbound connection to %p using %s",t,i),{...await i.secureOutbound(this.components.peerId,o,t),protocol:s}}catch(o){throw e.log.error("encrypting outbound connection to %p failed",o),new y(o.message,B.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,t){let n=Array.from(t.keys());e.log("outbound selecting muxer %s",n);try{e.log.trace("selecting stream muxer from %s",n);let{stream:o,protocol:s}=await yo(e,n,{log:e.log,yieldBytes:!0});e.log("selected %s as muxer protocol",s);let i=t.get(s);return{stream:o,muxerFactory:i}}catch(o){throw e.log.error("error multiplexing outbound connection",o),new y(String(o),B.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,t){let n=Array.from(t.keys());e.log("inbound handling muxers %s",n);try{let{stream:o,protocol:s}=await wo(e,n,{log:e.log}),i=t.get(s);return{stream:o,muxerFactory:i}}catch(o){throw e.log.error("error multiplexing inbound connection",o),new y(String(o),B.ERR_MUXER_UNAVAILABLE)}}};var Sd="1.3.0-bf720c045",Id="libp2p";var vl=class extends hr{peerId;peerStore;contentRouting;peerRouting;metrics;services;logger;status;components;log;constructor(e){super(),this.status="stopped";let t=new hr,n=t.dispatchEvent.bind(t);t.dispatchEvent=a=>{let c=n(a),u=this.dispatchEvent(new zi(a.type,{detail:a.detail}));return c||u},Oe(1/0,t),this.peerId=e.peerId,this.logger=e.logger??Ds(),this.log=this.logger.forComponent("libp2p"),this.services={};let o=this.components=Fh({peerId:e.peerId,privateKey:e.privateKey,nodeInfo:e.nodeInfo??{name:Id,version:Sd},logger:this.logger,events:t,datastore:e.datastore??new Xs,connectionGater:Hh(e.connectionGater),dns:e.dns});this.peerStore=this.configureComponent("peerStore",new Ws(o,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...e.peerStore})),e.metrics!=null&&(this.metrics=this.configureComponent("metrics",e.metrics(this.components))),o.events.addEventListener("peer:update",a=>{if(a.detail.previous==null){let c={id:a.detail.peer.id,multiaddrs:a.detail.peer.addresses.map(u=>u.multiaddr)};o.events.safeDispatchEvent("peer:discovery",{detail:c})}}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(o)),this.components.upgrader=new Fi(this.components,{connectionEncryption:(e.connectionEncryption??[]).map((a,c)=>this.configureComponent(`connection-encryption-${c}`,a(this.components))),muxers:(e.streamMuxers??[]).map((a,c)=>this.configureComponent(`stream-muxers-${c}`,a(this.components))),inboundUpgradeTimeout:e.connectionManager.inboundUpgradeTimeout}),this.configureComponent("transportManager",new ki(this.components,e.transportManager)),this.configureComponent("connectionManager",new Bi(this.components,e.connectionManager)),this.configureComponent("registrar",new Li(this.components)),this.configureComponent("addressManager",new Zs(this.components,e.addresses));let s=(e.peerRouters??[]).map((a,c)=>this.configureComponent(`peer-router-${c}`,a(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new Ci(this.components,{routers:s}));let i=(e.contentRouters??[]).map((a,c)=>this.configureComponent(`content-router-${c}`,a(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new Ti(this.components,{routers:i})),(e.peerDiscovery??[]).forEach((a,c)=>{this.configureComponent(`peer-discovery-${c}`,a(this.components)).addEventListener("peer",f=>{this.#e(f)})}),e.transports?.forEach((a,c)=>{this.components.transportManager.add(this.configureComponent(`transport-${c}`,a(this.components)))}),e.services!=null)for(let a of Object.keys(e.services)){let c=e.services[a],u=c(this.components);if(u==null){this.log.error("service factory %s returned null or undefined instance",a);continue}this.services[a]=u,this.configureComponent(a,u),u[Ki]!=null&&(this.log("registering service %s for content routing",a),i.push(u[Ki])),u[qi]!=null&&(this.log("registering service %s for peer routing",a),s.push(u[qi])),u[Hi]!=null&&(this.log("registering service %s for peer discovery",a),u[Hi].addEventListener?.("peer",f=>{this.#e(f)}))}}configureComponent(e,t){return t==null&&this.log.error("component %s was null or undefined",e),this.components[e]=t,t}async start(){if(this.status==="stopped"){this.status="starting",this.log("libp2p is starting");try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),this.status="started",this.safeDispatchEvent("start",{detail:this}),this.log("libp2p has started")}catch(e){throw this.log.error("An error occurred starting libp2p",e),this.status="started",await this.stop(),e}}}async stop(){this.status==="started"&&(this.log("libp2p is stopping"),this.status="stopping",await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.status="stopped",this.safeDispatchEvent("stop",{detail:this}),this.log("libp2p has stopped"))}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new ut;for(let t of this.components.connectionManager.getConnections())e.add(t.remotePeer);return Array.from(e)}async dial(e,t={}){return this.components.connectionManager.openConnection(e,{priority:75,...t})}async dialProtocol(e,t,n={}){if(t==null)throw new y("no protocols were provided to open a stream",B.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(t=Array.isArray(t)?t:[t],t.length===0)throw new y("no protocols were provided to open a stream",B.ERR_INVALID_PROTOCOLS_FOR_STREAM);return(await this.dial(e,n)).newStream(t,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(e,t={}){sr(e)&&(e=ye(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e,t)}async getPublicKey(e,t={}){if(this.log("getPublicKey %p",e),e.publicKey!=null)return e.publicKey;try{let s=await this.peerStore.get(e);if(s.id.publicKey!=null)return s.id.publicKey}catch(s){if(s.code!==B.ERR_NOT_FOUND)throw s}let n=Re([D("/pk/"),e.multihash.digest]),o=await this.contentRouting.get(n,t);return to(o),await this.peerStore.patch(e,{publicKey:o}),o}async handle(e,t,n){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async o=>{await this.components.registrar.handle(o,t,n)}))}async unhandle(e){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async t=>{await this.components.registrar.unhandle(t)}))}async register(e,t){return this.components.registrar.register(e,t)}unregister(e){this.components.registrar.unregister(e)}#e(e){let{detail:t}=e;if(t.id.toString()===this.peerId.toString()){this.log.error(new Error(B.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(t.id,{multiaddrs:t.multiaddrs}).catch(n=>{this.log.error(n)})}};async function Bd(r={}){let e=r.peerId??=await Qf();if(e.privateKey==null)throw new y("peer id was missing private key","ERR_MISSING_PRIVATE_KEY");return r.privateKey??=await ro(e.privateKey),new vl(await hd(r))}async function sw(r={}){let e=await Bd(r);return r.start!==!1&&await e.start(),e}return Hd(iw);})();
21
21
  /*! Bundled license information:
22
22
 
23
23
  pvtsutils/build/index.js:
@@ -1,3 +1,3 @@
1
- export declare const version = "1.3.0-59a97b61b";
1
+ export declare const version = "1.3.0-bf720c045";
2
2
  export declare const name = "libp2p";
3
3
  //# sourceMappingURL=version.d.ts.map
@@ -1,3 +1,3 @@
1
- export const version = '1.3.0-59a97b61b';
1
+ export const version = '1.3.0-bf720c045';
2
2
  export const name = 'libp2p';
3
3
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "libp2p",
3
- "version": "1.3.0-59a97b61b",
3
+ "version": "1.3.0-bf720c045",
4
4
  "description": "JavaScript implementation of libp2p, a modular peer to peer network stack",
5
5
  "license": "Apache-2.0 OR MIT",
6
6
  "homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/libp2p#readme",
@@ -85,16 +85,16 @@
85
85
  "test:webkit": "aegir test -t browser -f \"./dist/test/**/*.spec.js\" -- --browser webkit"
86
86
  },
87
87
  "dependencies": {
88
- "@libp2p/crypto": "4.0.3-59a97b61b",
89
- "@libp2p/interface": "1.1.4-59a97b61b",
90
- "@libp2p/interface-internal": "1.0.9-59a97b61b",
91
- "@libp2p/logger": "4.0.7-59a97b61b",
92
- "@libp2p/multistream-select": "5.1.4-59a97b61b",
93
- "@libp2p/peer-collections": "5.1.7-59a97b61b",
94
- "@libp2p/peer-id": "4.0.7-59a97b61b",
95
- "@libp2p/peer-id-factory": "4.0.7-59a97b61b",
96
- "@libp2p/peer-store": "10.0.11-59a97b61b",
97
- "@libp2p/utils": "5.2.6-59a97b61b",
88
+ "@libp2p/crypto": "4.0.3-bf720c045",
89
+ "@libp2p/interface": "1.1.4-bf720c045",
90
+ "@libp2p/interface-internal": "1.0.9-bf720c045",
91
+ "@libp2p/logger": "4.0.7-bf720c045",
92
+ "@libp2p/multistream-select": "5.1.4-bf720c045",
93
+ "@libp2p/peer-collections": "5.1.7-bf720c045",
94
+ "@libp2p/peer-id": "4.0.7-bf720c045",
95
+ "@libp2p/peer-id-factory": "4.0.7-bf720c045",
96
+ "@libp2p/peer-store": "10.0.11-bf720c045",
97
+ "@libp2p/utils": "5.2.6-bf720c045",
98
98
  "@multiformats/dns": "^1.0.1",
99
99
  "@multiformats/multiaddr": "^12.2.0",
100
100
  "any-signal": "^4.1.1",
@@ -108,13 +108,13 @@
108
108
  },
109
109
  "devDependencies": {
110
110
  "@chainsafe/libp2p-yamux": "^6.0.2",
111
- "@libp2p/circuit-relay-v2": "1.0.16-59a97b61b",
112
- "@libp2p/identify": "1.0.15-59a97b61b",
113
- "@libp2p/interface-compliance-tests": "5.3.2-59a97b61b",
114
- "@libp2p/mplex": "10.0.16-59a97b61b",
115
- "@libp2p/plaintext": "1.0.16-59a97b61b",
116
- "@libp2p/tcp": "9.0.16-59a97b61b",
117
- "@libp2p/websockets": "8.0.16-59a97b61b",
111
+ "@libp2p/circuit-relay-v2": "1.0.16-bf720c045",
112
+ "@libp2p/identify": "1.0.15-bf720c045",
113
+ "@libp2p/interface-compliance-tests": "5.3.2-bf720c045",
114
+ "@libp2p/mplex": "10.0.16-bf720c045",
115
+ "@libp2p/plaintext": "1.0.16-bf720c045",
116
+ "@libp2p/tcp": "9.0.16-bf720c045",
117
+ "@libp2p/websockets": "8.0.16-bf720c045",
118
118
  "@multiformats/mafmt": "^12.1.6",
119
119
  "@multiformats/multiaddr-matcher": "^1.1.2",
120
120
  "aegir": "^42.2.4",
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
- export const version = '1.3.0-59a97b61b'
1
+ export const version = '1.3.0-bf720c045'
2
2
  export const name = 'libp2p'