libp2p 0.36.0 → 0.36.1
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 +13 -13
- package/dist/src/index.d.ts +2 -92
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/ping/index.d.ts +32 -25
- package/dist/src/ping/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.js +10 -8
- package/src/ping/index.js +51 -52
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
|
-
var Libp2p=(()=>{var rI=Object.create;var za=Object.defineProperty;var nI=Object.getOwnPropertyDescriptor;var iI=Object.getOwnPropertyNames;var sI=Object.getPrototypeOf,oI=Object.prototype.hasOwnProperty;var d0=t=>za(t,"__esModule",{value:!0});var h0=(t=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(t,{get:(e,r)=>(typeof require!="undefined"?require:e)[r]}):t)(function(t){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var xe=(t,e)=>()=>(t&&(e=t(t=0)),e);var w=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),gt=(t,e)=>{d0(t);for(var r in e)za(t,r,{get:e[r],enumerable:!0})},aI=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of iI(e))!oI.call(t,n)&&n!=="default"&&za(t,n,{get:()=>e[n],enumerable:!(r=nI(e,n))||r.enumerable});return t},Po=t=>aI(d0(za(t!=null?rI(sI(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var fl=w((dq,p0)=>{var hs=1e3,ps=hs*60,ys=ps*60,vi=ys*24,cI=vi*7,uI=vi*365.25;p0.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return lI(t);if(r==="number"&&isFinite(t))return e.long?dI(t):fI(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function lI(t){if(t=String(t),!(t.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(t);if(!!e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*uI;case"weeks":case"week":case"w":return r*cI;case"days":case"day":case"d":return r*vi;case"hours":case"hour":case"hrs":case"hr":case"h":return r*ys;case"minutes":case"minute":case"mins":case"min":case"m":return r*ps;case"seconds":case"second":case"secs":case"sec":case"s":return r*hs;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function fI(t){var e=Math.abs(t);return e>=vi?Math.round(t/vi)+"d":e>=ys?Math.round(t/ys)+"h":e>=ps?Math.round(t/ps)+"m":e>=hs?Math.round(t/hs)+"s":t+"ms"}function dI(t){var e=Math.abs(t);return e>=vi?Ga(t,e,vi,"day"):e>=ys?Ga(t,e,ys,"hour"):e>=ps?Ga(t,e,ps,"minute"):e>=hs?Ga(t,e,hs,"second"):t+" ms"}function Ga(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var g0=w((hq,y0)=>{function hI(t){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=o,r.humanize=fl(),r.destroy=u,Object.keys(t).forEach(l=>{r[l]=t[l]}),r.names=[],r.skips=[],r.formatters={};function e(l){let f=0;for(let d=0;d<l.length;d++)f=(f<<5)-f+l.charCodeAt(d),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=e;function r(l){let f,d=null,p,h;function g(...m){if(!g.enabled)return;let x=g,R=Number(new Date),L=R-(f||R);x.diff=L,x.prev=f,x.curr=R,f=R,m[0]=r.coerce(m[0]),typeof m[0]!="string"&&m.unshift("%O");let H=0;m[0]=m[0].replace(/%([a-zA-Z%])/g,(k,J)=>{if(k==="%%")return"%";H++;let ie=r.formatters[J];if(typeof ie=="function"){let j=m[H];k=ie.call(x,j),m.splice(H,1),H--}return k}),r.formatArgs.call(x,m),(x.log||r.log).apply(x,m)}return g.namespace=l,g.useColors=r.useColors(),g.color=r.selectColor(l),g.extend=n,g.destroy=r.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(p!==r.namespaces&&(p=r.namespaces,h=r.enabled(l)),h),set:m=>{d=m}}),typeof r.init=="function"&&r.init(g),g}function n(l,f){let d=r(this.namespace+(typeof f=="undefined"?":":f)+l);return d.log=this.log,d}function i(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let f,d=(typeof l=="string"?l:"").split(/[\s,]+/),p=d.length;for(f=0;f<p;f++)!d[f]||(l=d[f].replace(/\*/g,".*?"),l[0]==="-"?r.skips.push(new RegExp("^"+l.substr(1)+"$")):r.names.push(new RegExp("^"+l+"$")))}function s(){let l=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),l}function o(l){if(l[l.length-1]==="*")return!0;let f,d;for(f=0,d=r.skips.length;f<d;f++)if(r.skips[f].test(l))return!1;for(f=0,d=r.names.length;f<d;f++)if(r.names[f].test(l))return!0;return!1}function a(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function c(l){return l instanceof Error?l.stack||l.message:l}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 r.enable(r.load()),r}y0.exports=hI});var Te=w((rr,Wa)=>{rr.formatArgs=yI;rr.save=gI;rr.load=mI;rr.useColors=pI;rr.storage=vI();rr.destroy=(()=>{let t=!1;return()=>{t||(t=!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`."))}})();rr.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 pI(){return typeof window!="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document!="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function yI(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Wa.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}rr.log=console.debug||console.log||(()=>{});function gI(t){try{t?rr.storage.setItem("debug",t):rr.storage.removeItem("debug")}catch(e){}}function mI(){let t;try{t=rr.storage.getItem("debug")}catch(e){}return!t&&typeof process!="undefined"&&"env"in process&&(t=process.env.DEBUG),t}function vI(){try{return localStorage}catch(t){}}Wa.exports=g0()(rr);var{formatters:bI}=Wa.exports;bI.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Qt=w((pq,dl)=>{"use strict";var gs=typeof Reflect=="object"?Reflect:null,m0=gs&&typeof gs.apply=="function"?gs.apply:function(e,r,n){return Function.prototype.apply.call(e,r,n)},Ya;gs&&typeof gs.ownKeys=="function"?Ya=gs.ownKeys:Object.getOwnPropertySymbols?Ya=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Ya=function(e){return Object.getOwnPropertyNames(e)};function EI(t){console&&console.warn&&console.warn(t)}var v0=Number.isNaN||function(e){return e!==e};function Ke(){Ke.init.call(this)}dl.exports=Ke;dl.exports.once=SI;Ke.EventEmitter=Ke;Ke.prototype._events=void 0;Ke.prototype._eventsCount=0;Ke.prototype._maxListeners=void 0;var b0=10;function Qa(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(Ke,"defaultMaxListeners",{enumerable:!0,get:function(){return b0},set:function(t){if(typeof t!="number"||t<0||v0(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");b0=t}});Ke.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};Ke.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||v0(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function E0(t){return t._maxListeners===void 0?Ke.defaultMaxListeners:t._maxListeners}Ke.prototype.getMaxListeners=function(){return E0(this)};Ke.prototype.emit=function(e){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=e==="error",s=this._events;if(s!==void 0)i=i&&s.error===void 0;else if(!i)return!1;if(i){var o;if(r.length>0&&(o=r[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=s[e];if(c===void 0)return!1;if(typeof c=="function")m0(c,this,r);else for(var u=c.length,l=A0(c,u),n=0;n<u;++n)m0(l[n],this,r);return!0};function w0(t,e,r,n){var i,s,o;if(Qa(r),s=t._events,s===void 0?(s=t._events=Object.create(null),t._eventsCount=0):(s.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),s=t._events),o=s[e]),o===void 0)o=s[e]=r,++t._eventsCount;else if(typeof o=="function"?o=s[e]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),i=E0(t),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,EI(a)}return t}Ke.prototype.addListener=function(e,r){return w0(this,e,r,!1)};Ke.prototype.on=Ke.prototype.addListener;Ke.prototype.prependListener=function(e,r){return w0(this,e,r,!0)};function wI(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _0(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=wI.bind(n);return i.listener=r,n.wrapFn=i,i}Ke.prototype.once=function(e,r){return Qa(r),this.on(e,_0(this,e,r)),this};Ke.prototype.prependOnceListener=function(e,r){return Qa(r),this.prependListener(e,_0(this,e,r)),this};Ke.prototype.removeListener=function(e,r){var n,i,s,o,a;if(Qa(r),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount==0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||r));else if(typeof n!="function"){for(s=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){a=n[o].listener,s=o;break}if(s<0)return this;s===0?n.shift():_I(n,s),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||r)}return this};Ke.prototype.off=Ke.prototype.removeListener;Ke.prototype.removeAllListeners=function(e){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount==0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var s=Object.keys(n),o;for(i=0;i<s.length;++i)o=s[i],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[e],typeof r=="function")this.removeListener(e,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(e,r[i]);return this};function x0(t,e,r){var n=t._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?xI(i):A0(i,i.length)}Ke.prototype.listeners=function(e){return x0(this,e,!0)};Ke.prototype.rawListeners=function(e){return x0(this,e,!1)};Ke.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):S0.call(t,e)};Ke.prototype.listenerCount=S0;function S0(t){var e=this._events;if(e!==void 0){var r=e[t];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}Ke.prototype.eventNames=function(){return this._eventsCount>0?Ya(this._events):[]};function A0(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function _I(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function xI(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function SI(t,e){return new Promise(function(r,n){function i(o){t.removeListener(e,s),n(o)}function s(){typeof t.removeListener=="function"&&t.removeListener("error",i),r([].slice.call(arguments))}C0(t,e,s,{once:!0}),e!=="error"&&AI(t,i,{once:!0})})}function AI(t,e,r){typeof t.on=="function"&&C0(t,"error",e,r)}function C0(t,e,r,n){if(typeof t.on=="function")n.once?t.once(e,r):t.on(e,r);else if(typeof t.addEventListener=="function")t.addEventListener(e,function i(s){n.once&&t.removeEventListener(e,i),r(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}});var de=w((yq,T0)=>{"use strict";function I0(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function CI(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return I0(t,r)}catch(n){r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),I0(new i,r)}}T0.exports=CI});function B0(t,e,r){e=e||[],r=r||0;for(var n=r;t>=BI;)e[r++]=t&255|R0,t/=128;for(;t&RI;)e[r++]=t&255|R0,t>>>=7;return e[r]=t|0,B0.bytes=r-n+1,e}function hl(t,e){var r=0,e=e||0,n=0,i=e,s,o=t.length;do{if(i>=o)throw hl.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=n<28?(s&P0)<<n:(s&P0)*Math.pow(2,n),n+=7}while(s>=NI);return hl.bytes=i-e,r}var II,R0,TI,RI,BI,PI,NI,P0,OI,DI,LI,kI,qI,UI,MI,FI,KI,VI,jI,$I,No,N0=xe(()=>{II=B0,R0=128,TI=127,RI=~TI,BI=Math.pow(2,31);PI=hl,NI=128,P0=127;OI=Math.pow(2,7),DI=Math.pow(2,14),LI=Math.pow(2,21),kI=Math.pow(2,28),qI=Math.pow(2,35),UI=Math.pow(2,42),MI=Math.pow(2,49),FI=Math.pow(2,56),KI=Math.pow(2,63),VI=function(t){return t<OI?1:t<DI?2:t<LI?3:t<kI?4:t<qI?5:t<UI?6:t<MI?7:t<FI?8:t<KI?9:10},jI={encode:II,decode:PI,encodingLength:VI},$I=jI,No=$I});var Oo,ms,vs,Xa=xe(()=>{N0();Oo=t=>[No.decode(t),No.decode.bytes],ms=(t,e,r=0)=>(No.encode(t,e,r),e),vs=t=>No.encodingLength(t)});var vq,D0,yn,L0,k0,On=xe(()=>{vq=new Uint8Array(0),D0=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},yn=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")},L0=t=>new TextEncoder().encode(t),k0=t=>new TextDecoder().decode(t)});var Do={};gt(Do,{Digest:()=>bs,create:()=>Dn,decode:()=>pl,equals:()=>yl});var Dn,pl,yl,bs,bi=xe(()=>{On();Xa();Dn=(t,e)=>{let r=e.byteLength,n=vs(t),i=n+vs(r),s=new Uint8Array(i+r);return ms(t,s,0),ms(r,s,n),s.set(e,i),new bs(t,r,e,s)},pl=t=>{let e=yn(t),[r,n]=Oo(e),[i,s]=Oo(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new bs(r,i,o,e)},yl=(t,e)=>t===e?!0:t.code===e.code&&t.size===e.size&&D0(t.bytes,e.bytes),bs=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}}});function HI(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var s=t.charAt(i),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var g=0,m=0,x=0,R=h.length;x!==R&&h[x]===0;)x++,g++;for(var L=(R-x)*l+1>>>0,H=new Uint8Array(L);x!==R;){for(var q=h[x],k=0,J=L-1;(q!==0||k<m)&&J!==-1;J--,k++)q+=256*H[J]>>>0,H[J]=q%a>>>0,q=q/a>>>0;if(q!==0)throw new Error("Non-zero carry");m=k,x++}for(var ie=L-m;ie!==L&&H[ie]===0;)ie++;for(var j=c.repeat(g);ie<L;++ie)j+=t.charAt(H[ie]);return j}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var g=0;if(h[g]!==" "){for(var m=0,x=0;h[g]===c;)m++,g++;for(var R=(h.length-g)*u+1>>>0,L=new Uint8Array(R);h[g];){var H=r[h.charCodeAt(g)];if(H===255)return;for(var q=0,k=R-1;(H!==0||q<x)&&k!==-1;k--,q++)H+=a*L[k]>>>0,L[k]=H%256>>>0,H=H/256>>>0;if(H!==0)throw new Error("Non-zero carry");x=q,g++}if(h[g]!==" "){for(var J=R-x;J!==R&&L[J]===0;)J++;for(var ie=new Uint8Array(m+(R-J)),j=m;J!==R;)ie[j++]=L[J++];return ie}}}function p(h){var g=d(h);if(g)return g;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:d,decode:p}}var zI,GI,U0,M0=xe(()=>{zI=HI,GI=zI,U0=GI});var F0,K0,V0,j0,$0,Za,Ln,WI,YI,ct,Hr=xe(()=>{M0();On();F0=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},K0=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseDecode=n}decode(e){if(typeof e=="string")switch(e[0]){case this.prefix:return this.baseDecode(e.slice(1));default:throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`)}else throw Error("Can only multibase decode strings")}or(e){return j0(this,e)}},V0=class{constructor(e){this.decoders=e}or(e){return j0(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},j0=(t,e)=>new V0({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),$0=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new F0(e,r,n),this.decoder=new K0(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Za=({name:t,prefix:e,encode:r,decode:n})=>new $0(t,e,r,n),Ln=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=U0(r,e);return Za({prefix:t,name:e,encode:n,decode:s=>yn(i(s))})},WI=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;let o=new Uint8Array(s*r/8|0),a=0,c=0,u=0;for(let l=0;l<s;++l){let f=i[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,o[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},YI=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>r;)o-=r,s+=e[i&a>>o];if(o&&(s+=e[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s},ct=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Za({prefix:e,name:t,encode(i){return YI(i,n,r)},decode(i){return WI(i,n,r,t)}})});var kn={};gt(kn,{base58btc:()=>zr,base58flickr:()=>QI});var zr,QI,qn=xe(()=>{Hr();zr=Ln({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),QI=Ln({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"})});var Ei={};gt(Ei,{base32:()=>Es,base32hex:()=>eT,base32hexpad:()=>rT,base32hexpadupper:()=>nT,base32hexupper:()=>tT,base32pad:()=>ZI,base32padupper:()=>JI,base32upper:()=>XI,base32z:()=>iT});var Es,XI,ZI,JI,eT,tT,rT,nT,iT,wi=xe(()=>{Hr();Es=ct({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),XI=ct({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),ZI=ct({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),JI=ct({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),eT=ct({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),tT=ct({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),rT=ct({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),nT=ct({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),iT=ct({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5})});var ko={};gt(ko,{CID:()=>bt});var bt,sT,oT,aT,Lo,cT,H0,z0,Ja,ec,uT,lT,fT,ws=xe(()=>{Xa();bi();qn();wi();On();bt=class{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this.byteOffset=i.byteOffset,this.byteLength=i.byteLength,this.asCID=this,this._baseCache=new Map,Object.defineProperties(this,{byteOffset:ec,byteLength:ec,code:Ja,version:Ja,multihash:Ja,bytes:Ja,_baseCache:ec,asCID:ec})}toV0(){switch(this.version){case 0:return this;default:{let{code:e,multihash:r}=this;if(e!==Lo)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==cT)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return bt.createV0(r)}}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Dn(e,r);return bt.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}equals(e){return e&&this.code===e.code&&this.version===e.version&&yl(this.multihash,e.multihash)}toString(e){let{bytes:r,version:n,_baseCache:i}=this;switch(n){case 0:return oT(r,i,e||zr.encoder);default:return aT(r,i,e||Es.encoder)}}toJSON(){return{code:this.code,version:this.version,hash:this.multihash.bytes}}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return"CID("+this.toString()+")"}static isCID(e){return lT(/^0\.0/,fT),!!(e&&(e[z0]||e.asCID===e))}get toBaseEncodedString(){throw new Error("Deprecated, use .toString()")}get codec(){throw new Error('"codec" property is deprecated, use integer "code" property instead')}get buffer(){throw new Error("Deprecated .buffer property, use .bytes to get Uint8Array instead")}get multibaseName(){throw new Error('"multibaseName" property is deprecated')}get prefix(){throw new Error('"prefix" property is deprecated')}static asCID(e){if(e instanceof bt)return e;if(e!=null&&e.asCID===e){let{version:r,code:n,multihash:i,bytes:s}=e;return new bt(r,n,i,s||H0(r,n,i.bytes))}else if(e!=null&&e[z0]===!0){let{version:r,multihash:n,code:i}=e,s=pl(n);return bt.create(r,i,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");switch(e){case 0:{if(r!==Lo)throw new Error(`Version 0 CID must use dag-pb (code: ${Lo}) block encoding`);return new bt(e,r,n,n.bytes)}case 1:{let i=H0(e,r,n.bytes);return new bt(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return bt.create(0,Lo,e)}static createV1(e,r){return bt.create(1,e,r)}static decode(e){let[r,n]=bt.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=bt.inspectBytes(e),n=r.size-r.multihashSize,i=yn(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=i.subarray(r.multihashSize-r.digestSize),o=new bs(r.multihashCode,r.digestSize,s,i);return[r.version===0?bt.createV0(o):bt.createV1(r.codec,o),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,d]=Oo(e.subarray(r));return r+=d,f},i=n(),s=Lo;if(i===18?(i=0,r=0):i===1&&(s=n()),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=r,a=n(),c=n(),u=r+c,l=u-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=sT(e,r),s=bt.decode(i);return s._baseCache.set(n,e),s}},sT=(t,e)=>{switch(t[0]){case"Q":{let r=e||zr;return[zr.prefix,r.decode(`${zr.prefix}${t}`)]}case zr.prefix:{let r=e||zr;return[zr.prefix,r.decode(t)]}case Es.prefix:{let r=e||Es;return[Es.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},oT=(t,e,r)=>{let{prefix:n}=r;if(n!==zr.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return i},aT=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let s=r.encode(t);return e.set(n,s),s}else return i},Lo=112,cT=18,H0=(t,e,r)=>{let n=vs(t),i=n+vs(e),s=new Uint8Array(i+r.byteLength);return ms(t,s,0),ms(e,s,n),s.set(r,i),s},z0=Symbol.for("@ipld/js-cid/CID"),Ja={writable:!1,configurable:!1,enumerable:!0},ec={writable:!1,enumerable:!1,configurable:!1},uT="0.0.0-dev",lT=(t,e)=>{if(t.test(uT))console.warn(e);else throw new Error(e)},fT=`CID.isCID(v) is deprecated and will be removed in the next major release.
|
|
2
|
+
var Libp2p=(()=>{var tI=Object.create;var za=Object.defineProperty;var rI=Object.getOwnPropertyDescriptor;var nI=Object.getOwnPropertyNames;var iI=Object.getPrototypeOf,sI=Object.prototype.hasOwnProperty;var c0=t=>za(t,"__esModule",{value:!0});var u0=(t=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(t,{get:(e,r)=>(typeof require!="undefined"?require:e)[r]}):t)(function(t){if(typeof require!="undefined")return require.apply(this,arguments);throw new Error('Dynamic require of "'+t+'" is not supported')});var Se=(t,e)=>()=>(t&&(e=t(t=0)),e);var w=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),gt=(t,e)=>{c0(t);for(var r in e)za(t,r,{get:e[r],enumerable:!0})},oI=(t,e,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of nI(e))!sI.call(t,n)&&n!=="default"&&za(t,n,{get:()=>e[n],enumerable:!(r=rI(e,n))||r.enumerable});return t},Po=t=>oI(c0(za(t!=null?tI(iI(t)):{},"default",t&&t.__esModule&&"default"in t?{get:()=>t.default,enumerable:!0}:{value:t,enumerable:!0})),t);var ul=w((uq,l0)=>{var hs=1e3,ps=hs*60,ys=ps*60,vi=ys*24,aI=vi*7,cI=vi*365.25;l0.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return uI(t);if(r==="number"&&isFinite(t))return e.long?fI(t):lI(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function uI(t){if(t=String(t),!(t.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(t);if(!!e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*cI;case"weeks":case"week":case"w":return r*aI;case"days":case"day":case"d":return r*vi;case"hours":case"hour":case"hrs":case"hr":case"h":return r*ys;case"minutes":case"minute":case"mins":case"min":case"m":return r*ps;case"seconds":case"second":case"secs":case"sec":case"s":return r*hs;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function lI(t){var e=Math.abs(t);return e>=vi?Math.round(t/vi)+"d":e>=ys?Math.round(t/ys)+"h":e>=ps?Math.round(t/ps)+"m":e>=hs?Math.round(t/hs)+"s":t+"ms"}function fI(t){var e=Math.abs(t);return e>=vi?Ga(t,e,vi,"day"):e>=ys?Ga(t,e,ys,"hour"):e>=ps?Ga(t,e,ps,"minute"):e>=hs?Ga(t,e,hs,"second"):t+" ms"}function Ga(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var d0=w((lq,f0)=>{function dI(t){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=o,r.humanize=ul(),r.destroy=u,Object.keys(t).forEach(l=>{r[l]=t[l]}),r.names=[],r.skips=[],r.formatters={};function e(l){let f=0;for(let d=0;d<l.length;d++)f=(f<<5)-f+l.charCodeAt(d),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=e;function r(l){let f,d=null,p,h;function g(...m){if(!g.enabled)return;let S=g,R=Number(new Date),L=R-(f||R);S.diff=L,S.prev=f,S.curr=R,f=R,m[0]=r.coerce(m[0]),typeof m[0]!="string"&&m.unshift("%O");let H=0;m[0]=m[0].replace(/%([a-zA-Z%])/g,(k,J)=>{if(k==="%%")return"%";H++;let ie=r.formatters[J];if(typeof ie=="function"){let j=m[H];k=ie.call(S,j),m.splice(H,1),H--}return k}),r.formatArgs.call(S,m),(S.log||r.log).apply(S,m)}return g.namespace=l,g.useColors=r.useColors(),g.color=r.selectColor(l),g.extend=n,g.destroy=r.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(p!==r.namespaces&&(p=r.namespaces,h=r.enabled(l)),h),set:m=>{d=m}}),typeof r.init=="function"&&r.init(g),g}function n(l,f){let d=r(this.namespace+(typeof f=="undefined"?":":f)+l);return d.log=this.log,d}function i(l){r.save(l),r.namespaces=l,r.names=[],r.skips=[];let f,d=(typeof l=="string"?l:"").split(/[\s,]+/),p=d.length;for(f=0;f<p;f++)!d[f]||(l=d[f].replace(/\*/g,".*?"),l[0]==="-"?r.skips.push(new RegExp("^"+l.substr(1)+"$")):r.names.push(new RegExp("^"+l+"$")))}function s(){let l=[...r.names.map(a),...r.skips.map(a).map(f=>"-"+f)].join(",");return r.enable(""),l}function o(l){if(l[l.length-1]==="*")return!0;let f,d;for(f=0,d=r.skips.length;f<d;f++)if(r.skips[f].test(l))return!1;for(f=0,d=r.names.length;f<d;f++)if(r.names[f].test(l))return!0;return!1}function a(l){return l.toString().substring(2,l.toString().length-2).replace(/\.\*\?$/,"*")}function c(l){return l instanceof Error?l.stack||l.message:l}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 r.enable(r.load()),r}f0.exports=dI});var Te=w((rr,Wa)=>{rr.formatArgs=pI;rr.save=yI;rr.load=gI;rr.useColors=hI;rr.storage=mI();rr.destroy=(()=>{let t=!1;return()=>{t||(t=!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`."))}})();rr.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 hI(){return typeof window!="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document!="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function pI(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Wa.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}rr.log=console.debug||console.log||(()=>{});function yI(t){try{t?rr.storage.setItem("debug",t):rr.storage.removeItem("debug")}catch(e){}}function gI(){let t;try{t=rr.storage.getItem("debug")}catch(e){}return!t&&typeof process!="undefined"&&"env"in process&&(t=process.env.DEBUG),t}function mI(){try{return localStorage}catch(t){}}Wa.exports=d0()(rr);var{formatters:vI}=Wa.exports;vI.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Qt=w((fq,ll)=>{"use strict";var gs=typeof Reflect=="object"?Reflect:null,h0=gs&&typeof gs.apply=="function"?gs.apply:function(e,r,n){return Function.prototype.apply.call(e,r,n)},Ya;gs&&typeof gs.ownKeys=="function"?Ya=gs.ownKeys:Object.getOwnPropertySymbols?Ya=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Ya=function(e){return Object.getOwnPropertyNames(e)};function bI(t){console&&console.warn&&console.warn(t)}var p0=Number.isNaN||function(e){return e!==e};function Ke(){Ke.init.call(this)}ll.exports=Ke;ll.exports.once=SI;Ke.EventEmitter=Ke;Ke.prototype._events=void 0;Ke.prototype._eventsCount=0;Ke.prototype._maxListeners=void 0;var y0=10;function Qa(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(Ke,"defaultMaxListeners",{enumerable:!0,get:function(){return y0},set:function(t){if(typeof t!="number"||t<0||p0(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");y0=t}});Ke.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};Ke.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||p0(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function g0(t){return t._maxListeners===void 0?Ke.defaultMaxListeners:t._maxListeners}Ke.prototype.getMaxListeners=function(){return g0(this)};Ke.prototype.emit=function(e){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=e==="error",s=this._events;if(s!==void 0)i=i&&s.error===void 0;else if(!i)return!1;if(i){var o;if(r.length>0&&(o=r[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=s[e];if(c===void 0)return!1;if(typeof c=="function")h0(c,this,r);else for(var u=c.length,l=w0(c,u),n=0;n<u;++n)h0(l[n],this,r);return!0};function m0(t,e,r,n){var i,s,o;if(Qa(r),s=t._events,s===void 0?(s=t._events=Object.create(null),t._eventsCount=0):(s.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),s=t._events),o=s[e]),o===void 0)o=s[e]=r,++t._eventsCount;else if(typeof o=="function"?o=s[e]=n?[r,o]:[o,r]:n?o.unshift(r):o.push(r),i=g0(t),i>0&&o.length>i&&!o.warned){o.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=o.length,bI(a)}return t}Ke.prototype.addListener=function(e,r){return m0(this,e,r,!1)};Ke.prototype.on=Ke.prototype.addListener;Ke.prototype.prependListener=function(e,r){return m0(this,e,r,!0)};function EI(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function v0(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=EI.bind(n);return i.listener=r,n.wrapFn=i,i}Ke.prototype.once=function(e,r){return Qa(r),this.on(e,v0(this,e,r)),this};Ke.prototype.prependOnceListener=function(e,r){return Qa(r),this.prependListener(e,v0(this,e,r)),this};Ke.prototype.removeListener=function(e,r){var n,i,s,o,a;if(Qa(r),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount==0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||r));else if(typeof n!="function"){for(s=-1,o=n.length-1;o>=0;o--)if(n[o]===r||n[o].listener===r){a=n[o].listener,s=o;break}if(s<0)return this;s===0?n.shift():wI(n,s),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||r)}return this};Ke.prototype.off=Ke.prototype.removeListener;Ke.prototype.removeAllListeners=function(e){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount==0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var s=Object.keys(n),o;for(i=0;i<s.length;++i)o=s[i],o!=="removeListener"&&this.removeAllListeners(o);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[e],typeof r=="function")this.removeListener(e,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(e,r[i]);return this};function b0(t,e,r){var n=t._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?_I(i):w0(i,i.length)}Ke.prototype.listeners=function(e){return b0(this,e,!0)};Ke.prototype.rawListeners=function(e){return b0(this,e,!1)};Ke.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):E0.call(t,e)};Ke.prototype.listenerCount=E0;function E0(t){var e=this._events;if(e!==void 0){var r=e[t];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}Ke.prototype.eventNames=function(){return this._eventsCount>0?Ya(this._events):[]};function w0(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function wI(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function _I(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function SI(t,e){return new Promise(function(r,n){function i(o){t.removeListener(e,s),n(o)}function s(){typeof t.removeListener=="function"&&t.removeListener("error",i),r([].slice.call(arguments))}_0(t,e,s,{once:!0}),e!=="error"&&xI(t,i,{once:!0})})}function xI(t,e,r){typeof t.on=="function"&&_0(t,"error",e,r)}function _0(t,e,r,n){if(typeof t.on=="function")n.once?t.once(e,r):t.on(e,r);else if(typeof t.addEventListener=="function")t.addEventListener(e,function i(s){n.once&&t.removeEventListener(e,i),r(s)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}});var de=w((dq,x0)=>{"use strict";function S0(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function AI(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return S0(t,r)}catch(n){r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),S0(new i,r)}}x0.exports=AI});function C0(t,e,r){e=e||[],r=r||0;for(var n=r;t>=RI;)e[r++]=t&255|A0,t/=128;for(;t&TI;)e[r++]=t&255|A0,t>>>=7;return e[r]=t|0,C0.bytes=r-n+1,e}function fl(t,e){var r=0,e=e||0,n=0,i=e,s,o=t.length;do{if(i>=o)throw fl.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=n<28?(s&I0)<<n:(s&I0)*Math.pow(2,n),n+=7}while(s>=PI);return fl.bytes=i-e,r}var CI,A0,II,TI,RI,BI,PI,I0,NI,OI,DI,LI,kI,qI,UI,MI,FI,KI,VI,jI,No,T0=Se(()=>{CI=C0,A0=128,II=127,TI=~II,RI=Math.pow(2,31);BI=fl,PI=128,I0=127;NI=Math.pow(2,7),OI=Math.pow(2,14),DI=Math.pow(2,21),LI=Math.pow(2,28),kI=Math.pow(2,35),qI=Math.pow(2,42),UI=Math.pow(2,49),MI=Math.pow(2,56),FI=Math.pow(2,63),KI=function(t){return t<NI?1:t<OI?2:t<DI?3:t<LI?4:t<kI?5:t<qI?6:t<UI?7:t<MI?8:t<FI?9:10},VI={encode:CI,decode:BI,encodingLength:KI},jI=VI,No=jI});var Oo,ms,vs,Xa=Se(()=>{T0();Oo=t=>[No.decode(t),No.decode.bytes],ms=(t,e,r=0)=>(No.encode(t,e,r),e),vs=t=>No.encodingLength(t)});var yq,B0,yn,P0,N0,On=Se(()=>{yq=new Uint8Array(0),B0=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},yn=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")},P0=t=>new TextEncoder().encode(t),N0=t=>new TextDecoder().decode(t)});var Do={};gt(Do,{Digest:()=>bs,create:()=>Dn,decode:()=>dl,equals:()=>hl});var Dn,dl,hl,bs,bi=Se(()=>{On();Xa();Dn=(t,e)=>{let r=e.byteLength,n=vs(t),i=n+vs(r),s=new Uint8Array(i+r);return ms(t,s,0),ms(r,s,n),s.set(e,i),new bs(t,r,e,s)},dl=t=>{let e=yn(t),[r,n]=Oo(e),[i,s]=Oo(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new bs(r,i,o,e)},hl=(t,e)=>t===e?!0:t.code===e.code&&t.size===e.size&&B0(t.bytes,e.bytes),bs=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}}});function $I(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var s=t.charAt(i),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),l=Math.log(256)/Math.log(a);function f(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var g=0,m=0,S=0,R=h.length;S!==R&&h[S]===0;)S++,g++;for(var L=(R-S)*l+1>>>0,H=new Uint8Array(L);S!==R;){for(var q=h[S],k=0,J=L-1;(q!==0||k<m)&&J!==-1;J--,k++)q+=256*H[J]>>>0,H[J]=q%a>>>0,q=q/a>>>0;if(q!==0)throw new Error("Non-zero carry");m=k,S++}for(var ie=L-m;ie!==L&&H[ie]===0;)ie++;for(var j=c.repeat(g);ie<L;++ie)j+=t.charAt(H[ie]);return j}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var g=0;if(h[g]!==" "){for(var m=0,S=0;h[g]===c;)m++,g++;for(var R=(h.length-g)*u+1>>>0,L=new Uint8Array(R);h[g];){var H=r[h.charCodeAt(g)];if(H===255)return;for(var q=0,k=R-1;(H!==0||q<S)&&k!==-1;k--,q++)H+=a*L[k]>>>0,L[k]=H%256>>>0,H=H/256>>>0;if(H!==0)throw new Error("Non-zero carry");S=q,g++}if(h[g]!==" "){for(var J=R-S;J!==R&&L[J]===0;)J++;for(var ie=new Uint8Array(m+(R-J)),j=m;J!==R;)ie[j++]=L[J++];return ie}}}function p(h){var g=d(h);if(g)return g;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:d,decode:p}}var HI,zI,D0,L0=Se(()=>{HI=$I,zI=HI,D0=zI});var k0,q0,U0,M0,F0,Za,Ln,GI,WI,ct,Hr=Se(()=>{L0();On();k0=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},q0=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseDecode=n}decode(e){if(typeof e=="string")switch(e[0]){case this.prefix:return this.baseDecode(e.slice(1));default:throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`)}else throw Error("Can only multibase decode strings")}or(e){return M0(this,e)}},U0=class{constructor(e){this.decoders=e}or(e){return M0(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},M0=(t,e)=>new U0({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),F0=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new k0(e,r,n),this.decoder=new q0(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Za=({name:t,prefix:e,encode:r,decode:n})=>new F0(t,e,r,n),Ln=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=D0(r,e);return Za({prefix:t,name:e,encode:n,decode:s=>yn(i(s))})},GI=(t,e,r,n)=>{let i={};for(let l=0;l<e.length;++l)i[e[l]]=l;let s=t.length;for(;t[s-1]==="=";)--s;let o=new Uint8Array(s*r/8|0),a=0,c=0,u=0;for(let l=0;l<s;++l){let f=i[t[l]];if(f===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|f,a+=r,a>=8&&(a-=8,o[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return o},WI=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],o+=8;o>r;)o-=r,s+=e[i&a>>o];if(o&&(s+=e[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s},ct=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Za({prefix:e,name:t,encode(i){return WI(i,n,r)},decode(i){return GI(i,n,r,t)}})});var kn={};gt(kn,{base58btc:()=>zr,base58flickr:()=>YI});var zr,YI,qn=Se(()=>{Hr();zr=Ln({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),YI=Ln({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"})});var Ei={};gt(Ei,{base32:()=>Es,base32hex:()=>JI,base32hexpad:()=>tT,base32hexpadupper:()=>rT,base32hexupper:()=>eT,base32pad:()=>XI,base32padupper:()=>ZI,base32upper:()=>QI,base32z:()=>nT});var Es,QI,XI,ZI,JI,eT,tT,rT,nT,wi=Se(()=>{Hr();Es=ct({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),QI=ct({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),XI=ct({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ZI=ct({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),JI=ct({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),eT=ct({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),tT=ct({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),rT=ct({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),nT=ct({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5})});var ko={};gt(ko,{CID:()=>bt});var bt,iT,sT,oT,Lo,aT,K0,V0,Ja,ec,cT,uT,lT,ws=Se(()=>{Xa();bi();qn();wi();On();bt=class{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this.byteOffset=i.byteOffset,this.byteLength=i.byteLength,this.asCID=this,this._baseCache=new Map,Object.defineProperties(this,{byteOffset:ec,byteLength:ec,code:Ja,version:Ja,multihash:Ja,bytes:Ja,_baseCache:ec,asCID:ec})}toV0(){switch(this.version){case 0:return this;default:{let{code:e,multihash:r}=this;if(e!==Lo)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==aT)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return bt.createV0(r)}}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Dn(e,r);return bt.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}equals(e){return e&&this.code===e.code&&this.version===e.version&&hl(this.multihash,e.multihash)}toString(e){let{bytes:r,version:n,_baseCache:i}=this;switch(n){case 0:return sT(r,i,e||zr.encoder);default:return oT(r,i,e||Es.encoder)}}toJSON(){return{code:this.code,version:this.version,hash:this.multihash.bytes}}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return"CID("+this.toString()+")"}static isCID(e){return uT(/^0\.0/,lT),!!(e&&(e[V0]||e.asCID===e))}get toBaseEncodedString(){throw new Error("Deprecated, use .toString()")}get codec(){throw new Error('"codec" property is deprecated, use integer "code" property instead')}get buffer(){throw new Error("Deprecated .buffer property, use .bytes to get Uint8Array instead")}get multibaseName(){throw new Error('"multibaseName" property is deprecated')}get prefix(){throw new Error('"prefix" property is deprecated')}static asCID(e){if(e instanceof bt)return e;if(e!=null&&e.asCID===e){let{version:r,code:n,multihash:i,bytes:s}=e;return new bt(r,n,i,s||K0(r,n,i.bytes))}else if(e!=null&&e[V0]===!0){let{version:r,multihash:n,code:i}=e,s=dl(n);return bt.create(r,i,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");switch(e){case 0:{if(r!==Lo)throw new Error(`Version 0 CID must use dag-pb (code: ${Lo}) block encoding`);return new bt(e,r,n,n.bytes)}case 1:{let i=K0(e,r,n.bytes);return new bt(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return bt.create(0,Lo,e)}static createV1(e,r){return bt.create(1,e,r)}static decode(e){let[r,n]=bt.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=bt.inspectBytes(e),n=r.size-r.multihashSize,i=yn(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let s=i.subarray(r.multihashSize-r.digestSize),o=new bs(r.multihashCode,r.digestSize,s,i);return[r.version===0?bt.createV0(o):bt.createV1(r.codec,o),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,d]=Oo(e.subarray(r));return r+=d,f},i=n(),s=Lo;if(i===18?(i=0,r=0):i===1&&(s=n()),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let o=r,a=n(),c=n(),u=r+c,l=u-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:l,size:u}}static parse(e,r){let[n,i]=iT(e,r),s=bt.decode(i);return s._baseCache.set(n,e),s}},iT=(t,e)=>{switch(t[0]){case"Q":{let r=e||zr;return[zr.prefix,r.decode(`${zr.prefix}${t}`)]}case zr.prefix:{let r=e||zr;return[zr.prefix,r.decode(t)]}case Es.prefix:{let r=e||Es;return[Es.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},sT=(t,e,r)=>{let{prefix:n}=r;if(n!==zr.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let s=r.encode(t).slice(1);return e.set(n,s),s}else return i},oT=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let s=r.encode(t);return e.set(n,s),s}else return i},Lo=112,aT=18,K0=(t,e,r)=>{let n=vs(t),i=n+vs(e),s=new Uint8Array(i+r.byteLength);return ms(t,s,0),ms(e,s,n),s.set(r,i),s},V0=Symbol.for("@ipld/js-cid/CID"),Ja={writable:!1,configurable:!1,enumerable:!0},ec={writable:!1,enumerable:!1,configurable:!1},cT="0.0.0-dev",uT=(t,e)=>{if(t.test(cT))console.warn(e);else throw new Error(e)},lT=`CID.isCID(v) is deprecated and will be removed in the next major release.
|
|
3
3
|
Following code pattern:
|
|
4
4
|
|
|
5
5
|
if (CID.isCID(value)) {
|
|
@@ -13,20 +13,20 @@ if (cid) {
|
|
|
13
13
|
// Make sure to use cid instead of value
|
|
14
14
|
doSomethingWithCID(cid)
|
|
15
15
|
}
|
|
16
|
-
`});var tc={};gt(tc,{base36:()=>dT,base36upper:()=>hT});var dT,hT,gl=xe(()=>{Hr();dT=Ln({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),hT=Ln({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"})});var _s={};gt(_s,{base64:()=>pT,base64pad:()=>yT,base64url:()=>gT,base64urlpad:()=>mT});var pT,yT,gT,mT,qo=xe(()=>{Hr();pT=ct({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),yT=ct({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),gT=ct({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),mT=ct({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6})});var rc={};gt(rc,{base16:()=>vT,base16upper:()=>bT});var vT,bT,ml=xe(()=>{Hr();vT=ct({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),bT=ct({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4})});var W0=w((Lq,G0)=>{"use strict";G0.exports=ET;function ET(t,e){for(var r=new Array(arguments.length-1),n=0,i=2,s=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise(function(a,c){r[n]=function(l){if(s)if(s=!1,l)c(l);else{for(var f=new Array(arguments.length-1),d=0;d<f.length;)f[d++]=arguments[d];a.apply(null,f)}};try{t.apply(e||null,r)}catch(u){s&&(s=!1,c(u))}})}});var Z0=w(X0=>{"use strict";var nc=X0;nc.length=function(e){var r=e.length;if(!r)return 0;for(var n=0;--r%4>1&&e.charAt(r)==="=";)++n;return Math.ceil(e.length*3)/4-n};var xs=new Array(64),Y0=new Array(123);for(Nr=0;Nr<64;)Y0[xs[Nr]=Nr<26?Nr+65:Nr<52?Nr+71:Nr<62?Nr-4:Nr-59|43]=Nr++;var Nr;nc.encode=function(e,r,n){for(var i=null,s=[],o=0,a=0,c;r<n;){var u=e[r++];switch(a){case 0:s[o++]=xs[u>>2],c=(u&3)<<4,a=1;break;case 1:s[o++]=xs[c|u>>4],c=(u&15)<<2,a=2;break;case 2:s[o++]=xs[c|u>>6],s[o++]=xs[u&63],a=0;break}o>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,s)),o=0)}return a&&(s[o++]=xs[c],s[o++]=61,a===1&&(s[o++]=61)),i?(o&&i.push(String.fromCharCode.apply(String,s.slice(0,o))),i.join("")):String.fromCharCode.apply(String,s.slice(0,o))};var Q0="invalid encoding";nc.decode=function(e,r,n){for(var i=n,s=0,o,a=0;a<e.length;){var c=e.charCodeAt(a++);if(c===61&&s>1)break;if((c=Y0[c])===void 0)throw Error(Q0);switch(s){case 0:o=c,s=1;break;case 1:r[n++]=o<<2|(c&48)>>4,o=c,s=2;break;case 2:r[n++]=(o&15)<<4|(c&60)>>2,o=c,s=3;break;case 3:r[n++]=(o&3)<<6|c,s=0;break}}if(s===1)throw Error(Q0);return n-i};nc.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var ep=w((qq,J0)=>{"use strict";J0.exports=ic;function ic(){this._listeners={}}ic.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};ic.prototype.off=function(e,r){if(e===void 0)this._listeners={};else if(r===void 0)this._listeners[e]=[];else for(var n=this._listeners[e],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};ic.prototype.emit=function(e){var r=this._listeners[e];if(r){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<r.length;)r[i].fn.apply(r[i++].ctx,n)}return this}});var ap=w((Uq,op)=>{"use strict";op.exports=tp(tp);function tp(t){return typeof Float32Array!="undefined"?function(){var e=new Float32Array([-0]),r=new Uint8Array(e.buffer),n=r[3]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3]}function s(c,u,l){e[0]=c,u[l]=r[3],u[l+1]=r[2],u[l+2]=r[1],u[l+3]=r[0]}t.writeFloatLE=n?i:s,t.writeFloatBE=n?s:i;function o(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],e[0]}function a(c,u){return r[3]=c[u],r[2]=c[u+1],r[1]=c[u+2],r[0]=c[u+3],e[0]}t.readFloatLE=n?o:a,t.readFloatBE=n?a:o}():function(){function e(n,i,s,o){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,s,o);else if(isNaN(i))n(2143289344,s,o);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,s,o);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,s,o);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,s,o)}}t.writeFloatLE=e.bind(null,rp),t.writeFloatBE=e.bind(null,np);function r(n,i,s){var o=n(i,s),a=(o>>31)*2+1,c=o>>>23&255,u=o&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}t.readFloatLE=r.bind(null,ip),t.readFloatBE=r.bind(null,sp)}(),typeof Float64Array!="undefined"?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=r[7]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3],u[l+4]=r[4],u[l+5]=r[5],u[l+6]=r[6],u[l+7]=r[7]}function s(c,u,l){e[0]=c,u[l]=r[7],u[l+1]=r[6],u[l+2]=r[5],u[l+3]=r[4],u[l+4]=r[3],u[l+5]=r[2],u[l+6]=r[1],u[l+7]=r[0]}t.writeDoubleLE=n?i:s,t.writeDoubleBE=n?s:i;function o(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],r[4]=c[u+4],r[5]=c[u+5],r[6]=c[u+6],r[7]=c[u+7],e[0]}function a(c,u){return r[7]=c[u],r[6]=c[u+1],r[5]=c[u+2],r[4]=c[u+3],r[3]=c[u+4],r[2]=c[u+5],r[1]=c[u+6],r[0]=c[u+7],e[0]}t.readDoubleLE=n?o:a,t.readDoubleBE=n?a:o}():function(){function e(n,i,s,o,a,c){var u=o<0?1:0;if(u&&(o=-o),o===0)n(0,a,c+i),n(1/o>0?0:2147483648,a,c+s);else if(isNaN(o))n(0,a,c+i),n(2146959360,a,c+s);else if(o>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+s);else{var l;if(o<22250738585072014e-324)l=o/5e-324,n(l>>>0,a,c+i),n((u<<31|l/4294967296)>>>0,a,c+s);else{var f=Math.floor(Math.log(o)/Math.LN2);f===1024&&(f=1023),l=o*Math.pow(2,-f),n(l*4503599627370496>>>0,a,c+i),n((u<<31|f+1023<<20|l*1048576&1048575)>>>0,a,c+s)}}}t.writeDoubleLE=e.bind(null,rp,0,4),t.writeDoubleBE=e.bind(null,np,4,0);function r(n,i,s,o,a){var c=n(o,a+i),u=n(o,a+s),l=(u>>31)*2+1,f=u>>>20&2047,d=4294967296*(u&1048575)+c;return f===2047?d?NaN:l*(1/0):f===0?l*5e-324*d:l*Math.pow(2,f-1075)*(d+4503599627370496)}t.readDoubleLE=r.bind(null,ip,0,4),t.readDoubleBE=r.bind(null,sp,4,0)}(),t}function rp(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function np(t,e,r){e[r]=t>>>24,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=t&255}function ip(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function sp(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var cp=w((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(t){}return null}});var lp=w(up=>{"use strict";var vl=up;vl.length=function(e){for(var r=0,n=0,i=0;i<e.length;++i)n=e.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)==55296&&(e.charCodeAt(i+1)&64512)==56320?(++i,r+=4):r+=3;return r};vl.read=function(e,r,n){var i=n-r;if(i<1)return"";for(var s=null,o=[],a=0,c;r<n;)c=e[r++],c<128?o[a++]=c:c>191&&c<224?o[a++]=(c&31)<<6|e[r++]&63:c>239&&c<365?(c=((c&7)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63)-65536,o[a++]=55296+(c>>10),o[a++]=56320+(c&1023)):o[a++]=(c&15)<<12|(e[r++]&63)<<6|e[r++]&63,a>8191&&((s||(s=[])).push(String.fromCharCode.apply(String,o)),a=0);return s?(a&&s.push(String.fromCharCode.apply(String,o.slice(0,a))),s.join("")):String.fromCharCode.apply(String,o.slice(0,a))};vl.write=function(e,r,n){for(var i=n,s,o,a=0;a<e.length;++a)s=e.charCodeAt(a),s<128?r[n++]=s:s<2048?(r[n++]=s>>6|192,r[n++]=s&63|128):(s&64512)==55296&&((o=e.charCodeAt(a+1))&64512)==56320?(s=65536+((s&1023)<<10)+(o&1023),++a,r[n++]=s>>18|240,r[n++]=s>>12&63|128,r[n++]=s>>6&63|128,r[n++]=s&63|128):(r[n++]=s>>12|224,r[n++]=s>>6&63|128,r[n++]=s&63|128);return n-i}});var dp=w((Fq,fp)=>{"use strict";fp.exports=wT;function wT(t,e,r){var n=r||8192,i=n>>>1,s=null,o=n;return function(c){if(c<1||c>i)return t(c);o+c>n&&(s=t(n),o=0);var u=e.call(s,o,o+=c);return o&7&&(o=(o|7)+1),u}}});var pp=w((Kq,hp)=>{"use strict";hp.exports=wt;var Uo=Mn();function wt(t,e){this.lo=t>>>0,this.hi=e>>>0}var _i=wt.zero=new wt(0,0);_i.toNumber=function(){return 0};_i.zzEncode=_i.zzDecode=function(){return this};_i.length=function(){return 1};var _T=wt.zeroHash="\0\0\0\0\0\0\0\0";wt.fromNumber=function(e){if(e===0)return _i;var r=e<0;r&&(e=-e);var n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new wt(n,i)};wt.from=function(e){if(typeof e=="number")return wt.fromNumber(e);if(Uo.isString(e))if(Uo.Long)e=Uo.Long.fromString(e);else return wt.fromNumber(parseInt(e,10));return e.low||e.high?new wt(e.low>>>0,e.high>>>0):_i};wt.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};wt.prototype.toLong=function(e){return Uo.Long?new Uo.Long(this.lo|0,this.hi|0,Boolean(e)):{low:this.lo|0,high:this.hi|0,unsigned:Boolean(e)}};var Un=String.prototype.charCodeAt;wt.fromHash=function(e){return e===_T?_i:new wt((Un.call(e,0)|Un.call(e,1)<<8|Un.call(e,2)<<16|Un.call(e,3)<<24)>>>0,(Un.call(e,4)|Un.call(e,5)<<8|Un.call(e,6)<<16|Un.call(e,7)<<24)>>>0)};wt.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};wt.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};wt.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};wt.prototype.length=function(){var e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var Mn=w(bl=>{"use strict";var se=bl;se.asPromise=W0();se.base64=Z0();se.EventEmitter=ep();se.float=ap();se.inquire=cp();se.utf8=lp();se.pool=dp();se.LongBits=pp();se.isNode=Boolean(typeof globalThis!="undefined"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);se.global=se.isNode&&globalThis||typeof window!="undefined"&&window||typeof self!="undefined"&&self||bl;se.emptyArray=Object.freeze?Object.freeze([]):[];se.emptyObject=Object.freeze?Object.freeze({}):{};se.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};se.isString=function(e){return typeof e=="string"||e instanceof String};se.isObject=function(e){return e&&typeof e=="object"};se.isset=se.isSet=function(e,r){var n=e[r];return n!=null&&e.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};se.Buffer=function(){try{var t=se.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch(e){return null}}();se._Buffer_from=null;se._Buffer_allocUnsafe=null;se.newBuffer=function(e){return typeof e=="number"?se.Buffer?se._Buffer_allocUnsafe(e):new se.Array(e):se.Buffer?se._Buffer_from(e):typeof Uint8Array=="undefined"?e:new Uint8Array(e)};se.Array=typeof Uint8Array!="undefined"?Uint8Array:Array;se.Long=se.global.dcodeIO&&se.global.dcodeIO.Long||se.global.Long||se.inquire("long");se.key2Re=/^true|false|0|1$/;se.key32Re=/^-?(?:0|[1-9][0-9]*)$/;se.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;se.longToHash=function(e){return e?se.LongBits.from(e).toHash():se.LongBits.zeroHash};se.longFromHash=function(e,r){var n=se.LongBits.fromHash(e);return se.Long?se.Long.fromBits(n.lo,n.hi,r):n.toNumber(Boolean(r))};function yp(t,e,r){for(var n=Object.keys(e),i=0;i<n.length;++i)(t[n[i]]===void 0||!r)&&(t[n[i]]=e[n[i]]);return t}se.merge=yp;se.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function gp(t){function e(r,n){if(!(this instanceof e))return new e(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&yp(this,n)}return(e.prototype=Object.create(Error.prototype)).constructor=e,Object.defineProperty(e.prototype,"name",{get:function(){return t}}),e.prototype.toString=function(){return this.name+": "+this.message},e}se.newError=gp;se.ProtocolError=gp("ProtocolError");se.oneOfGetter=function(e){for(var r={},n=0;n<e.length;++n)r[e[n]]=1;return function(){for(var i=Object.keys(this),s=i.length-1;s>-1;--s)if(r[i[s]]===1&&this[i[s]]!==void 0&&this[i[s]]!==null)return i[s]}};se.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};se.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};se._configure=function(){var t=se.Buffer;if(!t){se._Buffer_from=se._Buffer_allocUnsafe=null;return}se._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},se._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var Cl=w((jq,Ep)=>{"use strict";Ep.exports=Re;var dr=Mn(),El,sc=dr.LongBits,mp=dr.base64,vp=dr.utf8;function Mo(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function wl(){}function xT(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function Re(){this.len=0,this.head=new Mo(wl,0,0),this.tail=this.head,this.states=null}var bp=function(){return dr.Buffer?function(){return(Re.create=function(){return new El})()}:function(){return new Re}};Re.create=bp();Re.alloc=function(e){return new dr.Array(e)};dr.Array!==Array&&(Re.alloc=dr.pool(Re.alloc,dr.Array.prototype.subarray));Re.prototype._push=function(e,r,n){return this.tail=this.tail.next=new Mo(e,r,n),this.len+=r,this};function _l(t,e,r){e[r]=t&255}function ST(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function xl(t,e){this.len=t,this.next=void 0,this.val=e}xl.prototype=Object.create(Mo.prototype);xl.prototype.fn=ST;Re.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new xl((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};Re.prototype.int32=function(e){return e<0?this._push(Sl,10,sc.fromNumber(e)):this.uint32(e)};Re.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function Sl(t,e,r){for(;t.hi;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}Re.prototype.uint64=function(e){var r=sc.from(e);return this._push(Sl,r.length(),r)};Re.prototype.int64=Re.prototype.uint64;Re.prototype.sint64=function(e){var r=sc.from(e).zzEncode();return this._push(Sl,r.length(),r)};Re.prototype.bool=function(e){return this._push(_l,1,e?1:0)};function Al(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}Re.prototype.fixed32=function(e){return this._push(Al,4,e>>>0)};Re.prototype.sfixed32=Re.prototype.fixed32;Re.prototype.fixed64=function(e){var r=sc.from(e);return this._push(Al,4,r.lo)._push(Al,4,r.hi)};Re.prototype.sfixed64=Re.prototype.fixed64;Re.prototype.float=function(e){return this._push(dr.float.writeFloatLE,4,e)};Re.prototype.double=function(e){return this._push(dr.float.writeDoubleLE,8,e)};var AT=dr.Array.prototype.set?function(e,r,n){r.set(e,n)}:function(e,r,n){for(var i=0;i<e.length;++i)r[n+i]=e[i]};Re.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(_l,1,0);if(dr.isString(e)){var n=Re.alloc(r=mp.length(e));mp.decode(e,n,0),e=n}return this.uint32(r)._push(AT,r,e)};Re.prototype.string=function(e){var r=vp.length(e);return r?this.uint32(r)._push(vp.write,r,e):this._push(_l,1,0)};Re.prototype.fork=function(){return this.states=new xT(this),this.head=this.tail=new Mo(wl,0,0),this.len=0,this};Re.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Mo(wl,0,0),this.len=0),this};Re.prototype.ldelim=function(){var e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=r,this.len+=n),this};Re.prototype.finish=function(){for(var e=this.head.next,r=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r};Re._configure=function(t){El=t,Re.create=bp(),El._configure()}});var xp=w(($q,_p)=>{"use strict";_p.exports=Gr;var wp=Cl();(Gr.prototype=Object.create(wp.prototype)).constructor=Gr;var Fn=Mn();function Gr(){wp.call(this)}Gr._configure=function(){Gr.alloc=Fn._Buffer_allocUnsafe,Gr.writeBytesBuffer=Fn.Buffer&&Fn.Buffer.prototype instanceof Uint8Array&&Fn.Buffer.prototype.set.name==="set"?function(e,r,n){r.set(e,n)}:function(e,r,n){if(e.copy)e.copy(r,n,0,e.length);else for(var i=0;i<e.length;)r[n++]=e[i++]}};Gr.prototype.bytes=function(e){Fn.isString(e)&&(e=Fn._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(Gr.writeBytesBuffer,r,e),this};function CT(t,e,r){t.length<40?Fn.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}Gr.prototype.string=function(e){var r=Fn.Buffer.byteLength(e);return this.uint32(r),r&&this._push(CT,r,e),this};Gr._configure()});var Rl=w((Hq,Tp)=>{"use strict";Tp.exports=dt;var Wr=Mn(),Il,Sp=Wr.LongBits,IT=Wr.utf8;function Or(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function dt(t){this.buf=t,this.pos=0,this.len=t.length}var Ap=typeof Uint8Array!="undefined"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new dt(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new dt(e);throw Error("illegal buffer")},Cp=function(){return Wr.Buffer?function(r){return(dt.create=function(i){return Wr.Buffer.isBuffer(i)?new Il(i):Ap(i)})(r)}:Ap};dt.create=Cp();dt.prototype._slice=Wr.Array.prototype.subarray||Wr.Array.prototype.slice;dt.prototype.uint32=function(){var e=4294967295;return function(){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,Or(this,10);return e}}();dt.prototype.int32=function(){return this.uint32()|0};dt.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function Tl(){var t=new Sp(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Or(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Or(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}dt.prototype.bool=function(){return this.uint32()!==0};function oc(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}dt.prototype.fixed32=function(){if(this.pos+4>this.len)throw Or(this,4);return oc(this.buf,this.pos+=4)};dt.prototype.sfixed32=function(){if(this.pos+4>this.len)throw Or(this,4);return oc(this.buf,this.pos+=4)|0};function Ip(){if(this.pos+8>this.len)throw Or(this,8);return new Sp(oc(this.buf,this.pos+=4),oc(this.buf,this.pos+=4))}dt.prototype.float=function(){if(this.pos+4>this.len)throw Or(this,4);var e=Wr.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};dt.prototype.double=function(){if(this.pos+8>this.len)throw Or(this,4);var e=Wr.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};dt.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw Or(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};dt.prototype.string=function(){var e=this.bytes();return IT.read(e,0,e.length)};dt.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw Or(this,e);this.pos+=e}else do if(this.pos>=this.len)throw Or(this);while(this.buf[this.pos++]&128);return this};dt.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!=4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this};dt._configure=function(t){Il=t,dt.create=Cp(),Il._configure();var e=Wr.Long?"toLong":"toNumber";Wr.merge(dt.prototype,{int64:function(){return Tl.call(this)[e](!1)},uint64:function(){return Tl.call(this)[e](!0)},sint64:function(){return Tl.call(this).zzDecode()[e](!1)},fixed64:function(){return Ip.call(this)[e](!0)},sfixed64:function(){return Ip.call(this)[e](!1)}})}});var Np=w((zq,Pp)=>{"use strict";Pp.exports=xi;var Rp=Rl();(xi.prototype=Object.create(Rp.prototype)).constructor=xi;var Bp=Mn();function xi(t){Rp.call(this,t)}xi._configure=function(){Bp.Buffer&&(xi.prototype._slice=Bp.Buffer.prototype.slice)};xi.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))};xi._configure()});var Dp=w((Gq,Op)=>{"use strict";Op.exports=Fo;var Bl=Mn();(Fo.prototype=Object.create(Bl.EventEmitter.prototype)).constructor=Fo;function Fo(t,e,r){if(typeof t!="function")throw TypeError("rpcImpl must be a function");Bl.EventEmitter.call(this),this.rpcImpl=t,this.requestDelimited=Boolean(e),this.responseDelimited=Boolean(r)}Fo.prototype.rpcCall=function t(e,r,n,i,s){if(!i)throw TypeError("request must be specified");var o=this;if(!s)return Bl.asPromise(t,o,e,r,n,i);if(!o.rpcImpl){setTimeout(function(){s(Error("already ended"))},0);return}try{return o.rpcImpl(e,r[o.requestDelimited?"encodeDelimited":"encode"](i).finish(),function(c,u){if(c)return o.emit("error",c,e),s(c);if(u===null){o.end(!0);return}if(!(u instanceof n))try{u=n[o.responseDelimited?"decodeDelimited":"decode"](u)}catch(l){return o.emit("error",l,e),s(l)}return o.emit("data",u,e),s(null,u)})}catch(a){o.emit("error",a,e),setTimeout(function(){s(a)},0);return}};Fo.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}});var kp=w(Lp=>{"use strict";var TT=Lp;TT.Service=Dp()});var Up=w((Yq,qp)=>{"use strict";qp.exports={}});var Kp=w(Fp=>{"use strict";var Xt=Fp;Xt.build="minimal";Xt.Writer=Cl();Xt.BufferWriter=xp();Xt.Reader=Rl();Xt.BufferReader=Np();Xt.util=Mn();Xt.rpc=kp();Xt.roots=Up();Xt.configure=Mp;function Mp(){Xt.util._configure(),Xt.Writer._configure(Xt.BufferWriter),Xt.Reader._configure(Xt.BufferReader)}Mp()});var gn=w((Xq,Vp)=>{"use strict";Vp.exports=Kp()});var cc=w((Zq,$p)=>{"use strict";var Si=gn(),ac=Si.Reader,jp=Si.Writer,Pt=Si.util,hr=Si.roots["libp2p-crypto-keys"]||(Si.roots["libp2p-crypto-keys"]={});hr.KeyType=function(){var t={},e=Object.create(t);return e[t[0]="RSA"]=0,e[t[1]="Ed25519"]=1,e[t[2]="Secp256k1"]=2,e}();hr.PublicKey=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.Type=0,t.prototype.Data=Pt.newBuffer([]),t.encode=function(r,n){return n||(n=jp.create()),n.uint32(8).int32(r.Type),n.uint32(18).bytes(r.Data),n},t.decode=function(r,n){r instanceof ac||(r=ac.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new hr.PublicKey;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.Type=r.int32();break;case 2:s.Data=r.bytes();break;default:r.skipType(o&7);break}}if(!s.hasOwnProperty("Type"))throw Pt.ProtocolError("missing required 'Type'",{instance:s});if(!s.hasOwnProperty("Data"))throw Pt.ProtocolError("missing required 'Data'",{instance:s});return s},t.fromObject=function(r){if(r instanceof hr.PublicKey)return r;var n=new hr.PublicKey;switch(r.Type){case"RSA":case 0:n.Type=0;break;case"Ed25519":case 1:n.Type=1;break;case"Secp256k1":case 2:n.Type=2;break}return r.Data!=null&&(typeof r.Data=="string"?Pt.base64.decode(r.Data,n.Data=Pt.newBuffer(Pt.base64.length(r.Data)),0):r.Data.length&&(n.Data=r.Data)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(i.Type=n.enums===String?"RSA":0,n.bytes===String?i.Data="":(i.Data=[],n.bytes!==Array&&(i.Data=Pt.newBuffer(i.Data)))),r.Type!=null&&r.hasOwnProperty("Type")&&(i.Type=n.enums===String?hr.KeyType[r.Type]:r.Type),r.Data!=null&&r.hasOwnProperty("Data")&&(i.Data=n.bytes===String?Pt.base64.encode(r.Data,0,r.Data.length):n.bytes===Array?Array.prototype.slice.call(r.Data):r.Data),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,Si.util.toJSONOptions)},t}();hr.PrivateKey=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.Type=0,t.prototype.Data=Pt.newBuffer([]),t.encode=function(r,n){return n||(n=jp.create()),n.uint32(8).int32(r.Type),n.uint32(18).bytes(r.Data),n},t.decode=function(r,n){r instanceof ac||(r=ac.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new hr.PrivateKey;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.Type=r.int32();break;case 2:s.Data=r.bytes();break;default:r.skipType(o&7);break}}if(!s.hasOwnProperty("Type"))throw Pt.ProtocolError("missing required 'Type'",{instance:s});if(!s.hasOwnProperty("Data"))throw Pt.ProtocolError("missing required 'Data'",{instance:s});return s},t.fromObject=function(r){if(r instanceof hr.PrivateKey)return r;var n=new hr.PrivateKey;switch(r.Type){case"RSA":case 0:n.Type=0;break;case"Ed25519":case 1:n.Type=1;break;case"Secp256k1":case 2:n.Type=2;break}return r.Data!=null&&(typeof r.Data=="string"?Pt.base64.decode(r.Data,n.Data=Pt.newBuffer(Pt.base64.length(r.Data)),0):r.Data.length&&(n.Data=r.Data)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(i.Type=n.enums===String?"RSA":0,n.bytes===String?i.Data="":(i.Data=[],n.bytes!==Array&&(i.Data=Pt.newBuffer(i.Data)))),r.Type!=null&&r.hasOwnProperty("Type")&&(i.Type=n.enums===String?hr.KeyType[r.Type]:r.Type),r.Data!=null&&r.hasOwnProperty("Data")&&(i.Data=n.bytes===String?Pt.base64.encode(r.Data,0,r.Data.length):n.bytes===Array?Array.prototype.slice.call(r.Data):r.Data),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,Si.util.toJSONOptions)},t}();$p.exports=hr});var be=w((Jq,Hp)=>{Hp.exports={options:{usePureJavaScript:!1}}});var Wp=w((eU,Gp)=>{var Pl={};Gp.exports=Pl;var zp={};Pl.encode=function(t,e,r){if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(t instanceof Uint8Array))n=RT(t,e);else{var i=0,s=e.length,o=e.charAt(0),a=[0];for(i=0;i<t.length;++i){for(var c=0,u=t[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%s,u=u/s|0;for(;u>0;)a.push(u%s),u=u/s|0}for(i=0;t[i]===0&&i<t.length-1;++i)n+=o;for(i=a.length-1;i>=0;--i)n+=e[a[i]]}if(r){var l=new RegExp(".{1,"+r+"}","g");n=n.match(l).join(`\r
|
|
17
|
-
`)}return n};Pl.decode=function(t,e){if(typeof t!="string")throw new TypeError('"input" must be a string.');if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');var r=zp[e];if(!r){r=zp[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,s=e.charAt(0),o=[0],n=0;n<t.length;n++){var a=r[t.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<o.length;++c)u+=o[c]*i,o[c]=u&255,u>>=8;for(;u>0;)o.push(u&255),u>>=8}for(var l=0;t[l]===s&&l<t.length-1;++l)o.push(0);return typeof Buffer!="undefined"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function RT(t,e){var r=0,n=e.length,i=e.charAt(0),s=[0];for(r=0;r<t.length();++r){for(var o=0,a=t.at(r);o<s.length;++o)a+=s[o]<<8,s[o]=a%n,a=a/n|0;for(;a>0;)s.push(a%n),a=a/n|0}var c="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)c+=i;for(r=s.length-1;r>=0;--r)c+=e[s[r]];return c}});var $e=w((tU,Zp)=>{var Yp=be(),Qp=Wp(),P=Zp.exports=Yp.util=Yp.util||{};(function(){if(typeof process!="undefined"&&process.nextTick&&!process.browser){P.nextTick=process.nextTick,typeof setImmediate=="function"?P.setImmediate=setImmediate:P.setImmediate=P.nextTick;return}if(typeof setImmediate=="function"){P.setImmediate=function(){return setImmediate.apply(void 0,arguments)},P.nextTick=function(a){return setImmediate(a)};return}if(P.setImmediate=function(a){setTimeout(a,0)},typeof window!="undefined"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(l){l()})}};var o=a,t="forge.setImmediate",e=[];P.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver!="undefined"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var s=P.setImmediate;P.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}P.nextTick=P.setImmediate})();P.isNodejs=typeof process!="undefined"&&process.versions&&process.versions.node;P.globalScope=function(){return P.isNodejs?globalThis:typeof self=="undefined"?window:self}();P.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};P.isArrayBuffer=function(t){return typeof ArrayBuffer!="undefined"&&t instanceof ArrayBuffer};P.isArrayBufferView=function(t){return t&&P.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Ko(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}P.ByteBuffer=Nl;function Nl(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(P.isArrayBuffer(t)||P.isArrayBufferView(t))if(typeof Buffer!="undefined"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch(n){for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof Nl||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}P.ByteStringBuffer=Nl;var BT=4096;P.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>BT&&(this.data.substr(0,1),this._constructedStringLength=0)};P.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};P.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};P.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};P.ByteStringBuffer.prototype.fillWithByte=function(t,e){t=String.fromCharCode(t);for(var r=this.data;e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return this.data=r,this._optimizeConstructedString(e),this};P.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};P.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(P.encodeUtf8(t))};P.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};P.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};P.ByteStringBuffer.prototype.putInt32=function(t){return this.putBytes(String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};P.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};P.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};P.ByteStringBuffer.prototype.putInt32Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>24&255))};P.ByteStringBuffer.prototype.putInt=function(t,e){Ko(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};P.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};P.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};P.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};P.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};P.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};P.ByteStringBuffer.prototype.getInt32=function(){var t=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,t};P.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};P.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};P.ByteStringBuffer.prototype.getInt32Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,t};P.ByteStringBuffer.prototype.getInt=function(t){Ko(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};P.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};P.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};P.ByteStringBuffer.prototype.bytes=function(t){return typeof t=="undefined"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};P.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};P.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};P.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};P.ByteStringBuffer.prototype.copy=function(){var t=P.createBuffer(this.data);return t.read=this.read,t};P.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};P.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};P.ByteStringBuffer.prototype.truncate=function(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};P.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};P.ByteStringBuffer.prototype.toString=function(){return P.decodeUtf8(this.bytes())};function PT(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=P.isArrayBuffer(t),n=P.isArrayBufferView(t);if(r||n){r?this.data=new DataView(t):this.data=new DataView(t.buffer,t.byteOffset,t.byteLength),this.write="writeOffset"in e?e.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,t!=null&&this.putBytes(t),"writeOffset"in e&&(this.write=e.writeOffset)}P.DataBuffer=PT;P.DataBuffer.prototype.length=function(){return this.write-this.read};P.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};P.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};P.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};P.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};P.DataBuffer.prototype.putBytes=function(t,e){if(P.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(P.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof P.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&P.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof P.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var s;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),s=new Uint8Array(this.data.buffer,this.write),this.write+=P.binary.hex.decode(t,s,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),s=new Uint8Array(this.data.buffer,this.write),this.write+=P.binary.base64.decode(t,s,this.write),this;if(e==="utf8"&&(t=P.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=P.binary.raw.decode(s),this;if(e==="utf16")return this.accommodate(t.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=P.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};P.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};P.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};P.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};P.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};P.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};P.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};P.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};P.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};P.DataBuffer.prototype.putInt=function(t,e){Ko(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};P.DataBuffer.prototype.putSignedInt=function(t,e){return Ko(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};P.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};P.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};P.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};P.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};P.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};P.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};P.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};P.DataBuffer.prototype.getInt=function(t){Ko(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};P.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};P.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};P.DataBuffer.prototype.bytes=function(t){return typeof t=="undefined"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};P.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};P.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};P.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};P.DataBuffer.prototype.copy=function(){return new P.DataBuffer(this)};P.DataBuffer.prototype.compact=function(){if(this.read>0){var t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};P.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};P.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};P.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};P.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return P.binary.raw.encode(e);if(t==="hex")return P.binary.hex.encode(e);if(t==="base64")return P.binary.base64.encode(e);if(t==="utf8")return P.text.utf8.decode(e);if(t==="utf16")return P.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};P.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=P.encodeUtf8(t)),new P.ByteBuffer(t)};P.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};P.xorBytes=function(t,e,r){for(var n="",i="",s="",o=0,a=0;r>0;--r,++o)i=t.charCodeAt(o)^e.charCodeAt(o),a>=10&&(n+=s,s="",a=0),s+=String.fromCharCode(i),++a;return n+=s,n};P.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};P.bytesToHex=function(t){return P.createBuffer(t).toHex()};P.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var Kn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Vn=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],Xp="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";P.encode64=function(t,e){for(var r="",n="",i,s,o,a=0;a<t.length;)i=t.charCodeAt(a++),s=t.charCodeAt(a++),o=t.charCodeAt(a++),r+=Kn.charAt(i>>2),r+=Kn.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=Kn.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":Kn.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
18
|
-
`,r=r.substr(e));return n+=r,n};P.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,s,o=0;o<t.length;)r=Vn[t.charCodeAt(o++)-43],n=Vn[t.charCodeAt(o++)-43],i=Vn[t.charCodeAt(o++)-43],s=Vn[t.charCodeAt(o++)-43],e+=String.fromCharCode(r<<2|n>>4),i!==64&&(e+=String.fromCharCode((n&15)<<4|i>>2),s!==64&&(e+=String.fromCharCode((i&3)<<6|s)));return e};P.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};P.decodeUtf8=function(t){return decodeURIComponent(escape(t))};P.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:
|
|
19
|
-
`,r=r.substr(e));return n+=r,n};P.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,s,o,a,c=0,u=r;c<t.length;)i=Vn[t.charCodeAt(c++)-43],s=Vn[t.charCodeAt(c++)-43],o=Vn[t.charCodeAt(c++)-43],a=Vn[t.charCodeAt(c++)-43],n[u++]=i<<2|s>>4,o!==64&&(n[u++]=(s&15)<<4|o>>2,a!==64&&(n[u++]=(o&3)<<6|a));return e?u-r:n.subarray(0,u)};P.binary.base58.encode=function(t,e){return P.binary.baseN.encode(t,Xp,e)};P.binary.base58.decode=function(t,e){return P.binary.baseN.decode(t,Xp,e)};P.text={utf8:{},utf16:{}};P.text.utf8.encode=function(t,e,r){t=P.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,s=0;s<t.length;++s)n[i++]=t.charCodeAt(s);return e?i-r:n};P.text.utf8.decode=function(t){return P.decodeUtf8(String.fromCharCode.apply(null,t))};P.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var s=r,o=r,a=0;a<t.length;++a)i[o++]=t.charCodeAt(a),s+=2;return e?s-r:n};P.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};P.deflate=function(t,e,r){if(e=P.decode64(t.deflate(P.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};P.inflate=function(t,e,r){var n=t.inflate(P.encode64(e)).rval;return n===null?null:P.decode64(n)};var Ol=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=P.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n!="undefined"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},Dl=function(t,e){if(!t)throw new Error("WebStorage not available.");var r=t.getItem(e);if(t.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(P.decode64(r))),r},NT=function(t,e,r,n){var i=Dl(t,e);i===null&&(i={}),i[r]=n,Ol(t,e,i)},OT=function(t,e,r){var n=Dl(t,e);return n!==null&&(n=r in n?n[r]:null),n},DT=function(t,e,r){var n=Dl(t,e);if(n!==null&&r in n){delete n[r];var i=!0;for(var s in n){i=!1;break}i&&(n=null),Ol(t,e,n)}},LT=function(t,e){Ol(t,e,null)},uc=function(t,e,r){var n=null;typeof r=="undefined"&&(r=["web","flash"]);var i,s=!1,o=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),s=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),s=!0)}catch(c){o=c}if(s)break}if(!s)throw o;return n};P.setItem=function(t,e,r,n,i){uc(NT,arguments,i)};P.getItem=function(t,e,r,n){return uc(OT,arguments,n)};P.removeItem=function(t,e,r,n){uc(DT,arguments,n)};P.clearItems=function(t,e,r){uc(LT,arguments,r)};P.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};P.format=function(t){for(var e=/%./g,r,n,i=0,s=[],o=0;r=e.exec(t);){n=t.substring(o,e.lastIndex-2),n.length>0&&s.push(n),o=e.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?s.push(arguments[i+++1]):s.push("<?>");break;case"%":s.push("%");break;default:s.push("<%"+a+"?>")}}return s.push(t.substring(o)),s.join("")};P.formatNumber=function(t,e,r,n){var i=t,s=isNaN(e=Math.abs(e))?2:e,o=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(s),10)+"",l=u.length>3?u.length%3:0;return c+(l?u.substr(0,l)+a:"")+u.substr(l).replace(/(\d{3})(?=\d)/g,"$1"+a)+(s?o+Math.abs(i-u).toFixed(s).slice(2):"")};P.formatSize=function(t){return t>=1073741824?t=P.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=P.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=P.formatNumber(t/1024,0)+" KiB":t=P.formatNumber(t,0)+" bytes",t};P.bytesFromIP=function(t){return t.indexOf(".")!==-1?P.bytesFromIPv4(t):t.indexOf(":")!==-1?P.bytesFromIPv6(t):null};P.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=P.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};P.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(o){return o.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=P.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=P.hexToBytes(t[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};P.bytesToIP=function(t){return t.length===4?P.bytesToIPv4(t):t.length===16?P.bytesToIPv6(t):null};P.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};P.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var s=P.bytesToHex(t[i]+t[i+1]);s[0]==="0"&&s!=="0";)s=s.substr(1);if(s==="0"){var o=r[r.length-1],a=e.length;!o||a!==o.end+1?r.push({start:a,end:a}):(o.end=a,o.end-o.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(s)}if(r.length>0){var c=r[n];c.end-c.start>0&&(e.splice(c.start,c.end-c.start+1,""),c.start===0&&e.unshift(""),c.end===7&&e.push(""))}return e.join(":")};P.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in P&&!t.update)return e(null,P.cores);if(typeof navigator!="undefined"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return P.cores=navigator.hardwareConcurrency,e(null,P.cores);if(typeof Worker=="undefined")return P.cores=1,e(null,P.cores);if(typeof Blob=="undefined")return P.cores=2,e(null,P.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(o){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(o,a,c){if(a===0){var u=Math.floor(o.reduce(function(l,f){return l+f},0)/o.length);return P.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,P.cores)}i(c,function(l,f){o.push(s(c,f)),n(o,a-1,c)})}function i(o,a){for(var c=[],u=[],l=0;l<o;++l){var f=new Worker(r);f.addEventListener("message",function(d){if(u.push(d.data),u.length===o){for(var p=0;p<o;++p)c[p].terminate();a(null,u)}}),c.push(f)}for(var l=0;l<o;++l)c[l].postMessage(l)}function s(o,a){for(var c=[],u=0;u<o;++u)for(var l=a[u],f=c[u]=[],d=0;d<o;++d)if(u!==d){var p=a[d];(l.st>p.st&&l.st<p.et||p.st>l.st&&p.st<l.et)&&f.push(d)}return c.reduce(function(h,g){return Math.max(h,g.length)},0)}}});var Ss=w((rU,Jp)=>{var Vo=be();Vo.pki=Vo.pki||{};var Ll=Jp.exports=Vo.pki.oids=Vo.oids=Vo.oids||{};function $(t,e){Ll[t]=e,Ll[e]=t}function Oe(t,e){Ll[t]=e}$("1.2.840.113549.1.1.1","rsaEncryption");$("1.2.840.113549.1.1.4","md5WithRSAEncryption");$("1.2.840.113549.1.1.5","sha1WithRSAEncryption");$("1.2.840.113549.1.1.7","RSAES-OAEP");$("1.2.840.113549.1.1.8","mgf1");$("1.2.840.113549.1.1.9","pSpecified");$("1.2.840.113549.1.1.10","RSASSA-PSS");$("1.2.840.113549.1.1.11","sha256WithRSAEncryption");$("1.2.840.113549.1.1.12","sha384WithRSAEncryption");$("1.2.840.113549.1.1.13","sha512WithRSAEncryption");$("1.3.101.112","EdDSA25519");$("1.2.840.10040.4.3","dsa-with-sha1");$("1.3.14.3.2.7","desCBC");$("1.3.14.3.2.26","sha1");$("1.3.14.3.2.29","sha1WithRSASignature");$("2.16.840.1.101.3.4.2.1","sha256");$("2.16.840.1.101.3.4.2.2","sha384");$("2.16.840.1.101.3.4.2.3","sha512");$("1.2.840.113549.2.5","md5");$("1.2.840.113549.1.7.1","data");$("1.2.840.113549.1.7.2","signedData");$("1.2.840.113549.1.7.3","envelopedData");$("1.2.840.113549.1.7.4","signedAndEnvelopedData");$("1.2.840.113549.1.7.5","digestedData");$("1.2.840.113549.1.7.6","encryptedData");$("1.2.840.113549.1.9.1","emailAddress");$("1.2.840.113549.1.9.2","unstructuredName");$("1.2.840.113549.1.9.3","contentType");$("1.2.840.113549.1.9.4","messageDigest");$("1.2.840.113549.1.9.5","signingTime");$("1.2.840.113549.1.9.6","counterSignature");$("1.2.840.113549.1.9.7","challengePassword");$("1.2.840.113549.1.9.8","unstructuredAddress");$("1.2.840.113549.1.9.14","extensionRequest");$("1.2.840.113549.1.9.20","friendlyName");$("1.2.840.113549.1.9.21","localKeyId");$("1.2.840.113549.1.9.22.1","x509Certificate");$("1.2.840.113549.1.12.10.1.1","keyBag");$("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");$("1.2.840.113549.1.12.10.1.3","certBag");$("1.2.840.113549.1.12.10.1.4","crlBag");$("1.2.840.113549.1.12.10.1.5","secretBag");$("1.2.840.113549.1.12.10.1.6","safeContentsBag");$("1.2.840.113549.1.5.13","pkcs5PBES2");$("1.2.840.113549.1.5.12","pkcs5PBKDF2");$("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");$("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");$("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");$("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");$("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");$("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");$("1.2.840.113549.2.7","hmacWithSHA1");$("1.2.840.113549.2.8","hmacWithSHA224");$("1.2.840.113549.2.9","hmacWithSHA256");$("1.2.840.113549.2.10","hmacWithSHA384");$("1.2.840.113549.2.11","hmacWithSHA512");$("1.2.840.113549.3.7","des-EDE3-CBC");$("2.16.840.1.101.3.4.1.2","aes128-CBC");$("2.16.840.1.101.3.4.1.22","aes192-CBC");$("2.16.840.1.101.3.4.1.42","aes256-CBC");$("2.5.4.3","commonName");$("2.5.4.4","surname");$("2.5.4.5","serialNumber");$("2.5.4.6","countryName");$("2.5.4.7","localityName");$("2.5.4.8","stateOrProvinceName");$("2.5.4.9","streetAddress");$("2.5.4.10","organizationName");$("2.5.4.11","organizationalUnitName");$("2.5.4.12","title");$("2.5.4.13","description");$("2.5.4.15","businessCategory");$("2.5.4.17","postalCode");$("2.5.4.42","givenName");$("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");$("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");$("2.16.840.1.113730.1.1","nsCertType");$("2.16.840.1.113730.1.13","nsComment");Oe("2.5.29.1","authorityKeyIdentifier");Oe("2.5.29.2","keyAttributes");Oe("2.5.29.3","certificatePolicies");Oe("2.5.29.4","keyUsageRestriction");Oe("2.5.29.5","policyMapping");Oe("2.5.29.6","subtreesConstraint");Oe("2.5.29.7","subjectAltName");Oe("2.5.29.8","issuerAltName");Oe("2.5.29.9","subjectDirectoryAttributes");Oe("2.5.29.10","basicConstraints");Oe("2.5.29.11","nameConstraints");Oe("2.5.29.12","policyConstraints");Oe("2.5.29.13","basicConstraints");$("2.5.29.14","subjectKeyIdentifier");$("2.5.29.15","keyUsage");Oe("2.5.29.16","privateKeyUsagePeriod");$("2.5.29.17","subjectAltName");$("2.5.29.18","issuerAltName");$("2.5.29.19","basicConstraints");Oe("2.5.29.20","cRLNumber");Oe("2.5.29.21","cRLReason");Oe("2.5.29.22","expirationDate");Oe("2.5.29.23","instructionCode");Oe("2.5.29.24","invalidityDate");Oe("2.5.29.25","cRLDistributionPoints");Oe("2.5.29.26","issuingDistributionPoint");Oe("2.5.29.27","deltaCRLIndicator");Oe("2.5.29.28","issuingDistributionPoint");Oe("2.5.29.29","certificateIssuer");Oe("2.5.29.30","nameConstraints");$("2.5.29.31","cRLDistributionPoints");$("2.5.29.32","certificatePolicies");Oe("2.5.29.33","policyMappings");Oe("2.5.29.34","policyConstraints");$("2.5.29.35","authorityKeyIdentifier");Oe("2.5.29.36","policyConstraints");$("2.5.29.37","extKeyUsage");Oe("2.5.29.46","freshestCRL");Oe("2.5.29.54","inhibitAnyPolicy");$("1.3.6.1.4.1.11129.2.4.2","timestampList");$("1.3.6.1.5.5.7.1.1","authorityInfoAccess");$("1.3.6.1.5.5.7.3.1","serverAuth");$("1.3.6.1.5.5.7.3.2","clientAuth");$("1.3.6.1.5.5.7.3.3","codeSigning");$("1.3.6.1.5.5.7.3.4","emailProtection");$("1.3.6.1.5.5.7.3.8","timeStamping")});var jn=w((nU,ty)=>{var Qe=be();$e();Ss();var X=ty.exports=Qe.asn1=Qe.asn1||{};X.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};X.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30};X.create=function(t,e,r,n,i){if(Qe.util.isArray(n)){for(var s=[],o=0;o<n.length;++o)n[o]!==void 0&&s.push(n[o]);n=s}var a={tagClass:t,type:e,constructed:r,composed:r||Qe.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=X.copy(a)),a};X.copy=function(t,e){var r;if(Qe.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(X.copy(t[n],e));return r}return typeof t=="string"?t:(r={tagClass:t.tagClass,type:t.type,constructed:t.constructed,composed:t.composed,value:X.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};X.equals=function(t,e,r){if(Qe.util.isArray(t)){if(!Qe.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!X.equals(t[n],e[n]))return!1;return!0}if(typeof t!=typeof e)return!1;if(typeof t=="string")return t===e;var i=t.tagClass===e.tagClass&&t.type===e.type&&t.constructed===e.constructed&&t.composed===e.composed&&X.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};X.getBerValueLength=function(t){var e=t.getByte();if(e!==128){var r,n=e&128;return n?r=t.getInt((e&127)<<3):r=e,r}};function jo(t,e,r){if(r>e){var n=new Error("Too few bytes to parse DER.");throw n.available=t.length(),n.remaining=e,n.requested=r,n}}var kT=function(t,e){var r=t.getByte();if(e--,r!==128){var n,i=r&128;if(!i)n=r;else{var s=r&127;jo(t,e,s),n=t.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};X.fromDer=function(t,e){return e===void 0&&(e={strict:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=Qe.util.createBuffer(t)),lc(t,t.length(),0,e)};function lc(t,e,r,n){var i;jo(t,e,2);var s=t.getByte();e--;var o=s&192,a=s&31;i=t.length();var c=kT(t,e);if(e-=i-t.length(),c!==void 0&&c>e){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=t.length(),u.remaining=e,u.requested=c,u}c=e}var l,f,d=(s&32)==32;if(d)if(l=[],c===void 0)for(;;){if(jo(t,e,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),l.push(lc(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(lc(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&o===X.Class.UNIVERSAL&&a===X.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&o===X.Class.UNIVERSAL&&a===X.Type.BITSTRING&&c>1){var p=t.read,h=e,g=0;if(a===X.Type.BITSTRING&&(jo(t,e,1),g=t.getByte(),e--),g===0)try{i=t.length();var m={verbose:n.verbose,strict:!0,decodeBitStrings:!0},x=lc(t,e,r+1,m),R=i-t.length();e-=R,a==X.Type.BITSTRING&&R++;var L=x.tagClass;R===c&&(L===X.Class.UNIVERSAL||L===X.Class.CONTEXT_SPECIFIC)&&(l=[x])}catch(q){}l===void 0&&(t.read=p,e=h)}if(l===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=e}if(a===X.Type.BMPSTRING)for(l="";c>0;c-=2)jo(t,e,2),l+=String.fromCharCode(t.getInt16()),e-=2;else l=t.getBytes(c)}var H=f===void 0?null:{bitStringContents:f};return X.create(o,a,d,l,H)}X.toDer=function(t){var e=Qe.util.createBuffer(),r=t.tagClass|t.type,n=Qe.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=X.equals(t,t.original))),i)n.putBytes(t.bitStringContents);else if(t.composed){t.constructed?r|=32:n.putByte(0);for(var s=0;s<t.value.length;++s)t.value[s]!==void 0&&n.putBuffer(X.toDer(t.value[s]))}else if(t.type===X.Type.BMPSTRING)for(var s=0;s<t.value.length;++s)n.putInt16(t.value.charCodeAt(s));else t.type===X.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&(t.value.charCodeAt(1)&128)==0||t.value.charCodeAt(0)===255&&(t.value.charCodeAt(1)&128)==128)?n.putBytes(t.value.substr(1)):n.putBytes(t.value);if(e.putByte(r),n.length()<=127)e.putByte(n.length()&127);else{var o=n.length(),a="";do a+=String.fromCharCode(o&255),o=o>>>8;while(o>0);e.putByte(a.length|128);for(var s=a.length-1;s>=0;--s)e.putByte(a.charCodeAt(s))}return e.putBuffer(n),e};X.oidToDer=function(t){var e=t.split("."),r=Qe.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,s,o,a=2;a<e.length;++a){n=!0,i=[],s=parseInt(e[a],10);do o=s&127,s=s>>>7,n||(o|=128),i.push(o),n=!1;while(s>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};X.derToOid=function(t){var e;typeof t=="string"&&(t=Qe.util.createBuffer(t));var r=t.getByte();e=Math.floor(r/40)+"."+r%40;for(var n=0;t.length()>0;)r=t.getByte(),n=n<<7,r&128?n+=r&127:(e+="."+(n+r),n=0);return e};X.utcTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(t.substr(2,2),10)-1,i=parseInt(t.substr(4,2),10),s=parseInt(t.substr(6,2),10),o=parseInt(t.substr(8,2),10),a=0;if(t.length>11){var c=t.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(t.substr(10,2),10),u+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,0),u&&(c=t.charAt(u),c==="+"||c==="-")){var l=parseInt(t.substr(u+1,2),10),f=parseInt(t.substr(u+4,2),10),d=l*60+f;d*=6e4,c==="+"?e.setTime(+e-d):e.setTime(+e+d)}return e};X.generalizedTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,4),10),n=parseInt(t.substr(4,2),10)-1,i=parseInt(t.substr(6,2),10),s=parseInt(t.substr(8,2),10),o=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),c=0,u=0,l=!1;t.charAt(t.length-1)==="Z"&&(l=!0);var f=t.length-5,d=t.charAt(f);if(d==="+"||d==="-"){var p=parseInt(t.substr(f+1,2),10),h=parseInt(t.substr(f+4,2),10);u=p*60+h,u*=6e4,d==="+"&&(u*=-1),l=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),l?(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(s,o,a,c)),e};X.dateToUtcTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push((""+t.getUTCFullYear()).substr(2)),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};X.dateToGeneralizedTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push(""+t.getUTCFullYear()),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};X.integerToDer=function(t){var e=Qe.util.createBuffer();if(t>=-128&&t<128)return e.putSignedInt(t,8);if(t>=-32768&&t<32768)return e.putSignedInt(t,16);if(t>=-8388608&&t<8388608)return e.putSignedInt(t,24);if(t>=-2147483648&&t<2147483648)return e.putSignedInt(t,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=t,r};X.derToInteger=function(t){typeof t=="string"&&(t=Qe.util.createBuffer(t));var e=t.length()*8;if(e>32)throw new Error("Integer too large; max is 32-bits.");return t.getSignedInt(e)};X.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass=="undefined")&&(t.type===e.type||typeof e.type=="undefined"))if(t.constructed===e.constructed||typeof e.constructed=="undefined"){if(i=!0,e.value&&Qe.util.isArray(e.value))for(var s=0,o=0;i&&o<e.value.length;++o)i=e.value[o].optional||!1,t.value[s]&&(i=X.validate(t.value[s],e.value[o],r,n),i?++s:e.value[o].optional&&(i=!0)),!i&&n&&n.push("["+e.name+'] Tag class "'+e.tagClass+'", type "'+e.type+'" expected value length "'+e.value.length+'", got "'+t.value.length+'"');if(i&&r&&(e.capture&&(r[e.capture]=t.value),e.captureAsn1&&(r[e.captureAsn1]=t),e.captureBitStringContents&&"bitStringContents"in t&&(r[e.captureBitStringContents]=t.bitStringContents),e.captureBitStringValue&&"bitStringContents"in t)){var a;if(t.bitStringContents.length<2)r[e.captureBitStringValue]="";else{var c=t.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[e.captureBitStringValue]=t.bitStringContents.slice(1)}}}else n&&n.push("["+e.name+'] Expected constructed "'+e.constructed+'", got "'+t.constructed+'"');else n&&(t.tagClass!==e.tagClass&&n.push("["+e.name+'] Expected tag class "'+e.tagClass+'", got "'+t.tagClass+'"'),t.type!==e.type&&n.push("["+e.name+'] Expected type "'+e.type+'", got "'+t.type+'"'));return i};var ey=/[^\\u0000-\\u00ff]/;X.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
|
16
|
+
`});var tc={};gt(tc,{base36:()=>fT,base36upper:()=>dT});var fT,dT,pl=Se(()=>{Hr();fT=Ln({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),dT=Ln({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"})});var _s={};gt(_s,{base64:()=>hT,base64pad:()=>pT,base64url:()=>yT,base64urlpad:()=>gT});var hT,pT,yT,gT,qo=Se(()=>{Hr();hT=ct({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),pT=ct({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),yT=ct({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),gT=ct({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6})});var rc={};gt(rc,{base16:()=>mT,base16upper:()=>vT});var mT,vT,yl=Se(()=>{Hr();mT=ct({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),vT=ct({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4})});var $0=w((Nq,j0)=>{"use strict";j0.exports=bT;function bT(t,e){for(var r=new Array(arguments.length-1),n=0,i=2,s=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise(function(a,c){r[n]=function(l){if(s)if(s=!1,l)c(l);else{for(var f=new Array(arguments.length-1),d=0;d<f.length;)f[d++]=arguments[d];a.apply(null,f)}};try{t.apply(e||null,r)}catch(u){s&&(s=!1,c(u))}})}});var W0=w(G0=>{"use strict";var nc=G0;nc.length=function(e){var r=e.length;if(!r)return 0;for(var n=0;--r%4>1&&e.charAt(r)==="=";)++n;return Math.ceil(e.length*3)/4-n};var Ss=new Array(64),H0=new Array(123);for(Nr=0;Nr<64;)H0[Ss[Nr]=Nr<26?Nr+65:Nr<52?Nr+71:Nr<62?Nr-4:Nr-59|43]=Nr++;var Nr;nc.encode=function(e,r,n){for(var i=null,s=[],o=0,a=0,c;r<n;){var u=e[r++];switch(a){case 0:s[o++]=Ss[u>>2],c=(u&3)<<4,a=1;break;case 1:s[o++]=Ss[c|u>>4],c=(u&15)<<2,a=2;break;case 2:s[o++]=Ss[c|u>>6],s[o++]=Ss[u&63],a=0;break}o>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,s)),o=0)}return a&&(s[o++]=Ss[c],s[o++]=61,a===1&&(s[o++]=61)),i?(o&&i.push(String.fromCharCode.apply(String,s.slice(0,o))),i.join("")):String.fromCharCode.apply(String,s.slice(0,o))};var z0="invalid encoding";nc.decode=function(e,r,n){for(var i=n,s=0,o,a=0;a<e.length;){var c=e.charCodeAt(a++);if(c===61&&s>1)break;if((c=H0[c])===void 0)throw Error(z0);switch(s){case 0:o=c,s=1;break;case 1:r[n++]=o<<2|(c&48)>>4,o=c,s=2;break;case 2:r[n++]=(o&15)<<4|(c&60)>>2,o=c,s=3;break;case 3:r[n++]=(o&3)<<6|c,s=0;break}}if(s===1)throw Error(z0);return n-i};nc.test=function(e){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(e)}});var Q0=w((Dq,Y0)=>{"use strict";Y0.exports=ic;function ic(){this._listeners={}}ic.prototype.on=function(e,r,n){return(this._listeners[e]||(this._listeners[e]=[])).push({fn:r,ctx:n||this}),this};ic.prototype.off=function(e,r){if(e===void 0)this._listeners={};else if(r===void 0)this._listeners[e]=[];else for(var n=this._listeners[e],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};ic.prototype.emit=function(e){var r=this._listeners[e];if(r){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<r.length;)r[i].fn.apply(r[i++].ctx,n)}return this}});var np=w((Lq,rp)=>{"use strict";rp.exports=X0(X0);function X0(t){return typeof Float32Array!="undefined"?function(){var e=new Float32Array([-0]),r=new Uint8Array(e.buffer),n=r[3]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3]}function s(c,u,l){e[0]=c,u[l]=r[3],u[l+1]=r[2],u[l+2]=r[1],u[l+3]=r[0]}t.writeFloatLE=n?i:s,t.writeFloatBE=n?s:i;function o(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],e[0]}function a(c,u){return r[3]=c[u],r[2]=c[u+1],r[1]=c[u+2],r[0]=c[u+3],e[0]}t.readFloatLE=n?o:a,t.readFloatBE=n?a:o}():function(){function e(n,i,s,o){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,s,o);else if(isNaN(i))n(2143289344,s,o);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,s,o);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,s,o);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,s,o)}}t.writeFloatLE=e.bind(null,Z0),t.writeFloatBE=e.bind(null,J0);function r(n,i,s){var o=n(i,s),a=(o>>31)*2+1,c=o>>>23&255,u=o&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}t.readFloatLE=r.bind(null,ep),t.readFloatBE=r.bind(null,tp)}(),typeof Float64Array!="undefined"?function(){var e=new Float64Array([-0]),r=new Uint8Array(e.buffer),n=r[7]===128;function i(c,u,l){e[0]=c,u[l]=r[0],u[l+1]=r[1],u[l+2]=r[2],u[l+3]=r[3],u[l+4]=r[4],u[l+5]=r[5],u[l+6]=r[6],u[l+7]=r[7]}function s(c,u,l){e[0]=c,u[l]=r[7],u[l+1]=r[6],u[l+2]=r[5],u[l+3]=r[4],u[l+4]=r[3],u[l+5]=r[2],u[l+6]=r[1],u[l+7]=r[0]}t.writeDoubleLE=n?i:s,t.writeDoubleBE=n?s:i;function o(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],r[4]=c[u+4],r[5]=c[u+5],r[6]=c[u+6],r[7]=c[u+7],e[0]}function a(c,u){return r[7]=c[u],r[6]=c[u+1],r[5]=c[u+2],r[4]=c[u+3],r[3]=c[u+4],r[2]=c[u+5],r[1]=c[u+6],r[0]=c[u+7],e[0]}t.readDoubleLE=n?o:a,t.readDoubleBE=n?a:o}():function(){function e(n,i,s,o,a,c){var u=o<0?1:0;if(u&&(o=-o),o===0)n(0,a,c+i),n(1/o>0?0:2147483648,a,c+s);else if(isNaN(o))n(0,a,c+i),n(2146959360,a,c+s);else if(o>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+s);else{var l;if(o<22250738585072014e-324)l=o/5e-324,n(l>>>0,a,c+i),n((u<<31|l/4294967296)>>>0,a,c+s);else{var f=Math.floor(Math.log(o)/Math.LN2);f===1024&&(f=1023),l=o*Math.pow(2,-f),n(l*4503599627370496>>>0,a,c+i),n((u<<31|f+1023<<20|l*1048576&1048575)>>>0,a,c+s)}}}t.writeDoubleLE=e.bind(null,Z0,0,4),t.writeDoubleBE=e.bind(null,J0,4,0);function r(n,i,s,o,a){var c=n(o,a+i),u=n(o,a+s),l=(u>>31)*2+1,f=u>>>20&2047,d=4294967296*(u&1048575)+c;return f===2047?d?NaN:l*(1/0):f===0?l*5e-324*d:l*Math.pow(2,f-1075)*(d+4503599627370496)}t.readDoubleLE=r.bind(null,ep,0,4),t.readDoubleBE=r.bind(null,tp,4,0)}(),t}function Z0(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function J0(t,e,r){e[r]=t>>>24,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=t&255}function ep(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function tp(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}});var ip=w((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(t){}return null}});var op=w(sp=>{"use strict";var gl=sp;gl.length=function(e){for(var r=0,n=0,i=0;i<e.length;++i)n=e.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)==55296&&(e.charCodeAt(i+1)&64512)==56320?(++i,r+=4):r+=3;return r};gl.read=function(e,r,n){var i=n-r;if(i<1)return"";for(var s=null,o=[],a=0,c;r<n;)c=e[r++],c<128?o[a++]=c:c>191&&c<224?o[a++]=(c&31)<<6|e[r++]&63:c>239&&c<365?(c=((c&7)<<18|(e[r++]&63)<<12|(e[r++]&63)<<6|e[r++]&63)-65536,o[a++]=55296+(c>>10),o[a++]=56320+(c&1023)):o[a++]=(c&15)<<12|(e[r++]&63)<<6|e[r++]&63,a>8191&&((s||(s=[])).push(String.fromCharCode.apply(String,o)),a=0);return s?(a&&s.push(String.fromCharCode.apply(String,o.slice(0,a))),s.join("")):String.fromCharCode.apply(String,o.slice(0,a))};gl.write=function(e,r,n){for(var i=n,s,o,a=0;a<e.length;++a)s=e.charCodeAt(a),s<128?r[n++]=s:s<2048?(r[n++]=s>>6|192,r[n++]=s&63|128):(s&64512)==55296&&((o=e.charCodeAt(a+1))&64512)==56320?(s=65536+((s&1023)<<10)+(o&1023),++a,r[n++]=s>>18|240,r[n++]=s>>12&63|128,r[n++]=s>>6&63|128,r[n++]=s&63|128):(r[n++]=s>>12|224,r[n++]=s>>6&63|128,r[n++]=s&63|128);return n-i}});var cp=w((qq,ap)=>{"use strict";ap.exports=ET;function ET(t,e,r){var n=r||8192,i=n>>>1,s=null,o=n;return function(c){if(c<1||c>i)return t(c);o+c>n&&(s=t(n),o=0);var u=e.call(s,o,o+=c);return o&7&&(o=(o|7)+1),u}}});var lp=w((Uq,up)=>{"use strict";up.exports=wt;var Uo=Mn();function wt(t,e){this.lo=t>>>0,this.hi=e>>>0}var _i=wt.zero=new wt(0,0);_i.toNumber=function(){return 0};_i.zzEncode=_i.zzDecode=function(){return this};_i.length=function(){return 1};var wT=wt.zeroHash="\0\0\0\0\0\0\0\0";wt.fromNumber=function(e){if(e===0)return _i;var r=e<0;r&&(e=-e);var n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new wt(n,i)};wt.from=function(e){if(typeof e=="number")return wt.fromNumber(e);if(Uo.isString(e))if(Uo.Long)e=Uo.Long.fromString(e);else return wt.fromNumber(parseInt(e,10));return e.low||e.high?new wt(e.low>>>0,e.high>>>0):_i};wt.prototype.toNumber=function(e){if(!e&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};wt.prototype.toLong=function(e){return Uo.Long?new Uo.Long(this.lo|0,this.hi|0,Boolean(e)):{low:this.lo|0,high:this.hi|0,unsigned:Boolean(e)}};var Un=String.prototype.charCodeAt;wt.fromHash=function(e){return e===wT?_i:new wt((Un.call(e,0)|Un.call(e,1)<<8|Un.call(e,2)<<16|Un.call(e,3)<<24)>>>0,(Un.call(e,4)|Un.call(e,5)<<8|Un.call(e,6)<<16|Un.call(e,7)<<24)>>>0)};wt.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};wt.prototype.zzEncode=function(){var e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this};wt.prototype.zzDecode=function(){var e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this};wt.prototype.length=function(){var e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var Mn=w(ml=>{"use strict";var se=ml;se.asPromise=$0();se.base64=W0();se.EventEmitter=Q0();se.float=np();se.inquire=ip();se.utf8=op();se.pool=cp();se.LongBits=lp();se.isNode=Boolean(typeof globalThis!="undefined"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);se.global=se.isNode&&globalThis||typeof window!="undefined"&&window||typeof self!="undefined"&&self||ml;se.emptyArray=Object.freeze?Object.freeze([]):[];se.emptyObject=Object.freeze?Object.freeze({}):{};se.isInteger=Number.isInteger||function(e){return typeof e=="number"&&isFinite(e)&&Math.floor(e)===e};se.isString=function(e){return typeof e=="string"||e instanceof String};se.isObject=function(e){return e&&typeof e=="object"};se.isset=se.isSet=function(e,r){var n=e[r];return n!=null&&e.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};se.Buffer=function(){try{var t=se.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch(e){return null}}();se._Buffer_from=null;se._Buffer_allocUnsafe=null;se.newBuffer=function(e){return typeof e=="number"?se.Buffer?se._Buffer_allocUnsafe(e):new se.Array(e):se.Buffer?se._Buffer_from(e):typeof Uint8Array=="undefined"?e:new Uint8Array(e)};se.Array=typeof Uint8Array!="undefined"?Uint8Array:Array;se.Long=se.global.dcodeIO&&se.global.dcodeIO.Long||se.global.Long||se.inquire("long");se.key2Re=/^true|false|0|1$/;se.key32Re=/^-?(?:0|[1-9][0-9]*)$/;se.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;se.longToHash=function(e){return e?se.LongBits.from(e).toHash():se.LongBits.zeroHash};se.longFromHash=function(e,r){var n=se.LongBits.fromHash(e);return se.Long?se.Long.fromBits(n.lo,n.hi,r):n.toNumber(Boolean(r))};function fp(t,e,r){for(var n=Object.keys(e),i=0;i<n.length;++i)(t[n[i]]===void 0||!r)&&(t[n[i]]=e[n[i]]);return t}se.merge=fp;se.lcFirst=function(e){return e.charAt(0).toLowerCase()+e.substring(1)};function dp(t){function e(r,n){if(!(this instanceof e))return new e(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,e):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&fp(this,n)}return(e.prototype=Object.create(Error.prototype)).constructor=e,Object.defineProperty(e.prototype,"name",{get:function(){return t}}),e.prototype.toString=function(){return this.name+": "+this.message},e}se.newError=dp;se.ProtocolError=dp("ProtocolError");se.oneOfGetter=function(e){for(var r={},n=0;n<e.length;++n)r[e[n]]=1;return function(){for(var i=Object.keys(this),s=i.length-1;s>-1;--s)if(r[i[s]]===1&&this[i[s]]!==void 0&&this[i[s]]!==null)return i[s]}};se.oneOfSetter=function(e){return function(r){for(var n=0;n<e.length;++n)e[n]!==r&&delete this[e[n]]}};se.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};se._configure=function(){var t=se.Buffer;if(!t){se._Buffer_from=se._Buffer_allocUnsafe=null;return}se._Buffer_from=t.from!==Uint8Array.from&&t.from||function(r,n){return new t(r,n)},se._Buffer_allocUnsafe=t.allocUnsafe||function(r){return new t(r)}}});var xl=w((Fq,gp)=>{"use strict";gp.exports=Re;var dr=Mn(),vl,sc=dr.LongBits,hp=dr.base64,pp=dr.utf8;function Mo(t,e,r){this.fn=t,this.len=e,this.next=void 0,this.val=r}function bl(){}function _T(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function Re(){this.len=0,this.head=new Mo(bl,0,0),this.tail=this.head,this.states=null}var yp=function(){return dr.Buffer?function(){return(Re.create=function(){return new vl})()}:function(){return new Re}};Re.create=yp();Re.alloc=function(e){return new dr.Array(e)};dr.Array!==Array&&(Re.alloc=dr.pool(Re.alloc,dr.Array.prototype.subarray));Re.prototype._push=function(e,r,n){return this.tail=this.tail.next=new Mo(e,r,n),this.len+=r,this};function El(t,e,r){e[r]=t&255}function ST(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}function wl(t,e){this.len=t,this.next=void 0,this.val=e}wl.prototype=Object.create(Mo.prototype);wl.prototype.fn=ST;Re.prototype.uint32=function(e){return this.len+=(this.tail=this.tail.next=new wl((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this};Re.prototype.int32=function(e){return e<0?this._push(_l,10,sc.fromNumber(e)):this.uint32(e)};Re.prototype.sint32=function(e){return this.uint32((e<<1^e>>31)>>>0)};function _l(t,e,r){for(;t.hi;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}Re.prototype.uint64=function(e){var r=sc.from(e);return this._push(_l,r.length(),r)};Re.prototype.int64=Re.prototype.uint64;Re.prototype.sint64=function(e){var r=sc.from(e).zzEncode();return this._push(_l,r.length(),r)};Re.prototype.bool=function(e){return this._push(El,1,e?1:0)};function Sl(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}Re.prototype.fixed32=function(e){return this._push(Sl,4,e>>>0)};Re.prototype.sfixed32=Re.prototype.fixed32;Re.prototype.fixed64=function(e){var r=sc.from(e);return this._push(Sl,4,r.lo)._push(Sl,4,r.hi)};Re.prototype.sfixed64=Re.prototype.fixed64;Re.prototype.float=function(e){return this._push(dr.float.writeFloatLE,4,e)};Re.prototype.double=function(e){return this._push(dr.float.writeDoubleLE,8,e)};var xT=dr.Array.prototype.set?function(e,r,n){r.set(e,n)}:function(e,r,n){for(var i=0;i<e.length;++i)r[n+i]=e[i]};Re.prototype.bytes=function(e){var r=e.length>>>0;if(!r)return this._push(El,1,0);if(dr.isString(e)){var n=Re.alloc(r=hp.length(e));hp.decode(e,n,0),e=n}return this.uint32(r)._push(xT,r,e)};Re.prototype.string=function(e){var r=pp.length(e);return r?this.uint32(r)._push(pp.write,r,e):this._push(El,1,0)};Re.prototype.fork=function(){return this.states=new _T(this),this.head=this.tail=new Mo(bl,0,0),this.len=0,this};Re.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Mo(bl,0,0),this.len=0),this};Re.prototype.ldelim=function(){var e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=e.next,this.tail=r,this.len+=n),this};Re.prototype.finish=function(){for(var e=this.head.next,r=this.constructor.alloc(this.len),n=0;e;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r};Re._configure=function(t){vl=t,Re.create=yp(),vl._configure()}});var bp=w((Kq,vp)=>{"use strict";vp.exports=Gr;var mp=xl();(Gr.prototype=Object.create(mp.prototype)).constructor=Gr;var Fn=Mn();function Gr(){mp.call(this)}Gr._configure=function(){Gr.alloc=Fn._Buffer_allocUnsafe,Gr.writeBytesBuffer=Fn.Buffer&&Fn.Buffer.prototype instanceof Uint8Array&&Fn.Buffer.prototype.set.name==="set"?function(e,r,n){r.set(e,n)}:function(e,r,n){if(e.copy)e.copy(r,n,0,e.length);else for(var i=0;i<e.length;)r[n++]=e[i++]}};Gr.prototype.bytes=function(e){Fn.isString(e)&&(e=Fn._Buffer_from(e,"base64"));var r=e.length>>>0;return this.uint32(r),r&&this._push(Gr.writeBytesBuffer,r,e),this};function AT(t,e,r){t.length<40?Fn.utf8.write(t,e,r):e.utf8Write?e.utf8Write(t,r):e.write(t,r)}Gr.prototype.string=function(e){var r=Fn.Buffer.byteLength(e);return this.uint32(r),r&&this._push(AT,r,e),this};Gr._configure()});var Il=w((Vq,xp)=>{"use strict";xp.exports=dt;var Wr=Mn(),Al,Ep=Wr.LongBits,CT=Wr.utf8;function Or(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function dt(t){this.buf=t,this.pos=0,this.len=t.length}var wp=typeof Uint8Array!="undefined"?function(e){if(e instanceof Uint8Array||Array.isArray(e))return new dt(e);throw Error("illegal buffer")}:function(e){if(Array.isArray(e))return new dt(e);throw Error("illegal buffer")},_p=function(){return Wr.Buffer?function(r){return(dt.create=function(i){return Wr.Buffer.isBuffer(i)?new Al(i):wp(i)})(r)}:wp};dt.create=_p();dt.prototype._slice=Wr.Array.prototype.subarray||Wr.Array.prototype.slice;dt.prototype.uint32=function(){var e=4294967295;return function(){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,Or(this,10);return e}}();dt.prototype.int32=function(){return this.uint32()|0};dt.prototype.sint32=function(){var e=this.uint32();return e>>>1^-(e&1)|0};function Cl(){var t=new Ep(0,0),e=0;if(this.len-this.pos>4){for(;e<4;++e)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;e=0}else{for(;e<3;++e){if(this.pos>=this.len)throw Or(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<e*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<e*7)>>>0,t}if(this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw Or(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<e*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}dt.prototype.bool=function(){return this.uint32()!==0};function oc(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}dt.prototype.fixed32=function(){if(this.pos+4>this.len)throw Or(this,4);return oc(this.buf,this.pos+=4)};dt.prototype.sfixed32=function(){if(this.pos+4>this.len)throw Or(this,4);return oc(this.buf,this.pos+=4)|0};function Sp(){if(this.pos+8>this.len)throw Or(this,8);return new Ep(oc(this.buf,this.pos+=4),oc(this.buf,this.pos+=4))}dt.prototype.float=function(){if(this.pos+4>this.len)throw Or(this,4);var e=Wr.float.readFloatLE(this.buf,this.pos);return this.pos+=4,e};dt.prototype.double=function(){if(this.pos+8>this.len)throw Or(this,4);var e=Wr.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,e};dt.prototype.bytes=function(){var e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw Or(this,e);return this.pos+=e,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};dt.prototype.string=function(){var e=this.bytes();return CT.read(e,0,e.length)};dt.prototype.skip=function(e){if(typeof e=="number"){if(this.pos+e>this.len)throw Or(this,e);this.pos+=e}else do if(this.pos>=this.len)throw Or(this);while(this.buf[this.pos++]&128);return this};dt.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!=4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this};dt._configure=function(t){Al=t,dt.create=_p(),Al._configure();var e=Wr.Long?"toLong":"toNumber";Wr.merge(dt.prototype,{int64:function(){return Cl.call(this)[e](!1)},uint64:function(){return Cl.call(this)[e](!0)},sint64:function(){return Cl.call(this).zzDecode()[e](!1)},fixed64:function(){return Sp.call(this)[e](!0)},sfixed64:function(){return Sp.call(this)[e](!1)}})}});var Tp=w((jq,Ip)=>{"use strict";Ip.exports=Si;var Ap=Il();(Si.prototype=Object.create(Ap.prototype)).constructor=Si;var Cp=Mn();function Si(t){Ap.call(this,t)}Si._configure=function(){Cp.Buffer&&(Si.prototype._slice=Cp.Buffer.prototype.slice)};Si.prototype.string=function(){var e=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+e,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+e,this.len))};Si._configure()});var Bp=w(($q,Rp)=>{"use strict";Rp.exports=Fo;var Tl=Mn();(Fo.prototype=Object.create(Tl.EventEmitter.prototype)).constructor=Fo;function Fo(t,e,r){if(typeof t!="function")throw TypeError("rpcImpl must be a function");Tl.EventEmitter.call(this),this.rpcImpl=t,this.requestDelimited=Boolean(e),this.responseDelimited=Boolean(r)}Fo.prototype.rpcCall=function t(e,r,n,i,s){if(!i)throw TypeError("request must be specified");var o=this;if(!s)return Tl.asPromise(t,o,e,r,n,i);if(!o.rpcImpl){setTimeout(function(){s(Error("already ended"))},0);return}try{return o.rpcImpl(e,r[o.requestDelimited?"encodeDelimited":"encode"](i).finish(),function(c,u){if(c)return o.emit("error",c,e),s(c);if(u===null){o.end(!0);return}if(!(u instanceof n))try{u=n[o.responseDelimited?"decodeDelimited":"decode"](u)}catch(l){return o.emit("error",l,e),s(l)}return o.emit("data",u,e),s(null,u)})}catch(a){o.emit("error",a,e),setTimeout(function(){s(a)},0);return}};Fo.prototype.end=function(e){return this.rpcImpl&&(e||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}});var Np=w(Pp=>{"use strict";var IT=Pp;IT.Service=Bp()});var Dp=w((zq,Op)=>{"use strict";Op.exports={}});var qp=w(kp=>{"use strict";var Xt=kp;Xt.build="minimal";Xt.Writer=xl();Xt.BufferWriter=bp();Xt.Reader=Il();Xt.BufferReader=Tp();Xt.util=Mn();Xt.rpc=Np();Xt.roots=Dp();Xt.configure=Lp;function Lp(){Xt.util._configure(),Xt.Writer._configure(Xt.BufferWriter),Xt.Reader._configure(Xt.BufferReader)}Lp()});var gn=w((Wq,Up)=>{"use strict";Up.exports=qp()});var cc=w((Yq,Fp)=>{"use strict";var xi=gn(),ac=xi.Reader,Mp=xi.Writer,Pt=xi.util,hr=xi.roots["libp2p-crypto-keys"]||(xi.roots["libp2p-crypto-keys"]={});hr.KeyType=function(){var t={},e=Object.create(t);return e[t[0]="RSA"]=0,e[t[1]="Ed25519"]=1,e[t[2]="Secp256k1"]=2,e}();hr.PublicKey=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.Type=0,t.prototype.Data=Pt.newBuffer([]),t.encode=function(r,n){return n||(n=Mp.create()),n.uint32(8).int32(r.Type),n.uint32(18).bytes(r.Data),n},t.decode=function(r,n){r instanceof ac||(r=ac.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new hr.PublicKey;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.Type=r.int32();break;case 2:s.Data=r.bytes();break;default:r.skipType(o&7);break}}if(!s.hasOwnProperty("Type"))throw Pt.ProtocolError("missing required 'Type'",{instance:s});if(!s.hasOwnProperty("Data"))throw Pt.ProtocolError("missing required 'Data'",{instance:s});return s},t.fromObject=function(r){if(r instanceof hr.PublicKey)return r;var n=new hr.PublicKey;switch(r.Type){case"RSA":case 0:n.Type=0;break;case"Ed25519":case 1:n.Type=1;break;case"Secp256k1":case 2:n.Type=2;break}return r.Data!=null&&(typeof r.Data=="string"?Pt.base64.decode(r.Data,n.Data=Pt.newBuffer(Pt.base64.length(r.Data)),0):r.Data.length&&(n.Data=r.Data)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(i.Type=n.enums===String?"RSA":0,n.bytes===String?i.Data="":(i.Data=[],n.bytes!==Array&&(i.Data=Pt.newBuffer(i.Data)))),r.Type!=null&&r.hasOwnProperty("Type")&&(i.Type=n.enums===String?hr.KeyType[r.Type]:r.Type),r.Data!=null&&r.hasOwnProperty("Data")&&(i.Data=n.bytes===String?Pt.base64.encode(r.Data,0,r.Data.length):n.bytes===Array?Array.prototype.slice.call(r.Data):r.Data),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,xi.util.toJSONOptions)},t}();hr.PrivateKey=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.Type=0,t.prototype.Data=Pt.newBuffer([]),t.encode=function(r,n){return n||(n=Mp.create()),n.uint32(8).int32(r.Type),n.uint32(18).bytes(r.Data),n},t.decode=function(r,n){r instanceof ac||(r=ac.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new hr.PrivateKey;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.Type=r.int32();break;case 2:s.Data=r.bytes();break;default:r.skipType(o&7);break}}if(!s.hasOwnProperty("Type"))throw Pt.ProtocolError("missing required 'Type'",{instance:s});if(!s.hasOwnProperty("Data"))throw Pt.ProtocolError("missing required 'Data'",{instance:s});return s},t.fromObject=function(r){if(r instanceof hr.PrivateKey)return r;var n=new hr.PrivateKey;switch(r.Type){case"RSA":case 0:n.Type=0;break;case"Ed25519":case 1:n.Type=1;break;case"Secp256k1":case 2:n.Type=2;break}return r.Data!=null&&(typeof r.Data=="string"?Pt.base64.decode(r.Data,n.Data=Pt.newBuffer(Pt.base64.length(r.Data)),0):r.Data.length&&(n.Data=r.Data)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(i.Type=n.enums===String?"RSA":0,n.bytes===String?i.Data="":(i.Data=[],n.bytes!==Array&&(i.Data=Pt.newBuffer(i.Data)))),r.Type!=null&&r.hasOwnProperty("Type")&&(i.Type=n.enums===String?hr.KeyType[r.Type]:r.Type),r.Data!=null&&r.hasOwnProperty("Data")&&(i.Data=n.bytes===String?Pt.base64.encode(r.Data,0,r.Data.length):n.bytes===Array?Array.prototype.slice.call(r.Data):r.Data),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,xi.util.toJSONOptions)},t}();Fp.exports=hr});var be=w((Qq,Kp)=>{Kp.exports={options:{usePureJavaScript:!1}}});var $p=w((Xq,jp)=>{var Rl={};jp.exports=Rl;var Vp={};Rl.encode=function(t,e,r){if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(t instanceof Uint8Array))n=TT(t,e);else{var i=0,s=e.length,o=e.charAt(0),a=[0];for(i=0;i<t.length;++i){for(var c=0,u=t[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%s,u=u/s|0;for(;u>0;)a.push(u%s),u=u/s|0}for(i=0;t[i]===0&&i<t.length-1;++i)n+=o;for(i=a.length-1;i>=0;--i)n+=e[a[i]]}if(r){var l=new RegExp(".{1,"+r+"}","g");n=n.match(l).join(`\r
|
|
17
|
+
`)}return n};Rl.decode=function(t,e){if(typeof t!="string")throw new TypeError('"input" must be a string.');if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');var r=Vp[e];if(!r){r=Vp[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,s=e.charAt(0),o=[0],n=0;n<t.length;n++){var a=r[t.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<o.length;++c)u+=o[c]*i,o[c]=u&255,u>>=8;for(;u>0;)o.push(u&255),u>>=8}for(var l=0;t[l]===s&&l<t.length-1;++l)o.push(0);return typeof Buffer!="undefined"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function TT(t,e){var r=0,n=e.length,i=e.charAt(0),s=[0];for(r=0;r<t.length();++r){for(var o=0,a=t.at(r);o<s.length;++o)a+=s[o]<<8,s[o]=a%n,a=a/n|0;for(;a>0;)s.push(a%n),a=a/n|0}var c="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)c+=i;for(r=s.length-1;r>=0;--r)c+=e[s[r]];return c}});var $e=w((Zq,Wp)=>{var Hp=be(),zp=$p(),P=Wp.exports=Hp.util=Hp.util||{};(function(){if(typeof process!="undefined"&&process.nextTick&&!process.browser){P.nextTick=process.nextTick,typeof setImmediate=="function"?P.setImmediate=setImmediate:P.setImmediate=P.nextTick;return}if(typeof setImmediate=="function"){P.setImmediate=function(){return setImmediate.apply(void 0,arguments)},P.nextTick=function(a){return setImmediate(a)};return}if(P.setImmediate=function(a){setTimeout(a,0)},typeof window!="undefined"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(l){l()})}};var o=a,t="forge.setImmediate",e=[];P.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver!="undefined"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var s=P.setImmediate;P.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}P.nextTick=P.setImmediate})();P.isNodejs=typeof process!="undefined"&&process.versions&&process.versions.node;P.globalScope=function(){return P.isNodejs?globalThis:typeof self=="undefined"?window:self}();P.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};P.isArrayBuffer=function(t){return typeof ArrayBuffer!="undefined"&&t instanceof ArrayBuffer};P.isArrayBufferView=function(t){return t&&P.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Ko(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}P.ByteBuffer=Bl;function Bl(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(P.isArrayBuffer(t)||P.isArrayBufferView(t))if(typeof Buffer!="undefined"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch(n){for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof Bl||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}P.ByteStringBuffer=Bl;var RT=4096;P.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>RT&&(this.data.substr(0,1),this._constructedStringLength=0)};P.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};P.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};P.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};P.ByteStringBuffer.prototype.fillWithByte=function(t,e){t=String.fromCharCode(t);for(var r=this.data;e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return this.data=r,this._optimizeConstructedString(e),this};P.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};P.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(P.encodeUtf8(t))};P.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};P.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};P.ByteStringBuffer.prototype.putInt32=function(t){return this.putBytes(String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};P.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};P.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};P.ByteStringBuffer.prototype.putInt32Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>24&255))};P.ByteStringBuffer.prototype.putInt=function(t,e){Ko(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};P.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};P.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};P.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};P.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};P.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};P.ByteStringBuffer.prototype.getInt32=function(){var t=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,t};P.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};P.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};P.ByteStringBuffer.prototype.getInt32Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,t};P.ByteStringBuffer.prototype.getInt=function(t){Ko(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};P.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};P.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};P.ByteStringBuffer.prototype.bytes=function(t){return typeof t=="undefined"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};P.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};P.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};P.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};P.ByteStringBuffer.prototype.copy=function(){var t=P.createBuffer(this.data);return t.read=this.read,t};P.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};P.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};P.ByteStringBuffer.prototype.truncate=function(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};P.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};P.ByteStringBuffer.prototype.toString=function(){return P.decodeUtf8(this.bytes())};function BT(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=P.isArrayBuffer(t),n=P.isArrayBufferView(t);if(r||n){r?this.data=new DataView(t):this.data=new DataView(t.buffer,t.byteOffset,t.byteLength),this.write="writeOffset"in e?e.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,t!=null&&this.putBytes(t),"writeOffset"in e&&(this.write=e.writeOffset)}P.DataBuffer=BT;P.DataBuffer.prototype.length=function(){return this.write-this.read};P.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};P.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};P.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};P.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};P.DataBuffer.prototype.putBytes=function(t,e){if(P.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(P.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof P.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&P.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof P.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var s;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),s=new Uint8Array(this.data.buffer,this.write),this.write+=P.binary.hex.decode(t,s,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),s=new Uint8Array(this.data.buffer,this.write),this.write+=P.binary.base64.decode(t,s,this.write),this;if(e==="utf8"&&(t=P.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=P.binary.raw.decode(s),this;if(e==="utf16")return this.accommodate(t.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=P.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};P.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};P.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};P.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};P.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};P.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};P.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};P.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};P.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};P.DataBuffer.prototype.putInt=function(t,e){Ko(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};P.DataBuffer.prototype.putSignedInt=function(t,e){return Ko(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};P.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};P.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};P.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};P.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};P.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};P.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};P.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};P.DataBuffer.prototype.getInt=function(t){Ko(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};P.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};P.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};P.DataBuffer.prototype.bytes=function(t){return typeof t=="undefined"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};P.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};P.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};P.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};P.DataBuffer.prototype.copy=function(){return new P.DataBuffer(this)};P.DataBuffer.prototype.compact=function(){if(this.read>0){var t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};P.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};P.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};P.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};P.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return P.binary.raw.encode(e);if(t==="hex")return P.binary.hex.encode(e);if(t==="base64")return P.binary.base64.encode(e);if(t==="utf8")return P.text.utf8.decode(e);if(t==="utf16")return P.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};P.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=P.encodeUtf8(t)),new P.ByteBuffer(t)};P.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};P.xorBytes=function(t,e,r){for(var n="",i="",s="",o=0,a=0;r>0;--r,++o)i=t.charCodeAt(o)^e.charCodeAt(o),a>=10&&(n+=s,s="",a=0),s+=String.fromCharCode(i),++a;return n+=s,n};P.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};P.bytesToHex=function(t){return P.createBuffer(t).toHex()};P.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var Kn="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Vn=[62,-1,-1,-1,63,52,53,54,55,56,57,58,59,60,61,-1,-1,-1,64,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,-1,-1,-1,-1,-1,-1,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],Gp="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";P.encode64=function(t,e){for(var r="",n="",i,s,o,a=0;a<t.length;)i=t.charCodeAt(a++),s=t.charCodeAt(a++),o=t.charCodeAt(a++),r+=Kn.charAt(i>>2),r+=Kn.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=Kn.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":Kn.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
18
|
+
`,r=r.substr(e));return n+=r,n};P.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,s,o=0;o<t.length;)r=Vn[t.charCodeAt(o++)-43],n=Vn[t.charCodeAt(o++)-43],i=Vn[t.charCodeAt(o++)-43],s=Vn[t.charCodeAt(o++)-43],e+=String.fromCharCode(r<<2|n>>4),i!==64&&(e+=String.fromCharCode((n&15)<<4|i>>2),s!==64&&(e+=String.fromCharCode((i&3)<<6|s)));return e};P.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};P.decodeUtf8=function(t){return decodeURIComponent(escape(t))};P.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:zp.encode,decode:zp.decode}};P.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};P.binary.raw.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,s=0;s<t.length;++s)n[i++]=t.charCodeAt(s);return e?i-r:n};P.binary.hex.encode=P.bytesToHex;P.binary.hex.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/2))),r=r||0;var i=0,s=r;for(t.length&1&&(i=1,n[s++]=parseInt(t[0],16));i<t.length;i+=2)n[s++]=parseInt(t.substr(i,2),16);return e?s-r:n};P.binary.base64.encode=function(t,e){for(var r="",n="",i,s,o,a=0;a<t.byteLength;)i=t[a++],s=t[a++],o=t[a++],r+=Kn.charAt(i>>2),r+=Kn.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=Kn.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":Kn.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
19
|
+
`,r=r.substr(e));return n+=r,n};P.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,s,o,a,c=0,u=r;c<t.length;)i=Vn[t.charCodeAt(c++)-43],s=Vn[t.charCodeAt(c++)-43],o=Vn[t.charCodeAt(c++)-43],a=Vn[t.charCodeAt(c++)-43],n[u++]=i<<2|s>>4,o!==64&&(n[u++]=(s&15)<<4|o>>2,a!==64&&(n[u++]=(o&3)<<6|a));return e?u-r:n.subarray(0,u)};P.binary.base58.encode=function(t,e){return P.binary.baseN.encode(t,Gp,e)};P.binary.base58.decode=function(t,e){return P.binary.baseN.decode(t,Gp,e)};P.text={utf8:{},utf16:{}};P.text.utf8.encode=function(t,e,r){t=P.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,s=0;s<t.length;++s)n[i++]=t.charCodeAt(s);return e?i-r:n};P.text.utf8.decode=function(t){return P.decodeUtf8(String.fromCharCode.apply(null,t))};P.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var s=r,o=r,a=0;a<t.length;++a)i[o++]=t.charCodeAt(a),s+=2;return e?s-r:n};P.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};P.deflate=function(t,e,r){if(e=P.decode64(t.deflate(P.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};P.inflate=function(t,e,r){var n=t.inflate(P.encode64(e)).rval;return n===null?null:P.decode64(n)};var Pl=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=P.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n!="undefined"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},Nl=function(t,e){if(!t)throw new Error("WebStorage not available.");var r=t.getItem(e);if(t.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(P.decode64(r))),r},PT=function(t,e,r,n){var i=Nl(t,e);i===null&&(i={}),i[r]=n,Pl(t,e,i)},NT=function(t,e,r){var n=Nl(t,e);return n!==null&&(n=r in n?n[r]:null),n},OT=function(t,e,r){var n=Nl(t,e);if(n!==null&&r in n){delete n[r];var i=!0;for(var s in n){i=!1;break}i&&(n=null),Pl(t,e,n)}},DT=function(t,e){Pl(t,e,null)},uc=function(t,e,r){var n=null;typeof r=="undefined"&&(r=["web","flash"]);var i,s=!1,o=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),s=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),s=!0)}catch(c){o=c}if(s)break}if(!s)throw o;return n};P.setItem=function(t,e,r,n,i){uc(PT,arguments,i)};P.getItem=function(t,e,r,n){return uc(NT,arguments,n)};P.removeItem=function(t,e,r,n){uc(OT,arguments,n)};P.clearItems=function(t,e,r){uc(DT,arguments,r)};P.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};P.format=function(t){for(var e=/%./g,r,n,i=0,s=[],o=0;r=e.exec(t);){n=t.substring(o,e.lastIndex-2),n.length>0&&s.push(n),o=e.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?s.push(arguments[i+++1]):s.push("<?>");break;case"%":s.push("%");break;default:s.push("<%"+a+"?>")}}return s.push(t.substring(o)),s.join("")};P.formatNumber=function(t,e,r,n){var i=t,s=isNaN(e=Math.abs(e))?2:e,o=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(s),10)+"",l=u.length>3?u.length%3:0;return c+(l?u.substr(0,l)+a:"")+u.substr(l).replace(/(\d{3})(?=\d)/g,"$1"+a)+(s?o+Math.abs(i-u).toFixed(s).slice(2):"")};P.formatSize=function(t){return t>=1073741824?t=P.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=P.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=P.formatNumber(t/1024,0)+" KiB":t=P.formatNumber(t,0)+" bytes",t};P.bytesFromIP=function(t){return t.indexOf(".")!==-1?P.bytesFromIPv4(t):t.indexOf(":")!==-1?P.bytesFromIPv6(t):null};P.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=P.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};P.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(o){return o.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=P.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=P.hexToBytes(t[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};P.bytesToIP=function(t){return t.length===4?P.bytesToIPv4(t):t.length===16?P.bytesToIPv6(t):null};P.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};P.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var s=P.bytesToHex(t[i]+t[i+1]);s[0]==="0"&&s!=="0";)s=s.substr(1);if(s==="0"){var o=r[r.length-1],a=e.length;!o||a!==o.end+1?r.push({start:a,end:a}):(o.end=a,o.end-o.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(s)}if(r.length>0){var c=r[n];c.end-c.start>0&&(e.splice(c.start,c.end-c.start+1,""),c.start===0&&e.unshift(""),c.end===7&&e.push(""))}return e.join(":")};P.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in P&&!t.update)return e(null,P.cores);if(typeof navigator!="undefined"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return P.cores=navigator.hardwareConcurrency,e(null,P.cores);if(typeof Worker=="undefined")return P.cores=1,e(null,P.cores);if(typeof Blob=="undefined")return P.cores=2,e(null,P.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(o){for(var a=Date.now(),c=a+4;Date.now()<c;);self.postMessage({st:a,et:c})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(o,a,c){if(a===0){var u=Math.floor(o.reduce(function(l,f){return l+f},0)/o.length);return P.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,P.cores)}i(c,function(l,f){o.push(s(c,f)),n(o,a-1,c)})}function i(o,a){for(var c=[],u=[],l=0;l<o;++l){var f=new Worker(r);f.addEventListener("message",function(d){if(u.push(d.data),u.length===o){for(var p=0;p<o;++p)c[p].terminate();a(null,u)}}),c.push(f)}for(var l=0;l<o;++l)c[l].postMessage(l)}function s(o,a){for(var c=[],u=0;u<o;++u)for(var l=a[u],f=c[u]=[],d=0;d<o;++d)if(u!==d){var p=a[d];(l.st>p.st&&l.st<p.et||p.st>l.st&&p.st<l.et)&&f.push(d)}return c.reduce(function(h,g){return Math.max(h,g.length)},0)}}});var xs=w((Jq,Yp)=>{var Vo=be();Vo.pki=Vo.pki||{};var Ol=Yp.exports=Vo.pki.oids=Vo.oids=Vo.oids||{};function $(t,e){Ol[t]=e,Ol[e]=t}function Oe(t,e){Ol[t]=e}$("1.2.840.113549.1.1.1","rsaEncryption");$("1.2.840.113549.1.1.4","md5WithRSAEncryption");$("1.2.840.113549.1.1.5","sha1WithRSAEncryption");$("1.2.840.113549.1.1.7","RSAES-OAEP");$("1.2.840.113549.1.1.8","mgf1");$("1.2.840.113549.1.1.9","pSpecified");$("1.2.840.113549.1.1.10","RSASSA-PSS");$("1.2.840.113549.1.1.11","sha256WithRSAEncryption");$("1.2.840.113549.1.1.12","sha384WithRSAEncryption");$("1.2.840.113549.1.1.13","sha512WithRSAEncryption");$("1.3.101.112","EdDSA25519");$("1.2.840.10040.4.3","dsa-with-sha1");$("1.3.14.3.2.7","desCBC");$("1.3.14.3.2.26","sha1");$("1.3.14.3.2.29","sha1WithRSASignature");$("2.16.840.1.101.3.4.2.1","sha256");$("2.16.840.1.101.3.4.2.2","sha384");$("2.16.840.1.101.3.4.2.3","sha512");$("1.2.840.113549.2.5","md5");$("1.2.840.113549.1.7.1","data");$("1.2.840.113549.1.7.2","signedData");$("1.2.840.113549.1.7.3","envelopedData");$("1.2.840.113549.1.7.4","signedAndEnvelopedData");$("1.2.840.113549.1.7.5","digestedData");$("1.2.840.113549.1.7.6","encryptedData");$("1.2.840.113549.1.9.1","emailAddress");$("1.2.840.113549.1.9.2","unstructuredName");$("1.2.840.113549.1.9.3","contentType");$("1.2.840.113549.1.9.4","messageDigest");$("1.2.840.113549.1.9.5","signingTime");$("1.2.840.113549.1.9.6","counterSignature");$("1.2.840.113549.1.9.7","challengePassword");$("1.2.840.113549.1.9.8","unstructuredAddress");$("1.2.840.113549.1.9.14","extensionRequest");$("1.2.840.113549.1.9.20","friendlyName");$("1.2.840.113549.1.9.21","localKeyId");$("1.2.840.113549.1.9.22.1","x509Certificate");$("1.2.840.113549.1.12.10.1.1","keyBag");$("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");$("1.2.840.113549.1.12.10.1.3","certBag");$("1.2.840.113549.1.12.10.1.4","crlBag");$("1.2.840.113549.1.12.10.1.5","secretBag");$("1.2.840.113549.1.12.10.1.6","safeContentsBag");$("1.2.840.113549.1.5.13","pkcs5PBES2");$("1.2.840.113549.1.5.12","pkcs5PBKDF2");$("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");$("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");$("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");$("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");$("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");$("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");$("1.2.840.113549.2.7","hmacWithSHA1");$("1.2.840.113549.2.8","hmacWithSHA224");$("1.2.840.113549.2.9","hmacWithSHA256");$("1.2.840.113549.2.10","hmacWithSHA384");$("1.2.840.113549.2.11","hmacWithSHA512");$("1.2.840.113549.3.7","des-EDE3-CBC");$("2.16.840.1.101.3.4.1.2","aes128-CBC");$("2.16.840.1.101.3.4.1.22","aes192-CBC");$("2.16.840.1.101.3.4.1.42","aes256-CBC");$("2.5.4.3","commonName");$("2.5.4.4","surname");$("2.5.4.5","serialNumber");$("2.5.4.6","countryName");$("2.5.4.7","localityName");$("2.5.4.8","stateOrProvinceName");$("2.5.4.9","streetAddress");$("2.5.4.10","organizationName");$("2.5.4.11","organizationalUnitName");$("2.5.4.12","title");$("2.5.4.13","description");$("2.5.4.15","businessCategory");$("2.5.4.17","postalCode");$("2.5.4.42","givenName");$("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");$("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");$("2.16.840.1.113730.1.1","nsCertType");$("2.16.840.1.113730.1.13","nsComment");Oe("2.5.29.1","authorityKeyIdentifier");Oe("2.5.29.2","keyAttributes");Oe("2.5.29.3","certificatePolicies");Oe("2.5.29.4","keyUsageRestriction");Oe("2.5.29.5","policyMapping");Oe("2.5.29.6","subtreesConstraint");Oe("2.5.29.7","subjectAltName");Oe("2.5.29.8","issuerAltName");Oe("2.5.29.9","subjectDirectoryAttributes");Oe("2.5.29.10","basicConstraints");Oe("2.5.29.11","nameConstraints");Oe("2.5.29.12","policyConstraints");Oe("2.5.29.13","basicConstraints");$("2.5.29.14","subjectKeyIdentifier");$("2.5.29.15","keyUsage");Oe("2.5.29.16","privateKeyUsagePeriod");$("2.5.29.17","subjectAltName");$("2.5.29.18","issuerAltName");$("2.5.29.19","basicConstraints");Oe("2.5.29.20","cRLNumber");Oe("2.5.29.21","cRLReason");Oe("2.5.29.22","expirationDate");Oe("2.5.29.23","instructionCode");Oe("2.5.29.24","invalidityDate");Oe("2.5.29.25","cRLDistributionPoints");Oe("2.5.29.26","issuingDistributionPoint");Oe("2.5.29.27","deltaCRLIndicator");Oe("2.5.29.28","issuingDistributionPoint");Oe("2.5.29.29","certificateIssuer");Oe("2.5.29.30","nameConstraints");$("2.5.29.31","cRLDistributionPoints");$("2.5.29.32","certificatePolicies");Oe("2.5.29.33","policyMappings");Oe("2.5.29.34","policyConstraints");$("2.5.29.35","authorityKeyIdentifier");Oe("2.5.29.36","policyConstraints");$("2.5.29.37","extKeyUsage");Oe("2.5.29.46","freshestCRL");Oe("2.5.29.54","inhibitAnyPolicy");$("1.3.6.1.4.1.11129.2.4.2","timestampList");$("1.3.6.1.5.5.7.1.1","authorityInfoAccess");$("1.3.6.1.5.5.7.3.1","serverAuth");$("1.3.6.1.5.5.7.3.2","clientAuth");$("1.3.6.1.5.5.7.3.3","codeSigning");$("1.3.6.1.5.5.7.3.4","emailProtection");$("1.3.6.1.5.5.7.3.8","timeStamping")});var jn=w((eU,Xp)=>{var Qe=be();$e();xs();var X=Xp.exports=Qe.asn1=Qe.asn1||{};X.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};X.Type={NONE:0,BOOLEAN:1,INTEGER:2,BITSTRING:3,OCTETSTRING:4,NULL:5,OID:6,ODESC:7,EXTERNAL:8,REAL:9,ENUMERATED:10,EMBEDDED:11,UTF8:12,ROID:13,SEQUENCE:16,SET:17,PRINTABLESTRING:19,IA5STRING:22,UTCTIME:23,GENERALIZEDTIME:24,BMPSTRING:30};X.create=function(t,e,r,n,i){if(Qe.util.isArray(n)){for(var s=[],o=0;o<n.length;++o)n[o]!==void 0&&s.push(n[o]);n=s}var a={tagClass:t,type:e,constructed:r,composed:r||Qe.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=X.copy(a)),a};X.copy=function(t,e){var r;if(Qe.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(X.copy(t[n],e));return r}return typeof t=="string"?t:(r={tagClass:t.tagClass,type:t.type,constructed:t.constructed,composed:t.composed,value:X.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};X.equals=function(t,e,r){if(Qe.util.isArray(t)){if(!Qe.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!X.equals(t[n],e[n]))return!1;return!0}if(typeof t!=typeof e)return!1;if(typeof t=="string")return t===e;var i=t.tagClass===e.tagClass&&t.type===e.type&&t.constructed===e.constructed&&t.composed===e.composed&&X.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};X.getBerValueLength=function(t){var e=t.getByte();if(e!==128){var r,n=e&128;return n?r=t.getInt((e&127)<<3):r=e,r}};function jo(t,e,r){if(r>e){var n=new Error("Too few bytes to parse DER.");throw n.available=t.length(),n.remaining=e,n.requested=r,n}}var LT=function(t,e){var r=t.getByte();if(e--,r!==128){var n,i=r&128;if(!i)n=r;else{var s=r&127;jo(t,e,s),n=t.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};X.fromDer=function(t,e){return e===void 0&&(e={strict:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=Qe.util.createBuffer(t)),lc(t,t.length(),0,e)};function lc(t,e,r,n){var i;jo(t,e,2);var s=t.getByte();e--;var o=s&192,a=s&31;i=t.length();var c=LT(t,e);if(e-=i-t.length(),c!==void 0&&c>e){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=t.length(),u.remaining=e,u.requested=c,u}c=e}var l,f,d=(s&32)==32;if(d)if(l=[],c===void 0)for(;;){if(jo(t,e,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),l.push(lc(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(lc(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&o===X.Class.UNIVERSAL&&a===X.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&o===X.Class.UNIVERSAL&&a===X.Type.BITSTRING&&c>1){var p=t.read,h=e,g=0;if(a===X.Type.BITSTRING&&(jo(t,e,1),g=t.getByte(),e--),g===0)try{i=t.length();var m={verbose:n.verbose,strict:!0,decodeBitStrings:!0},S=lc(t,e,r+1,m),R=i-t.length();e-=R,a==X.Type.BITSTRING&&R++;var L=S.tagClass;R===c&&(L===X.Class.UNIVERSAL||L===X.Class.CONTEXT_SPECIFIC)&&(l=[S])}catch(q){}l===void 0&&(t.read=p,e=h)}if(l===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=e}if(a===X.Type.BMPSTRING)for(l="";c>0;c-=2)jo(t,e,2),l+=String.fromCharCode(t.getInt16()),e-=2;else l=t.getBytes(c)}var H=f===void 0?null:{bitStringContents:f};return X.create(o,a,d,l,H)}X.toDer=function(t){var e=Qe.util.createBuffer(),r=t.tagClass|t.type,n=Qe.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=X.equals(t,t.original))),i)n.putBytes(t.bitStringContents);else if(t.composed){t.constructed?r|=32:n.putByte(0);for(var s=0;s<t.value.length;++s)t.value[s]!==void 0&&n.putBuffer(X.toDer(t.value[s]))}else if(t.type===X.Type.BMPSTRING)for(var s=0;s<t.value.length;++s)n.putInt16(t.value.charCodeAt(s));else t.type===X.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&(t.value.charCodeAt(1)&128)==0||t.value.charCodeAt(0)===255&&(t.value.charCodeAt(1)&128)==128)?n.putBytes(t.value.substr(1)):n.putBytes(t.value);if(e.putByte(r),n.length()<=127)e.putByte(n.length()&127);else{var o=n.length(),a="";do a+=String.fromCharCode(o&255),o=o>>>8;while(o>0);e.putByte(a.length|128);for(var s=a.length-1;s>=0;--s)e.putByte(a.charCodeAt(s))}return e.putBuffer(n),e};X.oidToDer=function(t){var e=t.split("."),r=Qe.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,s,o,a=2;a<e.length;++a){n=!0,i=[],s=parseInt(e[a],10);do o=s&127,s=s>>>7,n||(o|=128),i.push(o),n=!1;while(s>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};X.derToOid=function(t){var e;typeof t=="string"&&(t=Qe.util.createBuffer(t));var r=t.getByte();e=Math.floor(r/40)+"."+r%40;for(var n=0;t.length()>0;)r=t.getByte(),n=n<<7,r&128?n+=r&127:(e+="."+(n+r),n=0);return e};X.utcTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(t.substr(2,2),10)-1,i=parseInt(t.substr(4,2),10),s=parseInt(t.substr(6,2),10),o=parseInt(t.substr(8,2),10),a=0;if(t.length>11){var c=t.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(t.substr(10,2),10),u+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,0),u&&(c=t.charAt(u),c==="+"||c==="-")){var l=parseInt(t.substr(u+1,2),10),f=parseInt(t.substr(u+4,2),10),d=l*60+f;d*=6e4,c==="+"?e.setTime(+e-d):e.setTime(+e+d)}return e};X.generalizedTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,4),10),n=parseInt(t.substr(4,2),10)-1,i=parseInt(t.substr(6,2),10),s=parseInt(t.substr(8,2),10),o=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),c=0,u=0,l=!1;t.charAt(t.length-1)==="Z"&&(l=!0);var f=t.length-5,d=t.charAt(f);if(d==="+"||d==="-"){var p=parseInt(t.substr(f+1,2),10),h=parseInt(t.substr(f+4,2),10);u=p*60+h,u*=6e4,d==="+"&&(u*=-1),l=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),l?(e.setUTCFullYear(r,n,i),e.setUTCHours(s,o,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(s,o,a,c)),e};X.dateToUtcTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push((""+t.getUTCFullYear()).substr(2)),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};X.dateToGeneralizedTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push(""+t.getUTCFullYear()),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};X.integerToDer=function(t){var e=Qe.util.createBuffer();if(t>=-128&&t<128)return e.putSignedInt(t,8);if(t>=-32768&&t<32768)return e.putSignedInt(t,16);if(t>=-8388608&&t<8388608)return e.putSignedInt(t,24);if(t>=-2147483648&&t<2147483648)return e.putSignedInt(t,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=t,r};X.derToInteger=function(t){typeof t=="string"&&(t=Qe.util.createBuffer(t));var e=t.length()*8;if(e>32)throw new Error("Integer too large; max is 32-bits.");return t.getSignedInt(e)};X.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass=="undefined")&&(t.type===e.type||typeof e.type=="undefined"))if(t.constructed===e.constructed||typeof e.constructed=="undefined"){if(i=!0,e.value&&Qe.util.isArray(e.value))for(var s=0,o=0;i&&o<e.value.length;++o)i=e.value[o].optional||!1,t.value[s]&&(i=X.validate(t.value[s],e.value[o],r,n),i?++s:e.value[o].optional&&(i=!0)),!i&&n&&n.push("["+e.name+'] Tag class "'+e.tagClass+'", type "'+e.type+'" expected value length "'+e.value.length+'", got "'+t.value.length+'"');if(i&&r&&(e.capture&&(r[e.capture]=t.value),e.captureAsn1&&(r[e.captureAsn1]=t),e.captureBitStringContents&&"bitStringContents"in t&&(r[e.captureBitStringContents]=t.bitStringContents),e.captureBitStringValue&&"bitStringContents"in t)){var a;if(t.bitStringContents.length<2)r[e.captureBitStringValue]="";else{var c=t.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[e.captureBitStringValue]=t.bitStringContents.slice(1)}}}else n&&n.push("["+e.name+'] Expected constructed "'+e.constructed+'", got "'+t.constructed+'"');else n&&(t.tagClass!==e.tagClass&&n.push("["+e.name+'] Expected tag class "'+e.tagClass+'", got "'+t.tagClass+'"'),t.type!==e.type&&n.push("["+e.name+'] Expected type "'+e.type+'", got "'+t.type+'"'));return i};var Qp=/[^\\u0000-\\u00ff]/;X.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
|
20
20
|
`);for(var i="",s=0;s<e*r;++s)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case X.Class.UNIVERSAL:n+="Universal:";break;case X.Class.APPLICATION:n+="Application:";break;case X.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case X.Class.PRIVATE:n+="Private:";break}if(t.tagClass===X.Class.UNIVERSAL)switch(n+=t.type,t.type){case X.Type.NONE:n+=" (None)";break;case X.Type.BOOLEAN:n+=" (Boolean)";break;case X.Type.INTEGER:n+=" (Integer)";break;case X.Type.BITSTRING:n+=" (Bit string)";break;case X.Type.OCTETSTRING:n+=" (Octet string)";break;case X.Type.NULL:n+=" (Null)";break;case X.Type.OID:n+=" (Object Identifier)";break;case X.Type.ODESC:n+=" (Object Descriptor)";break;case X.Type.EXTERNAL:n+=" (External or Instance of)";break;case X.Type.REAL:n+=" (Real)";break;case X.Type.ENUMERATED:n+=" (Enumerated)";break;case X.Type.EMBEDDED:n+=" (Embedded PDV)";break;case X.Type.UTF8:n+=" (UTF8)";break;case X.Type.ROID:n+=" (Relative Object Identifier)";break;case X.Type.SEQUENCE:n+=" (Sequence)";break;case X.Type.SET:n+=" (Set)";break;case X.Type.PRINTABLESTRING:n+=" (Printable String)";break;case X.Type.IA5String:n+=" (IA5String (ASCII))";break;case X.Type.UTCTIME:n+=" (UTC time)";break;case X.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case X.Type.BMPSTRING:n+=" (BMP String)";break}else n+=t.type;if(n+=`
|
|
21
21
|
`,n+=i+"Constructed: "+t.constructed+`
|
|
22
|
-
`,t.composed){for(var o=0,a="",s=0;s<t.value.length;++s)t.value[s]!==void 0&&(o+=1,a+=X.prettyPrint(t.value[s],e+1,r),s+1<t.value.length&&(a+=","));n+=i+"Sub values: "+o+a}else{if(n+=i+"Value: ",t.type===X.Type.OID){var c=X.derToOid(t.value);n+=c,Qe.pki&&Qe.pki.oids&&c in Qe.pki.oids&&(n+=" ("+Qe.pki.oids[c]+") ")}if(t.type===X.Type.INTEGER)try{n+=X.derToInteger(t.value)}catch(l){n+="0x"+Qe.util.bytesToHex(t.value)}else if(t.type===X.Type.BITSTRING){if(t.value.length>1?n+="0x"+Qe.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var u=t.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else t.type===X.Type.OCTETSTRING?(ey.test(t.value)||(n+="("+t.value+") "),n+="0x"+Qe.util.bytesToHex(t.value)):t.type===X.Type.UTF8?n+=Qe.util.decodeUtf8(t.value):t.type===X.Type.PRINTABLESTRING||t.type===X.Type.IA5String?n+=t.value:ey.test(t.value)?n+="0x"+Qe.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var ql=w((iU,ry)=>{var _t=be();$e();ry.exports=_t.cipher=_t.cipher||{};_t.cipher.algorithms=_t.cipher.algorithms||{};_t.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=_t.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new _t.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};_t.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=_t.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new _t.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};_t.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),_t.cipher.algorithms[t]=e};_t.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in _t.cipher.algorithms?_t.cipher.algorithms[t]:null};var kl=_t.cipher.BlockCipher=function(t){this.algorithm=t.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=t.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=t.decrypt,this.algorithm.initialize(t)};kl.prototype.start=function(t){t=t||{};var e={};for(var r in t)e[r]=t[r];e.decrypt=this._decrypt,this._finish=!1,this._input=_t.util.createBuffer(),this.output=t.output||_t.util.createBuffer(),this.mode.start(e)};kl.prototype.update=function(t){for(t&&this._input.putBuffer(t);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};kl.prototype.finish=function(t){t&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return t(this.blockSize,r,!1)},this.mode.unpad=function(r){return t(this.blockSize,r,!0)});var e={};return e.decrypt=this._decrypt,e.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,e)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,e))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,e))}});var Ml=w((sU,ny)=>{var xt=be();$e();xt.cipher=xt.cipher||{};var Ee=ny.exports=xt.cipher.modes=xt.cipher.modes||{};Ee.ecb=function(t){t=t||{},this.name="ECB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Ee.ecb.prototype.start=function(t){};Ee.ecb.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};Ee.ecb.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};Ee.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Ee.ecb.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};Ee.cbc=function(t){t=t||{},this.name="CBC",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Ee.cbc.prototype.start=function(t){if(t.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in t)this._iv=fc(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};Ee.cbc.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n]);this._prev=this._outBlock};Ee.cbc.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};Ee.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Ee.cbc.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};Ee.cfb=function(t){t=t||{},this.name="CFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=xt.util.createBuffer(),this._partialBytes=0};Ee.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=fc(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Ee.cfb.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32()^this._outBlock[i],e.putInt32(this._inBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Ee.cfb.prototype.decrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32(),e.putInt32(this._inBlock[i]^this._outBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Ee.ofb=function(t){t=t||{},this.name="OFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=xt.util.createBuffer(),this._partialBytes=0};Ee.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=fc(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Ee.ofb.prototype.encrypt=function(t,e,r){var n=t.length();if(t.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Ee.ofb.prototype.decrypt=Ee.ofb.prototype.encrypt;Ee.ctr=function(t){t=t||{},this.name="CTR",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=xt.util.createBuffer(),this._partialBytes=0};Ee.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=fc(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Ee.ctr.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]);else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}dc(this._inBlock)};Ee.ctr.prototype.decrypt=Ee.ctr.prototype.encrypt;Ee.gcm=function(t){t=t||{},this.name="GCM",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=xt.util.createBuffer(),this._partialBytes=0,this._R=3774873600};Ee.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=xt.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=xt.util.createBuffer(t.additionalData):r=xt.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=xt.util.createBuffer(t.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=e.length();if(n===12)this._j0=[e.getInt32(),e.getInt32(),e.getInt32(),1];else{for(this._j0=[0,0,0,0];e.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(Ul(n*8)))}this._inBlock=this._j0.slice(0),dc(this._inBlock),this._partialBytes=0,r=xt.util.createBuffer(r),this._aDataLength=Ul(r.length()*8);var i=r.length()%this.blockSize;for(i&&r.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])};Ee.gcm.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^=t.getInt32());this._cipherLength+=this.blockSize}else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s<=0||r){if(r){var o=n%this.blockSize;this._cipherLength+=o,this._partialOutput.truncate(this.blockSize-o)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),dc(this._inBlock)};Ee.gcm.prototype.decrypt=function(t,e,r){var n=t.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),dc(this._inBlock),this._hashBlock[0]=t.getInt32(),this._hashBlock[1]=t.getInt32(),this._hashBlock[2]=t.getInt32(),this._hashBlock[3]=t.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};Ee.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=xt.util.createBuffer();var n=this._aDataLength.concat(Ul(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var s=0;s<this._ints;++s)this.tag.putInt32(this._s[s]^i[s]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};Ee.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var s=t[i/32|0]&1<<31-i%32;s&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};Ee.gcm.prototype.pow=function(t,e){for(var r=t[3]&1,n=3;n>0;--n)e[n]=t[n]>>>1|(t[n-1]&1)<<31;e[0]=t[0]>>>1,r&&(e[0]^=this._R)};Ee.gcm.prototype.tableMultiply=function(t){for(var e=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=t[n]>>>(7-r%8)*4&15,s=this._m[r][i];e[0]^=s[0],e[1]^=s[1],e[2]^=s[2],e[3]^=s[3]}return e};Ee.gcm.prototype.ghash=function(t,e,r){return e[0]^=r[0],e[1]^=r[1],e[2]^=r[2],e[3]^=r[3],this.tableMultiply(e)};Ee.gcm.prototype.generateHashTable=function(t,e){for(var r=8/e,n=4*r,i=16*r,s=new Array(i),o=0;o<i;++o){var a=[0,0,0,0],c=o/n|0,u=(n-1-o%n)*e;a[c]=1<<e-1<<u,s[o]=this.generateSubHashTable(this.multiply(a,t),e)}return s};Ee.gcm.prototype.generateSubHashTable=function(t,e){var r=1<<e,n=r>>>1,i=new Array(r);i[n]=t.slice(0);for(var s=n>>>1;s>0;)this.pow(i[2*s],i[s]=[]),s>>=1;for(s=2;s<n;){for(var o=1;o<s;++o){var a=i[s],c=i[o];i[s+o]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}s*=2}for(i[0]=[0,0,0,0],s=n+1;s<r;++s){var u=i[s^n];i[s]=[t[0]^u[0],t[1]^u[1],t[2]^u[2],t[3]^u[3]]}return i};function fc(t,e){if(typeof t=="string"&&(t=xt.util.createBuffer(t)),xt.util.isArray(t)&&t.length>4){var r=t;t=xt.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(t.length()<e)throw new Error("Invalid IV length; got "+t.length()+" bytes and expected "+e+" bytes.");if(!xt.util.isArray(t)){for(var i=[],s=e/4,n=0;n<s;++n)i.push(t.getInt32());t=i}return t}function dc(t){t[t.length-1]=t[t.length-1]+1&4294967295}function Ul(t){return[t/4294967296|0,t&4294967295]}});var Is=w((oU,ay)=>{var He=be();ql();Ml();$e();ay.exports=He.aes=He.aes||{};He.aes.startEncrypting=function(t,e,r,n){var i=hc({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};He.aes.createEncryptionCipher=function(t,e){return hc({key:t,output:null,decrypt:!1,mode:e})};He.aes.startDecrypting=function(t,e,r,n){var i=hc({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};He.aes.createDecryptionCipher=function(t,e){return hc({key:t,output:null,decrypt:!0,mode:e})};He.aes.Algorithm=function(t,e){Fl||sy();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Vl(r._w,n,i,!1)},decrypt:function(n,i){return Vl(r._w,n,i,!0)}}}),r._init=!1};He.aes.Algorithm.prototype.initialize=function(t){if(!this._init){var e=t.key,r;if(typeof e=="string"&&(e.length===16||e.length===24||e.length===32))e=He.util.createBuffer(e);else if(He.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=He.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!He.util.isArray(e)){r=e,e=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)e.push(r.getInt32())}}if(!He.util.isArray(e)||!(e.length===4||e.length===6||e.length===8))throw new Error("Invalid key parameter.");var s=this.mode.name,o=["CFB","OFB","CTR","GCM"].indexOf(s)!==-1;this._w=oy(e,t.decrypt&&!o),this._init=!0}};He.aes._expandKey=function(t,e){return Fl||sy(),oy(t,e)};He.aes._updateBlock=Vl;As("AES-ECB",He.cipher.modes.ecb);As("AES-CBC",He.cipher.modes.cbc);As("AES-CFB",He.cipher.modes.cfb);As("AES-OFB",He.cipher.modes.ofb);As("AES-CTR",He.cipher.modes.ctr);As("AES-GCM",He.cipher.modes.gcm);function As(t,e){var r=function(){return new He.aes.Algorithm(t,e)};He.cipher.registerAlgorithm(t,r)}var Fl=!1,Cs=4,jt,Kl,iy,Ai,Dr;function sy(){Fl=!0,iy=[0,1,2,4,8,16,32,64,128,27,54];for(var t=new Array(256),e=0;e<128;++e)t[e]=e<<1,t[e+128]=e+128<<1^283;jt=new Array(256),Kl=new Array(256),Ai=new Array(4),Dr=new Array(4);for(var e=0;e<4;++e)Ai[e]=new Array(256),Dr[e]=new Array(256);for(var r=0,n=0,i,s,o,a,c,u,l,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,jt[r]=a,Kl[a]=r,c=t[a],i=t[r],s=t[i],o=t[s],u=c<<24^a<<16^a<<8^(a^c),l=(i^s^o)<<24^(r^o)<<16^(r^s^o)<<8^(r^i^o);for(var f=0;f<4;++f)Ai[f][r]=u,Dr[f][a]=l,u=u<<24|u>>>8,l=l<<24|l>>>8;r===0?r=n=1:(r=i^t[t[t[i^o]]],n^=t[t[n]])}}function oy(t,e){for(var r=t.slice(0),n,i=1,s=r.length,o=s+6+1,a=Cs*o,c=s;c<a;++c)n=r[c-1],c%s==0?(n=jt[n>>>16&255]<<24^jt[n>>>8&255]<<16^jt[n&255]<<8^jt[n>>>24]^iy[i]<<24,i++):s>6&&c%s==4&&(n=jt[n>>>24]<<24^jt[n>>>16&255]<<16^jt[n>>>8&255]<<8^jt[n&255]),r[c]=r[c-s]^n;if(e){var u,l=Dr[0],f=Dr[1],d=Dr[2],p=Dr[3],h=r.slice(0);a=r.length;for(var c=0,g=a-Cs;c<a;c+=Cs,g-=Cs)if(c===0||c===a-Cs)h[c]=r[g],h[c+1]=r[g+3],h[c+2]=r[g+2],h[c+3]=r[g+1];else for(var m=0;m<Cs;++m)u=r[g+m],h[c+(3&-m)]=l[jt[u>>>24]]^f[jt[u>>>16&255]]^d[jt[u>>>8&255]]^p[jt[u&255]];r=h}return r}function Vl(t,e,r,n){var i=t.length/4-1,s,o,a,c,u;n?(s=Dr[0],o=Dr[1],a=Dr[2],c=Dr[3],u=Kl):(s=Ai[0],o=Ai[1],a=Ai[2],c=Ai[3],u=jt);var l,f,d,p,h,g,m;l=e[0]^t[0],f=e[n?3:1]^t[1],d=e[2]^t[2],p=e[n?1:3]^t[3];for(var x=3,R=1;R<i;++R)h=s[l>>>24]^o[f>>>16&255]^a[d>>>8&255]^c[p&255]^t[++x],g=s[f>>>24]^o[d>>>16&255]^a[p>>>8&255]^c[l&255]^t[++x],m=s[d>>>24]^o[p>>>16&255]^a[l>>>8&255]^c[f&255]^t[++x],p=s[p>>>24]^o[l>>>16&255]^a[f>>>8&255]^c[d&255]^t[++x],l=h,f=g,d=m;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[d>>>8&255]<<8^u[p&255]^t[++x],r[n?3:1]=u[f>>>24]<<24^u[d>>>16&255]<<16^u[p>>>8&255]<<8^u[l&255]^t[++x],r[2]=u[d>>>24]<<24^u[p>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^t[++x],r[n?1:3]=u[p>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[d&255]^t[++x]}function hc(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=He.cipher.createDecipher(r,t.key):n=He.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof He.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var yc=w((aU,uy)=>{var Xe=be();ql();Ml();$e();uy.exports=Xe.des=Xe.des||{};Xe.des.startEncrypting=function(t,e,r,n){var i=pc({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};Xe.des.createEncryptionCipher=function(t,e){return pc({key:t,output:null,decrypt:!1,mode:e})};Xe.des.startDecrypting=function(t,e,r,n){var i=pc({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};Xe.des.createDecryptionCipher=function(t,e){return pc({key:t,output:null,decrypt:!0,mode:e})};Xe.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return cy(r._keys,n,i,!1)},decrypt:function(n,i){return cy(r._keys,n,i,!0)}}}),r._init=!1};Xe.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=Xe.util.createBuffer(t.key);if(this.name.indexOf("3DES")===0&&e.length()!==24)throw new Error("Invalid Triple-DES key size: "+e.length()*8);this._keys=HT(e),this._init=!0}};Yr("DES-ECB",Xe.cipher.modes.ecb);Yr("DES-CBC",Xe.cipher.modes.cbc);Yr("DES-CFB",Xe.cipher.modes.cfb);Yr("DES-OFB",Xe.cipher.modes.ofb);Yr("DES-CTR",Xe.cipher.modes.ctr);Yr("3DES-ECB",Xe.cipher.modes.ecb);Yr("3DES-CBC",Xe.cipher.modes.cbc);Yr("3DES-CFB",Xe.cipher.modes.cfb);Yr("3DES-OFB",Xe.cipher.modes.ofb);Yr("3DES-CTR",Xe.cipher.modes.ctr);function Yr(t,e){var r=function(){return new Xe.des.Algorithm(t,e)};Xe.cipher.registerAlgorithm(t,r)}var qT=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],UT=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],MT=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],FT=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],KT=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],VT=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],jT=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],$T=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];function HT(t){for(var e=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],s=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],o=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],l=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],p=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],h=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],g=t.length()>8?3:1,m=[],x=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],R=0,L,H=0;H<g;H++){var q=t.getInt32(),k=t.getInt32();L=(q>>>4^k)&252645135,k^=L,q^=L<<4,L=(k>>>-16^q)&65535,q^=L,k^=L<<-16,L=(q>>>2^k)&858993459,k^=L,q^=L<<2,L=(k>>>-16^q)&65535,q^=L,k^=L<<-16,L=(q>>>1^k)&1431655765,k^=L,q^=L<<1,L=(k>>>8^q)&16711935,q^=L,k^=L<<8,L=(q>>>1^k)&1431655765,k^=L,q^=L<<1,L=q<<8|k>>>20&240,q=k<<24|k<<8&16711680|k>>>8&65280|k>>>24&240,k=L;for(var J=0;J<x.length;++J){x[J]?(q=q<<2|q>>>26,k=k<<2|k>>>26):(q=q<<1|q>>>27,k=k<<1|k>>>27),q&=-15,k&=-15;var ie=e[q>>>28]|r[q>>>24&15]|n[q>>>20&15]|i[q>>>16&15]|s[q>>>12&15]|o[q>>>8&15]|a[q>>>4&15],j=c[k>>>28]|u[k>>>24&15]|l[k>>>20&15]|f[k>>>16&15]|d[k>>>12&15]|p[k>>>8&15]|h[k>>>4&15];L=(j>>>16^ie)&65535,m[R++]=ie^L,m[R++]=j^L<<16}}return m}function cy(t,e,r,n){var i=t.length===32?3:9,s;i===3?s=n?[30,-2,-2]:[0,32,2]:s=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var o,a=e[0],c=e[1];o=(a>>>4^c)&252645135,c^=o,a^=o<<4,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var l=s[u+1],f=s[u+2],d=s[u];d!=l;d+=f){var p=c^t[d],h=(c>>>4|c<<28)^t[d+1];o=a,a=c,c=o^(UT[p>>>24&63]|FT[p>>>16&63]|VT[p>>>8&63]|$T[p&63]|qT[h>>>24&63]|MT[h>>>16&63]|KT[h>>>8&63]|jT[h&63])}o=a,a=c,c=o}a=a>>>1|a<<31,c=c>>>1|c<<31,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(a>>>4^c)&252645135,c^=o,a^=o<<4,r[0]=a,r[1]=c}function pc(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=Xe.cipher.createDecipher(r,t.key):n=Xe.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof Xe.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var $n=w((cU,ly)=>{var gc=be();ly.exports=gc.md=gc.md||{};gc.md.algorithms=gc.md.algorithms||{}});var dy=w((uU,fy)=>{var mn=be();$n();$e();var zT=fy.exports=mn.hmac=mn.hmac||{};zT.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(s,o){if(s!==null)if(typeof s=="string")if(s=s.toLowerCase(),s in mn.md.algorithms)e=mn.md.algorithms[s].create();else throw new Error('Unknown hash algorithm "'+s+'"');else e=s;if(o===null)o=t;else{if(typeof o=="string")o=mn.util.createBuffer(o);else if(mn.util.isArray(o)){var a=o;o=mn.util.createBuffer();for(var c=0;c<a.length;++c)o.putByte(a[c])}var u=o.length();u>e.blockLength&&(e.start(),e.update(o.bytes()),o=e.digest()),r=mn.util.createBuffer(),n=mn.util.createBuffer(),u=o.length();for(var c=0;c<u;++c){var a=o.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<e.blockLength)for(var a=e.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);t=o,r=r.bytes(),n=n.bytes()}e.start(),e.update(r)},i.update=function(s){e.update(s)},i.getMac=function(){var s=e.digest().bytes();return e.start(),e.update(n),e.update(s),e.digest()},i.digest=i.getMac,i}});var Ts=w(()=>{});var jl=w((dU,hy)=>{var $t=be();dy();$n();$e();var GT=$t.pkcs5=$t.pkcs5||{},vn;$t.util.isNodejs&&!$t.options.usePureJavaScript&&(vn=Ts());hy.exports=$t.pbkdf2=GT.pbkdf2=function(t,e,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),$t.util.isNodejs&&!$t.options.usePureJavaScript&&vn.pbkdf2&&(i===null||typeof i!="object")&&(vn.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),s?vn.pbkdf2Sync.length===4?vn.pbkdf2(t,e,r,n,function(L,H){if(L)return s(L);s(null,H.toString("binary"))}):vn.pbkdf2(t,e,r,n,i,function(L,H){if(L)return s(L);s(null,H.toString("binary"))}):vn.pbkdf2Sync.length===4?vn.pbkdf2Sync(t,e,r,n).toString("binary"):vn.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i=="undefined"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in $t.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=$t.md[i].create()}var o=i.digestLength;if(n>4294967295*o){var a=new Error("Derived key is too long.");if(s)return s(a);throw a}var c=Math.ceil(n/o),u=n-(c-1)*o,l=$t.hmac.create();l.start(i,t);var f="",d,p,h;if(!s){for(var g=1;g<=c;++g){l.start(null,null),l.update(e),l.update($t.util.int32ToBytes(g)),d=h=l.digest().getBytes();for(var m=2;m<=r;++m)l.start(null,null),l.update(h),p=l.digest().getBytes(),d=$t.util.xorBytes(d,p,o),h=p;f+=g<c?d:d.substr(0,u)}return f}var g=1,m;function x(){if(g>c)return s(null,f);l.start(null,null),l.update(e),l.update($t.util.int32ToBytes(g)),d=h=l.digest().getBytes(),m=2,R()}function R(){if(m<=r)return l.start(null,null),l.update(h),p=l.digest().getBytes(),d=$t.util.xorBytes(d,p,o),h=p,++m,$t.util.setImmediate(R);f+=g<c?d:d.substr(0,u),++g,x()}x()}});var bc=w((hU,yy)=>{var mc=be();$e();var py=yy.exports=mc.pem=mc.pem||{};py.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
|
|
22
|
+
`,t.composed){for(var o=0,a="",s=0;s<t.value.length;++s)t.value[s]!==void 0&&(o+=1,a+=X.prettyPrint(t.value[s],e+1,r),s+1<t.value.length&&(a+=","));n+=i+"Sub values: "+o+a}else{if(n+=i+"Value: ",t.type===X.Type.OID){var c=X.derToOid(t.value);n+=c,Qe.pki&&Qe.pki.oids&&c in Qe.pki.oids&&(n+=" ("+Qe.pki.oids[c]+") ")}if(t.type===X.Type.INTEGER)try{n+=X.derToInteger(t.value)}catch(l){n+="0x"+Qe.util.bytesToHex(t.value)}else if(t.type===X.Type.BITSTRING){if(t.value.length>1?n+="0x"+Qe.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var u=t.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else t.type===X.Type.OCTETSTRING?(Qp.test(t.value)||(n+="("+t.value+") "),n+="0x"+Qe.util.bytesToHex(t.value)):t.type===X.Type.UTF8?n+=Qe.util.decodeUtf8(t.value):t.type===X.Type.PRINTABLESTRING||t.type===X.Type.IA5String?n+=t.value:Qp.test(t.value)?n+="0x"+Qe.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var Ll=w((tU,Zp)=>{var _t=be();$e();Zp.exports=_t.cipher=_t.cipher||{};_t.cipher.algorithms=_t.cipher.algorithms||{};_t.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=_t.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new _t.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};_t.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=_t.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new _t.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};_t.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),_t.cipher.algorithms[t]=e};_t.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in _t.cipher.algorithms?_t.cipher.algorithms[t]:null};var Dl=_t.cipher.BlockCipher=function(t){this.algorithm=t.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=t.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=t.decrypt,this.algorithm.initialize(t)};Dl.prototype.start=function(t){t=t||{};var e={};for(var r in t)e[r]=t[r];e.decrypt=this._decrypt,this._finish=!1,this._input=_t.util.createBuffer(),this.output=t.output||_t.util.createBuffer(),this.mode.start(e)};Dl.prototype.update=function(t){for(t&&this._input.putBuffer(t);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};Dl.prototype.finish=function(t){t&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return t(this.blockSize,r,!1)},this.mode.unpad=function(r){return t(this.blockSize,r,!0)});var e={};return e.decrypt=this._decrypt,e.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,e)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,e))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,e))}});var ql=w((rU,Jp)=>{var St=be();$e();St.cipher=St.cipher||{};var Ee=Jp.exports=St.cipher.modes=St.cipher.modes||{};Ee.ecb=function(t){t=t||{},this.name="ECB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Ee.ecb.prototype.start=function(t){};Ee.ecb.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};Ee.ecb.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};Ee.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Ee.ecb.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};Ee.cbc=function(t){t=t||{},this.name="CBC",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};Ee.cbc.prototype.start=function(t){if(t.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in t)this._iv=fc(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};Ee.cbc.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n]);this._prev=this._outBlock};Ee.cbc.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};Ee.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Ee.cbc.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};Ee.cfb=function(t){t=t||{},this.name="CFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=St.util.createBuffer(),this._partialBytes=0};Ee.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=fc(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Ee.cfb.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32()^this._outBlock[i],e.putInt32(this._inBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Ee.cfb.prototype.decrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32(),e.putInt32(this._inBlock[i]^this._outBlock[i]);return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Ee.ofb=function(t){t=t||{},this.name="OFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=St.util.createBuffer(),this._partialBytes=0};Ee.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=fc(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Ee.ofb.prototype.encrypt=function(t,e,r){var n=t.length();if(t.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};Ee.ofb.prototype.decrypt=Ee.ofb.prototype.encrypt;Ee.ctr=function(t){t=t||{},this.name="CTR",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=St.util.createBuffer(),this._partialBytes=0};Ee.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=fc(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Ee.ctr.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]);else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}dc(this._inBlock)};Ee.ctr.prototype.decrypt=Ee.ctr.prototype.encrypt;Ee.gcm=function(t){t=t||{},this.name="GCM",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=St.util.createBuffer(),this._partialBytes=0,this._R=3774873600};Ee.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=St.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=St.util.createBuffer(t.additionalData):r=St.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=St.util.createBuffer(t.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=e.length();if(n===12)this._j0=[e.getInt32(),e.getInt32(),e.getInt32(),1];else{for(this._j0=[0,0,0,0];e.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(kl(n*8)))}this._inBlock=this._j0.slice(0),dc(this._inBlock),this._partialBytes=0,r=St.util.createBuffer(r),this._aDataLength=kl(r.length()*8);var i=r.length()%this.blockSize;for(i&&r.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])};Ee.gcm.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^=t.getInt32());this._cipherLength+=this.blockSize}else{var s=(this.blockSize-n)%this.blockSize;s>0&&(s=this.blockSize-s),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(s<=0||r){if(r){var o=n%this.blockSize;this._cipherLength+=o,this._partialOutput.truncate(this.blockSize-o)}else this._cipherLength+=this.blockSize;for(var i=0;i<this._ints;++i)this._outBlock[i]=this._partialOutput.getInt32();this._partialOutput.read-=this.blockSize}if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),dc(this._inBlock)};Ee.gcm.prototype.decrypt=function(t,e,r){var n=t.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),dc(this._inBlock),this._hashBlock[0]=t.getInt32(),this._hashBlock[1]=t.getInt32(),this._hashBlock[2]=t.getInt32(),this._hashBlock[3]=t.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};Ee.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=St.util.createBuffer();var n=this._aDataLength.concat(kl(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var s=0;s<this._ints;++s)this.tag.putInt32(this._s[s]^i[s]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};Ee.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var s=t[i/32|0]&1<<31-i%32;s&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};Ee.gcm.prototype.pow=function(t,e){for(var r=t[3]&1,n=3;n>0;--n)e[n]=t[n]>>>1|(t[n-1]&1)<<31;e[0]=t[0]>>>1,r&&(e[0]^=this._R)};Ee.gcm.prototype.tableMultiply=function(t){for(var e=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=t[n]>>>(7-r%8)*4&15,s=this._m[r][i];e[0]^=s[0],e[1]^=s[1],e[2]^=s[2],e[3]^=s[3]}return e};Ee.gcm.prototype.ghash=function(t,e,r){return e[0]^=r[0],e[1]^=r[1],e[2]^=r[2],e[3]^=r[3],this.tableMultiply(e)};Ee.gcm.prototype.generateHashTable=function(t,e){for(var r=8/e,n=4*r,i=16*r,s=new Array(i),o=0;o<i;++o){var a=[0,0,0,0],c=o/n|0,u=(n-1-o%n)*e;a[c]=1<<e-1<<u,s[o]=this.generateSubHashTable(this.multiply(a,t),e)}return s};Ee.gcm.prototype.generateSubHashTable=function(t,e){var r=1<<e,n=r>>>1,i=new Array(r);i[n]=t.slice(0);for(var s=n>>>1;s>0;)this.pow(i[2*s],i[s]=[]),s>>=1;for(s=2;s<n;){for(var o=1;o<s;++o){var a=i[s],c=i[o];i[s+o]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}s*=2}for(i[0]=[0,0,0,0],s=n+1;s<r;++s){var u=i[s^n];i[s]=[t[0]^u[0],t[1]^u[1],t[2]^u[2],t[3]^u[3]]}return i};function fc(t,e){if(typeof t=="string"&&(t=St.util.createBuffer(t)),St.util.isArray(t)&&t.length>4){var r=t;t=St.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(t.length()<e)throw new Error("Invalid IV length; got "+t.length()+" bytes and expected "+e+" bytes.");if(!St.util.isArray(t)){for(var i=[],s=e/4,n=0;n<s;++n)i.push(t.getInt32());t=i}return t}function dc(t){t[t.length-1]=t[t.length-1]+1&4294967295}function kl(t){return[t/4294967296|0,t&4294967295]}});var Is=w((nU,ny)=>{var He=be();Ll();ql();$e();ny.exports=He.aes=He.aes||{};He.aes.startEncrypting=function(t,e,r,n){var i=hc({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};He.aes.createEncryptionCipher=function(t,e){return hc({key:t,output:null,decrypt:!1,mode:e})};He.aes.startDecrypting=function(t,e,r,n){var i=hc({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};He.aes.createDecryptionCipher=function(t,e){return hc({key:t,output:null,decrypt:!0,mode:e})};He.aes.Algorithm=function(t,e){Ul||ty();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Fl(r._w,n,i,!1)},decrypt:function(n,i){return Fl(r._w,n,i,!0)}}}),r._init=!1};He.aes.Algorithm.prototype.initialize=function(t){if(!this._init){var e=t.key,r;if(typeof e=="string"&&(e.length===16||e.length===24||e.length===32))e=He.util.createBuffer(e);else if(He.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=He.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!He.util.isArray(e)){r=e,e=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)e.push(r.getInt32())}}if(!He.util.isArray(e)||!(e.length===4||e.length===6||e.length===8))throw new Error("Invalid key parameter.");var s=this.mode.name,o=["CFB","OFB","CTR","GCM"].indexOf(s)!==-1;this._w=ry(e,t.decrypt&&!o),this._init=!0}};He.aes._expandKey=function(t,e){return Ul||ty(),ry(t,e)};He.aes._updateBlock=Fl;As("AES-ECB",He.cipher.modes.ecb);As("AES-CBC",He.cipher.modes.cbc);As("AES-CFB",He.cipher.modes.cfb);As("AES-OFB",He.cipher.modes.ofb);As("AES-CTR",He.cipher.modes.ctr);As("AES-GCM",He.cipher.modes.gcm);function As(t,e){var r=function(){return new He.aes.Algorithm(t,e)};He.cipher.registerAlgorithm(t,r)}var Ul=!1,Cs=4,jt,Ml,ey,Ai,Dr;function ty(){Ul=!0,ey=[0,1,2,4,8,16,32,64,128,27,54];for(var t=new Array(256),e=0;e<128;++e)t[e]=e<<1,t[e+128]=e+128<<1^283;jt=new Array(256),Ml=new Array(256),Ai=new Array(4),Dr=new Array(4);for(var e=0;e<4;++e)Ai[e]=new Array(256),Dr[e]=new Array(256);for(var r=0,n=0,i,s,o,a,c,u,l,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,jt[r]=a,Ml[a]=r,c=t[a],i=t[r],s=t[i],o=t[s],u=c<<24^a<<16^a<<8^(a^c),l=(i^s^o)<<24^(r^o)<<16^(r^s^o)<<8^(r^i^o);for(var f=0;f<4;++f)Ai[f][r]=u,Dr[f][a]=l,u=u<<24|u>>>8,l=l<<24|l>>>8;r===0?r=n=1:(r=i^t[t[t[i^o]]],n^=t[t[n]])}}function ry(t,e){for(var r=t.slice(0),n,i=1,s=r.length,o=s+6+1,a=Cs*o,c=s;c<a;++c)n=r[c-1],c%s==0?(n=jt[n>>>16&255]<<24^jt[n>>>8&255]<<16^jt[n&255]<<8^jt[n>>>24]^ey[i]<<24,i++):s>6&&c%s==4&&(n=jt[n>>>24]<<24^jt[n>>>16&255]<<16^jt[n>>>8&255]<<8^jt[n&255]),r[c]=r[c-s]^n;if(e){var u,l=Dr[0],f=Dr[1],d=Dr[2],p=Dr[3],h=r.slice(0);a=r.length;for(var c=0,g=a-Cs;c<a;c+=Cs,g-=Cs)if(c===0||c===a-Cs)h[c]=r[g],h[c+1]=r[g+3],h[c+2]=r[g+2],h[c+3]=r[g+1];else for(var m=0;m<Cs;++m)u=r[g+m],h[c+(3&-m)]=l[jt[u>>>24]]^f[jt[u>>>16&255]]^d[jt[u>>>8&255]]^p[jt[u&255]];r=h}return r}function Fl(t,e,r,n){var i=t.length/4-1,s,o,a,c,u;n?(s=Dr[0],o=Dr[1],a=Dr[2],c=Dr[3],u=Ml):(s=Ai[0],o=Ai[1],a=Ai[2],c=Ai[3],u=jt);var l,f,d,p,h,g,m;l=e[0]^t[0],f=e[n?3:1]^t[1],d=e[2]^t[2],p=e[n?1:3]^t[3];for(var S=3,R=1;R<i;++R)h=s[l>>>24]^o[f>>>16&255]^a[d>>>8&255]^c[p&255]^t[++S],g=s[f>>>24]^o[d>>>16&255]^a[p>>>8&255]^c[l&255]^t[++S],m=s[d>>>24]^o[p>>>16&255]^a[l>>>8&255]^c[f&255]^t[++S],p=s[p>>>24]^o[l>>>16&255]^a[f>>>8&255]^c[d&255]^t[++S],l=h,f=g,d=m;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[d>>>8&255]<<8^u[p&255]^t[++S],r[n?3:1]=u[f>>>24]<<24^u[d>>>16&255]<<16^u[p>>>8&255]<<8^u[l&255]^t[++S],r[2]=u[d>>>24]<<24^u[p>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^t[++S],r[n?1:3]=u[p>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[d&255]^t[++S]}function hc(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=He.cipher.createDecipher(r,t.key):n=He.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof He.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var yc=w((iU,sy)=>{var Xe=be();Ll();ql();$e();sy.exports=Xe.des=Xe.des||{};Xe.des.startEncrypting=function(t,e,r,n){var i=pc({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};Xe.des.createEncryptionCipher=function(t,e){return pc({key:t,output:null,decrypt:!1,mode:e})};Xe.des.startDecrypting=function(t,e,r,n){var i=pc({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};Xe.des.createDecryptionCipher=function(t,e){return pc({key:t,output:null,decrypt:!0,mode:e})};Xe.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return iy(r._keys,n,i,!1)},decrypt:function(n,i){return iy(r._keys,n,i,!0)}}}),r._init=!1};Xe.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=Xe.util.createBuffer(t.key);if(this.name.indexOf("3DES")===0&&e.length()!==24)throw new Error("Invalid Triple-DES key size: "+e.length()*8);this._keys=$T(e),this._init=!0}};Yr("DES-ECB",Xe.cipher.modes.ecb);Yr("DES-CBC",Xe.cipher.modes.cbc);Yr("DES-CFB",Xe.cipher.modes.cfb);Yr("DES-OFB",Xe.cipher.modes.ofb);Yr("DES-CTR",Xe.cipher.modes.ctr);Yr("3DES-ECB",Xe.cipher.modes.ecb);Yr("3DES-CBC",Xe.cipher.modes.cbc);Yr("3DES-CFB",Xe.cipher.modes.cfb);Yr("3DES-OFB",Xe.cipher.modes.ofb);Yr("3DES-CTR",Xe.cipher.modes.ctr);function Yr(t,e){var r=function(){return new Xe.des.Algorithm(t,e)};Xe.cipher.registerAlgorithm(t,r)}var kT=[16843776,0,65536,16843780,16842756,66564,4,65536,1024,16843776,16843780,1024,16778244,16842756,16777216,4,1028,16778240,16778240,66560,66560,16842752,16842752,16778244,65540,16777220,16777220,65540,0,1028,66564,16777216,65536,16843780,4,16842752,16843776,16777216,16777216,1024,16842756,65536,66560,16777220,1024,4,16778244,66564,16843780,65540,16842752,16778244,16777220,1028,66564,16843776,1028,16778240,16778240,0,65540,66560,0,16842756],qT=[-2146402272,-2147450880,32768,1081376,1048576,32,-2146435040,-2147450848,-2147483616,-2146402272,-2146402304,-2147483648,-2147450880,1048576,32,-2146435040,1081344,1048608,-2147450848,0,-2147483648,32768,1081376,-2146435072,1048608,-2147483616,0,1081344,32800,-2146402304,-2146435072,32800,0,1081376,-2146435040,1048576,-2147450848,-2146435072,-2146402304,32768,-2146435072,-2147450880,32,-2146402272,1081376,32,32768,-2147483648,32800,-2146402304,1048576,-2147483616,1048608,-2147450848,-2147483616,1048608,1081344,0,-2147450880,32800,-2147483648,-2146435040,-2146402272,1081344],UT=[520,134349312,0,134348808,134218240,0,131592,134218240,131080,134217736,134217736,131072,134349320,131080,134348800,520,134217728,8,134349312,512,131584,134348800,134348808,131592,134218248,131584,131072,134218248,8,134349320,512,134217728,134349312,134217728,131080,520,131072,134349312,134218240,0,512,131080,134349320,134218240,134217736,512,0,134348808,134218248,131072,134217728,134349320,8,131592,131584,134217736,134348800,134218248,520,134348800,131592,8,134348808,131584],MT=[8396801,8321,8321,128,8396928,8388737,8388609,8193,0,8396800,8396800,8396929,129,0,8388736,8388609,1,8192,8388608,8396801,128,8388608,8193,8320,8388737,1,8320,8388736,8192,8396928,8396929,129,8388736,8388609,8396800,8396929,129,0,0,8396800,8320,8388736,8388737,1,8396801,8321,8321,128,8396929,129,1,8192,8388609,8193,8396928,8388737,8193,8320,8388608,8396801,128,8388608,8192,8396928],FT=[256,34078976,34078720,1107296512,524288,256,1073741824,34078720,1074266368,524288,33554688,1074266368,1107296512,1107820544,524544,1073741824,33554432,1074266112,1074266112,0,1073742080,1107820800,1107820800,33554688,1107820544,1073742080,0,1107296256,34078976,33554432,1107296256,524544,524288,1107296512,256,33554432,1073741824,34078720,1107296512,1074266368,33554688,1073741824,1107820544,34078976,1074266368,256,33554432,1107820544,1107820800,524544,1107296256,1107820800,34078720,0,1074266112,1107296256,524544,33554688,1073742080,524288,0,1074266112,34078976,1073742080],KT=[536870928,541065216,16384,541081616,541065216,16,541081616,4194304,536887296,4210704,4194304,536870928,4194320,536887296,536870912,16400,0,4194320,536887312,16384,4210688,536887312,16,541065232,541065232,0,4210704,541081600,16400,4210688,541081600,536870912,536887296,16,541065232,4210688,541081616,4194304,16400,536870928,4194304,536887296,536870912,16400,536870928,541081616,4210688,541065216,4210704,541081600,0,541065232,16,16384,541065216,4210704,16384,4194320,536887312,0,541081600,536870912,4194320,536887312],VT=[2097152,69206018,67110914,0,2048,67110914,2099202,69208064,69208066,2097152,0,67108866,2,67108864,69206018,2050,67110912,2099202,2097154,67110912,67108866,69206016,69208064,2097154,69206016,2048,2050,69208066,2099200,2,67108864,2099200,67108864,2099200,2097152,67110914,67110914,69206018,69206018,2,2097154,67108864,67110912,2097152,69208064,2050,2099202,69208064,2050,67108866,69208066,69206016,2099200,0,2,69208066,0,2099202,69206016,2048,67108866,67110912,2048,2097154],jT=[268439616,4096,262144,268701760,268435456,268439616,64,268435456,262208,268697600,268701760,266240,268701696,266304,4096,64,268697600,268435520,268439552,4160,266240,262208,268697664,268701696,4160,0,0,268697664,268435520,268439552,266304,262144,266304,262144,268701696,4096,64,268697664,4096,266304,268439552,64,268435520,268697600,268697664,268435456,262144,268439616,0,268701760,262208,268435520,268697600,268439552,268439616,0,268701760,266240,266240,4160,4160,262208,268435456,268701696];function $T(t){for(var e=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],s=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],o=[0,1024,32,1056,0,1024,32,1056,33554432,33555456,33554464,33555488,33554432,33555456,33554464,33555488],a=[0,268435456,524288,268959744,2,268435458,524290,268959746,0,268435456,524288,268959744,2,268435458,524290,268959746],c=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],u=[0,262144,0,262144,2,262146,2,262146,33554432,33816576,33554432,33816576,33554434,33816578,33554434,33816578],l=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],f=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],p=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],h=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],g=t.length()>8?3:1,m=[],S=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],R=0,L,H=0;H<g;H++){var q=t.getInt32(),k=t.getInt32();L=(q>>>4^k)&252645135,k^=L,q^=L<<4,L=(k>>>-16^q)&65535,q^=L,k^=L<<-16,L=(q>>>2^k)&858993459,k^=L,q^=L<<2,L=(k>>>-16^q)&65535,q^=L,k^=L<<-16,L=(q>>>1^k)&1431655765,k^=L,q^=L<<1,L=(k>>>8^q)&16711935,q^=L,k^=L<<8,L=(q>>>1^k)&1431655765,k^=L,q^=L<<1,L=q<<8|k>>>20&240,q=k<<24|k<<8&16711680|k>>>8&65280|k>>>24&240,k=L;for(var J=0;J<S.length;++J){S[J]?(q=q<<2|q>>>26,k=k<<2|k>>>26):(q=q<<1|q>>>27,k=k<<1|k>>>27),q&=-15,k&=-15;var ie=e[q>>>28]|r[q>>>24&15]|n[q>>>20&15]|i[q>>>16&15]|s[q>>>12&15]|o[q>>>8&15]|a[q>>>4&15],j=c[k>>>28]|u[k>>>24&15]|l[k>>>20&15]|f[k>>>16&15]|d[k>>>12&15]|p[k>>>8&15]|h[k>>>4&15];L=(j>>>16^ie)&65535,m[R++]=ie^L,m[R++]=j^L<<16}}return m}function iy(t,e,r,n){var i=t.length===32?3:9,s;i===3?s=n?[30,-2,-2]:[0,32,2]:s=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var o,a=e[0],c=e[1];o=(a>>>4^c)&252645135,c^=o,a^=o<<4,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var l=s[u+1],f=s[u+2],d=s[u];d!=l;d+=f){var p=c^t[d],h=(c>>>4|c<<28)^t[d+1];o=a,a=c,c=o^(qT[p>>>24&63]|MT[p>>>16&63]|KT[p>>>8&63]|jT[p&63]|kT[h>>>24&63]|UT[h>>>16&63]|FT[h>>>8&63]|VT[h&63])}o=a,a=c,c=o}a=a>>>1|a<<31,c=c>>>1|c<<31,o=(a>>>1^c)&1431655765,c^=o,a^=o<<1,o=(c>>>8^a)&16711935,a^=o,c^=o<<8,o=(c>>>2^a)&858993459,a^=o,c^=o<<2,o=(a>>>16^c)&65535,c^=o,a^=o<<16,o=(a>>>4^c)&252645135,c^=o,a^=o<<4,r[0]=a,r[1]=c}function pc(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=Xe.cipher.createDecipher(r,t.key):n=Xe.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof Xe.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var $n=w((sU,oy)=>{var gc=be();oy.exports=gc.md=gc.md||{};gc.md.algorithms=gc.md.algorithms||{}});var cy=w((oU,ay)=>{var mn=be();$n();$e();var HT=ay.exports=mn.hmac=mn.hmac||{};HT.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(s,o){if(s!==null)if(typeof s=="string")if(s=s.toLowerCase(),s in mn.md.algorithms)e=mn.md.algorithms[s].create();else throw new Error('Unknown hash algorithm "'+s+'"');else e=s;if(o===null)o=t;else{if(typeof o=="string")o=mn.util.createBuffer(o);else if(mn.util.isArray(o)){var a=o;o=mn.util.createBuffer();for(var c=0;c<a.length;++c)o.putByte(a[c])}var u=o.length();u>e.blockLength&&(e.start(),e.update(o.bytes()),o=e.digest()),r=mn.util.createBuffer(),n=mn.util.createBuffer(),u=o.length();for(var c=0;c<u;++c){var a=o.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<e.blockLength)for(var a=e.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);t=o,r=r.bytes(),n=n.bytes()}e.start(),e.update(r)},i.update=function(s){e.update(s)},i.getMac=function(){var s=e.digest().bytes();return e.start(),e.update(n),e.update(s),e.digest()},i.digest=i.getMac,i}});var Ts=w(()=>{});var Kl=w((uU,uy)=>{var $t=be();cy();$n();$e();var zT=$t.pkcs5=$t.pkcs5||{},vn;$t.util.isNodejs&&!$t.options.usePureJavaScript&&(vn=Ts());uy.exports=$t.pbkdf2=zT.pbkdf2=function(t,e,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),$t.util.isNodejs&&!$t.options.usePureJavaScript&&vn.pbkdf2&&(i===null||typeof i!="object")&&(vn.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),s?vn.pbkdf2Sync.length===4?vn.pbkdf2(t,e,r,n,function(L,H){if(L)return s(L);s(null,H.toString("binary"))}):vn.pbkdf2(t,e,r,n,i,function(L,H){if(L)return s(L);s(null,H.toString("binary"))}):vn.pbkdf2Sync.length===4?vn.pbkdf2Sync(t,e,r,n).toString("binary"):vn.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i=="undefined"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in $t.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=$t.md[i].create()}var o=i.digestLength;if(n>4294967295*o){var a=new Error("Derived key is too long.");if(s)return s(a);throw a}var c=Math.ceil(n/o),u=n-(c-1)*o,l=$t.hmac.create();l.start(i,t);var f="",d,p,h;if(!s){for(var g=1;g<=c;++g){l.start(null,null),l.update(e),l.update($t.util.int32ToBytes(g)),d=h=l.digest().getBytes();for(var m=2;m<=r;++m)l.start(null,null),l.update(h),p=l.digest().getBytes(),d=$t.util.xorBytes(d,p,o),h=p;f+=g<c?d:d.substr(0,u)}return f}var g=1,m;function S(){if(g>c)return s(null,f);l.start(null,null),l.update(e),l.update($t.util.int32ToBytes(g)),d=h=l.digest().getBytes(),m=2,R()}function R(){if(m<=r)return l.start(null,null),l.update(h),p=l.digest().getBytes(),d=$t.util.xorBytes(d,p,o),h=p,++m,$t.util.setImmediate(R);f+=g<c?d:d.substr(0,u),++g,S()}S()}});var bc=w((lU,fy)=>{var mc=be();$e();var ly=fy.exports=mc.pem=mc.pem||{};ly.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
|
|
23
23
|
`,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=vc(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=vc(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=vc(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=vc(t.headers[i]);return t.procType&&(r+=`\r
|
|
24
24
|
`),r+=mc.util.encode64(t.body,e.maxline||64)+`\r
|
|
25
25
|
`,r+="-----END "+t.type+`-----\r
|
|
26
|
-
`,r};
|
|
26
|
+
`,r};ly.decode=function(t){for(var e=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,s;s=r.exec(t),!!s;){var o=s[1];o==="NEW CERTIFICATE REQUEST"&&(o="CERTIFICATE REQUEST");var a={type:o,procType:null,contentDomain:null,dekInfo:null,headers:[],body:mc.util.decode64(s[3])};if(e.push(a),!!s[2]){for(var c=s[2].split(i),u=0;s&&u<c.length;){for(var l=c[u].replace(/\s+$/,""),f=u+1;f<c.length;++f){var d=c[f];if(!/\s/.test(d[0]))break;l+=d,u=f}if(s=l.match(n),s){for(var p={name:s[1],values:[]},h=s[2].split(","),g=0;g<h.length;++g)p.values.push(GT(h[g]));if(a.procType)if(!a.contentDomain&&p.name==="Content-Domain")a.contentDomain=h[0]||"";else if(!a.dekInfo&&p.name==="DEK-Info"){if(p.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:h[0],parameters:h[1]||null}}else a.headers.push(p);else{if(p.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(p.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:h[0],type:h[1]}}}++u}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(e.length===0)throw new Error("Invalid PEM formatted message.");return e};function vc(t){for(var e=t.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<t.values.length;++i)r.push(t.values[i].replace(/^(\S+\r\n)/,n));e+=r.join(",")+`\r
|
|
27
27
|
`;for(var s=0,o=-1,i=0;i<e.length;++i,++s)if(s>65&&o!==-1){var a=e[o];a===","?(++o,e=e.substr(0,o)+`\r
|
|
28
28
|
`+e.substr(o)):e=e.substr(0,o)+`\r
|
|
29
|
-
`+a+e.substr(o+1),s=i-o-1,o=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(o=i);return e}function WT(t){return t.replace(/^\s+/,"")}});var wy=w((pU,Ey)=>{var Qr=be();$n();$e();var gy=Ey.exports=Qr.sha256=Qr.sha256||{};Qr.md.sha256=Qr.md.algorithms.sha256=gy;gy.create=function(){my||YT();var t=null,e=Qr.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return e=Qr.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=Qr.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return e.putBytes(i),by(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Qr.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes($l.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};by(f,r,i);var d=Qr.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d.putInt32(f.h5),d.putInt32(f.h6),d.putInt32(f.h7),d},n};var $l=null,my=!1,vy=null;function YT(){$l=String.fromCharCode(128),$l+=Qr.util.fillString(String.fromCharCode(0),64),vy=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],my=!0}function by(t,e,r){for(var n,i,s,o,a,c,u,l,f,d,p,h,g,m,x,R=r.length();R>=64;){for(u=0;u<16;++u)e[u]=r.getInt32();for(;u<64;++u)n=e[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[u]=n+e[u-7]+i+e[u-16]|0;for(l=t.h0,f=t.h1,d=t.h2,p=t.h3,h=t.h4,g=t.h5,m=t.h6,x=t.h7,u=0;u<64;++u)o=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=m^h&(g^m),s=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|d&(l^f),n=x+o+a+vy[u]+e[u],i=s+c,x=m,m=g,g=h,h=p+n>>>0,p=d,d=f,f=l,l=n+i>>>0;t.h0=t.h0+l|0,t.h1=t.h1+f|0,t.h2=t.h2+d|0,t.h3=t.h3+p|0,t.h4=t.h4+h|0,t.h5=t.h5+g|0,t.h6=t.h6+m|0,t.h7=t.h7+x|0,R-=64}}});var xy=w((yU,_y)=>{var Xr=be();$e();var Ec=null;Xr.util.isNodejs&&!Xr.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Ec=Ts());var QT=_y.exports=Xr.prng=Xr.prng||{};QT.create=function(t){for(var e={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=t.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();e.pools=n,e.pool=0,e.generate=function(u,l){if(!l)return e.generateSync(u);var f=e.plugin.cipher,d=e.plugin.increment,p=e.plugin.formatKey,h=e.plugin.formatSeed,g=Xr.util.createBuffer();e.key=null,m();function m(x){if(x)return l(x);if(g.length()>=u)return l(null,g.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return Xr.util.nextTick(function(){s(m)});var R=f(e.key,e.seed);e.generated+=R.length,g.putBytes(R),e.key=p(f(e.key,d(e.seed))),e.seed=h(f(e.key,e.seed)),Xr.util.setImmediate(m)}},e.generateSync=function(u){var l=e.plugin.cipher,f=e.plugin.increment,d=e.plugin.formatKey,p=e.plugin.formatSeed;e.key=null;for(var h=Xr.util.createBuffer();h.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&o();var g=l(e.key,e.seed);e.generated+=g.length,h.putBytes(g),e.key=d(l(e.key,f(e.seed))),e.seed=p(l(e.key,e.seed))}return h.getBytes(u)};function s(u){if(e.pools[0].messageLength>=32)return a(),u();var l=32-e.pools[0].messageLength<<5;e.seedFile(l,function(f,d){if(f)return u(f);e.collect(d),a(),u()})}function o(){if(e.pools[0].messageLength>=32)return a();var u=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(u)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var u=e.plugin.md.create();u.update(e.keyBytes);for(var l=1,f=0;f<32;++f)e.reseeds%l==0&&(u.update(e.pools[f].digest().getBytes()),e.pools[f].start()),l=l<<1;e.keyBytes=u.digest().getBytes(),u.start(),u.update(e.keyBytes);var d=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(d),e.generated=0}function c(u){var l=null,f=Xr.util.globalScope,d=f.crypto||f.msCrypto;d&&d.getRandomValues&&(l=function(q){return d.getRandomValues(q)});var p=Xr.util.createBuffer();if(l)for(;p.length()<u;){var h=Math.max(1,Math.min(u-p.length(),65536)/4),g=new Uint32Array(Math.floor(h));try{l(g);for(var m=0;m<g.length;++m)p.putInt32(g[m])}catch(q){if(!(typeof QuotaExceededError!="undefined"&&q instanceof QuotaExceededError))throw q}}if(p.length()<u)for(var x,R,L,H=Math.floor(Math.random()*65536);p.length()<u;){R=16807*(H&65535),x=16807*(H>>16),R+=(x&32767)<<16,R+=x>>15,R=(R&2147483647)+(R>>31),H=R&4294967295;for(var m=0;m<3;++m)L=H>>>(m<<3),L^=Math.floor(Math.random()*256),p.putByte(L&255)}return p.getBytes(u)}return Ec?(e.seedFile=function(u,l){Ec.randomBytes(u,function(f,d){if(f)return l(f);l(null,d.toString())})},e.seedFileSync=function(u){return Ec.randomBytes(u).toString()}):(e.seedFile=function(u,l){try{l(null,c(u))}catch(f){l(f)}},e.seedFileSync=c),e.collect=function(u){for(var l=u.length,f=0;f<l;++f)e.pools[e.pool].update(u.substr(f,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(u,l){for(var f="",d=0;d<l;d+=8)f+=String.fromCharCode(u>>d&255);e.collect(f)},e.registerWorker=function(u){if(u===self)e.seedFile=function(f,d){function p(h){var g=h.data;g.forge&&g.forge.prng&&(self.removeEventListener("message",p),d(g.forge.prng.err,g.forge.prng.bytes))}self.addEventListener("message",p),self.postMessage({forge:{prng:{needed:f}}})};else{var l=function(f){var d=f.data;d.forge&&d.forge.prng&&e.seedFile(d.forge.prng.needed,function(p,h){u.postMessage({forge:{prng:{err:p,bytes:h}}})})};u.addEventListener("message",l)}},e}});var Ci=w((gU,Hl)=>{var St=be();Is();wy();xy();$e();(function(){if(St.random&&St.random.getBytes){Hl.exports=St.random;return}(function(t){var e={},r=new Array(4),n=St.util.createBuffer();e.formatKey=function(f){var d=St.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),St.aes._expandKey(f,!1)},e.formatSeed=function(f){var d=St.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),f},e.cipher=function(f,d){return St.aes._updateBlock(f,d,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(f){return++f[3],f},e.md=St.md.sha256;function i(){var f=St.prng.create(e);return f.getBytes=function(d,p){return f.generate(d,p)},f.getBytesSync=function(d){return f.generate(d)},f}var s=i(),o=null,a=St.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),St.options.usePureJavaScript||!St.util.isNodejs&&!o){if(typeof window=="undefined"||window.document===void 0,s.collectInt(+new Date,32),typeof navigator!="undefined"){var u="";for(var l in navigator)try{typeof navigator[l]=="string"&&(u+=navigator[l])}catch(f){}s.collect(u),u=null}t&&(t().mousemove(function(f){s.collectInt(f.clientX,16),s.collectInt(f.clientY,16)}),t().keypress(function(f){s.collectInt(f.charCode,8)}))}if(!St.random)St.random=s;else for(var l in s)St.random[l]=s[l];St.random.createInstance=i,Hl.exports=St.random})(typeof jQuery!="undefined"?jQuery:null)})()});var Iy=w((mU,Cy)=>{var Zt=be();$e();var zl=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],Sy=[1,2,3,5],XT=function(t,e){return t<<e&65535|(t&65535)>>16-e},ZT=function(t,e){return(t&65535)>>e|t<<16-e&65535};Cy.exports=Zt.rc2=Zt.rc2||{};Zt.rc2.expandKey=function(t,e){typeof t=="string"&&(t=Zt.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,s=Math.ceil(i/8),o=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(zl[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,zl[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,zl[r.at(a+1)^r.at(a+s)]);return r};var Ay=function(t,e,r){var n=!1,i=null,s=null,o=null,a,c,u,l,f=[];for(t=Zt.rc2.expandKey(t,e),u=0;u<64;u++)f.push(t.getInt16Le());r?(a=function(h){for(u=0;u<4;u++)h[u]+=f[l]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),h[u]=XT(h[u],Sy[u]),l++},c=function(h){for(u=0;u<4;u++)h[u]+=f[h[(u+3)%4]&63]}):(a=function(h){for(u=3;u>=0;u--)h[u]=ZT(h[u],Sy[u]),h[u]-=f[l]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),l--},c=function(h){for(u=3;u>=0;u--)h[u]-=f[h[(u+3)%4]&63]});var d=function(h){var g=[];for(u=0;u<4;u++){var m=i.getInt16Le();o!==null&&(r?m^=o.getInt16Le():o.putInt16Le(m)),g.push(m&65535)}l=r?0:63;for(var x=0;x<h.length;x++)for(var R=0;R<h[x][0];R++)h[x][1](g);for(u=0;u<4;u++)o!==null&&(r?o.putInt16Le(g[u]):g[u]^=o.getInt16Le()),s.putInt16Le(g[u])},p=null;return p={start:function(h,g){h&&typeof h=="string"&&(h=Zt.util.createBuffer(h)),n=!1,i=Zt.util.createBuffer(),s=g||new Zt.util.createBuffer,o=h,p.output=s},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(h){var g=!0;if(r)if(h)g=h(8,i,!r);else{var m=i.length()===8?8:8-i.length();i.fillWithByte(m,m)}if(g&&(n=!0,p.update()),!r&&(g=i.length()===0,g))if(h)g=h(8,s,!r);else{var x=s.length(),R=s.at(x-1);R>x?g=!1:s.truncate(R)}return g}},p};Zt.rc2.startEncrypting=function(t,e,r){var n=Zt.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};Zt.rc2.createEncryptionCipher=function(t,e){return Ay(t,e,!0)};Zt.rc2.startDecrypting=function(t,e,r){var n=Zt.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};Zt.rc2.createDecryptionCipher=function(t,e){return Ay(t,e,!1)}});var xc=w((vU,Ly)=>{var Gl=be();Ly.exports=Gl.jsbn=Gl.jsbn||{};var bn,JT=244837814094590,Ty=(JT&16777215)==15715070;function V(t,e,r){this.data=[],t!=null&&(typeof t=="number"?this.fromNumber(t,e,r):e==null&&typeof t!="string"?this.fromString(t,256):this.fromString(t,e))}Gl.jsbn.BigInteger=V;function Be(){return new V(null)}function eR(t,e,r,n,i,s){for(;--s>=0;){var o=e*this.data[t++]+r.data[n]+i;i=Math.floor(o/67108864),r.data[n++]=o&67108863}return i}function tR(t,e,r,n,i,s){for(var o=e&32767,a=e>>15;--s>=0;){var c=this.data[t]&32767,u=this.data[t++]>>15,l=a*c+u*o;c=o*c+((l&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(l>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function Ry(t,e,r,n,i,s){for(var o=e&16383,a=e>>14;--s>=0;){var c=this.data[t]&16383,u=this.data[t++]>>14,l=a*c+u*o;c=o*c+((l&16383)<<14)+r.data[n]+i,i=(c>>28)+(l>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator=="undefined"?(V.prototype.am=Ry,bn=28):Ty&&navigator.appName=="Microsoft Internet Explorer"?(V.prototype.am=tR,bn=30):Ty&&navigator.appName!="Netscape"?(V.prototype.am=eR,bn=26):(V.prototype.am=Ry,bn=28);V.prototype.DB=bn;V.prototype.DM=(1<<bn)-1;V.prototype.DV=1<<bn;var Wl=52;V.prototype.FV=Math.pow(2,Wl);V.prototype.F1=Wl-bn;V.prototype.F2=2*bn-Wl;var rR="0123456789abcdefghijklmnopqrstuvwxyz",wc=new Array,Rs,pr;Rs="0".charCodeAt(0);for(pr=0;pr<=9;++pr)wc[Rs++]=pr;Rs="a".charCodeAt(0);for(pr=10;pr<36;++pr)wc[Rs++]=pr;Rs="A".charCodeAt(0);for(pr=10;pr<36;++pr)wc[Rs++]=pr;function By(t){return rR.charAt(t)}function Py(t,e){var r=wc[t.charCodeAt(e)];return r??-1}function nR(t){for(var e=this.t-1;e>=0;--e)t.data[e]=this.data[e];t.t=this.t,t.s=this.s}function iR(t){this.t=1,this.s=t<0?-1:0,t>0?this.data[0]=t:t<-1?this.data[0]=t+this.DV:this.t=0}function Hn(t){var e=Be();return e.fromInt(t),e}function sR(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,s=0;--n>=0;){var o=r==8?t[n]&255:Py(t,n);if(o<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,s==0?this.data[this.t++]=o:s+r>this.DB?(this.data[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this.data[this.t++]=o>>this.DB-s):this.data[this.t-1]|=o<<s,s+=r,s>=this.DB&&(s-=this.DB)}r==8&&(t[0]&128)!=0&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&V.ZERO.subTo(this,this)}function oR(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function aR(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,s="",o=this.t,a=this.DB-o*this.DB%e;if(o-- >0)for(a<this.DB&&(n=this.data[o]>>a)>0&&(i=!0,s=By(n));o>=0;)a<e?(n=(this.data[o]&(1<<a)-1)<<e-a,n|=this.data[--o]>>(a+=this.DB-e)):(n=this.data[o]>>(a-=e)&r,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=By(n));return i?s:"0"}function cR(){var t=Be();return V.ZERO.subTo(this,t),t}function uR(){return this.s<0?this.negate():this}function lR(t){var e=this.s-t.s;if(e!=0)return e;var r=this.t;if(e=r-t.t,e!=0)return this.s<0?-e:e;for(;--r>=0;)if((e=this.data[r]-t.data[r])!=0)return e;return 0}function _c(t){var e=1,r;return(r=t>>>16)!=0&&(t=r,e+=16),(r=t>>8)!=0&&(t=r,e+=8),(r=t>>4)!=0&&(t=r,e+=4),(r=t>>2)!=0&&(t=r,e+=2),(r=t>>1)!=0&&(t=r,e+=1),e}function fR(){return this.t<=0?0:this.DB*(this.t-1)+_c(this.data[this.t-1]^this.s&this.DM)}function dR(t,e){var r;for(r=this.t-1;r>=0;--r)e.data[r+t]=this.data[r];for(r=t-1;r>=0;--r)e.data[r]=0;e.t=this.t+t,e.s=this.s}function hR(t,e){for(var r=t;r<this.t;++r)e.data[r-t]=this.data[r];e.t=Math.max(this.t-t,0),e.s=this.s}function pR(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,s=Math.floor(t/this.DB),o=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+s+1]=this.data[a]>>n|o,o=(this.data[a]&i)<<r;for(a=s-1;a>=0;--a)e.data[a]=0;e.data[s]=o,e.t=this.t+s+1,e.s=this.s,e.clamp()}function yR(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,s=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var o=r+1;o<this.t;++o)e.data[o-r-1]|=(this.data[o]&s)<<i,e.data[o-r]=this.data[o]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&s)<<i),e.t=this.t-r,e.clamp()}function gR(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]-t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n-=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e.data[r++]=this.DV+n:n>0&&(e.data[r++]=n),e.t=r,e.clamp()}function mR(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e.data[i]=0;for(i=0;i<n.t;++i)e.data[i+r.t]=r.am(0,n.data[i],e,i,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&V.ZERO.subTo(e,e)}function vR(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t.data[r]=0;for(r=0;r<e.t-1;++r){var n=e.am(r,e.data[r],t,2*r,0,1);(t.data[r+e.t]+=e.am(r+1,2*e.data[r],t,2*r+1,n,e.t-r-1))>=e.DV&&(t.data[r+e.t]-=e.DV,t.data[r+e.t+1]=1)}t.t>0&&(t.data[t.t-1]+=e.am(r,e.data[r],t,2*r,0,1)),t.s=0,t.clamp()}function bR(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e!=null&&e.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=Be());var s=Be(),o=this.s,a=t.s,c=this.DB-_c(n.data[n.t-1]);c>0?(n.lShiftTo(c,s),i.lShiftTo(c,r)):(n.copyTo(s),i.copyTo(r));var u=s.t,l=s.data[u-1];if(l!=0){var f=l*(1<<this.F1)+(u>1?s.data[u-2]>>this.F2:0),d=this.FV/f,p=(1<<this.F1)/f,h=1<<this.F2,g=r.t,m=g-u,x=e??Be();for(s.dlShiftTo(m,x),r.compareTo(x)>=0&&(r.data[r.t++]=1,r.subTo(x,r)),V.ONE.dlShiftTo(u,x),x.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--m>=0;){var R=r.data[--g]==l?this.DM:Math.floor(r.data[g]*d+(r.data[g-1]+h)*p);if((r.data[g]+=s.am(0,R,r,m,0,u))<R)for(s.dlShiftTo(m,x),r.subTo(x,r);r.data[g]<--R;)r.subTo(x,r)}e!=null&&(r.drShiftTo(u,e),o!=a&&V.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&V.ZERO.subTo(r,r)}}}function ER(t){var e=Be();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(V.ZERO)>0&&t.subTo(e,e),e}function Ii(t){this.m=t}function wR(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function _R(t){return t}function xR(t){t.divRemTo(this.m,null,t)}function SR(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function AR(t,e){t.squareTo(e),this.reduce(e)}Ii.prototype.convert=wR;Ii.prototype.revert=_R;Ii.prototype.reduce=xR;Ii.prototype.mulTo=SR;Ii.prototype.sqrTo=AR;function CR(){if(this.t<1)return 0;var t=this.data[0];if((t&1)==0)return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function Ti(t){this.m=t,this.mp=t.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function IR(t){var e=Be();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(V.ZERO)>0&&this.m.subTo(e,e),e}function TR(t){var e=Be();return t.copyTo(e),this.reduce(e),e}function RR(t){for(;t.t<=this.mt2;)t.data[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=t.data[e]&32767,n=r*this.mpl+((r*this.mph+(t.data[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(r=e+this.m.t,t.data[r]+=this.m.am(0,n,t,e,0,this.m.t);t.data[r]>=t.DV;)t.data[r]-=t.DV,t.data[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function BR(t,e){t.squareTo(e),this.reduce(e)}function PR(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Ti.prototype.convert=IR;Ti.prototype.revert=TR;Ti.prototype.reduce=RR;Ti.prototype.mulTo=PR;Ti.prototype.sqrTo=BR;function NR(){return(this.t>0?this.data[0]&1:this.s)==0}function OR(t,e){if(t>4294967295||t<1)return V.ONE;var r=Be(),n=Be(),i=e.convert(this),s=_c(t)-1;for(i.copyTo(r);--s>=0;)if(e.sqrTo(r,n),(t&1<<s)>0)e.mulTo(n,i,r);else{var o=r;r=n,n=o}return e.revert(r)}function DR(t,e){var r;return t<256||e.isEven()?r=new Ii(e):r=new Ti(e),this.exp(t,r)}V.prototype.copyTo=nR;V.prototype.fromInt=iR;V.prototype.fromString=sR;V.prototype.clamp=oR;V.prototype.dlShiftTo=dR;V.prototype.drShiftTo=hR;V.prototype.lShiftTo=pR;V.prototype.rShiftTo=yR;V.prototype.subTo=gR;V.prototype.multiplyTo=mR;V.prototype.squareTo=vR;V.prototype.divRemTo=bR;V.prototype.invDigit=CR;V.prototype.isEven=NR;V.prototype.exp=OR;V.prototype.toString=aR;V.prototype.negate=cR;V.prototype.abs=uR;V.prototype.compareTo=lR;V.prototype.bitLength=fR;V.prototype.mod=ER;V.prototype.modPowInt=DR;V.ZERO=Hn(0);V.ONE=Hn(1);function LR(){var t=Be();return this.copyTo(t),t}function kR(){if(this.s<0){if(this.t==1)return this.data[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this.data[0];if(this.t==0)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]}function qR(){return this.t==0?this.s:this.data[0]<<24>>24}function UR(){return this.t==0?this.s:this.data[0]<<16>>16}function MR(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function FR(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function KR(t){if(t==null&&(t=10),this.signum()==0||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=Hn(r),i=Be(),s=Be(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(r+s.intValue()).toString(t).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(t)+o}function VR(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,s=0,o=0,a=0;a<t.length;++a){var c=Py(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=e*o+c,++s>=r&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0)}s>0&&(this.dMultiply(Math.pow(e,s)),this.dAddOffset(o,0)),i&&V.ZERO.subTo(this,this)}function jR(t,e,r){if(typeof e=="number")if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(V.ONE.shiftLeft(t-1),Yl,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(V.ONE.shiftLeft(t-1),this);else{var n=new Array,i=t&7;n.length=(t>>3)+1,e.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function $R(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),(n&128)!=0&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function HR(t){return this.compareTo(t)==0}function zR(t){return this.compareTo(t)<0?this:t}function GR(t){return this.compareTo(t)>0?this:t}function WR(t,e,r){var n,i,s=Math.min(t.t,this.t);for(n=0;n<s;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=s;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=s;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function YR(t,e){return t&e}function QR(t){var e=Be();return this.bitwiseTo(t,YR,e),e}function Yl(t,e){return t|e}function XR(t){var e=Be();return this.bitwiseTo(t,Yl,e),e}function Ny(t,e){return t^e}function ZR(t){var e=Be();return this.bitwiseTo(t,Ny,e),e}function Oy(t,e){return t&~e}function JR(t){var e=Be();return this.bitwiseTo(t,Oy,e),e}function e4(){for(var t=Be(),e=0;e<this.t;++e)t.data[e]=this.DM&~this.data[e];return t.t=this.t,t.s=~this.s,t}function t4(t){var e=Be();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function r4(t){var e=Be();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function n4(t){if(t==0)return-1;var e=0;return(t&65535)==0&&(t>>=16,e+=16),(t&255)==0&&(t>>=8,e+=8),(t&15)==0&&(t>>=4,e+=4),(t&3)==0&&(t>>=2,e+=2),(t&1)==0&&++e,e}function i4(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+n4(this.data[t]);return this.s<0?this.t*this.DB:-1}function s4(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function o4(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=s4(this.data[r]^e);return t}function a4(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function c4(t,e){var r=V.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function u4(t){return this.changeBit(t,Yl)}function l4(t){return this.changeBit(t,Oy)}function f4(t){return this.changeBit(t,Ny)}function d4(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]+t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n+=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e.data[r++]=n:n<-1&&(e.data[r++]=this.DV+n),e.t=r,e.clamp()}function h4(t){var e=Be();return this.addTo(t,e),e}function p4(t){var e=Be();return this.subTo(t,e),e}function y4(t){var e=Be();return this.multiplyTo(t,e),e}function g4(t){var e=Be();return this.divRemTo(t,e,null),e}function m4(t){var e=Be();return this.divRemTo(t,null,e),e}function v4(t){var e=Be(),r=Be();return this.divRemTo(t,e,r),new Array(e,r)}function b4(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function E4(t,e){if(t!=0){for(;this.t<=e;)this.data[this.t++]=0;for(this.data[e]+=t;this.data[e]>=this.DV;)this.data[e]-=this.DV,++e>=this.t&&(this.data[this.t++]=0),++this.data[e]}}function $o(){}function Dy(t){return t}function w4(t,e,r){t.multiplyTo(e,r)}function _4(t,e){t.squareTo(e)}$o.prototype.convert=Dy;$o.prototype.revert=Dy;$o.prototype.mulTo=w4;$o.prototype.sqrTo=_4;function x4(t){return this.exp(t,new $o)}function S4(t,e,r){var n=Math.min(this.t+t.t,e);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,t.data[n],r,n,0,this.t);for(i=Math.min(t.t,e);n<i;++n)this.am(0,t.data[n],r,n,0,e-n);r.clamp()}function A4(t,e,r){--e;var n=r.t=this.t+t.t-e;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)r.data[this.t+n-e]=this.am(e-n,t.data[n],r,0,0,this.t+n-e);r.clamp(),r.drShiftTo(1,r)}function Bs(t){this.r2=Be(),this.q3=Be(),V.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function C4(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=Be();return t.copyTo(e),this.reduce(e),e}function I4(t){return t}function T4(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function R4(t,e){t.squareTo(e),this.reduce(e)}function B4(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Bs.prototype.convert=C4;Bs.prototype.revert=I4;Bs.prototype.reduce=T4;Bs.prototype.mulTo=B4;Bs.prototype.sqrTo=R4;function P4(t,e){var r=t.bitLength(),n,i=Hn(1),s;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?s=new Ii(e):e.isEven()?s=new Bs(e):s=new Ti(e);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var l=Be();for(s.sqrTo(o[1],l);a<=u;)o[a]=Be(),s.mulTo(l,o[a-2],o[a]),a+=2}var f=t.t-1,d,p=!0,h=Be(),g;for(r=_c(t.data[f])-1;f>=0;){for(r>=c?d=t.data[f]>>r-c&u:(d=(t.data[f]&(1<<r+1)-1)<<c-r,f>0&&(d|=t.data[f-1]>>this.DB+r-c)),a=n;(d&1)==0;)d>>=1,--a;if((r-=a)<0&&(r+=this.DB,--f),p)o[d].copyTo(i),p=!1;else{for(;a>1;)s.sqrTo(i,h),s.sqrTo(h,i),a-=2;a>0?s.sqrTo(i,h):(g=i,i=h,h=g),s.mulTo(h,o[d],i)}for(;f>=0&&(t.data[f]&1<<r)==0;)s.sqrTo(i,h),g=i,i=h,h=g,--r<0&&(r=this.DB-1,--f)}return s.revert(i)}function N4(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),s=r.getLowestSetBit();if(s<0)return e;for(i<s&&(s=i),s>0&&(e.rShiftTo(s,e),r.rShiftTo(s,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return s>0&&r.lShiftTo(s,r),r}function O4(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(e==0)r=this.data[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this.data[n])%t;return r}function D4(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return V.ZERO;for(var r=t.clone(),n=this.clone(),i=Hn(1),s=Hn(0),o=Hn(0),a=Hn(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!s.isEven())&&(i.addTo(this,i),s.subTo(t,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(t,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),e?((!o.isEven()||!a.isEven())&&(o.addTo(this,o),a.subTo(t,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(o,i),s.subTo(a,s)):(n.subTo(r,n),e&&o.subTo(i,o),a.subTo(s,a))}if(n.compareTo(V.ONE)!=0)return V.ZERO;if(a.compareTo(t)>=0)return a.subtract(t);if(a.signum()<0)a.addTo(t,a);else return a;return a.signum()<0?a.add(t):a}var Lr=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],L4=(1<<26)/Lr[Lr.length-1];function k4(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=Lr[Lr.length-1]){for(e=0;e<Lr.length;++e)if(r.data[0]==Lr[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<Lr.length;){for(var n=Lr[e],i=e+1;i<Lr.length&&n<L4;)n*=Lr[i++];for(n=r.modInt(n);e<i;)if(n%Lr[e++]==0)return!1}return r.millerRabin(t)}function q4(t){var e=this.subtract(V.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=U4(),s,o=0;o<t;++o){do s=new V(this.bitLength(),i);while(s.compareTo(V.ONE)<=0||s.compareTo(e)>=0);var a=s.modPow(n,this);if(a.compareTo(V.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(V.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function U4(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}V.prototype.chunkSize=MR;V.prototype.toRadix=KR;V.prototype.fromRadix=VR;V.prototype.fromNumber=jR;V.prototype.bitwiseTo=WR;V.prototype.changeBit=c4;V.prototype.addTo=d4;V.prototype.dMultiply=b4;V.prototype.dAddOffset=E4;V.prototype.multiplyLowerTo=S4;V.prototype.multiplyUpperTo=A4;V.prototype.modInt=O4;V.prototype.millerRabin=q4;V.prototype.clone=LR;V.prototype.intValue=kR;V.prototype.byteValue=qR;V.prototype.shortValue=UR;V.prototype.signum=FR;V.prototype.toByteArray=$R;V.prototype.equals=HR;V.prototype.min=zR;V.prototype.max=GR;V.prototype.and=QR;V.prototype.or=XR;V.prototype.xor=ZR;V.prototype.andNot=JR;V.prototype.not=e4;V.prototype.shiftLeft=t4;V.prototype.shiftRight=r4;V.prototype.getLowestSetBit=i4;V.prototype.bitCount=o4;V.prototype.testBit=a4;V.prototype.setBit=u4;V.prototype.clearBit=l4;V.prototype.flipBit=f4;V.prototype.add=h4;V.prototype.subtract=p4;V.prototype.multiply=y4;V.prototype.divide=g4;V.prototype.remainder=m4;V.prototype.divideAndRemainder=v4;V.prototype.modPow=P4;V.prototype.modInverse=D4;V.prototype.pow=x4;V.prototype.gcd=N4;V.prototype.isProbablePrime=k4});var Fy=w((bU,My)=>{var Zr=be();$n();$e();var ky=My.exports=Zr.sha1=Zr.sha1||{};Zr.md.sha1=Zr.md.algorithms.sha1=ky;ky.create=function(){qy||M4();var t=null,e=Zr.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return e=Zr.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=Zr.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return e.putBytes(i),Uy(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Zr.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Ql.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};Uy(f,r,i);var d=Zr.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d},n};var Ql=null,qy=!1;function M4(){Ql=String.fromCharCode(128),Ql+=Zr.util.fillString(String.fromCharCode(0),64),qy=!0}function Uy(t,e,r){for(var n,i,s,o,a,c,u,l,f=r.length();f>=64;){for(i=t.h0,s=t.h1,o=t.h2,a=t.h3,c=t.h4,l=0;l<16;++l)n=r.getInt32(),e[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<20;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<32;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<40;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<60;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s&o|a&(s^o),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<80;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+s|0,t.h2=t.h2+o|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,f-=64}}});var jy=w((EU,Vy)=>{var Jr=be();$e();Ci();Fy();var Ky=Vy.exports=Jr.pkcs1=Jr.pkcs1||{};Ky.encode_rsa_oaep=function(t,e,r){var n,i,s,o;typeof r=="string"?(n=r,i=arguments[3]||void 0,s=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,s=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md)),s?s.start():s=Jr.md.sha1.create(),o||(o=s);var a=Math.ceil(t.n.bitLength()/8),c=a-2*s.digestLength-2;if(e.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=e.length,u.maxLength=c,u}n||(n=""),s.update(n,"raw");for(var l=s.digest(),f="",d=c-e.length,p=0;p<d;p++)f+="\0";var h=l.getBytes()+f+""+e;if(!i)i=Jr.random.getBytes(s.digestLength);else if(i.length!==s.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=s.digestLength,u}var g=Sc(i,a-s.digestLength-1,o),m=Jr.util.xorBytes(h,g,h.length),x=Sc(m,s.digestLength,o),R=Jr.util.xorBytes(i,x,i.length);return"\0"+R+m};Ky.decode_rsa_oaep=function(t,e,r){var n,i,s;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md));var o=Math.ceil(t.n.bitLength()/8);if(e.length!==o){var m=new Error("RSAES-OAEP encoded message length is invalid.");throw m.length=e.length,m.expectedLength=o,m}if(i===void 0?i=Jr.md.sha1.create():i.start(),s||(s=i),o<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=e.charAt(0),u=e.substring(1,i.digestLength+1),l=e.substring(1+i.digestLength),f=Sc(l,i.digestLength,s),d=Jr.util.xorBytes(u,f,u.length),p=Sc(d,o-i.digestLength-1,s),h=Jr.util.xorBytes(l,p,l.length),g=h.substring(0,i.digestLength),m=c!=="\0",x=0;x<i.digestLength;++x)m|=a.charAt(x)!==g.charAt(x);for(var R=1,L=i.digestLength,H=i.digestLength;H<h.length;H++){var q=h.charCodeAt(H),k=q&1^1,J=R?65534:0;m|=q&J,R=R&k,L+=R}if(m||h.charCodeAt(L)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(L+1)};function Sc(t,e,r){r||(r=Jr.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),s=0;s<i;++s){var o=String.fromCharCode(s>>24&255,s>>16&255,s>>8&255,s&255);r.start(),r.update(t+o),n+=r.digest().getBytes()}return n.substring(0,e)}});var $y=w((wU,Xl)=>{var zn=be();$e();xc();Ci();(function(){if(zn.prime){Xl.exports=zn.prime;return}var t=Xl.exports=zn.prime=zn.prime||{},e=zn.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(f,d){return f|d};t.generateProbablePrime=function(f,d,p){typeof d=="function"&&(p=d,d={}),d=d||{};var h=d.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var g=d.prng||zn.random,m={nextBytes:function(x){for(var R=g.getBytesSync(x.length),L=0;L<x.length;++L)x[L]=R.charCodeAt(L)}};if(h.name==="PRIMEINC")return s(f,m,h.options,p);throw new Error("Invalid prime generation algorithm: "+h.name)};function s(f,d,p,h){return"workers"in p?c(f,d,p,h):o(f,d,p,h)}function o(f,d,p,h){var g=u(f,d),m=0,x=l(g.bitLength());"millerRabinTests"in p&&(x=p.millerRabinTests);var R=10;"maxBlockTime"in p&&(R=p.maxBlockTime),a(g,f,d,m,x,R,h)}function a(f,d,p,h,g,m,x){var R=+new Date;do{if(f.bitLength()>d&&(f=u(d,p)),f.isProbablePrime(g))return x(null,f);f.dAddOffset(r[h++%8],0)}while(m<0||+new Date-R<m);zn.util.setImmediate(function(){a(f,d,p,h,g,m,x)})}function c(f,d,p,h){if(typeof Worker=="undefined")return o(f,d,p,h);var g=u(f,d),m=p.workers,x=p.workLoad||100,R=x*30/8,L=p.workerScript||"forge/prime.worker.js";if(m===-1)return zn.util.estimateCores(function(q,k){q&&(k=2),m=k-1,H()});H();function H(){m=Math.max(1,m);for(var q=[],k=0;k<m;++k)q[k]=new Worker(L);for(var J=m,k=0;k<m;++k)q[k].addEventListener("message",j);var ie=!1;function j(we){if(!ie){--J;var le=we.data;if(le.found){for(var ye=0;ye<q.length;++ye)q[ye].terminate();return ie=!0,h(null,new e(le.prime,16))}g.bitLength()>f&&(g=u(f,d));var nt=g.toString(16);we.target.postMessage({hex:nt,workLoad:x}),g.dAddOffset(R,0)}}}}function u(f,d){var p=new e(f,d),h=f-1;return p.testBit(h)||p.bitwiseTo(e.ONE.shiftLeft(h),i,p),p.dAddOffset(31-p.mod(n).byteValue(),0),p}function l(f){return f<=100?27:f<=150?18:f<=200?15:f<=250?12:f<=300?9:f<=350?8:f<=400?7:f<=500?6:f<=600?5:f<=800?4:f<=1250?3:2}})()});var Ho=w((_U,Xy)=>{var he=be();jn();xc();Ss();jy();$y();Ci();$e();typeof Se=="undefined"&&(Se=he.jsbn.BigInteger);var Se,Zl=he.util.isNodejs?Ts():null,D=he.asn1,yr=he.util;he.pki=he.pki||{};Xy.exports=he.pki.rsa=he.rsa=he.rsa||{};var pe=he.pki,F4=[6,4,2,4,2,4,6,2],K4={name:"PrivateKeyInfo",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:D.Class.UNIVERSAL,type:D.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:D.Class.UNIVERSAL,type:D.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},V4={name:"RSAPrivateKey",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},j4={name:"RSAPublicKey",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},$4=he.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:D.Class.UNIVERSAL,type:D.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:D.Class.UNIVERSAL,type:D.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},H4=function(t){var e;if(t.algorithm in pe.oids)e=pe.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=D.oidToDer(e).getBytes(),i=D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[]),s=D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[]);s.value.push(D.create(D.Class.UNIVERSAL,D.Type.OID,!1,n)),s.value.push(D.create(D.Class.UNIVERSAL,D.Type.NULL,!1,""));var o=D.create(D.Class.UNIVERSAL,D.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(s),i.value.push(o),D.toDer(i).getBytes()},Hy=function(t,e,r){if(r)return t.modPow(e.e,e.n);if(!e.p||!e.q)return t.modPow(e.d,e.n);e.dP||(e.dP=e.d.mod(e.p.subtract(Se.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(Se.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new Se(he.util.bytesToHex(he.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(Se.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),s=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(s)<0;)i=i.add(e.p);var o=i.subtract(s).multiply(e.qInv).mod(e.p).multiply(e.q).add(s);return o=o.multiply(n.modInverse(e.n)).mod(e.n),o};pe.rsa.encrypt=function(t,e,r){var n=r,i,s=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=zy(t,e,r)):(i=he.util.createBuffer(),i.putBytes(t));for(var o=new Se(i.toHex(),16),a=Hy(o,e,n),c=a.toString(16),u=he.util.createBuffer(),l=s-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(he.util.hexToBytes(c)),u.getBytes()};pe.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=t.length,s.expected=i,s}var o=new Se(he.util.createBuffer(t).toHex(),16);if(o.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Hy(o,e,r),c=a.toString(16),u=he.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(he.util.hexToBytes(c)),n!==!1?Ac(u.getBytes(),e,r):u.getBytes()};pe.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||he.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},s=r.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:t,rng:i,eInt:e||65537,e:new Se(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},o.e.fromInt(o.eInt);else throw new Error("Invalid key generation algorithm: "+s);return o};pe.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new Se(null);r.fromInt(30);for(var n=0,i=function(f,d){return f|d},s=+new Date,o,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var c=t.p===null?t.pBits:t.qBits,u=c-1;t.pqState===0?(t.num=new Se(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(Se.ONE.shiftLeft(u),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>c?t.pqState=0:t.num.isProbablePrime(G4(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(F4[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(Se.ONE).gcd(t.e).compareTo(Se.ONE)===0?3:0:t.pqState===3&&(t.pqState=0,t.p===null?t.p=t.num:t.q=t.num,t.p!==null&&t.q!==null&&++t.state,t.num=null)}else if(t.state===1)t.p.compareTo(t.q)<0&&(t.num=t.p,t.p=t.q,t.q=t.num),++t.state;else if(t.state===2)t.p1=t.p.subtract(Se.ONE),t.q1=t.q.subtract(Se.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(Se.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var l=t.e.modInverse(t.phi);t.keys={privateKey:pe.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:pe.rsa.setPublicKey(t.n,t.e)}}o=+new Date,a+=o-s,s=o}return t.keys!==null};pe.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!he.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(Gy("generateKeyPair"))return Zl.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:pe.privateKeyFromPem(u),publicKey:pe.publicKeyFromPem(c)})});if(Wy("generateKey")&&Wy("exportKey"))return yr.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:Qy(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return yr.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=pe.privateKeyFromAsn1(D.fromDer(he.util.createBuffer(a)));n(null,{privateKey:c,publicKey:pe.setRsaPublicKey(c.n,c.e)})}});if(Yy("generateKey")&&Yy("exportKey")){var i=yr.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:Qy(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=yr.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,d=pe.privateKeyFromAsn1(D.fromDer(he.util.createBuffer(f)));n(null,{privateKey:d,publicKey:pe.setRsaPublicKey(d.n,d.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(Gy("generateKeyPairSync")){var s=Zl.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:pe.privateKeyFromPem(s.privateKey),publicKey:pe.publicKeyFromPem(s.publicKey)}}}var o=pe.rsa.createKeyPairGenerationState(t,e,r);if(!n)return pe.rsa.stepKeyPairGenerationState(o,0),o.keys;z4(o,r,n)};pe.setRsaPublicKey=pe.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,s){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,u){return zy(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return he.pkcs1.encode_rsa_oaep(c,a,s)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var o=i.encode(n,r,!0);return pe.rsa.encrypt(o,r,!0)},r.verify=function(n,i,s){typeof s=="string"?s=s.toUpperCase():s===void 0&&(s="RSASSA-PKCS1-V1_5"),s==="RSASSA-PKCS1-V1_5"?s={verify:function(a,c){c=Ac(c,r,!0);var u=D.fromDer(c);return a===u.value[1].value}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(a,c){return c=Ac(c,r,!0),a===c}});var o=pe.rsa.decrypt(i,r,!0,!1);return s.verify(n,o,r.n.bitLength())},r};pe.setRsaPrivateKey=pe.rsa.setPrivateKey=function(t,e,r,n,i,s,o,a){var c={n:t,e,d:r,p:n,q:i,dP:s,dQ:o,qInv:a};return c.decrypt=function(u,l,f){typeof l=="string"?l=l.toUpperCase():l===void 0&&(l="RSAES-PKCS1-V1_5");var d=pe.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:Ac};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(p,h){return he.pkcs1.decode_rsa_oaep(h,p,f)}};else if(["RAW","NONE","NULL",null].indexOf(l)!==-1)l={decode:function(p){return p}};else throw new Error('Unsupported encryption scheme: "'+l+'".');return l.decode(d,c,!1)},c.sign=function(u,l){var f=!1;typeof l=="string"&&(l=l.toUpperCase()),l===void 0||l==="RSASSA-PKCS1-V1_5"?(l={encode:H4},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var d=l.encode(u,c.n.bitLength());return pe.rsa.encrypt(d,c,f)},c};pe.wrapRsaPrivateKey=function(t){return D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,D.integerToDer(0).getBytes()),D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.OID,!1,D.oidToDer(pe.oids.rsaEncryption).getBytes()),D.create(D.Class.UNIVERSAL,D.Type.NULL,!1,"")]),D.create(D.Class.UNIVERSAL,D.Type.OCTETSTRING,!1,D.toDer(t).getBytes())])};pe.privateKeyFromAsn1=function(t){var e={},r=[];if(D.validate(t,K4,e,r)&&(t=D.fromDer(he.util.createBuffer(e.privateKey))),e={},r=[],!D.validate(t,V4,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,s,o,a,c,u,l,f;return i=he.util.createBuffer(e.privateKeyModulus).toHex(),s=he.util.createBuffer(e.privateKeyPublicExponent).toHex(),o=he.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=he.util.createBuffer(e.privateKeyPrime1).toHex(),c=he.util.createBuffer(e.privateKeyPrime2).toHex(),u=he.util.createBuffer(e.privateKeyExponent1).toHex(),l=he.util.createBuffer(e.privateKeyExponent2).toHex(),f=he.util.createBuffer(e.privateKeyCoefficient).toHex(),pe.setRsaPrivateKey(new Se(i,16),new Se(s,16),new Se(o,16),new Se(a,16),new Se(c,16),new Se(u,16),new Se(l,16),new Se(f,16))};pe.privateKeyToAsn1=pe.privateKeyToRSAPrivateKey=function(t){return D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,D.integerToDer(0).getBytes()),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,en(t.n)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,en(t.e)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,en(t.d)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,en(t.p)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,en(t.q)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,en(t.dP)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,en(t.dQ)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,en(t.qInv))])};pe.publicKeyFromAsn1=function(t){var e={},r=[];if(D.validate(t,$4,e,r)){var n=D.derToOid(e.publicKeyOid);if(n!==pe.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!D.validate(t,j4,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var s=he.util.createBuffer(e.publicKeyModulus).toHex(),o=he.util.createBuffer(e.publicKeyExponent).toHex();return pe.setRsaPublicKey(new Se(s,16),new Se(o,16))};pe.publicKeyToAsn1=pe.publicKeyToSubjectPublicKeyInfo=function(t){return D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.OID,!1,D.oidToDer(pe.oids.rsaEncryption).getBytes()),D.create(D.Class.UNIVERSAL,D.Type.NULL,!1,"")]),D.create(D.Class.UNIVERSAL,D.Type.BITSTRING,!1,[pe.publicKeyToRSAPublicKey(t)])])};pe.publicKeyToRSAPublicKey=function(t){return D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,en(t.n)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,en(t.e))])};function zy(t,e,r){var n=he.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=t.length,s.max=i-11,s}n.putByte(0),n.putByte(r);var o=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<o;++c)n.putByte(a)}else for(;o>0;){for(var u=0,l=he.random.getBytes(o),c=0;c<o;++c)a=l.charCodeAt(c),a===0?++u:n.putByte(a);o=u}return n.putByte(0),n.putBytes(t),n}function Ac(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),s=he.util.createBuffer(t),o=s.getByte(),a=s.getByte();if(o!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n=="undefined")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(s.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;s.length()>1;){if(s.getByte()!==255){--s.read;break}++c}else if(a===2)for(c=0;s.length()>1;){if(s.getByte()===0){--s.read;break}++c}var l=s.getByte();if(l!==0||c!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function z4(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){s(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return o(a,t.q);s(t.qBits,o)})}function s(a,c){he.prime.generateProbablePrime(a,n,c)}function o(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var u=t.p;t.p=t.q,t.q=u}if(t.p.subtract(Se.ONE).gcd(t.e).compareTo(Se.ONE)!==0){t.p=null,i();return}if(t.q.subtract(Se.ONE).gcd(t.e).compareTo(Se.ONE)!==0){t.q=null,s(t.qBits,o);return}if(t.p1=t.p.subtract(Se.ONE),t.q1=t.q.subtract(Se.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(Se.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,s(t.qBits,o);return}var l=t.e.modInverse(t.phi);t.keys={privateKey:pe.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:pe.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function en(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=he.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&(r.charCodeAt(1)&128)==0||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)==128)?r.substr(1):r}function G4(t){return t<=100?27:t<=150?18:t<=200?15:t<=250?12:t<=300?9:t<=350?8:t<=400?7:t<=500?6:t<=600?5:t<=800?4:t<=1250?3:2}function Gy(t){return he.util.isNodejs&&typeof Zl[t]=="function"}function Wy(t){return typeof yr.globalScope!="undefined"&&typeof yr.globalScope.crypto=="object"&&typeof yr.globalScope.crypto.subtle=="object"&&typeof yr.globalScope.crypto.subtle[t]=="function"}function Yy(t){return typeof yr.globalScope!="undefined"&&typeof yr.globalScope.msCrypto=="object"&&typeof yr.globalScope.msCrypto.subtle=="object"&&typeof yr.globalScope.msCrypto.subtle[t]=="function"}function Qy(t){for(var e=he.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var Jl=w((xU,rg)=>{var te=be();Is();jn();yc();$n();Ss();jl();bc();Ci();Iy();Ho();$e();typeof Zy=="undefined"&&(Zy=te.jsbn.BigInteger);var Zy,M=te.asn1,me=te.pki=te.pki||{};rg.exports=me.pbe=te.pbe=te.pbe||{};var Ri=me.oids,W4={name:"EncryptedPrivateKeyInfo",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:M.Class.UNIVERSAL,type:M.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:M.Class.UNIVERSAL,type:M.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},Y4={name:"PBES2Algorithms",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:M.Class.UNIVERSAL,type:M.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:M.Class.UNIVERSAL,type:M.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:M.Class.UNIVERSAL,type:M.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:M.Class.UNIVERSAL,type:M.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:M.Class.UNIVERSAL,type:M.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:M.Class.UNIVERSAL,type:M.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:M.Class.UNIVERSAL,type:M.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Q4={name:"pkcs-12PbeParams",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:M.Class.UNIVERSAL,type:M.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:M.Class.UNIVERSAL,type:M.Type.INTEGER,constructed:!1,capture:"iterations"}]};me.encryptPrivateKeyInfo=function(t,e,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=te.random.getBytesSync(r.saltSize),i=r.count,s=M.integerToDer(i),o,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,l,f;switch(r.algorithm){case"aes128":o=16,u=16,l=Ri["aes128-CBC"],f=te.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,l=Ri["aes192-CBC"],f=te.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,l=Ri["aes256-CBC"],f=te.aes.createEncryptionCipher;break;case"des":o=8,u=8,l=Ri.desCBC,f=te.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var p="hmacWith"+r.prfAlgorithm.toUpperCase(),h=tg(p),g=te.pkcs5.pbkdf2(e,n,i,o,h),m=te.random.getBytesSync(u),x=f(g);x.start(m),x.update(M.toDer(t)),x.finish(),c=x.output.getBytes();var R=X4(n,s,o,p);a=M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OID,!1,M.oidToDer(Ri.pkcs5PBES2).getBytes()),M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OID,!1,M.oidToDer(Ri.pkcs5PBKDF2).getBytes()),R]),M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OID,!1,M.oidToDer(l).getBytes()),M.create(M.Class.UNIVERSAL,M.Type.OCTETSTRING,!1,m)])])])}else if(r.algorithm==="3des"){o=24;var L=new te.util.ByteBuffer(n),g=me.pbe.generatePkcs12Key(e,L,1,i,o),m=me.pbe.generatePkcs12Key(e,L,2,i,o),x=te.des.createEncryptionCipher(g);x.start(m),x.update(M.toDer(t)),x.finish(),c=x.output.getBytes(),a=M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OID,!1,M.oidToDer(Ri["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OCTETSTRING,!1,n),M.create(M.Class.UNIVERSAL,M.Type.INTEGER,!1,s.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var H=M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[a,M.create(M.Class.UNIVERSAL,M.Type.OCTETSTRING,!1,c)]);return H};me.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!M.validate(t,W4,n,i)){var s=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=M.derToOid(n.encryptionOid),a=me.pbe.getCipher(o,n.encryptionParams,e),c=te.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=M.fromDer(a.output)),r};me.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:M.toDer(t).getBytes()};return te.pem.encode(r,{maxline:e})};me.encryptedPrivateKeyFromPem=function(t){var e=te.pem.decode(t)[0];if(e.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return M.fromDer(e.body)};me.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=me.wrapRsaPrivateKey(me.privateKeyToAsn1(t));return n=me.encryptPrivateKeyInfo(n,e,r),me.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=te.random.getBytesSync(16),a=te.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=te.random.getBytesSync(16),a=te.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=te.random.getBytesSync(16),a=te.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=te.random.getBytesSync(8),a=te.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=te.random.getBytesSync(8),a=te.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=te.pbe.opensslDeriveBytes(e,s.substr(0,8),o),l=a(u);l.start(s),l.update(M.toDer(me.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:te.util.bytesToHex(s).toUpperCase()},body:l.output.getBytes()};return te.pem.encode(f)};me.decryptRsaPrivateKey=function(t,e){var r=null,n=te.pem.decode(t)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var s,o;switch(n.dekInfo.algorithm){case"DES-CBC":s=8,o=te.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=te.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=te.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=te.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=te.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(f){return te.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":s=8,o=function(f){return te.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":s=16,o=function(f){return te.rc2.createDecryptionCipher(f,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=te.util.hexToBytes(n.dekInfo.parameters),c=te.pbe.opensslDeriveBytes(e,a.substr(0,8),s),u=o(c);if(u.start(a),u.update(te.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=me.decryptPrivateKeyInfo(M.fromDer(r),e):r=M.fromDer(r),r!==null&&(r=me.privateKeyFromAsn1(r)),r};me.pbe.generatePkcs12Key=function(t,e,r,n,i,s){var o,a;if(typeof s=="undefined"||s===null){if(!("sha1"in te.md))throw new Error('"sha1" hash algorithm unavailable.');s=te.md.sha1.create()}var c=s.digestLength,u=s.blockLength,l=new te.util.ByteBuffer,f=new te.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)f.putInt16(t.charCodeAt(a));f.putInt16(0)}var d=f.length(),p=e.length(),h=new te.util.ByteBuffer;h.fillWithByte(r,u);var g=u*Math.ceil(p/u),m=new te.util.ByteBuffer;for(a=0;a<g;a++)m.putByte(e.at(a%p));var x=u*Math.ceil(d/u),R=new te.util.ByteBuffer;for(a=0;a<x;a++)R.putByte(f.at(a%d));var L=m;L.putBuffer(R);for(var H=Math.ceil(i/c),q=1;q<=H;q++){var k=new te.util.ByteBuffer;k.putBytes(h.bytes()),k.putBytes(L.bytes());for(var J=0;J<n;J++)s.start(),s.update(k.getBytes()),k=s.digest();var ie=new te.util.ByteBuffer;for(a=0;a<u;a++)ie.putByte(k.at(a%c));var j=Math.ceil(p/u)+Math.ceil(d/u),we=new te.util.ByteBuffer;for(o=0;o<j;o++){var le=new te.util.ByteBuffer(L.getBytes(u)),ye=511;for(a=ie.length()-1;a>=0;a--)ye=ye>>8,ye+=ie.at(a)+le.at(a),le.setAt(a,ye&255);we.putBuffer(le)}L=we,l.putBuffer(k)}return l.truncate(l.length()-i),l};me.pbe.getCipher=function(t,e,r){switch(t){case me.oids.pkcs5PBES2:return me.pbe.getCipherForPBES2(t,e,r);case me.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case me.oids["pbewithSHAAnd40BitRC2-CBC"]:return me.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};me.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!M.validate(e,Y4,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}if(t=M.derToOid(n.kdfOid),t!==me.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=t,s.supportedOids=["pkcs5PBKDF2"],s}if(t=M.derToOid(n.encOid),t!==me.oids["aes128-CBC"]&&t!==me.oids["aes192-CBC"]&&t!==me.oids["aes256-CBC"]&&t!==me.oids["des-EDE3-CBC"]&&t!==me.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=t,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var o=n.kdfSalt,a=te.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(me.oids[t]){case"aes128-CBC":c=16,u=te.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=te.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=te.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=te.des.createDecryptionCipher;break;case"desCBC":c=8,u=te.des.createDecryptionCipher;break}var l=eg(n.prfOid),f=te.pkcs5.pbkdf2(r,o,a,c,l),d=n.encIv,p=u(f);return p.start(d),p};me.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!M.validate(e,Q4,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=te.util.createBuffer(n.salt),a=te.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(t){case me.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=te.des.startDecrypting;break;case me.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(g,m){var x=te.rc2.createDecryptionCipher(g,40);return x.start(m,null),x};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=t,s}var f=eg(n.prfOid),d=me.pbe.generatePkcs12Key(r,o,1,a,c,f);f.start();var p=me.pbe.generatePkcs12Key(r,o,2,a,u,f);return l(d,p)};me.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n=="undefined"||n===null){if(!("md5"in te.md))throw new Error('"md5" hash algorithm unavailable.');n=te.md.md5.create()}e===null&&(e="");for(var i=[Jy(n,t+e)],s=16,o=1;s<r;++o,s+=16)i.push(Jy(n,i[o-1]+t+e));return i.join("").substr(0,r)};function Jy(t,e){return t.start().update(e).digest().getBytes()}function eg(t){var e;if(!t)e="hmacWithSHA1";else if(e=me.oids[M.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return tg(e)}function tg(t){var e=te.md;switch(t){case"hmacWithSHA224":e=te.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":t=t.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!e||!(t in e))throw new Error("Unknown hash algorithm: "+t);return e[t].create()}function X4(t,e,r,n){var i=M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OCTETSTRING,!1,t),M.create(M.Class.UNIVERSAL,M.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(M.create(M.Class.UNIVERSAL,M.Type.INTEGER,!1,te.util.hexToBytes(r.toString(16))),M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OID,!1,M.oidToDer(me.oids[n]).getBytes()),M.create(M.Class.UNIVERSAL,M.Type.NULL,!1,"")])),i}});var ef={};gt(ef,{identity:()=>Z4});var Z4,ng=xe(()=>{Hr();On();Z4=Za({prefix:"\0",name:"identity",encode:t=>k0(t),decode:t=>L0(t)})});var tf={};gt(tf,{base2:()=>J4});var J4,ig=xe(()=>{Hr();J4=ct({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1})});var rf={};gt(rf,{base8:()=>eB});var eB,sg=xe(()=>{Hr();eB=ct({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3})});var nf={};gt(nf,{base10:()=>tB});var tB,og=xe(()=>{Hr();tB=Ln({prefix:"9",name:"base10",alphabet:"0123456789"})});var sf,ag,of=xe(()=>{bi();sf=({name:t,code:e,encode:r})=>new ag(t,e,r),ag=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Dn(this.code,r):r.then(n=>Dn(this.code,n))}else throw Error("Unknown type, must be binary type")}}});var Gn={};gt(Gn,{sha256:()=>rB,sha512:()=>nB});var ug,rB,nB,Bi=xe(()=>{of();ug=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),rB=sf({name:"sha2-256",code:18,encode:ug("SHA-256")}),nB=sf({name:"sha2-512",code:19,encode:ug("SHA-512")})});var zo={};gt(zo,{identity:()=>oB});var lg,iB,fg,sB,oB,Cc=xe(()=>{On();bi();lg=0,iB="identity",fg=yn,sB=t=>Dn(lg,fg(t)),oB={code:lg,name:iB,encode:fg,digest:sB}});var dg=xe(()=>{On()});var DU,LU,hg=xe(()=>{DU=new TextEncoder,LU=new TextDecoder});var pg=xe(()=>{ws();Xa();On();of();bi()});var af,MU,yg=xe(()=>{ng();ig();sg();og();ml();wi();gl();qn();qo();Bi();Cc();dg();hg();pg();af={...ef,...tf,...rf,...nf,...rc,...Ei,...tc,...kn,..._s},MU={...Gn,...zo}});function gg(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var mg,cf,uB,Ic,uf=xe(()=>{yg();mg=gg("utf8","u",t=>{let e=new TextDecoder("utf8");return"u"+e.decode(t)},t=>new TextEncoder().encode(t.substring(1))),cf=gg("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=new Uint8Array(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),uB={utf8:mg,"utf-8":mg,hex:af.base16,latin1:cf,ascii:cf,binary:cf,...af},Ic=uB});var Nt={};gt(Nt,{fromString:()=>lf});function lf(t,e="utf8"){let r=Ic[e];if(!r)throw new Error(`Unsupported encoding "${e}"`);return r.decoder.decode(`${r.prefix}${t}`)}var It=xe(()=>{uf()});var Wn={};gt(Wn,{concat:()=>lB});function lB(t,e){e||(e=t.reduce((i,s)=>i+s.length,0));let r=new Uint8Array(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return r}var Yn=xe(()=>{});var Go=w(vg=>{"use strict";vg.get=(t=globalThis)=>{let e=t.crypto;if(!e||!e.subtle)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-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}});var ff=w((HU,Eg)=>{"use strict";var{concat:fB}=(Yn(),Wn),{fromString:bg}=(It(),Nt),dB=Go();function hB({algorithm:t="AES-GCM",nonceLength:e=12,keyLength:r=16,digest:n="SHA-256",saltLength:i=16,iterations:s=32767}={}){let o=dB.get();r*=8;async function a(u,l){let f=o.getRandomValues(new Uint8Array(i)),d=o.getRandomValues(new Uint8Array(e)),p={name:t,iv:d},h={name:"PBKDF2",salt:f,iterations:s,hash:{name:n}},g=await o.subtle.importKey("raw",bg(l),{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),m=await o.subtle.deriveKey(h,g,{name:t,length:r},!0,["encrypt"]),x=await o.subtle.encrypt(p,m,u);return fB([f,p.iv,new Uint8Array(x)])}async function c(u,l){let f=u.slice(0,i),d=u.slice(i,i+e),p=u.slice(i+e),h={name:t,iv:d},g={name:"PBKDF2",salt:f,iterations:s,hash:{name:n}},m=await o.subtle.importKey("raw",bg(l),{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),x=await o.subtle.deriveKey(g,m,{name:t,length:r},!0,["decrypt"]),R=await o.subtle.decrypt(h,x,p);return new Uint8Array(R)}return{encrypt:a,decrypt:c}}Eg.exports={create:hB}});var _g=w((zU,wg)=>{"use strict";var{base64:pB}=(qo(),_s),yB=ff();wg.exports={import:async function(t,e){let r=pB.decode(t);return await yB.create().decrypt(r,e)}}});var gr={};gt(gr,{equals:()=>gB});function gB(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var mr=xe(()=>{});var Ot={};gt(Ot,{toString:()=>df});function df(t,e="utf8"){let r=Ic[e];if(!r)throw new Error(`Unsupported encoding "${e}"`);return r.encoder.encode(t).substring(1)}var Tt=xe(()=>{uf()});var yf=w((WU,Cg)=>{var Ye=be();$n();$e();var Wo=Cg.exports=Ye.sha512=Ye.sha512||{};Ye.md.sha512=Ye.md.algorithms.sha512=Wo;var xg=Ye.sha384=Ye.sha512.sha384=Ye.sha512.sha384||{};xg.create=function(){return Wo.create("SHA-384")};Ye.md.sha384=Ye.md.algorithms.sha384=xg;Ye.sha512.sha256=Ye.sha512.sha256||{create:function(){return Wo.create("SHA-512/256")}};Ye.md["sha512/256"]=Ye.md.algorithms["sha512/256"]=Ye.sha512.sha256;Ye.sha512.sha224=Ye.sha512.sha224||{create:function(){return Wo.create("SHA-512/224")}};Ye.md["sha512/224"]=Ye.md.algorithms["sha512/224"]=Ye.sha512.sha224;Wo.create=function(t){if(Sg||mB(),typeof t=="undefined"&&(t="SHA-512"),!(t in Pi))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=Pi[t],r=null,n=Ye.util.createBuffer(),i=new Array(80),s=0;s<80;++s)i[s]=new Array(2);var o=64;switch(t){case"SHA-384":o=48;break;case"SHA-512/256":o=32;break;case"SHA-512/224":o=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:o,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=Ye.util.createBuffer(),r=new Array(e.length);for(var u=0;u<e.length;++u)r[u]=e[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=Ye.util.encodeUtf8(c));var l=c.length;a.messageLength+=l,l=[l/4294967296>>>0,l>>>0];for(var f=a.fullMessageLength.length-1;f>=0;--f)a.fullMessageLength[f]+=l[1],l[1]=l[0]+(a.fullMessageLength[f]/4294967296>>>0),a.fullMessageLength[f]=a.fullMessageLength[f]>>>0,l[0]=l[1]/4294967296>>>0;return n.putBytes(c),Ag(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=Ye.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(hf.substr(0,a.blockLength-l));for(var f,d,p=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)f=a.fullMessageLength[h+1]*8,d=f/4294967296>>>0,p+=d,c.putInt32(p>>>0),p=f>>>0;c.putInt32(p);for(var g=new Array(r.length),h=0;h<r.length;++h)g[h]=r[h].slice(0);Ag(g,i,c);var m=Ye.util.createBuffer(),x;t==="SHA-512"?x=g.length:t==="SHA-384"?x=g.length-2:x=g.length-4;for(var h=0;h<x;++h)m.putInt32(g[h][0]),(h!==x-1||t!=="SHA-512/224")&&m.putInt32(g[h][1]);return m},a};var hf=null,Sg=!1,pf=null,Pi=null;function mB(){hf=String.fromCharCode(128),hf+=Ye.util.fillString(String.fromCharCode(0),128),pf=[[1116352408,3609767458],[1899447441,602891725],[3049323471,3964484399],[3921009573,2173295548],[961987163,4081628472],[1508970993,3053834265],[2453635748,2937671579],[2870763221,3664609560],[3624381080,2734883394],[310598401,1164996542],[607225278,1323610764],[1426881987,3590304994],[1925078388,4068182383],[2162078206,991336113],[2614888103,633803317],[3248222580,3479774868],[3835390401,2666613458],[4022224774,944711139],[264347078,2341262773],[604807628,2007800933],[770255983,1495990901],[1249150122,1856431235],[1555081692,3175218132],[1996064986,2198950837],[2554220882,3999719339],[2821834349,766784016],[2952996808,2566594879],[3210313671,3203337956],[3336571891,1034457026],[3584528711,2466948901],[113926993,3758326383],[338241895,168717936],[666307205,1188179964],[773529912,1546045734],[1294757372,1522805485],[1396182291,2643833823],[1695183700,2343527390],[1986661051,1014477480],[2177026350,1206759142],[2456956037,344077627],[2730485921,1290863460],[2820302411,3158454273],[3259730800,3505952657],[3345764771,106217008],[3516065817,3606008344],[3600352804,1432725776],[4094571909,1467031594],[275423344,851169720],[430227734,3100823752],[506948616,1363258195],[659060556,3750685593],[883997877,3785050280],[958139571,3318307427],[1322822218,3812723403],[1537002063,2003034995],[1747873779,3602036899],[1955562222,1575990012],[2024104815,1125592928],[2227730452,2716904306],[2361852424,442776044],[2428436474,593698344],[2756734187,3733110249],[3204031479,2999351573],[3329325298,3815920427],[3391569614,3928383900],[3515267271,566280711],[3940187606,3454069534],[4118630271,4000239992],[116418474,1914138554],[174292421,2731055270],[289380356,3203993006],[460393269,320620315],[685471733,587496836],[852142971,1086792851],[1017036298,365543100],[1126000580,2618297676],[1288033470,3409855158],[1501505948,4234509866],[1607167915,987167468],[1816402316,1246189591]],Pi={},Pi["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Pi["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Pi["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Pi["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Sg=!0}function Ag(t,e,r){for(var n,i,s,o,a,c,u,l,f,d,p,h,g,m,x,R,L,H,q,k,J,ie,j,we,le,ye,nt,it,Ie,Fe,ne,tr,Wt,hn,Yt,pn=r.length();pn>=128;){for(Ie=0;Ie<16;++Ie)e[Ie][0]=r.getInt32()>>>0,e[Ie][1]=r.getInt32()>>>0;for(;Ie<80;++Ie)tr=e[Ie-2],Fe=tr[0],ne=tr[1],n=((Fe>>>19|ne<<13)^(ne>>>29|Fe<<3)^Fe>>>6)>>>0,i=((Fe<<13|ne>>>19)^(ne<<3|Fe>>>29)^(Fe<<26|ne>>>6))>>>0,hn=e[Ie-15],Fe=hn[0],ne=hn[1],s=((Fe>>>1|ne<<31)^(Fe>>>8|ne<<24)^Fe>>>7)>>>0,o=((Fe<<31|ne>>>1)^(Fe<<24|ne>>>8)^(Fe<<25|ne>>>7))>>>0,Wt=e[Ie-7],Yt=e[Ie-16],ne=i+Wt[1]+o+Yt[1],e[Ie][0]=n+Wt[0]+s+Yt[0]+(ne/4294967296>>>0)>>>0,e[Ie][1]=ne>>>0;for(g=t[0][0],m=t[0][1],x=t[1][0],R=t[1][1],L=t[2][0],H=t[2][1],q=t[3][0],k=t[3][1],J=t[4][0],ie=t[4][1],j=t[5][0],we=t[5][1],le=t[6][0],ye=t[6][1],nt=t[7][0],it=t[7][1],Ie=0;Ie<80;++Ie)u=((J>>>14|ie<<18)^(J>>>18|ie<<14)^(ie>>>9|J<<23))>>>0,l=((J<<18|ie>>>14)^(J<<14|ie>>>18)^(ie<<23|J>>>9))>>>0,f=(le^J&(j^le))>>>0,d=(ye^ie&(we^ye))>>>0,a=((g>>>28|m<<4)^(m>>>2|g<<30)^(m>>>7|g<<25))>>>0,c=((g<<4|m>>>28)^(m<<30|g>>>2)^(m<<25|g>>>7))>>>0,p=(g&x|L&(g^x))>>>0,h=(m&R|H&(m^R))>>>0,ne=it+l+d+pf[Ie][1]+e[Ie][1],n=nt+u+f+pf[Ie][0]+e[Ie][0]+(ne/4294967296>>>0)>>>0,i=ne>>>0,ne=c+h,s=a+p+(ne/4294967296>>>0)>>>0,o=ne>>>0,nt=le,it=ye,le=j,ye=we,j=J,we=ie,ne=k+i,J=q+n+(ne/4294967296>>>0)>>>0,ie=ne>>>0,q=L,k=H,L=x,H=R,x=g,R=m,ne=i+o,g=n+s+(ne/4294967296>>>0)>>>0,m=ne>>>0;ne=t[0][1]+m,t[0][0]=t[0][0]+g+(ne/4294967296>>>0)>>>0,t[0][1]=ne>>>0,ne=t[1][1]+R,t[1][0]=t[1][0]+x+(ne/4294967296>>>0)>>>0,t[1][1]=ne>>>0,ne=t[2][1]+H,t[2][0]=t[2][0]+L+(ne/4294967296>>>0)>>>0,t[2][1]=ne>>>0,ne=t[3][1]+k,t[3][0]=t[3][0]+q+(ne/4294967296>>>0)>>>0,t[3][1]=ne>>>0,ne=t[4][1]+ie,t[4][0]=t[4][0]+J+(ne/4294967296>>>0)>>>0,t[4][1]=ne>>>0,ne=t[5][1]+we,t[5][0]=t[5][0]+j+(ne/4294967296>>>0)>>>0,t[5][1]=ne>>>0,ne=t[6][1]+ye,t[6][0]=t[6][0]+le+(ne/4294967296>>>0)>>>0,t[6][1]=ne>>>0,ne=t[7][1]+it,t[7][0]=t[7][0]+nt+(ne/4294967296>>>0)>>>0,t[7][1]=ne>>>0,pn-=128}}});var Tg=w((YU,Ig)=>{"use strict";var Tc=65536;function vB(t){let e=new Uint8Array(t),r=0;if(t>0)if(t>Tc)for(;r<t;)r+Tc>t?(crypto.getRandomValues(e.subarray(r,r+(t-r))),r+=t-r):(crypto.getRandomValues(e.subarray(r,r+Tc)),r+=Tc);else crypto.getRandomValues(e);return e}Ig.exports=vB});var Rc=w((QU,Rg)=>{"use strict";var bB=Tg(),EB=de();Rg.exports=function(t){if(isNaN(t)||t<=0)throw EB(new Error("random bytes length must be a Number bigger than 0"),"ERR_INVALID_LENGTH");return bB(t)}});var Bc=w(Yo=>{"use strict";$e();xc();var wB=be(),{fromString:_B}=(It(),Nt),{toString:Bg}=(Tt(),Ot),{concat:Pg}=(Yn(),Wn);Yo.bigIntegerToUintBase64url=(t,e)=>{let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.slice(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Pg([new Uint8Array(e-r.length),r])}return Bg(r,"base64url")};Yo.base64urlToBigInteger=t=>{let e=Yo.base64urlToBuffer(t);return new wB.jsbn.BigInteger(Bg(e,"base16"),16)};Yo.base64urlToBuffer=(t,e)=>{let r=_B(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Pg([new Uint8Array(e-r.length),r])}return r}});var Dg=w(Qo=>{"use strict";jn();Ho();var Qn=be(),{bigIntegerToUintBase64url:tn,base64urlToBigInteger:rn}=Bc(),{fromString:Ng}=(It(),Nt),{toString:Og}=(Tt(),Ot);Qo.pkcs1ToJwk=function(t){let e=Qn.asn1.fromDer(Og(t,"ascii")),r=Qn.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:tn(r.n),e:tn(r.e),d:tn(r.d),p:tn(r.p),q:tn(r.q),dp:tn(r.dP),dq:tn(r.dQ),qi:tn(r.qInv),alg:"RS256",kid:"2011-04-29"}};Qo.jwkToPkcs1=function(t){let e=Qn.pki.privateKeyToAsn1({n:rn(t.n),e:rn(t.e),d:rn(t.d),p:rn(t.p),q:rn(t.q),dP:rn(t.dp),dQ:rn(t.dq),qInv:rn(t.qi)});return Ng(Qn.asn1.toDer(e).getBytes(),"ascii")};Qo.pkixToJwk=function(t){let e=Qn.asn1.fromDer(Og(t,"ascii")),r=Qn.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:tn(r.n),e:tn(r.e),alg:"RS256",kid:"2011-04-29"}};Qo.jwkToPkix=function(t){let e=Qn.pki.publicKeyToAsn1({n:rn(t.n),e:rn(t.e)});return Ng(Qn.asn1.toDer(e).getBytes(),"ascii")}});var Ug=w((JU,qg)=>{"use strict";Ho();var Lg=be(),{base64urlToBigInteger:xB}=Bc();function kg(t,e){return e.map(r=>xB(t[r]))}function SB(t){return Lg.pki.setRsaPrivateKey(...kg(t,["n","e","d","p","q","dp","dq","qi"]))}function AB(t){return Lg.pki.setRsaPublicKey(...kg(t,["n","e"]))}qg.exports={jwk2pub:AB,jwk2priv:SB}});var Kg=w(wn=>{"use strict";var En=Go(),CB=Rc(),{toString:IB}=(Tt(),Ot),{fromString:TB}=(It(),Nt);wn.utils=Dg();wn.generateKey=async function(t){let e=await En.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await Mg(e);return{privateKey:r[0],publicKey:r[1]}};wn.unmarshalPrivateKey=async function(t){let r=[await En.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await RB(t)],n=await Mg({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}};wn.getRandomValues=CB;wn.hashAndSign=async function(t,e){let r=await En.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await En.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,n.byteOffset,n.byteLength)};wn.hashAndVerify=async function(t,e,r){let n=await En.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return En.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)};function Mg(t){return Promise.all([En.get().subtle.exportKey("jwk",t.privateKey),En.get().subtle.exportKey("jwk",t.publicKey)])}function RB(t){return En.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}var{jwk2pub:BB,jwk2priv:PB}=Ug();function Fg(t,e,r,n){let i=e?BB(t):PB(t),s=IB(Uint8Array.from(r),"ascii"),o=n(s,i);return TB(o,"ascii")}wn.encrypt=function(t,e){return Fg(t,!0,e,(r,n)=>n.encrypt(r))};wn.decrypt=function(t,e){return Fg(t,!1,e,(r,n)=>n.decrypt(r))}});var Pc=w((tM,Vg)=>{"use strict";var{base64:NB}=(qo(),_s),OB=ff();Vg.exports={export:async function(t,e){let n=await OB.create().encrypt(t,e);return NB.encode(n)}}});var Gg=w((rM,zg)=>{"use strict";var{sha256:jg}=(Bi(),Gn),$g=de(),{equals:Hg}=(mr(),gr),{toString:DB}=(Tt(),Ot);yf();var Nc=be(),vr=Kg(),Oc=cc(),LB=Pc(),Dc=class{constructor(e){this._key=e}async verify(e,r){return vr.hashAndVerify(this._key,r,e)}marshal(){return vr.utils.jwkToPkix(this._key)}get bytes(){return Oc.PublicKey.encode({Type:Oc.KeyType.RSA,Data:this.marshal()}).finish()}encrypt(e){return vr.encrypt(this._key,e)}equals(e){return Hg(this.bytes,e.bytes)}async hash(){let{bytes:e}=await jg.digest(this.bytes);return e}},Xo=class{constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return vr.getRandomValues(16)}async sign(e){return vr.hashAndSign(this._key,e)}get public(){if(!this._publicKey)throw $g(new Error("public key not provided"),"ERR_PUBKEY_NOT_PROVIDED");return new Dc(this._publicKey)}decrypt(e){return vr.decrypt(this._key,e)}marshal(){return vr.utils.jwkToPkcs1(this._key)}get bytes(){return Oc.PrivateKey.encode({Type:Oc.KeyType.RSA,Data:this.marshal()}).finish()}equals(e){return Hg(this.bytes,e.bytes)}async hash(){let{bytes:e}=await jg.digest(this.bytes);return e}async id(){let e=await this.public.hash();return DB(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new Nc.util.ByteBuffer(this.marshal()),i=Nc.asn1.fromDer(n),s=Nc.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Nc.pki.encryptRsaPrivateKey(s,e,o)}else{if(r==="libp2p-key")return LB.export(this.bytes,e);throw $g(new Error(`export format '${r}' is not supported`),"ERR_INVALID_EXPORT_FORMAT")}}};async function kB(t){let e=vr.utils.pkcs1ToJwk(t),r=await vr.unmarshalPrivateKey(e);return new Xo(r.privateKey,r.publicKey)}function qB(t){let e=vr.utils.pkixToJwk(t);return new Dc(e)}async function UB(t){let e=await vr.unmarshalPrivateKey(t);return new Xo(e.privateKey,e.publicKey)}async function MB(t){let e=await vr.generateKey(t);return new Xo(e.privateKey,e.publicKey)}zg.exports={RsaPublicKey:Dc,RsaPrivateKey:Xo,unmarshalRsaPublicKey:qB,unmarshalRsaPrivateKey:kB,generateKeyPair:MB,fromJwk:UB}});var tm=w(Ue=>{"use strict";var FB=Ue&&Ue.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ue,"__esModule",{value:!0});Ue.utils=Ue.curve25519=Ue.getSharedSecret=Ue.verify=Ue.sign=Ue.getPublicKey=Ue.Signature=Ue.Point=Ue.ExtendedPoint=Ue.CURVE=void 0;var KB=FB(Ts()),ht=BigInt(0),_e=BigInt(1),Dt=BigInt(2),Wg=BigInt(255),st={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:Dt**Wg-BigInt(19),n:Dt**BigInt(252)+BigInt("27742317777372353535851937790883648493"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")};Ue.CURVE=st;var Zo=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),nM=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),VB=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),jB=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),$B=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),HB=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Ve=class{constructor(e,r,n,i){this.x=e,this.y=r,this.z=n,this.t=i}static fromAffine(e){if(!(e instanceof Ze))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return e.equals(Ze.ZERO)?Ve.ZERO:new Ve(e.x,e.y,_e,K(e.x*e.y))}static toAffineBatch(e){let r=WB(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return this.toAffineBatch(e).map(this.fromAffine)}static fromRistrettoHash(e){e=_n(e),Oi(64,e);let r=vf(e.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=vf(e.slice(32,64)),s=this.calcElligatorRistrettoMap(i);return n.add(s)}static calcElligatorRistrettoMap(e){let{d:r}=st,n=K(Zo*e*e),i=K((n+_e)*$B),s=BigInt(-1),o=K((s-r*n)*K(n+r)),{isValid:a,value:c}=Ef(i,o),u=K(c*e);Xn(u)||(u=K(-u)),a||(c=u),a||(s=n);let l=K(s*(n-_e)*HB-o),f=c*c,d=K((c+c)*o),p=K(l*VB),h=K(_e-f),g=K(_e+f);return new Ve(K(d*g),K(h*p),K(p*g),K(d*h))}static fromRistrettoBytes(e){e=_n(e),Oi(32,e);let{a:r,d:n}=st,i="ExtendedPoint.fromRistrettoBytes: Cannot convert bytes to Ristretto Point",s=vf(e);if(!YB(Jo(s,32),e)||Xn(s))throw new Error(i);let o=K(s*s),a=K(_e+r*o),c=K(_e-r*o),u=K(a*a),l=K(c*c),f=K(r*n*u-l),{isValid:d,value:p}=Zg(K(f*l)),h=K(p*c),g=K(p*h*f),m=K((s+s)*h);Xn(m)&&(m=K(-m));let x=K(a*g),R=K(m*x);if(!d||Xn(R)||x===ht)throw new Error(i);return new Ve(m,x,_e,R)}toRistrettoBytes(){let{x:e,y:r,z:n,t:i}=this,s=K(K(n+r)*K(n-r)),o=K(e*r),{value:a}=Zg(K(s*o**Dt)),c=K(a*s),u=K(a*o),l=K(c*u*i),f;if(Xn(i*l)){let p=K(r*Zo),h=K(e*Zo);e=p,r=h,f=K(c*jB)}else f=u;Xn(e*l)&&(r=K(-r));let d=K((n-r)*f);return Xn(d)&&(d=K(-d)),Jo(d,32)}equals(e){let r=this,n=e;return K(r.t*n.z)===K(n.t*r.z)}negate(){return new Ve(K(-this.x),this.y,this.z,K(-this.t))}double(){let e=this.x,r=this.y,n=this.z,{a:i}=st,s=K(e**Dt),o=K(r**Dt),a=K(Dt*n**Dt),c=K(i*s),u=K((e+r)**Dt-s-o),l=K(c+o),f=K(l-a),d=K(c-o),p=K(u*f),h=K(l*d),g=K(u*d),m=K(f*l);return new Ve(p,h,m,g)}add(e){let r=this.x,n=this.y,i=this.z,s=this.t,o=e.x,a=e.y,c=e.z,u=e.t,l=K((n-r)*(a+o)),f=K((n+r)*(a-o)),d=K(f-l);if(d===ht)return this.double();let p=K(i*Dt*u),h=K(s*Dt*c),g=K(h+p),m=K(f+l),x=K(h-p),R=K(g*d),L=K(m*x),H=K(g*x),q=K(d*m);return new Ve(R,L,q,H)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){let r=Ns(e),n=Ve.ZERO;if(this.equals(n)||r===_e)return this;let i=n,s=this;for(;r>ht;)r&_e&&(i=i.add(s)),s=s.double(),r>>=_e;return i}precomputeWindow(e){let r=256/e+1,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,r){!r&&this.equals(Ve.BASE)&&(r=Ze.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&gf.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Ve.normalizeZ(i),gf.set(r,i)));let s=Ve.ZERO,o=Ve.ZERO,a=256/n+1,c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let d=0;d<a;d++){let p=d*c,h=Number(e&u);if(e>>=f,h>c&&(h-=l,e+=_e),h===0){let g=i[p];d%2&&(g=g.negate()),o=o.add(g)}else{let g=i[p+Math.abs(h)-1];h<0&&(g=g.negate()),s=s.add(g)}}return[s,o]}multiply(e,r){let n=Ns(e);return Ve.normalizeZ(this.wNAF(n,r))[0]}toAffine(e=bf(this.z)){let r=K(this.x*e),n=K(this.y*e);return new Ze(r,n)}};Ue.ExtendedPoint=Ve;Ve.BASE=new Ve(st.Gx,st.Gy,_e,K(st.Gx*st.Gy));Ve.ZERO=new Ve(ht,_e,_e,ht);var gf=new WeakMap,Ze=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,gf.delete(this)}static fromHex(e){let{d:r,P:n}=st,i=_n(e);Oi(32,i);let s=i.slice();s[31]=i[31]&~128;let o=Ps(s);if(o>=n)throw new Error("Point.fromHex expects hex <= Fp");let a=K(o*o),c=K(a-_e),u=K(r*a+_e),{isValid:l,value:f}=Ef(c,u);if(!l)throw new Error("Point.fromHex: invalid y coordinate");let d=(f&_e)===_e;return(i[31]&128)!=0!==d&&(f=K(-f)),new Ze(f,o)}static async fromPrivateKey(e){return(await ea(e)).point}toRawBytes(){let e=Jo(this.y,32);return e[31]|=this.x&_e?128:0,e}toHex(){return mf(this.toRawBytes())}toX25519(){let{y:e}=this;return K((_e+e)*bf(_e-e))}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new Ze(K(-this.x),this.y)}add(e){return Ve.fromAffine(this).add(Ve.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Ve.fromAffine(this).multiply(e,this).toAffine()}};Ue.Point=Ze;Ze.BASE=new Ze(st.Gx,st.Gy);Ze.ZERO=new Ze(ht,_e);var Ni=class{constructor(e,r){if(this.r=e,!(e instanceof Ze))throw new Error("Expected Point instance");this.s=Ns(r)}static fromHex(e){let r=_n(e);Oi(64,r);let n=Ze.fromHex(r.slice(0,32)),i=Ps(r.slice(32,64));return new Ni(n,i)}toRawBytes(){let e=new Uint8Array(64);return e.set(this.r.toRawBytes()),e.set(Jo(this.s,32),32),e}toHex(){return mf(this.toRawBytes())}};Ue.Signature=Ni;function zB(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let s=t[n];r.set(s,i),i+=s.length}return r}var GB=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function mf(t){let e="";for(let r=0;r<t.length;r++)e+=GB[t[r]];return e}function Yg(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s))throw new Error("Invalid byte sequence");e[r]=s}return e}function Qg(t,e){let r=t.toString(16).padStart(e*2,"0");return Yg(r)}function Jo(t,e){return Qg(t,e).reverse()}function Xn(t){return(K(t)&_e)===_e}function Ps(t){if(!(t instanceof Uint8Array))throw new Error(`bytesToNumberLE: expected Uint8Array, got ${t}`);let e=ht,r=BigInt(8);for(let n=0;n<t.length;n++)e+=BigInt(t[n])<<r*BigInt(n);return e}function vf(t){return K(Ps(t)&Dt**Wg-_e)}function K(t,e=st.P){let r=t%e;return r>=ht?r:e+r}function bf(t,e=st.P){if(t===ht||e<=ht)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=K(t,e),n=e,i=ht,s=_e,o=_e,a=ht;for(;r!==ht;){let u=n/r,l=n%r,f=i-o*u,d=s-a*u;n=r,r=l,i=o,s=a,o=f,a=d}if(n!==_e)throw new Error("invert: does not exist");return K(i,e)}function WB(t,e=st.P){let r=t.length,n=new Array(r),i=_e;for(let s=0;s<r;s++)t[s]!==ht&&(n[s]=i,i=K(i*t[s],e));i=bf(i,e);for(let s=r-1;s>=0;s--){if(t[s]===ht)continue;let o=K(i*t[s],e);t[s]=K(i*n[s],e),i=o}return t}function kr(t,e){let{P:r}=st,n=t;for(;e-- >ht;)n*=n,n%=r;return n}function Xg(t){let{P:e}=st,r=BigInt(5),n=BigInt(10),i=BigInt(20),s=BigInt(40),o=BigInt(80),c=t*t%e*t%e,u=kr(c,Dt)*c%e,l=kr(u,_e)*t%e,f=kr(l,r)*l%e,d=kr(f,n)*f%e,p=kr(d,i)*d%e,h=kr(p,s)*p%e,g=kr(h,o)*h%e,m=kr(g,o)*h%e,x=kr(m,n)*f%e;return{pow_p_5_8:kr(x,Dt)*t%e,b2:c}}function Ef(t,e){let r=K(e*e*e),n=K(r*r*e),i=Xg(t*n).pow_p_5_8,s=K(t*r*i),o=K(e*s*s),a=s,c=K(s*Zo),u=o===t,l=o===K(-t),f=o===K(-t*Zo);return u&&(s=a),(l||f)&&(s=c),Xn(s)&&(s=K(-s)),{isValid:u||l,value:s}}function Zg(t){return Ef(_e,t)}async function wf(...t){let e=zB(...t),r=await Ue.utils.sha512(e),n=Ps(r);return K(n,st.n)}function YB(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function _n(t){return t instanceof Uint8Array?Uint8Array.from(t):Yg(t)}function Oi(t,e){if(e.length!==t)throw new Error(`Expected ${t} bytes`)}function Ns(t,e=st.n){if(typeof t=="number"&&t>0&&Number.isSafeInteger(t))return BigInt(t);if(typeof t=="bigint"&&ht<t&&t<e)return t;throw new TypeError("Expected valid scalar: 0 < scalar < max")}function QB(t){let e=typeof t=="bigint"||typeof t=="number"?Qg(Ns(t,Dt**BigInt(256)),32):_n(t);return Oi(32,e),e}function Jg(t){return t=_n(t),Oi(32,t),t[0]&=248,t[31]&=127,t[31]|=64,Ps(t)}async function ea(t){let e=await Ue.utils.sha512(QB(t)),r=e.slice(0,32),n=e.slice(32,64),i=K(Jg(r),st.n),s=Ze.BASE.multiply(i),o=s.toRawBytes();return{head:r,prefix:n,scalar:i,point:s,pubBytes:o}}async function XB(t){return(await ea(t)).pubBytes}Ue.getPublicKey=XB;async function ZB(t,e){let r=_n(t),{prefix:n,scalar:i,pubBytes:s}=await ea(e),o=await wf(n,r),a=Ze.BASE.multiply(o),c=await wf(a.toRawBytes(),s,r),u=K(o+c*i,st.n);return new Ni(a,u).toRawBytes()}Ue.sign=ZB;async function JB(t,e,r){e=_n(e),r instanceof Ze||(r=Ze.fromHex(r)),t instanceof Ni||(t=Ni.fromHex(t));let n=Ve.BASE.multiply(t.s),i=await wf(t.r.toRawBytes(),r.toRawBytes(),e),s=Ve.fromAffine(r).multiplyUnsafe(i);return Ve.fromAffine(t.r).add(s).subtract(n).multiplyUnsafe(st.h).equals(Ve.ZERO)}Ue.verify=JB;async function e8(t,e){let{scalar:r}=await ea(t),n=Ze.fromHex(e).toX25519();return em(r,n)}Ue.getSharedSecret=e8;Ze.BASE._setWindowSize(8);function Lc(t,e,r){let n=K(t*(e-r));return e=K(e-n),r=K(r+n),[e,r]}function t8(t,e){let{P:r,n}=st,i=Ns(t,r),s=Ns(e,r),o=BigInt(121665),a=i,c=_e,u=ht,l=i,f=_e,d=ht,p;for(let x=BigInt(255-1);x>=ht;x--){let R=s>>x&_e;d^=R,p=Lc(d,c,l),c=p[0],l=p[1],p=Lc(d,u,f),u=p[0],f=p[1],d=R;let L=K(c+u),H=K(L*L),q=K(c-u),k=K(q*q),J=K(H-k),ie=K(l+f),j=K(l-f),we=K(j*L),le=K(ie*q);l=K(K(we+le)**Dt),f=K(a*K(we-le)**Dt),c=K(H*k),u=K(J*(H+K(o*J)))}p=Lc(d,c,l),c=p[0],l=p[1],p=Lc(d,u,f),u=p[0],f=p[1];let{pow_p_5_8:h,b2:g}=Xg(u),m=K(kr(h,BigInt(3))*g);return K(c*m)}function r8(t){return Jo(K(t,st.P),32)}function em(t,e){let r=t8(t,e);if(r===ht)throw new Error("Invalid private or public key received");return r8(r)}function n8(t){let e=_n(t);return Oi(32,e),e[31]&=127,Ps(e)}Ue.curve25519={BASE_POINT_U:"0900000000000000000000000000000000000000000000000000000000000000",scalarMult(t,e){let r=n8(e),n=Jg(t);return em(r,n)},scalarMultBase(t){return Ue.curve25519.scalarMult(t,Ue.curve25519.BASE_POINT_U)}};var Zn={node:KB.default,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};Ue.utils={TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],bytesToHex:mf,getExtendedPublicKey:ea,randomBytes:(t=32)=>{if(Zn.web)return Zn.web.getRandomValues(new Uint8Array(t));if(Zn.node){let{randomBytes:e}=Zn.node;return new Uint8Array(e(t).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Ue.utils.randomBytes(32),sha512:async t=>{if(Zn.web){let e=await Zn.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(e)}else{if(Zn.node)return Uint8Array.from(Zn.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(t=8,e=Ze.BASE){let r=e.equals(Ze.BASE)?e:new Ze(e.x,e.y);return r._setWindowSize(t),r.multiply(_e),r}}});var nm=w(Jn=>{"use strict";var ta=tm(),i8=32,s8=64,kc=32;Jn.publicKeyLength=i8;Jn.privateKeyLength=s8;Jn.generateKey=async function(){let t=ta.utils.randomPrivateKey(),e=await ta.getPublicKey(t);return{privateKey:rm(t,e),publicKey:e}};Jn.generateKeyFromSeed=async function(t){if(t.length!==kc)throw new TypeError('"seed" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=t,r=await ta.getPublicKey(e);return{privateKey:rm(e,r),publicKey:r}};Jn.hashAndSign=function(t,e){let r=t.slice(0,kc);return ta.sign(e,r)};Jn.hashAndVerify=function(t,e,r){return ta.verify(e,r,t)};function rm(t,e){let r=new Uint8Array(Jn.privateKeyLength);for(let n=0;n<kc;n++)r[n]=t[n],r[kc+n]=e[n];return r}});var cm=w((oM,am)=>{"use strict";var im=de(),{equals:sm}=(mr(),gr),{sha256:om}=(Bi(),Gn),{base58btc:o8}=(qn(),kn),{identity:a8}=(Cc(),zo),Lt=nm(),qc=cc(),c8=Pc(),Uc=class{constructor(e){this._key=Ds(e,Lt.publicKeyLength)}async verify(e,r){return Lt.hashAndVerify(this._key,r,e)}marshal(){return this._key}get bytes(){return qc.PublicKey.encode({Type:qc.KeyType.Ed25519,Data:this.marshal()}).finish()}equals(e){return sm(this.bytes,e.bytes)}async hash(){let{bytes:e}=await om.digest(this.bytes);return e}},Os=class{constructor(e,r){this._key=Ds(e,Lt.privateKeyLength),this._publicKey=Ds(r,Lt.publicKeyLength)}async sign(e){return Lt.hashAndSign(this._key,e)}get public(){return new Uc(this._publicKey)}marshal(){return this._key}get bytes(){return qc.PrivateKey.encode({Type:qc.KeyType.Ed25519,Data:this.marshal()}).finish()}equals(e){return sm(this.bytes,e.bytes)}async hash(){let{bytes:e}=await om.digest(this.bytes);return e}async id(){let e=await a8.digest(this.public.bytes);return o8.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return c8.export(this.bytes,e);throw im(new Error(`export format '${r}' is not supported`),"ERR_INVALID_EXPORT_FORMAT")}};function u8(t){if(t.length>Lt.privateKeyLength){t=Ds(t,Lt.privateKeyLength+Lt.publicKeyLength);let n=t.slice(0,Lt.privateKeyLength),i=t.slice(Lt.privateKeyLength,t.length);return new Os(n,i)}t=Ds(t,Lt.privateKeyLength);let e=t.slice(0,Lt.privateKeyLength),r=t.slice(Lt.publicKeyLength);return new Os(e,r)}function l8(t){return t=Ds(t,Lt.publicKeyLength),new Uc(t)}async function f8(){let{privateKey:t,publicKey:e}=await Lt.generateKey();return new Os(t,e)}async function d8(t){let{privateKey:e,publicKey:r}=await Lt.generateKeyFromSeed(t);return new Os(e,r)}function Ds(t,e){if(t=Uint8Array.from(t||[]),t.length!==e)throw im(new Error(`Key must be a Uint8Array of length ${e}, got ${t.length}`),"ERR_INVALID_KEY_TYPE");return t}am.exports={Ed25519PublicKey:Uc,Ed25519PrivateKey:Os,unmarshalEd25519PrivateKey:u8,unmarshalEd25519PublicKey:l8,generateKeyPair:f8,generateKeyPairFromSeed:d8}});var Cm=w(Ae=>{"use strict";var h8=Ae&&Ae.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ae,"__esModule",{value:!0});Ae.utils=Ae.schnorr=Ae.verify=Ae.signSync=Ae.sign=Ae.getSharedSecret=Ae.recoverPublicKey=Ae.getPublicKey=Ae.Signature=Ae.Point=Ae.CURVE=void 0;var p8=h8(Ts()),Pe=BigInt(0),ut=BigInt(1),pt=BigInt(2),ra=BigInt(3),y8=BigInt(8),_f=pt**BigInt(256),ze={a:Pe,b:BigInt(7),P:_f-pt**BigInt(32)-BigInt(977),n:_f-BigInt("432420386565659656852420866394968145599"),h:ut,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")};Ae.CURVE=ze;function um(t){let{a:e,b:r}=ze,n=re(t*t),i=re(n*t);return re(i+e*t+r)}var Mc=ze.a===Pe,Ne=class{constructor(e,r,n){this.x=e,this.y=r,this.z=n}static fromAffine(e){if(!(e instanceof De))throw new TypeError("JacobianPoint#fromAffine: expected Point");return new Ne(e.x,e.y,ut)}static toAffineBatch(e){let r=b8(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return Ne.toAffineBatch(e).map(Ne.fromAffine)}equals(e){let r=this,n=e,i=re(r.z*r.z),s=re(r.z*i),o=re(n.z*n.z),a=re(n.z*o);return re(r.x*o)===re(i*n.x)&&re(r.y*a)===re(s*n.y)}negate(){return new Ne(this.x,re(-this.y),this.z)}double(){let e=this.x,r=this.y,n=this.z,i=re(e**pt),s=re(r**pt),o=re(s**pt),a=re(pt*(re(re((e+s)**pt))-i-o)),c=re(ra*i),u=re(c**pt),l=re(u-pt*a),f=re(c*(a-l)-y8*o),d=re(pt*r*n);return new Ne(l,f,d)}add(e){if(!(e instanceof Ne))throw new TypeError("JacobianPoint#add: expected JacobianPoint");let r=this.x,n=this.y,i=this.z,s=e.x,o=e.y,a=e.z;if(s===Pe||o===Pe)return this;if(r===Pe||n===Pe)return e;let c=re(i**pt),u=re(a**pt),l=re(r*u),f=re(s*c),d=re(n*a*u),p=re(re(o*i)*c),h=re(f-l),g=re(p-d);if(h===Pe)return g===Pe?this.double():Ne.ZERO;let m=re(h**pt),x=re(h*m),R=re(l*m),L=re(g**pt-x-pt*R),H=re(g*(R-L)-d*x),q=re(i*a*h);return new Ne(L,H,q)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){let r=hm(e);if(!Mc){let l=Ne.ZERO,f=this;for(;r>Pe;)r&ut&&(l=l.add(f)),f=f.double(),r>>=ut;return l}let{k1neg:n,k1:i,k2neg:s,k2:o}=ym(r),a=Ne.ZERO,c=Ne.ZERO,u=this;for(;i>Pe||o>Pe;)i&ut&&(a=a.add(u)),o&ut&&(c=c.add(u)),u=u.double(),i>>=ut,o>>=ut;return n&&(a=a.negate()),s&&(c=c.negate()),c=new Ne(re(c.x*ze.beta),c.y,c.z),a.add(c)}precomputeWindow(e){let r=Mc?128/e+1:256/e+1,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,r){!r&&this.equals(Ne.BASE)&&(r=De.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&xf.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Ne.normalizeZ(i),xf.set(r,i)));let s=Ne.ZERO,o=Ne.ZERO,a=Mc?128/n+1:256/n+1,c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let d=0;d<a;d++){let p=d*c,h=Number(e&u);if(e>>=f,h>c&&(h-=l,e+=ut),h===0){let g=i[p];d%2&&(g=g.negate()),o=o.add(g)}else{let g=i[p+Math.abs(h)-1];h<0&&(g=g.negate()),s=s.add(g)}}return{p:s,f:o}}multiply(e,r){let n=hm(e),i,s;if(Mc){let{k1neg:o,k1:a,k2neg:c,k2:u}=ym(n),{p:l,f}=this.wNAF(a,r),{p:d,f:p}=this.wNAF(u,r);o&&(l=l.negate()),c&&(d=d.negate()),d=new Ne(re(d.x*ze.beta),d.y,d.z),i=l.add(d),s=f.add(p)}else{let{p:o,f:a}=this.wNAF(n,r);i=o,s=a}return Ne.normalizeZ([i,s])[0]}toAffine(e=ia(this.z)){let r=e**pt,n=re(this.x*r),i=re(this.y*r*e);return new De(n,i)}};Ne.BASE=new Ne(ze.Gx,ze.Gy,ut);Ne.ZERO=new Ne(Pe,ut,Pe);var xf=new WeakMap,De=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,xf.delete(this)}static fromCompressedHex(e){let r=e.length===32,n=br(r?e:e.slice(1)),i=um(n),s=v8(i),o=(s&ut)===ut;return r?o&&(s=re(-s)):(e[0]&1)==1!==o&&(s=re(-s)),new De(n,s)}static fromUncompressedHex(e){let r=br(e.slice(1,33)),n=br(e.slice(33)),i=new De(r,n);return i.assertValidity(),i}static fromHex(e){let r=Sn(e),n=r[0];if(r.length===32||r.length===33&&(n===2||n===3))return this.fromCompressedHex(r);if(r.length===65&&n===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-33 compressed bytes or 65 uncompressed bytes, not ${r.length}`)}static fromPrivateKey(e){return De.BASE.multiply(sa(e))}static fromSignature(e,r,n){e=Sn(e);let i=gm(e),{r:s,s:o}=vm(r);if(n!==0&&n!==1)throw new Error("Cannot recover signature: invalid recovery bit");if(i===Pe)throw new Error("Cannot recover signature: msgHash cannot be 0");let a=2+(n&1),c=De.fromHex(`0${a}${xn(s)}`),u=Ne.fromAffine(c).multiplyUnsafe(o),l=Ne.BASE.multiply(i),f=ia(s,ze.n),p=u.subtract(l).multiplyUnsafe(f).toAffine();return p.assertValidity(),p}toRawBytes(e=!1){return ei(this.toHex(e))}toHex(e=!1){let r=xn(this.x);return e?`${this.y&ut?"03":"02"}${r}`:`04${r}${xn(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let e="Point is not on elliptic curve",{x:r,y:n}=this;if(!Cf(r)||!Cf(n))throw new Error(e);let i=re(n*n),s=um(r);if(re(i-s)!==Pe)throw new Error(e)}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new De(this.x,re(-this.y))}double(){return Ne.fromAffine(this).double().toAffine()}add(e){return Ne.fromAffine(this).add(Ne.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Ne.fromAffine(this).multiply(e,this).toAffine()}};Ae.Point=De;De.BASE=new De(ze.Gx,ze.Gy);De.ZERO=new De(Pe,Pe);function lm(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function fm(t){if(t.length<2||t[0]!==2)throw new Error(`Invalid signature integer tag: ${Ls(t)}`);let e=t[1],r=t.subarray(2,e+2);if(!e||r.length!==e)throw new Error("Invalid signature integer: wrong length");if(r[0]===0&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:br(r),left:t.subarray(e+2)}}function g8(t){if(t.length<2||t[0]!=48)throw new Error(`Invalid signature tag: ${Ls(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");let{data:e,left:r}=fm(t.subarray(2)),{data:n,left:i}=fm(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Ls(i)}`);return{r:e,s:n}}var nn=class{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromCompact(e){let r=Di(e),n="Signature.fromCompact";if(typeof e!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?Ls(e):e;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new nn(Fc(i.slice(0,64)),Fc(i.slice(64,128)))}static fromDER(e){let r=Di(e);if(typeof e!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=g8(r?e:ei(e));return new nn(n,i)}static fromHex(e){return this.fromDER(e)}assertValidity(){let{r:e,s:r}=this;if(!Li(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!Li(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let e=ze.n>>ut;return this.s>e}normalizeS(){return this.hasHighS()?new nn(this.r,ze.n-this.s):this}toDERRawBytes(e=!1){return ei(this.toDERHex(e))}toDERHex(e=!1){let r=lm(na(this.s));if(e)return r;let n=lm(na(this.r)),i=na(n.length/2),s=na(r.length/2);return`30${na(n.length/2+r.length/2+4)}02${i}${n}02${s}${r}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return ei(this.toCompactHex())}toCompactHex(){return xn(this.r)+xn(this.s)}};Ae.Signature=nn;function Sf(...t){if(!t.every(Di))throw new Error("Uint8Array list expected");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let s=t[n];r.set(s,i),i+=s.length}return r}function Di(t){return t instanceof Uint8Array}var m8=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Ls(t){if(!Di(t))throw new Error("Expected Uint8Array");let e="";for(let r=0;r<t.length;r++)e+=m8[t[r]];return e}function xn(t){if(t>_f)throw new Error("Expected number < 2^256");return t.toString(16).padStart(64,"0")}function dm(t){return ei(xn(t))}function na(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Fc(t){if(typeof t!="string")throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function ei(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s))throw new Error("Invalid byte sequence");e[r]=s}return e}function br(t){return Fc(Ls(t))}function Sn(t){return Di(t)?Uint8Array.from(t):ei(t)}function hm(t){if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if(typeof t=="bigint"&&Li(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function re(t,e=ze.P){let r=t%e;return r>=0?r:e+r}function Er(t,e){let{P:r}=ze,n=t;for(;e-- >Pe;)n*=n,n%=r;return n}function v8(t){let{P:e}=ze,r=BigInt(6),n=BigInt(11),i=BigInt(22),s=BigInt(23),o=BigInt(44),a=BigInt(88),c=t*t*t%e,u=c*c*t%e,l=Er(u,ra)*u%e,f=Er(l,ra)*u%e,d=Er(f,pt)*c%e,p=Er(d,n)*d%e,h=Er(p,i)*p%e,g=Er(h,o)*h%e,m=Er(g,a)*g%e,x=Er(m,o)*h%e,R=Er(x,ra)*u%e,L=Er(R,s)*p%e,H=Er(L,r)*c%e;return Er(H,pt)}function ia(t,e=ze.P){if(t===Pe||e<=Pe)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=re(t,e),n=e,i=Pe,s=ut,o=ut,a=Pe;for(;r!==Pe;){let u=n/r,l=n%r,f=i-o*u,d=s-a*u;n=r,r=l,i=o,s=a,o=f,a=d}if(n!==ut)throw new Error("invert: does not exist");return re(i,e)}function b8(t,e=ze.P){let r=t.length,n=new Array(r),i=ut;for(let s=0;s<r;s++)t[s]!==Pe&&(n[s]=i,i=re(i*t[s],e));i=ia(i,e);for(let s=r-1;s>=0;s--){if(t[s]===Pe)continue;let o=re(i*t[s],e);t[s]=re(i*n[s],e),i=o}return t}var pm=(t,e)=>(t+e/pt)/e,Kc=pt**BigInt(128);function ym(t){let{n:e}=ze,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-ut*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=pm(s*t,e),a=pm(-n*t,e),c=re(t-o*r-a*i,e),u=re(-o*n-a*s,e),l=c>Kc,f=u>Kc;if(l&&(c=e-c),f&&(u=e-u),c>Kc||u>Kc)throw new Error("splitScalarEndo: Endomorphism failed");return{k1neg:l,k1:c,k2neg:f,k2:u}}function gm(t){let{n:e}=ze,n=t.length*8-256,i=br(t);return n>0&&(i=i>>BigInt(n)),i>=e&&(i-=e),i}var Af=class{constructor(){this.v=new Uint8Array(32).fill(1),this.k=new Uint8Array(32).fill(0),this.counter=0}hmac(...e){return Ae.utils.hmacSha256(this.k,...e)}hmacSync(...e){if(typeof Ae.utils.hmacSha256Sync!="function")throw new Error("utils.hmacSha256Sync is undefined, you need to set it");let r=Ae.utils.hmacSha256Sync(this.k,...e);if(r instanceof Promise)throw new Error("To use sync sign(), ensure utils.hmacSha256 is sync");return r}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(e=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),e),this.v=await this.hmac(this.v),e.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),e),this.v=await this.hmac(this.v))}reseedSync(e=new Uint8Array){this.k=this.hmacSync(this.v,Uint8Array.from([0]),e),this.v=this.hmacSync(this.v),e.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),e),this.v=this.hmacSync(this.v))}async generate(){return this.incr(),this.v=await this.hmac(this.v),this.v}generateSync(){return this.incr(),this.v=this.hmacSync(this.v),this.v}};function Li(t){return Pe<t&&t<ze.n}function Cf(t){return Pe<t&&t<ze.P}function mm(t,e,r){let n=br(t);if(!Li(n))return;let{n:i}=ze,s=De.BASE.multiply(n),o=re(s.x,i);if(o===Pe)return;let a=re(ia(n,i)*re(e+r*o,i),i);if(a===Pe)return;let c=new nn(o,a),u=(s.x===c.r?0:2)|Number(s.y&ut);return{sig:c,recovery:u}}function sa(t){let e;if(typeof t=="bigint")e=t;else if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if(typeof t=="string"){if(t.length!==64)throw new Error("Expected 32 bytes of private key");e=Fc(t)}else if(Di(t)){if(t.length!==32)throw new Error("Expected 32 bytes of private key");e=br(t)}else throw new TypeError("Expected valid private key");if(!Li(e))throw new Error("Expected private key: 0 < key < n");return e}function If(t){return t instanceof De?(t.assertValidity(),t):De.fromHex(t)}function vm(t){if(t instanceof nn)return t.assertValidity(),t;try{return nn.fromDER(t)}catch(e){return nn.fromCompact(t)}}function E8(t,e=!1){return De.fromPrivateKey(t).toRawBytes(e)}Ae.getPublicKey=E8;function w8(t,e,r){return De.fromSignature(t,e,r).toRawBytes()}Ae.recoverPublicKey=w8;function bm(t){let e=Di(t),r=typeof t=="string",n=(e||r)&&t.length;return e?n===33||n===65:r?n===66||n===130:t instanceof De}function _8(t,e,r=!1){if(bm(t))throw new TypeError("getSharedSecret: first arg must be private key");if(!bm(e))throw new TypeError("getSharedSecret: second arg must be public key");let n=If(e);return n.assertValidity(),n.multiply(sa(t)).toRawBytes(r)}Ae.getSharedSecret=_8;function Em(t){let e=t.length>32?t.slice(0,32):t;return br(e)}function x8(t){let e=Em(t),r=re(e,ze.n);return wm(r<Pe?e:r)}function wm(t){if(typeof t!="bigint")throw new Error("Expected bigint");let e=xn(t);return ei(e)}function _m(t,e,r){if(t==null)throw new Error(`sign: expected valid message hash, not "${t}"`);let n=Sn(t),i=sa(e),s=[wm(i),x8(n)];if(r!=null){r===!0&&(r=Ae.utils.randomBytes(32));let c=Sn(r);if(c.length!==32)throw new Error("sign: Expected 32 bytes of extra data");s.push(c)}let o=Sf(...s),a=Em(n);return{seed:o,m:a,d:i}}function xm(t,e){let{sig:r,recovery:n}=t,{canonical:i,der:s,recovered:o}=Object.assign({canonical:!0,der:!0},e);i&&r.hasHighS()&&(r=r.normalizeS(),n^=1);let a=s?r.toDERRawBytes():r.toCompactRawBytes();return o?[a,n]:a}async function S8(t,e,r={}){let{seed:n,m:i,d:s}=_m(t,e,r.extraEntropy),o,a=new Af;for(await a.reseed(n);!(o=mm(await a.generate(),i,s));)await a.reseed();return xm(o,r)}Ae.sign=S8;function A8(t,e,r={}){let{seed:n,m:i,d:s}=_m(t,e,r.extraEntropy),o,a=new Af;for(a.reseedSync(n);!(o=mm(a.generateSync(),i,s));)a.reseedSync();return xm(o,r)}Ae.signSync=A8;var C8={strict:!0};function I8(t,e,r,n=C8){let i;try{i=vm(t),e=Sn(e)}catch(x){return!1}let{r:s,s:o}=i;if(n.strict&&i.hasHighS())return!1;let a=gm(e);if(a===Pe)return!1;let c;try{c=Ne.fromAffine(If(r))}catch(x){return!1}let{n:u}=ze,l=ia(o,u),f=re(a*l,u),d=re(s*l,u),p=Ne.BASE.multiply(f),h=c.multiplyUnsafe(d),g=p.add(h).toAffine();return re(g.x,u)===s}Ae.verify=I8;async function Tf(t,...e){let r=new Uint8Array(t.split("").map(s=>s.charCodeAt(0))),n=await Ae.utils.sha256(r),i=await Ae.utils.sha256(Sf(n,n,...e));return br(i)}async function Sm(t,e,r){let n=dm(t),i=await Tf("BIP0340/challenge",n,e.toRawX(),r);return re(i,ze.n)}function Rf(t){return re(t.y,pt)===Pe}var ki=class{constructor(e,r){if(this.r=e,this.s=r,!Cf(e)||!Li(r))throw new Error("Invalid signature")}static fromHex(e){let r=Sn(e);if(r.length!==64)throw new TypeError(`SchnorrSignature.fromHex: expected 64 bytes, not ${r.length}`);let n=br(r.slice(0,32)),i=br(r.slice(32,64));return new ki(n,i)}toHex(){return xn(this.r)+xn(this.s)}toRawBytes(){return ei(this.toHex())}};function T8(t){return De.fromPrivateKey(t).toRawX()}async function R8(t,e,r=Ae.utils.randomBytes()){if(t==null)throw new TypeError(`sign: Expected valid message, not "${t}"`);let{n}=ze,i=Sn(t),s=sa(e),o=Sn(r);if(o.length!==32)throw new TypeError("sign: Expected 32 bytes of aux randomness");let a=De.fromPrivateKey(s),c=Rf(a)?s:n-s,u=await Tf("BIP0340/aux",o),l=c^u,f=await Tf("BIP0340/nonce",dm(l),a.toRawX(),i),d=re(f,n);if(d===Pe)throw new Error("sign: Creation of signature failed. k is zero");let p=De.fromPrivateKey(d),h=Rf(p)?d:n-d,g=await Sm(p.x,a,i),m=new ki(p.x,re(h+g*c,n));if(!await Am(m.toRawBytes(),i,a.toRawX()))throw new Error("sign: Invalid signature produced");return m.toRawBytes()}async function Am(t,e,r){let n=t instanceof ki?t:ki.fromHex(t),i=Sn(e),s=If(r),o=await Sm(n.r,s,i),a=De.fromPrivateKey(n.s),c=s.multiply(o),u=a.subtract(c);return!(u.equals(De.BASE)||!Rf(u)||u.x!==n.r)}Ae.schnorr={Signature:ki,getPublicKey:T8,sign:R8,verify:Am};De.BASE._setWindowSize(8);var nr={node:p8.default,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};Ae.utils={isValidPrivateKey(t){try{return sa(t),!0}catch(e){return!1}},randomBytes:(t=32)=>{if(nr.web)return nr.web.getRandomValues(new Uint8Array(t));if(nr.node){let{randomBytes:e}=nr.node;return Uint8Array.from(e(t))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>{let t=8;for(;t--;){let e=Ae.utils.randomBytes(32),r=br(e);if(Li(r)&&r!==ut)return e}throw new Error("Valid private key was not found in 8 iterations. PRNG is broken")},bytesToHex:Ls,mod:re,sha256:async t=>{if(nr.web){let e=await nr.web.subtle.digest("SHA-256",t.buffer);return new Uint8Array(e)}else if(nr.node){let{createHash:e}=nr.node;return Uint8Array.from(e("sha256").update(t).digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(t,...e)=>{if(nr.web){let r=await nr.web.subtle.importKey("raw",t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=Sf(...e),i=await nr.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(nr.node){let{createHmac:r}=nr.node,n=r("sha256",t);return e.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,precompute(t=8,e=De.BASE){let r=e===De.BASE?e:new De(e.x,e.y);return r._setWindowSize(t),r.multiply(ra),r}}});var Rm=w((cM,Tm)=>{"use strict";var oa=de(),ti=Cm(),{sha256:Im}=(Bi(),Gn);Tm.exports=()=>{let t=32;function e(){return ti.utils.randomPrivateKey()}async function r(u,l){let{digest:f}=await Im.digest(l);try{return await ti.sign(f,u)}catch(d){throw oa(d,"ERR_INVALID_INPUT")}}async function n(u,l,f){try{let{digest:d}=await Im.digest(f);return ti.verify(l,d,u)}catch(d){throw oa(d,"ERR_INVALID_INPUT")}}function i(u){return ti.Point.fromHex(u).toRawBytes(!0)}function s(u){return ti.Point.fromHex(u).toRawBytes(!1)}function o(u){try{ti.getPublicKey(u,!0)}catch(l){throw oa(l,"ERR_INVALID_PRIVATE_KEY")}}function a(u){try{ti.Point.fromHex(u)}catch(l){throw oa(l,"ERR_INVALID_PUBLIC_KEY")}}function c(u){try{return ti.getPublicKey(u,!0)}catch(l){throw oa(l,"ERR_INVALID_PRIVATE_KEY")}}return{generateKey:e,privateKeyLength:t,hashAndSign:r,hashAndVerify:n,compressPublicKey:i,decompressPublicKey:s,validatePrivateKey:o,validatePublicKey:a,computePublicKey:c}}});var Om=w((uM,Nm)=>{"use strict";var{sha256:Bm}=(Bi(),Gn),B8=de(),{equals:Pm}=(mr(),gr),{toString:P8}=(Tt(),Ot),N8=Pc();Nm.exports=(t,e,r)=>{r=r||Rm()();class n{constructor(u){r.validatePublicKey(u),this._key=u}verify(u,l){return r.hashAndVerify(this._key,l,u)}marshal(){return r.compressPublicKey(this._key)}get bytes(){return t.PublicKey.encode({Type:t.KeyType.Secp256k1,Data:this.marshal()}).finish()}equals(u){return Pm(this.bytes,u.bytes)}async hash(){let{bytes:u}=await Bm.digest(this.bytes);return u}}class i{constructor(u,l){this._key=u,this._publicKey=l||r.computePublicKey(u),r.validatePrivateKey(this._key),r.validatePublicKey(this._publicKey)}sign(u){return r.hashAndSign(this._key,u)}get public(){return new n(this._publicKey)}marshal(){return this._key}get bytes(){return t.PrivateKey.encode({Type:t.KeyType.Secp256k1,Data:this.marshal()}).finish()}equals(u){return Pm(this.bytes,u.bytes)}async hash(){let{bytes:u}=await Bm.digest(this.bytes);return u}async id(){let u=await this.public.hash();return P8(u,"base58btc")}async export(u,l="libp2p-key"){if(l==="libp2p-key")return N8.export(this.bytes,u);throw B8(new Error(`export format '${l}' is not supported`),"ERR_INVALID_EXPORT_FORMAT")}}function s(c){return new i(c)}function o(c){return new n(c)}async function a(){let c=await r.generateKey();return new i(c)}return{Secp256k1PublicKey:n,Secp256k1PrivateKey:i,unmarshalSecp256k1PrivateKey:s,unmarshalSecp256k1PublicKey:o,generateKeyPair:a}}});var Lm=w((lM,Dm)=>{"use strict";Dm.exports={SHA1:20,SHA256:32,SHA512:64}});var Bf=w(qm=>{"use strict";var km=Go(),O8=Lm(),D8={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},L8=async(t,e)=>{let r=await km.get().subtle.sign({name:"HMAC"},t,e);return new Uint8Array(r,r.byteOffset,r.byteLength)};qm.create=async function(t,e){let r=D8[t],n=await km.get().subtle.importKey("raw",e,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(i){return L8(n,i)},length:O8[t]}}});var Vm=w((dM,Km)=>{"use strict";var Um=de(),{concat:Mm}=(Yn(),Wn),{fromString:k8}=(It(),Nt),q8=Bf(),Fm={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,cipherKeySize:32}};Km.exports=async(t,e,r)=>{let n=Fm[t];if(!n){let R=Object.keys(Fm).join(" / ");throw Um(new Error(`unknown cipher type '${t}'. Must be ${R}`),"ERR_INVALID_CIPHER_TYPE")}if(!e)throw Um(new Error("missing hash type"),"ERR_MISSING_HASH_TYPE");let i=n.keySize,s=n.ivSize,o=20,a=k8("key expansion"),c=2*(s+i+o),u=await q8.create(e,r),l=await u.digest(a),f=[],d=0;for(;d<c;){let R=await u.digest(Mm([l,a])),L=R.length;d+L>c&&(L=c-d),f.push(R),d+=L,l=await u.digest(l)}let p=c/2,h=Mm(f),g=h.slice(0,p),m=h.slice(p,c),x=R=>({iv:R.slice(0,s),cipherKey:R.slice(s,s+i),macKey:R.slice(s+i)});return{k1:x(g),k2:x(m)}}});var $m=w((hM,jm)=>{"use strict";var U8=de();jm.exports=function(t,e){if(!t.includes(e)){let r=t.join(" / ");throw U8(new Error(`Unknown curve: ${e}. Must be ${r}`),"ERR_INVALID_CURVE")}}});var Qm=w(Ym=>{"use strict";var M8=de(),aa=Go(),{base64urlToBuffer:Hm}=Bc(),F8=$m(),{toString:Pf}=(Tt(),Ot),{concat:K8}=(Yn(),Wn),{equals:V8}=(mr(),gr),zm={"P-256":256,"P-384":384,"P-521":521};Ym.generateEphmeralKeyPair=async function(t){F8(Object.keys(zm),t);let e=await aa.get().subtle.generateKey({name:"ECDH",namedCurve:t},!0,["deriveBits"]),r=async(i,s)=>{let o;s?o=await aa.get().subtle.importKey("jwk",$8(t,s),{name:"ECDH",namedCurve:t},!1,["deriveBits"]):o=e.privateKey;let a=[await aa.get().subtle.importKey("jwk",Wm(t,i),{name:"ECDH",namedCurve:t},!1,[]),o],c=await aa.get().subtle.deriveBits({name:"ECDH",namedCurve:t,public:a[0]},a[1],zm[t]);return new Uint8Array(c,c.byteOffset,c.byteLength)},n=await aa.get().subtle.exportKey("jwk",e.publicKey);return{key:j8(n),genSharedKey:r}};var Gm={"P-256":32,"P-384":48,"P-521":66};function j8(t){let e=Gm[t.crv];return K8([Uint8Array.from([4]),Hm(t.x,e),Hm(t.y,e)],1+e*2)}function Wm(t,e){let r=Gm[t];if(V8(!e.slice(0,1),Uint8Array.from([4])))throw M8(new Error("Cannot unmarshal public key - invalid key format"),"ERR_INVALID_KEY_FORMAT");return{kty:"EC",crv:t,x:Pf(e.slice(1,r+1),"base64url"),y:Pf(e.slice(1+r),"base64url"),ext:!0}}var $8=(t,e)=>({...Wm(t,e.public),d:Pf(e.private,"base64url")})});var Zm=w((yM,Xm)=>{"use strict";var H8=Qm();Xm.exports=async t=>H8.generateEphmeralKeyPair(t)});var jc=w((gM,ev)=>{"use strict";var sn=cc();jn();Jl();var Nf=be(),ca=de(),{fromString:z8}=(It(),Nt),G8=_g(),wr={rsa:Gg(),ed25519:cm(),secp256k1:Om()(sn,Rc())},Vc={message:"secp256k1 support requires libp2p-crypto-secp256k1 package",code:"ERR_MISSING_PACKAGE"};function ks(t){let e=wr[t.toLowerCase()];if(!e){let r=Object.keys(wr).join(" / ");throw ca(new Error(`invalid or unsupported key type ${t}. Must be ${r}`),"ERR_UNSUPPORTED_KEY_TYPE")}return e}var W8=async(t,e)=>ks(t).generateKeyPair(e),Y8=async(t,e,r)=>{let n=ks(t);if(t.toLowerCase()!=="ed25519")throw ca(new Error("Seed key derivation is unimplemented for RSA or secp256k1"),"ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return n.generateKeyPairFromSeed(e,r)},Q8=t=>{let e=sn.PublicKey.decode(t),r=e.Data;switch(e.Type){case sn.KeyType.RSA:return wr.rsa.unmarshalRsaPublicKey(r);case sn.KeyType.Ed25519:return wr.ed25519.unmarshalEd25519PublicKey(r);case sn.KeyType.Secp256k1:if(wr.secp256k1)return wr.secp256k1.unmarshalSecp256k1PublicKey(r);throw ca(new Error(Vc.message),Vc.code);default:ks(e.Type)}},X8=(t,e)=>(e=(e||"rsa").toLowerCase(),ks(e),t.bytes),Jm=async t=>{let e=sn.PrivateKey.decode(t),r=e.Data;switch(e.Type){case sn.KeyType.RSA:return wr.rsa.unmarshalRsaPrivateKey(r);case sn.KeyType.Ed25519:return wr.ed25519.unmarshalEd25519PrivateKey(r);case sn.KeyType.Secp256k1:if(wr.secp256k1)return wr.secp256k1.unmarshalSecp256k1PrivateKey(r);throw ca(new Error(Vc.message),Vc.code);default:ks(e.Type)}},Z8=(t,e)=>(e=(e||"rsa").toLowerCase(),ks(e),t.bytes),J8=async(t,e)=>{try{let i=await G8.import(t,e);return Jm(i)}catch(i){}let r=Nf.pki.decryptRsaPrivateKey(t,e);if(r===null)throw ca(new Error("Cannot read the key, most likely the password is wrong or not a RSA key"),"ERR_CANNOT_DECRYPT_PEM");let n=Nf.asn1.toDer(Nf.pki.privateKeyToAsn1(r));return n=z8(n.getBytes(),"ascii"),wr.rsa.unmarshalRsaPrivateKey(n)};ev.exports={supportedKeys:wr,keysPBM:sn,keyStretcher:Vm(),generateEphemeralKeyPair:Zm(),generateKeyPair:W8,generateKeyPairFromSeed:Y8,unmarshalPublicKey:Q8,marshalPublicKey:X8,unmarshalPrivateKey:Jm,marshalPrivateKey:Z8,import:J8}});var tv=w((mM,Of)=>{"use strict";function eP(t,{className:e,symbolName:r}){let n=Symbol.for(r),i={[e]:class extends t{constructor(...s){super(...s);Object.defineProperty(this,n,{value:!0})}get[Symbol.toStringTag](){return e}}}[e];return i[`is${e}`]=s=>!!(s&&s[n]),i}function tP(t,{className:e,symbolName:r,withoutNew:n}){let i=Symbol.for(r),s={[e]:function(...o){if(n&&!(this instanceof s))return new s(...o);let a=t.call(this,...o)||this;return a&&!a[i]&&Object.defineProperty(a,i,{value:!0}),a}}[e];return s.prototype=Object.create(t.prototype),s.prototype.constructor=s,Object.defineProperty(s.prototype,Symbol.toStringTag,{get(){return e}}),s[`is${e}`]=o=>!!(o&&o[i]),s}Of.exports=eP;Of.exports.proto=tP});var iv=w((vM,nv)=>{"use strict";var qs=gn(),rv=qs.Reader,rP=qs.Writer,Et=qs.util,ua=qs.roots["libp2p-peer-id"]||(qs.roots["libp2p-peer-id"]={});ua.PeerIdProto=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.id=Et.newBuffer([]),t.prototype.pubKey=Et.newBuffer([]),t.prototype.privKey=Et.newBuffer([]),t.encode=function(r,n){return n||(n=rP.create()),n.uint32(10).bytes(r.id),r.pubKey!=null&&Object.hasOwnProperty.call(r,"pubKey")&&n.uint32(18).bytes(r.pubKey),r.privKey!=null&&Object.hasOwnProperty.call(r,"privKey")&&n.uint32(26).bytes(r.privKey),n},t.decode=function(r,n){r instanceof rv||(r=rv.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new ua.PeerIdProto;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.id=r.bytes();break;case 2:s.pubKey=r.bytes();break;case 3:s.privKey=r.bytes();break;default:r.skipType(o&7);break}}if(!s.hasOwnProperty("id"))throw Et.ProtocolError("missing required 'id'",{instance:s});return s},t.fromObject=function(r){if(r instanceof ua.PeerIdProto)return r;var n=new ua.PeerIdProto;return r.id!=null&&(typeof r.id=="string"?Et.base64.decode(r.id,n.id=Et.newBuffer(Et.base64.length(r.id)),0):r.id.length&&(n.id=r.id)),r.pubKey!=null&&(typeof r.pubKey=="string"?Et.base64.decode(r.pubKey,n.pubKey=Et.newBuffer(Et.base64.length(r.pubKey)),0):r.pubKey.length&&(n.pubKey=r.pubKey)),r.privKey!=null&&(typeof r.privKey=="string"?Et.base64.decode(r.privKey,n.privKey=Et.newBuffer(Et.base64.length(r.privKey)),0):r.privKey.length&&(n.privKey=r.privKey)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(n.bytes===String?i.id="":(i.id=[],n.bytes!==Array&&(i.id=Et.newBuffer(i.id))),n.bytes===String?i.pubKey="":(i.pubKey=[],n.bytes!==Array&&(i.pubKey=Et.newBuffer(i.pubKey))),n.bytes===String?i.privKey="":(i.privKey=[],n.bytes!==Array&&(i.privKey=Et.newBuffer(i.privKey)))),r.id!=null&&r.hasOwnProperty("id")&&(i.id=n.bytes===String?Et.base64.encode(r.id,0,r.id.length):n.bytes===Array?Array.prototype.slice.call(r.id):r.id),r.pubKey!=null&&r.hasOwnProperty("pubKey")&&(i.pubKey=n.bytes===String?Et.base64.encode(r.pubKey,0,r.pubKey.length):n.bytes===Array?Array.prototype.slice.call(r.pubKey):r.pubKey),r.privKey!=null&&r.hasOwnProperty("privKey")&&(i.privKey=n.bytes===String?Et.base64.encode(r.privKey,0,r.privKey.length):n.bytes===Array?Array.prototype.slice.call(r.privKey):r.privKey),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,qs.util.toJSONOptions)},t}();nv.exports=ua});var Rt=w((kt,dv)=>{"use strict";var{CID:Df}=(ws(),ko),nP=(wi(),Ei),iP=(gl(),tc),sP=(qn(),kn),oP=(qo(),_s),{base58btc:Lf}=(qn(),kn),{base32:aP}=(wi(),Ei),{base16:sv}=(ml(),rc),la=(bi(),Do),on=jc(),cP=tv(),{PeerIdProto:ov}=iv(),{equals:qi}=(mr(),gr),{fromString:fa}=(It(),Nt),{toString:uP}=(Tt(),Ot),{identity:$c}=(Cc(),zo),av={...nP,...iP,...sP,...oP},lP=Object.keys(av).reduce((t,e)=>t.or(av[e]),aP.decoder),fP=112,cv=114,uv=class{constructor(e,r,n){if(!(e instanceof Uint8Array))throw new Error("invalid id provided");if(r&&n&&!qi(r.public.bytes,n.bytes))throw new Error("inconsistent arguments");this._id=e,this._idB58String=Lf.encode(this.id).substring(1),this._privKey=r,this._pubKey=n}get id(){return this._id}set id(e){throw new Error("Id is immutable")}get privKey(){return this._privKey}set privKey(e){this._privKey=e}get pubKey(){if(this._pubKey)return this._pubKey;if(this._privKey)return this._privKey.public;try{let e=la.decode(this.id);e.code===$c.code&&(this._pubKey=on.unmarshalPublicKey(e.digest))}catch(e){}return this._pubKey}set pubKey(e){this._pubKey=e}marshalPubKey(){if(this.pubKey)return on.marshalPublicKey(this.pubKey)}marshalPrivKey(){if(this.privKey)return on.marshalPrivateKey(this.privKey)}marshal(e){return ov.encode({id:this.toBytes(),pubKey:this.marshalPubKey(),privKey:e?null:this.marshalPrivKey()}).finish()}toPrint(){let e=this.toB58String();e.startsWith("Qm")&&(e=e.slice(2));let r=6;return e.length<r&&(r=e.length),"<peer.ID "+e.substr(0,r)+">"}toJSON(){return{id:this.toB58String(),privKey:fv(this.marshalPrivKey()),pubKey:fv(this.marshalPubKey())}}toHexString(){return sv.encode(this.id).substring(1)}toBytes(){return this.id}toB58String(){return this._idB58String}toString(){if(!this._idCIDString){let e=Df.createV1(cv,la.decode(this.id));Object.defineProperty(this,"_idCIDString",{value:e.toString(),enumerable:!1})}return this._idCIDString}equals(e){if(e instanceof Uint8Array)return qi(this.id,e);if(e.id)return qi(this.id,e.id);throw new Error("not valid Id")}isEqual(e){return this.equals(e)}isValid(){return Boolean(this.privKey&&this.privKey.public&&this.privKey.public.bytes&&this.pubKey.bytes instanceof Uint8Array&&qi(this.privKey.public.bytes,this.pubKey.bytes))}hasInlinePublicKey(){try{if(la.decode(this.id).code===$c.code)return!0}catch(e){}return!1}},an=cP(uv,{className:"PeerId",symbolName:"@libp2p/js-peer-id/PeerId"});kt=dv.exports=an;var da=t=>t.bytes.length<=42?la.create($c.code,t.bytes).bytes:t.hash(),kf=async(t,e)=>{let r=await da(e);return new an(r,t,e)};kt.create=async t=>{t=t||{},t.bits=t.bits||2048,t.keyType=t.keyType||"RSA";let e=await on.generateKeyPair(t.keyType,t.bits);return kf(e,e.public)};kt.createFromHexString=t=>new an(sv.decode("f"+t));kt.createFromBytes=t=>{try{let e=Df.decode(t);if(!lv(e))throw new Error("Supplied PeerID CID is invalid");return kt.createFromCID(e)}catch{if(la.decode(t).code!==$c.code)throw new Error("Supplied PeerID CID is invalid");return new an(t)}};kt.createFromB58String=t=>kt.createFromBytes(Lf.decode("z"+t));var lv=t=>t.code===cv||t.code===fP;kt.createFromCID=t=>{if(t=Df.asCID(t),!t||!lv(t))throw new Error("Supplied PeerID CID is invalid");return new an(t.multihash.bytes)};kt.createFromPubKey=async t=>{let e=t;if(typeof e=="string"&&(e=fa(t,"base64pad")),!(e instanceof Uint8Array))throw new Error("Supplied key is neither a base64 string nor a Uint8Array");let r=await on.unmarshalPublicKey(e);return kf(void 0,r)};kt.createFromPrivKey=async t=>{if(typeof t=="string"&&(t=fa(t,"base64pad")),!(t instanceof Uint8Array))throw new Error("Supplied key is neither a base64 string nor a Uint8Array");let e=await on.unmarshalPrivateKey(t);return kf(e,e.public)};kt.createFromJSON=async t=>{let e=Lf.decode("z"+t.id),r=t.privKey&&fa(t.privKey,"base64pad"),n=t.pubKey&&fa(t.pubKey,"base64pad"),i=n&&await on.unmarshalPublicKey(n);if(!r)return new an(e,void 0,i);let s=await on.unmarshalPrivateKey(r),o=await da(s.public),a;if(i&&(a=await da(i)),i&&!qi(o,a))throw new Error("Public and private key do not match");if(e&&!qi(o,e))throw new Error("Id and private key do not match");return new an(e,s,i)};kt.createFromProtobuf=async t=>{typeof t=="string"&&(t=fa(t,"base16"));let{id:e,privKey:r,pubKey:n}=ov.decode(t);r=r?await on.unmarshalPrivateKey(r):!1,n=n?await on.unmarshalPublicKey(n):!1;let i,s;if(r&&(s=await da(r.public)),n&&(i=await da(n)),r){if(n&&!qi(s,i))throw new Error("Public and private key do not match");return new an(s,r,r.public)}if(n)return new an(i,void 0,n);if(e)return new an(e);throw new Error("Protobuf did not contain any usable key material")};kt.parse=t=>((t.charAt(0)==="1"||t.charAt(0)==="Q")&&(t=`z${t}`),kt.createFromBytes(lP.decode(t)));kt.isPeerId=t=>Boolean(typeof t=="object"&&t._id&&t._idB58String);function fv(t){if(t)return uP(t,"base64pad")}});var Uf=w((bM,pv)=>{"use strict";var hv="[a-fA-F\\d:]",ri=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${hv})|(?<=${hv})(?=\\s|$))`:"",qr="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",mt="[a-fA-F\\d]{1,4}",Hc=`
|
|
29
|
+
`+a+e.substr(o+1),s=i-o-1,o=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(o=i);return e}function GT(t){return t.replace(/^\s+/,"")}});var my=w((fU,gy)=>{var Qr=be();$n();$e();var dy=gy.exports=Qr.sha256=Qr.sha256||{};Qr.md.sha256=Qr.md.algorithms.sha256=dy;dy.create=function(){hy||WT();var t=null,e=Qr.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return e=Qr.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=Qr.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return e.putBytes(i),yy(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Qr.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Vl.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};yy(f,r,i);var d=Qr.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d.putInt32(f.h5),d.putInt32(f.h6),d.putInt32(f.h7),d},n};var Vl=null,hy=!1,py=null;function WT(){Vl=String.fromCharCode(128),Vl+=Qr.util.fillString(String.fromCharCode(0),64),py=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],hy=!0}function yy(t,e,r){for(var n,i,s,o,a,c,u,l,f,d,p,h,g,m,S,R=r.length();R>=64;){for(u=0;u<16;++u)e[u]=r.getInt32();for(;u<64;++u)n=e[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[u]=n+e[u-7]+i+e[u-16]|0;for(l=t.h0,f=t.h1,d=t.h2,p=t.h3,h=t.h4,g=t.h5,m=t.h6,S=t.h7,u=0;u<64;++u)o=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=m^h&(g^m),s=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|d&(l^f),n=S+o+a+py[u]+e[u],i=s+c,S=m,m=g,g=h,h=p+n>>>0,p=d,d=f,f=l,l=n+i>>>0;t.h0=t.h0+l|0,t.h1=t.h1+f|0,t.h2=t.h2+d|0,t.h3=t.h3+p|0,t.h4=t.h4+h|0,t.h5=t.h5+g|0,t.h6=t.h6+m|0,t.h7=t.h7+S|0,R-=64}}});var by=w((dU,vy)=>{var Xr=be();$e();var Ec=null;Xr.util.isNodejs&&!Xr.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Ec=Ts());var YT=vy.exports=Xr.prng=Xr.prng||{};YT.create=function(t){for(var e={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=t.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();e.pools=n,e.pool=0,e.generate=function(u,l){if(!l)return e.generateSync(u);var f=e.plugin.cipher,d=e.plugin.increment,p=e.plugin.formatKey,h=e.plugin.formatSeed,g=Xr.util.createBuffer();e.key=null,m();function m(S){if(S)return l(S);if(g.length()>=u)return l(null,g.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return Xr.util.nextTick(function(){s(m)});var R=f(e.key,e.seed);e.generated+=R.length,g.putBytes(R),e.key=p(f(e.key,d(e.seed))),e.seed=h(f(e.key,e.seed)),Xr.util.setImmediate(m)}},e.generateSync=function(u){var l=e.plugin.cipher,f=e.plugin.increment,d=e.plugin.formatKey,p=e.plugin.formatSeed;e.key=null;for(var h=Xr.util.createBuffer();h.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&o();var g=l(e.key,e.seed);e.generated+=g.length,h.putBytes(g),e.key=d(l(e.key,f(e.seed))),e.seed=p(l(e.key,e.seed))}return h.getBytes(u)};function s(u){if(e.pools[0].messageLength>=32)return a(),u();var l=32-e.pools[0].messageLength<<5;e.seedFile(l,function(f,d){if(f)return u(f);e.collect(d),a(),u()})}function o(){if(e.pools[0].messageLength>=32)return a();var u=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(u)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var u=e.plugin.md.create();u.update(e.keyBytes);for(var l=1,f=0;f<32;++f)e.reseeds%l==0&&(u.update(e.pools[f].digest().getBytes()),e.pools[f].start()),l=l<<1;e.keyBytes=u.digest().getBytes(),u.start(),u.update(e.keyBytes);var d=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(d),e.generated=0}function c(u){var l=null,f=Xr.util.globalScope,d=f.crypto||f.msCrypto;d&&d.getRandomValues&&(l=function(q){return d.getRandomValues(q)});var p=Xr.util.createBuffer();if(l)for(;p.length()<u;){var h=Math.max(1,Math.min(u-p.length(),65536)/4),g=new Uint32Array(Math.floor(h));try{l(g);for(var m=0;m<g.length;++m)p.putInt32(g[m])}catch(q){if(!(typeof QuotaExceededError!="undefined"&&q instanceof QuotaExceededError))throw q}}if(p.length()<u)for(var S,R,L,H=Math.floor(Math.random()*65536);p.length()<u;){R=16807*(H&65535),S=16807*(H>>16),R+=(S&32767)<<16,R+=S>>15,R=(R&2147483647)+(R>>31),H=R&4294967295;for(var m=0;m<3;++m)L=H>>>(m<<3),L^=Math.floor(Math.random()*256),p.putByte(L&255)}return p.getBytes(u)}return Ec?(e.seedFile=function(u,l){Ec.randomBytes(u,function(f,d){if(f)return l(f);l(null,d.toString())})},e.seedFileSync=function(u){return Ec.randomBytes(u).toString()}):(e.seedFile=function(u,l){try{l(null,c(u))}catch(f){l(f)}},e.seedFileSync=c),e.collect=function(u){for(var l=u.length,f=0;f<l;++f)e.pools[e.pool].update(u.substr(f,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(u,l){for(var f="",d=0;d<l;d+=8)f+=String.fromCharCode(u>>d&255);e.collect(f)},e.registerWorker=function(u){if(u===self)e.seedFile=function(f,d){function p(h){var g=h.data;g.forge&&g.forge.prng&&(self.removeEventListener("message",p),d(g.forge.prng.err,g.forge.prng.bytes))}self.addEventListener("message",p),self.postMessage({forge:{prng:{needed:f}}})};else{var l=function(f){var d=f.data;d.forge&&d.forge.prng&&e.seedFile(d.forge.prng.needed,function(p,h){u.postMessage({forge:{prng:{err:p,bytes:h}}})})};u.addEventListener("message",l)}},e}});var Ci=w((hU,jl)=>{var xt=be();Is();my();by();$e();(function(){if(xt.random&&xt.random.getBytes){jl.exports=xt.random;return}(function(t){var e={},r=new Array(4),n=xt.util.createBuffer();e.formatKey=function(f){var d=xt.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),xt.aes._expandKey(f,!1)},e.formatSeed=function(f){var d=xt.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),f},e.cipher=function(f,d){return xt.aes._updateBlock(f,d,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(f){return++f[3],f},e.md=xt.md.sha256;function i(){var f=xt.prng.create(e);return f.getBytes=function(d,p){return f.generate(d,p)},f.getBytesSync=function(d){return f.generate(d)},f}var s=i(),o=null,a=xt.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),xt.options.usePureJavaScript||!xt.util.isNodejs&&!o){if(typeof window=="undefined"||window.document===void 0,s.collectInt(+new Date,32),typeof navigator!="undefined"){var u="";for(var l in navigator)try{typeof navigator[l]=="string"&&(u+=navigator[l])}catch(f){}s.collect(u),u=null}t&&(t().mousemove(function(f){s.collectInt(f.clientX,16),s.collectInt(f.clientY,16)}),t().keypress(function(f){s.collectInt(f.charCode,8)}))}if(!xt.random)xt.random=s;else for(var l in s)xt.random[l]=s[l];xt.random.createInstance=i,jl.exports=xt.random})(typeof jQuery!="undefined"?jQuery:null)})()});var Sy=w((pU,_y)=>{var Zt=be();$e();var $l=[217,120,249,196,25,221,181,237,40,233,253,121,74,160,216,157,198,126,55,131,43,118,83,142,98,76,100,136,68,139,251,162,23,154,89,245,135,179,79,19,97,69,109,141,9,129,125,50,189,143,64,235,134,183,123,11,240,149,33,34,92,107,78,130,84,214,101,147,206,96,178,28,115,86,192,20,167,140,241,220,18,117,202,31,59,190,228,209,66,61,212,48,163,60,182,38,111,191,14,218,70,105,7,87,39,242,29,155,188,148,67,3,248,17,199,246,144,239,62,231,6,195,213,47,200,102,30,215,8,232,234,222,128,82,238,247,132,170,114,172,53,77,106,42,150,26,210,113,90,21,73,116,75,159,208,94,4,24,164,236,194,224,65,110,15,81,203,204,36,145,175,80,161,244,112,57,153,124,58,133,35,184,180,122,252,2,54,91,37,85,151,49,45,93,250,152,227,138,146,174,5,223,41,16,103,108,186,201,211,0,230,207,225,158,168,44,99,22,1,63,88,226,137,169,13,56,52,27,171,51,255,176,187,72,12,95,185,177,205,46,197,243,219,71,229,165,156,119,10,166,32,104,254,127,193,173],Ey=[1,2,3,5],QT=function(t,e){return t<<e&65535|(t&65535)>>16-e},XT=function(t,e){return(t&65535)>>e|t<<16-e&65535};_y.exports=Zt.rc2=Zt.rc2||{};Zt.rc2.expandKey=function(t,e){typeof t=="string"&&(t=Zt.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,s=Math.ceil(i/8),o=255>>(i&7),a;for(a=n;a<128;a++)r.putByte($l[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,$l[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,$l[r.at(a+1)^r.at(a+s)]);return r};var wy=function(t,e,r){var n=!1,i=null,s=null,o=null,a,c,u,l,f=[];for(t=Zt.rc2.expandKey(t,e),u=0;u<64;u++)f.push(t.getInt16Le());r?(a=function(h){for(u=0;u<4;u++)h[u]+=f[l]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),h[u]=QT(h[u],Ey[u]),l++},c=function(h){for(u=0;u<4;u++)h[u]+=f[h[(u+3)%4]&63]}):(a=function(h){for(u=3;u>=0;u--)h[u]=XT(h[u],Ey[u]),h[u]-=f[l]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),l--},c=function(h){for(u=3;u>=0;u--)h[u]-=f[h[(u+3)%4]&63]});var d=function(h){var g=[];for(u=0;u<4;u++){var m=i.getInt16Le();o!==null&&(r?m^=o.getInt16Le():o.putInt16Le(m)),g.push(m&65535)}l=r?0:63;for(var S=0;S<h.length;S++)for(var R=0;R<h[S][0];R++)h[S][1](g);for(u=0;u<4;u++)o!==null&&(r?o.putInt16Le(g[u]):g[u]^=o.getInt16Le()),s.putInt16Le(g[u])},p=null;return p={start:function(h,g){h&&typeof h=="string"&&(h=Zt.util.createBuffer(h)),n=!1,i=Zt.util.createBuffer(),s=g||new Zt.util.createBuffer,o=h,p.output=s},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(h){var g=!0;if(r)if(h)g=h(8,i,!r);else{var m=i.length()===8?8:8-i.length();i.fillWithByte(m,m)}if(g&&(n=!0,p.update()),!r&&(g=i.length()===0,g))if(h)g=h(8,s,!r);else{var S=s.length(),R=s.at(S-1);R>S?g=!1:s.truncate(R)}return g}},p};Zt.rc2.startEncrypting=function(t,e,r){var n=Zt.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};Zt.rc2.createEncryptionCipher=function(t,e){return wy(t,e,!0)};Zt.rc2.startDecrypting=function(t,e,r){var n=Zt.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};Zt.rc2.createDecryptionCipher=function(t,e){return wy(t,e,!1)}});var Sc=w((yU,Py)=>{var Hl=be();Py.exports=Hl.jsbn=Hl.jsbn||{};var bn,ZT=244837814094590,xy=(ZT&16777215)==15715070;function V(t,e,r){this.data=[],t!=null&&(typeof t=="number"?this.fromNumber(t,e,r):e==null&&typeof t!="string"?this.fromString(t,256):this.fromString(t,e))}Hl.jsbn.BigInteger=V;function Be(){return new V(null)}function JT(t,e,r,n,i,s){for(;--s>=0;){var o=e*this.data[t++]+r.data[n]+i;i=Math.floor(o/67108864),r.data[n++]=o&67108863}return i}function eR(t,e,r,n,i,s){for(var o=e&32767,a=e>>15;--s>=0;){var c=this.data[t]&32767,u=this.data[t++]>>15,l=a*c+u*o;c=o*c+((l&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(l>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function Ay(t,e,r,n,i,s){for(var o=e&16383,a=e>>14;--s>=0;){var c=this.data[t]&16383,u=this.data[t++]>>14,l=a*c+u*o;c=o*c+((l&16383)<<14)+r.data[n]+i,i=(c>>28)+(l>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator=="undefined"?(V.prototype.am=Ay,bn=28):xy&&navigator.appName=="Microsoft Internet Explorer"?(V.prototype.am=eR,bn=30):xy&&navigator.appName!="Netscape"?(V.prototype.am=JT,bn=26):(V.prototype.am=Ay,bn=28);V.prototype.DB=bn;V.prototype.DM=(1<<bn)-1;V.prototype.DV=1<<bn;var zl=52;V.prototype.FV=Math.pow(2,zl);V.prototype.F1=zl-bn;V.prototype.F2=2*bn-zl;var tR="0123456789abcdefghijklmnopqrstuvwxyz",wc=new Array,Rs,pr;Rs="0".charCodeAt(0);for(pr=0;pr<=9;++pr)wc[Rs++]=pr;Rs="a".charCodeAt(0);for(pr=10;pr<36;++pr)wc[Rs++]=pr;Rs="A".charCodeAt(0);for(pr=10;pr<36;++pr)wc[Rs++]=pr;function Cy(t){return tR.charAt(t)}function Iy(t,e){var r=wc[t.charCodeAt(e)];return r??-1}function rR(t){for(var e=this.t-1;e>=0;--e)t.data[e]=this.data[e];t.t=this.t,t.s=this.s}function nR(t){this.t=1,this.s=t<0?-1:0,t>0?this.data[0]=t:t<-1?this.data[0]=t+this.DV:this.t=0}function Hn(t){var e=Be();return e.fromInt(t),e}function iR(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,s=0;--n>=0;){var o=r==8?t[n]&255:Iy(t,n);if(o<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,s==0?this.data[this.t++]=o:s+r>this.DB?(this.data[this.t-1]|=(o&(1<<this.DB-s)-1)<<s,this.data[this.t++]=o>>this.DB-s):this.data[this.t-1]|=o<<s,s+=r,s>=this.DB&&(s-=this.DB)}r==8&&(t[0]&128)!=0&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&V.ZERO.subTo(this,this)}function sR(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function oR(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,s="",o=this.t,a=this.DB-o*this.DB%e;if(o-- >0)for(a<this.DB&&(n=this.data[o]>>a)>0&&(i=!0,s=Cy(n));o>=0;)a<e?(n=(this.data[o]&(1<<a)-1)<<e-a,n|=this.data[--o]>>(a+=this.DB-e)):(n=this.data[o]>>(a-=e)&r,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=Cy(n));return i?s:"0"}function aR(){var t=Be();return V.ZERO.subTo(this,t),t}function cR(){return this.s<0?this.negate():this}function uR(t){var e=this.s-t.s;if(e!=0)return e;var r=this.t;if(e=r-t.t,e!=0)return this.s<0?-e:e;for(;--r>=0;)if((e=this.data[r]-t.data[r])!=0)return e;return 0}function _c(t){var e=1,r;return(r=t>>>16)!=0&&(t=r,e+=16),(r=t>>8)!=0&&(t=r,e+=8),(r=t>>4)!=0&&(t=r,e+=4),(r=t>>2)!=0&&(t=r,e+=2),(r=t>>1)!=0&&(t=r,e+=1),e}function lR(){return this.t<=0?0:this.DB*(this.t-1)+_c(this.data[this.t-1]^this.s&this.DM)}function fR(t,e){var r;for(r=this.t-1;r>=0;--r)e.data[r+t]=this.data[r];for(r=t-1;r>=0;--r)e.data[r]=0;e.t=this.t+t,e.s=this.s}function dR(t,e){for(var r=t;r<this.t;++r)e.data[r-t]=this.data[r];e.t=Math.max(this.t-t,0),e.s=this.s}function hR(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,s=Math.floor(t/this.DB),o=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+s+1]=this.data[a]>>n|o,o=(this.data[a]&i)<<r;for(a=s-1;a>=0;--a)e.data[a]=0;e.data[s]=o,e.t=this.t+s+1,e.s=this.s,e.clamp()}function pR(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,s=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var o=r+1;o<this.t;++o)e.data[o-r-1]|=(this.data[o]&s)<<i,e.data[o-r]=this.data[o]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&s)<<i),e.t=this.t-r,e.clamp()}function yR(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]-t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n-=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e.data[r++]=this.DV+n:n>0&&(e.data[r++]=n),e.t=r,e.clamp()}function gR(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e.data[i]=0;for(i=0;i<n.t;++i)e.data[i+r.t]=r.am(0,n.data[i],e,i,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&V.ZERO.subTo(e,e)}function mR(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t.data[r]=0;for(r=0;r<e.t-1;++r){var n=e.am(r,e.data[r],t,2*r,0,1);(t.data[r+e.t]+=e.am(r+1,2*e.data[r],t,2*r+1,n,e.t-r-1))>=e.DV&&(t.data[r+e.t]-=e.DV,t.data[r+e.t+1]=1)}t.t>0&&(t.data[t.t-1]+=e.am(r,e.data[r],t,2*r,0,1)),t.s=0,t.clamp()}function vR(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e!=null&&e.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=Be());var s=Be(),o=this.s,a=t.s,c=this.DB-_c(n.data[n.t-1]);c>0?(n.lShiftTo(c,s),i.lShiftTo(c,r)):(n.copyTo(s),i.copyTo(r));var u=s.t,l=s.data[u-1];if(l!=0){var f=l*(1<<this.F1)+(u>1?s.data[u-2]>>this.F2:0),d=this.FV/f,p=(1<<this.F1)/f,h=1<<this.F2,g=r.t,m=g-u,S=e??Be();for(s.dlShiftTo(m,S),r.compareTo(S)>=0&&(r.data[r.t++]=1,r.subTo(S,r)),V.ONE.dlShiftTo(u,S),S.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--m>=0;){var R=r.data[--g]==l?this.DM:Math.floor(r.data[g]*d+(r.data[g-1]+h)*p);if((r.data[g]+=s.am(0,R,r,m,0,u))<R)for(s.dlShiftTo(m,S),r.subTo(S,r);r.data[g]<--R;)r.subTo(S,r)}e!=null&&(r.drShiftTo(u,e),o!=a&&V.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&V.ZERO.subTo(r,r)}}}function bR(t){var e=Be();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(V.ZERO)>0&&t.subTo(e,e),e}function Ii(t){this.m=t}function ER(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function wR(t){return t}function _R(t){t.divRemTo(this.m,null,t)}function SR(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function xR(t,e){t.squareTo(e),this.reduce(e)}Ii.prototype.convert=ER;Ii.prototype.revert=wR;Ii.prototype.reduce=_R;Ii.prototype.mulTo=SR;Ii.prototype.sqrTo=xR;function AR(){if(this.t<1)return 0;var t=this.data[0];if((t&1)==0)return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function Ti(t){this.m=t,this.mp=t.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function CR(t){var e=Be();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(V.ZERO)>0&&this.m.subTo(e,e),e}function IR(t){var e=Be();return t.copyTo(e),this.reduce(e),e}function TR(t){for(;t.t<=this.mt2;)t.data[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=t.data[e]&32767,n=r*this.mpl+((r*this.mph+(t.data[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(r=e+this.m.t,t.data[r]+=this.m.am(0,n,t,e,0,this.m.t);t.data[r]>=t.DV;)t.data[r]-=t.DV,t.data[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function RR(t,e){t.squareTo(e),this.reduce(e)}function BR(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Ti.prototype.convert=CR;Ti.prototype.revert=IR;Ti.prototype.reduce=TR;Ti.prototype.mulTo=BR;Ti.prototype.sqrTo=RR;function PR(){return(this.t>0?this.data[0]&1:this.s)==0}function NR(t,e){if(t>4294967295||t<1)return V.ONE;var r=Be(),n=Be(),i=e.convert(this),s=_c(t)-1;for(i.copyTo(r);--s>=0;)if(e.sqrTo(r,n),(t&1<<s)>0)e.mulTo(n,i,r);else{var o=r;r=n,n=o}return e.revert(r)}function OR(t,e){var r;return t<256||e.isEven()?r=new Ii(e):r=new Ti(e),this.exp(t,r)}V.prototype.copyTo=rR;V.prototype.fromInt=nR;V.prototype.fromString=iR;V.prototype.clamp=sR;V.prototype.dlShiftTo=fR;V.prototype.drShiftTo=dR;V.prototype.lShiftTo=hR;V.prototype.rShiftTo=pR;V.prototype.subTo=yR;V.prototype.multiplyTo=gR;V.prototype.squareTo=mR;V.prototype.divRemTo=vR;V.prototype.invDigit=AR;V.prototype.isEven=PR;V.prototype.exp=NR;V.prototype.toString=oR;V.prototype.negate=aR;V.prototype.abs=cR;V.prototype.compareTo=uR;V.prototype.bitLength=lR;V.prototype.mod=bR;V.prototype.modPowInt=OR;V.ZERO=Hn(0);V.ONE=Hn(1);function DR(){var t=Be();return this.copyTo(t),t}function LR(){if(this.s<0){if(this.t==1)return this.data[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this.data[0];if(this.t==0)return 0}return(this.data[1]&(1<<32-this.DB)-1)<<this.DB|this.data[0]}function kR(){return this.t==0?this.s:this.data[0]<<24>>24}function qR(){return this.t==0?this.s:this.data[0]<<16>>16}function UR(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function MR(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function FR(t){if(t==null&&(t=10),this.signum()==0||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=Hn(r),i=Be(),s=Be(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(r+s.intValue()).toString(t).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(t)+o}function KR(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,s=0,o=0,a=0;a<t.length;++a){var c=Iy(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=e*o+c,++s>=r&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0)}s>0&&(this.dMultiply(Math.pow(e,s)),this.dAddOffset(o,0)),i&&V.ZERO.subTo(this,this)}function VR(t,e,r){if(typeof e=="number")if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(V.ONE.shiftLeft(t-1),Gl,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(V.ONE.shiftLeft(t-1),this);else{var n=new Array,i=t&7;n.length=(t>>3)+1,e.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function jR(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),(n&128)!=0&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function $R(t){return this.compareTo(t)==0}function HR(t){return this.compareTo(t)<0?this:t}function zR(t){return this.compareTo(t)>0?this:t}function GR(t,e,r){var n,i,s=Math.min(t.t,this.t);for(n=0;n<s;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=s;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=s;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function WR(t,e){return t&e}function YR(t){var e=Be();return this.bitwiseTo(t,WR,e),e}function Gl(t,e){return t|e}function QR(t){var e=Be();return this.bitwiseTo(t,Gl,e),e}function Ty(t,e){return t^e}function XR(t){var e=Be();return this.bitwiseTo(t,Ty,e),e}function Ry(t,e){return t&~e}function ZR(t){var e=Be();return this.bitwiseTo(t,Ry,e),e}function JR(){for(var t=Be(),e=0;e<this.t;++e)t.data[e]=this.DM&~this.data[e];return t.t=this.t,t.s=~this.s,t}function e4(t){var e=Be();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function t4(t){var e=Be();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function r4(t){if(t==0)return-1;var e=0;return(t&65535)==0&&(t>>=16,e+=16),(t&255)==0&&(t>>=8,e+=8),(t&15)==0&&(t>>=4,e+=4),(t&3)==0&&(t>>=2,e+=2),(t&1)==0&&++e,e}function n4(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+r4(this.data[t]);return this.s<0?this.t*this.DB:-1}function i4(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function s4(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=i4(this.data[r]^e);return t}function o4(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function a4(t,e){var r=V.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function c4(t){return this.changeBit(t,Gl)}function u4(t){return this.changeBit(t,Ry)}function l4(t){return this.changeBit(t,Ty)}function f4(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]+t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n+=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e.data[r++]=n:n<-1&&(e.data[r++]=this.DV+n),e.t=r,e.clamp()}function d4(t){var e=Be();return this.addTo(t,e),e}function h4(t){var e=Be();return this.subTo(t,e),e}function p4(t){var e=Be();return this.multiplyTo(t,e),e}function y4(t){var e=Be();return this.divRemTo(t,e,null),e}function g4(t){var e=Be();return this.divRemTo(t,null,e),e}function m4(t){var e=Be(),r=Be();return this.divRemTo(t,e,r),new Array(e,r)}function v4(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function b4(t,e){if(t!=0){for(;this.t<=e;)this.data[this.t++]=0;for(this.data[e]+=t;this.data[e]>=this.DV;)this.data[e]-=this.DV,++e>=this.t&&(this.data[this.t++]=0),++this.data[e]}}function $o(){}function By(t){return t}function E4(t,e,r){t.multiplyTo(e,r)}function w4(t,e){t.squareTo(e)}$o.prototype.convert=By;$o.prototype.revert=By;$o.prototype.mulTo=E4;$o.prototype.sqrTo=w4;function _4(t){return this.exp(t,new $o)}function S4(t,e,r){var n=Math.min(this.t+t.t,e);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,t.data[n],r,n,0,this.t);for(i=Math.min(t.t,e);n<i;++n)this.am(0,t.data[n],r,n,0,e-n);r.clamp()}function x4(t,e,r){--e;var n=r.t=this.t+t.t-e;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)r.data[this.t+n-e]=this.am(e-n,t.data[n],r,0,0,this.t+n-e);r.clamp(),r.drShiftTo(1,r)}function Bs(t){this.r2=Be(),this.q3=Be(),V.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function A4(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=Be();return t.copyTo(e),this.reduce(e),e}function C4(t){return t}function I4(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function T4(t,e){t.squareTo(e),this.reduce(e)}function R4(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Bs.prototype.convert=A4;Bs.prototype.revert=C4;Bs.prototype.reduce=I4;Bs.prototype.mulTo=R4;Bs.prototype.sqrTo=T4;function B4(t,e){var r=t.bitLength(),n,i=Hn(1),s;if(r<=0)return i;r<18?n=1:r<48?n=3:r<144?n=4:r<768?n=5:n=6,r<8?s=new Ii(e):e.isEven()?s=new Bs(e):s=new Ti(e);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var l=Be();for(s.sqrTo(o[1],l);a<=u;)o[a]=Be(),s.mulTo(l,o[a-2],o[a]),a+=2}var f=t.t-1,d,p=!0,h=Be(),g;for(r=_c(t.data[f])-1;f>=0;){for(r>=c?d=t.data[f]>>r-c&u:(d=(t.data[f]&(1<<r+1)-1)<<c-r,f>0&&(d|=t.data[f-1]>>this.DB+r-c)),a=n;(d&1)==0;)d>>=1,--a;if((r-=a)<0&&(r+=this.DB,--f),p)o[d].copyTo(i),p=!1;else{for(;a>1;)s.sqrTo(i,h),s.sqrTo(h,i),a-=2;a>0?s.sqrTo(i,h):(g=i,i=h,h=g),s.mulTo(h,o[d],i)}for(;f>=0&&(t.data[f]&1<<r)==0;)s.sqrTo(i,h),g=i,i=h,h=g,--r<0&&(r=this.DB-1,--f)}return s.revert(i)}function P4(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),s=r.getLowestSetBit();if(s<0)return e;for(i<s&&(s=i),s>0&&(e.rShiftTo(s,e),r.rShiftTo(s,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return s>0&&r.lShiftTo(s,r),r}function N4(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(e==0)r=this.data[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this.data[n])%t;return r}function O4(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return V.ZERO;for(var r=t.clone(),n=this.clone(),i=Hn(1),s=Hn(0),o=Hn(0),a=Hn(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!s.isEven())&&(i.addTo(this,i),s.subTo(t,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(t,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),e?((!o.isEven()||!a.isEven())&&(o.addTo(this,o),a.subTo(t,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(o,i),s.subTo(a,s)):(n.subTo(r,n),e&&o.subTo(i,o),a.subTo(s,a))}if(n.compareTo(V.ONE)!=0)return V.ZERO;if(a.compareTo(t)>=0)return a.subtract(t);if(a.signum()<0)a.addTo(t,a);else return a;return a.signum()<0?a.add(t):a}var Lr=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],D4=(1<<26)/Lr[Lr.length-1];function L4(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=Lr[Lr.length-1]){for(e=0;e<Lr.length;++e)if(r.data[0]==Lr[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<Lr.length;){for(var n=Lr[e],i=e+1;i<Lr.length&&n<D4;)n*=Lr[i++];for(n=r.modInt(n);e<i;)if(n%Lr[e++]==0)return!1}return r.millerRabin(t)}function k4(t){var e=this.subtract(V.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=q4(),s,o=0;o<t;++o){do s=new V(this.bitLength(),i);while(s.compareTo(V.ONE)<=0||s.compareTo(e)>=0);var a=s.modPow(n,this);if(a.compareTo(V.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(V.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function q4(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}V.prototype.chunkSize=UR;V.prototype.toRadix=FR;V.prototype.fromRadix=KR;V.prototype.fromNumber=VR;V.prototype.bitwiseTo=GR;V.prototype.changeBit=a4;V.prototype.addTo=f4;V.prototype.dMultiply=v4;V.prototype.dAddOffset=b4;V.prototype.multiplyLowerTo=S4;V.prototype.multiplyUpperTo=x4;V.prototype.modInt=N4;V.prototype.millerRabin=k4;V.prototype.clone=DR;V.prototype.intValue=LR;V.prototype.byteValue=kR;V.prototype.shortValue=qR;V.prototype.signum=MR;V.prototype.toByteArray=jR;V.prototype.equals=$R;V.prototype.min=HR;V.prototype.max=zR;V.prototype.and=YR;V.prototype.or=QR;V.prototype.xor=XR;V.prototype.andNot=ZR;V.prototype.not=JR;V.prototype.shiftLeft=e4;V.prototype.shiftRight=t4;V.prototype.getLowestSetBit=n4;V.prototype.bitCount=s4;V.prototype.testBit=o4;V.prototype.setBit=c4;V.prototype.clearBit=u4;V.prototype.flipBit=l4;V.prototype.add=d4;V.prototype.subtract=h4;V.prototype.multiply=p4;V.prototype.divide=y4;V.prototype.remainder=g4;V.prototype.divideAndRemainder=m4;V.prototype.modPow=B4;V.prototype.modInverse=O4;V.prototype.pow=_4;V.prototype.gcd=P4;V.prototype.isProbablePrime=L4});var ky=w((gU,Ly)=>{var Zr=be();$n();$e();var Ny=Ly.exports=Zr.sha1=Zr.sha1||{};Zr.md.sha1=Zr.md.algorithms.sha1=Ny;Ny.create=function(){Oy||U4();var t=null,e=Zr.util.createBuffer(),r=new Array(80),n={algorithm:"sha1",blockLength:64,digestLength:20,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,s=0;s<i;++s)n.fullMessageLength.push(0);return e=Zr.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=Zr.util.encodeUtf8(i));var o=i.length;n.messageLength+=o,o=[o/4294967296>>>0,o>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=o[1],o[1]=o[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,o[0]=o[1]/4294967296>>>0;return e.putBytes(i),Dy(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Zr.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Wl.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,l=0;l<n.fullMessageLength.length-1;++l)a=n.fullMessageLength[l+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var f={h0:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};Dy(f,r,i);var d=Zr.util.createBuffer();return d.putInt32(f.h0),d.putInt32(f.h1),d.putInt32(f.h2),d.putInt32(f.h3),d.putInt32(f.h4),d},n};var Wl=null,Oy=!1;function U4(){Wl=String.fromCharCode(128),Wl+=Zr.util.fillString(String.fromCharCode(0),64),Oy=!0}function Dy(t,e,r){for(var n,i,s,o,a,c,u,l,f=r.length();f>=64;){for(i=t.h0,s=t.h1,o=t.h2,a=t.h3,c=t.h4,l=0;l<16;++l)n=r.getInt32(),e[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<20;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=a^s&(o^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<32;++l)n=e[l-3]^e[l-8]^e[l-14]^e[l-16],n=n<<1|n>>>31,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<40;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<60;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s&o|a&(s^o),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;for(;l<80;++l)n=e[l-6]^e[l-16]^e[l-28]^e[l-32],n=n<<2|n>>>30,e[l]=n,u=s^o^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=o,o=(s<<30|s>>>2)>>>0,s=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+s|0,t.h2=t.h2+o|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,f-=64}}});var My=w((mU,Uy)=>{var Jr=be();$e();Ci();ky();var qy=Uy.exports=Jr.pkcs1=Jr.pkcs1||{};qy.encode_rsa_oaep=function(t,e,r){var n,i,s,o;typeof r=="string"?(n=r,i=arguments[3]||void 0,s=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,s=r.md||void 0,r.mgf1&&r.mgf1.md&&(o=r.mgf1.md)),s?s.start():s=Jr.md.sha1.create(),o||(o=s);var a=Math.ceil(t.n.bitLength()/8),c=a-2*s.digestLength-2;if(e.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=e.length,u.maxLength=c,u}n||(n=""),s.update(n,"raw");for(var l=s.digest(),f="",d=c-e.length,p=0;p<d;p++)f+="\0";var h=l.getBytes()+f+""+e;if(!i)i=Jr.random.getBytes(s.digestLength);else if(i.length!==s.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=s.digestLength,u}var g=xc(i,a-s.digestLength-1,o),m=Jr.util.xorBytes(h,g,h.length),S=xc(m,s.digestLength,o),R=Jr.util.xorBytes(i,S,i.length);return"\0"+R+m};qy.decode_rsa_oaep=function(t,e,r){var n,i,s;typeof r=="string"?(n=r,i=arguments[3]||void 0):r&&(n=r.label||void 0,i=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md));var o=Math.ceil(t.n.bitLength()/8);if(e.length!==o){var m=new Error("RSAES-OAEP encoded message length is invalid.");throw m.length=e.length,m.expectedLength=o,m}if(i===void 0?i=Jr.md.sha1.create():i.start(),s||(s=i),o<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=e.charAt(0),u=e.substring(1,i.digestLength+1),l=e.substring(1+i.digestLength),f=xc(l,i.digestLength,s),d=Jr.util.xorBytes(u,f,u.length),p=xc(d,o-i.digestLength-1,s),h=Jr.util.xorBytes(l,p,l.length),g=h.substring(0,i.digestLength),m=c!=="\0",S=0;S<i.digestLength;++S)m|=a.charAt(S)!==g.charAt(S);for(var R=1,L=i.digestLength,H=i.digestLength;H<h.length;H++){var q=h.charCodeAt(H),k=q&1^1,J=R?65534:0;m|=q&J,R=R&k,L+=R}if(m||h.charCodeAt(L)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(L+1)};function xc(t,e,r){r||(r=Jr.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),s=0;s<i;++s){var o=String.fromCharCode(s>>24&255,s>>16&255,s>>8&255,s&255);r.start(),r.update(t+o),n+=r.digest().getBytes()}return n.substring(0,e)}});var Fy=w((vU,Yl)=>{var zn=be();$e();Sc();Ci();(function(){if(zn.prime){Yl.exports=zn.prime;return}var t=Yl.exports=zn.prime=zn.prime||{},e=zn.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(f,d){return f|d};t.generateProbablePrime=function(f,d,p){typeof d=="function"&&(p=d,d={}),d=d||{};var h=d.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var g=d.prng||zn.random,m={nextBytes:function(S){for(var R=g.getBytesSync(S.length),L=0;L<S.length;++L)S[L]=R.charCodeAt(L)}};if(h.name==="PRIMEINC")return s(f,m,h.options,p);throw new Error("Invalid prime generation algorithm: "+h.name)};function s(f,d,p,h){return"workers"in p?c(f,d,p,h):o(f,d,p,h)}function o(f,d,p,h){var g=u(f,d),m=0,S=l(g.bitLength());"millerRabinTests"in p&&(S=p.millerRabinTests);var R=10;"maxBlockTime"in p&&(R=p.maxBlockTime),a(g,f,d,m,S,R,h)}function a(f,d,p,h,g,m,S){var R=+new Date;do{if(f.bitLength()>d&&(f=u(d,p)),f.isProbablePrime(g))return S(null,f);f.dAddOffset(r[h++%8],0)}while(m<0||+new Date-R<m);zn.util.setImmediate(function(){a(f,d,p,h,g,m,S)})}function c(f,d,p,h){if(typeof Worker=="undefined")return o(f,d,p,h);var g=u(f,d),m=p.workers,S=p.workLoad||100,R=S*30/8,L=p.workerScript||"forge/prime.worker.js";if(m===-1)return zn.util.estimateCores(function(q,k){q&&(k=2),m=k-1,H()});H();function H(){m=Math.max(1,m);for(var q=[],k=0;k<m;++k)q[k]=new Worker(L);for(var J=m,k=0;k<m;++k)q[k].addEventListener("message",j);var ie=!1;function j(we){if(!ie){--J;var le=we.data;if(le.found){for(var ye=0;ye<q.length;++ye)q[ye].terminate();return ie=!0,h(null,new e(le.prime,16))}g.bitLength()>f&&(g=u(f,d));var nt=g.toString(16);we.target.postMessage({hex:nt,workLoad:S}),g.dAddOffset(R,0)}}}}function u(f,d){var p=new e(f,d),h=f-1;return p.testBit(h)||p.bitwiseTo(e.ONE.shiftLeft(h),i,p),p.dAddOffset(31-p.mod(n).byteValue(),0),p}function l(f){return f<=100?27:f<=150?18:f<=200?15:f<=250?12:f<=300?9:f<=350?8:f<=400?7:f<=500?6:f<=600?5:f<=800?4:f<=1250?3:2}})()});var Ho=w((bU,Gy)=>{var he=be();jn();Sc();xs();My();Fy();Ci();$e();typeof xe=="undefined"&&(xe=he.jsbn.BigInteger);var xe,Ql=he.util.isNodejs?Ts():null,D=he.asn1,yr=he.util;he.pki=he.pki||{};Gy.exports=he.pki.rsa=he.rsa=he.rsa||{};var pe=he.pki,M4=[6,4,2,4,2,4,6,2],F4={name:"PrivateKeyInfo",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:D.Class.UNIVERSAL,type:D.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:D.Class.UNIVERSAL,type:D.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},K4={name:"RSAPrivateKey",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},V4={name:"RSAPublicKey",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:D.Class.UNIVERSAL,type:D.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},j4=he.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:D.Class.UNIVERSAL,type:D.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:D.Class.UNIVERSAL,type:D.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:D.Class.UNIVERSAL,type:D.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},$4=function(t){var e;if(t.algorithm in pe.oids)e=pe.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=D.oidToDer(e).getBytes(),i=D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[]),s=D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[]);s.value.push(D.create(D.Class.UNIVERSAL,D.Type.OID,!1,n)),s.value.push(D.create(D.Class.UNIVERSAL,D.Type.NULL,!1,""));var o=D.create(D.Class.UNIVERSAL,D.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(s),i.value.push(o),D.toDer(i).getBytes()},Ky=function(t,e,r){if(r)return t.modPow(e.e,e.n);if(!e.p||!e.q)return t.modPow(e.d,e.n);e.dP||(e.dP=e.d.mod(e.p.subtract(xe.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(xe.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new xe(he.util.bytesToHex(he.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(xe.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),s=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(s)<0;)i=i.add(e.p);var o=i.subtract(s).multiply(e.qInv).mod(e.p).multiply(e.q).add(s);return o=o.multiply(n.modInverse(e.n)).mod(e.n),o};pe.rsa.encrypt=function(t,e,r){var n=r,i,s=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=Vy(t,e,r)):(i=he.util.createBuffer(),i.putBytes(t));for(var o=new xe(i.toHex(),16),a=Ky(o,e,n),c=a.toString(16),u=he.util.createBuffer(),l=s-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(he.util.hexToBytes(c)),u.getBytes()};pe.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=t.length,s.expected=i,s}var o=new xe(he.util.createBuffer(t).toHex(),16);if(o.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Ky(o,e,r),c=a.toString(16),u=he.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(he.util.hexToBytes(c)),n!==!1?Ac(u.getBytes(),e,r):u.getBytes()};pe.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||he.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},s=r.algorithm||"PRIMEINC",o;if(s==="PRIMEINC")o={algorithm:s,state:0,bits:t,rng:i,eInt:e||65537,e:new xe(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},o.e.fromInt(o.eInt);else throw new Error("Invalid key generation algorithm: "+s);return o};pe.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new xe(null);r.fromInt(30);for(var n=0,i=function(f,d){return f|d},s=+new Date,o,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var c=t.p===null?t.pBits:t.qBits,u=c-1;t.pqState===0?(t.num=new xe(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(xe.ONE.shiftLeft(u),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>c?t.pqState=0:t.num.isProbablePrime(z4(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(M4[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(xe.ONE).gcd(t.e).compareTo(xe.ONE)===0?3:0:t.pqState===3&&(t.pqState=0,t.p===null?t.p=t.num:t.q=t.num,t.p!==null&&t.q!==null&&++t.state,t.num=null)}else if(t.state===1)t.p.compareTo(t.q)<0&&(t.num=t.p,t.p=t.q,t.q=t.num),++t.state;else if(t.state===2)t.p1=t.p.subtract(xe.ONE),t.q1=t.q.subtract(xe.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(xe.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var l=t.e.modInverse(t.phi);t.keys={privateKey:pe.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:pe.rsa.setPublicKey(t.n,t.e)}}o=+new Date,a+=o-s,s=o}return t.keys!==null};pe.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!he.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(jy("generateKeyPair"))return Ql.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:pe.privateKeyFromPem(u),publicKey:pe.publicKeyFromPem(c)})});if($y("generateKey")&&$y("exportKey"))return yr.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:zy(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return yr.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=pe.privateKeyFromAsn1(D.fromDer(he.util.createBuffer(a)));n(null,{privateKey:c,publicKey:pe.setRsaPublicKey(c.n,c.e)})}});if(Hy("generateKey")&&Hy("exportKey")){var i=yr.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:zy(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=yr.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,d=pe.privateKeyFromAsn1(D.fromDer(he.util.createBuffer(f)));n(null,{privateKey:d,publicKey:pe.setRsaPublicKey(d.n,d.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(jy("generateKeyPairSync")){var s=Ql.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:pe.privateKeyFromPem(s.privateKey),publicKey:pe.publicKeyFromPem(s.publicKey)}}}var o=pe.rsa.createKeyPairGenerationState(t,e,r);if(!n)return pe.rsa.stepKeyPairGenerationState(o,0),o.keys;H4(o,r,n)};pe.setRsaPublicKey=pe.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,s){if(typeof i=="string"?i=i.toUpperCase():i===void 0&&(i="RSAES-PKCS1-V1_5"),i==="RSAES-PKCS1-V1_5")i={encode:function(a,c,u){return Vy(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return he.pkcs1.encode_rsa_oaep(c,a,s)}};else if(["RAW","NONE","NULL",null].indexOf(i)!==-1)i={encode:function(a){return a}};else if(typeof i=="string")throw new Error('Unsupported encryption scheme: "'+i+'".');var o=i.encode(n,r,!0);return pe.rsa.encrypt(o,r,!0)},r.verify=function(n,i,s){typeof s=="string"?s=s.toUpperCase():s===void 0&&(s="RSASSA-PKCS1-V1_5"),s==="RSASSA-PKCS1-V1_5"?s={verify:function(a,c){c=Ac(c,r,!0);var u=D.fromDer(c);return a===u.value[1].value}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(a,c){return c=Ac(c,r,!0),a===c}});var o=pe.rsa.decrypt(i,r,!0,!1);return s.verify(n,o,r.n.bitLength())},r};pe.setRsaPrivateKey=pe.rsa.setPrivateKey=function(t,e,r,n,i,s,o,a){var c={n:t,e,d:r,p:n,q:i,dP:s,dQ:o,qInv:a};return c.decrypt=function(u,l,f){typeof l=="string"?l=l.toUpperCase():l===void 0&&(l="RSAES-PKCS1-V1_5");var d=pe.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:Ac};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(p,h){return he.pkcs1.decode_rsa_oaep(h,p,f)}};else if(["RAW","NONE","NULL",null].indexOf(l)!==-1)l={decode:function(p){return p}};else throw new Error('Unsupported encryption scheme: "'+l+'".');return l.decode(d,c,!1)},c.sign=function(u,l){var f=!1;typeof l=="string"&&(l=l.toUpperCase()),l===void 0||l==="RSASSA-PKCS1-V1_5"?(l={encode:$4},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var d=l.encode(u,c.n.bitLength());return pe.rsa.encrypt(d,c,f)},c};pe.wrapRsaPrivateKey=function(t){return D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,D.integerToDer(0).getBytes()),D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.OID,!1,D.oidToDer(pe.oids.rsaEncryption).getBytes()),D.create(D.Class.UNIVERSAL,D.Type.NULL,!1,"")]),D.create(D.Class.UNIVERSAL,D.Type.OCTETSTRING,!1,D.toDer(t).getBytes())])};pe.privateKeyFromAsn1=function(t){var e={},r=[];if(D.validate(t,F4,e,r)&&(t=D.fromDer(he.util.createBuffer(e.privateKey))),e={},r=[],!D.validate(t,K4,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,s,o,a,c,u,l,f;return i=he.util.createBuffer(e.privateKeyModulus).toHex(),s=he.util.createBuffer(e.privateKeyPublicExponent).toHex(),o=he.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=he.util.createBuffer(e.privateKeyPrime1).toHex(),c=he.util.createBuffer(e.privateKeyPrime2).toHex(),u=he.util.createBuffer(e.privateKeyExponent1).toHex(),l=he.util.createBuffer(e.privateKeyExponent2).toHex(),f=he.util.createBuffer(e.privateKeyCoefficient).toHex(),pe.setRsaPrivateKey(new xe(i,16),new xe(s,16),new xe(o,16),new xe(a,16),new xe(c,16),new xe(u,16),new xe(l,16),new xe(f,16))};pe.privateKeyToAsn1=pe.privateKeyToRSAPrivateKey=function(t){return D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,D.integerToDer(0).getBytes()),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,en(t.n)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,en(t.e)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,en(t.d)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,en(t.p)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,en(t.q)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,en(t.dP)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,en(t.dQ)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,en(t.qInv))])};pe.publicKeyFromAsn1=function(t){var e={},r=[];if(D.validate(t,j4,e,r)){var n=D.derToOid(e.publicKeyOid);if(n!==pe.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!D.validate(t,V4,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var s=he.util.createBuffer(e.publicKeyModulus).toHex(),o=he.util.createBuffer(e.publicKeyExponent).toHex();return pe.setRsaPublicKey(new xe(s,16),new xe(o,16))};pe.publicKeyToAsn1=pe.publicKeyToSubjectPublicKeyInfo=function(t){return D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.OID,!1,D.oidToDer(pe.oids.rsaEncryption).getBytes()),D.create(D.Class.UNIVERSAL,D.Type.NULL,!1,"")]),D.create(D.Class.UNIVERSAL,D.Type.BITSTRING,!1,[pe.publicKeyToRSAPublicKey(t)])])};pe.publicKeyToRSAPublicKey=function(t){return D.create(D.Class.UNIVERSAL,D.Type.SEQUENCE,!0,[D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,en(t.n)),D.create(D.Class.UNIVERSAL,D.Type.INTEGER,!1,en(t.e))])};function Vy(t,e,r){var n=he.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=t.length,s.max=i-11,s}n.putByte(0),n.putByte(r);var o=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<o;++c)n.putByte(a)}else for(;o>0;){for(var u=0,l=he.random.getBytes(o),c=0;c<o;++c)a=l.charCodeAt(c),a===0?++u:n.putByte(a);o=u}return n.putByte(0),n.putBytes(t),n}function Ac(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),s=he.util.createBuffer(t),o=s.getByte(),a=s.getByte();if(o!==0||r&&a!==0&&a!==1||!r&&a!=2||r&&a===0&&typeof n=="undefined")throw new Error("Encryption block is invalid.");var c=0;if(a===0){c=i-3-n;for(var u=0;u<c;++u)if(s.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;s.length()>1;){if(s.getByte()!==255){--s.read;break}++c}else if(a===2)for(c=0;s.length()>1;){if(s.getByte()===0){--s.read;break}++c}var l=s.getByte();if(l!==0||c!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function H4(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){s(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return o(a,t.q);s(t.qBits,o)})}function s(a,c){he.prime.generateProbablePrime(a,n,c)}function o(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var u=t.p;t.p=t.q,t.q=u}if(t.p.subtract(xe.ONE).gcd(t.e).compareTo(xe.ONE)!==0){t.p=null,i();return}if(t.q.subtract(xe.ONE).gcd(t.e).compareTo(xe.ONE)!==0){t.q=null,s(t.qBits,o);return}if(t.p1=t.p.subtract(xe.ONE),t.q1=t.q.subtract(xe.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(xe.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,s(t.qBits,o);return}var l=t.e.modInverse(t.phi);t.keys={privateKey:pe.rsa.setPrivateKey(t.n,t.e,l,t.p,t.q,l.mod(t.p1),l.mod(t.q1),t.q.modInverse(t.p)),publicKey:pe.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function en(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=he.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&(r.charCodeAt(1)&128)==0||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)==128)?r.substr(1):r}function z4(t){return t<=100?27:t<=150?18:t<=200?15:t<=250?12:t<=300?9:t<=350?8:t<=400?7:t<=500?6:t<=600?5:t<=800?4:t<=1250?3:2}function jy(t){return he.util.isNodejs&&typeof Ql[t]=="function"}function $y(t){return typeof yr.globalScope!="undefined"&&typeof yr.globalScope.crypto=="object"&&typeof yr.globalScope.crypto.subtle=="object"&&typeof yr.globalScope.crypto.subtle[t]=="function"}function Hy(t){return typeof yr.globalScope!="undefined"&&typeof yr.globalScope.msCrypto=="object"&&typeof yr.globalScope.msCrypto.subtle=="object"&&typeof yr.globalScope.msCrypto.subtle[t]=="function"}function zy(t){for(var e=he.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var Xl=w((EU,Zy)=>{var te=be();Is();jn();yc();$n();xs();Kl();bc();Ci();Sy();Ho();$e();typeof Wy=="undefined"&&(Wy=te.jsbn.BigInteger);var Wy,M=te.asn1,me=te.pki=te.pki||{};Zy.exports=me.pbe=te.pbe=te.pbe||{};var Ri=me.oids,G4={name:"EncryptedPrivateKeyInfo",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:M.Class.UNIVERSAL,type:M.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:M.Class.UNIVERSAL,type:M.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},W4={name:"PBES2Algorithms",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:M.Class.UNIVERSAL,type:M.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:M.Class.UNIVERSAL,type:M.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:M.Class.UNIVERSAL,type:M.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:M.Class.UNIVERSAL,type:M.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:M.Class.UNIVERSAL,type:M.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:M.Class.UNIVERSAL,type:M.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:M.Class.UNIVERSAL,type:M.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Y4={name:"pkcs-12PbeParams",tagClass:M.Class.UNIVERSAL,type:M.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:M.Class.UNIVERSAL,type:M.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:M.Class.UNIVERSAL,type:M.Type.INTEGER,constructed:!1,capture:"iterations"}]};me.encryptPrivateKeyInfo=function(t,e,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=te.random.getBytesSync(r.saltSize),i=r.count,s=M.integerToDer(i),o,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,l,f;switch(r.algorithm){case"aes128":o=16,u=16,l=Ri["aes128-CBC"],f=te.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,l=Ri["aes192-CBC"],f=te.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,l=Ri["aes256-CBC"],f=te.aes.createEncryptionCipher;break;case"des":o=8,u=8,l=Ri.desCBC,f=te.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var p="hmacWith"+r.prfAlgorithm.toUpperCase(),h=Xy(p),g=te.pkcs5.pbkdf2(e,n,i,o,h),m=te.random.getBytesSync(u),S=f(g);S.start(m),S.update(M.toDer(t)),S.finish(),c=S.output.getBytes();var R=Q4(n,s,o,p);a=M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OID,!1,M.oidToDer(Ri.pkcs5PBES2).getBytes()),M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OID,!1,M.oidToDer(Ri.pkcs5PBKDF2).getBytes()),R]),M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OID,!1,M.oidToDer(l).getBytes()),M.create(M.Class.UNIVERSAL,M.Type.OCTETSTRING,!1,m)])])])}else if(r.algorithm==="3des"){o=24;var L=new te.util.ByteBuffer(n),g=me.pbe.generatePkcs12Key(e,L,1,i,o),m=me.pbe.generatePkcs12Key(e,L,2,i,o),S=te.des.createEncryptionCipher(g);S.start(m),S.update(M.toDer(t)),S.finish(),c=S.output.getBytes(),a=M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OID,!1,M.oidToDer(Ri["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OCTETSTRING,!1,n),M.create(M.Class.UNIVERSAL,M.Type.INTEGER,!1,s.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var H=M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[a,M.create(M.Class.UNIVERSAL,M.Type.OCTETSTRING,!1,c)]);return H};me.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!M.validate(t,G4,n,i)){var s=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=M.derToOid(n.encryptionOid),a=me.pbe.getCipher(o,n.encryptionParams,e),c=te.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=M.fromDer(a.output)),r};me.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:M.toDer(t).getBytes()};return te.pem.encode(r,{maxline:e})};me.encryptedPrivateKeyFromPem=function(t){var e=te.pem.decode(t)[0];if(e.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return M.fromDer(e.body)};me.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=me.wrapRsaPrivateKey(me.privateKeyToAsn1(t));return n=me.encryptPrivateKeyInfo(n,e,r),me.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=te.random.getBytesSync(16),a=te.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=te.random.getBytesSync(16),a=te.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=te.random.getBytesSync(16),a=te.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=te.random.getBytesSync(8),a=te.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=te.random.getBytesSync(8),a=te.des.createEncryptionCipher;break;default:var c=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw c.algorithm=r.algorithm,c}var u=te.pbe.opensslDeriveBytes(e,s.substr(0,8),o),l=a(u);l.start(s),l.update(M.toDer(me.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:te.util.bytesToHex(s).toUpperCase()},body:l.output.getBytes()};return te.pem.encode(f)};me.decryptRsaPrivateKey=function(t,e){var r=null,n=te.pem.decode(t)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var s,o;switch(n.dekInfo.algorithm){case"DES-CBC":s=8,o=te.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=te.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=te.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=te.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=te.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(f){return te.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":s=8,o=function(f){return te.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":s=16,o=function(f){return te.rc2.createDecryptionCipher(f,128)};break;default:var i=new Error('Could not decrypt private key; unsupported encryption algorithm "'+n.dekInfo.algorithm+'".');throw i.algorithm=n.dekInfo.algorithm,i}var a=te.util.hexToBytes(n.dekInfo.parameters),c=te.pbe.opensslDeriveBytes(e,a.substr(0,8),s),u=o(c);if(u.start(a),u.update(te.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=me.decryptPrivateKeyInfo(M.fromDer(r),e):r=M.fromDer(r),r!==null&&(r=me.privateKeyFromAsn1(r)),r};me.pbe.generatePkcs12Key=function(t,e,r,n,i,s){var o,a;if(typeof s=="undefined"||s===null){if(!("sha1"in te.md))throw new Error('"sha1" hash algorithm unavailable.');s=te.md.sha1.create()}var c=s.digestLength,u=s.blockLength,l=new te.util.ByteBuffer,f=new te.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)f.putInt16(t.charCodeAt(a));f.putInt16(0)}var d=f.length(),p=e.length(),h=new te.util.ByteBuffer;h.fillWithByte(r,u);var g=u*Math.ceil(p/u),m=new te.util.ByteBuffer;for(a=0;a<g;a++)m.putByte(e.at(a%p));var S=u*Math.ceil(d/u),R=new te.util.ByteBuffer;for(a=0;a<S;a++)R.putByte(f.at(a%d));var L=m;L.putBuffer(R);for(var H=Math.ceil(i/c),q=1;q<=H;q++){var k=new te.util.ByteBuffer;k.putBytes(h.bytes()),k.putBytes(L.bytes());for(var J=0;J<n;J++)s.start(),s.update(k.getBytes()),k=s.digest();var ie=new te.util.ByteBuffer;for(a=0;a<u;a++)ie.putByte(k.at(a%c));var j=Math.ceil(p/u)+Math.ceil(d/u),we=new te.util.ByteBuffer;for(o=0;o<j;o++){var le=new te.util.ByteBuffer(L.getBytes(u)),ye=511;for(a=ie.length()-1;a>=0;a--)ye=ye>>8,ye+=ie.at(a)+le.at(a),le.setAt(a,ye&255);we.putBuffer(le)}L=we,l.putBuffer(k)}return l.truncate(l.length()-i),l};me.pbe.getCipher=function(t,e,r){switch(t){case me.oids.pkcs5PBES2:return me.pbe.getCipherForPBES2(t,e,r);case me.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case me.oids["pbewithSHAAnd40BitRC2-CBC"]:return me.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};me.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!M.validate(e,W4,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}if(t=M.derToOid(n.kdfOid),t!==me.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=t,s.supportedOids=["pkcs5PBKDF2"],s}if(t=M.derToOid(n.encOid),t!==me.oids["aes128-CBC"]&&t!==me.oids["aes192-CBC"]&&t!==me.oids["aes256-CBC"]&&t!==me.oids["des-EDE3-CBC"]&&t!==me.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=t,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var o=n.kdfSalt,a=te.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(me.oids[t]){case"aes128-CBC":c=16,u=te.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=te.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=te.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=te.des.createDecryptionCipher;break;case"desCBC":c=8,u=te.des.createDecryptionCipher;break}var l=Qy(n.prfOid),f=te.pkcs5.pbkdf2(r,o,a,c,l),d=n.encIv,p=u(f);return p.start(d),p};me.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!M.validate(e,Y4,n,i)){var s=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw s.errors=i,s}var o=te.util.createBuffer(n.salt),a=te.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(t){case me.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=te.des.startDecrypting;break;case me.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(g,m){var S=te.rc2.createDecryptionCipher(g,40);return S.start(m,null),S};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=t,s}var f=Qy(n.prfOid),d=me.pbe.generatePkcs12Key(r,o,1,a,c,f);f.start();var p=me.pbe.generatePkcs12Key(r,o,2,a,u,f);return l(d,p)};me.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n=="undefined"||n===null){if(!("md5"in te.md))throw new Error('"md5" hash algorithm unavailable.');n=te.md.md5.create()}e===null&&(e="");for(var i=[Yy(n,t+e)],s=16,o=1;s<r;++o,s+=16)i.push(Yy(n,i[o-1]+t+e));return i.join("").substr(0,r)};function Yy(t,e){return t.start().update(e).digest().getBytes()}function Qy(t){var e;if(!t)e="hmacWithSHA1";else if(e=me.oids[M.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Xy(e)}function Xy(t){var e=te.md;switch(t){case"hmacWithSHA224":e=te.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":t=t.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!e||!(t in e))throw new Error("Unknown hash algorithm: "+t);return e[t].create()}function Q4(t,e,r,n){var i=M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OCTETSTRING,!1,t),M.create(M.Class.UNIVERSAL,M.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(M.create(M.Class.UNIVERSAL,M.Type.INTEGER,!1,te.util.hexToBytes(r.toString(16))),M.create(M.Class.UNIVERSAL,M.Type.SEQUENCE,!0,[M.create(M.Class.UNIVERSAL,M.Type.OID,!1,M.oidToDer(me.oids[n]).getBytes()),M.create(M.Class.UNIVERSAL,M.Type.NULL,!1,"")])),i}});var Zl={};gt(Zl,{identity:()=>X4});var X4,Jy=Se(()=>{Hr();On();X4=Za({prefix:"\0",name:"identity",encode:t=>N0(t),decode:t=>P0(t)})});var Jl={};gt(Jl,{base2:()=>Z4});var Z4,eg=Se(()=>{Hr();Z4=ct({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1})});var ef={};gt(ef,{base8:()=>J4});var J4,tg=Se(()=>{Hr();J4=ct({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3})});var tf={};gt(tf,{base10:()=>eB});var eB,rg=Se(()=>{Hr();eB=Ln({prefix:"9",name:"base10",alphabet:"0123456789"})});var rf,ng,nf=Se(()=>{bi();rf=({name:t,code:e,encode:r})=>new ng(t,e,r),ng=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Dn(this.code,r):r.then(n=>Dn(this.code,n))}else throw Error("Unknown type, must be binary type")}}});var Gn={};gt(Gn,{sha256:()=>tB,sha512:()=>rB});var sg,tB,rB,Bi=Se(()=>{nf();sg=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),tB=rf({name:"sha2-256",code:18,encode:sg("SHA-256")}),rB=rf({name:"sha2-512",code:19,encode:sg("SHA-512")})});var zo={};gt(zo,{identity:()=>sB});var og,nB,ag,iB,sB,Cc=Se(()=>{On();bi();og=0,nB="identity",ag=yn,iB=t=>Dn(og,ag(t)),sB={code:og,name:nB,encode:ag,digest:iB}});var cg=Se(()=>{On()});var PU,NU,ug=Se(()=>{PU=new TextEncoder,NU=new TextDecoder});var lg=Se(()=>{ws();Xa();On();nf();bi()});var sf,kU,fg=Se(()=>{Jy();eg();tg();rg();yl();wi();pl();qn();qo();Bi();Cc();cg();ug();lg();sf={...Zl,...Jl,...ef,...tf,...rc,...Ei,...tc,...kn,..._s},kU={...Gn,...zo}});function dg(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var hg,of,cB,Ic,af=Se(()=>{fg();hg=dg("utf8","u",t=>{let e=new TextDecoder("utf8");return"u"+e.decode(t)},t=>new TextEncoder().encode(t.substring(1))),of=dg("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=new Uint8Array(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),cB={utf8:hg,"utf-8":hg,hex:sf.base16,latin1:of,ascii:of,binary:of,...sf},Ic=cB});var Nt={};gt(Nt,{fromString:()=>cf});function cf(t,e="utf8"){let r=Ic[e];if(!r)throw new Error(`Unsupported encoding "${e}"`);return r.decoder.decode(`${r.prefix}${t}`)}var It=Se(()=>{af()});var Wn={};gt(Wn,{concat:()=>uB});function uB(t,e){e||(e=t.reduce((i,s)=>i+s.length,0));let r=new Uint8Array(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return r}var Yn=Se(()=>{});var Go=w(pg=>{"use strict";pg.get=(t=globalThis)=>{let e=t.crypto;if(!e||!e.subtle)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-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}});var uf=w((VU,gg)=>{"use strict";var{concat:lB}=(Yn(),Wn),{fromString:yg}=(It(),Nt),fB=Go();function dB({algorithm:t="AES-GCM",nonceLength:e=12,keyLength:r=16,digest:n="SHA-256",saltLength:i=16,iterations:s=32767}={}){let o=fB.get();r*=8;async function a(u,l){let f=o.getRandomValues(new Uint8Array(i)),d=o.getRandomValues(new Uint8Array(e)),p={name:t,iv:d},h={name:"PBKDF2",salt:f,iterations:s,hash:{name:n}},g=await o.subtle.importKey("raw",yg(l),{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),m=await o.subtle.deriveKey(h,g,{name:t,length:r},!0,["encrypt"]),S=await o.subtle.encrypt(p,m,u);return lB([f,p.iv,new Uint8Array(S)])}async function c(u,l){let f=u.slice(0,i),d=u.slice(i,i+e),p=u.slice(i+e),h={name:t,iv:d},g={name:"PBKDF2",salt:f,iterations:s,hash:{name:n}},m=await o.subtle.importKey("raw",yg(l),{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),S=await o.subtle.deriveKey(g,m,{name:t,length:r},!0,["decrypt"]),R=await o.subtle.decrypt(h,S,p);return new Uint8Array(R)}return{encrypt:a,decrypt:c}}gg.exports={create:dB}});var vg=w((jU,mg)=>{"use strict";var{base64:hB}=(qo(),_s),pB=uf();mg.exports={import:async function(t,e){let r=hB.decode(t);return await pB.create().decrypt(r,e)}}});var gr={};gt(gr,{equals:()=>yB});function yB(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var mr=Se(()=>{});var Ot={};gt(Ot,{toString:()=>lf});function lf(t,e="utf8"){let r=Ic[e];if(!r)throw new Error(`Unsupported encoding "${e}"`);return r.encoder.encode(t).substring(1)}var Tt=Se(()=>{af()});var hf=w((HU,_g)=>{var Ye=be();$n();$e();var Wo=_g.exports=Ye.sha512=Ye.sha512||{};Ye.md.sha512=Ye.md.algorithms.sha512=Wo;var bg=Ye.sha384=Ye.sha512.sha384=Ye.sha512.sha384||{};bg.create=function(){return Wo.create("SHA-384")};Ye.md.sha384=Ye.md.algorithms.sha384=bg;Ye.sha512.sha256=Ye.sha512.sha256||{create:function(){return Wo.create("SHA-512/256")}};Ye.md["sha512/256"]=Ye.md.algorithms["sha512/256"]=Ye.sha512.sha256;Ye.sha512.sha224=Ye.sha512.sha224||{create:function(){return Wo.create("SHA-512/224")}};Ye.md["sha512/224"]=Ye.md.algorithms["sha512/224"]=Ye.sha512.sha224;Wo.create=function(t){if(Eg||gB(),typeof t=="undefined"&&(t="SHA-512"),!(t in Pi))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=Pi[t],r=null,n=Ye.util.createBuffer(),i=new Array(80),s=0;s<80;++s)i[s]=new Array(2);var o=64;switch(t){case"SHA-384":o=48;break;case"SHA-512/256":o=32;break;case"SHA-512/224":o=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:o,messageLength:0,fullMessageLength:null,messageLengthSize:16};return a.start=function(){a.messageLength=0,a.fullMessageLength=a.messageLength128=[];for(var c=a.messageLengthSize/4,u=0;u<c;++u)a.fullMessageLength.push(0);n=Ye.util.createBuffer(),r=new Array(e.length);for(var u=0;u<e.length;++u)r[u]=e[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=Ye.util.encodeUtf8(c));var l=c.length;a.messageLength+=l,l=[l/4294967296>>>0,l>>>0];for(var f=a.fullMessageLength.length-1;f>=0;--f)a.fullMessageLength[f]+=l[1],l[1]=l[0]+(a.fullMessageLength[f]/4294967296>>>0),a.fullMessageLength[f]=a.fullMessageLength[f]>>>0,l[0]=l[1]/4294967296>>>0;return n.putBytes(c),wg(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=Ye.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(ff.substr(0,a.blockLength-l));for(var f,d,p=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)f=a.fullMessageLength[h+1]*8,d=f/4294967296>>>0,p+=d,c.putInt32(p>>>0),p=f>>>0;c.putInt32(p);for(var g=new Array(r.length),h=0;h<r.length;++h)g[h]=r[h].slice(0);wg(g,i,c);var m=Ye.util.createBuffer(),S;t==="SHA-512"?S=g.length:t==="SHA-384"?S=g.length-2:S=g.length-4;for(var h=0;h<S;++h)m.putInt32(g[h][0]),(h!==S-1||t!=="SHA-512/224")&&m.putInt32(g[h][1]);return m},a};var ff=null,Eg=!1,df=null,Pi=null;function gB(){ff=String.fromCharCode(128),ff+=Ye.util.fillString(String.fromCharCode(0),128),df=[[1116352408,3609767458],[1899447441,602891725],[3049323471,3964484399],[3921009573,2173295548],[961987163,4081628472],[1508970993,3053834265],[2453635748,2937671579],[2870763221,3664609560],[3624381080,2734883394],[310598401,1164996542],[607225278,1323610764],[1426881987,3590304994],[1925078388,4068182383],[2162078206,991336113],[2614888103,633803317],[3248222580,3479774868],[3835390401,2666613458],[4022224774,944711139],[264347078,2341262773],[604807628,2007800933],[770255983,1495990901],[1249150122,1856431235],[1555081692,3175218132],[1996064986,2198950837],[2554220882,3999719339],[2821834349,766784016],[2952996808,2566594879],[3210313671,3203337956],[3336571891,1034457026],[3584528711,2466948901],[113926993,3758326383],[338241895,168717936],[666307205,1188179964],[773529912,1546045734],[1294757372,1522805485],[1396182291,2643833823],[1695183700,2343527390],[1986661051,1014477480],[2177026350,1206759142],[2456956037,344077627],[2730485921,1290863460],[2820302411,3158454273],[3259730800,3505952657],[3345764771,106217008],[3516065817,3606008344],[3600352804,1432725776],[4094571909,1467031594],[275423344,851169720],[430227734,3100823752],[506948616,1363258195],[659060556,3750685593],[883997877,3785050280],[958139571,3318307427],[1322822218,3812723403],[1537002063,2003034995],[1747873779,3602036899],[1955562222,1575990012],[2024104815,1125592928],[2227730452,2716904306],[2361852424,442776044],[2428436474,593698344],[2756734187,3733110249],[3204031479,2999351573],[3329325298,3815920427],[3391569614,3928383900],[3515267271,566280711],[3940187606,3454069534],[4118630271,4000239992],[116418474,1914138554],[174292421,2731055270],[289380356,3203993006],[460393269,320620315],[685471733,587496836],[852142971,1086792851],[1017036298,365543100],[1126000580,2618297676],[1288033470,3409855158],[1501505948,4234509866],[1607167915,987167468],[1816402316,1246189591]],Pi={},Pi["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Pi["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Pi["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Pi["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Eg=!0}function wg(t,e,r){for(var n,i,s,o,a,c,u,l,f,d,p,h,g,m,S,R,L,H,q,k,J,ie,j,we,le,ye,nt,it,Ie,Fe,ne,tr,Wt,hn,Yt,pn=r.length();pn>=128;){for(Ie=0;Ie<16;++Ie)e[Ie][0]=r.getInt32()>>>0,e[Ie][1]=r.getInt32()>>>0;for(;Ie<80;++Ie)tr=e[Ie-2],Fe=tr[0],ne=tr[1],n=((Fe>>>19|ne<<13)^(ne>>>29|Fe<<3)^Fe>>>6)>>>0,i=((Fe<<13|ne>>>19)^(ne<<3|Fe>>>29)^(Fe<<26|ne>>>6))>>>0,hn=e[Ie-15],Fe=hn[0],ne=hn[1],s=((Fe>>>1|ne<<31)^(Fe>>>8|ne<<24)^Fe>>>7)>>>0,o=((Fe<<31|ne>>>1)^(Fe<<24|ne>>>8)^(Fe<<25|ne>>>7))>>>0,Wt=e[Ie-7],Yt=e[Ie-16],ne=i+Wt[1]+o+Yt[1],e[Ie][0]=n+Wt[0]+s+Yt[0]+(ne/4294967296>>>0)>>>0,e[Ie][1]=ne>>>0;for(g=t[0][0],m=t[0][1],S=t[1][0],R=t[1][1],L=t[2][0],H=t[2][1],q=t[3][0],k=t[3][1],J=t[4][0],ie=t[4][1],j=t[5][0],we=t[5][1],le=t[6][0],ye=t[6][1],nt=t[7][0],it=t[7][1],Ie=0;Ie<80;++Ie)u=((J>>>14|ie<<18)^(J>>>18|ie<<14)^(ie>>>9|J<<23))>>>0,l=((J<<18|ie>>>14)^(J<<14|ie>>>18)^(ie<<23|J>>>9))>>>0,f=(le^J&(j^le))>>>0,d=(ye^ie&(we^ye))>>>0,a=((g>>>28|m<<4)^(m>>>2|g<<30)^(m>>>7|g<<25))>>>0,c=((g<<4|m>>>28)^(m<<30|g>>>2)^(m<<25|g>>>7))>>>0,p=(g&S|L&(g^S))>>>0,h=(m&R|H&(m^R))>>>0,ne=it+l+d+df[Ie][1]+e[Ie][1],n=nt+u+f+df[Ie][0]+e[Ie][0]+(ne/4294967296>>>0)>>>0,i=ne>>>0,ne=c+h,s=a+p+(ne/4294967296>>>0)>>>0,o=ne>>>0,nt=le,it=ye,le=j,ye=we,j=J,we=ie,ne=k+i,J=q+n+(ne/4294967296>>>0)>>>0,ie=ne>>>0,q=L,k=H,L=S,H=R,S=g,R=m,ne=i+o,g=n+s+(ne/4294967296>>>0)>>>0,m=ne>>>0;ne=t[0][1]+m,t[0][0]=t[0][0]+g+(ne/4294967296>>>0)>>>0,t[0][1]=ne>>>0,ne=t[1][1]+R,t[1][0]=t[1][0]+S+(ne/4294967296>>>0)>>>0,t[1][1]=ne>>>0,ne=t[2][1]+H,t[2][0]=t[2][0]+L+(ne/4294967296>>>0)>>>0,t[2][1]=ne>>>0,ne=t[3][1]+k,t[3][0]=t[3][0]+q+(ne/4294967296>>>0)>>>0,t[3][1]=ne>>>0,ne=t[4][1]+ie,t[4][0]=t[4][0]+J+(ne/4294967296>>>0)>>>0,t[4][1]=ne>>>0,ne=t[5][1]+we,t[5][0]=t[5][0]+j+(ne/4294967296>>>0)>>>0,t[5][1]=ne>>>0,ne=t[6][1]+ye,t[6][0]=t[6][0]+le+(ne/4294967296>>>0)>>>0,t[6][1]=ne>>>0,ne=t[7][1]+it,t[7][0]=t[7][0]+nt+(ne/4294967296>>>0)>>>0,t[7][1]=ne>>>0,pn-=128}}});var xg=w((zU,Sg)=>{"use strict";var Tc=65536;function mB(t){let e=new Uint8Array(t),r=0;if(t>0)if(t>Tc)for(;r<t;)r+Tc>t?(crypto.getRandomValues(e.subarray(r,r+(t-r))),r+=t-r):(crypto.getRandomValues(e.subarray(r,r+Tc)),r+=Tc);else crypto.getRandomValues(e);return e}Sg.exports=mB});var Rc=w((GU,Ag)=>{"use strict";var vB=xg(),bB=de();Ag.exports=function(t){if(isNaN(t)||t<=0)throw bB(new Error("random bytes length must be a Number bigger than 0"),"ERR_INVALID_LENGTH");return vB(t)}});var Bc=w(Yo=>{"use strict";$e();Sc();var EB=be(),{fromString:wB}=(It(),Nt),{toString:Cg}=(Tt(),Ot),{concat:Ig}=(Yn(),Wn);Yo.bigIntegerToUintBase64url=(t,e)=>{let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.slice(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ig([new Uint8Array(e-r.length),r])}return Cg(r,"base64url")};Yo.base64urlToBigInteger=t=>{let e=Yo.base64urlToBuffer(t);return new EB.jsbn.BigInteger(Cg(e,"base16"),16)};Yo.base64urlToBuffer=(t,e)=>{let r=wB(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ig([new Uint8Array(e-r.length),r])}return r}});var Bg=w(Qo=>{"use strict";jn();Ho();var Qn=be(),{bigIntegerToUintBase64url:tn,base64urlToBigInteger:rn}=Bc(),{fromString:Tg}=(It(),Nt),{toString:Rg}=(Tt(),Ot);Qo.pkcs1ToJwk=function(t){let e=Qn.asn1.fromDer(Rg(t,"ascii")),r=Qn.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:tn(r.n),e:tn(r.e),d:tn(r.d),p:tn(r.p),q:tn(r.q),dp:tn(r.dP),dq:tn(r.dQ),qi:tn(r.qInv),alg:"RS256",kid:"2011-04-29"}};Qo.jwkToPkcs1=function(t){let e=Qn.pki.privateKeyToAsn1({n:rn(t.n),e:rn(t.e),d:rn(t.d),p:rn(t.p),q:rn(t.q),dP:rn(t.dp),dQ:rn(t.dq),qInv:rn(t.qi)});return Tg(Qn.asn1.toDer(e).getBytes(),"ascii")};Qo.pkixToJwk=function(t){let e=Qn.asn1.fromDer(Rg(t,"ascii")),r=Qn.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:tn(r.n),e:tn(r.e),alg:"RS256",kid:"2011-04-29"}};Qo.jwkToPkix=function(t){let e=Qn.pki.publicKeyToAsn1({n:rn(t.n),e:rn(t.e)});return Tg(Qn.asn1.toDer(e).getBytes(),"ascii")}});var Dg=w((QU,Og)=>{"use strict";Ho();var Pg=be(),{base64urlToBigInteger:_B}=Bc();function Ng(t,e){return e.map(r=>_B(t[r]))}function SB(t){return Pg.pki.setRsaPrivateKey(...Ng(t,["n","e","d","p","q","dp","dq","qi"]))}function xB(t){return Pg.pki.setRsaPublicKey(...Ng(t,["n","e"]))}Og.exports={jwk2pub:xB,jwk2priv:SB}});var qg=w(wn=>{"use strict";var En=Go(),AB=Rc(),{toString:CB}=(Tt(),Ot),{fromString:IB}=(It(),Nt);wn.utils=Bg();wn.generateKey=async function(t){let e=await En.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await Lg(e);return{privateKey:r[0],publicKey:r[1]}};wn.unmarshalPrivateKey=async function(t){let r=[await En.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await TB(t)],n=await Lg({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}};wn.getRandomValues=AB;wn.hashAndSign=async function(t,e){let r=await En.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await En.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,n.byteOffset,n.byteLength)};wn.hashAndVerify=async function(t,e,r){let n=await En.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return En.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)};function Lg(t){return Promise.all([En.get().subtle.exportKey("jwk",t.privateKey),En.get().subtle.exportKey("jwk",t.publicKey)])}function TB(t){return En.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}var{jwk2pub:RB,jwk2priv:BB}=Dg();function kg(t,e,r,n){let i=e?RB(t):BB(t),s=CB(Uint8Array.from(r),"ascii"),o=n(s,i);return IB(o,"ascii")}wn.encrypt=function(t,e){return kg(t,!0,e,(r,n)=>n.encrypt(r))};wn.decrypt=function(t,e){return kg(t,!1,e,(r,n)=>n.decrypt(r))}});var Pc=w((ZU,Ug)=>{"use strict";var{base64:PB}=(qo(),_s),NB=uf();Ug.exports={export:async function(t,e){let n=await NB.create().encrypt(t,e);return PB.encode(n)}}});var jg=w((JU,Vg)=>{"use strict";var{sha256:Mg}=(Bi(),Gn),Fg=de(),{equals:Kg}=(mr(),gr),{toString:OB}=(Tt(),Ot);hf();var Nc=be(),vr=qg(),Oc=cc(),DB=Pc(),Dc=class{constructor(e){this._key=e}async verify(e,r){return vr.hashAndVerify(this._key,r,e)}marshal(){return vr.utils.jwkToPkix(this._key)}get bytes(){return Oc.PublicKey.encode({Type:Oc.KeyType.RSA,Data:this.marshal()}).finish()}encrypt(e){return vr.encrypt(this._key,e)}equals(e){return Kg(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Mg.digest(this.bytes);return e}},Xo=class{constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return vr.getRandomValues(16)}async sign(e){return vr.hashAndSign(this._key,e)}get public(){if(!this._publicKey)throw Fg(new Error("public key not provided"),"ERR_PUBKEY_NOT_PROVIDED");return new Dc(this._publicKey)}decrypt(e){return vr.decrypt(this._key,e)}marshal(){return vr.utils.jwkToPkcs1(this._key)}get bytes(){return Oc.PrivateKey.encode({Type:Oc.KeyType.RSA,Data:this.marshal()}).finish()}equals(e){return Kg(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Mg.digest(this.bytes);return e}async id(){let e=await this.public.hash();return OB(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new Nc.util.ByteBuffer(this.marshal()),i=Nc.asn1.fromDer(n),s=Nc.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Nc.pki.encryptRsaPrivateKey(s,e,o)}else{if(r==="libp2p-key")return DB.export(this.bytes,e);throw Fg(new Error(`export format '${r}' is not supported`),"ERR_INVALID_EXPORT_FORMAT")}}};async function LB(t){let e=vr.utils.pkcs1ToJwk(t),r=await vr.unmarshalPrivateKey(e);return new Xo(r.privateKey,r.publicKey)}function kB(t){let e=vr.utils.pkixToJwk(t);return new Dc(e)}async function qB(t){let e=await vr.unmarshalPrivateKey(t);return new Xo(e.privateKey,e.publicKey)}async function UB(t){let e=await vr.generateKey(t);return new Xo(e.privateKey,e.publicKey)}Vg.exports={RsaPublicKey:Dc,RsaPrivateKey:Xo,unmarshalRsaPublicKey:kB,unmarshalRsaPrivateKey:LB,generateKeyPair:UB,fromJwk:qB}});var Xg=w(Ue=>{"use strict";var MB=Ue&&Ue.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ue,"__esModule",{value:!0});Ue.utils=Ue.curve25519=Ue.getSharedSecret=Ue.verify=Ue.sign=Ue.getPublicKey=Ue.Signature=Ue.Point=Ue.ExtendedPoint=Ue.CURVE=void 0;var FB=MB(Ts()),ht=BigInt(0),_e=BigInt(1),Dt=BigInt(2),$g=BigInt(255),st={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:Dt**$g-BigInt(19),n:Dt**BigInt(252)+BigInt("27742317777372353535851937790883648493"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")};Ue.CURVE=st;var Zo=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),eM=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),KB=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),VB=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),jB=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),$B=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Ve=class{constructor(e,r,n,i){this.x=e,this.y=r,this.z=n,this.t=i}static fromAffine(e){if(!(e instanceof Ze))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return e.equals(Ze.ZERO)?Ve.ZERO:new Ve(e.x,e.y,_e,K(e.x*e.y))}static toAffineBatch(e){let r=GB(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return this.toAffineBatch(e).map(this.fromAffine)}static fromRistrettoHash(e){e=_n(e),Oi(64,e);let r=gf(e.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=gf(e.slice(32,64)),s=this.calcElligatorRistrettoMap(i);return n.add(s)}static calcElligatorRistrettoMap(e){let{d:r}=st,n=K(Zo*e*e),i=K((n+_e)*jB),s=BigInt(-1),o=K((s-r*n)*K(n+r)),{isValid:a,value:c}=vf(i,o),u=K(c*e);Xn(u)||(u=K(-u)),a||(c=u),a||(s=n);let l=K(s*(n-_e)*$B-o),f=c*c,d=K((c+c)*o),p=K(l*KB),h=K(_e-f),g=K(_e+f);return new Ve(K(d*g),K(h*p),K(p*g),K(d*h))}static fromRistrettoBytes(e){e=_n(e),Oi(32,e);let{a:r,d:n}=st,i="ExtendedPoint.fromRistrettoBytes: Cannot convert bytes to Ristretto Point",s=gf(e);if(!WB(Jo(s,32),e)||Xn(s))throw new Error(i);let o=K(s*s),a=K(_e+r*o),c=K(_e-r*o),u=K(a*a),l=K(c*c),f=K(r*n*u-l),{isValid:d,value:p}=Wg(K(f*l)),h=K(p*c),g=K(p*h*f),m=K((s+s)*h);Xn(m)&&(m=K(-m));let S=K(a*g),R=K(m*S);if(!d||Xn(R)||S===ht)throw new Error(i);return new Ve(m,S,_e,R)}toRistrettoBytes(){let{x:e,y:r,z:n,t:i}=this,s=K(K(n+r)*K(n-r)),o=K(e*r),{value:a}=Wg(K(s*o**Dt)),c=K(a*s),u=K(a*o),l=K(c*u*i),f;if(Xn(i*l)){let p=K(r*Zo),h=K(e*Zo);e=p,r=h,f=K(c*VB)}else f=u;Xn(e*l)&&(r=K(-r));let d=K((n-r)*f);return Xn(d)&&(d=K(-d)),Jo(d,32)}equals(e){let r=this,n=e;return K(r.t*n.z)===K(n.t*r.z)}negate(){return new Ve(K(-this.x),this.y,this.z,K(-this.t))}double(){let e=this.x,r=this.y,n=this.z,{a:i}=st,s=K(e**Dt),o=K(r**Dt),a=K(Dt*n**Dt),c=K(i*s),u=K((e+r)**Dt-s-o),l=K(c+o),f=K(l-a),d=K(c-o),p=K(u*f),h=K(l*d),g=K(u*d),m=K(f*l);return new Ve(p,h,m,g)}add(e){let r=this.x,n=this.y,i=this.z,s=this.t,o=e.x,a=e.y,c=e.z,u=e.t,l=K((n-r)*(a+o)),f=K((n+r)*(a-o)),d=K(f-l);if(d===ht)return this.double();let p=K(i*Dt*u),h=K(s*Dt*c),g=K(h+p),m=K(f+l),S=K(h-p),R=K(g*d),L=K(m*S),H=K(g*S),q=K(d*m);return new Ve(R,L,q,H)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){let r=Ns(e),n=Ve.ZERO;if(this.equals(n)||r===_e)return this;let i=n,s=this;for(;r>ht;)r&_e&&(i=i.add(s)),s=s.double(),r>>=_e;return i}precomputeWindow(e){let r=256/e+1,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,r){!r&&this.equals(Ve.BASE)&&(r=Ze.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&pf.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Ve.normalizeZ(i),pf.set(r,i)));let s=Ve.ZERO,o=Ve.ZERO,a=256/n+1,c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let d=0;d<a;d++){let p=d*c,h=Number(e&u);if(e>>=f,h>c&&(h-=l,e+=_e),h===0){let g=i[p];d%2&&(g=g.negate()),o=o.add(g)}else{let g=i[p+Math.abs(h)-1];h<0&&(g=g.negate()),s=s.add(g)}}return[s,o]}multiply(e,r){let n=Ns(e);return Ve.normalizeZ(this.wNAF(n,r))[0]}toAffine(e=mf(this.z)){let r=K(this.x*e),n=K(this.y*e);return new Ze(r,n)}};Ue.ExtendedPoint=Ve;Ve.BASE=new Ve(st.Gx,st.Gy,_e,K(st.Gx*st.Gy));Ve.ZERO=new Ve(ht,_e,_e,ht);var pf=new WeakMap,Ze=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,pf.delete(this)}static fromHex(e){let{d:r,P:n}=st,i=_n(e);Oi(32,i);let s=i.slice();s[31]=i[31]&~128;let o=Ps(s);if(o>=n)throw new Error("Point.fromHex expects hex <= Fp");let a=K(o*o),c=K(a-_e),u=K(r*a+_e),{isValid:l,value:f}=vf(c,u);if(!l)throw new Error("Point.fromHex: invalid y coordinate");let d=(f&_e)===_e;return(i[31]&128)!=0!==d&&(f=K(-f)),new Ze(f,o)}static async fromPrivateKey(e){return(await ea(e)).point}toRawBytes(){let e=Jo(this.y,32);return e[31]|=this.x&_e?128:0,e}toHex(){return yf(this.toRawBytes())}toX25519(){let{y:e}=this;return K((_e+e)*mf(_e-e))}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new Ze(K(-this.x),this.y)}add(e){return Ve.fromAffine(this).add(Ve.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Ve.fromAffine(this).multiply(e,this).toAffine()}};Ue.Point=Ze;Ze.BASE=new Ze(st.Gx,st.Gy);Ze.ZERO=new Ze(ht,_e);var Ni=class{constructor(e,r){if(this.r=e,!(e instanceof Ze))throw new Error("Expected Point instance");this.s=Ns(r)}static fromHex(e){let r=_n(e);Oi(64,r);let n=Ze.fromHex(r.slice(0,32)),i=Ps(r.slice(32,64));return new Ni(n,i)}toRawBytes(){let e=new Uint8Array(64);return e.set(this.r.toRawBytes()),e.set(Jo(this.s,32),32),e}toHex(){return yf(this.toRawBytes())}};Ue.Signature=Ni;function HB(...t){if(!t.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let s=t[n];r.set(s,i),i+=s.length}return r}var zB=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function yf(t){let e="";for(let r=0;r<t.length;r++)e+=zB[t[r]];return e}function Hg(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s))throw new Error("Invalid byte sequence");e[r]=s}return e}function zg(t,e){let r=t.toString(16).padStart(e*2,"0");return Hg(r)}function Jo(t,e){return zg(t,e).reverse()}function Xn(t){return(K(t)&_e)===_e}function Ps(t){if(!(t instanceof Uint8Array))throw new Error(`bytesToNumberLE: expected Uint8Array, got ${t}`);let e=ht,r=BigInt(8);for(let n=0;n<t.length;n++)e+=BigInt(t[n])<<r*BigInt(n);return e}function gf(t){return K(Ps(t)&Dt**$g-_e)}function K(t,e=st.P){let r=t%e;return r>=ht?r:e+r}function mf(t,e=st.P){if(t===ht||e<=ht)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=K(t,e),n=e,i=ht,s=_e,o=_e,a=ht;for(;r!==ht;){let u=n/r,l=n%r,f=i-o*u,d=s-a*u;n=r,r=l,i=o,s=a,o=f,a=d}if(n!==_e)throw new Error("invert: does not exist");return K(i,e)}function GB(t,e=st.P){let r=t.length,n=new Array(r),i=_e;for(let s=0;s<r;s++)t[s]!==ht&&(n[s]=i,i=K(i*t[s],e));i=mf(i,e);for(let s=r-1;s>=0;s--){if(t[s]===ht)continue;let o=K(i*t[s],e);t[s]=K(i*n[s],e),i=o}return t}function kr(t,e){let{P:r}=st,n=t;for(;e-- >ht;)n*=n,n%=r;return n}function Gg(t){let{P:e}=st,r=BigInt(5),n=BigInt(10),i=BigInt(20),s=BigInt(40),o=BigInt(80),c=t*t%e*t%e,u=kr(c,Dt)*c%e,l=kr(u,_e)*t%e,f=kr(l,r)*l%e,d=kr(f,n)*f%e,p=kr(d,i)*d%e,h=kr(p,s)*p%e,g=kr(h,o)*h%e,m=kr(g,o)*h%e,S=kr(m,n)*f%e;return{pow_p_5_8:kr(S,Dt)*t%e,b2:c}}function vf(t,e){let r=K(e*e*e),n=K(r*r*e),i=Gg(t*n).pow_p_5_8,s=K(t*r*i),o=K(e*s*s),a=s,c=K(s*Zo),u=o===t,l=o===K(-t),f=o===K(-t*Zo);return u&&(s=a),(l||f)&&(s=c),Xn(s)&&(s=K(-s)),{isValid:u||l,value:s}}function Wg(t){return vf(_e,t)}async function bf(...t){let e=HB(...t),r=await Ue.utils.sha512(e),n=Ps(r);return K(n,st.n)}function WB(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function _n(t){return t instanceof Uint8Array?Uint8Array.from(t):Hg(t)}function Oi(t,e){if(e.length!==t)throw new Error(`Expected ${t} bytes`)}function Ns(t,e=st.n){if(typeof t=="number"&&t>0&&Number.isSafeInteger(t))return BigInt(t);if(typeof t=="bigint"&&ht<t&&t<e)return t;throw new TypeError("Expected valid scalar: 0 < scalar < max")}function YB(t){let e=typeof t=="bigint"||typeof t=="number"?zg(Ns(t,Dt**BigInt(256)),32):_n(t);return Oi(32,e),e}function Yg(t){return t=_n(t),Oi(32,t),t[0]&=248,t[31]&=127,t[31]|=64,Ps(t)}async function ea(t){let e=await Ue.utils.sha512(YB(t)),r=e.slice(0,32),n=e.slice(32,64),i=K(Yg(r),st.n),s=Ze.BASE.multiply(i),o=s.toRawBytes();return{head:r,prefix:n,scalar:i,point:s,pubBytes:o}}async function QB(t){return(await ea(t)).pubBytes}Ue.getPublicKey=QB;async function XB(t,e){let r=_n(t),{prefix:n,scalar:i,pubBytes:s}=await ea(e),o=await bf(n,r),a=Ze.BASE.multiply(o),c=await bf(a.toRawBytes(),s,r),u=K(o+c*i,st.n);return new Ni(a,u).toRawBytes()}Ue.sign=XB;async function ZB(t,e,r){e=_n(e),r instanceof Ze||(r=Ze.fromHex(r)),t instanceof Ni||(t=Ni.fromHex(t));let n=Ve.BASE.multiply(t.s),i=await bf(t.r.toRawBytes(),r.toRawBytes(),e),s=Ve.fromAffine(r).multiplyUnsafe(i);return Ve.fromAffine(t.r).add(s).subtract(n).multiplyUnsafe(st.h).equals(Ve.ZERO)}Ue.verify=ZB;async function JB(t,e){let{scalar:r}=await ea(t),n=Ze.fromHex(e).toX25519();return Qg(r,n)}Ue.getSharedSecret=JB;Ze.BASE._setWindowSize(8);function Lc(t,e,r){let n=K(t*(e-r));return e=K(e-n),r=K(r+n),[e,r]}function e8(t,e){let{P:r,n}=st,i=Ns(t,r),s=Ns(e,r),o=BigInt(121665),a=i,c=_e,u=ht,l=i,f=_e,d=ht,p;for(let S=BigInt(255-1);S>=ht;S--){let R=s>>S&_e;d^=R,p=Lc(d,c,l),c=p[0],l=p[1],p=Lc(d,u,f),u=p[0],f=p[1],d=R;let L=K(c+u),H=K(L*L),q=K(c-u),k=K(q*q),J=K(H-k),ie=K(l+f),j=K(l-f),we=K(j*L),le=K(ie*q);l=K(K(we+le)**Dt),f=K(a*K(we-le)**Dt),c=K(H*k),u=K(J*(H+K(o*J)))}p=Lc(d,c,l),c=p[0],l=p[1],p=Lc(d,u,f),u=p[0],f=p[1];let{pow_p_5_8:h,b2:g}=Gg(u),m=K(kr(h,BigInt(3))*g);return K(c*m)}function t8(t){return Jo(K(t,st.P),32)}function Qg(t,e){let r=e8(t,e);if(r===ht)throw new Error("Invalid private or public key received");return t8(r)}function r8(t){let e=_n(t);return Oi(32,e),e[31]&=127,Ps(e)}Ue.curve25519={BASE_POINT_U:"0900000000000000000000000000000000000000000000000000000000000000",scalarMult(t,e){let r=r8(e),n=Yg(t);return Qg(r,n)},scalarMultBase(t){return Ue.curve25519.scalarMult(t,Ue.curve25519.BASE_POINT_U)}};var Zn={node:FB.default,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};Ue.utils={TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],bytesToHex:yf,getExtendedPublicKey:ea,randomBytes:(t=32)=>{if(Zn.web)return Zn.web.getRandomValues(new Uint8Array(t));if(Zn.node){let{randomBytes:e}=Zn.node;return new Uint8Array(e(t).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Ue.utils.randomBytes(32),sha512:async t=>{if(Zn.web){let e=await Zn.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(e)}else{if(Zn.node)return Uint8Array.from(Zn.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(t=8,e=Ze.BASE){let r=e.equals(Ze.BASE)?e:new Ze(e.x,e.y);return r._setWindowSize(t),r.multiply(_e),r}}});var Jg=w(Jn=>{"use strict";var ta=Xg(),n8=32,i8=64,kc=32;Jn.publicKeyLength=n8;Jn.privateKeyLength=i8;Jn.generateKey=async function(){let t=ta.utils.randomPrivateKey(),e=await ta.getPublicKey(t);return{privateKey:Zg(t,e),publicKey:e}};Jn.generateKeyFromSeed=async function(t){if(t.length!==kc)throw new TypeError('"seed" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=t,r=await ta.getPublicKey(e);return{privateKey:Zg(e,r),publicKey:r}};Jn.hashAndSign=function(t,e){let r=t.slice(0,kc);return ta.sign(e,r)};Jn.hashAndVerify=function(t,e,r){return ta.verify(e,r,t)};function Zg(t,e){let r=new Uint8Array(Jn.privateKeyLength);for(let n=0;n<kc;n++)r[n]=t[n],r[kc+n]=e[n];return r}});var im=w((nM,nm)=>{"use strict";var em=de(),{equals:tm}=(mr(),gr),{sha256:rm}=(Bi(),Gn),{base58btc:s8}=(qn(),kn),{identity:o8}=(Cc(),zo),Lt=Jg(),qc=cc(),a8=Pc(),Uc=class{constructor(e){this._key=Ds(e,Lt.publicKeyLength)}async verify(e,r){return Lt.hashAndVerify(this._key,r,e)}marshal(){return this._key}get bytes(){return qc.PublicKey.encode({Type:qc.KeyType.Ed25519,Data:this.marshal()}).finish()}equals(e){return tm(this.bytes,e.bytes)}async hash(){let{bytes:e}=await rm.digest(this.bytes);return e}},Os=class{constructor(e,r){this._key=Ds(e,Lt.privateKeyLength),this._publicKey=Ds(r,Lt.publicKeyLength)}async sign(e){return Lt.hashAndSign(this._key,e)}get public(){return new Uc(this._publicKey)}marshal(){return this._key}get bytes(){return qc.PrivateKey.encode({Type:qc.KeyType.Ed25519,Data:this.marshal()}).finish()}equals(e){return tm(this.bytes,e.bytes)}async hash(){let{bytes:e}=await rm.digest(this.bytes);return e}async id(){let e=await o8.digest(this.public.bytes);return s8.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return a8.export(this.bytes,e);throw em(new Error(`export format '${r}' is not supported`),"ERR_INVALID_EXPORT_FORMAT")}};function c8(t){if(t.length>Lt.privateKeyLength){t=Ds(t,Lt.privateKeyLength+Lt.publicKeyLength);let n=t.slice(0,Lt.privateKeyLength),i=t.slice(Lt.privateKeyLength,t.length);return new Os(n,i)}t=Ds(t,Lt.privateKeyLength);let e=t.slice(0,Lt.privateKeyLength),r=t.slice(Lt.publicKeyLength);return new Os(e,r)}function u8(t){return t=Ds(t,Lt.publicKeyLength),new Uc(t)}async function l8(){let{privateKey:t,publicKey:e}=await Lt.generateKey();return new Os(t,e)}async function f8(t){let{privateKey:e,publicKey:r}=await Lt.generateKeyFromSeed(t);return new Os(e,r)}function Ds(t,e){if(t=Uint8Array.from(t||[]),t.length!==e)throw em(new Error(`Key must be a Uint8Array of length ${e}, got ${t.length}`),"ERR_INVALID_KEY_TYPE");return t}nm.exports={Ed25519PublicKey:Uc,Ed25519PrivateKey:Os,unmarshalEd25519PrivateKey:c8,unmarshalEd25519PublicKey:u8,generateKeyPair:l8,generateKeyPairFromSeed:f8}});var _m=w(Ae=>{"use strict";var d8=Ae&&Ae.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Ae,"__esModule",{value:!0});Ae.utils=Ae.schnorr=Ae.verify=Ae.signSync=Ae.sign=Ae.getSharedSecret=Ae.recoverPublicKey=Ae.getPublicKey=Ae.Signature=Ae.Point=Ae.CURVE=void 0;var h8=d8(Ts()),Pe=BigInt(0),ut=BigInt(1),pt=BigInt(2),ra=BigInt(3),p8=BigInt(8),Ef=pt**BigInt(256),ze={a:Pe,b:BigInt(7),P:Ef-pt**BigInt(32)-BigInt(977),n:Ef-BigInt("432420386565659656852420866394968145599"),h:ut,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")};Ae.CURVE=ze;function sm(t){let{a:e,b:r}=ze,n=re(t*t),i=re(n*t);return re(i+e*t+r)}var Mc=ze.a===Pe,Ne=class{constructor(e,r,n){this.x=e,this.y=r,this.z=n}static fromAffine(e){if(!(e instanceof De))throw new TypeError("JacobianPoint#fromAffine: expected Point");return new Ne(e.x,e.y,ut)}static toAffineBatch(e){let r=v8(e.map(n=>n.z));return e.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(e){return Ne.toAffineBatch(e).map(Ne.fromAffine)}equals(e){let r=this,n=e,i=re(r.z*r.z),s=re(r.z*i),o=re(n.z*n.z),a=re(n.z*o);return re(r.x*o)===re(i*n.x)&&re(r.y*a)===re(s*n.y)}negate(){return new Ne(this.x,re(-this.y),this.z)}double(){let e=this.x,r=this.y,n=this.z,i=re(e**pt),s=re(r**pt),o=re(s**pt),a=re(pt*(re(re((e+s)**pt))-i-o)),c=re(ra*i),u=re(c**pt),l=re(u-pt*a),f=re(c*(a-l)-p8*o),d=re(pt*r*n);return new Ne(l,f,d)}add(e){if(!(e instanceof Ne))throw new TypeError("JacobianPoint#add: expected JacobianPoint");let r=this.x,n=this.y,i=this.z,s=e.x,o=e.y,a=e.z;if(s===Pe||o===Pe)return this;if(r===Pe||n===Pe)return e;let c=re(i**pt),u=re(a**pt),l=re(r*u),f=re(s*c),d=re(n*a*u),p=re(re(o*i)*c),h=re(f-l),g=re(p-d);if(h===Pe)return g===Pe?this.double():Ne.ZERO;let m=re(h**pt),S=re(h*m),R=re(l*m),L=re(g**pt-S-pt*R),H=re(g*(R-L)-d*S),q=re(i*a*h);return new Ne(L,H,q)}subtract(e){return this.add(e.negate())}multiplyUnsafe(e){let r=um(e);if(!Mc){let l=Ne.ZERO,f=this;for(;r>Pe;)r&ut&&(l=l.add(f)),f=f.double(),r>>=ut;return l}let{k1neg:n,k1:i,k2neg:s,k2:o}=fm(r),a=Ne.ZERO,c=Ne.ZERO,u=this;for(;i>Pe||o>Pe;)i&ut&&(a=a.add(u)),o&ut&&(c=c.add(u)),u=u.double(),i>>=ut,o>>=ut;return n&&(a=a.negate()),s&&(c=c.negate()),c=new Ne(re(c.x*ze.beta),c.y,c.z),a.add(c)}precomputeWindow(e){let r=Mc?128/e+1:256/e+1,n=[],i=this,s=i;for(let o=0;o<r;o++){s=i,n.push(s);for(let a=1;a<2**(e-1);a++)s=s.add(i),n.push(s);i=s.double()}return n}wNAF(e,r){!r&&this.equals(Ne.BASE)&&(r=De.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&wf.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Ne.normalizeZ(i),wf.set(r,i)));let s=Ne.ZERO,o=Ne.ZERO,a=Mc?128/n+1:256/n+1,c=2**(n-1),u=BigInt(2**n-1),l=2**n,f=BigInt(n);for(let d=0;d<a;d++){let p=d*c,h=Number(e&u);if(e>>=f,h>c&&(h-=l,e+=ut),h===0){let g=i[p];d%2&&(g=g.negate()),o=o.add(g)}else{let g=i[p+Math.abs(h)-1];h<0&&(g=g.negate()),s=s.add(g)}}return{p:s,f:o}}multiply(e,r){let n=um(e),i,s;if(Mc){let{k1neg:o,k1:a,k2neg:c,k2:u}=fm(n),{p:l,f}=this.wNAF(a,r),{p:d,f:p}=this.wNAF(u,r);o&&(l=l.negate()),c&&(d=d.negate()),d=new Ne(re(d.x*ze.beta),d.y,d.z),i=l.add(d),s=f.add(p)}else{let{p:o,f:a}=this.wNAF(n,r);i=o,s=a}return Ne.normalizeZ([i,s])[0]}toAffine(e=ia(this.z)){let r=e**pt,n=re(this.x*r),i=re(this.y*r*e);return new De(n,i)}};Ne.BASE=new Ne(ze.Gx,ze.Gy,ut);Ne.ZERO=new Ne(Pe,ut,Pe);var wf=new WeakMap,De=class{constructor(e,r){this.x=e,this.y=r}_setWindowSize(e){this._WINDOW_SIZE=e,wf.delete(this)}static fromCompressedHex(e){let r=e.length===32,n=br(r?e:e.slice(1)),i=sm(n),s=m8(i),o=(s&ut)===ut;return r?o&&(s=re(-s)):(e[0]&1)==1!==o&&(s=re(-s)),new De(n,s)}static fromUncompressedHex(e){let r=br(e.slice(1,33)),n=br(e.slice(33)),i=new De(r,n);return i.assertValidity(),i}static fromHex(e){let r=xn(e),n=r[0];if(r.length===32||r.length===33&&(n===2||n===3))return this.fromCompressedHex(r);if(r.length===65&&n===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-33 compressed bytes or 65 uncompressed bytes, not ${r.length}`)}static fromPrivateKey(e){return De.BASE.multiply(sa(e))}static fromSignature(e,r,n){e=xn(e);let i=dm(e),{r:s,s:o}=pm(r);if(n!==0&&n!==1)throw new Error("Cannot recover signature: invalid recovery bit");if(i===Pe)throw new Error("Cannot recover signature: msgHash cannot be 0");let a=2+(n&1),c=De.fromHex(`0${a}${Sn(s)}`),u=Ne.fromAffine(c).multiplyUnsafe(o),l=Ne.BASE.multiply(i),f=ia(s,ze.n),p=u.subtract(l).multiplyUnsafe(f).toAffine();return p.assertValidity(),p}toRawBytes(e=!1){return ei(this.toHex(e))}toHex(e=!1){let r=Sn(this.x);return e?`${this.y&ut?"03":"02"}${r}`:`04${r}${Sn(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let e="Point is not on elliptic curve",{x:r,y:n}=this;if(!xf(r)||!xf(n))throw new Error(e);let i=re(n*n),s=sm(r);if(re(i-s)!==Pe)throw new Error(e)}equals(e){return this.x===e.x&&this.y===e.y}negate(){return new De(this.x,re(-this.y))}double(){return Ne.fromAffine(this).double().toAffine()}add(e){return Ne.fromAffine(this).add(Ne.fromAffine(e)).toAffine()}subtract(e){return this.add(e.negate())}multiply(e){return Ne.fromAffine(this).multiply(e,this).toAffine()}};Ae.Point=De;De.BASE=new De(ze.Gx,ze.Gy);De.ZERO=new De(Pe,Pe);function om(t){return Number.parseInt(t[0],16)>=8?"00"+t:t}function am(t){if(t.length<2||t[0]!==2)throw new Error(`Invalid signature integer tag: ${Ls(t)}`);let e=t[1],r=t.subarray(2,e+2);if(!e||r.length!==e)throw new Error("Invalid signature integer: wrong length");if(r[0]===0&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:br(r),left:t.subarray(e+2)}}function y8(t){if(t.length<2||t[0]!=48)throw new Error(`Invalid signature tag: ${Ls(t)}`);if(t[1]!==t.length-2)throw new Error("Invalid signature: incorrect length");let{data:e,left:r}=am(t.subarray(2)),{data:n,left:i}=am(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Ls(i)}`);return{r:e,s:n}}var nn=class{constructor(e,r){this.r=e,this.s=r,this.assertValidity()}static fromCompact(e){let r=Di(e),n="Signature.fromCompact";if(typeof e!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?Ls(e):e;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new nn(Fc(i.slice(0,64)),Fc(i.slice(64,128)))}static fromDER(e){let r=Di(e);if(typeof e!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=y8(r?e:ei(e));return new nn(n,i)}static fromHex(e){return this.fromDER(e)}assertValidity(){let{r:e,s:r}=this;if(!Li(e))throw new Error("Invalid Signature: r must be 0 < r < n");if(!Li(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let e=ze.n>>ut;return this.s>e}normalizeS(){return this.hasHighS()?new nn(this.r,ze.n-this.s):this}toDERRawBytes(e=!1){return ei(this.toDERHex(e))}toDERHex(e=!1){let r=om(na(this.s));if(e)return r;let n=om(na(this.r)),i=na(n.length/2),s=na(r.length/2);return`30${na(n.length/2+r.length/2+4)}02${i}${n}02${s}${r}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return ei(this.toCompactHex())}toCompactHex(){return Sn(this.r)+Sn(this.s)}};Ae.Signature=nn;function _f(...t){if(!t.every(Di))throw new Error("Uint8Array list expected");if(t.length===1)return t[0];let e=t.reduce((n,i)=>n+i.length,0),r=new Uint8Array(e);for(let n=0,i=0;n<t.length;n++){let s=t[n];r.set(s,i),i+=s.length}return r}function Di(t){return t instanceof Uint8Array}var g8=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Ls(t){if(!Di(t))throw new Error("Expected Uint8Array");let e="";for(let r=0;r<t.length;r++)e+=g8[t[r]];return e}function Sn(t){if(t>Ef)throw new Error("Expected number < 2^256");return t.toString(16).padStart(64,"0")}function cm(t){return ei(Sn(t))}function na(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Fc(t){if(typeof t!="string")throw new TypeError("hexToNumber: expected string, got "+typeof t);return BigInt(`0x${t}`)}function ei(t){if(typeof t!="string")throw new TypeError("hexToBytes: expected string, got "+typeof t);if(t.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+t.length);let e=new Uint8Array(t.length/2);for(let r=0;r<e.length;r++){let n=r*2,i=t.slice(n,n+2),s=Number.parseInt(i,16);if(Number.isNaN(s))throw new Error("Invalid byte sequence");e[r]=s}return e}function br(t){return Fc(Ls(t))}function xn(t){return Di(t)?Uint8Array.from(t):ei(t)}function um(t){if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)return BigInt(t);if(typeof t=="bigint"&&Li(t))return t;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function re(t,e=ze.P){let r=t%e;return r>=0?r:e+r}function Er(t,e){let{P:r}=ze,n=t;for(;e-- >Pe;)n*=n,n%=r;return n}function m8(t){let{P:e}=ze,r=BigInt(6),n=BigInt(11),i=BigInt(22),s=BigInt(23),o=BigInt(44),a=BigInt(88),c=t*t*t%e,u=c*c*t%e,l=Er(u,ra)*u%e,f=Er(l,ra)*u%e,d=Er(f,pt)*c%e,p=Er(d,n)*d%e,h=Er(p,i)*p%e,g=Er(h,o)*h%e,m=Er(g,a)*g%e,S=Er(m,o)*h%e,R=Er(S,ra)*u%e,L=Er(R,s)*p%e,H=Er(L,r)*c%e;return Er(H,pt)}function ia(t,e=ze.P){if(t===Pe||e<=Pe)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=re(t,e),n=e,i=Pe,s=ut,o=ut,a=Pe;for(;r!==Pe;){let u=n/r,l=n%r,f=i-o*u,d=s-a*u;n=r,r=l,i=o,s=a,o=f,a=d}if(n!==ut)throw new Error("invert: does not exist");return re(i,e)}function v8(t,e=ze.P){let r=t.length,n=new Array(r),i=ut;for(let s=0;s<r;s++)t[s]!==Pe&&(n[s]=i,i=re(i*t[s],e));i=ia(i,e);for(let s=r-1;s>=0;s--){if(t[s]===Pe)continue;let o=re(i*t[s],e);t[s]=re(i*n[s],e),i=o}return t}var lm=(t,e)=>(t+e/pt)/e,Kc=pt**BigInt(128);function fm(t){let{n:e}=ze,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-ut*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=lm(s*t,e),a=lm(-n*t,e),c=re(t-o*r-a*i,e),u=re(-o*n-a*s,e),l=c>Kc,f=u>Kc;if(l&&(c=e-c),f&&(u=e-u),c>Kc||u>Kc)throw new Error("splitScalarEndo: Endomorphism failed");return{k1neg:l,k1:c,k2neg:f,k2:u}}function dm(t){let{n:e}=ze,n=t.length*8-256,i=br(t);return n>0&&(i=i>>BigInt(n)),i>=e&&(i-=e),i}var Sf=class{constructor(){this.v=new Uint8Array(32).fill(1),this.k=new Uint8Array(32).fill(0),this.counter=0}hmac(...e){return Ae.utils.hmacSha256(this.k,...e)}hmacSync(...e){if(typeof Ae.utils.hmacSha256Sync!="function")throw new Error("utils.hmacSha256Sync is undefined, you need to set it");let r=Ae.utils.hmacSha256Sync(this.k,...e);if(r instanceof Promise)throw new Error("To use sync sign(), ensure utils.hmacSha256 is sync");return r}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(e=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),e),this.v=await this.hmac(this.v),e.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),e),this.v=await this.hmac(this.v))}reseedSync(e=new Uint8Array){this.k=this.hmacSync(this.v,Uint8Array.from([0]),e),this.v=this.hmacSync(this.v),e.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),e),this.v=this.hmacSync(this.v))}async generate(){return this.incr(),this.v=await this.hmac(this.v),this.v}generateSync(){return this.incr(),this.v=this.hmacSync(this.v),this.v}};function Li(t){return Pe<t&&t<ze.n}function xf(t){return Pe<t&&t<ze.P}function hm(t,e,r){let n=br(t);if(!Li(n))return;let{n:i}=ze,s=De.BASE.multiply(n),o=re(s.x,i);if(o===Pe)return;let a=re(ia(n,i)*re(e+r*o,i),i);if(a===Pe)return;let c=new nn(o,a),u=(s.x===c.r?0:2)|Number(s.y&ut);return{sig:c,recovery:u}}function sa(t){let e;if(typeof t=="bigint")e=t;else if(typeof t=="number"&&Number.isSafeInteger(t)&&t>0)e=BigInt(t);else if(typeof t=="string"){if(t.length!==64)throw new Error("Expected 32 bytes of private key");e=Fc(t)}else if(Di(t)){if(t.length!==32)throw new Error("Expected 32 bytes of private key");e=br(t)}else throw new TypeError("Expected valid private key");if(!Li(e))throw new Error("Expected private key: 0 < key < n");return e}function Af(t){return t instanceof De?(t.assertValidity(),t):De.fromHex(t)}function pm(t){if(t instanceof nn)return t.assertValidity(),t;try{return nn.fromDER(t)}catch(e){return nn.fromCompact(t)}}function b8(t,e=!1){return De.fromPrivateKey(t).toRawBytes(e)}Ae.getPublicKey=b8;function E8(t,e,r){return De.fromSignature(t,e,r).toRawBytes()}Ae.recoverPublicKey=E8;function ym(t){let e=Di(t),r=typeof t=="string",n=(e||r)&&t.length;return e?n===33||n===65:r?n===66||n===130:t instanceof De}function w8(t,e,r=!1){if(ym(t))throw new TypeError("getSharedSecret: first arg must be private key");if(!ym(e))throw new TypeError("getSharedSecret: second arg must be public key");let n=Af(e);return n.assertValidity(),n.multiply(sa(t)).toRawBytes(r)}Ae.getSharedSecret=w8;function gm(t){let e=t.length>32?t.slice(0,32):t;return br(e)}function _8(t){let e=gm(t),r=re(e,ze.n);return mm(r<Pe?e:r)}function mm(t){if(typeof t!="bigint")throw new Error("Expected bigint");let e=Sn(t);return ei(e)}function vm(t,e,r){if(t==null)throw new Error(`sign: expected valid message hash, not "${t}"`);let n=xn(t),i=sa(e),s=[mm(i),_8(n)];if(r!=null){r===!0&&(r=Ae.utils.randomBytes(32));let c=xn(r);if(c.length!==32)throw new Error("sign: Expected 32 bytes of extra data");s.push(c)}let o=_f(...s),a=gm(n);return{seed:o,m:a,d:i}}function bm(t,e){let{sig:r,recovery:n}=t,{canonical:i,der:s,recovered:o}=Object.assign({canonical:!0,der:!0},e);i&&r.hasHighS()&&(r=r.normalizeS(),n^=1);let a=s?r.toDERRawBytes():r.toCompactRawBytes();return o?[a,n]:a}async function S8(t,e,r={}){let{seed:n,m:i,d:s}=vm(t,e,r.extraEntropy),o,a=new Sf;for(await a.reseed(n);!(o=hm(await a.generate(),i,s));)await a.reseed();return bm(o,r)}Ae.sign=S8;function x8(t,e,r={}){let{seed:n,m:i,d:s}=vm(t,e,r.extraEntropy),o,a=new Sf;for(a.reseedSync(n);!(o=hm(a.generateSync(),i,s));)a.reseedSync();return bm(o,r)}Ae.signSync=x8;var A8={strict:!0};function C8(t,e,r,n=A8){let i;try{i=pm(t),e=xn(e)}catch(S){return!1}let{r:s,s:o}=i;if(n.strict&&i.hasHighS())return!1;let a=dm(e);if(a===Pe)return!1;let c;try{c=Ne.fromAffine(Af(r))}catch(S){return!1}let{n:u}=ze,l=ia(o,u),f=re(a*l,u),d=re(s*l,u),p=Ne.BASE.multiply(f),h=c.multiplyUnsafe(d),g=p.add(h).toAffine();return re(g.x,u)===s}Ae.verify=C8;async function Cf(t,...e){let r=new Uint8Array(t.split("").map(s=>s.charCodeAt(0))),n=await Ae.utils.sha256(r),i=await Ae.utils.sha256(_f(n,n,...e));return br(i)}async function Em(t,e,r){let n=cm(t),i=await Cf("BIP0340/challenge",n,e.toRawX(),r);return re(i,ze.n)}function If(t){return re(t.y,pt)===Pe}var ki=class{constructor(e,r){if(this.r=e,this.s=r,!xf(e)||!Li(r))throw new Error("Invalid signature")}static fromHex(e){let r=xn(e);if(r.length!==64)throw new TypeError(`SchnorrSignature.fromHex: expected 64 bytes, not ${r.length}`);let n=br(r.slice(0,32)),i=br(r.slice(32,64));return new ki(n,i)}toHex(){return Sn(this.r)+Sn(this.s)}toRawBytes(){return ei(this.toHex())}};function I8(t){return De.fromPrivateKey(t).toRawX()}async function T8(t,e,r=Ae.utils.randomBytes()){if(t==null)throw new TypeError(`sign: Expected valid message, not "${t}"`);let{n}=ze,i=xn(t),s=sa(e),o=xn(r);if(o.length!==32)throw new TypeError("sign: Expected 32 bytes of aux randomness");let a=De.fromPrivateKey(s),c=If(a)?s:n-s,u=await Cf("BIP0340/aux",o),l=c^u,f=await Cf("BIP0340/nonce",cm(l),a.toRawX(),i),d=re(f,n);if(d===Pe)throw new Error("sign: Creation of signature failed. k is zero");let p=De.fromPrivateKey(d),h=If(p)?d:n-d,g=await Em(p.x,a,i),m=new ki(p.x,re(h+g*c,n));if(!await wm(m.toRawBytes(),i,a.toRawX()))throw new Error("sign: Invalid signature produced");return m.toRawBytes()}async function wm(t,e,r){let n=t instanceof ki?t:ki.fromHex(t),i=xn(e),s=Af(r),o=await Em(n.r,s,i),a=De.fromPrivateKey(n.s),c=s.multiply(o),u=a.subtract(c);return!(u.equals(De.BASE)||!If(u)||u.x!==n.r)}Ae.schnorr={Signature:ki,getPublicKey:I8,sign:T8,verify:wm};De.BASE._setWindowSize(8);var nr={node:h8.default,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};Ae.utils={isValidPrivateKey(t){try{return sa(t),!0}catch(e){return!1}},randomBytes:(t=32)=>{if(nr.web)return nr.web.getRandomValues(new Uint8Array(t));if(nr.node){let{randomBytes:e}=nr.node;return Uint8Array.from(e(t))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>{let t=8;for(;t--;){let e=Ae.utils.randomBytes(32),r=br(e);if(Li(r)&&r!==ut)return e}throw new Error("Valid private key was not found in 8 iterations. PRNG is broken")},bytesToHex:Ls,mod:re,sha256:async t=>{if(nr.web){let e=await nr.web.subtle.digest("SHA-256",t.buffer);return new Uint8Array(e)}else if(nr.node){let{createHash:e}=nr.node;return Uint8Array.from(e("sha256").update(t).digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(t,...e)=>{if(nr.web){let r=await nr.web.subtle.importKey("raw",t,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=_f(...e),i=await nr.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(nr.node){let{createHmac:r}=nr.node,n=r("sha256",t);return e.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,precompute(t=8,e=De.BASE){let r=e===De.BASE?e:new De(e.x,e.y);return r._setWindowSize(t),r.multiply(ra),r}}});var Am=w((sM,xm)=>{"use strict";var oa=de(),ti=_m(),{sha256:Sm}=(Bi(),Gn);xm.exports=()=>{let t=32;function e(){return ti.utils.randomPrivateKey()}async function r(u,l){let{digest:f}=await Sm.digest(l);try{return await ti.sign(f,u)}catch(d){throw oa(d,"ERR_INVALID_INPUT")}}async function n(u,l,f){try{let{digest:d}=await Sm.digest(f);return ti.verify(l,d,u)}catch(d){throw oa(d,"ERR_INVALID_INPUT")}}function i(u){return ti.Point.fromHex(u).toRawBytes(!0)}function s(u){return ti.Point.fromHex(u).toRawBytes(!1)}function o(u){try{ti.getPublicKey(u,!0)}catch(l){throw oa(l,"ERR_INVALID_PRIVATE_KEY")}}function a(u){try{ti.Point.fromHex(u)}catch(l){throw oa(l,"ERR_INVALID_PUBLIC_KEY")}}function c(u){try{return ti.getPublicKey(u,!0)}catch(l){throw oa(l,"ERR_INVALID_PRIVATE_KEY")}}return{generateKey:e,privateKeyLength:t,hashAndSign:r,hashAndVerify:n,compressPublicKey:i,decompressPublicKey:s,validatePrivateKey:o,validatePublicKey:a,computePublicKey:c}}});var Rm=w((oM,Tm)=>{"use strict";var{sha256:Cm}=(Bi(),Gn),R8=de(),{equals:Im}=(mr(),gr),{toString:B8}=(Tt(),Ot),P8=Pc();Tm.exports=(t,e,r)=>{r=r||Am()();class n{constructor(u){r.validatePublicKey(u),this._key=u}verify(u,l){return r.hashAndVerify(this._key,l,u)}marshal(){return r.compressPublicKey(this._key)}get bytes(){return t.PublicKey.encode({Type:t.KeyType.Secp256k1,Data:this.marshal()}).finish()}equals(u){return Im(this.bytes,u.bytes)}async hash(){let{bytes:u}=await Cm.digest(this.bytes);return u}}class i{constructor(u,l){this._key=u,this._publicKey=l||r.computePublicKey(u),r.validatePrivateKey(this._key),r.validatePublicKey(this._publicKey)}sign(u){return r.hashAndSign(this._key,u)}get public(){return new n(this._publicKey)}marshal(){return this._key}get bytes(){return t.PrivateKey.encode({Type:t.KeyType.Secp256k1,Data:this.marshal()}).finish()}equals(u){return Im(this.bytes,u.bytes)}async hash(){let{bytes:u}=await Cm.digest(this.bytes);return u}async id(){let u=await this.public.hash();return B8(u,"base58btc")}async export(u,l="libp2p-key"){if(l==="libp2p-key")return P8.export(this.bytes,u);throw R8(new Error(`export format '${l}' is not supported`),"ERR_INVALID_EXPORT_FORMAT")}}function s(c){return new i(c)}function o(c){return new n(c)}async function a(){let c=await r.generateKey();return new i(c)}return{Secp256k1PublicKey:n,Secp256k1PrivateKey:i,unmarshalSecp256k1PrivateKey:s,unmarshalSecp256k1PublicKey:o,generateKeyPair:a}}});var Pm=w((aM,Bm)=>{"use strict";Bm.exports={SHA1:20,SHA256:32,SHA512:64}});var Tf=w(Om=>{"use strict";var Nm=Go(),N8=Pm(),O8={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},D8=async(t,e)=>{let r=await Nm.get().subtle.sign({name:"HMAC"},t,e);return new Uint8Array(r,r.byteOffset,r.byteLength)};Om.create=async function(t,e){let r=O8[t],n=await Nm.get().subtle.importKey("raw",e,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(i){return D8(n,i)},length:N8[t]}}});var Um=w((uM,qm)=>{"use strict";var Dm=de(),{concat:Lm}=(Yn(),Wn),{fromString:L8}=(It(),Nt),k8=Tf(),km={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,cipherKeySize:32}};qm.exports=async(t,e,r)=>{let n=km[t];if(!n){let R=Object.keys(km).join(" / ");throw Dm(new Error(`unknown cipher type '${t}'. Must be ${R}`),"ERR_INVALID_CIPHER_TYPE")}if(!e)throw Dm(new Error("missing hash type"),"ERR_MISSING_HASH_TYPE");let i=n.keySize,s=n.ivSize,o=20,a=L8("key expansion"),c=2*(s+i+o),u=await k8.create(e,r),l=await u.digest(a),f=[],d=0;for(;d<c;){let R=await u.digest(Lm([l,a])),L=R.length;d+L>c&&(L=c-d),f.push(R),d+=L,l=await u.digest(l)}let p=c/2,h=Lm(f),g=h.slice(0,p),m=h.slice(p,c),S=R=>({iv:R.slice(0,s),cipherKey:R.slice(s,s+i),macKey:R.slice(s+i)});return{k1:S(g),k2:S(m)}}});var Fm=w((lM,Mm)=>{"use strict";var q8=de();Mm.exports=function(t,e){if(!t.includes(e)){let r=t.join(" / ");throw q8(new Error(`Unknown curve: ${e}. Must be ${r}`),"ERR_INVALID_CURVE")}}});var zm=w(Hm=>{"use strict";var U8=de(),aa=Go(),{base64urlToBuffer:Km}=Bc(),M8=Fm(),{toString:Rf}=(Tt(),Ot),{concat:F8}=(Yn(),Wn),{equals:K8}=(mr(),gr),Vm={"P-256":256,"P-384":384,"P-521":521};Hm.generateEphmeralKeyPair=async function(t){M8(Object.keys(Vm),t);let e=await aa.get().subtle.generateKey({name:"ECDH",namedCurve:t},!0,["deriveBits"]),r=async(i,s)=>{let o;s?o=await aa.get().subtle.importKey("jwk",j8(t,s),{name:"ECDH",namedCurve:t},!1,["deriveBits"]):o=e.privateKey;let a=[await aa.get().subtle.importKey("jwk",$m(t,i),{name:"ECDH",namedCurve:t},!1,[]),o],c=await aa.get().subtle.deriveBits({name:"ECDH",namedCurve:t,public:a[0]},a[1],Vm[t]);return new Uint8Array(c,c.byteOffset,c.byteLength)},n=await aa.get().subtle.exportKey("jwk",e.publicKey);return{key:V8(n),genSharedKey:r}};var jm={"P-256":32,"P-384":48,"P-521":66};function V8(t){let e=jm[t.crv];return F8([Uint8Array.from([4]),Km(t.x,e),Km(t.y,e)],1+e*2)}function $m(t,e){let r=jm[t];if(K8(!e.slice(0,1),Uint8Array.from([4])))throw U8(new Error("Cannot unmarshal public key - invalid key format"),"ERR_INVALID_KEY_FORMAT");return{kty:"EC",crv:t,x:Rf(e.slice(1,r+1),"base64url"),y:Rf(e.slice(1+r),"base64url"),ext:!0}}var j8=(t,e)=>({...$m(t,e.public),d:Rf(e.private,"base64url")})});var Wm=w((dM,Gm)=>{"use strict";var $8=zm();Gm.exports=async t=>$8.generateEphmeralKeyPair(t)});var jc=w((hM,Qm)=>{"use strict";var sn=cc();jn();Xl();var Bf=be(),ca=de(),{fromString:H8}=(It(),Nt),z8=vg(),wr={rsa:jg(),ed25519:im(),secp256k1:Rm()(sn,Rc())},Vc={message:"secp256k1 support requires libp2p-crypto-secp256k1 package",code:"ERR_MISSING_PACKAGE"};function ks(t){let e=wr[t.toLowerCase()];if(!e){let r=Object.keys(wr).join(" / ");throw ca(new Error(`invalid or unsupported key type ${t}. Must be ${r}`),"ERR_UNSUPPORTED_KEY_TYPE")}return e}var G8=async(t,e)=>ks(t).generateKeyPair(e),W8=async(t,e,r)=>{let n=ks(t);if(t.toLowerCase()!=="ed25519")throw ca(new Error("Seed key derivation is unimplemented for RSA or secp256k1"),"ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return n.generateKeyPairFromSeed(e,r)},Y8=t=>{let e=sn.PublicKey.decode(t),r=e.Data;switch(e.Type){case sn.KeyType.RSA:return wr.rsa.unmarshalRsaPublicKey(r);case sn.KeyType.Ed25519:return wr.ed25519.unmarshalEd25519PublicKey(r);case sn.KeyType.Secp256k1:if(wr.secp256k1)return wr.secp256k1.unmarshalSecp256k1PublicKey(r);throw ca(new Error(Vc.message),Vc.code);default:ks(e.Type)}},Q8=(t,e)=>(e=(e||"rsa").toLowerCase(),ks(e),t.bytes),Ym=async t=>{let e=sn.PrivateKey.decode(t),r=e.Data;switch(e.Type){case sn.KeyType.RSA:return wr.rsa.unmarshalRsaPrivateKey(r);case sn.KeyType.Ed25519:return wr.ed25519.unmarshalEd25519PrivateKey(r);case sn.KeyType.Secp256k1:if(wr.secp256k1)return wr.secp256k1.unmarshalSecp256k1PrivateKey(r);throw ca(new Error(Vc.message),Vc.code);default:ks(e.Type)}},X8=(t,e)=>(e=(e||"rsa").toLowerCase(),ks(e),t.bytes),Z8=async(t,e)=>{try{let i=await z8.import(t,e);return Ym(i)}catch(i){}let r=Bf.pki.decryptRsaPrivateKey(t,e);if(r===null)throw ca(new Error("Cannot read the key, most likely the password is wrong or not a RSA key"),"ERR_CANNOT_DECRYPT_PEM");let n=Bf.asn1.toDer(Bf.pki.privateKeyToAsn1(r));return n=H8(n.getBytes(),"ascii"),wr.rsa.unmarshalRsaPrivateKey(n)};Qm.exports={supportedKeys:wr,keysPBM:sn,keyStretcher:Um(),generateEphemeralKeyPair:Wm(),generateKeyPair:G8,generateKeyPairFromSeed:W8,unmarshalPublicKey:Y8,marshalPublicKey:Q8,unmarshalPrivateKey:Ym,marshalPrivateKey:X8,import:Z8}});var Xm=w((pM,Pf)=>{"use strict";function J8(t,{className:e,symbolName:r}){let n=Symbol.for(r),i={[e]:class extends t{constructor(...s){super(...s);Object.defineProperty(this,n,{value:!0})}get[Symbol.toStringTag](){return e}}}[e];return i[`is${e}`]=s=>!!(s&&s[n]),i}function eP(t,{className:e,symbolName:r,withoutNew:n}){let i=Symbol.for(r),s={[e]:function(...o){if(n&&!(this instanceof s))return new s(...o);let a=t.call(this,...o)||this;return a&&!a[i]&&Object.defineProperty(a,i,{value:!0}),a}}[e];return s.prototype=Object.create(t.prototype),s.prototype.constructor=s,Object.defineProperty(s.prototype,Symbol.toStringTag,{get(){return e}}),s[`is${e}`]=o=>!!(o&&o[i]),s}Pf.exports=J8;Pf.exports.proto=eP});var ev=w((yM,Jm)=>{"use strict";var qs=gn(),Zm=qs.Reader,tP=qs.Writer,Et=qs.util,ua=qs.roots["libp2p-peer-id"]||(qs.roots["libp2p-peer-id"]={});ua.PeerIdProto=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.id=Et.newBuffer([]),t.prototype.pubKey=Et.newBuffer([]),t.prototype.privKey=Et.newBuffer([]),t.encode=function(r,n){return n||(n=tP.create()),n.uint32(10).bytes(r.id),r.pubKey!=null&&Object.hasOwnProperty.call(r,"pubKey")&&n.uint32(18).bytes(r.pubKey),r.privKey!=null&&Object.hasOwnProperty.call(r,"privKey")&&n.uint32(26).bytes(r.privKey),n},t.decode=function(r,n){r instanceof Zm||(r=Zm.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new ua.PeerIdProto;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.id=r.bytes();break;case 2:s.pubKey=r.bytes();break;case 3:s.privKey=r.bytes();break;default:r.skipType(o&7);break}}if(!s.hasOwnProperty("id"))throw Et.ProtocolError("missing required 'id'",{instance:s});return s},t.fromObject=function(r){if(r instanceof ua.PeerIdProto)return r;var n=new ua.PeerIdProto;return r.id!=null&&(typeof r.id=="string"?Et.base64.decode(r.id,n.id=Et.newBuffer(Et.base64.length(r.id)),0):r.id.length&&(n.id=r.id)),r.pubKey!=null&&(typeof r.pubKey=="string"?Et.base64.decode(r.pubKey,n.pubKey=Et.newBuffer(Et.base64.length(r.pubKey)),0):r.pubKey.length&&(n.pubKey=r.pubKey)),r.privKey!=null&&(typeof r.privKey=="string"?Et.base64.decode(r.privKey,n.privKey=Et.newBuffer(Et.base64.length(r.privKey)),0):r.privKey.length&&(n.privKey=r.privKey)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(n.bytes===String?i.id="":(i.id=[],n.bytes!==Array&&(i.id=Et.newBuffer(i.id))),n.bytes===String?i.pubKey="":(i.pubKey=[],n.bytes!==Array&&(i.pubKey=Et.newBuffer(i.pubKey))),n.bytes===String?i.privKey="":(i.privKey=[],n.bytes!==Array&&(i.privKey=Et.newBuffer(i.privKey)))),r.id!=null&&r.hasOwnProperty("id")&&(i.id=n.bytes===String?Et.base64.encode(r.id,0,r.id.length):n.bytes===Array?Array.prototype.slice.call(r.id):r.id),r.pubKey!=null&&r.hasOwnProperty("pubKey")&&(i.pubKey=n.bytes===String?Et.base64.encode(r.pubKey,0,r.pubKey.length):n.bytes===Array?Array.prototype.slice.call(r.pubKey):r.pubKey),r.privKey!=null&&r.hasOwnProperty("privKey")&&(i.privKey=n.bytes===String?Et.base64.encode(r.privKey,0,r.privKey.length):n.bytes===Array?Array.prototype.slice.call(r.privKey):r.privKey),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,qs.util.toJSONOptions)},t}();Jm.exports=ua});var Rt=w((kt,cv)=>{"use strict";var{CID:Nf}=(ws(),ko),rP=(wi(),Ei),nP=(pl(),tc),iP=(qn(),kn),sP=(qo(),_s),{base58btc:Of}=(qn(),kn),{base32:oP}=(wi(),Ei),{base16:tv}=(yl(),rc),la=(bi(),Do),on=jc(),aP=Xm(),{PeerIdProto:rv}=ev(),{equals:qi}=(mr(),gr),{fromString:fa}=(It(),Nt),{toString:cP}=(Tt(),Ot),{identity:$c}=(Cc(),zo),nv={...rP,...nP,...iP,...sP},uP=Object.keys(nv).reduce((t,e)=>t.or(nv[e]),oP.decoder),lP=112,iv=114,sv=class{constructor(e,r,n){if(!(e instanceof Uint8Array))throw new Error("invalid id provided");if(r&&n&&!qi(r.public.bytes,n.bytes))throw new Error("inconsistent arguments");this._id=e,this._idB58String=Of.encode(this.id).substring(1),this._privKey=r,this._pubKey=n}get id(){return this._id}set id(e){throw new Error("Id is immutable")}get privKey(){return this._privKey}set privKey(e){this._privKey=e}get pubKey(){if(this._pubKey)return this._pubKey;if(this._privKey)return this._privKey.public;try{let e=la.decode(this.id);e.code===$c.code&&(this._pubKey=on.unmarshalPublicKey(e.digest))}catch(e){}return this._pubKey}set pubKey(e){this._pubKey=e}marshalPubKey(){if(this.pubKey)return on.marshalPublicKey(this.pubKey)}marshalPrivKey(){if(this.privKey)return on.marshalPrivateKey(this.privKey)}marshal(e){return rv.encode({id:this.toBytes(),pubKey:this.marshalPubKey(),privKey:e?null:this.marshalPrivKey()}).finish()}toPrint(){let e=this.toB58String();e.startsWith("Qm")&&(e=e.slice(2));let r=6;return e.length<r&&(r=e.length),"<peer.ID "+e.substr(0,r)+">"}toJSON(){return{id:this.toB58String(),privKey:av(this.marshalPrivKey()),pubKey:av(this.marshalPubKey())}}toHexString(){return tv.encode(this.id).substring(1)}toBytes(){return this.id}toB58String(){return this._idB58String}toString(){if(!this._idCIDString){let e=Nf.createV1(iv,la.decode(this.id));Object.defineProperty(this,"_idCIDString",{value:e.toString(),enumerable:!1})}return this._idCIDString}equals(e){if(e instanceof Uint8Array)return qi(this.id,e);if(e.id)return qi(this.id,e.id);throw new Error("not valid Id")}isEqual(e){return this.equals(e)}isValid(){return Boolean(this.privKey&&this.privKey.public&&this.privKey.public.bytes&&this.pubKey.bytes instanceof Uint8Array&&qi(this.privKey.public.bytes,this.pubKey.bytes))}hasInlinePublicKey(){try{if(la.decode(this.id).code===$c.code)return!0}catch(e){}return!1}},an=aP(sv,{className:"PeerId",symbolName:"@libp2p/js-peer-id/PeerId"});kt=cv.exports=an;var da=t=>t.bytes.length<=42?la.create($c.code,t.bytes).bytes:t.hash(),Df=async(t,e)=>{let r=await da(e);return new an(r,t,e)};kt.create=async t=>{t=t||{},t.bits=t.bits||2048,t.keyType=t.keyType||"RSA";let e=await on.generateKeyPair(t.keyType,t.bits);return Df(e,e.public)};kt.createFromHexString=t=>new an(tv.decode("f"+t));kt.createFromBytes=t=>{try{let e=Nf.decode(t);if(!ov(e))throw new Error("Supplied PeerID CID is invalid");return kt.createFromCID(e)}catch{if(la.decode(t).code!==$c.code)throw new Error("Supplied PeerID CID is invalid");return new an(t)}};kt.createFromB58String=t=>kt.createFromBytes(Of.decode("z"+t));var ov=t=>t.code===iv||t.code===lP;kt.createFromCID=t=>{if(t=Nf.asCID(t),!t||!ov(t))throw new Error("Supplied PeerID CID is invalid");return new an(t.multihash.bytes)};kt.createFromPubKey=async t=>{let e=t;if(typeof e=="string"&&(e=fa(t,"base64pad")),!(e instanceof Uint8Array))throw new Error("Supplied key is neither a base64 string nor a Uint8Array");let r=await on.unmarshalPublicKey(e);return Df(void 0,r)};kt.createFromPrivKey=async t=>{if(typeof t=="string"&&(t=fa(t,"base64pad")),!(t instanceof Uint8Array))throw new Error("Supplied key is neither a base64 string nor a Uint8Array");let e=await on.unmarshalPrivateKey(t);return Df(e,e.public)};kt.createFromJSON=async t=>{let e=Of.decode("z"+t.id),r=t.privKey&&fa(t.privKey,"base64pad"),n=t.pubKey&&fa(t.pubKey,"base64pad"),i=n&&await on.unmarshalPublicKey(n);if(!r)return new an(e,void 0,i);let s=await on.unmarshalPrivateKey(r),o=await da(s.public),a;if(i&&(a=await da(i)),i&&!qi(o,a))throw new Error("Public and private key do not match");if(e&&!qi(o,e))throw new Error("Id and private key do not match");return new an(e,s,i)};kt.createFromProtobuf=async t=>{typeof t=="string"&&(t=fa(t,"base16"));let{id:e,privKey:r,pubKey:n}=rv.decode(t);r=r?await on.unmarshalPrivateKey(r):!1,n=n?await on.unmarshalPublicKey(n):!1;let i,s;if(r&&(s=await da(r.public)),n&&(i=await da(n)),r){if(n&&!qi(s,i))throw new Error("Public and private key do not match");return new an(s,r,r.public)}if(n)return new an(i,void 0,n);if(e)return new an(e);throw new Error("Protobuf did not contain any usable key material")};kt.parse=t=>((t.charAt(0)==="1"||t.charAt(0)==="Q")&&(t=`z${t}`),kt.createFromBytes(uP.decode(t)));kt.isPeerId=t=>Boolean(typeof t=="object"&&t._id&&t._idB58String);function av(t){if(t)return cP(t,"base64pad")}});var kf=w((gM,lv)=>{"use strict";var uv="[a-fA-F\\d:]",ri=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${uv})|(?<=${uv})(?=\\s|$))`:"",qr="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",mt="[a-fA-F\\d]{1,4}",Hc=`
|
|
30
30
|
(?:
|
|
31
31
|
(?:${mt}:){7}(?:${mt}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
32
32
|
(?:${mt}:){6}(?:${qr}|:${mt}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
|
|
@@ -37,12 +37,12 @@ if (cid) {
|
|
|
37
37
|
(?:${mt}:){1}(?:(?::${mt}){0,4}:${qr}|(?::${mt}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
38
38
|
(?::(?:(?::${mt}){0,5}:${qr}|(?::${mt}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
|
|
39
39
|
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
|
|
40
|
-
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),dP=new RegExp(`(?:^${qr}$)|(?:^${Hc}$)`),hP=new RegExp(`^${qr}$`),pP=new RegExp(`^${Hc}$`),qf=t=>t&&t.exact?dP:new RegExp(`(?:${ri(t)}${qr}${ri(t)})|(?:${ri(t)}${Hc}${ri(t)})`,"g");qf.v4=t=>t&&t.exact?hP:new RegExp(`${ri(t)}${qr}${ri(t)}`,"g");qf.v6=t=>t&&t.exact?pP:new RegExp(`${ri(t)}${Hc}${ri(t)}`,"g");pv.exports=qf});var Ff=w((EM,yv)=>{"use strict";var Mf=Uf(),Us=t=>Mf({exact:!0}).test(t);Us.v4=t=>Mf.v4({exact:!0}).test(t);Us.v6=t=>Mf.v6({exact:!0}).test(t);Us.version=t=>Us(t)?Us.v4(t)?4:6:void 0;yv.exports=Us});var Ev=w((wM,bv)=>{"use strict";var Kf=Ff(),{toString:gv}=(Tt(),Ot),yP=Kf,Vf=Kf.v4,mv=Kf.v6,vv=function(t,e,r){r=~~r;let n;if(Vf(t))n=e||new Uint8Array(r+4),t.split(/\./g).map(function(i){n[r++]=parseInt(i,10)&255});else if(mv(t)){let i=t.split(":",8),s;for(s=0;s<i.length;s++){let o=Vf(i[s]),a;o&&(a=vv(i[s]),i[s]=gv(a.slice(0,2),"base16")),a&&++s<8&&i.splice(s,0,gv(a.slice(2,4),"base16"))}if(i[0]==="")for(;i.length<8;)i.unshift("0");else if(i[i.length-1]==="")for(;i.length<8;)i.push("0");else if(i.length<8){for(s=0;s<i.length&&i[s]!=="";s++);let o=[s,"1"];for(s=9-i.length;s>0;s--)o.push("0");i.splice.apply(i,o)}for(n=e||new Uint8Array(r+16),s=0;s<i.length;s++){let o=parseInt(i[s],16);n[r++]=o>>8&255,n[r++]=o&255}}if(!n)throw Error("Invalid ip address: "+t);return n},gP=function(t,e,r){e=~~e,r=r||t.length-e;let n=[],i,s=new DataView(t.buffer);if(r===4){for(let o=0;o<r;o++)n.push(t[e+o]);i=n.join(".")}else if(r===16){for(let o=0;o<r;o+=2)n.push(s.getUint16(e+o).toString(16));i=n.join(":"),i=i.replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3"),i=i.replace(/:{3,4}/,"::")}return i};bv.exports={isIP:yP,isV4:Vf,isV6:mv,toBytes:vv,toString:gP}});var ha=w((_M,_v)=>{"use strict";function Jt(t){if(typeof t=="number"){if(Jt.codes[t])return Jt.codes[t];throw new Error("no protocol with code: "+t)}else if(typeof t=="string"){if(Jt.names[t])return Jt.names[t];throw new Error("no protocol with name: "+t)}throw new Error("invalid protocol id type: "+t)}var _r=-1;Jt.lengthPrefixedVarSize=_r;Jt.V=_r;Jt.table=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,_r,"ip6zone"],[53,_r,"dns","resolvable"],[54,_r,"dns4","resolvable"],[55,_r,"dns6","resolvable"],[56,_r,"dnsaddr","resolvable"],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,_r,"unix",!1,"path"],[421,_r,"ipfs"],[421,_r,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,_r,"garlic64"],[460,0,"quic"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,_r,"memory"]];Jt.names={};Jt.codes={};Jt.table.map(t=>{let e=wv.apply(null,t);return Jt.codes[e.code]=e,Jt.names[e.name]=e,null});Jt.object=wv;function wv(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:Boolean(n),path:Boolean(i)}}_v.exports=Jt});var Av=w((xM,Sv)=>{Sv.exports=jf;var xv=128,mP=127,vP=~mP,bP=Math.pow(2,31);function jf(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw jf.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=bP;)e[r++]=t&255|xv,t/=128;for(;t&vP;)e[r++]=t&255|xv,t>>>=7;return e[r]=t|0,jf.bytes=r-n+1,e}});var Tv=w((SM,Iv)=>{Iv.exports=$f;var EP=128,Cv=127;function $f(t,e){var r=0,e=e||0,n=0,i=e,s,o=t.length;do{if(i>=o||n>49)throw $f.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=n<28?(s&Cv)<<n:(s&Cv)*Math.pow(2,n),n+=7}while(s>=EP);return $f.bytes=i-e,r}});var Bv=w((AM,Rv)=>{var wP=Math.pow(2,7),_P=Math.pow(2,14),xP=Math.pow(2,21),SP=Math.pow(2,28),AP=Math.pow(2,35),CP=Math.pow(2,42),IP=Math.pow(2,49),TP=Math.pow(2,56),RP=Math.pow(2,63);Rv.exports=function(t){return t<wP?1:t<_P?2:t<xP?3:t<SP?4:t<AP?5:t<CP?6:t<IP?7:t<TP?8:t<RP?9:10}});var Ui=w((CM,Pv)=>{Pv.exports={encode:Av(),decode:Tv(),encodingLength:Bv()}});var Mv=w((IM,Uv)=>{"use strict";var zc=Ev(),Nv=ha(),{CID:BP}=(ws(),ko),{base32:Ov}=(wi(),Ei),{base58btc:PP}=(qn(),kn),NP=(bi(),Do),Ms=Ui(),{toString:Gc}=(Tt(),Ot),{fromString:Dv}=(It(),Nt),{concat:Wc}=(Yn(),Wn);Uv.exports=pa;function pa(t,e){return e instanceof Uint8Array?pa.toString(t,e):pa.toBytes(t,e)}pa.toString=function(e,r){switch(Nv(e).code){case 4:case 41:return OP(r);case 6:case 273:case 33:case 132:return kv(r).toString();case 53:case 54:case 55:case 56:case 400:case 777:return LP(r);case 421:return qP(r);case 444:return qv(r);case 445:return qv(r);default:return Gc(r,"base16")}};pa.toBytes=function(e,r){switch(Nv(e).code){case 4:return Lv(r);case 41:return Lv(r);case 6:case 273:case 33:case 132:return Hf(parseInt(r,10));case 53:case 54:case 55:case 56:case 400:case 777:return DP(r);case 421:return kP(r);case 444:return UP(r);case 445:return MP(r);default:return Dv(r,"base16")}};function Lv(t){if(!zc.isIP(t))throw new Error("invalid ip address");return zc.toBytes(t)}function OP(t){let e=zc.toString(t);if(!e||!zc.isIP(e))throw new Error("invalid ip address");return e}function Hf(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function kv(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function DP(t){let e=Dv(t),r=Uint8Array.from(Ms.encode(e.length));return Wc([r,e],r.length+e.length)}function LP(t){let e=Ms.decode(t);if(t=t.slice(Ms.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return Gc(t)}function kP(t){let e;t[0]==="Q"||t[0]==="1"?e=NP.decode(PP.decode(`z${t}`)).bytes:e=BP.parse(t).multihash.bytes;let r=Uint8Array.from(Ms.encode(e.length));return Wc([r,e],r.length+e.length)}function qP(t){let e=Ms.decode(t),r=t.slice(Ms.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return Gc(r,"base58btc")}function UP(t){let e=t.split(":");if(e.length!==2)throw new Error("failed to parse onion addr: "+e+" does not contain a port number");if(e[0].length!==16)throw new Error("failed to parse onion addr: "+e[0]+" not a Tor onion address.");let r=Ov.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Hf(n);return Wc([r,i],r.length+i.length)}function MP(t){let e=t.split(":");if(e.length!==2)throw new Error("failed to parse onion addr: "+e+" does not contain a port number");if(e[0].length!==56)throw new Error("failed to parse onion addr: "+e[0]+" not a Tor onion3 address.");let r=Ov.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Hf(n);return Wc([r,i],r.length+i.length)}function qv(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=Gc(e,"base32"),i=kv(r);return n+":"+i}});var Xv=w((TM,Qv)=>{"use strict";var Fv=Mv(),zf=ha(),ya=Ui(),{concat:Kv}=(Yn(),Wn),{toString:FP}=(Tt(),Ot);Qv.exports={stringToStringTuples:Vv,stringTuplesToString:jv,tuplesToStringTuples:Hv,stringTuplesToTuples:$v,bytesToTuples:Gf,tuplesToBytes:zv,bytesToString:KP,stringToBytes:Wv,fromString:VP,fromBytes:Yv,validateBytes:Wf,isValidBytes:jP,cleanPath:Yc,ParseError:Yf,protoFromTuple:ga,sizeForAddr:Gv};function Vv(t){let e=[],r=t.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let i=r[n],s=zf(i);if(s.size===0){e.push([i]);continue}if(n++,n>=r.length)throw Yf("invalid address: "+t);if(s.path){e.push([i,Yc(r.slice(n).join("/"))]);break}e.push([i,r[n]])}return e}function jv(t){let e=[];return t.map(r=>{let n=ga(r);return e.push(n.name),r.length>1&&e.push(r[1]),null}),Yc(e.join("/"))}function $v(t){return t.map(e=>{Array.isArray(e)||(e=[e]);let r=ga(e);return e.length>1?[r.code,Fv.toBytes(r.code,e[1])]:[r.code]})}function Hv(t){return t.map(e=>{let r=ga(e);return e[1]?[r.code,Fv.toString(r.code,e[1])]:[r.code]})}function zv(t){return Yv(Kv(t.map(e=>{let r=ga(e),n=Uint8Array.from(ya.encode(r.code));return e.length>1&&(n=Kv([n,e[1]])),n})))}function Gv(t,e){return t.size>0?t.size/8:t.size===0?0:ya.decode(e)+ya.decode.bytes}function Gf(t){let e=[],r=0;for(;r<t.length;){let n=ya.decode(t,r),i=ya.decode.bytes,s=zf(n),o=Gv(s,t.slice(r+i));if(o===0){e.push([n]),r+=i;continue}let a=t.slice(r+i,r+i+o);if(r+=o+i,r>t.length)throw Yf("Invalid address Uint8Array: "+FP(t,"base16"));e.push([n,a])}return e}function KP(t){let e=Gf(t),r=Hv(e);return jv(r)}function Wv(t){t=Yc(t);let e=Vv(t),r=$v(e);return zv(r)}function VP(t){return Wv(t)}function Yv(t){let e=Wf(t);if(e)throw e;return Uint8Array.from(t)}function Wf(t){try{Gf(t)}catch(e){return e}}function jP(t){return Wf(t)===void 0}function Yc(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Yf(t){return new Error("Error parsing address: "+t)}function ga(t){return zf(t[0])}});var qt=w((RM,e1)=>{"use strict";var Ur=Xv(),Fs=ha(),Zv=Ui(),{CID:$P}=(ws(),ko),{base58btc:HP}=(qn(),kn),zP=de(),GP=Symbol.for("nodejs.util.inspect.custom"),{toString:Qc}=(Tt(),Ot),{equals:WP}=(mr(),gr),Qf=new Map,Jv=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Ht=class{constructor(e){if(e==null&&(e=""),Object.defineProperty(this,Jv,{value:!0}),e instanceof Uint8Array)this.bytes=Ur.fromBytes(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);this.bytes=Ur.fromString(e)}else if(Ht.isMultiaddr(e))this.bytes=Ur.fromBytes(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return Ur.bytesToString(this.bytes)}toJSON(){return this.toString()}toOptions(){let e={},r=this.toString().split("/");return e.family=r[1]==="ip4"?4:6,e.host=r[2],e.transport=r[3],e.port=parseInt(r[4]),e}protos(){return this.protoCodes().map(e=>Object.assign({},Fs(e)))}protoCodes(){let e=[],r=this.bytes,n=0;for(;n<r.length;){let i=Zv.decode(r,n),s=Zv.decode.bytes,o=Fs(i);n+=Ur.sizeForAddr(o,r.slice(n+s))+s,e.push(i)}return e}protoNames(){return this.protos().map(e=>e.name)}tuples(){return Ur.bytesToTuples(this.bytes)}stringTuples(){let e=Ur.bytesToTuples(this.bytes);return Ur.tuplesToStringTuples(e)}encapsulate(e){return e=new Ht(e),new Ht(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error("Address "+this+" does not contain subaddress: "+e);return new Ht(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new Ht(Ur.tuplesToBytes(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===Fs.names.ipfs.code).pop();if(r&&r[1]){let n=r[1];return n[0]==="Q"||n[0]==="1"?Qc(HP.decode(`z${n}`),"base58btc"):Qc($P.parse(n).multihash.bytes,"base58btc")}return null}catch(e){return null}}getPath(){let e=null;try{e=this.stringTuples().filter(r=>!!Fs(r[0]).path)[0][1],e||(e=null)}catch(r){e=null}return e}equals(e){return WP(this.bytes,e.bytes)}async resolve(){let e=this.protos().find(i=>i.resolvable);if(!e)return[this];let r=Qf.get(e.name);if(!r)throw zP(new Error(`no available resolver for ${e.name}`),"ERR_NO_AVAILABLE_RESOLVER");return(await r(this)).map(i=>new Ht(i))}nodeAddress(){let e=this.protoCodes(),r=this.protoNames(),n=this.toString().split("/").slice(1);if(n.length<4)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6}/{address}/{tcp, udp}/{port}".');if(e[0]!==4&&e[0]!==41&&e[0]!==54&&e[0]!==55)throw new Error(`no protocol with name: "'${r[0]}'". Must have a valid family name: "{ip4, ip6, dns4, dns6}".`);if(n[2]!=="tcp"&&n[2]!=="udp")throw new Error(`no protocol with name: "'${r[1]}'". Must have a valid transport protocol: "{tcp, udp}".`);return{family:e[0]===41||e[0]===55?6:4,address:n[1],port:parseInt(n[3])}}isThinWaistAddress(e){let r=(e||this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}static fromNodeAddress(e,r){if(!e)throw new Error("requires node address object");if(!r)throw new Error("requires transport protocol");let n;switch(e.family){case 4:n="ip4";break;case 6:n="ip6";break;default:throw Error(`Invalid addr family. Got '${e.family}' instead of 4 or 6`)}return new Ht("/"+[n,e.address,r,e.port].join("/"))}static isName(e){return Ht.isMultiaddr(e)?e.protos().some(r=>r.resolvable):!1}static isMultiaddr(e){return e instanceof Ht||Boolean(e&&e[Jv])}[GP](){return"<Multiaddr "+Qc(this.bytes,"base16")+" - "+Ur.bytesToString(this.bytes)+">"}inspect(){return"<Multiaddr "+Qc(this.bytes,"base16")+" - "+Ur.bytesToString(this.bytes)+">"}};Ht.protocols=Fs;Ht.resolvers=Qf;function YP(t){return new Ht(t)}e1.exports={Multiaddr:Ht,multiaddr:YP,protocols:Fs,resolvers:Qf}});var Mi=w((BM,t1)=>{"use strict";var QP=async t=>{let e=[];for await(let r of t)e.push(r);return e};t1.exports=QP});var r1,Xf,n1=xe(()=>{r1=Po(Mi()),Xf=(t,e)=>async function*(){yield*(await(0,r1.default)(t)).sort(e)}()});var ma=w((NM,i1)=>{"use strict";var XP=async t=>{for await(let e of t);};i1.exports=XP});var Fi=w((OM,s1)=>{"use strict";var ZP=async function*(t,e){for await(let r of t)await e(r)&&(yield r)};s1.exports=ZP});var Zf=w((DM,o1)=>{"use strict";var JP=async function*(t,e){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}};o1.exports=JP});var Jf,Ki,ed,td,a1=xe(()=>{n1();Jf=Po(ma()),Ki=Po(Fi()),ed=Po(Zf()),td=class{open(){return Promise.reject(new Error(".open is not implemented"))}close(){return Promise.reject(new Error(".close is not implemented"))}put(e,r,n){return Promise.reject(new Error(".put is not implemented"))}get(e,r){return Promise.reject(new Error(".get is not implemented"))}has(e,r){return Promise.reject(new Error(".has is not implemented"))}delete(e,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,r={}){for await(let{key:n,value:i}of e)await this.put(n,i,r),yield{key:n,value:i}}async*getMany(e,r={}){for await(let n of e)yield this.get(n,r)}async*deleteMany(e,r={}){for await(let n of e)await this.delete(n,r),yield n}batch(){let e=[],r=[];return{put(n,i){e.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await(0,Jf.default)(this.putMany(e,n)),e=[],await(0,Jf.default)(this.deleteMany(r,n)),r=[]}}}async*_all(e,r){throw new Error("._all is not implemented")}async*_allKeys(e,r){throw new Error("._allKeys is not implemented")}query(e,r){let n=this._all(e,r);if(e.prefix!=null&&(n=(0,Ki.default)(n,i=>i.key.toString().startsWith(e.prefix))),Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>(0,Ki.default)(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>Xf(i,s),n)),e.offset!=null){let i=0;n=(0,Ki.default)(n,()=>i++>=e.offset)}return e.limit!=null&&(n=(0,ed.default)(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null&&(n=(0,Ki.default)(n,i=>i.toString().startsWith(e.prefix))),Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>(0,Ki.default)(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>Xf(i,s),n)),e.offset!=null){let i=0;n=(0,Ki.default)(n,()=>i++>=e.offset)}return e.limit!=null&&(n=(0,ed.default)(n,e.limit)),n}}});var c1,u1=xe(()=>{c1="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"});var nd={};gt(nd,{customAlphabet:()=>eN,customRandom:()=>f1,nanoid:()=>rd,random:()=>l1,urlAlphabet:()=>c1});var l1,f1,eN,rd,Xc=xe(()=>{u1();l1=t=>crypto.getRandomValues(new Uint8Array(t)),f1=(t,e,r)=>{let n=(2<<Math.log(t.length-1)/Math.LN2)-1,i=-~(1.6*n*e/t.length);return()=>{let s="";for(;;){let o=r(i),a=i;for(;a--;)if(s+=t[o[a]&n]||"",s.length===e)return s}}},eN=(t,e)=>f1(t,e,l1),rd=(t=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(t));for(;t--;){let n=r[t]&63;n<36?e+=n.toString(36):n<62?e+=(n-26).toString(36).toUpperCase():n<63?e+="_":e+="-"}return e}});var id={};gt(id,{Key:()=>Bt});function tN(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function rN(t){let e=t.split(":");return e[e.length-1]}function nN(t){return[].concat(...t)}var An,d1,Zc,Bt,Jc=xe(()=>{Xc();Tt();It();An="/",d1=new TextEncoder().encode(An),Zc=d1[0],Bt=class{constructor(e,r){if(typeof e=="string")this._buf=lf(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Zc)throw new Error("Invalid key")}toString(e="utf8"){return df(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new Bt(e.join(An))}static random(){return new Bt(rd().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new Bt(e):e.uint8Array?new Bt(e.uint8Array()):null}clean(){if((!this._buf||this._buf.byteLength===0)&&(this._buf=d1),this._buf[0]!==Zc){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Zc,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Zc;)this._buf=this._buf.subarray(0,-1)}less(e){let r=this.list(),n=e.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let s=r[i],o=n[i];if(s<o)return!0;if(s>o)return!1}return r.length<n.length}reverse(){return Bt.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(An).slice(1)}type(){return tN(this.baseNamespace())}name(){return rN(this.baseNamespace())}instance(e){return new Bt(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(An)||(e+=An),e+=this.type(),new Bt(e)}parent(){let e=this.list();return e.length===1?new Bt(An):new Bt(e.slice(0,-1).join(An))}child(e){return this.toString()===An?e:e.toString()===An?this:new Bt(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return Bt.withNamespaces([...this.namespaces(),...nN(e.map(r=>r.namespaces()))])}}});function p1(t){return t=t||new Error("Not Found"),(0,h1.default)(t,"ERR_NOT_FOUND")}var h1,y1=xe(()=>{h1=Po(de())});var m1={};gt(m1,{MemoryDatastore:()=>g1});var g1,v1=xe(()=>{a1();Jc();y1();g1=class extends td{constructor(){super();this.data={}}open(){return Promise.resolve()}close(){return Promise.resolve()}async put(e,r){this.data[e.toString()]=r}async get(e){if(!await this.has(e))throw p1();return this.data[e.toString()]}async has(e){return this.data[e.toString()]!==void 0}async delete(e){delete this.data[e.toString()]}async*_all(){yield*Object.entries(this.data).map(([e,r])=>({key:new Bt(e),value:r}))}async*_allKeys(){yield*Object.entries(this.data).map(([e])=>new Bt(e))}}});var je=w(sd=>{"use strict";sd.messages={NOT_STARTED_YET:"The libp2p node is not started yet",DHT_DISABLED:"DHT is not available",CONN_ENCRYPTION_REQUIRED:"At least one connection encryption module is required",NOT_FOUND:"Not found"};sd.codes={DHT_DISABLED:"ERR_DHT_DISABLED",PUBSUB_NOT_STARTED:"ERR_PUBSUB_NOT_STARTED",DHT_NOT_STARTED:"ERR_DHT_NOT_STARTED",CONN_ENCRYPTION_REQUIRED:"ERR_CONN_ENCRYPTION_REQUIRED",ERR_PEER_DIAL_INTERCEPTED:"ERR_PEER_DIAL_INTERCEPTED",ERR_CONNECTION_INTERCEPTED:"ERR_CONNECTION_INTERCEPTED",ERR_INVALID_PROTOCOLS_FOR_STREAM:"ERR_INVALID_PROTOCOLS_FOR_STREAM",ERR_CONNECTION_ENDED:"ERR_CONNECTION_ENDED",ERR_CONNECTION_FAILED:"ERR_CONNECTION_FAILED",ERR_NODE_NOT_STARTED:"ERR_NODE_NOT_STARTED",ERR_ALREADY_ABORTED:"ERR_ALREADY_ABORTED",ERR_TOO_MANY_ADDRESSES:"ERR_TOO_MANY_ADDRESSES",ERR_NO_VALID_ADDRESSES:"ERR_NO_VALID_ADDRESSES",ERR_RELAYED_DIAL:"ERR_RELAYED_DIAL",ERR_DIALED_SELF:"ERR_DIALED_SELF",ERR_DISCOVERED_SELF:"ERR_DISCOVERED_SELF",ERR_DUPLICATE_TRANSPORT:"ERR_DUPLICATE_TRANSPORT",ERR_ENCRYPTION_FAILED:"ERR_ENCRYPTION_FAILED",ERR_HOP_REQUEST_FAILED:"ERR_HOP_REQUEST_FAILED",ERR_INVALID_KEY:"ERR_INVALID_KEY",ERR_INVALID_MESSAGE:"ERR_INVALID_MESSAGE",ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS",ERR_INVALID_PEER:"ERR_INVALID_PEER",ERR_MUXER_UNAVAILABLE:"ERR_MUXER_UNAVAILABLE",ERR_NOT_FOUND:"ERR_NOT_FOUND",ERR_TIMEOUT:"ERR_TIMEOUT",ERR_TRANSPORT_UNAVAILABLE:"ERR_TRANSPORT_UNAVAILABLE",ERR_TRANSPORT_DIAL_FAILED:"ERR_TRANSPORT_DIAL_FAILED",ERR_UNSUPPORTED_PROTOCOL:"ERR_UNSUPPORTED_PROTOCOL",ERR_INVALID_MULTIADDR:"ERR_INVALID_MULTIADDR",ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID",ERR_FIND_SELF:"ERR_FIND_SELF",ERR_NO_ROUTERS_AVAILABLE:"ERR_NO_ROUTERS_AVAILABLE",ERR_CONNECTION_NOT_MULTIPLEXED:"ERR_CONNECTION_NOT_MULTIPLEXED",ERR_NO_DIAL_TOKENS:"ERR_NO_DIAL_TOKENS",ERR_KEYCHAIN_REQUIRED:"ERR_KEYCHAIN_REQUIRED",ERR_INVALID_CMS:"ERR_INVALID_CMS",ERR_MISSING_KEYS:"ERR_MISSING_KEYS",ERR_NO_KEY:"ERR_NO_KEY",ERR_INVALID_KEY_NAME:"ERR_INVALID_KEY_NAME",ERR_INVALID_KEY_TYPE:"ERR_INVALID_KEY_TYPE",ERR_KEY_ALREADY_EXISTS:"ERR_KEY_ALREADY_EXISTS",ERR_INVALID_KEY_SIZE:"ERR_INVALID_KEY_SIZE",ERR_KEY_NOT_FOUND:"ERR_KEY_NOT_FOUND",ERR_OLD_KEY_NAME_INVALID:"ERR_OLD_KEY_NAME_INVALID",ERR_NEW_KEY_NAME_INVALID:"ERR_NEW_KEY_NAME_INVALID",ERR_PASSWORD_REQUIRED:"ERR_PASSWORD_REQUIRED",ERR_PEM_REQUIRED:"ERR_PEM_REQUIRED",ERR_CANNOT_READ_KEY:"ERR_CANNOT_READ_KEY",ERR_MISSING_PRIVATE_KEY:"ERR_MISSING_PRIVATE_KEY",ERR_INVALID_OLD_PASS_TYPE:"ERR_INVALID_OLD_PASS_TYPE",ERR_INVALID_NEW_PASS_TYPE:"ERR_INVALID_NEW_PASS_TYPE",ERR_INVALID_PASS_LENGTH:"ERR_INVALID_PASS_LENGTH",ERR_NOT_IMPLEMENTED:"ERR_NOT_IMPLEMENTED",ERR_WRONG_PING_ACK:"ERR_WRONG_PING_ACK"}});var od=w((GM,b1)=>{"use strict";var iN=async function*(t,e){for await(let r of t)yield e(r)};b1.exports=iN});var ad=w((WM,E1)=>{"use strict";var sN=de(),oN=Fi(),aN=od(),cN=Zf();async function*uN(t,e){yield*aN(t,async r=>(await e.addressBook.add(r.id,r.multiaddrs),r))}function lN(t){let e=new Set;return oN(t,r=>e.has(r.id.toString())?!1:(e.add(r.id.toString()),!0))}async function*fN(t,e=1){let r=0;for await(let n of t)r++,yield n;if(r<e)throw sN(new Error("not found"),"NOT_FOUND")}function dN(t,e){return e?cN(t,e):t}E1.exports={storeAddresses:uN,uniquePeers:lN,requirePeers:fN,maybeLimitSource:dN}});var _1=w((YM,w1)=>{"use strict";w1.exports=function(){return Date.now()}});var va=w((QM,S1)=>{"use strict";var eu=_1(),x1=class{constructor(e,r,n){let i=this;this._started=eu(),this._rescheduled=0,this._scheduled=r,this._args=n,this._triggered=!1,this._timerWrapper=()=>{i._rescheduled>0?(i._scheduled=i._rescheduled-(eu()-i._started),i._schedule(i._scheduled)):(i._triggered=!0,e.apply(null,i._args))},this._timer=setTimeout(this._timerWrapper,r)}reschedule(e){e||(e=this._scheduled);let r=eu();r+e-(this._started+this._scheduled)<0?(clearTimeout(this._timer),this._schedule(e)):this._triggered?this._schedule(e):(this._started=r,this._rescheduled=e)}_schedule(e){this._triggered=!1,this._started=eu(),this._rescheduled=0,this._scheduled=e,this._timer=setTimeout(this._timerWrapper,e)}clear(){clearTimeout(this._timer)}};function hN(){if(typeof arguments[0]!="function")throw new Error("callback needed");if(typeof arguments[1]!="number")throw new Error("timeout needed");let t;if(arguments.length>0){t=new Array(arguments.length-2);for(var e=0;e<t.length;e++)t[e]=arguments[e+2]}return new x1(arguments[0],arguments[1],t)}S1.exports=hN});var cd=w((XM,C1)=>{"use strict";var{AbortController:pN}=globalThis,A1=va(),tu=class extends pN{constructor(e){super();this._ms=e,this._timer=A1(()=>this.abort(),e),Object.setPrototypeOf(this,tu.prototype)}abort(){return this._timer.clear(),super.abort()}clear(){this._timer.clear()}reset(){this._timer.clear(),this._timer=A1(()=>this.abort(),this._ms)}};C1.exports={TimeoutController:tu}});var T1=w((JM,I1)=>{I1.exports=class{constructor(e){if(!(e>0)||(e-1&e)!=0)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}peek(){return this.buffer[this.btm]}isEmpty(){return this.buffer[this.btm]===void 0}}});var ud=w((tF,B1)=>{var R1=T1();B1.exports=class{constructor(e){this.hwm=e||16,this.head=new R1(this.hwm),this.tail=this.head}push(e){if(!this.head.push(e)){let r=this.head;this.head=r.next=new R1(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next){let r=this.tail.next;return this.tail.next=null,this.tail=r,this.tail.shift()}return e}peek(){return this.tail.peek()}isEmpty(){return this.head.isEmpty()}}});var fd=w((rF,P1)=>{var ld=ud();P1.exports=t=>{t=t||{};let e;typeof t=="function"?(e=t,t={}):e=t.onEnd;let r=new ld,n,i,s,o=()=>{if(!r.isEmpty()){if(t.writev){let g,m=[];for(;!r.isEmpty();){if(g=r.shift(),g.error)throw g.error;m.push(g.value)}return{done:g.done,value:m}}let h=r.shift();if(h.error)throw h.error;return h}return s?{done:!0}:new Promise((h,g)=>{i=m=>(i=null,m.error?g(m.error):t.writev&&!m.done?h({done:m.done,value:[m.value]}):h(m),n)})},a=h=>i?i(h):(r.push(h),n),c=h=>(r=new ld,i?i({error:h}):(r.push({error:h}),n)),u=h=>s?n:a({done:!1,value:h}),l=h=>s?n:(s=!0,h?c(h):a({done:!0})),f=()=>(r=new ld,l(),{done:!0}),d=h=>(l(h),{done:!0});if(n={[Symbol.asyncIterator](){return this},next:o,return:f,throw:d,push:u,end:l},!e)return n;let p=n;return n={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(h){return p.throw(h),e&&(e(h),e=null),{done:!0}},return(){return p.return(),e&&(e(),e=null),{done:!0}},push:u,end(h){return p.end(h),e&&(e(h),e=null),n}},n}});var dd=w((nF,N1)=>{"use strict";var yN=fd(),gN=async function*(...t){let e=yN();setTimeout(async()=>{try{await Promise.all(t.map(async r=>{for await(let n of r)e.push(n)})),e.end()}catch(r){e.end(r)}},0),yield*e};N1.exports=gN});var ir=w((iF,Ks)=>{var O1=(...t)=>{let e;for(;t.length;)e=t.shift()(e);return e},hd=t=>t&&(typeof t[Symbol.asyncIterator]=="function"||typeof t[Symbol.iterator]=="function"||typeof t.next=="function"),ru=t=>t&&typeof t.sink=="function"&&hd(t.source),mN=t=>e=>(t.sink(e),t.source),D1=(...t)=>{if(ru(t[0])){let e=t[0];t[0]=()=>e.source}else if(hd(t[0])){let e=t[0];t[0]=()=>e}if(t.length>1&&ru(t[t.length-1])&&(t[t.length-1]=t[t.length-1].sink),t.length>2)for(let e=1;e<t.length-1;e++)ru(t[e])&&(t[e]=mN(t[e]));return O1(...t)};Ks.exports=D1;Ks.exports.pipe=D1;Ks.exports.rawPipe=O1;Ks.exports.isIterable=hd;Ks.exports.isDuplex=ru});var pd=w((sF,L1)=>{"use strict";var vN=async t=>{for await(let e of t)return e};L1.exports=vN});var yd=w((oF,k1)=>{"use strict";var Vs=new Map,bN=()=>`${Date.now()}:${Math.floor(Math.random()*1e6)}`;async function EN(t,e,r){for(;Vs.get(r);){try{await t()}catch(n){setTimeout(()=>{throw n},1);break}if(!Vs.get(r))break;await new Promise(n=>{let i=setTimeout(n,e);Vs.set(r,i)})}}function wN(t,e,r){r=r||e;let n=bN(),i=setTimeout(()=>{EN(t,e,n)},r);return Vs.set(n,i),n}function _N(t){let e=Vs.get(t);e&&(clearTimeout(e),Vs.delete(t))}k1.exports={setDelayedInterval:wN,clearDelayedInterval:_N}});var M1=w((aF,U1)=>{"use strict";var xN=de(),{messages:SN,codes:AN}=je(),q1=class{constructor(e){this._dht=e}async findPeer(e,r={}){for await(let n of this._dht.findPeer(e,r))if(n.name==="FINAL_PEER")return n.peer;throw xN(new Error(SN.NOT_FOUND),AN.ERR_NOT_FOUND)}async*getClosestPeers(e,r={}){for await(let n of this._dht.getClosestPeers(e,r))n.name==="PEER_RESPONSE"&&(yield*n.closer)}};U1.exports={DHTPeerRouting:q1}});var W1=w((cF,G1)=>{"use strict";var F1=Te(),K1=Object.assign(F1("libp2p:peer-routing"),{error:F1("libp2p:peer-routing:err")}),nu=de(),ba=je(),{storeAddresses:V1,uniquePeers:CN,requirePeers:IN}=ad(),{TimeoutController:TN}=cd(),j1=dd(),{pipe:$1}=ir(),RN=pd(),BN=ma(),PN=Fi(),{setDelayedInterval:NN,clearDelayedInterval:ON}=yd(),{DHTPeerRouting:DN}=M1(),{setMaxListeners:H1}=Qt(),z1=class{constructor(e){this._peerId=e.peerId,this._peerStore=e.peerStore,this._routers=e._modules.peerRouting||[],e._dht&&e._config.dht.enabled&&this._routers.push(new DN(e._dht)),this._refreshManagerOptions=e._options.peerRouting.refreshManager,this._findClosestPeersTask=this._findClosestPeersTask.bind(this)}start(){!this._routers.length||this._timeoutId||!this._refreshManagerOptions.enabled||(this._timeoutId=NN(this._findClosestPeersTask,this._refreshManagerOptions.interval,this._refreshManagerOptions.bootDelay))}async _findClosestPeersTask(){try{await BN(this.getClosestPeers(this._peerId.id,{timeout:this._refreshManagerOptions.timeout||1e4}))}catch(e){K1.error(e)}}stop(){ON(this._timeoutId)}async findPeer(e,r){if(!this._routers.length)throw nu(new Error("No peer routers available"),ba.codes.ERR_NO_ROUTERS_AVAILABLE);if(e.toB58String()===this._peerId.toB58String())throw nu(new Error("Should not try to find self"),ba.codes.ERR_FIND_SELF);let n=await $1(j1(...this._routers.map(i=>async function*(){try{yield await i.findPeer(e,r)}catch(s){K1.error(s)}}())),i=>PN(i,Boolean),i=>V1(i,this._peerStore),i=>RN(i));if(n)return n;throw nu(new Error(ba.messages.NOT_FOUND),ba.codes.ERR_NOT_FOUND)}async*getClosestPeers(e,r={timeout:3e4}){if(!this._routers.length)throw nu(new Error("No peer routers available"),ba.codes.ERR_NO_ROUTERS_AVAILABLE);if(r.timeout){let n=new TN(r.timeout);try{H1&&H1(1/0,n.signal)}catch{}r.signal=n.signal}yield*$1(j1(...this._routers.map(n=>n.getClosestPeers(e,r))),n=>V1(n,this._peerStore),n=>CN(n),n=>IN(n))}};G1.exports=z1});var X1=w((uF,Q1)=>{"use strict";var LN=ma(),Y1=class{constructor(e){this._dht=e}async provide(e){await LN(this._dht.provide(e))}async*findProviders(e,r){for await(let n of this._dht.findProviders(e,r))n.name==="PROVIDER"&&(yield*n.providers)}};Q1.exports={DHTContentRouting:Y1}});var eb=w((lF,J1)=>{"use strict";var Vi=de(),{messages:Ea,codes:ji}=je(),{storeAddresses:kN,uniquePeers:qN,requirePeers:UN,maybeLimitSource:MN}=ad(),FN=ma(),KN=dd(),{pipe:VN}=ir(),{DHTContentRouting:jN}=X1(),Z1=class{constructor(e){this.libp2p=e,this.routers=e._modules.contentRouting||[],this.dht=e._dht,this.dht&&e._config.dht.enabled&&this.routers.push(new jN(this.dht))}async*findProviders(e,r={}){if(!this.routers.length)throw Vi(new Error("No content this.routers available"),ji.ERR_NO_ROUTERS_AVAILABLE);yield*VN(KN(...this.routers.map(n=>n.findProviders(e,r))),n=>kN(n,this.libp2p.peerStore),n=>qN(n),n=>MN(n,r.maxNumProviders),n=>UN(n))}async provide(e){if(!this.routers.length)throw Vi(new Error("No content routers available"),ji.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(r=>r.provide(e)))}async put(e,r,n){if(!this.libp2p.isStarted()||!this.dht.isStarted)throw Vi(new Error(Ea.NOT_STARTED_YET),ji.DHT_NOT_STARTED);await FN(this.dht.put(e,r,n))}async get(e,r){if(!this.libp2p.isStarted()||!this.dht.isStarted)throw Vi(new Error(Ea.NOT_STARTED_YET),ji.DHT_NOT_STARTED);for await(let n of this.dht.get(e,r))if(n.name==="VALUE")return{from:n.peerId,val:n.value};throw Vi(new Error(Ea.NOT_FOUND),ji.ERR_NOT_FOUND)}async*getMany(e,r,n){if(!this.libp2p.isStarted()||!this.dht.isStarted)throw Vi(new Error(Ea.NOT_STARTED_YET),ji.DHT_NOT_STARTED);if(!r)return;let i=0;for await(let s of this.dht.get(e,n))if(s.name==="VALUE"&&(yield{from:s.peerId,val:s.value},i++,i===r))break;if(i===0)throw Vi(new Error(Ea.NOT_FOUND),ji.ERR_NOT_FOUND)}};J1.exports=Z1});var gd=w((fF,ib)=>{"use strict";var $N=Rt(),{Multiaddr:tb}=qt(),rb=de(),{codes:nb}=je();function HN(t){typeof t=="string"&&(t=new tb(t));let e;if(tb.isMultiaddr(t)){e=t;let r=t.getPeerId();if(!r)throw rb(new Error(`${t} does not have a valid peer type`),nb.ERR_INVALID_MULTIADDR);try{t=$N.createFromB58String(r)}catch(n){throw rb(new Error(`${t} is not a valid peer type`),nb.ERR_INVALID_MULTIADDR)}}return{id:t,multiaddrs:e?[e]:void 0}}ib.exports=HN});var ob=w((dF,sb)=>{"use strict";sb.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var Hs=w((lb,fb)=>{"use strict";var iu=ob(),{hasOwnProperty:ab}=Object.prototype,{propertyIsEnumerable:zN}=Object,js=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),GN=lb,cb={concatArrays:!1,ignoreUndefined:!1},su=t=>{let e=[];for(let r in t)ab.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)zN.call(t,n)&&e.push(n)}return e};function $s(t){return Array.isArray(t)?WN(t):iu(t)?YN(t):t}function WN(t){let e=t.slice(0,0);return su(t).forEach(r=>{js(e,r,$s(t[r]))}),e}function YN(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return su(t).forEach(r=>{js(e,r,$s(t[r]))}),e}var ub=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]=="undefined"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?js(t,i,md(t[i],e[i],n)):js(t,i,$s(e[i])))}),t),QN=(t,e,r)=>{let n=t.slice(0,0),i=0;return[t,e].forEach(s=>{let o=[];for(let a=0;a<s.length;a++)!ab.call(s,a)||(o.push(String(a)),s===t?js(n,i++,s[a]):js(n,i++,$s(s[a])));n=ub(n,s,su(s).filter(a=>!o.includes(a)),r)}),n};function md(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?QN(t,e,r):!iu(e)||!iu(t)?$s(e):ub(t,e,su(e),r)}fb.exports=function(...t){let e=md($s(cb),this!==GN&&this||{},cb),r={_:{}};for(let n of t)if(n!==void 0){if(!iu(n))throw new TypeError("`"+n+"` is not an Option Object");r=md(r,{_:n},e)}return r._}});var pb=w((hF,hb)=>{"use strict";hb.exports=db;var XN=fl(),ni=db.prototype,ZN=new Date%1e9;function JN(){return(Math.random()*1e9>>>0)+ZN++}function db(t){t=t||{},this.id=t.id||JN(),this.max=t.max||1/0,this.items=t.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(t.lastModified||new Date);for(var e,r,n=this.items.length;n--;)e=this.items[n],r=new Date(e.expires)-new Date,this._lookup[e.key]=e,r>0?this.expire(e.key,r):r<=0&&this.delete(e.key)}ni.has=function(t){return t in this._lookup};ni.get=function(t){if(!this.has(t))return null;var e=this._lookup[t];return e.refresh&&this.expire(t,e.refresh),this.items.splice(this.items.indexOf(e),1),this.items.push(e),e.value};ni.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};ni.set=function(t,e,r){var n=this._lookup[t],i=this._lookup[t]={key:t,value:e};return this.lastModified=new Date,n?(clearTimeout(n.timeout),this.items.splice(this.items.indexOf(n),1,i)):(this.size>=this.max&&this.delete(this.items[0].key),this.items.push(i),this.size++),r&&("ttl"in r&&this.expire(t,r.ttl),"meta"in r&&(i.meta=r.meta),r.refresh&&(i.refresh=r.ttl)),this};ni.delete=function(t){var e=this._lookup[t];return e?(this.lastModified=new Date,this.items.splice(this.items.indexOf(e),1),clearTimeout(e.timeout),delete this._lookup[t],this.size--,this):!1};ni.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=XN(e)),typeof r!="number")throw new TypeError("Expiration time must be a string or number.");return clearTimeout(n.timeout),n.timeout=setTimeout(this.delete.bind(this,n.key),r),n.expires=Number(new Date)+r,this};ni.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};ni.toJSON=function(){for(var t=new Array(this.items.length),e,r=t.length;r--;)e=this.items[r],t[r]={key:e.key,meta:e.meta,value:e.value,expires:e.expires,refresh:e.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:t}}});var wa=w((zs,yb)=>{"use strict";var e3=function(){if(typeof self!="undefined")return self;if(typeof window!="undefined")return window;if(typeof Cn!="undefined")return Cn;throw new Error("unable to locate global object")},Cn=e3();yb.exports=zs=Cn.fetch;Cn.fetch&&(zs.default=Cn.fetch.bind(Cn));zs.Headers=Cn.Headers;zs.Request=Cn.Request;zs.Response=Cn.Response});var gb=w((pF,vd)=>{"use strict";globalThis.fetch&&globalThis.Headers&&globalThis.Request&&globalThis.Response?vd.exports={default:globalThis.fetch,Headers:globalThis.Headers,Request:globalThis.Request,Response:globalThis.Response}:vd.exports={default:wa().default,Headers:wa().Headers,Request:wa().Request,Response:wa().Response}});var vb=w((yF,mb)=>{"use strict";var{default:t3,Headers:r3}=gb();function n3({serverResolver:t,hostname:e,recordType:r}){return`${t}?name=${e}&type=${r}`}function i3(t){return t3(t,{headers:new r3({accept:"application/dns-json"})})}function s3(t,e){return`${e}_${t}`}mb.exports={buildResource:n3,fetch:i3,getCacheKey:s3}});var wb=w((gF,Eb)=>{"use strict";var bb=Te(),ou=bb("dns-over-http-resolver");ou.error=bb("dns-over-http-resolver:error");var o3=pb(),xr=vb(),au=class{constructor({maxCache:e=100}={}){this._cache=new o3({max:e}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"]}getServers(){return this._servers}_getShuffledServers(){let e=[].concat(this._servers);for(let r=e.length-1;r>0;r--){let n=Math.floor(Math.random()*r),i=e[r];e[r]=e[n],e[n]=i}return e}setServers(e){this._servers=e}resolve(e,r="A"){switch(r){case"A":return this.resolve4(e);case"AAAA":return this.resolve6(e);case"TXT":return this.resolveTxt(e);default:throw new Error(`${r} is not supported`)}}async resolve4(e){let r="A",n=this._cache.get(xr.getCacheKey(e,r));if(n)return n;for(let i of this._getShuffledServers())try{let o=await(await xr.fetch(xr.buildResource({serverResolver:i,hostname:e,recordType:r}))).json(),a=o.Answer.map(u=>u.data),c=Math.min(o.Answer.map(u=>u.TTL));return this._cache.set(xr.getCacheKey(e,r),a,{ttl:c}),a}catch(s){ou.error(`${i} could not resolve ${e} record ${r}`)}throw new Error(`Could not resolve ${e} record ${r}`)}async resolve6(e){let r="AAAA",n=this._cache.get(xr.getCacheKey(e,r));if(n)return n;for(let i of this._getShuffledServers())try{let o=await(await xr.fetch(xr.buildResource({serverResolver:i,hostname:e,recordType:r}))).json(),a=o.Answer.map(u=>u.data),c=Math.min(o.Answer.map(u=>u.TTL));return this._cache.set(xr.getCacheKey(e,r),a,{ttl:c}),a}catch(s){ou.error(`${i} could not resolve ${e} record ${r}`)}throw new Error(`Could not resolve ${e} record ${r}`)}async resolveTxt(e){let r="TXT",n=this._cache.get(xr.getCacheKey(e,r));if(n)return n;for(let i of this._getShuffledServers())try{let o=await(await xr.fetch(xr.buildResource({serverResolver:i,hostname:e,recordType:r}))).json(),a=o.Answer.map(u=>[u.data.replace(/['"]+/g,"")]),c=Math.min(o.Answer.map(u=>u.TTL));return this._cache.set(xr.getCacheKey(e,r),a,{ttl:c}),a}catch(s){ou.error(`${i} could not resolve ${e} record ${r}`)}throw new Error(`Could not resolve ${e} record ${r}`)}};au.Resolver=au;Eb.exports=au});var xb=w((mF,_b)=>{"use strict";var a3=wb();_b.exports=a3});var Ab=w((vF,Sb)=>{"use strict";var c3=ha(),{code:u3}=c3("dnsaddr");async function l3(t){let e=xb(),r=new e,n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===u3)||[],o=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]);return n&&(o=o.filter(a=>a.includes(n))),o}Sb.exports={dnsaddrResolver:l3}});var cu=w((bF,Cb)=>{"use strict";Cb.exports={DIAL_TIMEOUT:3e4,MAX_PARALLEL_DIALS:100,MAX_PER_PEER_DIALS:4,MAX_ADDRS_TO_DIAL:25,METRICS:{computeThrottleMaxQueueSize:1e3,computeThrottleTimeout:2e3,movingAverageIntervals:[60*1e3,5*60*1e3,15*60*1e3],maxOldPeersRetention:50}}});var bd=w((EF,f3)=>{f3.exports={name:"libp2p",version:"0.36.0",description:"JavaScript implementation of libp2p, a modular peer to peer network stack",leadMaintainer:"Jacob Heun <jacobheun@gmail.com>",main:"src/index.js",types:"dist/src/index.d.ts",typesVersions:{"*":{"src/*":["dist/src/*","dist/src/*/index"]}},files:["dist","src"],scripts:{lint:"aegir lint",build:"aegir build","build:proto":"npm run build:proto:circuit && npm run build:proto:fetch && npm run build:proto:identify && npm run build:proto:plaintext && npm run build:proto:address-book && npm run build:proto:proto-book && npm run build:proto:peer && npm run build:proto:peer-record && npm run build:proto:envelope","build:proto:circuit":"pbjs -t static-module -w commonjs -r libp2p-circuit --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/circuit/protocol/index.js ./src/circuit/protocol/index.proto","build:proto:fetch":"pbjs -t static-module -w commonjs -r libp2p-fetch --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/fetch/proto.js ./src/fetch/proto.proto","build:proto:identify":"pbjs -t static-module -w commonjs -r libp2p-identify --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/identify/message.js ./src/identify/message.proto","build:proto:plaintext":"pbjs -t static-module -w commonjs -r libp2p-plaintext --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/insecure/proto.js ./src/insecure/proto.proto","build:proto:peer":"pbjs -t static-module -w commonjs -r libp2p-peer --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/peer-store/pb/peer.js ./src/peer-store/pb/peer.proto","build:proto:peer-record":"pbjs -t static-module -w commonjs -r libp2p-peer-record --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/record/peer-record/peer-record.js ./src/record/peer-record/peer-record.proto","build:proto:envelope":"pbjs -t static-module -w commonjs -r libp2p-envelope --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/record/envelope/envelope.js ./src/record/envelope/envelope.proto","build:proto-types":"npm run build:proto-types:circuit && npm run build:proto-types:fetch && npm run build:proto-types:identify && npm run build:proto-types:plaintext && npm run build:proto-types:address-book && npm run build:proto-types:proto-book && npm run build:proto-types:peer && npm run build:proto-types:peer-record && npm run build:proto-types:envelope","build:proto-types:circuit":"pbts -o src/circuit/protocol/index.d.ts src/circuit/protocol/index.js","build:proto-types:fetch":"pbts -o src/fetch/proto.d.ts src/fetch/proto.js","build:proto-types:identify":"pbts -o src/identify/message.d.ts src/identify/message.js","build:proto-types:plaintext":"pbts -o src/insecure/proto.d.ts src/insecure/proto.js","build:proto-types:peer":"pbts -o src/peer-store/pb/peer.d.ts src/peer-store/pb/peer.js","build:proto-types:peer-record":"pbts -o src/record/peer-record/peer-record.d.ts src/record/peer-record/peer-record.js","build:proto-types:envelope":"pbts -o src/record/envelope/envelope.d.ts src/record/envelope/envelope.js",test:"aegir test","test:ts":"aegir build --no-bundle && npm run test --prefix test/ts-use","test:node":'aegir test -t node -f "./test/**/*.{node,spec}.js"',"test:browser":"aegir test -t browser","test:examples":"cd examples && npm run test:all","test:interop":"LIBP2P_JS=$PWD npx aegir test -t node -f ./node_modules/libp2p-interop/test/*",prepare:"npm run build",coverage:"nyc --reporter=text --reporter=lcov npm run test:node"},repository:{type:"git",url:"https://github.com/libp2p/js-libp2p.git"},keywords:["libp2p","network","p2p","peer","peer-to-peer","IPFS"],bugs:{url:"https://github.com/libp2p/js-libp2p/issues"},homepage:"https://libp2p.io",license:"MIT",engines:{node:">=15.0.0"},browser:{"nat-api":!1},eslintConfig:{extends:"ipfs",ignorePatterns:["!.aegir.js","test/ts-use","*.d.ts"]},dependencies:{"@vascosantos/moving-average":"^1.1.0","abortable-iterator":"^3.0.0","aggregate-error":"^3.1.0","any-signal":"^3.0.0","bignumber.js":"^9.0.1","class-is":"^1.1.0","datastore-core":"^7.0.0",debug:"^4.3.1","err-code":"^3.0.0","es6-promisify":"^7.0.0",events:"^3.3.0",hashlru:"^2.3.0","interface-datastore":"^6.0.2","it-all":"^1.0.4","it-buffer":"^0.1.2","it-drain":"^1.0.3","it-filter":"^1.0.1","it-first":"^1.0.4","it-foreach":"^0.1.1","it-handshake":"^2.0.0","it-length-prefixed":"^5.0.2","it-map":"^1.0.4","it-merge":"^1.0.0","it-pipe":"^1.1.0","it-sort":"^1.0.1","it-take":"^1.0.0","libp2p-crypto":"^0.21.2","libp2p-interfaces":"^4.0.0","libp2p-utils":"^0.4.0",mafmt:"^10.0.0","merge-options":"^3.0.4",mortice:"^2.0.1",multiaddr:"^10.0.0",multiformats:"^9.0.0","multistream-select":"^3.0.0","mutable-proxy":"^1.0.0","nat-api":"^0.3.1","node-forge":"^1.2.1","p-any":"^3.0.0","p-fifo":"^1.0.0","p-retry":"^4.4.0","p-settle":"^4.1.1","peer-id":"^0.16.0","private-ip":"^2.1.0",protobufjs:"^6.10.2",retimer:"^3.0.0","sanitize-filename":"^1.6.3","set-delayed-interval":"^1.0.0","streaming-iterables":"^6.0.0","timeout-abort-controller":"^3.0.0",uint8arrays:"^3.0.0",varint:"^6.0.0",wherearewe:"^1.0.0",xsalsa20:"^1.1.0"},devDependencies:{"@chainsafe/libp2p-noise":"^5.0.0","@nodeutils/defaults-deep":"^1.1.0","@types/es6-promisify":"^6.0.0","@types/node":"^16.0.1","@types/node-forge":"^1.0.0","@types/varint":"^6.0.0",aegir:"^36.0.0",buffer:"^6.0.3",delay:"^5.0.0","into-stream":"^6.0.0","ipfs-http-client":"^54.0.2","it-concat":"^2.0.0","it-pair":"^1.0.0","it-pushable":"^1.4.0",libp2p:".","libp2p-bootstrap":"^0.14.0","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.11.1","libp2p-interfaces-compliance-tests":"^4.0.8","libp2p-interop":"^0.7.1","libp2p-kad-dht":"^0.28.6","libp2p-mdns":"^0.18.0","libp2p-mplex":"^0.10.4","libp2p-tcp":"^0.17.0","libp2p-webrtc-star":"^0.25.0","libp2p-websockets":"^0.16.0",nock:"^13.0.3","p-defer":"^3.0.0","p-times":"^3.0.0","p-wait-for":"^3.2.0",rimraf:"^3.0.2",sinon:"^12.0.1",util:"^0.12.3"},contributors:["Vasco Santos <vasco.santos@moxy.studio>","David Dias <daviddias.p@gmail.com>","Jacob Heun <jacobheun@gmail.com>","Alex Potsides <alex@achingbrain.net>","Alan Shaw <alan@tableflip.io>","Cayman <caymannava@gmail.com>","Pedro Teixeira <i@pgte.me>","Friedel Ziegelmayer <dignifiedquire@gmail.com>","Maciej Kr\xFCger <mkg20001@gmail.com>","Hugo Dias <mail@hugodias.me>","dirkmc <dirkmdev@gmail.com>","Volker Mische <volker.mische@gmail.com>","Chris Dostert <chrisdostert@users.noreply.github.com>","zeim839 <50573884+zeim839@users.noreply.github.com>","Robert Kiel <robert.kiel@hoprnet.org>","Richard Littauer <richard.littauer@gmail.com>","a1300 <matthias-knopp@gmx.net>","Ryan Bell <ryan@piing.net>","\u1D20\u026A\u1D04\u1D1B\u1D0F\u0280 \u0299\u1D0A\u1D07\u029F\u1D0B\u029C\u1D0F\u029F\u1D0D <victorbjelkholm@gmail.com>","Andrew Nesbitt <andrewnez@gmail.com>","Franck Royer <franck@royer.one>","Thomas Eizinger <thomas@eizinger.io>","V\xEDt Habada <vithabada93@gmail.com>","Giovanni T. Parra <fiatjaf@gmail.com>","acolytec3 <17355484+acolytec3@users.noreply.github.com>","Alan Smithee <ggnore.alan.smithee@gmail.com>","Elven <mon.samuel@qq.com>","Samlior <samlior@foxmail.com>","Didrik Nordstr\xF6m <didrik.nordstrom@gmail.com>","Aditya Bose <13054902+adbose@users.noreply.github.com>","TJKoury <TJKoury@gmail.com>","TheStarBoys <41286328+TheStarBoys@users.noreply.github.com>","Tiago Alves <alvesjtiago@gmail.com>","Tim Daubensch\xFCtz <tim@daubenschuetz.de>","XiaoZhang <zxinmyth@gmail.com>","Yusef Napora <yusef@napora.org>","Zane Starr <zcstarr@gmail.com>","ebinks <elizabethjbinks@gmail.com>","greenSnot <greenSnot@users.noreply.github.com>","isan_rivkin <isanrivkin@gmail.com>","mayerwin <mayerwin@users.noreply.github.com>","mcclure <andi.m.mcclure@gmail.com>","patrickwoodhead <91056047+patrickwoodhead@users.noreply.github.com>","phillmac <phillmac@users.noreply.github.com>","robertkiel <robert.kiel@validitylabs.org>","shresthagrawal <34920931+shresthagrawal@users.noreply.github.com>","swedneck <40505480+swedneck@users.noreply.github.com>","tuyennhv <vutuyen2636@gmail.com>","S\xF6nke Hahn <soenkehahn@gmail.com>","Aleksei <vozhdb@gmail.com>","Bernd Strehl <bernd.strehl@gmail.com>","Chris Bratlien <chrisbratlien@gmail.com>","Cindy Wu <ciindy.wu@gmail.com>","Daijiro Wachi <daijiro.wachi@gmail.com>","Diogo Silva <fsdiogo@gmail.com>","Dmitriy Ryajov <dryajov@gmail.com>","Ethan Lam <elmemphis2000@gmail.com>","Fei Liu <liu.feiwood@gmail.com>","Felipe Martins <felipebrasil93@gmail.com>","Florian-Merle <florian.david.merle@gmail.com>","Francis Gulotta <wizard@roborooter.com>","Guy Sviry <32539816+guysv@users.noreply.github.com>","Henrique Dias <hacdias@gmail.com>","Irakli Gozalishvili <rfobic@gmail.com>","Joel Gustafson <joelg@mit.edu>","John Rees <johnrees@users.noreply.github.com>","Jo\xE3o Santos <joaosantos15@users.noreply.github.com>","Julien Bouquillon <contact@revolunet.com>","Kevin Kwok <antimatter15@gmail.com>","Kevin Lacker <lacker@gmail.com>","Lars Gierth <lgierth@users.noreply.github.com>","Leask Wong <i@leaskh.com>","Marcin Tojek <mtojek@users.noreply.github.com>","Marston Connell <34043723+TheMarstonConnell@users.noreply.github.com>","Michael Burns <5170+mburns@users.noreply.github.com>","Miguel Mota <miguelmota2@gmail.com>","Nuno Nogueira <nunofmn@gmail.com>","Philipp Muens <raute1337@gmx.de>","RasmusErik Voel Jensen <github@solsort.com>","Smite Chow <xiaopengyou@live.com>","Soeren <nikorpoulsen@gmail.com>"]}});var Ed=w((wF,cn)=>{"use strict";var d3=bd().version;cn.exports.PROTOCOL_VERSION="ipfs/0.1.0";cn.exports.AGENT_VERSION=`js-libp2p/${d3}`;cn.exports.MULTICODEC_IDENTIFY="/ipfs/id/1.0.0";cn.exports.MULTICODEC_IDENTIFY_PUSH="/ipfs/id/push/1.0.0";cn.exports.IDENTIFY_PROTOCOL_VERSION="0.1.0";cn.exports.MULTICODEC_IDENTIFY_PROTOCOL_NAME="id";cn.exports.MULTICODEC_IDENTIFY_PUSH_PROTOCOL_NAME="id/push";cn.exports.MULTICODEC_IDENTIFY_PROTOCOL_VERSION="1.0.0";cn.exports.MULTICODEC_IDENTIFY_PUSH_PROTOCOL_VERSION="1.0.0"});var uu=w((_F,Tb)=>{"use strict";var Ib=60*1e3;Tb.exports={ADVERTISE_BOOT_DELAY:15*Ib,ADVERTISE_TTL:30*Ib,CIRCUIT_PROTO_CODE:290,HOP_METADATA_KEY:"hop_relay",HOP_METADATA_VALUE:"true",RELAY_RENDEZVOUS_NS:"/libp2p/relay"}});var Rb=w(_a=>{(function(){var t,e,r,n,i,s,o,a;a=function(c){var u,l,f,d;return u=(c&255<<24)>>>24,l=(c&255<<16)>>>16,f=(c&255<<8)>>>8,d=c&255,[u,l,f,d].join(".")},o=function(c){var u,l,f,d,p,h;for(u=[],f=d=0;d<=3&&c.length!==0;f=++d){if(f>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}h=e(c),p=h[0],l=h[1],c=c.substring(l),u.push(p)}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")}},r=function(c){return c.charCodeAt(0)},n=r("0"),s=r("a"),i=r("A"),e=function(c){var u,l,f,d,p;for(d=0,u=10,l="9",f=0,c.length>1&&c[f]==="0"&&(c[f+1]==="x"||c[f+1]==="X"?(f+=2,u=16):"0"<=c[f+1]&&c[f+1]<="9"&&(f++,u=8,l="7")),p=f;f<c.length;){if("0"<=c[f]&&c[f]<=l)d=d*u+(r(c[f])-n)>>>0;else if(u===16)if("a"<=c[f]&&c[f]<="f")d=d*u+(10+r(c[f])-s)>>>0;else if("A"<=c[f]&&c[f]<="F")d=d*u+(10+r(c[f])-i)>>>0;else break;else break;if(d>4294967295)throw new Error("too large");f++}if(f===p)throw new Error("empty octet");return[d,f]},t=function(){function c(u,l){var f,d,p,h;if(typeof u!="string")throw new Error("Missing `net' parameter");if(l||(h=u.split("/",2),u=h[0],l=h[1]),l||(l=32),typeof l=="string"&&l.indexOf(".")>-1){try{this.maskLong=o(l)}catch(g){throw f=g,new Error("Invalid mask: "+l)}for(d=p=32;p>=0;d=--p)if(this.maskLong===4294967295<<32-d>>>0){this.bitmask=d;break}}else if(l||l===0)this.bitmask=parseInt(l,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(o(u)&this.maskLong)>>>0}catch(g){throw f=g,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+l);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):(o(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 l,f,d;for(d=o(this.first),f=o(this.last),l=0;d<=f;)u(a(d),d,l),l++,d++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),_a.ip2long=o,_a.long2ip=a,_a.Netmask=t}).call(_a)});var Pb=w((Bb,lu)=>{(function(t){"use strict";let e="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${e}\\.${e}\\.${e}\\.${e}$`,"i"),threeOctet:new RegExp(`^${e}\\.${e}\\.${e}$`,"i"),twoOctet:new RegExp(`^${e}\\.${e}$`,"i"),longValue:new RegExp(`^${e}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),s="%[0-9a-z]{1,}",o="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(s,"i"),native:new RegExp(`^(::)?(${o})?([0-9a-f]+)?(::)?(${s})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${e}\\.${e}\\.${e}\\.${e}(${s})?)$`,"i"),transitional:new RegExp(`^((?:${o})|(?:::)(?:${o})?)${e}\\.${e}\\.${e}\\.${e}(${s})?$`,"i")};function c(p,h){if(p.indexOf("::")!==p.lastIndexOf("::"))return null;let g=0,m=-1,x=(p.match(a.zoneIndex)||[])[0],R,L;for(x&&(x=x.substring(1),p=p.replace(/%.+$/,""));(m=p.indexOf(":",m+1))>=0;)g++;if(p.substr(0,2)==="::"&&g--,p.substr(-2,2)==="::"&&g--,g>h)return null;for(L=h-g,R=":";L--;)R+="0:";return p=p.replace("::",R),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),h=function(){let H=p.split(":"),q=[];for(let k=0;k<H.length;k++)q.push(parseInt(H[k],16));return q}(),{parts:h,zoneId:x}}function u(p,h,g,m){if(p.length!==h.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let x=0,R;for(;m>0;){if(R=g-m,R<0&&(R=0),p[x]>>R!=h[x]>>R)return!1;m-=g,x+=1}return!0}function l(p){if(i.test(p))return parseInt(p,16);if(p[0]==="0"&&!isNaN(parseInt(p[1],10))){if(n.test(p))return parseInt(p,8);throw new Error(`ipaddr: cannot parse ${p} as octal`)}return parseInt(p,10)}function f(p,h){for(;p.length<h;)p=`0${p}`;return p}let d={};d.IPv4=function(){function p(h){if(h.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let g,m;for(g=0;g<h.length;g++)if(m=h[g],!(0<=m&&m<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=h}return p.prototype.SpecialRanges={unspecified:[[new p([0,0,0,0]),8]],broadcast:[[new p([255,255,255,255]),32]],multicast:[[new p([224,0,0,0]),4]],linkLocal:[[new p([169,254,0,0]),16]],loopback:[[new p([127,0,0,0]),8]],carrierGradeNat:[[new p([100,64,0,0]),10]],private:[[new p([10,0,0,0]),8],[new p([172,16,0,0]),12],[new p([192,168,0,0]),16]],reserved:[[new p([192,0,0,0]),24],[new p([192,0,2,0]),24],[new p([192,88,99,0]),24],[new p([198,51,100,0]),24],[new p([203,0,113,0]),24],[new p([240,0,0,0]),4]]},p.prototype.kind=function(){return"ipv4"},p.prototype.match=function(h,g){let m;if(g===void 0&&(m=h,h=m[0],g=m[1]),h.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,h.octets,8,g)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,g=!1,m={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},x,R,L;for(x=3;x>=0;x-=1)if(R=this.octets[x],R in m){if(L=m[R],g&&L!==0)return null;L!==8&&(g=!0),h+=L}else return null;return 32-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){return this.octets.slice(0)},p.prototype.toIPv4MappedAddress=function(){return d.IPv6.parse(`::ffff:${this.toString()}`)},p.prototype.toNormalizedString=function(){return this.toString()},p.prototype.toString=function(){return this.octets.join(".")},p}(),d.IPv4.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),g=h[0].toByteArray(),m=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),x=[],R=0;for(;R<4;)x.push(parseInt(g[R],10)|parseInt(m[R],10)^255),R++;return new this(x)}catch(h){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.isIPv4=function(p){return this.parser(p)!==null},d.IPv4.isValid=function(p){try{return new this(this.parser(p)),!0}catch(h){return!1}},d.IPv4.isValidFourPartDecimal=function(p){return!!(d.IPv4.isValid(p)&&p.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},d.IPv4.networkAddressFromCIDR=function(p){let h,g,m,x,R;try{for(h=this.parseCIDR(p),m=h[0].toByteArray(),R=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),x=[],g=0;g<4;)x.push(parseInt(m[g],10)&parseInt(R[g],10)),g++;return new this(x)}catch(L){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.parse=function(p){let h=this.parser(p);if(h===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(h)},d.IPv4.parseCIDR=function(p){let h;if(h=p.match(/^(.+)\/(\d+)$/)){let g=parseInt(h[2]);if(g>=0&&g<=32){let m=[this.parse(h[1]),g];return Object.defineProperty(m,"toString",{value:function(){return this.join("/")}}),m}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(p){let h,g,m;if(h=p.match(r.fourOctet))return function(){let x=h.slice(1,6),R=[];for(let L=0;L<x.length;L++)g=x[L],R.push(l(g));return R}();if(h=p.match(r.longValue)){if(m=l(h[1]),m>4294967295||m<0)throw new Error("ipaddr: address outside defined range");return function(){let x=[],R;for(R=0;R<=24;R+=8)x.push(m>>R&255);return x}().reverse()}else return(h=p.match(r.twoOctet))?function(){let x=h.slice(1,4),R=[];if(m=l(x[1]),m>16777215||m<0)throw new Error("ipaddr: address outside defined range");return R.push(l(x[0])),R.push(m>>16&255),R.push(m>>8&255),R.push(m&255),R}():(h=p.match(r.threeOctet))?function(){let x=h.slice(1,5),R=[];if(m=l(x[2]),m>65535||m<0)throw new Error("ipaddr: address outside defined range");return R.push(l(x[0])),R.push(l(x[1])),R.push(m>>8&255),R.push(m&255),R}():null},d.IPv4.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>32)throw new Error("ipaddr: invalid IPv4 prefix length");let h=[0,0,0,0],g=0,m=Math.floor(p/8);for(;g<m;)h[g]=255,g++;return m<4&&(h[m]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.IPv6=function(){function p(h,g){let m,x;if(h.length===16)for(this.parts=[],m=0;m<=14;m+=2)this.parts.push(h[m]<<8|h[m+1]);else if(h.length===8)this.parts=h;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(m=0;m<this.parts.length;m++)if(x=this.parts[m],!(0<=x&&x<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");g&&(this.zoneId=g)}return p.prototype.SpecialRanges={unspecified:[new p([0,0,0,0,0,0,0,0]),128],linkLocal:[new p([65152,0,0,0,0,0,0,0]),10],multicast:[new p([65280,0,0,0,0,0,0,0]),8],loopback:[new p([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new p([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new p([0,0,0,0,0,65535,0,0]),96],rfc6145:[new p([0,0,0,0,65535,0,0,0]),96],rfc6052:[new p([100,65435,0,0,0,0,0,0]),96],"6to4":[new p([8194,0,0,0,0,0,0,0]),16],teredo:[new p([8193,0,0,0,0,0,0,0]),32],reserved:[[new p([8193,3512,0,0,0,0,0,0]),32]]},p.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},p.prototype.kind=function(){return"ipv6"},p.prototype.match=function(h,g){let m;if(g===void 0&&(m=h,h=m[0],g=m[1]),h.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,h.parts,16,g)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,g=!1,m={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},x,R;for(let L=7;L>=0;L-=1)if(x=this.parts[L],x in m){if(R=m[x],g&&R!==0)return null;R!==16&&(g=!0),h+=R}else return null;return 128-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){let h,g=[],m=this.parts;for(let x=0;x<m.length;x++)h=m[x],g.push(h>>8),g.push(h&255);return g},p.prototype.toFixedLengthString=function(){let h=function(){let m=[];for(let x=0;x<this.parts.length;x++)m.push(f(this.parts[x].toString(16),4));return m}.call(this).join(":"),g="";return this.zoneId&&(g=`%${this.zoneId}`),h+g},p.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let h=this.parts.slice(-2),g=h[0],m=h[1];return new d.IPv4([g>>8,g&255,m>>8,m&255])},p.prototype.toNormalizedString=function(){let h=function(){let m=[];for(let x=0;x<this.parts.length;x++)m.push(this.parts[x].toString(16));return m}.call(this).join(":"),g="";return this.zoneId&&(g=`%${this.zoneId}`),h+g},p.prototype.toRFC5952String=function(){let h=/((^|:)(0(:|$)){2,})/g,g=this.toNormalizedString(),m=0,x=-1,R;for(;R=h.exec(g);)R[0].length>x&&(m=R.index,x=R[0].length);return x<0?g:`${g.substring(0,m)}::${g.substring(m+x)}`},p.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},p}(),d.IPv6.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),g=h[0].toByteArray(),m=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),x=[],R=0;for(;R<16;)x.push(parseInt(g[R],10)|parseInt(m[R],10)^255),R++;return new this(x)}catch(h){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${h})`)}},d.IPv6.isIPv6=function(p){return this.parser(p)!==null},d.IPv6.isValid=function(p){if(typeof p=="string"&&p.indexOf(":")===-1)return!1;try{let h=this.parser(p);return new this(h.parts,h.zoneId),!0}catch(h){return!1}},d.IPv6.networkAddressFromCIDR=function(p){let h,g,m,x,R;try{for(h=this.parseCIDR(p),m=h[0].toByteArray(),R=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),x=[],g=0;g<16;)x.push(parseInt(m[g],10)&parseInt(R[g],10)),g++;return new this(x)}catch(L){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${L})`)}},d.IPv6.parse=function(p){let h=this.parser(p);if(h.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(h.parts,h.zoneId)},d.IPv6.parseCIDR=function(p){let h,g,m;if((g=p.match(/^(.+)\/(\d+)$/))&&(h=parseInt(g[2]),h>=0&&h<=128))return m=[this.parse(g[1]),h],Object.defineProperty(m,"toString",{value:function(){return this.join("/")}}),m;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},d.IPv6.parser=function(p){let h,g,m,x,R,L;if(m=p.match(a.deprecatedTransitional))return this.parser(`::ffff:${m[1]}`);if(a.native.test(p))return c(p,8);if((m=p.match(a.transitional))&&(L=m[6]||"",h=c(m[1].slice(0,-1)+L,6),h.parts)){for(R=[parseInt(m[2]),parseInt(m[3]),parseInt(m[4]),parseInt(m[5])],g=0;g<R.length;g++)if(x=R[g],!(0<=x&&x<=255))return null;return h.parts.push(R[0]<<8|R[1]),h.parts.push(R[2]<<8|R[3]),{parts:h.parts,zoneId:h.zoneId}}return null},d.IPv6.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>128)throw new Error("ipaddr: invalid IPv6 prefix length");let h=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],g=0,m=Math.floor(p/8);for(;g<m;)h[g]=255,g++;return m<16&&(h[m]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.fromByteArray=function(p){let h=p.length;if(h===4)return new d.IPv4(p);if(h===16)return new d.IPv6(p);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},d.isValid=function(p){return d.IPv6.isValid(p)||d.IPv4.isValid(p)},d.parse=function(p){if(d.IPv6.isValid(p))return d.IPv6.parse(p);if(d.IPv4.isValid(p))return d.IPv4.parse(p);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},d.parseCIDR=function(p){try{return d.IPv6.parseCIDR(p)}catch(h){try{return d.IPv4.parseCIDR(p)}catch(g){throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},d.process=function(p){let h=this.parse(p);return h.kind()==="ipv6"&&h.isIPv4MappedAddress()?h.toIPv4Address():h},d.subnetMatch=function(p,h,g){let m,x,R,L;g==null&&(g="unicast");for(x in h)if(Object.prototype.hasOwnProperty.call(h,x)){for(R=h[x],R[0]&&!(R[0]instanceof Array)&&(R=[R]),m=0;m<R.length;m++)if(L=R[m],p.kind()===L[0].kind()&&p.match.apply(p,L))return x}return g},typeof lu!="undefined"&&lu.exports?lu.exports=d:t.ipaddr=d})(Bb)});var Lb=w(xa=>{"use strict";var Nb=xa&&xa.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(xa,"__esModule",{value:!0});var h3=Rb(),p3=Nb(Uf()),y3=Nb(Ff()),Ob=Pb(),g3=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],m3=g3.map(t=>new h3.Netmask(t));function v3(t){for(let e of m3)if(e.contains(t))return!0;return!1}function Db(t){return/^::$/.test(t)||/^::1$/.test(t)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}xa.default=t=>{if(Ob.isValid(t)){let e=Ob.parse(t);if(e.kind()==="ipv4")return v3(e.toNormalizedString());if(e.kind()==="ipv6")return Db(t)}else if(y3.default(t)&&p3.default.v6().test(t))return Db(t)}});var wd=w((AF,kb)=>{"use strict";kb.exports=Lb().default});var Ub=w((CF,qb)=>{"use strict";var b3=wd();function E3(t){let{address:e}=t.nodeAddress();return b3(e)}qb.exports=E3});var _d=w((IF,Fb)=>{"use strict";var Mb=Ub();function w3(t,e){let r=Mb(t.multiaddr),n=Mb(e.multiaddr);return r&&!n?1:!r&&n||t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}function _3(t){return[...t].sort(w3)}Fb.exports.publicAddressesFirst=_3});var Vb=w((TF,xd)=>{"use strict";var Kb=async t=>{try{let e=await t;return{isFulfilled:!0,isRejected:!1,value:e}}catch(e){return{isFulfilled:!1,isRejected:!0,reason:e}}};xd.exports=Kb;xd.exports.default=Kb});var $b=w((RF,Sd)=>{"use strict";var jb=(t,...e)=>new Promise(r=>{r(t(...e))});Sd.exports=jb;Sd.exports.default=jb});var zb=w((BF,Ad)=>{"use strict";var x3=$b(),Hb=t=>{if(!((Number.isInteger(t)||t===1/0)&&t>0))return Promise.reject(new TypeError("Expected `concurrency` to be a number from 1 and up"));let e=[],r=0,n=()=>{r--,e.length>0&&e.shift()()},i=(a,c,...u)=>{r++;let l=x3(a,...u);c(l),l.then(n,n)},s=(a,c,...u)=>{r<t?i(a,c,...u):e.push(i.bind(null,a,c,...u))},o=(a,...c)=>new Promise(u=>s(a,u,...c));return Object.defineProperties(o,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length},clearQueue:{value:()=>{e.length=0}}}),o};Ad.exports=Hb;Ad.exports.default=Hb});var Wb=w((PF,Gb)=>{"use strict";var Cd=Vb(),S3=zb();Gb.exports=async(t,e={})=>{let{concurrency:r=1/0}=e,n=S3(r);return Promise.all(t.map(i=>i&&typeof i.then=="function"?Cd(i):Cd(typeof i=="function"?n(()=>i()):Promise.resolve(i))))}});var Xb=w((NF,Qb)=>{"use strict";var Gs=gn(),Yb=Gs.Reader,A3=Gs.Writer,Je=Gs.util,Sa=Gs.roots["libp2p-envelope"]||(Gs.roots["libp2p-envelope"]={});Sa.Envelope=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.publicKey=Je.newBuffer([]),t.prototype.payloadType=Je.newBuffer([]),t.prototype.payload=Je.newBuffer([]),t.prototype.signature=Je.newBuffer([]),t.encode=function(r,n){return n||(n=A3.create()),r.publicKey!=null&&Object.hasOwnProperty.call(r,"publicKey")&&n.uint32(10).bytes(r.publicKey),r.payloadType!=null&&Object.hasOwnProperty.call(r,"payloadType")&&n.uint32(18).bytes(r.payloadType),r.payload!=null&&Object.hasOwnProperty.call(r,"payload")&&n.uint32(26).bytes(r.payload),r.signature!=null&&Object.hasOwnProperty.call(r,"signature")&&n.uint32(42).bytes(r.signature),n},t.decode=function(r,n){r instanceof Yb||(r=Yb.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new Sa.Envelope;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.publicKey=r.bytes();break;case 2:s.payloadType=r.bytes();break;case 3:s.payload=r.bytes();break;case 5:s.signature=r.bytes();break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof Sa.Envelope)return r;var n=new Sa.Envelope;return r.publicKey!=null&&(typeof r.publicKey=="string"?Je.base64.decode(r.publicKey,n.publicKey=Je.newBuffer(Je.base64.length(r.publicKey)),0):r.publicKey.length&&(n.publicKey=r.publicKey)),r.payloadType!=null&&(typeof r.payloadType=="string"?Je.base64.decode(r.payloadType,n.payloadType=Je.newBuffer(Je.base64.length(r.payloadType)),0):r.payloadType.length&&(n.payloadType=r.payloadType)),r.payload!=null&&(typeof r.payload=="string"?Je.base64.decode(r.payload,n.payload=Je.newBuffer(Je.base64.length(r.payload)),0):r.payload.length&&(n.payload=r.payload)),r.signature!=null&&(typeof r.signature=="string"?Je.base64.decode(r.signature,n.signature=Je.newBuffer(Je.base64.length(r.signature)),0):r.signature.length&&(n.signature=r.signature)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(n.bytes===String?i.publicKey="":(i.publicKey=[],n.bytes!==Array&&(i.publicKey=Je.newBuffer(i.publicKey))),n.bytes===String?i.payloadType="":(i.payloadType=[],n.bytes!==Array&&(i.payloadType=Je.newBuffer(i.payloadType))),n.bytes===String?i.payload="":(i.payload=[],n.bytes!==Array&&(i.payload=Je.newBuffer(i.payload))),n.bytes===String?i.signature="":(i.signature=[],n.bytes!==Array&&(i.signature=Je.newBuffer(i.signature)))),r.publicKey!=null&&r.hasOwnProperty("publicKey")&&(i.publicKey=n.bytes===String?Je.base64.encode(r.publicKey,0,r.publicKey.length):n.bytes===Array?Array.prototype.slice.call(r.publicKey):r.publicKey),r.payloadType!=null&&r.hasOwnProperty("payloadType")&&(i.payloadType=n.bytes===String?Je.base64.encode(r.payloadType,0,r.payloadType.length):n.bytes===Array?Array.prototype.slice.call(r.payloadType):r.payloadType),r.payload!=null&&r.hasOwnProperty("payload")&&(i.payload=n.bytes===String?Je.base64.encode(r.payload,0,r.payload.length):n.bytes===Array?Array.prototype.slice.call(r.payload):r.payload),r.signature!=null&&r.hasOwnProperty("signature")&&(i.signature=n.bytes===String?Je.base64.encode(r.signature,0,r.signature.length):n.bytes===Array?Array.prototype.slice.call(r.signature):r.signature),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,Gs.util.toJSONOptions)},t}();Qb.exports=Sa});var du=w((OF,eE)=>{"use strict";var C3=de(),{concat:I3}=(Yn(),Wn),{fromString:T3}=(It(),Nt),R3=jc(),B3=Rt(),Id=Ui(),{equals:fu}=(mr(),gr),{codes:P3}=je(),{Envelope:Zb}=Xb(),ii=class{constructor({peerId:e,payloadType:r,payload:n,signature:i}){this.peerId=e,this.payloadType=r,this.payload=n,this.signature=i,this._marshal=void 0}marshal(){if(this._marshal)return this._marshal;let e=R3.marshalPublicKey(this.peerId.pubKey);return this._marshal=Zb.encode({publicKey:e,payloadType:this.payloadType,payload:this.payload,signature:this.signature}).finish(),this._marshal}equals(e){return fu(this.peerId.pubKey.bytes,e.peerId.pubKey.bytes)&&fu(this.payloadType,e.payloadType)&&fu(this.payload,e.payload)&&fu(this.signature,e.signature)}validate(e){let r=Jb(e,this.payloadType,this.payload);return this.peerId.pubKey.verify(r,this.signature)}},Jb=(t,e,r)=>{let n=T3(t),i=Id.encode(n.byteLength),s=Id.encode(e.length),o=Id.encode(r.length);return I3([new Uint8Array(i),n,new Uint8Array(s),e,new Uint8Array(o),r])};ii.createFromProtobuf=async t=>{let e=Zb.decode(t),r=await B3.createFromPubKey(e.publicKey);return new ii({peerId:r,payloadType:e.payloadType,payload:e.payload,signature:e.signature})};ii.seal=async(t,e)=>{let r=t.domain,n=t.codec,i=t.marshal(),s=Jb(r,n,i),o=await e.privKey.sign(s);return new ii({peerId:e,payloadType:n,payload:i,signature:o})};ii.openAndCertify=async(t,e)=>{let r=await ii.createFromProtobuf(t);if(!await r.validate(e))throw C3(new Error("envelope signature is not valid for the given domain"),P3.ERR_SIGNATURE_NOT_VALID);return r};eE.exports=ii});var rE=w((DF,tE)=>{"use strict";function N3(t,e){return t.length===e.length&&e.sort()&&t.sort().every((r,n)=>e[n].equals(r))}tE.exports=N3});var sE=w((LF,iE)=>{"use strict";var $i=gn(),hu=$i.Reader,nE=$i.Writer,lt=$i.util,Sr=$i.roots["libp2p-peer-record"]||($i.roots["libp2p-peer-record"]={});Sr.PeerRecord=function(){function t(e){if(this.addresses=[],e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.peerId=lt.newBuffer([]),t.prototype.seq=lt.Long?lt.Long.fromBits(0,0,!0):0,t.prototype.addresses=lt.emptyArray,t.encode=function(r,n){if(n||(n=nE.create()),r.peerId!=null&&Object.hasOwnProperty.call(r,"peerId")&&n.uint32(10).bytes(r.peerId),r.seq!=null&&Object.hasOwnProperty.call(r,"seq")&&n.uint32(16).uint64(r.seq),r.addresses!=null&&r.addresses.length)for(var i=0;i<r.addresses.length;++i)Sr.PeerRecord.AddressInfo.encode(r.addresses[i],n.uint32(26).fork()).ldelim();return n},t.decode=function(r,n){r instanceof hu||(r=hu.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new Sr.PeerRecord;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.peerId=r.bytes();break;case 2:s.seq=r.uint64();break;case 3:s.addresses&&s.addresses.length||(s.addresses=[]),s.addresses.push(Sr.PeerRecord.AddressInfo.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof Sr.PeerRecord)return r;var n=new Sr.PeerRecord;if(r.peerId!=null&&(typeof r.peerId=="string"?lt.base64.decode(r.peerId,n.peerId=lt.newBuffer(lt.base64.length(r.peerId)),0):r.peerId.length&&(n.peerId=r.peerId)),r.seq!=null&&(lt.Long?(n.seq=lt.Long.fromValue(r.seq)).unsigned=!0:typeof r.seq=="string"?n.seq=parseInt(r.seq,10):typeof r.seq=="number"?n.seq=r.seq:typeof r.seq=="object"&&(n.seq=new lt.LongBits(r.seq.low>>>0,r.seq.high>>>0).toNumber(!0))),r.addresses){if(!Array.isArray(r.addresses))throw TypeError(".PeerRecord.addresses: array expected");n.addresses=[];for(var i=0;i<r.addresses.length;++i){if(typeof r.addresses[i]!="object")throw TypeError(".PeerRecord.addresses: object expected");n.addresses[i]=Sr.PeerRecord.AddressInfo.fromObject(r.addresses[i])}}return n},t.toObject=function(r,n){n||(n={});var i={};if((n.arrays||n.defaults)&&(i.addresses=[]),n.defaults)if(n.bytes===String?i.peerId="":(i.peerId=[],n.bytes!==Array&&(i.peerId=lt.newBuffer(i.peerId))),lt.Long){var s=new lt.Long(0,0,!0);i.seq=n.longs===String?s.toString():n.longs===Number?s.toNumber():s}else i.seq=n.longs===String?"0":0;if(r.peerId!=null&&r.hasOwnProperty("peerId")&&(i.peerId=n.bytes===String?lt.base64.encode(r.peerId,0,r.peerId.length):n.bytes===Array?Array.prototype.slice.call(r.peerId):r.peerId),r.seq!=null&&r.hasOwnProperty("seq")&&(typeof r.seq=="number"?i.seq=n.longs===String?String(r.seq):r.seq:i.seq=n.longs===String?lt.Long.prototype.toString.call(r.seq):n.longs===Number?new lt.LongBits(r.seq.low>>>0,r.seq.high>>>0).toNumber(!0):r.seq),r.addresses&&r.addresses.length){i.addresses=[];for(var o=0;o<r.addresses.length;++o)i.addresses[o]=Sr.PeerRecord.AddressInfo.toObject(r.addresses[o],n)}return i},t.prototype.toJSON=function(){return this.constructor.toObject(this,$i.util.toJSONOptions)},t.AddressInfo=function(){function e(r){if(r)for(var n=Object.keys(r),i=0;i<n.length;++i)r[n[i]]!=null&&(this[n[i]]=r[n[i]])}return e.prototype.multiaddr=lt.newBuffer([]),e.encode=function(n,i){return i||(i=nE.create()),n.multiaddr!=null&&Object.hasOwnProperty.call(n,"multiaddr")&&i.uint32(10).bytes(n.multiaddr),i},e.decode=function(n,i){n instanceof hu||(n=hu.create(n));for(var s=i===void 0?n.len:n.pos+i,o=new Sr.PeerRecord.AddressInfo;n.pos<s;){var a=n.uint32();switch(a>>>3){case 1:o.multiaddr=n.bytes();break;default:n.skipType(a&7);break}}return o},e.fromObject=function(n){if(n instanceof Sr.PeerRecord.AddressInfo)return n;var i=new Sr.PeerRecord.AddressInfo;return n.multiaddr!=null&&(typeof n.multiaddr=="string"?lt.base64.decode(n.multiaddr,i.multiaddr=lt.newBuffer(lt.base64.length(n.multiaddr)),0):n.multiaddr.length&&(i.multiaddr=n.multiaddr)),i},e.toObject=function(n,i){i||(i={});var s={};return i.defaults&&(i.bytes===String?s.multiaddr="":(s.multiaddr=[],i.bytes!==Array&&(s.multiaddr=lt.newBuffer(s.multiaddr)))),n.multiaddr!=null&&n.hasOwnProperty("multiaddr")&&(s.multiaddr=i.bytes===String?lt.base64.encode(n.multiaddr,0,n.multiaddr.length):i.bytes===Array?Array.prototype.slice.call(n.multiaddr):n.multiaddr),s},e.prototype.toJSON=function(){return this.constructor.toObject(this,$i.util.toJSONOptions)},e}(),t}();iE.exports=Sr});var aE=w((kF,oE)=>{"use strict";var O3="libp2p-peer-record",D3=Uint8Array.from([3,1]);oE.exports={ENVELOPE_DOMAIN_PEER_RECORD:O3,ENVELOPE_PAYLOAD_TYPE_PEER_RECORD:D3}});var pu=w((qF,lE)=>{"use strict";var{Multiaddr:L3}=qt(),k3=Rt(),q3=rE(),{PeerRecord:cE}=sE(),{ENVELOPE_DOMAIN_PEER_RECORD:uE,ENVELOPE_PAYLOAD_TYPE_PEER_RECORD:U3}=aE(),Hi=class{constructor({peerId:e,multiaddrs:r=[],seqNumber:n=Date.now()}){this.domain=uE,this.codec=U3,this.peerId=e,this.multiaddrs=r,this.seqNumber=n,this._marshal=void 0}marshal(){return this._marshal?this._marshal:(this._marshal=cE.encode({peerId:this.peerId.toBytes(),seq:this.seqNumber,addresses:this.multiaddrs.map(e=>({multiaddr:e.bytes}))}).finish(),this._marshal)}equals(e){return!(!(e instanceof Hi)||!this.peerId.equals(e.peerId)||this.seqNumber!==e.seqNumber||!q3(this.multiaddrs,e.multiaddrs))}};Hi.createFromProtobuf=t=>{let e=cE.decode(t),r=k3.createFromBytes(e.peerId),n=(e.addresses||[]).map(s=>new L3(s.multiaddr)),i=Number(e.seq);return new Hi({peerId:r,multiaddrs:n,seqNumber:i})};Hi.DOMAIN=uE;lE.exports=Hi});var Td=w((UF,fE)=>{"use strict";var M3=du(),F3=pu();async function K3(t){let e=new F3({peerId:t.peerId,multiaddrs:t.multiaddrs}),r=await M3.seal(e,t.peerId);await t.peerStore.addressBook.consumePeerRecord(r)}fE.exports.updateSelfPeerRecord=K3});var Bd=w((MF,pE)=>{"use strict";var dE=Te(),zi=Object.assign(dE("libp2p:transports"),{error:dE("libp2p:transports:err")}),V3=Wb(),{codes:Ws}=je(),Aa=de(),{updateSelfPeerRecord:hE}=Td(),Rd=class{constructor({libp2p:e,upgrader:r,faultTolerance:n=yu.FATAL_ALL}){this.libp2p=e,this.upgrader=r,this._transports=new Map,this._listeners=new Map,this._listenerOptions=new Map,this.faultTolerance=n}add(e,r,n={}){if(zi("adding %s",e),!e)throw Aa(new Error(`Transport must have a valid key, was given '${e}'`),Ws.ERR_INVALID_KEY);if(this._transports.has(e))throw Aa(new Error("There is already a transport with this key"),Ws.ERR_DUPLICATE_TRANSPORT);let i=new r({...n,libp2p:this.libp2p,upgrader:this.upgrader});this._transports.set(e,i),this._listenerOptions.set(e,n.listenerOptions||{}),this._listeners.has(e)||this._listeners.set(e,[])}async close(){let e=[];for(let[r,n]of this._listeners)for(zi("closing listeners for %s",r);n.length;){let i=n.pop();i.removeAllListeners("listening"),i.removeAllListeners("close"),e.push(i.close())}await Promise.all(e),zi("all listeners closed");for(let r of this._listeners.keys())this._listeners.set(r,[])}async dial(e,r){let n=this.transportForMultiaddr(e);if(!n)throw Aa(new Error(`No transport available for address ${String(e)}`),Ws.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,r)}catch(i){throw i.code||(i.code=Ws.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let e=[];for(let r of this._listeners.values())for(let n of r)e=[...e,...n.getAddrs()];return e}getTransports(){return this._transports.values()}transportForMultiaddr(e){for(let r of this._transports.values())if(r.filter([e]).length)return r;return null}async listen(e){if(!e||e.length===0){zi("no addresses were provided for listening, this node is dial only");return}let r=[];for(let[n,i]of this._transports.entries()){let s=i.filter(e),o=[];for(let u of s){zi("creating listener for %s on %s",n,u);let l=i.createListener(this._listenerOptions.get(n));this._listeners.get(n).push(l),l.on("listening",()=>hE(this.libp2p)),l.on("close",()=>hE(this.libp2p)),o.push(l.listen(u))}if(o.length===0){r.push(n);continue}if(!(await V3(o)).find(u=>u.isFulfilled===!0)&&this.faultTolerance!==yu.NO_FATAL)throw Aa(new Error(`Transport (${n}) could not listen on any available address`),Ws.ERR_NO_VALID_ADDRESSES)}if(r.length===this._transports.size){let n=`no valid addresses were provided for transports [${r}]`;if(this.faultTolerance===yu.FATAL_ALL)throw Aa(new Error(n),Ws.ERR_NO_VALID_ADDRESSES);zi(`libp2p in dial mode only: ${n}`)}}async remove(e){if(zi("removing %s",e),this._listeners.has(e))for(let r of this._listeners.get(e))r.removeAllListeners("listening"),r.removeAllListeners("close"),await r.close();this._transports.delete(e),this._listeners.delete(e)}async removeAll(){let e=[];for(let r of this._transports.keys())e.push(this.remove(r));await Promise.all(e)}},yu={FATAL_ALL:0,NO_FATAL:1};Rd.FaultTolerance=yu;pE.exports=Rd});var mE=w((FF,gE)=>{"use strict";var j3=Hs(),{dnsaddrResolver:$3}=Ab(),Pd=cu(),{AGENT_VERSION:H3}=Ed(),yE=uu(),{publicAddressesFirst:z3}=_d(),{FaultTolerance:G3}=Bd(),W3={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{minConnections:25},connectionGater:{},transportManager:{faultTolerance:G3.FATAL_ALL},dialer:{maxParallelDials:Pd.MAX_PARALLEL_DIALS,maxDialsPerPeer:Pd.MAX_PER_PEER_DIALS,dialTimeout:Pd.DIAL_TIMEOUT,resolvers:{dnsaddr:$3},addressSorter:z3},host:{agentVersion:H3},metrics:{enabled:!1},peerStore:{persistence:!1,threshold:5},peerRouting:{refreshManager:{enabled:!0,interval:6e5,bootDelay:1e4}},config:{protocolPrefix:"ipfs",dht:{enabled:!1,kBucketSize:20},nat:{enabled:!0,ttl:7200,keepAlive:!0,gateway:null,externalIp:null,pmp:{enabled:!1}},peerDiscovery:{autoDial:!0},pubsub:{enabled:!0},relay:{enabled:!0,advertise:{bootDelay:yE.ADVERTISE_BOOT_DELAY,enabled:!1,ttl:yE.ADVERTISE_TTL},hop:{enabled:!1,active:!1},autoRelay:{enabled:!1,maxListeners:2}},transport:{}}};gE.exports.validate=t=>{let e=j3(W3,t);if(e.modules.transport.length<1)throw new Error("'options.modules.transport' must contain at least 1 transport");return e}});var EE=w((KF,bE)=>{"use strict";var{EventEmitter:Y3}=Qt(),{Multiaddr:Ca}=qt(),Q3=Rt(),vE=class extends Y3{constructor(e,{listen:r=[],announce:n=[]}={}){super();this.peerId=e,this.listen=new Set(r.map(i=>i.toString())),this.announce=new Set(n.map(i=>i.toString())),this.observed=new Set}getListenAddrs(){return Array.from(this.listen).map(e=>new Ca(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>new Ca(e))}getObservedAddrs(){return Array.from(this.observed).map(e=>new Ca(e))}addObservedAddr(e){let r=new Ca(e),n=r.getPeerId();n&&Q3.createFromB58String(n).equals(this.peerId)&&(r=r.decapsulate(new Ca(`/p2p/${this.peerId}`)));let i=r.toString();this.observed.has(i)||(this.observed.add(i),this.emit("change:addresses"))}};bE.exports=vE});var xE=w((VF,_E)=>{"use strict";var{EventEmitter:X3}=Qt(),Nd=Te()("latency-monitor:VisibilityChangeEmitter"),wE=class extends X3{constructor(){super();if(typeof document=="undefined"){Nd('This is not a browser, no "document" found. Stopping.');return}this._initializeVisibilityVarNames(),this._addVisibilityChangeListener()}_initializeVisibilityVarNames(){let e,r;typeof document.hidden!="undefined"?(e="hidden",r="visibilitychange"):typeof document.mozHidden!="undefined"?(e="mozHidden",r="mozvisibilitychange"):typeof document.msHidden!="undefined"?(e="msHidden",r="msvisibilitychange"):typeof document.webkitHidden!="undefined"&&(e="webkitHidden",r="webkitvisibilitychange"),this._hidden=e,this._visibilityChange=r}_addVisibilityChangeListener(){typeof document.addEventListener=="undefined"||typeof document[this._hidden]=="undefined"?Nd("Checking page visibility requires a browser that supports the Page Visibility API."):document.addEventListener(this._visibilityChange,this._handleVisibilityChange.bind(this),!1)}isVisible(){if(!(this._hidden===void 0||document[this._hidden]===void 0))return!document[this._hidden]}_handleVisibilityChange(){let e=!document[this._hidden];Nd(e?"Page Visible":"Page Hidden"),this.emit("visibilityChange",e)}};_E.exports=wE});var CE=w((jF,AE)=>{"use strict";var{EventEmitter:Z3}=Qt(),J3=xE(),In=Te()("latency-monitor:LatencyMonitor"),SE=class extends Z3{constructor({latencyCheckIntervalMs:e,dataEmitIntervalMs:r,asyncTestFn:n,latencyRandomPercentage:i}={}){super();let s=this;s.latencyCheckIntervalMs=e||500,s.latencyRandomPercentage=i||10,s._latecyCheckMultiply=2*(s.latencyRandomPercentage/100)*s.latencyCheckIntervalMs,s._latecyCheckSubtract=s._latecyCheckMultiply/2,s.dataEmitIntervalMs=r===null||r===0?void 0:r||5*1e3,In("latencyCheckIntervalMs: %s dataEmitIntervalMs: %s",s.latencyCheckIntervalMs,s.dataEmitIntervalMs),s.dataEmitIntervalMs?In("Expecting ~%s events per summary",s.latencyCheckIntervalMs/s.dataEmitIntervalMs):In("Not emitting summaries"),s.asyncTestFn=n}start(){globalThis.process&&globalThis.process.hrtime?(In("Using process.hrtime for timing"),this.now=globalThis.process.hrtime,this.getDeltaMS=e=>{let r=this.now(e);return r[0]*1e3+r[1]/1e6}):typeof window!="undefined"&&window.performance&&window.performance.now?(In("Using performance.now for timing"),this.now=window.performance.now.bind(window.performance),this.getDeltaMS=e=>Math.round(this.now()-e)):(In("Using Date.now for timing"),this.now=Date.now,this.getDeltaMS=e=>this.now()-e),this._latencyData=this._initLatencyData(),eO()&&(this._visibilityChangeEmitter=new J3,this._visibilityChangeEmitter.on("visibilityChange",e=>{e?this._startTimers():(this._emitSummary(),this._stopTimers())})),(!this._visibilityChangeEmitter||this._visibilityChangeEmitter.isVisible())&&this._startTimers()}stop(){this._stopTimers()}_startTimers(){this._checkLatencyID||(this._checkLatency(),this.dataEmitIntervalMs&&(this._emitIntervalID=setInterval(()=>this._emitSummary(),this.dataEmitIntervalMs),typeof this._emitIntervalID.unref=="function"&&this._emitIntervalID.unref()))}_stopTimers(){this._checkLatencyID&&(clearTimeout(this._checkLatencyID),this._checkLatencyID=void 0),this._emitIntervalID&&(clearInterval(this._emitIntervalID),this._emitIntervalID=void 0)}_emitSummary(){let e=this.getSummary();e.events>0&&this.emit("data",e)}getSummary(){let e={events:this._latencyData.events,minMs:this._latencyData.minMs,maxMs:this._latencyData.maxMs,avgMs:this._latencyData.events?this._latencyData.totalMs/this._latencyData.events:Number.POSITIVE_INFINITY,lengthMs:this.getDeltaMS(this._latencyData.startTime)};return this._latencyData=this._initLatencyData(),In("Summary: %O",e),e}_checkLatency(){let e=this,r=Math.random()*e._latecyCheckMultiply-e._latecyCheckSubtract,n={deltaOffset:Math.ceil(e.latencyCheckIntervalMs+r),startTime:e.now()},i=()=>{if(!this._checkLatencyID)return;let s=e.getDeltaMS(n.startTime)-n.deltaOffset;e._checkLatency(),e._latencyData.events++,e._latencyData.minMs=Math.min(e._latencyData.minMs,s),e._latencyData.maxMs=Math.max(e._latencyData.maxMs,s),e._latencyData.totalMs+=s,In("MS: %s Data: %O",s,e._latencyData)};In("localData: %O",n),this._checkLatencyID=setTimeout(()=>{e.asyncTestFn?(n.deltaOffset=0,n.startTime=e.now(),e.asyncTestFn(i)):(n.deltaOffset-=1,i())},n.deltaOffset),typeof this._checkLatencyID.unref=="function"&&this._checkLatencyID.unref()}_initLatencyData(){return{startTime:this.now(),minMs:Number.POSITIVE_INFINITY,maxMs:Number.NEGATIVE_INFINITY,events:0,totalMs:0}}};function eO(){return typeof window!="undefined"}AE.exports=SE});var Od=w(($F,TE)=>{"use strict";var IE=class extends Map{constructor(e){super();let{system:r,component:n,metric:i,metrics:s}=e;this._system=r,this._component=n,this._metric=i,this._metrics=s,this._metrics.updateComponentMetric({system:this._system,component:this._component,metric:this._metric,value:this.size})}set(e,r){return super.set(e,r),this._metrics.updateComponentMetric({system:this._system,component:this._component,metric:this._metric,value:this.size}),this}delete(e){let r=super.delete(e);return this._metrics.updateComponentMetric({system:this._system,component:this._component,metric:this._metric,value:this.size}),r}clear(){super.clear(),this._metrics.updateComponentMetric({system:this._system,component:this._component,metric:this._metric,value:this.size})}};TE.exports=({system:t="libp2p",component:e,metric:r,metrics:n})=>{let i;return n?i=new IE({system:t,component:e,metric:r,metrics:n}):i=new Map,i}});var qE=w((HF,kE)=>{"use strict";var RE=Te(),Mr=Object.assign(RE("libp2p:connection-manager"),{error:RE("libp2p:connection-manager:err")}),BE=de(),tO=Hs(),rO=CE(),PE=va(),{EventEmitter:nO}=Qt(),NE=Od(),iO=Rt(),{codes:{ERR_INVALID_PARAMETERS:OE}}=je(),sO={maxConnections:1/0,minConnections:0,maxData:1/0,maxSentData:1/0,maxReceivedData:1/0,maxEventLoopDelay:1/0,pollInterval:2e3,autoDialInterval:1e4,movingAverageInterval:6e4,defaultPeerValue:1},DE="connection-manager",oO="peer-connections",aO="peer-values",LE=class extends nO{constructor(e,r={}){super();if(this._libp2p=e,this._peerId=e.peerId.toB58String(),this._options=tO.call({ignoreUndefined:!0},sO,r),this._options.maxConnections<this._options.minConnections)throw BE(new Error("Connection Manager maxConnections must be greater than minConnections"),OE);Mr("options: %j",this._options),this._peerValues=NE({component:DE,metric:aO,metrics:this._libp2p.metrics}),this.connections=NE({component:DE,metric:oO,metrics:this._libp2p.metrics}),this._started=!1,this._timer=null,this._checkMetrics=this._checkMetrics.bind(this),this._latencyMonitor=new rO({latencyCheckIntervalMs:this._options.pollInterval,dataEmitIntervalMs:this._options.pollInterval}),this.setMaxListeners(1/0)}get size(){return Array.from(this.connections.values()).reduce((e,r)=>e+r.length,0)}start(){this._libp2p.metrics&&(this._timer=this._timer||PE(this._checkMetrics,this._options.pollInterval)),this._latencyMonitor.start(),this._onLatencyMeasure=this._onLatencyMeasure.bind(this),this._latencyMonitor.on("data",this._onLatencyMeasure),this._started=!0,Mr("started")}async stop(){this._timer&&this._timer.clear(),this._latencyMonitor.removeListener("data",this._onLatencyMeasure),this._latencyMonitor.stop(),this._started=!1,await this._close(),Mr("stopped")}async _close(){let e=[];for(let r of this.connections.values())for(let n of r)e.push(n.close());await Promise.all(e),this.connections.clear()}setPeerValue(e,r){if(r<0||r>1)throw new Error("value should be a number between 0 and 1");this._peerValues.set(e.toB58String(),r)}async _checkMetrics(){if(this._libp2p.metrics)try{let e=this._libp2p.metrics.global.movingAverages,r=e.dataReceived[this._options.movingAverageInterval].movingAverage();await this._checkMaxLimit("maxReceivedData",r);let n=e.dataSent[this._options.movingAverageInterval].movingAverage();await this._checkMaxLimit("maxSentData",n);let i=r+n;await this._checkMaxLimit("maxData",i),Mr("metrics update",i)}finally{this._timer=PE(this._checkMetrics,this._options.pollInterval)}}async onConnect(e){let r=e.remotePeer,n=r.toB58String(),i=this.connections.get(n);this.emit("peer:connect",e),i?i.push(e):this.connections.set(n,[e]),await this._libp2p.peerStore.keyBook.set(r,r.pubKey),this._peerValues.has(n)||this._peerValues.set(n,this._options.defaultPeerValue),await this._checkMaxLimit("maxConnections",this.size)}onDisconnect(e){let r=e.remotePeer.toB58String(),n=this.connections.get(r);n&&n.length>1?(n=n.filter(i=>i.id!==e.id),this.connections.set(r,n)):n&&(this.connections.delete(r),this._peerValues.delete(e.remotePeer.toB58String()),this.emit("peer:disconnect",e),this._libp2p.metrics&&this._libp2p.metrics.onPeerDisconnected(e.remotePeer))}get(e){let r=this.getAll(e);return r.length?r[0]:null}getAll(e){if(!iO.isPeerId(e))throw BE(new Error("peerId must be an instance of peer-id"),OE);let r=e.toB58String(),n=this.connections.get(r);return n?n.filter(i=>i.stat.status==="open"):[]}_onLatencyMeasure(e){this._checkMaxLimit("maxEventLoopDelay",e.avgMs).catch(r=>{Mr.error(r)})}async _checkMaxLimit(e,r){let n=this._options[e];Mr("checking limit of %s. current value: %d of %d",e,r,n),r>n&&(Mr("%s: limit exceeded: %s, %d",this._peerId,e,r),await this._maybeDisconnectOne())}async _maybeDisconnectOne(){if(this._options.minConnections<this.connections.size){let e=Array.from(new Map([...this._peerValues.entries()].sort((n,i)=>n[1]-i[1])));Mr("%s: sorted peer values: %j",this._peerId,e);let r=e[0];if(r){let n=r[0];Mr("%s: lowest value peer is %s",this._peerId,n),Mr("%s: closing a connection to %j",this._peerId,n);for(let i of this.connections.values())if(i[0].remotePeer.toB58String()===n){i[0].close().catch(s=>{Mr.error(s)}),this.onDisconnect(i[0]);break}}}}};kE.exports=LE});var ME=w((zF,UE)=>{"use strict";var cO=Mi(),uO=async function*(t,e){yield*(await cO(t)).sort(e)};UE.exports=uO});var $E=w((GF,jE)=>{"use strict";var FE=Te(),lO=Hs(),KE=va(),fO=Mi(),{pipe:dO}=ir(),hO=Fi(),pO=ME(),si=Object.assign(FE("libp2p:connection-manager:auto-dialler"),{error:FE("libp2p:connection-manager:auto-dialler:err")}),yO={enabled:!0,minConnections:0,autoDialInterval:1e4},VE=class{constructor(e,r={}){this._options=lO.call({ignoreUndefined:!0},yO,r),this._libp2p=e,this._running=!1,this._autoDialTimeout=null,this._autoDial=this._autoDial.bind(this),si("options: %j",this._options)}async start(){if(!this._options.enabled){si("not enabled");return}this._running=!0,this._autoDial().catch(e=>{si.error("could start autodial",e)}),si("started")}async stop(){if(!this._options.enabled){si("not enabled");return}this._running=!1,this._autoDialTimeout&&this._autoDialTimeout.clear(),si("stopped")}async _autoDial(){let e=this._options.minConnections;if(this._libp2p.connections.size>=e){this._autoDialTimeout=KE(this._autoDial,this._options.autoDialInterval);return}let r=await dO(this._libp2p.peerStore.getPeers(),n=>hO(n,i=>!i.id.equals(this._libp2p.peerId)),n=>pO(n,(i,s)=>s.protocols&&s.protocols.length&&(!i.protocols||!i.protocols.length)||s.id.pubKey&&!i.id.pubKey?1:-1),n=>fO(n));for(let n=0;this._running&&n<r.length&&this._libp2p.connections.size<e;n++){let i=r[n];if(!this._libp2p.connectionManager.get(i.id)){si("connecting to a peerStore stored peer %s",i.id.toB58String());try{await this._libp2p.dialer.connectToPeer(i.id)}catch(s){si.error("could not connect to peerStore stored peer",s)}}}!this._running||(this._autoDialTimeout=KE(this._autoDial,this._options.autoDialInterval))}};jE.exports=VE});var tw=w((WF,ew)=>{"use strict";var{Multiaddr:Dd}=qt(),HE=ce("dns4"),zE=ce("dns6"),GE=ce("dnsaddr"),Gi=Ut(ce("dns"),GE,HE,zE),Ia=Ut(ce("ip4"),ce("ip6")),Ys=Ut(ve(Ia,ce("tcp")),ve(Gi,ce("tcp"))),Ld=ve(Ia,ce("udp")),WE=ve(Ld,ce("utp")),YE=ve(Ld,ce("quic")),Qs=Ut(ve(Ys,ce("ws")),ve(Gi,ce("ws"))),Xs=Ut(ve(Ys,ce("wss")),ve(Gi,ce("wss"))),gu=Ut(ve(Ys,ce("http")),ve(Ia,ce("http")),ve(Gi,ce("http"))),mu=Ut(ve(Ys,ce("https")),ve(Ia,ce("https")),ve(Gi,ce("https"))),kd=Ut(ve(Qs,ce("p2p-webrtc-star"),ce("p2p")),ve(Xs,ce("p2p-webrtc-star"),ce("p2p")),ve(Qs,ce("p2p-webrtc-star")),ve(Xs,ce("p2p-webrtc-star"))),gO=Ut(ve(Qs,ce("p2p-websocket-star"),ce("p2p")),ve(Xs,ce("p2p-websocket-star"),ce("p2p")),ve(Qs,ce("p2p-websocket-star")),ve(Xs,ce("p2p-websocket-star"))),qd=Ut(ve(gu,ce("p2p-webrtc-direct"),ce("p2p")),ve(mu,ce("p2p-webrtc-direct"),ce("p2p")),ve(gu,ce("p2p-webrtc-direct")),ve(mu,ce("p2p-webrtc-direct"))),Zs=Ut(Qs,Xs,gu,mu,kd,qd,Ys,WE,YE,Gi),mO=Ut(ve(Zs,ce("p2p-stardust"),ce("p2p")),ve(Zs,ce("p2p-stardust"))),oi=Ut(ve(Zs,ce("p2p")),kd,qd,ce("p2p")),QE=Ut(ve(oi,ce("p2p-circuit"),oi),ve(oi,ce("p2p-circuit")),ve(ce("p2p-circuit"),oi),ve(Zs,ce("p2p-circuit")),ve(ce("p2p-circuit"),Zs),ce("p2p-circuit")),XE=()=>Ut(ve(QE,XE),QE),Js=XE(),ZE=Ut(ve(Js,oi,Js),ve(oi,Js),ve(Js,oi),Js,oi);ew.exports={DNS:Gi,DNS4:HE,DNS6:zE,DNSADDR:GE,IP:Ia,TCP:Ys,UDP:Ld,QUIC:YE,UTP:WE,HTTP:gu,HTTPS:mu,WebSockets:Qs,WebSocketsSecure:Xs,WebSocketStar:gO,WebRTCStar:kd,WebRTCDirect:qd,Reliable:Zs,Stardust:mO,Circuit:Js,P2P:ZE,IPFS:ZE};function JE(t){function e(r){if(!Dd.isMultiaddr(r))try{r=new Dd(r)}catch(i){return!1}let n=t(r.protoNames());return n===null?!1:n===!0||n===!1?n:n.length===0}return e}function ve(...t){function e(r){if(r.length<t.length)return null;let n=r;return t.some(i=>(n=typeof i=="function"?i().partialMatch(r):i.partialMatch(r),Array.isArray(n)&&(r=n),n===null)),n}return{toString:function(){return"{ "+t.join(" ")+" }"},input:t,matches:JE(e),partialMatch:e}}function Ut(...t){function e(n){let i=null;return t.some(s=>{let o=typeof s=="function"?s().partialMatch(n):s.partialMatch(n);return o?(i=o,!0):!1}),i}return{toString:function(){return"{ "+t.join(" ")+" }"},input:t,matches:JE(e),partialMatch:e}}function ce(t){let e=t;function r(i){let s;if(typeof i=="string"||i instanceof Uint8Array)try{s=new Dd(i)}catch(a){return!1}else s=i;let o=s.protoNames();return o.length===1&&o[0]===e}function n(i){return i.length===0?null:i[0]===e?i.slice(1):null}return{toString:function(){return e},matches:r,partialMatch:n}}});var eo=w((YF,nw)=>{"use strict";var Wi=gn(),vu=Wi.Reader,rw=Wi.Writer,Ar=Wi.util,At=Wi.roots["libp2p-circuit"]||(Wi.roots["libp2p-circuit"]={});At.CircuitRelay=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.type=1,t.prototype.srcPeer=null,t.prototype.dstPeer=null,t.prototype.code=100,t.encode=function(r,n){return n||(n=rw.create()),r.type!=null&&Object.hasOwnProperty.call(r,"type")&&n.uint32(8).int32(r.type),r.srcPeer!=null&&Object.hasOwnProperty.call(r,"srcPeer")&&At.CircuitRelay.Peer.encode(r.srcPeer,n.uint32(18).fork()).ldelim(),r.dstPeer!=null&&Object.hasOwnProperty.call(r,"dstPeer")&&At.CircuitRelay.Peer.encode(r.dstPeer,n.uint32(26).fork()).ldelim(),r.code!=null&&Object.hasOwnProperty.call(r,"code")&&n.uint32(32).int32(r.code),n},t.decode=function(r,n){r instanceof vu||(r=vu.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new At.CircuitRelay;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.type=r.int32();break;case 2:s.srcPeer=At.CircuitRelay.Peer.decode(r,r.uint32());break;case 3:s.dstPeer=At.CircuitRelay.Peer.decode(r,r.uint32());break;case 4:s.code=r.int32();break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof At.CircuitRelay)return r;var n=new At.CircuitRelay;switch(r.type){case"HOP":case 1:n.type=1;break;case"STOP":case 2:n.type=2;break;case"STATUS":case 3:n.type=3;break;case"CAN_HOP":case 4:n.type=4;break}if(r.srcPeer!=null){if(typeof r.srcPeer!="object")throw TypeError(".CircuitRelay.srcPeer: object expected");n.srcPeer=At.CircuitRelay.Peer.fromObject(r.srcPeer)}if(r.dstPeer!=null){if(typeof r.dstPeer!="object")throw TypeError(".CircuitRelay.dstPeer: object expected");n.dstPeer=At.CircuitRelay.Peer.fromObject(r.dstPeer)}switch(r.code){case"SUCCESS":case 100:n.code=100;break;case"HOP_SRC_ADDR_TOO_LONG":case 220:n.code=220;break;case"HOP_DST_ADDR_TOO_LONG":case 221:n.code=221;break;case"HOP_SRC_MULTIADDR_INVALID":case 250:n.code=250;break;case"HOP_DST_MULTIADDR_INVALID":case 251:n.code=251;break;case"HOP_NO_CONN_TO_DST":case 260:n.code=260;break;case"HOP_CANT_DIAL_DST":case 261:n.code=261;break;case"HOP_CANT_OPEN_DST_STREAM":case 262:n.code=262;break;case"HOP_CANT_SPEAK_RELAY":case 270:n.code=270;break;case"HOP_CANT_RELAY_TO_SELF":case 280:n.code=280;break;case"STOP_SRC_ADDR_TOO_LONG":case 320:n.code=320;break;case"STOP_DST_ADDR_TOO_LONG":case 321:n.code=321;break;case"STOP_SRC_MULTIADDR_INVALID":case 350:n.code=350;break;case"STOP_DST_MULTIADDR_INVALID":case 351:n.code=351;break;case"STOP_RELAY_REFUSED":case 390:n.code=390;break;case"MALFORMED_MESSAGE":case 400:n.code=400;break}return n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(i.type=n.enums===String?"HOP":1,i.srcPeer=null,i.dstPeer=null,i.code=n.enums===String?"SUCCESS":100),r.type!=null&&r.hasOwnProperty("type")&&(i.type=n.enums===String?At.CircuitRelay.Type[r.type]:r.type),r.srcPeer!=null&&r.hasOwnProperty("srcPeer")&&(i.srcPeer=At.CircuitRelay.Peer.toObject(r.srcPeer,n)),r.dstPeer!=null&&r.hasOwnProperty("dstPeer")&&(i.dstPeer=At.CircuitRelay.Peer.toObject(r.dstPeer,n)),r.code!=null&&r.hasOwnProperty("code")&&(i.code=n.enums===String?At.CircuitRelay.Status[r.code]:r.code),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,Wi.util.toJSONOptions)},t.Status=function(){var e={},r=Object.create(e);return r[e[100]="SUCCESS"]=100,r[e[220]="HOP_SRC_ADDR_TOO_LONG"]=220,r[e[221]="HOP_DST_ADDR_TOO_LONG"]=221,r[e[250]="HOP_SRC_MULTIADDR_INVALID"]=250,r[e[251]="HOP_DST_MULTIADDR_INVALID"]=251,r[e[260]="HOP_NO_CONN_TO_DST"]=260,r[e[261]="HOP_CANT_DIAL_DST"]=261,r[e[262]="HOP_CANT_OPEN_DST_STREAM"]=262,r[e[270]="HOP_CANT_SPEAK_RELAY"]=270,r[e[280]="HOP_CANT_RELAY_TO_SELF"]=280,r[e[320]="STOP_SRC_ADDR_TOO_LONG"]=320,r[e[321]="STOP_DST_ADDR_TOO_LONG"]=321,r[e[350]="STOP_SRC_MULTIADDR_INVALID"]=350,r[e[351]="STOP_DST_MULTIADDR_INVALID"]=351,r[e[390]="STOP_RELAY_REFUSED"]=390,r[e[400]="MALFORMED_MESSAGE"]=400,r}(),t.Type=function(){var e={},r=Object.create(e);return r[e[1]="HOP"]=1,r[e[2]="STOP"]=2,r[e[3]="STATUS"]=3,r[e[4]="CAN_HOP"]=4,r}(),t.Peer=function(){function e(r){if(this.addrs=[],r)for(var n=Object.keys(r),i=0;i<n.length;++i)r[n[i]]!=null&&(this[n[i]]=r[n[i]])}return e.prototype.id=Ar.newBuffer([]),e.prototype.addrs=Ar.emptyArray,e.encode=function(n,i){if(i||(i=rw.create()),i.uint32(10).bytes(n.id),n.addrs!=null&&n.addrs.length)for(var s=0;s<n.addrs.length;++s)i.uint32(18).bytes(n.addrs[s]);return i},e.decode=function(n,i){n instanceof vu||(n=vu.create(n));for(var s=i===void 0?n.len:n.pos+i,o=new At.CircuitRelay.Peer;n.pos<s;){var a=n.uint32();switch(a>>>3){case 1:o.id=n.bytes();break;case 2:o.addrs&&o.addrs.length||(o.addrs=[]),o.addrs.push(n.bytes());break;default:n.skipType(a&7);break}}if(!o.hasOwnProperty("id"))throw Ar.ProtocolError("missing required 'id'",{instance:o});return o},e.fromObject=function(n){if(n instanceof At.CircuitRelay.Peer)return n;var i=new At.CircuitRelay.Peer;if(n.id!=null&&(typeof n.id=="string"?Ar.base64.decode(n.id,i.id=Ar.newBuffer(Ar.base64.length(n.id)),0):n.id.length&&(i.id=n.id)),n.addrs){if(!Array.isArray(n.addrs))throw TypeError(".CircuitRelay.Peer.addrs: array expected");i.addrs=[];for(var s=0;s<n.addrs.length;++s)typeof n.addrs[s]=="string"?Ar.base64.decode(n.addrs[s],i.addrs[s]=Ar.newBuffer(Ar.base64.length(n.addrs[s])),0):n.addrs[s].length&&(i.addrs[s]=n.addrs[s])}return i},e.toObject=function(n,i){i||(i={});var s={};if((i.arrays||i.defaults)&&(s.addrs=[]),i.defaults&&(i.bytes===String?s.id="":(s.id=[],i.bytes!==Array&&(s.id=Ar.newBuffer(s.id)))),n.id!=null&&n.hasOwnProperty("id")&&(s.id=i.bytes===String?Ar.base64.encode(n.id,0,n.id.length):i.bytes===Array?Array.prototype.slice.call(n.id):n.id),n.addrs&&n.addrs.length){s.addrs=[];for(var o=0;o<n.addrs.length;++o)s.addrs[o]=i.bytes===String?Ar.base64.encode(n.addrs[o],0,n.addrs[o].length):i.bytes===Array?Array.prototype.slice.call(n.addrs[o]):n.addrs[o]}return s},e.prototype.toJSON=function(){return this.constructor.toObject(this,Wi.util.toJSONOptions)},e}(),t}();nw.exports=At});var sw=w((QF,iw)=>{iw.exports=function(e){if(e){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}});var aw=w((ZF,ow)=>{ow.exports=class extends Error{constructor(e,r){super(e||"The operation was aborted");this.type="aborted",this.code=r||"ABORT_ERR"}}});var bu=w((JF,Yi)=>{var vO=sw(),Ud=aw(),cw=(t,e,r)=>Md(t,Array.isArray(e)?e:[{signal:e,options:r}]),Md=(t,e)=>{t=vO(t),e=e.map(({signal:n,options:i})=>({signal:n,options:i||{}}));async function*r(){let n,i=()=>{n&&n()};for(let{signal:s}of e)s.addEventListener("abort",i);for(;;){let s;try{for(let{signal:a,options:c}of e)if(a.aborted){let{abortMessage:u,abortCode:l}=c;throw new Ud(u,l)}let o=new Promise((a,c)=>{n=()=>{let{options:u}=e.find(({signal:d})=>d.aborted),{abortMessage:l,abortCode:f}=u;c(new Ud(l,f))}});s=await Promise.race([o,t.next()]),n=null}catch(o){for(let{signal:u}of e)u.removeEventListener("abort",i);let a=e.find(({signal:u})=>u.aborted),c=o.type==="aborted"&&a;if(c&&a.options.onAbort&&await a.options.onAbort(t),typeof t.return=="function")try{let u=t.return();u instanceof Promise&&u.catch(l=>{a.options.onReturnError!=null&&a.options.onReturnError(l)})}catch(u){a.options.onReturnError!=null&&a.options.onReturnError(u)}if(c&&a.options.returnOnAbort)return;throw o}if(s.done)break;yield s.value}for(let{signal:s}of e)s.removeEventListener("abort",i)}return r()},uw=(t,e,r)=>lw(t,Array.isArray(e)?e:[{signal:e,options:r}]),lw=(t,e)=>r=>t(Md(r,e)),bO=(t,e,r)=>EO(t,Array.isArray(e)?e:[{signal:e,options:r}]),EO=(t,e)=>({sink:lw(t.sink,e),source:Md(t.source,e)});Yi.exports=cw;Yi.exports.AbortError=Ud;Yi.exports.source=cw;Yi.exports.sink=uw;Yi.exports.transform=uw;Yi.exports.duplex=bO});var hw=w((eK,dw)=>{"use strict";var{source:fw}=bu(),wO=Te(),_O=wO("libp2p:stream:converter");function xO({stream:t,remoteAddr:e,localAddr:r},n={}){let{sink:i,source:s}=t,o={async sink(c){n.signal&&(c=fw(c,n.signal));try{await i(c)}catch(u){u.type!=="aborted"&&_O(u)}a()},source:n.signal?fw(s,n.signal):s,conn:t,localAddr:r,remoteAddr:e,timeline:{open:Date.now(),close:void 0},close(){return i(new Uint8Array(0)),a()}};function a(){return o.timeline.close||(o.timeline.close=Date.now()),Promise.resolve()}return o}dw.exports=xO});var Ta=w((tK,pw)=>{"use strict";pw.exports={relay:"/libp2p/circuit/relay/0.1.0"}});var gw=w((rK,yw)=>{"use strict";var{EventEmitter:SO}=Qt(),{Multiaddr:AO}=qt();yw.exports=t=>{let e=new Map;async function r(s){let o=String(s).split("/p2p-circuit").find(u=>u!==""),a=await t.dial(new AO(o)),c=a.remoteAddr.encapsulate("/p2p-circuit");e.set(a.remotePeer.toB58String(),c),i.emit("listening")}function n(){let s=[];for(let o of e.values())s.push(o);return s}let i=Object.assign(new SO,{close:()=>Promise.resolve(),listen:r,getAddrs:n});return t.connectionManager.on("peer:disconnect",s=>{e.delete(s.remotePeer.toB58String())&&i.emit("close")}),i}});var Fd=w((nK,bw)=>{"use strict";var{Multiaddr:mw}=qt(),{CircuitRelay:Qi}=eo();function vw(t,e){t.write({type:Qi.Type.STATUS,code:e})}function CO(t,e){try{t.dstPeer&&t.dstPeer.addrs&&t.dstPeer.addrs.forEach(r=>new mw(r))}catch(r){throw vw(e,t.type===Qi.Type.HOP?Qi.Status.HOP_DST_MULTIADDR_INVALID:Qi.Status.STOP_DST_MULTIADDR_INVALID),r}try{t.srcPeer&&t.srcPeer.addrs&&t.srcPeer.addrs.forEach(r=>new mw(r))}catch(r){throw vw(e,t.type===Qi.Type.HOP?Qi.Status.HOP_SRC_MULTIADDR_INVALID:Qi.Status.STOP_SRC_MULTIADDR_INVALID),r}}bw.exports={validateAddrs:CO}});var _w=w(Eu=>{"use strict";Eu.byteLength=TO;Eu.toByteArray=BO;Eu.fromByteArray=OO;var un=[],Cr=[],IO=typeof Uint8Array!="undefined"?Uint8Array:Array,Kd="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Xi=0,Ew=Kd.length;Xi<Ew;++Xi)un[Xi]=Kd[Xi],Cr[Kd.charCodeAt(Xi)]=Xi;var Xi,Ew;Cr["-".charCodeAt(0)]=62;Cr["_".charCodeAt(0)]=63;function ww(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");r===-1&&(r=e);var n=r===e?0:4-r%4;return[r,n]}function TO(t){var e=ww(t),r=e[0],n=e[1];return(r+n)*3/4-n}function RO(t,e,r){return(e+r)*3/4-r}function BO(t){var e,r=ww(t),n=r[0],i=r[1],s=new IO(RO(t,n,i)),o=0,a=i>0?n-4:n,c;for(c=0;c<a;c+=4)e=Cr[t.charCodeAt(c)]<<18|Cr[t.charCodeAt(c+1)]<<12|Cr[t.charCodeAt(c+2)]<<6|Cr[t.charCodeAt(c+3)],s[o++]=e>>16&255,s[o++]=e>>8&255,s[o++]=e&255;return i===2&&(e=Cr[t.charCodeAt(c)]<<2|Cr[t.charCodeAt(c+1)]>>4,s[o++]=e&255),i===1&&(e=Cr[t.charCodeAt(c)]<<10|Cr[t.charCodeAt(c+1)]<<4|Cr[t.charCodeAt(c+2)]>>2,s[o++]=e>>8&255,s[o++]=e&255),s}function PO(t){return un[t>>18&63]+un[t>>12&63]+un[t>>6&63]+un[t&63]}function NO(t,e,r){for(var n,i=[],s=e;s<r;s+=3)n=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(t[s+2]&255),i.push(PO(n));return i.join("")}function OO(t){for(var e,r=t.length,n=r%3,i=[],s=16383,o=0,a=r-n;o<a;o+=s)i.push(NO(t,o,o+s>a?a:o+s));return n===1?(e=t[r-1],i.push(un[e>>2]+un[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],i.push(un[e>>10]+un[e>>4&63]+un[e<<2&63]+"=")),i.join("")}});var xw=w(Vd=>{Vd.read=function(t,e,r,n,i){var s,o,a=i*8-n-1,c=(1<<a)-1,u=c>>1,l=-7,f=r?i-1:0,d=r?-1:1,p=t[e+f];for(f+=d,s=p&(1<<-l)-1,p>>=-l,l+=a;l>0;s=s*256+t[e+f],f+=d,l-=8);for(o=s&(1<<-l)-1,s>>=-l,l+=n;l>0;o=o*256+t[e+f],f+=d,l-=8);if(s===0)s=1-u;else{if(s===c)return o?NaN:(p?-1:1)*(1/0);o=o+Math.pow(2,n),s=s-u}return(p?-1:1)*o*Math.pow(2,s-n)};Vd.write=function(t,e,r,n,i,s){var o,a,c,u=s*8-i-1,l=(1<<u)-1,f=l>>1,d=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:s-1,h=n?1:-1,g=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=l):(o=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-o))<1&&(o--,c*=2),o+f>=1?e+=d/c:e+=d*Math.pow(2,1-f),e*c>=2&&(o++,c/=2),o+f>=l?(a=0,o=l):o+f>=1?(a=(e*c-1)*Math.pow(2,i),o=o+f):(a=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=a&255,p+=h,a/=256,i-=8);for(o=o<<i|a,u+=i;u>0;t[r+p]=o&255,p+=h,o/=256,u-=8);t[r+p-h]|=g*128}});var ci=w(io=>{"use strict";var jd=_w(),to=xw(),Sw=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;io.Buffer=F;io.SlowBuffer=MO;io.INSPECT_MAX_BYTES=50;var wu=2147483647;io.kMaxLength=wu;F.TYPED_ARRAY_SUPPORT=DO();!F.TYPED_ARRAY_SUPPORT&&typeof console!="undefined"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function DO(){try{let t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),t.foo()===42}catch(t){return!1}}Object.defineProperty(F.prototype,"parent",{enumerable:!0,get:function(){if(!!F.isBuffer(this))return this.buffer}});Object.defineProperty(F.prototype,"offset",{enumerable:!0,get:function(){if(!!F.isBuffer(this))return this.byteOffset}});function Tn(t){if(t>wu)throw new RangeError('The value "'+t+'" is invalid for option "size"');let e=new Uint8Array(t);return Object.setPrototypeOf(e,F.prototype),e}function F(t,e,r){if(typeof t=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return $d(t)}return Aw(t,e,r)}F.poolSize=8192;function Aw(t,e,r){if(typeof t=="string")return kO(t,e);if(ArrayBuffer.isView(t))return qO(t);if(t==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(ln(t,ArrayBuffer)||t&&ln(t.buffer,ArrayBuffer)||typeof SharedArrayBuffer!="undefined"&&(ln(t,SharedArrayBuffer)||t&&ln(t.buffer,SharedArrayBuffer)))return zd(t,e,r);if(typeof t=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=t.valueOf&&t.valueOf();if(n!=null&&n!==t)return F.from(n,e,r);let i=UO(t);if(i)return i;if(typeof Symbol!="undefined"&&Symbol.toPrimitive!=null&&typeof t[Symbol.toPrimitive]=="function")return F.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}F.from=function(t,e,r){return Aw(t,e,r)};Object.setPrototypeOf(F.prototype,Uint8Array.prototype);Object.setPrototypeOf(F,Uint8Array);function Cw(t){if(typeof t!="number")throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function LO(t,e,r){return Cw(t),t<=0?Tn(t):e!==void 0?typeof r=="string"?Tn(t).fill(e,r):Tn(t).fill(e):Tn(t)}F.alloc=function(t,e,r){return LO(t,e,r)};function $d(t){return Cw(t),Tn(t<0?0:Gd(t)|0)}F.allocUnsafe=function(t){return $d(t)};F.allocUnsafeSlow=function(t){return $d(t)};function kO(t,e){if((typeof e!="string"||e==="")&&(e="utf8"),!F.isEncoding(e))throw new TypeError("Unknown encoding: "+e);let r=Iw(t,e)|0,n=Tn(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}function Hd(t){let e=t.length<0?0:Gd(t.length)|0,r=Tn(e);for(let n=0;n<e;n+=1)r[n]=t[n]&255;return r}function qO(t){if(ln(t,Uint8Array)){let e=new Uint8Array(t);return zd(e.buffer,e.byteOffset,e.byteLength)}return Hd(t)}function zd(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('"length" is outside of buffer bounds');let n;return e===void 0&&r===void 0?n=new Uint8Array(t):r===void 0?n=new Uint8Array(t,e):n=new Uint8Array(t,e,r),Object.setPrototypeOf(n,F.prototype),n}function UO(t){if(F.isBuffer(t)){let e=Gd(t.length)|0,r=Tn(e);return r.length===0||t.copy(r,0,0,e),r}if(t.length!==void 0)return typeof t.length!="number"||Qd(t.length)?Tn(0):Hd(t);if(t.type==="Buffer"&&Array.isArray(t.data))return Hd(t.data)}function Gd(t){if(t>=wu)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+wu.toString(16)+" bytes");return t|0}function MO(t){return+t!=t&&(t=0),F.alloc(+t)}F.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==F.prototype};F.compare=function(e,r){if(ln(e,Uint8Array)&&(e=F.from(e,e.offset,e.byteLength)),ln(r,Uint8Array)&&(r=F.from(r,r.offset,r.byteLength)),!F.isBuffer(e)||!F.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===r)return 0;let n=e.length,i=r.length;for(let s=0,o=Math.min(n,i);s<o;++s)if(e[s]!==r[s]){n=e[s],i=r[s];break}return n<i?-1:i<n?1:0};F.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}};F.concat=function(e,r){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(e.length===0)return F.alloc(0);let n;if(r===void 0)for(r=0,n=0;n<e.length;++n)r+=e[n].length;let i=F.allocUnsafe(r),s=0;for(n=0;n<e.length;++n){let o=e[n];if(ln(o,Uint8Array))s+o.length>i.length?(F.isBuffer(o)||(o=F.from(o)),o.copy(i,s)):Uint8Array.prototype.set.call(i,o,s);else if(F.isBuffer(o))o.copy(i,s);else throw new TypeError('"list" argument must be an Array of Buffers');s+=o.length}return i};function Iw(t,e){if(F.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||ln(t,ArrayBuffer))return t.byteLength;if(typeof t!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);let r=t.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Yd(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Mw(t).length;default:if(i)return n?-1:Yd(t).length;e=(""+e).toLowerCase(),i=!0}}F.byteLength=Iw;function FO(t,e,r){let n=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,e>>>=0,r<=e))return"";for(t||(t="utf8");;)switch(t){case"hex":return QO(this,e,r);case"utf8":case"utf-8":return Bw(this,e,r);case"ascii":return WO(this,e,r);case"latin1":case"binary":return YO(this,e,r);case"base64":return zO(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return XO(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}F.prototype._isBuffer=!0;function Zi(t,e,r){let n=t[e];t[e]=t[r],t[r]=n}F.prototype.swap16=function(){let e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;r<e;r+=2)Zi(this,r,r+1);return this};F.prototype.swap32=function(){let e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let r=0;r<e;r+=4)Zi(this,r,r+3),Zi(this,r+1,r+2);return this};F.prototype.swap64=function(){let e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let r=0;r<e;r+=8)Zi(this,r,r+7),Zi(this,r+1,r+6),Zi(this,r+2,r+5),Zi(this,r+3,r+4);return this};F.prototype.toString=function(){let e=this.length;return e===0?"":arguments.length===0?Bw(this,0,e):FO.apply(this,arguments)};F.prototype.toLocaleString=F.prototype.toString;F.prototype.equals=function(e){if(!F.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e?!0:F.compare(this,e)===0};F.prototype.inspect=function(){let e="",r=io.INSPECT_MAX_BYTES;return e=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(e+=" ... "),"<Buffer "+e+">"};Sw&&(F.prototype[Sw]=F.prototype.inspect);F.prototype.compare=function(e,r,n,i,s){if(ln(e,Uint8Array)&&(e=F.from(e,e.offset,e.byteLength)),!F.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(r===void 0&&(r=0),n===void 0&&(n=e?e.length:0),i===void 0&&(i=0),s===void 0&&(s=this.length),r<0||n>e.length||i<0||s>this.length)throw new RangeError("out of range index");if(i>=s&&r>=n)return 0;if(i>=s)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,s>>>=0,this===e)return 0;let o=s-i,a=n-r,c=Math.min(o,a),u=this.slice(i,s),l=e.slice(r,n);for(let f=0;f<c;++f)if(u[f]!==l[f]){o=u[f],a=l[f];break}return o<a?-1:a<o?1:0};function Tw(t,e,r,n,i){if(t.length===0)return-1;if(typeof r=="string"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,Qd(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof e=="string"&&(e=F.from(e,n)),F.isBuffer(e))return e.length===0?-1:Rw(t,e,r,n,i);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):Rw(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function Rw(t,e,r,n,i){let s=1,o=t.length,a=e.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(t.length<2||e.length<2)return-1;s=2,o/=2,a/=2,r/=2}function c(l,f){return s===1?l[f]:l.readUInt16BE(f*s)}let u;if(i){let l=-1;for(u=r;u<o;u++)if(c(t,u)===c(e,l===-1?0:u-l)){if(l===-1&&(l=u),u-l+1===a)return l*s}else l!==-1&&(u-=u-l),l=-1}else for(r+a>o&&(r=o-a),u=r;u>=0;u--){let l=!0;for(let f=0;f<a;f++)if(c(t,u+f)!==c(e,f)){l=!1;break}if(l)return u}return-1}F.prototype.includes=function(e,r,n){return this.indexOf(e,r,n)!==-1};F.prototype.indexOf=function(e,r,n){return Tw(this,e,r,n,!0)};F.prototype.lastIndexOf=function(e,r,n){return Tw(this,e,r,n,!1)};function KO(t,e,r,n){r=Number(r)||0;let i=t.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;let s=e.length;n>s/2&&(n=s/2);let o;for(o=0;o<n;++o){let a=parseInt(e.substr(o*2,2),16);if(Qd(a))return o;t[r+o]=a}return o}function VO(t,e,r,n){return _u(Yd(e,t.length-r),t,r,n)}function jO(t,e,r,n){return _u(tD(e),t,r,n)}function $O(t,e,r,n){return _u(Mw(e),t,r,n)}function HO(t,e,r,n){return _u(rD(e,t.length-r),t,r,n)}F.prototype.write=function(e,r,n,i){if(r===void 0)i="utf8",n=this.length,r=0;else if(n===void 0&&typeof r=="string")i=r,n=this.length,r=0;else if(isFinite(r))r=r>>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let s=this.length-r;if((n===void 0||n>s)&&(n=s),e.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let o=!1;for(;;)switch(i){case"hex":return KO(this,e,r,n);case"utf8":case"utf-8":return VO(this,e,r,n);case"ascii":case"latin1":case"binary":return jO(this,e,r,n);case"base64":return $O(this,e,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return HO(this,e,r,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}};F.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function zO(t,e,r){return e===0&&r===t.length?jd.fromByteArray(t):jd.fromByteArray(t.slice(e,r))}function Bw(t,e,r){r=Math.min(t.length,r);let n=[],i=e;for(;i<r;){let s=t[i],o=null,a=s>239?4:s>223?3:s>191?2:1;if(i+a<=r){let c,u,l,f;switch(a){case 1:s<128&&(o=s);break;case 2:c=t[i+1],(c&192)==128&&(f=(s&31)<<6|c&63,f>127&&(o=f));break;case 3:c=t[i+1],u=t[i+2],(c&192)==128&&(u&192)==128&&(f=(s&15)<<12|(c&63)<<6|u&63,f>2047&&(f<55296||f>57343)&&(o=f));break;case 4:c=t[i+1],u=t[i+2],l=t[i+3],(c&192)==128&&(u&192)==128&&(l&192)==128&&(f=(s&15)<<18|(c&63)<<12|(u&63)<<6|l&63,f>65535&&f<1114112&&(o=f))}}o===null?(o=65533,a=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=a}return GO(n)}var Pw=4096;function GO(t){let e=t.length;if(e<=Pw)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=Pw));return r}function WO(t,e,r){let n="";r=Math.min(t.length,r);for(let i=e;i<r;++i)n+=String.fromCharCode(t[i]&127);return n}function YO(t,e,r){let n="";r=Math.min(t.length,r);for(let i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function QO(t,e,r){let n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);let i="";for(let s=e;s<r;++s)i+=nD[t[s]];return i}function XO(t,e,r){let n=t.slice(e,r),i="";for(let s=0;s<n.length-1;s+=2)i+=String.fromCharCode(n[s]+n[s+1]*256);return i}F.prototype.slice=function(e,r){let n=this.length;e=~~e,r=r===void 0?n:~~r,e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),r<e&&(r=e);let i=this.subarray(e,r);return Object.setPrototypeOf(i,F.prototype),i};function Ct(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}F.prototype.readUintLE=F.prototype.readUIntLE=function(e,r,n){e=e>>>0,r=r>>>0,n||Ct(e,r,this.length);let i=this[e],s=1,o=0;for(;++o<r&&(s*=256);)i+=this[e+o]*s;return i};F.prototype.readUintBE=F.prototype.readUIntBE=function(e,r,n){e=e>>>0,r=r>>>0,n||Ct(e,r,this.length);let i=this[e+--r],s=1;for(;r>0&&(s*=256);)i+=this[e+--r]*s;return i};F.prototype.readUint8=F.prototype.readUInt8=function(e,r){return e=e>>>0,r||Ct(e,1,this.length),this[e]};F.prototype.readUint16LE=F.prototype.readUInt16LE=function(e,r){return e=e>>>0,r||Ct(e,2,this.length),this[e]|this[e+1]<<8};F.prototype.readUint16BE=F.prototype.readUInt16BE=function(e,r){return e=e>>>0,r||Ct(e,2,this.length),this[e]<<8|this[e+1]};F.prototype.readUint32LE=F.prototype.readUInt32LE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};F.prototype.readUint32BE=F.prototype.readUInt32BE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};F.prototype.readBigUInt64LE=ai(function(e){e=e>>>0,no(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&Ra(e,this.length-8);let i=r+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,s=this[++e]+this[++e]*2**8+this[++e]*2**16+n*2**24;return BigInt(i)+(BigInt(s)<<BigInt(32))});F.prototype.readBigUInt64BE=ai(function(e){e=e>>>0,no(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&Ra(e,this.length-8);let i=r*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],s=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+n;return(BigInt(i)<<BigInt(32))+BigInt(s)});F.prototype.readIntLE=function(e,r,n){e=e>>>0,r=r>>>0,n||Ct(e,r,this.length);let i=this[e],s=1,o=0;for(;++o<r&&(s*=256);)i+=this[e+o]*s;return s*=128,i>=s&&(i-=Math.pow(2,8*r)),i};F.prototype.readIntBE=function(e,r,n){e=e>>>0,r=r>>>0,n||Ct(e,r,this.length);let i=r,s=1,o=this[e+--i];for(;i>0&&(s*=256);)o+=this[e+--i]*s;return s*=128,o>=s&&(o-=Math.pow(2,8*r)),o};F.prototype.readInt8=function(e,r){return e=e>>>0,r||Ct(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};F.prototype.readInt16LE=function(e,r){e=e>>>0,r||Ct(e,2,this.length);let n=this[e]|this[e+1]<<8;return n&32768?n|4294901760:n};F.prototype.readInt16BE=function(e,r){e=e>>>0,r||Ct(e,2,this.length);let n=this[e+1]|this[e]<<8;return n&32768?n|4294901760:n};F.prototype.readInt32LE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};F.prototype.readInt32BE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};F.prototype.readBigInt64LE=ai(function(e){e=e>>>0,no(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&Ra(e,this.length-8);let i=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(n<<24);return(BigInt(i)<<BigInt(32))+BigInt(r+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24)});F.prototype.readBigInt64BE=ai(function(e){e=e>>>0,no(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&Ra(e,this.length-8);let i=(r<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(i)<<BigInt(32))+BigInt(this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+n)});F.prototype.readFloatLE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),to.read(this,e,!0,23,4)};F.prototype.readFloatBE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),to.read(this,e,!1,23,4)};F.prototype.readDoubleLE=function(e,r){return e=e>>>0,r||Ct(e,8,this.length),to.read(this,e,!0,52,8)};F.prototype.readDoubleBE=function(e,r){return e=e>>>0,r||Ct(e,8,this.length),to.read(this,e,!1,52,8)};function er(t,e,r,n,i,s){if(!F.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<s)throw new RangeError('"value" argument is out of bounds');if(r+n>t.length)throw new RangeError("Index out of range")}F.prototype.writeUintLE=F.prototype.writeUIntLE=function(e,r,n,i){if(e=+e,r=r>>>0,n=n>>>0,!i){let a=Math.pow(2,8*n)-1;er(this,e,r,n,a,0)}let s=1,o=0;for(this[r]=e&255;++o<n&&(s*=256);)this[r+o]=e/s&255;return r+n};F.prototype.writeUintBE=F.prototype.writeUIntBE=function(e,r,n,i){if(e=+e,r=r>>>0,n=n>>>0,!i){let a=Math.pow(2,8*n)-1;er(this,e,r,n,a,0)}let s=n-1,o=1;for(this[r+s]=e&255;--s>=0&&(o*=256);)this[r+s]=e/o&255;return r+n};F.prototype.writeUint8=F.prototype.writeUInt8=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,1,255,0),this[r]=e&255,r+1};F.prototype.writeUint16LE=F.prototype.writeUInt16LE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,2,65535,0),this[r]=e&255,this[r+1]=e>>>8,r+2};F.prototype.writeUint16BE=F.prototype.writeUInt16BE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,2,65535,0),this[r]=e>>>8,this[r+1]=e&255,r+2};F.prototype.writeUint32LE=F.prototype.writeUInt32LE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,4,4294967295,0),this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=e&255,r+4};F.prototype.writeUint32BE=F.prototype.writeUInt32BE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,4,4294967295,0),this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=e&255,r+4};function Nw(t,e,r,n,i){Uw(e,n,i,t,r,7);let s=Number(e&BigInt(4294967295));t[r++]=s,s=s>>8,t[r++]=s,s=s>>8,t[r++]=s,s=s>>8,t[r++]=s;let o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o=o>>8,t[r++]=o,o=o>>8,t[r++]=o,o=o>>8,t[r++]=o,r}function Ow(t,e,r,n,i){Uw(e,n,i,t,r,7);let s=Number(e&BigInt(4294967295));t[r+7]=s,s=s>>8,t[r+6]=s,s=s>>8,t[r+5]=s,s=s>>8,t[r+4]=s;let o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o=o>>8,t[r+2]=o,o=o>>8,t[r+1]=o,o=o>>8,t[r]=o,r+8}F.prototype.writeBigUInt64LE=ai(function(e,r=0){return Nw(this,e,r,BigInt(0),BigInt("0xffffffffffffffff"))});F.prototype.writeBigUInt64BE=ai(function(e,r=0){return Ow(this,e,r,BigInt(0),BigInt("0xffffffffffffffff"))});F.prototype.writeIntLE=function(e,r,n,i){if(e=+e,r=r>>>0,!i){let c=Math.pow(2,8*n-1);er(this,e,r,n,c-1,-c)}let s=0,o=1,a=0;for(this[r]=e&255;++s<n&&(o*=256);)e<0&&a===0&&this[r+s-1]!==0&&(a=1),this[r+s]=(e/o>>0)-a&255;return r+n};F.prototype.writeIntBE=function(e,r,n,i){if(e=+e,r=r>>>0,!i){let c=Math.pow(2,8*n-1);er(this,e,r,n,c-1,-c)}let s=n-1,o=1,a=0;for(this[r+s]=e&255;--s>=0&&(o*=256);)e<0&&a===0&&this[r+s+1]!==0&&(a=1),this[r+s]=(e/o>>0)-a&255;return r+n};F.prototype.writeInt8=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,1,127,-128),e<0&&(e=255+e+1),this[r]=e&255,r+1};F.prototype.writeInt16LE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,2,32767,-32768),this[r]=e&255,this[r+1]=e>>>8,r+2};F.prototype.writeInt16BE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,2,32767,-32768),this[r]=e>>>8,this[r+1]=e&255,r+2};F.prototype.writeInt32LE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,4,2147483647,-2147483648),this[r]=e&255,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24,r+4};F.prototype.writeInt32BE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=e&255,r+4};F.prototype.writeBigInt64LE=ai(function(e,r=0){return Nw(this,e,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});F.prototype.writeBigInt64BE=ai(function(e,r=0){return Ow(this,e,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Dw(t,e,r,n,i,s){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Lw(t,e,r,n,i){return e=+e,r=r>>>0,i||Dw(t,e,r,4,34028234663852886e22,-34028234663852886e22),to.write(t,e,r,n,23,4),r+4}F.prototype.writeFloatLE=function(e,r,n){return Lw(this,e,r,!0,n)};F.prototype.writeFloatBE=function(e,r,n){return Lw(this,e,r,!1,n)};function kw(t,e,r,n,i){return e=+e,r=r>>>0,i||Dw(t,e,r,8,17976931348623157e292,-17976931348623157e292),to.write(t,e,r,n,52,8),r+8}F.prototype.writeDoubleLE=function(e,r,n){return kw(this,e,r,!0,n)};F.prototype.writeDoubleBE=function(e,r,n){return kw(this,e,r,!1,n)};F.prototype.copy=function(e,r,n,i){if(!F.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=e.length&&(r=e.length),r||(r=0),i>0&&i<n&&(i=n),i===n||e.length===0||this.length===0)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-r<i-n&&(i=e.length-r+n);let s=i-n;return this===e&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(r,n,i):Uint8Array.prototype.set.call(e,this.subarray(n,i),r),s};F.prototype.fill=function(e,r,n,i){if(typeof e=="string"){if(typeof r=="string"?(i=r,r=0,n=this.length):typeof n=="string"&&(i=n,n=this.length),i!==void 0&&typeof i!="string")throw new TypeError("encoding must be a string");if(typeof i=="string"&&!F.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(e.length===1){let o=e.charCodeAt(0);(i==="utf8"&&o<128||i==="latin1")&&(e=o)}}else typeof e=="number"?e=e&255:typeof e=="boolean"&&(e=Number(e));if(r<0||this.length<r||this.length<n)throw new RangeError("Out of range index");if(n<=r)return this;r=r>>>0,n=n===void 0?this.length:n>>>0,e||(e=0);let s;if(typeof e=="number")for(s=r;s<n;++s)this[s]=e;else{let o=F.isBuffer(e)?e:F.from(e,i),a=o.length;if(a===0)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(s=0;s<n-r;++s)this[s+r]=o[s%a]}return this};var ro={};function Wd(t,e,r){ro[t]=class extends r{constructor(){super();Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${t}]`,this.stack,delete this.name}get code(){return t}set code(i){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:i,writable:!0})}toString(){return`${this.name} [${t}]: ${this.message}`}}}Wd("ERR_BUFFER_OUT_OF_BOUNDS",function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError);Wd("ERR_INVALID_ARG_TYPE",function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`},TypeError);Wd("ERR_OUT_OF_RANGE",function(t,e,r){let n=`The value of "${t}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=qw(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=qw(i)),i+="n"),n+=` It must be ${e}. Received ${i}`,n},RangeError);function qw(t){let e="",r=t.length,n=t[0]==="-"?1:0;for(;r>=n+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function ZO(t,e,r){no(e,"offset"),(t[e]===void 0||t[e+r]===void 0)&&Ra(e,t.length-(r+1))}function Uw(t,e,r,n,i,s){if(t>r||t<e){let o=typeof e=="bigint"?"n":"",a;throw s>3?e===0||e===BigInt(0)?a=`>= 0${o} and < 2${o} ** ${(s+1)*8}${o}`:a=`>= -(2${o} ** ${(s+1)*8-1}${o}) and < 2 ** ${(s+1)*8-1}${o}`:a=`>= ${e}${o} and <= ${r}${o}`,new ro.ERR_OUT_OF_RANGE("value",a,t)}ZO(n,i,s)}function no(t,e){if(typeof t!="number")throw new ro.ERR_INVALID_ARG_TYPE(e,"number",t)}function Ra(t,e,r){throw Math.floor(t)!==t?(no(t,r),new ro.ERR_OUT_OF_RANGE(r||"offset","an integer",t)):e<0?new ro.ERR_BUFFER_OUT_OF_BOUNDS:new ro.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}var JO=/[^+/0-9A-Za-z-_]/g;function eD(t){if(t=t.split("=")[0],t=t.trim().replace(JO,""),t.length<2)return"";for(;t.length%4!=0;)t=t+"=";return t}function Yd(t,e){e=e||1/0;let r,n=t.length,i=null,s=[];for(let o=0;o<n;++o){if(r=t.charCodeAt(o),r>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&s.push(239,191,189);continue}else if(o+1===n){(e-=3)>-1&&s.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&s.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(e-=3)>-1&&s.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;s.push(r)}else if(r<2048){if((e-=2)<0)break;s.push(r>>6|192,r&63|128)}else if(r<65536){if((e-=3)<0)break;s.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((e-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return s}function tD(t){let e=[];for(let r=0;r<t.length;++r)e.push(t.charCodeAt(r)&255);return e}function rD(t,e){let r,n,i,s=[];for(let o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,i=r%256,s.push(i),s.push(n);return s}function Mw(t){return jd.toByteArray(eD(t))}function _u(t,e,r,n){let i;for(i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function ln(t,e){return t instanceof e||t!=null&&t.constructor!=null&&t.constructor.name!=null&&t.constructor.name===e.name}function Qd(t){return t!==t}var nD=function(){let t="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)e[n+i]=t[r]+t[i]}return e}();function ai(t){return typeof BigInt=="undefined"?iD:t}function iD(){throw new Error("BigInt not supported")}});var Ji=w((cK,Kw)=>{"use strict";var{Buffer:Fr}=ci(),Fw=Symbol.for("BufferList");function Ge(t){if(!(this instanceof Ge))return new Ge(t);Ge._init.call(this,t)}Ge._init=function(e){Object.defineProperty(this,Fw,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};Ge.prototype._new=function(e){return new Ge(e)};Ge.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let n=0;n<this._bufs.length;n++){let i=r+this._bufs[n].length;if(e<i||n===this._bufs.length-1)return[n,e-r];r=i}};Ge.prototype._reverseOffset=function(t){let e=t[0],r=t[1];for(let n=0;n<e;n++)r+=this._bufs[n].length;return r};Ge.prototype.get=function(e){if(e>this.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};Ge.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};Ge.prototype.copy=function(e,r,n,i){if((typeof n!="number"||n<0)&&(n=0),(typeof i!="number"||i>this.length)&&(i=this.length),n>=this.length||i<=0)return e||Fr.alloc(0);let s=!!e,o=this._offset(n),a=i-n,c=a,u=s&&r||0,l=o[1];if(n===0&&i===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:Fr.concat(this._bufs,this.length);for(let f=0;f<this._bufs.length;f++)this._bufs[f].copy(e,u),u+=this._bufs[f].length;return e}if(c<=this._bufs[o[0]].length-l)return s?this._bufs[o[0]].copy(e,r,l,l+c):this._bufs[o[0]].slice(l,l+c);s||(e=Fr.allocUnsafe(a));for(let f=o[0];f<this._bufs.length;f++){let d=this._bufs[f].length-l;if(c>d)this._bufs[f].copy(e,u,l),u+=d;else{this._bufs[f].copy(e,u,l,l+c),u+=d;break}c-=d,l&&(l=0)}return e.length>u?e.slice(0,u):e};Ge.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let n=this._offset(e),i=this._offset(r),s=this._bufs.slice(n[0],i[0]+1);return i[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,i[1]),n[1]!==0&&(s[0]=s[0].slice(n[1])),this._new(s)};Ge.prototype.toString=function(e,r,n){return this.slice(r,n).toString(e)};Ge.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};Ge.prototype.duplicate=function(){let e=this._new();for(let r=0;r<this._bufs.length;r++)e.append(this._bufs[r]);return e};Ge.prototype.append=function(e){if(e==null)return this;if(e.buffer)this._appendBuffer(Fr.from(e.buffer,e.byteOffset,e.byteLength));else if(Array.isArray(e))for(let r=0;r<e.length;r++)this.append(e[r]);else if(this._isBufferList(e))for(let r=0;r<e._bufs.length;r++)this.append(e._bufs[r]);else typeof e=="number"&&(e=e.toString()),this._appendBuffer(Fr.from(e));return this};Ge.prototype._appendBuffer=function(e){this._bufs.push(e),this.length+=e.length};Ge.prototype.indexOf=function(t,e,r){if(r===void 0&&typeof e=="string"&&(r=e,e=void 0),typeof t=="function"||Array.isArray(t))throw new TypeError('The "value" argument must be one of type string, Buffer, BufferList, or Uint8Array.');if(typeof t=="number"?t=Fr.from([t]):typeof t=="string"?t=Fr.from(t,r):this._isBufferList(t)?t=t.slice():Array.isArray(t.buffer)?t=Fr.from(t.buffer,t.byteOffset,t.byteLength):Fr.isBuffer(t)||(t=Fr.from(t)),e=Number(e||0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let n=this._offset(e),i=n[0],s=n[1];for(;i<this._bufs.length;i++){let o=this._bufs[i];for(;s<o.length;)if(o.length-s>=t.length){let c=o.indexOf(t,s);if(c!==-1)return this._reverseOffset([i,c]);s=o.length-t.length+1}else{let c=this._reverseOffset([i,s]);if(this._match(c,t))return c;s++}s=0}return-1};Ge.prototype._match=function(t,e){if(this.length-t<e.length)return!1;for(let r=0;r<e.length;r++)if(this.get(t+r)!==e[r])return!1;return!0};(function(){let t={readDoubleBE:8,readDoubleLE:8,readFloatBE:4,readFloatLE:4,readInt32BE:4,readInt32LE:4,readUInt32BE:4,readUInt32LE:4,readInt16BE:2,readInt16LE:2,readUInt16BE:2,readUInt16LE:2,readInt8:1,readUInt8:1,readIntBE:null,readIntLE:null,readUIntBE:null,readUIntLE:null};for(let e in t)(function(r){t[r]===null?Ge.prototype[r]=function(n,i){return this.slice(n,n+i)[r](0,i)}:Ge.prototype[r]=function(n=0){return this.slice(n,n+t[r])[r](0)}})(e)})();Ge.prototype._isBufferList=function(e){return e instanceof Ge||Ge.isBufferList(e)};Ge.isBufferList=function(e){return e!=null&&e[Fw]};Kw.exports=Ge});var Xd=w((uK,$w)=>{"use strict";var Vw=Ui(),{Buffer:sD}=ci(),jw=(t,e,r)=>{let n=Vw.encode(t,e,r);return jw.bytes=Vw.encode.bytes,e||sD.from(n)};$w.exports=jw});var Qw=w((lK,xu)=>{"use strict";var{Buffer:Hw}=ci(),zw=Ji(),Gw=Xd(),Zd=8,Ww=10*1024;function Yw(t){t=t||{};let e=Math.max(t.poolSize||Ww,t.minPoolSize||Zd),r=t.lengthEncoder||Gw;return async function*(i){let s=Hw.alloc(e),o=0;for await(let a of i){r(a.length,s,o);let c=s.slice(o,o+r.bytes);o+=r.bytes,s.length-o<Zd&&(s=Hw.alloc(e),o=0),yield new zw().append(c).append(a)}}}Yw.single=(t,e)=>{e=e||{};let r=e.lengthEncoder||Gw;return new zw([r(t.length),t.slice()])};xu.exports=Yw;xu.exports.MIN_POOL_SIZE=Zd;xu.exports.DEFAULT_POOL_SIZE=Ww});var Jd=w((fK,Jw)=>{"use strict";var Xw=Ui(),{Buffer:oD}=ci(),aD=t=>new Proxy({},{get:(e,r)=>r[0]==="l"?t[r]:t.get(parseInt(r))}),Zw=t=>{let e=Xw.decode(oD.isBuffer(t)?t:aD(t));return Zw.bytes=Xw.decode.bytes,e};Jw.exports=Zw});var n2=w((dK,Su)=>{"use strict";var{Buffer:cD}=ci(),eh=Ji(),uD=Jd(),e2=8,t2=1024*1024*4,r2=cD.alloc(0),ui={LENGTH:"readLength",DATA:"readData"},lD={[ui.LENGTH]:(t,e,r,n)=>{e=e.append(t);let i;try{i=n.lengthDecoder(e)}catch(s){if(e.length>n.maxLengthLength)throw Object.assign(s,{message:"message length too long",code:"ERR_MSG_LENGTH_TOO_LONG"});if(s instanceof RangeError)return{mode:ui.LENGTH,buffer:e,chunk:void 0,state:void 0,data:void 0};throw s}if(i>n.maxDataLength)throw Object.assign(new Error("message data too long"),{code:"ERR_MSG_DATA_TOO_LONG"});return t=e.shallowSlice(n.lengthDecoder.bytes),e=new eh,n.onLength&&n.onLength(i),i<=0?(n.onData&&n.onData(r2),{mode:ui.LENGTH,chunk:t,buffer:e,data:r2}):{mode:ui.DATA,chunk:t,buffer:e,state:{dataLength:i},data:void 0}},[ui.DATA]:(t,e,r,n)=>{if(e=e.append(t),!r)throw new Error("state is required");if(e.length<r.dataLength)return{mode:ui.DATA,buffer:e,state:r,chunk:void 0,data:void 0};let{dataLength:i}=r,s=e.shallowSlice(0,i),o=e.length>i?e.shallowSlice(i):void 0;return e=new eh,n.onData&&n.onData(s),{mode:ui.LENGTH,chunk:o,buffer:e,state:void 0,data:s}}};function th(t){t=t||{};let e={lengthDecoder:t.lengthDecoder||uD,maxLengthLength:t.maxLengthLength||e2,maxDataLength:t.maxDataLength||t2,onLength:t.onLength,onData:t.onData};return async function*(n){let i=new eh,s=ui.LENGTH,o;for await(let a of n){let c=a;for(;c;){let u=lD[s](c,i,o,e);s=u.mode,c=u.chunk,i=u.buffer,o=u.state,u.data&&(yield u.data)}}if(i.length)throw Object.assign(new Error("unexpected end of input"),{code:"ERR_UNEXPECTED_EOF"})}}th.fromReader=(t,e)=>{let r=1,n={[Symbol.asyncIterator](){return this},next:async()=>{try{return await t.next(r)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{r=1}}};return th({...e||{},onLength:s=>{r=s}})(n)};Su.exports=th;Su.exports.MAX_LENGTH_LENGTH=e2;Su.exports.MAX_DATA_LENGTH=t2});var o2=w((hK,s2)=>{"use strict";var{Buffer:fD}=ci(),i2=(t,e,r)=>(e=e||fD.allocUnsafe(4),e.writeInt32BE(t,r),e);i2.bytes=4;s2.exports=i2});var u2=w((pK,c2)=>{"use strict";var a2=t=>{if(t.length<4)throw RangeError("Could not decode int32BE");return t.readInt32BE(0)};a2.bytes=4;c2.exports=a2});var so=w(es=>{"use strict";es.encode=Qw();es.decode=n2();es.varintEncode=Xd();es.varintDecode=Jd();es.int32BEEncode=o2();es.int32BEDecode=u2()});var nh=w((gK,l2)=>{var rh=Ji();l2.exports=t=>{let e=async function*(){let r=yield,n=new rh;for await(let i of t){if(!r){r=yield n.append(i),n=new rh;continue}for(n.append(i);n.length>=r;){let s=n.shallowSlice(0,r);if(n.consume(r),r=yield s,!r){n.length&&(r=yield n,n=new rh);break}}}if(r)throw Object.assign(new Error(`stream ended before ${r} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return e.next(),e}});var ih=w((mK,f2)=>{"use strict";var dD=()=>{let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t};f2.exports=dD});var oo=w((vK,d2)=>{"use strict";var hD=nh(),pD=fd(),yD=ih();d2.exports=t=>{let e=pD(),r=hD(t.source),n=yD(),i,s=t.sink(async function*(){yield*e,yield*await n.promise}());return s.catch(a=>{i=a}),{reader:r,writer:e,stream:{sink:a=>i?Promise.reject(i):(n.resolve(a),s),source:r},rest:()=>e.end(),write:e.push,read:async()=>(await r.next()).value}}});var Cu=w((bK,m2)=>{"use strict";var h2=Te(),Au=Object.assign(h2("libp2p:circuit:stream-handler"),{error:h2("libp2p:circuit:stream-handler:err")}),p2=so(),gD=oo(),{CircuitRelay:y2}=eo(),g2=class{constructor({stream:e,maxLength:r=4096}){this.stream=e,this.shake=gD(this.stream),this.decoder=p2.decode.fromReader(this.shake.reader,{maxDataLength:r})}async read(){let e=await this.decoder.next();if(e.value){let r=y2.decode(e.value.slice());return Au("read message type",r.type),r}Au("read received no value, closing stream"),this.close()}write(e){Au("write message type %s",e.type),this.shake.write(p2.encode.single(y2.encode(e).finish()))}rest(){return this.shake.rest(),this.shake.stream}end(e){this.write(e),this.close()}close(){Au("closing the stream"),this.rest().sink([])}};m2.exports=g2});var ah=w((EK,oh)=>{"use strict";var v2=Te(),Ba=Object.assign(v2("libp2p:circuit:stop"),{error:v2("libp2p:circuit:stop:err")}),{CircuitRelay:sh}=eo(),mD=Ta(),vD=Cu(),{validateAddrs:bD}=Fd();oh.exports.handleStop=function({connection:e,request:r,streamHandler:n}){try{bD(r,n)}catch(i){return Ba.error("invalid stop request via peer %s",e.remotePeer.toB58String(),i)}return Ba("stop request is valid"),n.write({type:sh.Type.STATUS,code:sh.Status.SUCCESS}),n.rest()};oh.exports.stop=async function({connection:e,request:r}){let{stream:n}=await e.newStream([mD.relay]);Ba("starting stop request to %s",e.remotePeer.toB58String());let i=new vD({stream:n});i.write(r);let s=await i.read();if(!s)return i.close();if(s.code===sh.Status.SUCCESS)return Ba("stop request to %s was successful",e.remotePeer.toB58String()),i.rest();Ba("stop request failed with code %d",s.code),i.close()}});var ch=w((wK,S2)=>{"use strict";var b2=Te(),Rn=Object.assign(b2("libp2p:circuit:hop"),{error:b2("libp2p:circuit:hop:err")}),E2=de(),ED=Rt(),{validateAddrs:wD}=Fd(),w2=Cu(),{CircuitRelay:sr}=eo(),{pipe:_D}=ir(),{codes:_2}=je(),{stop:xD}=ah(),x2=Ta();async function SD({connection:t,request:e,streamHandler:r,circuit:n}){if(!n._options.hop.enabled)return Rn("HOP request received but we are not acting as a relay"),r.end({type:sr.Type.STATUS,code:sr.Status.HOP_CANT_SPEAK_RELAY});try{wD(e,r)}catch(u){return Rn.error("invalid hop request via peer %s",t.remotePeer.toB58String(),u)}if(!e.dstPeer){Rn("HOP request received but we do not receive a dstPeer");return}let i=new ED(e.dstPeer.id),s=n._connectionManager.get(i);if(!s&&!n._options.hop.active)return Rn("HOP request received but we are not connected to the destination peer"),r.end({type:sr.Type.STATUS,code:sr.Status.HOP_NO_CONN_TO_DST});if(!s)return;let o={type:sr.Type.STOP,dstPeer:e.dstPeer,srcPeer:e.srcPeer},a;try{a=await xD({connection:s,request:o})}catch(u){return Rn.error(u)}Rn("hop request from %s is valid",t.remotePeer.toB58String()),r.write({type:sr.Type.STATUS,code:sr.Status.SUCCESS});let c=r.rest();return _D(c,a,c)}async function AD({connection:t,request:e}){let{stream:r}=await t.newStream([x2.relay]),n=new w2({stream:r});n.write(e);let i=await n.read();if(!i)throw E2(new Error("HOP request had no response"),_2.ERR_HOP_REQUEST_FAILED);if(i.code===sr.Status.SUCCESS)return Rn("hop request was successful"),n.rest();throw Rn("hop request failed with code %d, closing stream",i.code),n.close(),E2(new Error(`HOP request failed with code ${i.code}`),_2.ERR_HOP_REQUEST_FAILED)}async function CD({connection:t}){let{stream:e}=await t.newStream([x2.relay]),r=new w2({stream:e});r.write({type:sr.Type.CAN_HOP});let n=await r.read();return await r.close(),!(!n||n.code!==sr.Status.SUCCESS)}function ID({connection:t,streamHandler:e,circuit:r}){let n=r._options.hop.enabled;Rn("can hop (%s) request from %s",n,t.remotePeer.toB58String()),e.end({type:sr.Type.STATUS,code:n?sr.Status.SUCCESS:sr.Status.HOP_CANT_SPEAK_RELAY})}S2.exports={handleHop:SD,hop:AD,canHop:CD,handleCanHop:ID}});var B2=w((_K,R2)=>{"use strict";var A2=Te(),Bn=Object.assign(A2("libp2p:circuit"),{error:A2("libp2p:circuit:err")}),TD=de(),RD=tw(),{Multiaddr:Pa}=qt(),C2=Rt(),{CircuitRelay:Na}=eo(),{codes:BD}=je(),I2=hw(),{relay:PD}=Ta(),ND=gw(),{handleCanHop:OD,handleHop:DD,hop:LD}=ch(),{handleStop:kD}=ah(),qD=Cu(),UD=Symbol.for("@libp2p/js-libp2p-circuit/circuit"),T2=class{constructor({libp2p:e,upgrader:r}){this._dialer=e.dialer,this._registrar=e.registrar,this._connectionManager=e.connectionManager,this._upgrader=r,this._options=e._config.relay,this._libp2p=e,this.peerId=e.peerId,this._registrar.handle(PD,this._onProtocol.bind(this))}async _onProtocol({connection:e,stream:r}){let n=new qD({stream:r}),i=await n.read();if(!i)return;let s=this,o;switch(i.type){case Na.Type.CAN_HOP:{Bn("received CAN_HOP request from %s",e.remotePeer.toB58String()),await OD({circuit:s,connection:e,streamHandler:n});break}case Na.Type.HOP:{Bn("received HOP request from %s",e.remotePeer.toB58String()),o=await DD({connection:e,request:i,streamHandler:n,circuit:s});break}case Na.Type.STOP:{Bn("received STOP request from %s",e.remotePeer.toB58String()),o=await kD({connection:e,request:i,streamHandler:n});break}default:Bn("Request of type %s not supported",i.type)}if(o){let a=new Pa(i.dstPeer.addrs[0]),c=new Pa(i.srcPeer.addrs[0]),u=I2({stream:o,remoteAddr:a,localAddr:c}),l=i.type===Na.Type.HOP?"relay":"inbound";Bn("new %s connection %s",l,u.remoteAddr);let f=await this._upgrader.upgradeInbound(u);Bn("%s connection %s upgraded",l,u.remoteAddr),this.handler&&this.handler(f)}}async dial(e,r){let n=e.toString().split("/p2p-circuit"),i=new Pa(n[0]),s=new Pa(n[n.length-1]),o=i.getPeerId(),a=s.getPeerId();if(!o||!a){let d="Circuit relay dial failed as addresses did not have peer id";throw Bn.error(d),TD(new Error(d),BD.ERR_RELAYED_DIAL)}let c=C2.createFromB58String(o),u=C2.createFromB58String(a),l=!1,f=this._connectionManager.get(c);f||(f=await this._dialer.connectToPeer(i,r),l=!0);try{let d=await LD({connection:f,request:{type:Na.Type.HOP,srcPeer:{id:this.peerId.toBytes(),addrs:this._libp2p.multiaddrs.map(g=>g.bytes)},dstPeer:{id:u.toBytes(),addrs:[new Pa(s).bytes]}}}),p=i.encapsulate(`/p2p-circuit/p2p/${this.peerId.toB58String()}`),h=I2({stream:d,remoteAddr:e,localAddr:p});return Bn("new outbound connection %s",h.remoteAddr),this._upgrader.upgradeOutbound(h)}catch(d){throw Bn.error("Circuit relay dial failed",d),l&&await f.close(),d}}createListener(e,r){return typeof e=="function"&&(r=e,e={}),this.handler=r,ND(this._libp2p)}filter(e){return e=Array.isArray(e)?e:[e],e.filter(r=>RD.Circuit.matches(r))}get[Symbol.toStringTag](){return"Circuit"}static isTransport(e){return Boolean(e&&e[UD])}};R2.exports=T2});var uh=w((xK,P2)=>{"use strict";var{CID:MD}=(ws(),ko),{sha256:FD}=(Bi(),Gn);P2.exports.namespaceToCid=async t=>{let e=new TextEncoder().encode(t),r=await FD.digest(e);return MD.createV0(r)}});var q2=w((SK,k2)=>{"use strict";var N2=Te(),lh=Object.assign(N2("libp2p:auto-relay"),{error:N2("libp2p:auto-relay:err")}),{fromString:KD}=(It(),Nt),{toString:VD}=(Tt(),Ot),{Multiaddr:jD}=qt(),$D=Mi(),{relay:HD}=Ta(),{canHop:zD}=ch(),{namespaceToCid:GD}=uh(),{CIRCUIT_PROTO_CODE:WD,HOP_METADATA_KEY:O2,HOP_METADATA_VALUE:D2,RELAY_RENDEZVOUS_NS:YD}=uu(),L2=class{constructor({libp2p:e,maxListeners:r=1,onError:n}){this._libp2p=e,this._peerId=e.peerId,this._peerStore=e.peerStore,this._connectionManager=e.connectionManager,this._transportManager=e.transportManager,this._addressSorter=e.dialer.addressSorter,this.maxListeners=r,this._listenRelays=new Set,this._onProtocolChange=this._onProtocolChange.bind(this),this._onPeerDisconnected=this._onPeerDisconnected.bind(this),this._peerStore.on("change:protocols",this._onProtocolChange),this._connectionManager.on("peer:disconnect",this._onPeerDisconnected),this._onError=(i,s)=>{lh.error(s||i),n&&n(i,s)}}async _onProtocolChange({peerId:e,protocols:r}){let n=e.toB58String(),i=r.find(s=>s===HD);if(!i&&this._listenRelays.has(n)){await this._removeListenRelay(n);return}else if(!i||this._listenRelays.has(n))return;try{let s=this._connectionManager.get(e);if(!s)return;if(s.remoteAddr.protoCodes().includes(WD)){lh(`relayed connection to ${n} will not be used to hop on`);return}await zD({connection:s})&&(await this._peerStore.metadataBook.setValue(e,O2,KD(D2)),await this._addListenRelay(s,n))}catch(s){this._onError(s)}}_onPeerDisconnected(e){let n=e.remotePeer.toB58String();!this._listenRelays.has(n)||this._removeListenRelay(n).catch(i=>{lh.error(i)})}async _addListenRelay(e,r){try{if(this._listenRelays.size>=this.maxListeners)return;let n=await this._peerStore.addressBook.getMultiaddrsForPeer(e.remotePeer,this._addressSorter);(await Promise.all(n.map(async s=>{try{return await this._transportManager.listen([new jD(`${s.toString()}/p2p-circuit`)]),!0}catch(o){this._onError(o)}return!1}))).includes(!0)&&this._listenRelays.add(r)}catch(n){this._onError(n),this._listenRelays.delete(r)}}async _removeListenRelay(e){this._listenRelays.delete(e)&&await this._listenOnAvailableHopRelays([e])}async _listenOnAvailableHopRelays(e=[]){if(this._listenRelays.size>=this.maxListeners)return;let r=[],n=await $D(this._peerStore.getPeers());for await(let{id:i,metadata:s}of n){let o=i.toB58String();if(this._listenRelays.has(o)||e.includes(o))continue;let a=s.get(O2);if(!a||VD(a)!==D2)continue;let c=this._connectionManager.get(i);if(!c){r.push(i);continue}if(await this._addListenRelay(c,o),this._listenRelays.size>=this.maxListeners)return}for(let i of r)if(await this._tryToListenOnRelay(i),this._listenRelays.size>=this.maxListeners)return;try{let i=await GD(YD);for await(let s of this._libp2p.contentRouting.findProviders(i)){if(!s.multiaddrs.length)continue;let o=s.id;if(await this._peerStore.addressBook.add(o,s.multiaddrs),await this._tryToListenOnRelay(o),this._listenRelays.size>=this.maxListeners)return}}catch(i){this._onError(i)}}async _tryToListenOnRelay(e){try{let r=await this._libp2p.dial(e);await this._addListenRelay(r,e.toB58String())}catch(r){this._onError(r,`could not connect and listen on known hop relay ${e.toB58String()}`)}}};k2.exports=L2});var V2=w((AK,K2)=>{"use strict";var U2=Te(),M2=Object.assign(U2("libp2p:relay"),{error:U2("libp2p:relay:err")}),{codes:QD}=je(),{setDelayedInterval:XD,clearDelayedInterval:ZD}=yd(),JD=q2(),{namespaceToCid:eL}=uh(),{RELAY_RENDEZVOUS_NS:tL}=uu(),F2=class{constructor(e){this._libp2p=e,this._options={...e._config.relay},this._autoRelay=this._options.autoRelay.enabled&&new JD({libp2p:e,...this._options.autoRelay}),this._advertiseService=this._advertiseService.bind(this)}start(){this._options.hop.enabled&&this._options.advertise.enabled&&(this._timeout=XD(this._advertiseService,this._options.advertise.ttl,this._options.advertise.bootDelay))}stop(){ZD(this._timeout)}async _advertiseService(){try{let e=await eL(tL);await this._libp2p.contentRouting.provide(e)}catch(e){e.code===QD.ERR_NO_ROUTERS_AVAILABLE?(M2.error("a content router, such as a DHT, must be provided in order to advertise the relay service",e),this.stop()):M2.error(e)}}};K2.exports=F2});var dh=w((CK,fh)=>{var{AbortController:rL}=globalThis;function j2(t){let e=new rL;function r(){e.abort();for(let n of t)!n||!n.removeEventListener||n.removeEventListener("abort",r)}for(let n of t)if(!(!n||!n.addEventListener)){if(n.aborted){r();break}n.addEventListener("abort",r)}return e.signal}fh.exports=j2;fh.exports.anySignal=j2});var G2=w((TK,z2)=>{var $2=ud(),H2=ih();z2.exports=class{constructor(){this._buffer=new $2,this._waitingConsumers=new $2}push(e){let{promise:r,resolve:n}=H2();return this._buffer.push({chunk:e,resolve:n}),this._consume(),r}_consume(){for(;!this._waitingConsumers.isEmpty()&&!this._buffer.isEmpty();){let e=this._waitingConsumers.shift(),r=this._buffer.shift();e.resolve(r.chunk),r.resolve()}}shift(){let{promise:e,resolve:r}=H2();return this._waitingConsumers.push({resolve:r}),this._consume(),e}isEmpty(){return this._buffer.isEmpty()}}});var Y2=w((RK,W2)=>{"use strict";W2.exports=(t,e=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof t!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof t}\``);if(typeof e!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(e===0)return t;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return t.replace(n,r.indent.repeat(e))}});var Q2=w(()=>{});var e_=w((NK,J2)=>{"use strict";var X2=Q2(),Z2=/\s+at.*(?:\(|\s)(.*)\)?/,nL=/^(?:(?:(?:node|(?:internal\/[\w/]*|.*node_modules\/(?:babel-polyfill|pirates)\/.*)?\w+)\.js:\d+:\d+)|native)/,iL=typeof X2.homedir=="undefined"?"":X2.homedir();J2.exports=(t,e)=>(e=Object.assign({pretty:!1},e),t.replace(/\\/g,"/").split(`
|
|
41
|
-
`).filter(r=>{let n=r.match(
|
|
42
|
-
`))});var
|
|
40
|
+
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),fP=new RegExp(`(?:^${qr}$)|(?:^${Hc}$)`),dP=new RegExp(`^${qr}$`),hP=new RegExp(`^${Hc}$`),Lf=t=>t&&t.exact?fP:new RegExp(`(?:${ri(t)}${qr}${ri(t)})|(?:${ri(t)}${Hc}${ri(t)})`,"g");Lf.v4=t=>t&&t.exact?dP:new RegExp(`${ri(t)}${qr}${ri(t)}`,"g");Lf.v6=t=>t&&t.exact?hP:new RegExp(`${ri(t)}${Hc}${ri(t)}`,"g");lv.exports=Lf});var Uf=w((mM,fv)=>{"use strict";var qf=kf(),Us=t=>qf({exact:!0}).test(t);Us.v4=t=>qf.v4({exact:!0}).test(t);Us.v6=t=>qf.v6({exact:!0}).test(t);Us.version=t=>Us(t)?Us.v4(t)?4:6:void 0;fv.exports=Us});var gv=w((vM,yv)=>{"use strict";var Mf=Uf(),{toString:dv}=(Tt(),Ot),pP=Mf,Ff=Mf.v4,hv=Mf.v6,pv=function(t,e,r){r=~~r;let n;if(Ff(t))n=e||new Uint8Array(r+4),t.split(/\./g).map(function(i){n[r++]=parseInt(i,10)&255});else if(hv(t)){let i=t.split(":",8),s;for(s=0;s<i.length;s++){let o=Ff(i[s]),a;o&&(a=pv(i[s]),i[s]=dv(a.slice(0,2),"base16")),a&&++s<8&&i.splice(s,0,dv(a.slice(2,4),"base16"))}if(i[0]==="")for(;i.length<8;)i.unshift("0");else if(i[i.length-1]==="")for(;i.length<8;)i.push("0");else if(i.length<8){for(s=0;s<i.length&&i[s]!=="";s++);let o=[s,"1"];for(s=9-i.length;s>0;s--)o.push("0");i.splice.apply(i,o)}for(n=e||new Uint8Array(r+16),s=0;s<i.length;s++){let o=parseInt(i[s],16);n[r++]=o>>8&255,n[r++]=o&255}}if(!n)throw Error("Invalid ip address: "+t);return n},yP=function(t,e,r){e=~~e,r=r||t.length-e;let n=[],i,s=new DataView(t.buffer);if(r===4){for(let o=0;o<r;o++)n.push(t[e+o]);i=n.join(".")}else if(r===16){for(let o=0;o<r;o+=2)n.push(s.getUint16(e+o).toString(16));i=n.join(":"),i=i.replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3"),i=i.replace(/:{3,4}/,"::")}return i};yv.exports={isIP:pP,isV4:Ff,isV6:hv,toBytes:pv,toString:yP}});var ha=w((bM,vv)=>{"use strict";function Jt(t){if(typeof t=="number"){if(Jt.codes[t])return Jt.codes[t];throw new Error("no protocol with code: "+t)}else if(typeof t=="string"){if(Jt.names[t])return Jt.names[t];throw new Error("no protocol with name: "+t)}throw new Error("invalid protocol id type: "+t)}var _r=-1;Jt.lengthPrefixedVarSize=_r;Jt.V=_r;Jt.table=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,_r,"ip6zone"],[53,_r,"dns","resolvable"],[54,_r,"dns4","resolvable"],[55,_r,"dns6","resolvable"],[56,_r,"dnsaddr","resolvable"],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,_r,"unix",!1,"path"],[421,_r,"ipfs"],[421,_r,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,_r,"garlic64"],[460,0,"quic"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,_r,"memory"]];Jt.names={};Jt.codes={};Jt.table.map(t=>{let e=mv.apply(null,t);return Jt.codes[e.code]=e,Jt.names[e.name]=e,null});Jt.object=mv;function mv(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:Boolean(n),path:Boolean(i)}}vv.exports=Jt});var wv=w((EM,Ev)=>{Ev.exports=Kf;var bv=128,gP=127,mP=~gP,vP=Math.pow(2,31);function Kf(t,e,r){if(Number.MAX_SAFE_INTEGER&&t>Number.MAX_SAFE_INTEGER)throw Kf.bytes=0,new RangeError("Could not encode varint");e=e||[],r=r||0;for(var n=r;t>=vP;)e[r++]=t&255|bv,t/=128;for(;t&mP;)e[r++]=t&255|bv,t>>>=7;return e[r]=t|0,Kf.bytes=r-n+1,e}});var xv=w((wM,Sv)=>{Sv.exports=Vf;var bP=128,_v=127;function Vf(t,e){var r=0,e=e||0,n=0,i=e,s,o=t.length;do{if(i>=o||n>49)throw Vf.bytes=0,new RangeError("Could not decode varint");s=t[i++],r+=n<28?(s&_v)<<n:(s&_v)*Math.pow(2,n),n+=7}while(s>=bP);return Vf.bytes=i-e,r}});var Cv=w((_M,Av)=>{var EP=Math.pow(2,7),wP=Math.pow(2,14),_P=Math.pow(2,21),SP=Math.pow(2,28),xP=Math.pow(2,35),AP=Math.pow(2,42),CP=Math.pow(2,49),IP=Math.pow(2,56),TP=Math.pow(2,63);Av.exports=function(t){return t<EP?1:t<wP?2:t<_P?3:t<SP?4:t<xP?5:t<AP?6:t<CP?7:t<IP?8:t<TP?9:10}});var Ui=w((SM,Iv)=>{Iv.exports={encode:wv(),decode:xv(),encodingLength:Cv()}});var Lv=w((xM,Dv)=>{"use strict";var zc=gv(),Tv=ha(),{CID:RP}=(ws(),ko),{base32:Rv}=(wi(),Ei),{base58btc:BP}=(qn(),kn),PP=(bi(),Do),Ms=Ui(),{toString:Gc}=(Tt(),Ot),{fromString:Bv}=(It(),Nt),{concat:Wc}=(Yn(),Wn);Dv.exports=pa;function pa(t,e){return e instanceof Uint8Array?pa.toString(t,e):pa.toBytes(t,e)}pa.toString=function(e,r){switch(Tv(e).code){case 4:case 41:return NP(r);case 6:case 273:case 33:case 132:return Nv(r).toString();case 53:case 54:case 55:case 56:case 400:case 777:return DP(r);case 421:return kP(r);case 444:return Ov(r);case 445:return Ov(r);default:return Gc(r,"base16")}};pa.toBytes=function(e,r){switch(Tv(e).code){case 4:return Pv(r);case 41:return Pv(r);case 6:case 273:case 33:case 132:return jf(parseInt(r,10));case 53:case 54:case 55:case 56:case 400:case 777:return OP(r);case 421:return LP(r);case 444:return qP(r);case 445:return UP(r);default:return Bv(r,"base16")}};function Pv(t){if(!zc.isIP(t))throw new Error("invalid ip address");return zc.toBytes(t)}function NP(t){let e=zc.toString(t);if(!e||!zc.isIP(e))throw new Error("invalid ip address");return e}function jf(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Nv(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function OP(t){let e=Bv(t),r=Uint8Array.from(Ms.encode(e.length));return Wc([r,e],r.length+e.length)}function DP(t){let e=Ms.decode(t);if(t=t.slice(Ms.decode.bytes),t.length!==e)throw new Error("inconsistent lengths");return Gc(t)}function LP(t){let e;t[0]==="Q"||t[0]==="1"?e=PP.decode(BP.decode(`z${t}`)).bytes:e=RP.parse(t).multihash.bytes;let r=Uint8Array.from(Ms.encode(e.length));return Wc([r,e],r.length+e.length)}function kP(t){let e=Ms.decode(t),r=t.slice(Ms.decode.bytes);if(r.length!==e)throw new Error("inconsistent lengths");return Gc(r,"base58btc")}function qP(t){let e=t.split(":");if(e.length!==2)throw new Error("failed to parse onion addr: "+e+" does not contain a port number");if(e[0].length!==16)throw new Error("failed to parse onion addr: "+e[0]+" not a Tor onion address.");let r=Rv.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=jf(n);return Wc([r,i],r.length+i.length)}function UP(t){let e=t.split(":");if(e.length!==2)throw new Error("failed to parse onion addr: "+e+" does not contain a port number");if(e[0].length!==56)throw new Error("failed to parse onion addr: "+e[0]+" not a Tor onion3 address.");let r=Rv.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=jf(n);return Wc([r,i],r.length+i.length)}function Ov(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=Gc(e,"base32"),i=Nv(r);return n+":"+i}});var Gv=w((AM,zv)=>{"use strict";var kv=Lv(),$f=ha(),ya=Ui(),{concat:qv}=(Yn(),Wn),{toString:MP}=(Tt(),Ot);zv.exports={stringToStringTuples:Uv,stringTuplesToString:Mv,tuplesToStringTuples:Kv,stringTuplesToTuples:Fv,bytesToTuples:Hf,tuplesToBytes:Vv,bytesToString:FP,stringToBytes:$v,fromString:KP,fromBytes:Hv,validateBytes:zf,isValidBytes:VP,cleanPath:Yc,ParseError:Gf,protoFromTuple:ga,sizeForAddr:jv};function Uv(t){let e=[],r=t.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let i=r[n],s=$f(i);if(s.size===0){e.push([i]);continue}if(n++,n>=r.length)throw Gf("invalid address: "+t);if(s.path){e.push([i,Yc(r.slice(n).join("/"))]);break}e.push([i,r[n]])}return e}function Mv(t){let e=[];return t.map(r=>{let n=ga(r);return e.push(n.name),r.length>1&&e.push(r[1]),null}),Yc(e.join("/"))}function Fv(t){return t.map(e=>{Array.isArray(e)||(e=[e]);let r=ga(e);return e.length>1?[r.code,kv.toBytes(r.code,e[1])]:[r.code]})}function Kv(t){return t.map(e=>{let r=ga(e);return e[1]?[r.code,kv.toString(r.code,e[1])]:[r.code]})}function Vv(t){return Hv(qv(t.map(e=>{let r=ga(e),n=Uint8Array.from(ya.encode(r.code));return e.length>1&&(n=qv([n,e[1]])),n})))}function jv(t,e){return t.size>0?t.size/8:t.size===0?0:ya.decode(e)+ya.decode.bytes}function Hf(t){let e=[],r=0;for(;r<t.length;){let n=ya.decode(t,r),i=ya.decode.bytes,s=$f(n),o=jv(s,t.slice(r+i));if(o===0){e.push([n]),r+=i;continue}let a=t.slice(r+i,r+i+o);if(r+=o+i,r>t.length)throw Gf("Invalid address Uint8Array: "+MP(t,"base16"));e.push([n,a])}return e}function FP(t){let e=Hf(t),r=Kv(e);return Mv(r)}function $v(t){t=Yc(t);let e=Uv(t),r=Fv(e);return Vv(r)}function KP(t){return $v(t)}function Hv(t){let e=zf(t);if(e)throw e;return Uint8Array.from(t)}function zf(t){try{Hf(t)}catch(e){return e}}function VP(t){return zf(t)===void 0}function Yc(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Gf(t){return new Error("Error parsing address: "+t)}function ga(t){return $f(t[0])}});var qt=w((CM,Qv)=>{"use strict";var Ur=Gv(),Fs=ha(),Wv=Ui(),{CID:jP}=(ws(),ko),{base58btc:$P}=(qn(),kn),HP=de(),zP=Symbol.for("nodejs.util.inspect.custom"),{toString:Qc}=(Tt(),Ot),{equals:GP}=(mr(),gr),Wf=new Map,Yv=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Ht=class{constructor(e){if(e==null&&(e=""),Object.defineProperty(this,Yv,{value:!0}),e instanceof Uint8Array)this.bytes=Ur.fromBytes(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);this.bytes=Ur.fromString(e)}else if(Ht.isMultiaddr(e))this.bytes=Ur.fromBytes(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return Ur.bytesToString(this.bytes)}toJSON(){return this.toString()}toOptions(){let e={},r=this.toString().split("/");return e.family=r[1]==="ip4"?4:6,e.host=r[2],e.transport=r[3],e.port=parseInt(r[4]),e}protos(){return this.protoCodes().map(e=>Object.assign({},Fs(e)))}protoCodes(){let e=[],r=this.bytes,n=0;for(;n<r.length;){let i=Wv.decode(r,n),s=Wv.decode.bytes,o=Fs(i);n+=Ur.sizeForAddr(o,r.slice(n+s))+s,e.push(i)}return e}protoNames(){return this.protos().map(e=>e.name)}tuples(){return Ur.bytesToTuples(this.bytes)}stringTuples(){let e=Ur.bytesToTuples(this.bytes);return Ur.tuplesToStringTuples(e)}encapsulate(e){return e=new Ht(e),new Ht(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error("Address "+this+" does not contain subaddress: "+e);return new Ht(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new Ht(Ur.tuplesToBytes(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===Fs.names.ipfs.code).pop();if(r&&r[1]){let n=r[1];return n[0]==="Q"||n[0]==="1"?Qc($P.decode(`z${n}`),"base58btc"):Qc(jP.parse(n).multihash.bytes,"base58btc")}return null}catch(e){return null}}getPath(){let e=null;try{e=this.stringTuples().filter(r=>!!Fs(r[0]).path)[0][1],e||(e=null)}catch(r){e=null}return e}equals(e){return GP(this.bytes,e.bytes)}async resolve(){let e=this.protos().find(i=>i.resolvable);if(!e)return[this];let r=Wf.get(e.name);if(!r)throw HP(new Error(`no available resolver for ${e.name}`),"ERR_NO_AVAILABLE_RESOLVER");return(await r(this)).map(i=>new Ht(i))}nodeAddress(){let e=this.protoCodes(),r=this.protoNames(),n=this.toString().split("/").slice(1);if(n.length<4)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6}/{address}/{tcp, udp}/{port}".');if(e[0]!==4&&e[0]!==41&&e[0]!==54&&e[0]!==55)throw new Error(`no protocol with name: "'${r[0]}'". Must have a valid family name: "{ip4, ip6, dns4, dns6}".`);if(n[2]!=="tcp"&&n[2]!=="udp")throw new Error(`no protocol with name: "'${r[1]}'". Must have a valid transport protocol: "{tcp, udp}".`);return{family:e[0]===41||e[0]===55?6:4,address:n[1],port:parseInt(n[3])}}isThinWaistAddress(e){let r=(e||this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}static fromNodeAddress(e,r){if(!e)throw new Error("requires node address object");if(!r)throw new Error("requires transport protocol");let n;switch(e.family){case 4:n="ip4";break;case 6:n="ip6";break;default:throw Error(`Invalid addr family. Got '${e.family}' instead of 4 or 6`)}return new Ht("/"+[n,e.address,r,e.port].join("/"))}static isName(e){return Ht.isMultiaddr(e)?e.protos().some(r=>r.resolvable):!1}static isMultiaddr(e){return e instanceof Ht||Boolean(e&&e[Yv])}[zP](){return"<Multiaddr "+Qc(this.bytes,"base16")+" - "+Ur.bytesToString(this.bytes)+">"}inspect(){return"<Multiaddr "+Qc(this.bytes,"base16")+" - "+Ur.bytesToString(this.bytes)+">"}};Ht.protocols=Fs;Ht.resolvers=Wf;function WP(t){return new Ht(t)}Qv.exports={Multiaddr:Ht,multiaddr:WP,protocols:Fs,resolvers:Wf}});var Mi=w((IM,Xv)=>{"use strict";var YP=async t=>{let e=[];for await(let r of t)e.push(r);return e};Xv.exports=YP});var Zv,Yf,Jv=Se(()=>{Zv=Po(Mi()),Yf=(t,e)=>async function*(){yield*(await(0,Zv.default)(t)).sort(e)}()});var ma=w((RM,e1)=>{"use strict";var QP=async t=>{for await(let e of t);};e1.exports=QP});var Fi=w((BM,t1)=>{"use strict";var XP=async function*(t,e){for await(let r of t)await e(r)&&(yield r)};t1.exports=XP});var Qf=w((PM,r1)=>{"use strict";var ZP=async function*(t,e){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}};r1.exports=ZP});var Xf,Ki,Zf,Jf,n1=Se(()=>{Jv();Xf=Po(ma()),Ki=Po(Fi()),Zf=Po(Qf()),Jf=class{open(){return Promise.reject(new Error(".open is not implemented"))}close(){return Promise.reject(new Error(".close is not implemented"))}put(e,r,n){return Promise.reject(new Error(".put is not implemented"))}get(e,r){return Promise.reject(new Error(".get is not implemented"))}has(e,r){return Promise.reject(new Error(".has is not implemented"))}delete(e,r){return Promise.reject(new Error(".delete is not implemented"))}async*putMany(e,r={}){for await(let{key:n,value:i}of e)await this.put(n,i,r),yield{key:n,value:i}}async*getMany(e,r={}){for await(let n of e)yield this.get(n,r)}async*deleteMany(e,r={}){for await(let n of e)await this.delete(n,r),yield n}batch(){let e=[],r=[];return{put(n,i){e.push({key:n,value:i})},delete(n){r.push(n)},commit:async n=>{await(0,Xf.default)(this.putMany(e,n)),e=[],await(0,Xf.default)(this.deleteMany(r,n)),r=[]}}}async*_all(e,r){throw new Error("._all is not implemented")}async*_allKeys(e,r){throw new Error("._allKeys is not implemented")}query(e,r){let n=this._all(e,r);if(e.prefix!=null&&(n=(0,Ki.default)(n,i=>i.key.toString().startsWith(e.prefix))),Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>(0,Ki.default)(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>Yf(i,s),n)),e.offset!=null){let i=0;n=(0,Ki.default)(n,()=>i++>=e.offset)}return e.limit!=null&&(n=(0,Zf.default)(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null&&(n=(0,Ki.default)(n,i=>i.toString().startsWith(e.prefix))),Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>(0,Ki.default)(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>Yf(i,s),n)),e.offset!=null){let i=0;n=(0,Ki.default)(n,()=>i++>=e.offset)}return e.limit!=null&&(n=(0,Zf.default)(n,e.limit)),n}}});var i1,s1=Se(()=>{i1="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict"});var td={};gt(td,{customAlphabet:()=>JP,customRandom:()=>a1,nanoid:()=>ed,random:()=>o1,urlAlphabet:()=>i1});var o1,a1,JP,ed,Xc=Se(()=>{s1();o1=t=>crypto.getRandomValues(new Uint8Array(t)),a1=(t,e,r)=>{let n=(2<<Math.log(t.length-1)/Math.LN2)-1,i=-~(1.6*n*e/t.length);return()=>{let s="";for(;;){let o=r(i),a=i;for(;a--;)if(s+=t[o[a]&n]||"",s.length===e)return s}}},JP=(t,e)=>a1(t,e,o1),ed=(t=21)=>{let e="",r=crypto.getRandomValues(new Uint8Array(t));for(;t--;){let n=r[t]&63;n<36?e+=n.toString(36):n<62?e+=(n-26).toString(36).toUpperCase():n<63?e+="_":e+="-"}return e}});var rd={};gt(rd,{Key:()=>Bt});function eN(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function tN(t){let e=t.split(":");return e[e.length-1]}function rN(t){return[].concat(...t)}var An,c1,Zc,Bt,Jc=Se(()=>{Xc();Tt();It();An="/",c1=new TextEncoder().encode(An),Zc=c1[0],Bt=class{constructor(e,r){if(typeof e=="string")this._buf=cf(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Zc)throw new Error("Invalid key")}toString(e="utf8"){return lf(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new Bt(e.join(An))}static random(){return new Bt(ed().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new Bt(e):e.uint8Array?new Bt(e.uint8Array()):null}clean(){if((!this._buf||this._buf.byteLength===0)&&(this._buf=c1),this._buf[0]!==Zc){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Zc,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Zc;)this._buf=this._buf.subarray(0,-1)}less(e){let r=this.list(),n=e.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let s=r[i],o=n[i];if(s<o)return!0;if(s>o)return!1}return r.length<n.length}reverse(){return Bt.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(An).slice(1)}type(){return eN(this.baseNamespace())}name(){return tN(this.baseNamespace())}instance(e){return new Bt(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(An)||(e+=An),e+=this.type(),new Bt(e)}parent(){let e=this.list();return e.length===1?new Bt(An):new Bt(e.slice(0,-1).join(An))}child(e){return this.toString()===An?e:e.toString()===An?this:new Bt(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return Bt.withNamespaces([...this.namespaces(),...rN(e.map(r=>r.namespaces()))])}}});function l1(t){return t=t||new Error("Not Found"),(0,u1.default)(t,"ERR_NOT_FOUND")}var u1,f1=Se(()=>{u1=Po(de())});var h1={};gt(h1,{MemoryDatastore:()=>d1});var d1,p1=Se(()=>{n1();Jc();f1();d1=class extends Jf{constructor(){super();this.data={}}open(){return Promise.resolve()}close(){return Promise.resolve()}async put(e,r){this.data[e.toString()]=r}async get(e){if(!await this.has(e))throw l1();return this.data[e.toString()]}async has(e){return this.data[e.toString()]!==void 0}async delete(e){delete this.data[e.toString()]}async*_all(){yield*Object.entries(this.data).map(([e,r])=>({key:new Bt(e),value:r}))}async*_allKeys(){yield*Object.entries(this.data).map(([e])=>new Bt(e))}}});var je=w(nd=>{"use strict";nd.messages={NOT_STARTED_YET:"The libp2p node is not started yet",DHT_DISABLED:"DHT is not available",CONN_ENCRYPTION_REQUIRED:"At least one connection encryption module is required",NOT_FOUND:"Not found"};nd.codes={DHT_DISABLED:"ERR_DHT_DISABLED",PUBSUB_NOT_STARTED:"ERR_PUBSUB_NOT_STARTED",DHT_NOT_STARTED:"ERR_DHT_NOT_STARTED",CONN_ENCRYPTION_REQUIRED:"ERR_CONN_ENCRYPTION_REQUIRED",ERR_PEER_DIAL_INTERCEPTED:"ERR_PEER_DIAL_INTERCEPTED",ERR_CONNECTION_INTERCEPTED:"ERR_CONNECTION_INTERCEPTED",ERR_INVALID_PROTOCOLS_FOR_STREAM:"ERR_INVALID_PROTOCOLS_FOR_STREAM",ERR_CONNECTION_ENDED:"ERR_CONNECTION_ENDED",ERR_CONNECTION_FAILED:"ERR_CONNECTION_FAILED",ERR_NODE_NOT_STARTED:"ERR_NODE_NOT_STARTED",ERR_ALREADY_ABORTED:"ERR_ALREADY_ABORTED",ERR_TOO_MANY_ADDRESSES:"ERR_TOO_MANY_ADDRESSES",ERR_NO_VALID_ADDRESSES:"ERR_NO_VALID_ADDRESSES",ERR_RELAYED_DIAL:"ERR_RELAYED_DIAL",ERR_DIALED_SELF:"ERR_DIALED_SELF",ERR_DISCOVERED_SELF:"ERR_DISCOVERED_SELF",ERR_DUPLICATE_TRANSPORT:"ERR_DUPLICATE_TRANSPORT",ERR_ENCRYPTION_FAILED:"ERR_ENCRYPTION_FAILED",ERR_HOP_REQUEST_FAILED:"ERR_HOP_REQUEST_FAILED",ERR_INVALID_KEY:"ERR_INVALID_KEY",ERR_INVALID_MESSAGE:"ERR_INVALID_MESSAGE",ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS",ERR_INVALID_PEER:"ERR_INVALID_PEER",ERR_MUXER_UNAVAILABLE:"ERR_MUXER_UNAVAILABLE",ERR_NOT_FOUND:"ERR_NOT_FOUND",ERR_TIMEOUT:"ERR_TIMEOUT",ERR_TRANSPORT_UNAVAILABLE:"ERR_TRANSPORT_UNAVAILABLE",ERR_TRANSPORT_DIAL_FAILED:"ERR_TRANSPORT_DIAL_FAILED",ERR_UNSUPPORTED_PROTOCOL:"ERR_UNSUPPORTED_PROTOCOL",ERR_INVALID_MULTIADDR:"ERR_INVALID_MULTIADDR",ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID",ERR_FIND_SELF:"ERR_FIND_SELF",ERR_NO_ROUTERS_AVAILABLE:"ERR_NO_ROUTERS_AVAILABLE",ERR_CONNECTION_NOT_MULTIPLEXED:"ERR_CONNECTION_NOT_MULTIPLEXED",ERR_NO_DIAL_TOKENS:"ERR_NO_DIAL_TOKENS",ERR_KEYCHAIN_REQUIRED:"ERR_KEYCHAIN_REQUIRED",ERR_INVALID_CMS:"ERR_INVALID_CMS",ERR_MISSING_KEYS:"ERR_MISSING_KEYS",ERR_NO_KEY:"ERR_NO_KEY",ERR_INVALID_KEY_NAME:"ERR_INVALID_KEY_NAME",ERR_INVALID_KEY_TYPE:"ERR_INVALID_KEY_TYPE",ERR_KEY_ALREADY_EXISTS:"ERR_KEY_ALREADY_EXISTS",ERR_INVALID_KEY_SIZE:"ERR_INVALID_KEY_SIZE",ERR_KEY_NOT_FOUND:"ERR_KEY_NOT_FOUND",ERR_OLD_KEY_NAME_INVALID:"ERR_OLD_KEY_NAME_INVALID",ERR_NEW_KEY_NAME_INVALID:"ERR_NEW_KEY_NAME_INVALID",ERR_PASSWORD_REQUIRED:"ERR_PASSWORD_REQUIRED",ERR_PEM_REQUIRED:"ERR_PEM_REQUIRED",ERR_CANNOT_READ_KEY:"ERR_CANNOT_READ_KEY",ERR_MISSING_PRIVATE_KEY:"ERR_MISSING_PRIVATE_KEY",ERR_INVALID_OLD_PASS_TYPE:"ERR_INVALID_OLD_PASS_TYPE",ERR_INVALID_NEW_PASS_TYPE:"ERR_INVALID_NEW_PASS_TYPE",ERR_INVALID_PASS_LENGTH:"ERR_INVALID_PASS_LENGTH",ERR_NOT_IMPLEMENTED:"ERR_NOT_IMPLEMENTED",ERR_WRONG_PING_ACK:"ERR_WRONG_PING_ACK"}});var id=w(($M,y1)=>{"use strict";var nN=async function*(t,e){for await(let r of t)yield e(r)};y1.exports=nN});var sd=w((HM,g1)=>{"use strict";var iN=de(),sN=Fi(),oN=id(),aN=Qf();async function*cN(t,e){yield*oN(t,async r=>(await e.addressBook.add(r.id,r.multiaddrs),r))}function uN(t){let e=new Set;return sN(t,r=>e.has(r.id.toString())?!1:(e.add(r.id.toString()),!0))}async function*lN(t,e=1){let r=0;for await(let n of t)r++,yield n;if(r<e)throw iN(new Error("not found"),"NOT_FOUND")}function fN(t,e){return e?aN(t,e):t}g1.exports={storeAddresses:cN,uniquePeers:uN,requirePeers:lN,maybeLimitSource:fN}});var v1=w((zM,m1)=>{"use strict";m1.exports=function(){return Date.now()}});var va=w((GM,E1)=>{"use strict";var eu=v1(),b1=class{constructor(e,r,n){let i=this;this._started=eu(),this._rescheduled=0,this._scheduled=r,this._args=n,this._triggered=!1,this._timerWrapper=()=>{i._rescheduled>0?(i._scheduled=i._rescheduled-(eu()-i._started),i._schedule(i._scheduled)):(i._triggered=!0,e.apply(null,i._args))},this._timer=setTimeout(this._timerWrapper,r)}reschedule(e){e||(e=this._scheduled);let r=eu();r+e-(this._started+this._scheduled)<0?(clearTimeout(this._timer),this._schedule(e)):this._triggered?this._schedule(e):(this._started=r,this._rescheduled=e)}_schedule(e){this._triggered=!1,this._started=eu(),this._rescheduled=0,this._scheduled=e,this._timer=setTimeout(this._timerWrapper,e)}clear(){clearTimeout(this._timer)}};function dN(){if(typeof arguments[0]!="function")throw new Error("callback needed");if(typeof arguments[1]!="number")throw new Error("timeout needed");let t;if(arguments.length>0){t=new Array(arguments.length-2);for(var e=0;e<t.length;e++)t[e]=arguments[e+2]}return new b1(arguments[0],arguments[1],t)}E1.exports=dN});var od=w((WM,_1)=>{"use strict";var{AbortController:hN}=globalThis,w1=va(),tu=class extends hN{constructor(e){super();this._ms=e,this._timer=w1(()=>this.abort(),e),Object.setPrototypeOf(this,tu.prototype)}abort(){return this._timer.clear(),super.abort()}clear(){this._timer.clear()}reset(){this._timer.clear(),this._timer=w1(()=>this.abort(),this._ms)}};_1.exports={TimeoutController:tu}});var x1=w((QM,S1)=>{S1.exports=class{constructor(e){if(!(e>0)||(e-1&e)!=0)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}peek(){return this.buffer[this.btm]}isEmpty(){return this.buffer[this.btm]===void 0}}});var ad=w((ZM,C1)=>{var A1=x1();C1.exports=class{constructor(e){this.hwm=e||16,this.head=new A1(this.hwm),this.tail=this.head}push(e){if(!this.head.push(e)){let r=this.head;this.head=r.next=new A1(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next){let r=this.tail.next;return this.tail.next=null,this.tail=r,this.tail.shift()}return e}peek(){return this.tail.peek()}isEmpty(){return this.head.isEmpty()}}});var ud=w((JM,I1)=>{var cd=ad();I1.exports=t=>{t=t||{};let e;typeof t=="function"?(e=t,t={}):e=t.onEnd;let r=new cd,n,i,s,o=()=>{if(!r.isEmpty()){if(t.writev){let g,m=[];for(;!r.isEmpty();){if(g=r.shift(),g.error)throw g.error;m.push(g.value)}return{done:g.done,value:m}}let h=r.shift();if(h.error)throw h.error;return h}return s?{done:!0}:new Promise((h,g)=>{i=m=>(i=null,m.error?g(m.error):t.writev&&!m.done?h({done:m.done,value:[m.value]}):h(m),n)})},a=h=>i?i(h):(r.push(h),n),c=h=>(r=new cd,i?i({error:h}):(r.push({error:h}),n)),u=h=>s?n:a({done:!1,value:h}),l=h=>s?n:(s=!0,h?c(h):a({done:!0})),f=()=>(r=new cd,l(),{done:!0}),d=h=>(l(h),{done:!0});if(n={[Symbol.asyncIterator](){return this},next:o,return:f,throw:d,push:u,end:l},!e)return n;let p=n;return n={[Symbol.asyncIterator](){return this},next(){return p.next()},throw(h){return p.throw(h),e&&(e(h),e=null),{done:!0}},return(){return p.return(),e&&(e(),e=null),{done:!0}},push:u,end(h){return p.end(h),e&&(e(h),e=null),n}},n}});var ld=w((eF,T1)=>{"use strict";var pN=ud(),yN=async function*(...t){let e=pN();setTimeout(async()=>{try{await Promise.all(t.map(async r=>{for await(let n of r)e.push(n)})),e.end()}catch(r){e.end(r)}},0),yield*e};T1.exports=yN});var ir=w((tF,Ks)=>{var R1=(...t)=>{let e;for(;t.length;)e=t.shift()(e);return e},fd=t=>t&&(typeof t[Symbol.asyncIterator]=="function"||typeof t[Symbol.iterator]=="function"||typeof t.next=="function"),ru=t=>t&&typeof t.sink=="function"&&fd(t.source),gN=t=>e=>(t.sink(e),t.source),B1=(...t)=>{if(ru(t[0])){let e=t[0];t[0]=()=>e.source}else if(fd(t[0])){let e=t[0];t[0]=()=>e}if(t.length>1&&ru(t[t.length-1])&&(t[t.length-1]=t[t.length-1].sink),t.length>2)for(let e=1;e<t.length-1;e++)ru(t[e])&&(t[e]=gN(t[e]));return R1(...t)};Ks.exports=B1;Ks.exports.pipe=B1;Ks.exports.rawPipe=R1;Ks.exports.isIterable=fd;Ks.exports.isDuplex=ru});var dd=w((rF,P1)=>{"use strict";var mN=async t=>{for await(let e of t)return e};P1.exports=mN});var hd=w((nF,N1)=>{"use strict";var Vs=new Map,vN=()=>`${Date.now()}:${Math.floor(Math.random()*1e6)}`;async function bN(t,e,r){for(;Vs.get(r);){try{await t()}catch(n){setTimeout(()=>{throw n},1);break}if(!Vs.get(r))break;await new Promise(n=>{let i=setTimeout(n,e);Vs.set(r,i)})}}function EN(t,e,r){r=r||e;let n=vN(),i=setTimeout(()=>{bN(t,e,n)},r);return Vs.set(n,i),n}function wN(t){let e=Vs.get(t);e&&(clearTimeout(e),Vs.delete(t))}N1.exports={setDelayedInterval:EN,clearDelayedInterval:wN}});var L1=w((iF,D1)=>{"use strict";var _N=de(),{messages:SN,codes:xN}=je(),O1=class{constructor(e){this._dht=e}async findPeer(e,r={}){for await(let n of this._dht.findPeer(e,r))if(n.name==="FINAL_PEER")return n.peer;throw _N(new Error(SN.NOT_FOUND),xN.ERR_NOT_FOUND)}async*getClosestPeers(e,r={}){for await(let n of this._dht.getClosestPeers(e,r))n.name==="PEER_RESPONSE"&&(yield*n.closer)}};D1.exports={DHTPeerRouting:O1}});var $1=w((sF,j1)=>{"use strict";var k1=Te(),q1=Object.assign(k1("libp2p:peer-routing"),{error:k1("libp2p:peer-routing:err")}),nu=de(),ba=je(),{storeAddresses:U1,uniquePeers:AN,requirePeers:CN}=sd(),{TimeoutController:IN}=od(),M1=ld(),{pipe:F1}=ir(),TN=dd(),RN=ma(),BN=Fi(),{setDelayedInterval:PN,clearDelayedInterval:NN}=hd(),{DHTPeerRouting:ON}=L1(),{setMaxListeners:K1}=Qt(),V1=class{constructor(e){this._peerId=e.peerId,this._peerStore=e.peerStore,this._routers=e._modules.peerRouting||[],e._dht&&e._config.dht.enabled&&this._routers.push(new ON(e._dht)),this._refreshManagerOptions=e._options.peerRouting.refreshManager,this._findClosestPeersTask=this._findClosestPeersTask.bind(this)}start(){!this._routers.length||this._timeoutId||!this._refreshManagerOptions.enabled||(this._timeoutId=PN(this._findClosestPeersTask,this._refreshManagerOptions.interval,this._refreshManagerOptions.bootDelay))}async _findClosestPeersTask(){try{await RN(this.getClosestPeers(this._peerId.id,{timeout:this._refreshManagerOptions.timeout||1e4}))}catch(e){q1.error(e)}}stop(){NN(this._timeoutId)}async findPeer(e,r){if(!this._routers.length)throw nu(new Error("No peer routers available"),ba.codes.ERR_NO_ROUTERS_AVAILABLE);if(e.toB58String()===this._peerId.toB58String())throw nu(new Error("Should not try to find self"),ba.codes.ERR_FIND_SELF);let n=await F1(M1(...this._routers.map(i=>async function*(){try{yield await i.findPeer(e,r)}catch(s){q1.error(s)}}())),i=>BN(i,Boolean),i=>U1(i,this._peerStore),i=>TN(i));if(n)return n;throw nu(new Error(ba.messages.NOT_FOUND),ba.codes.ERR_NOT_FOUND)}async*getClosestPeers(e,r={timeout:3e4}){if(!this._routers.length)throw nu(new Error("No peer routers available"),ba.codes.ERR_NO_ROUTERS_AVAILABLE);if(r.timeout){let n=new IN(r.timeout);try{K1&&K1(1/0,n.signal)}catch{}r.signal=n.signal}yield*F1(M1(...this._routers.map(n=>n.getClosestPeers(e,r))),n=>U1(n,this._peerStore),n=>AN(n),n=>CN(n))}};j1.exports=V1});var G1=w((oF,z1)=>{"use strict";var DN=ma(),H1=class{constructor(e){this._dht=e}async provide(e){await DN(this._dht.provide(e))}async*findProviders(e,r){for await(let n of this._dht.findProviders(e,r))n.name==="PROVIDER"&&(yield*n.providers)}};z1.exports={DHTContentRouting:H1}});var Q1=w((aF,Y1)=>{"use strict";var Vi=de(),{messages:Ea,codes:ji}=je(),{storeAddresses:LN,uniquePeers:kN,requirePeers:qN,maybeLimitSource:UN}=sd(),MN=ma(),FN=ld(),{pipe:KN}=ir(),{DHTContentRouting:VN}=G1(),W1=class{constructor(e){this.libp2p=e,this.routers=e._modules.contentRouting||[],this.dht=e._dht,this.dht&&e._config.dht.enabled&&this.routers.push(new VN(this.dht))}async*findProviders(e,r={}){if(!this.routers.length)throw Vi(new Error("No content this.routers available"),ji.ERR_NO_ROUTERS_AVAILABLE);yield*KN(FN(...this.routers.map(n=>n.findProviders(e,r))),n=>LN(n,this.libp2p.peerStore),n=>kN(n),n=>UN(n,r.maxNumProviders),n=>qN(n))}async provide(e){if(!this.routers.length)throw Vi(new Error("No content routers available"),ji.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(r=>r.provide(e)))}async put(e,r,n){if(!this.libp2p.isStarted()||!this.dht.isStarted)throw Vi(new Error(Ea.NOT_STARTED_YET),ji.DHT_NOT_STARTED);await MN(this.dht.put(e,r,n))}async get(e,r){if(!this.libp2p.isStarted()||!this.dht.isStarted)throw Vi(new Error(Ea.NOT_STARTED_YET),ji.DHT_NOT_STARTED);for await(let n of this.dht.get(e,r))if(n.name==="VALUE")return{from:n.peerId,val:n.value};throw Vi(new Error(Ea.NOT_FOUND),ji.ERR_NOT_FOUND)}async*getMany(e,r,n){if(!this.libp2p.isStarted()||!this.dht.isStarted)throw Vi(new Error(Ea.NOT_STARTED_YET),ji.DHT_NOT_STARTED);if(!r)return;let i=0;for await(let s of this.dht.get(e,n))if(s.name==="VALUE"&&(yield{from:s.peerId,val:s.value},i++,i===r))break;if(i===0)throw Vi(new Error(Ea.NOT_FOUND),ji.ERR_NOT_FOUND)}};Y1.exports=W1});var pd=w((cF,eb)=>{"use strict";var jN=Rt(),{Multiaddr:X1}=qt(),Z1=de(),{codes:J1}=je();function $N(t){typeof t=="string"&&(t=new X1(t));let e;if(X1.isMultiaddr(t)){e=t;let r=t.getPeerId();if(!r)throw Z1(new Error(`${t} does not have a valid peer type`),J1.ERR_INVALID_MULTIADDR);try{t=jN.createFromB58String(r)}catch(n){throw Z1(new Error(`${t} is not a valid peer type`),J1.ERR_INVALID_MULTIADDR)}}return{id:t,multiaddrs:e?[e]:void 0}}eb.exports=$N});var rb=w((uF,tb)=>{"use strict";tb.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var Hs=w((ob,ab)=>{"use strict";var iu=rb(),{hasOwnProperty:nb}=Object.prototype,{propertyIsEnumerable:HN}=Object,js=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),zN=ob,ib={concatArrays:!1,ignoreUndefined:!1},su=t=>{let e=[];for(let r in t)nb.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)HN.call(t,n)&&e.push(n)}return e};function $s(t){return Array.isArray(t)?GN(t):iu(t)?WN(t):t}function GN(t){let e=t.slice(0,0);return su(t).forEach(r=>{js(e,r,$s(t[r]))}),e}function WN(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return su(t).forEach(r=>{js(e,r,$s(t[r]))}),e}var sb=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]=="undefined"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?js(t,i,yd(t[i],e[i],n)):js(t,i,$s(e[i])))}),t),YN=(t,e,r)=>{let n=t.slice(0,0),i=0;return[t,e].forEach(s=>{let o=[];for(let a=0;a<s.length;a++)!nb.call(s,a)||(o.push(String(a)),s===t?js(n,i++,s[a]):js(n,i++,$s(s[a])));n=sb(n,s,su(s).filter(a=>!o.includes(a)),r)}),n};function yd(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?YN(t,e,r):!iu(e)||!iu(t)?$s(e):sb(t,e,su(e),r)}ab.exports=function(...t){let e=yd($s(ib),this!==zN&&this||{},ib),r={_:{}};for(let n of t)if(n!==void 0){if(!iu(n))throw new TypeError("`"+n+"` is not an Option Object");r=yd(r,{_:n},e)}return r._}});var lb=w((lF,ub)=>{"use strict";ub.exports=cb;var QN=ul(),ni=cb.prototype,XN=new Date%1e9;function ZN(){return(Math.random()*1e9>>>0)+XN++}function cb(t){t=t||{},this.id=t.id||ZN(),this.max=t.max||1/0,this.items=t.items||[],this._lookup={},this.size=this.items.length,this.lastModified=new Date(t.lastModified||new Date);for(var e,r,n=this.items.length;n--;)e=this.items[n],r=new Date(e.expires)-new Date,this._lookup[e.key]=e,r>0?this.expire(e.key,r):r<=0&&this.delete(e.key)}ni.has=function(t){return t in this._lookup};ni.get=function(t){if(!this.has(t))return null;var e=this._lookup[t];return e.refresh&&this.expire(t,e.refresh),this.items.splice(this.items.indexOf(e),1),this.items.push(e),e.value};ni.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};ni.set=function(t,e,r){var n=this._lookup[t],i=this._lookup[t]={key:t,value:e};return this.lastModified=new Date,n?(clearTimeout(n.timeout),this.items.splice(this.items.indexOf(n),1,i)):(this.size>=this.max&&this.delete(this.items[0].key),this.items.push(i),this.size++),r&&("ttl"in r&&this.expire(t,r.ttl),"meta"in r&&(i.meta=r.meta),r.refresh&&(i.refresh=r.ttl)),this};ni.delete=function(t){var e=this._lookup[t];return e?(this.lastModified=new Date,this.items.splice(this.items.indexOf(e),1),clearTimeout(e.timeout),delete this._lookup[t],this.size--,this):!1};ni.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=QN(e)),typeof r!="number")throw new TypeError("Expiration time must be a string or number.");return clearTimeout(n.timeout),n.timeout=setTimeout(this.delete.bind(this,n.key),r),n.expires=Number(new Date)+r,this};ni.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};ni.toJSON=function(){for(var t=new Array(this.items.length),e,r=t.length;r--;)e=this.items[r],t[r]={key:e.key,meta:e.meta,value:e.value,expires:e.expires,refresh:e.refresh};return{id:this.id,max:isFinite(this.max)?this.max:void 0,lastModified:this.lastModified,items:t}}});var wa=w((zs,fb)=>{"use strict";var JN=function(){if(typeof self!="undefined")return self;if(typeof window!="undefined")return window;if(typeof Cn!="undefined")return Cn;throw new Error("unable to locate global object")},Cn=JN();fb.exports=zs=Cn.fetch;Cn.fetch&&(zs.default=Cn.fetch.bind(Cn));zs.Headers=Cn.Headers;zs.Request=Cn.Request;zs.Response=Cn.Response});var db=w((fF,gd)=>{"use strict";globalThis.fetch&&globalThis.Headers&&globalThis.Request&&globalThis.Response?gd.exports={default:globalThis.fetch,Headers:globalThis.Headers,Request:globalThis.Request,Response:globalThis.Response}:gd.exports={default:wa().default,Headers:wa().Headers,Request:wa().Request,Response:wa().Response}});var pb=w((dF,hb)=>{"use strict";var{default:e3,Headers:t3}=db();function r3({serverResolver:t,hostname:e,recordType:r}){return`${t}?name=${e}&type=${r}`}function n3(t){return e3(t,{headers:new t3({accept:"application/dns-json"})})}function i3(t,e){return`${e}_${t}`}hb.exports={buildResource:r3,fetch:n3,getCacheKey:i3}});var mb=w((hF,gb)=>{"use strict";var yb=Te(),ou=yb("dns-over-http-resolver");ou.error=yb("dns-over-http-resolver:error");var s3=lb(),Sr=pb(),au=class{constructor({maxCache:e=100}={}){this._cache=new s3({max:e}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"]}getServers(){return this._servers}_getShuffledServers(){let e=[].concat(this._servers);for(let r=e.length-1;r>0;r--){let n=Math.floor(Math.random()*r),i=e[r];e[r]=e[n],e[n]=i}return e}setServers(e){this._servers=e}resolve(e,r="A"){switch(r){case"A":return this.resolve4(e);case"AAAA":return this.resolve6(e);case"TXT":return this.resolveTxt(e);default:throw new Error(`${r} is not supported`)}}async resolve4(e){let r="A",n=this._cache.get(Sr.getCacheKey(e,r));if(n)return n;for(let i of this._getShuffledServers())try{let o=await(await Sr.fetch(Sr.buildResource({serverResolver:i,hostname:e,recordType:r}))).json(),a=o.Answer.map(u=>u.data),c=Math.min(o.Answer.map(u=>u.TTL));return this._cache.set(Sr.getCacheKey(e,r),a,{ttl:c}),a}catch(s){ou.error(`${i} could not resolve ${e} record ${r}`)}throw new Error(`Could not resolve ${e} record ${r}`)}async resolve6(e){let r="AAAA",n=this._cache.get(Sr.getCacheKey(e,r));if(n)return n;for(let i of this._getShuffledServers())try{let o=await(await Sr.fetch(Sr.buildResource({serverResolver:i,hostname:e,recordType:r}))).json(),a=o.Answer.map(u=>u.data),c=Math.min(o.Answer.map(u=>u.TTL));return this._cache.set(Sr.getCacheKey(e,r),a,{ttl:c}),a}catch(s){ou.error(`${i} could not resolve ${e} record ${r}`)}throw new Error(`Could not resolve ${e} record ${r}`)}async resolveTxt(e){let r="TXT",n=this._cache.get(Sr.getCacheKey(e,r));if(n)return n;for(let i of this._getShuffledServers())try{let o=await(await Sr.fetch(Sr.buildResource({serverResolver:i,hostname:e,recordType:r}))).json(),a=o.Answer.map(u=>[u.data.replace(/['"]+/g,"")]),c=Math.min(o.Answer.map(u=>u.TTL));return this._cache.set(Sr.getCacheKey(e,r),a,{ttl:c}),a}catch(s){ou.error(`${i} could not resolve ${e} record ${r}`)}throw new Error(`Could not resolve ${e} record ${r}`)}};au.Resolver=au;gb.exports=au});var bb=w((pF,vb)=>{"use strict";var o3=mb();vb.exports=o3});var wb=w((yF,Eb)=>{"use strict";var a3=ha(),{code:c3}=a3("dnsaddr");async function u3(t){let e=bb(),r=new e,n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===c3)||[],o=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]);return n&&(o=o.filter(a=>a.includes(n))),o}Eb.exports={dnsaddrResolver:u3}});var cu=w((gF,_b)=>{"use strict";_b.exports={DIAL_TIMEOUT:3e4,MAX_PARALLEL_DIALS:100,MAX_PER_PEER_DIALS:4,MAX_ADDRS_TO_DIAL:25,METRICS:{computeThrottleMaxQueueSize:1e3,computeThrottleTimeout:2e3,movingAverageIntervals:[60*1e3,5*60*1e3,15*60*1e3],maxOldPeersRetention:50}}});var md=w((mF,l3)=>{l3.exports={name:"libp2p",version:"0.36.1",description:"JavaScript implementation of libp2p, a modular peer to peer network stack",leadMaintainer:"Jacob Heun <jacobheun@gmail.com>",main:"src/index.js",types:"dist/src/index.d.ts",typesVersions:{"*":{"src/*":["dist/src/*","dist/src/*/index"]}},files:["dist","src"],scripts:{lint:"aegir lint",build:"aegir build","build:proto":"npm run build:proto:circuit && npm run build:proto:fetch && npm run build:proto:identify && npm run build:proto:plaintext && npm run build:proto:address-book && npm run build:proto:proto-book && npm run build:proto:peer && npm run build:proto:peer-record && npm run build:proto:envelope","build:proto:circuit":"pbjs -t static-module -w commonjs -r libp2p-circuit --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/circuit/protocol/index.js ./src/circuit/protocol/index.proto","build:proto:fetch":"pbjs -t static-module -w commonjs -r libp2p-fetch --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/fetch/proto.js ./src/fetch/proto.proto","build:proto:identify":"pbjs -t static-module -w commonjs -r libp2p-identify --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/identify/message.js ./src/identify/message.proto","build:proto:plaintext":"pbjs -t static-module -w commonjs -r libp2p-plaintext --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/insecure/proto.js ./src/insecure/proto.proto","build:proto:peer":"pbjs -t static-module -w commonjs -r libp2p-peer --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/peer-store/pb/peer.js ./src/peer-store/pb/peer.proto","build:proto:peer-record":"pbjs -t static-module -w commonjs -r libp2p-peer-record --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/record/peer-record/peer-record.js ./src/record/peer-record/peer-record.proto","build:proto:envelope":"pbjs -t static-module -w commonjs -r libp2p-envelope --force-number --no-verify --no-delimited --no-create --no-beautify --no-defaults --lint eslint-disable -o src/record/envelope/envelope.js ./src/record/envelope/envelope.proto","build:proto-types":"npm run build:proto-types:circuit && npm run build:proto-types:fetch && npm run build:proto-types:identify && npm run build:proto-types:plaintext && npm run build:proto-types:address-book && npm run build:proto-types:proto-book && npm run build:proto-types:peer && npm run build:proto-types:peer-record && npm run build:proto-types:envelope","build:proto-types:circuit":"pbts -o src/circuit/protocol/index.d.ts src/circuit/protocol/index.js","build:proto-types:fetch":"pbts -o src/fetch/proto.d.ts src/fetch/proto.js","build:proto-types:identify":"pbts -o src/identify/message.d.ts src/identify/message.js","build:proto-types:plaintext":"pbts -o src/insecure/proto.d.ts src/insecure/proto.js","build:proto-types:peer":"pbts -o src/peer-store/pb/peer.d.ts src/peer-store/pb/peer.js","build:proto-types:peer-record":"pbts -o src/record/peer-record/peer-record.d.ts src/record/peer-record/peer-record.js","build:proto-types:envelope":"pbts -o src/record/envelope/envelope.d.ts src/record/envelope/envelope.js",test:"aegir test","test:ts":"aegir build --no-bundle && npm run test --prefix test/ts-use","test:node":'aegir test -t node -f "./test/**/*.{node,spec}.js"',"test:browser":"aegir test -t browser","test:examples":"cd examples && npm run test:all","test:interop":"LIBP2P_JS=$PWD npx aegir test -t node -f ./node_modules/libp2p-interop/test/*",prepare:"npm run build",coverage:"nyc --reporter=text --reporter=lcov npm run test:node"},repository:{type:"git",url:"https://github.com/libp2p/js-libp2p.git"},keywords:["libp2p","network","p2p","peer","peer-to-peer","IPFS"],bugs:{url:"https://github.com/libp2p/js-libp2p/issues"},homepage:"https://libp2p.io",license:"MIT",engines:{node:">=15.0.0"},browser:{"nat-api":!1},eslintConfig:{extends:"ipfs",ignorePatterns:["!.aegir.js","test/ts-use","*.d.ts"]},dependencies:{"@vascosantos/moving-average":"^1.1.0","abortable-iterator":"^3.0.0","aggregate-error":"^3.1.0","any-signal":"^3.0.0","bignumber.js":"^9.0.1","class-is":"^1.1.0","datastore-core":"^7.0.0",debug:"^4.3.1","err-code":"^3.0.0","es6-promisify":"^7.0.0",events:"^3.3.0",hashlru:"^2.3.0","interface-datastore":"^6.0.2","it-all":"^1.0.4","it-buffer":"^0.1.2","it-drain":"^1.0.3","it-filter":"^1.0.1","it-first":"^1.0.4","it-foreach":"^0.1.1","it-handshake":"^2.0.0","it-length-prefixed":"^5.0.2","it-map":"^1.0.4","it-merge":"^1.0.0","it-pipe":"^1.1.0","it-sort":"^1.0.1","it-take":"^1.0.0","libp2p-crypto":"^0.21.2","libp2p-interfaces":"^4.0.0","libp2p-utils":"^0.4.0",mafmt:"^10.0.0","merge-options":"^3.0.4",mortice:"^2.0.1",multiaddr:"^10.0.0",multiformats:"^9.0.0","multistream-select":"^3.0.0","mutable-proxy":"^1.0.0","nat-api":"^0.3.1","node-forge":"^1.2.1","p-any":"^3.0.0","p-fifo":"^1.0.0","p-retry":"^4.4.0","p-settle":"^4.1.1","peer-id":"^0.16.0","private-ip":"^2.1.0",protobufjs:"^6.10.2",retimer:"^3.0.0","sanitize-filename":"^1.6.3","set-delayed-interval":"^1.0.0","streaming-iterables":"^6.0.0","timeout-abort-controller":"^3.0.0",uint8arrays:"^3.0.0",varint:"^6.0.0",wherearewe:"^1.0.0",xsalsa20:"^1.1.0"},devDependencies:{"@chainsafe/libp2p-noise":"^5.0.0","@nodeutils/defaults-deep":"^1.1.0","@types/es6-promisify":"^6.0.0","@types/node":"^16.0.1","@types/node-forge":"^1.0.0","@types/varint":"^6.0.0",aegir:"^36.0.0",buffer:"^6.0.3",delay:"^5.0.0","into-stream":"^6.0.0","ipfs-http-client":"^54.0.2","it-concat":"^2.0.0","it-pair":"^1.0.0","it-pushable":"^1.4.0",libp2p:".","libp2p-bootstrap":"^0.14.0","libp2p-delegated-content-routing":"^0.11.0","libp2p-delegated-peer-routing":"^0.11.1","libp2p-interfaces-compliance-tests":"^4.0.8","libp2p-interop":"^0.7.1","libp2p-kad-dht":"^0.28.6","libp2p-mdns":"^0.18.0","libp2p-mplex":"^0.10.4","libp2p-tcp":"^0.17.0","libp2p-webrtc-star":"^0.25.0","libp2p-websockets":"^0.16.0",nock:"^13.0.3","p-defer":"^3.0.0","p-times":"^3.0.0","p-wait-for":"^3.2.0",rimraf:"^3.0.2",sinon:"^12.0.1",util:"^0.12.3"},contributors:["Vasco Santos <vasco.santos@moxy.studio>","David Dias <daviddias.p@gmail.com>","Jacob Heun <jacobheun@gmail.com>","Alex Potsides <alex@achingbrain.net>","Alan Shaw <alan@tableflip.io>","Cayman <caymannava@gmail.com>","Pedro Teixeira <i@pgte.me>","Friedel Ziegelmayer <dignifiedquire@gmail.com>","Maciej Kr\xFCger <mkg20001@gmail.com>","Hugo Dias <mail@hugodias.me>","dirkmc <dirkmdev@gmail.com>","Volker Mische <volker.mische@gmail.com>","Chris Dostert <chrisdostert@users.noreply.github.com>","zeim839 <50573884+zeim839@users.noreply.github.com>","Robert Kiel <robert.kiel@hoprnet.org>","Richard Littauer <richard.littauer@gmail.com>","a1300 <matthias-knopp@gmx.net>","Ryan Bell <ryan@piing.net>","\u1D20\u026A\u1D04\u1D1B\u1D0F\u0280 \u0299\u1D0A\u1D07\u029F\u1D0B\u029C\u1D0F\u029F\u1D0D <victorbjelkholm@gmail.com>","Andrew Nesbitt <andrewnez@gmail.com>","Franck Royer <franck@royer.one>","Thomas Eizinger <thomas@eizinger.io>","V\xEDt Habada <vithabada93@gmail.com>","Giovanni T. Parra <fiatjaf@gmail.com>","acolytec3 <17355484+acolytec3@users.noreply.github.com>","Alan Smithee <ggnore.alan.smithee@gmail.com>","Elven <mon.samuel@qq.com>","Samlior <samlior@foxmail.com>","Didrik Nordstr\xF6m <didrik.nordstrom@gmail.com>","Aditya Bose <13054902+adbose@users.noreply.github.com>","TJKoury <TJKoury@gmail.com>","TheStarBoys <41286328+TheStarBoys@users.noreply.github.com>","Tiago Alves <alvesjtiago@gmail.com>","Tim Daubensch\xFCtz <tim@daubenschuetz.de>","XiaoZhang <zxinmyth@gmail.com>","Yusef Napora <yusef@napora.org>","Zane Starr <zcstarr@gmail.com>","ebinks <elizabethjbinks@gmail.com>","greenSnot <greenSnot@users.noreply.github.com>","isan_rivkin <isanrivkin@gmail.com>","mayerwin <mayerwin@users.noreply.github.com>","mcclure <andi.m.mcclure@gmail.com>","patrickwoodhead <91056047+patrickwoodhead@users.noreply.github.com>","phillmac <phillmac@users.noreply.github.com>","robertkiel <robert.kiel@validitylabs.org>","shresthagrawal <34920931+shresthagrawal@users.noreply.github.com>","swedneck <40505480+swedneck@users.noreply.github.com>","tuyennhv <vutuyen2636@gmail.com>","S\xF6nke Hahn <soenkehahn@gmail.com>","Aleksei <vozhdb@gmail.com>","Bernd Strehl <bernd.strehl@gmail.com>","Chris Bratlien <chrisbratlien@gmail.com>","Cindy Wu <ciindy.wu@gmail.com>","Daijiro Wachi <daijiro.wachi@gmail.com>","Diogo Silva <fsdiogo@gmail.com>","Dmitriy Ryajov <dryajov@gmail.com>","Ethan Lam <elmemphis2000@gmail.com>","Fei Liu <liu.feiwood@gmail.com>","Felipe Martins <felipebrasil93@gmail.com>","Florian-Merle <florian.david.merle@gmail.com>","Francis Gulotta <wizard@roborooter.com>","Guy Sviry <32539816+guysv@users.noreply.github.com>","Henrique Dias <hacdias@gmail.com>","Irakli Gozalishvili <rfobic@gmail.com>","Joel Gustafson <joelg@mit.edu>","John Rees <johnrees@users.noreply.github.com>","Jo\xE3o Santos <joaosantos15@users.noreply.github.com>","Julien Bouquillon <contact@revolunet.com>","Kevin Kwok <antimatter15@gmail.com>","Kevin Lacker <lacker@gmail.com>","Lars Gierth <lgierth@users.noreply.github.com>","Leask Wong <i@leaskh.com>","Marcin Tojek <mtojek@users.noreply.github.com>","Marston Connell <34043723+TheMarstonConnell@users.noreply.github.com>","Michael Burns <5170+mburns@users.noreply.github.com>","Miguel Mota <miguelmota2@gmail.com>","Nuno Nogueira <nunofmn@gmail.com>","Philipp Muens <raute1337@gmx.de>","RasmusErik Voel Jensen <github@solsort.com>","Smite Chow <xiaopengyou@live.com>","Soeren <nikorpoulsen@gmail.com>"]}});var vd=w((vF,cn)=>{"use strict";var f3=md().version;cn.exports.PROTOCOL_VERSION="ipfs/0.1.0";cn.exports.AGENT_VERSION=`js-libp2p/${f3}`;cn.exports.MULTICODEC_IDENTIFY="/ipfs/id/1.0.0";cn.exports.MULTICODEC_IDENTIFY_PUSH="/ipfs/id/push/1.0.0";cn.exports.IDENTIFY_PROTOCOL_VERSION="0.1.0";cn.exports.MULTICODEC_IDENTIFY_PROTOCOL_NAME="id";cn.exports.MULTICODEC_IDENTIFY_PUSH_PROTOCOL_NAME="id/push";cn.exports.MULTICODEC_IDENTIFY_PROTOCOL_VERSION="1.0.0";cn.exports.MULTICODEC_IDENTIFY_PUSH_PROTOCOL_VERSION="1.0.0"});var uu=w((bF,xb)=>{"use strict";var Sb=60*1e3;xb.exports={ADVERTISE_BOOT_DELAY:15*Sb,ADVERTISE_TTL:30*Sb,CIRCUIT_PROTO_CODE:290,HOP_METADATA_KEY:"hop_relay",HOP_METADATA_VALUE:"true",RELAY_RENDEZVOUS_NS:"/libp2p/relay"}});var Ab=w(_a=>{(function(){var t,e,r,n,i,s,o,a;a=function(c){var u,l,f,d;return u=(c&255<<24)>>>24,l=(c&255<<16)>>>16,f=(c&255<<8)>>>8,d=c&255,[u,l,f,d].join(".")},o=function(c){var u,l,f,d,p,h;for(u=[],f=d=0;d<=3&&c.length!==0;f=++d){if(f>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}h=e(c),p=h[0],l=h[1],c=c.substring(l),u.push(p)}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")}},r=function(c){return c.charCodeAt(0)},n=r("0"),s=r("a"),i=r("A"),e=function(c){var u,l,f,d,p;for(d=0,u=10,l="9",f=0,c.length>1&&c[f]==="0"&&(c[f+1]==="x"||c[f+1]==="X"?(f+=2,u=16):"0"<=c[f+1]&&c[f+1]<="9"&&(f++,u=8,l="7")),p=f;f<c.length;){if("0"<=c[f]&&c[f]<=l)d=d*u+(r(c[f])-n)>>>0;else if(u===16)if("a"<=c[f]&&c[f]<="f")d=d*u+(10+r(c[f])-s)>>>0;else if("A"<=c[f]&&c[f]<="F")d=d*u+(10+r(c[f])-i)>>>0;else break;else break;if(d>4294967295)throw new Error("too large");f++}if(f===p)throw new Error("empty octet");return[d,f]},t=function(){function c(u,l){var f,d,p,h;if(typeof u!="string")throw new Error("Missing `net' parameter");if(l||(h=u.split("/",2),u=h[0],l=h[1]),l||(l=32),typeof l=="string"&&l.indexOf(".")>-1){try{this.maskLong=o(l)}catch(g){throw f=g,new Error("Invalid mask: "+l)}for(d=p=32;p>=0;d=--p)if(this.maskLong===4294967295<<32-d>>>0){this.bitmask=d;break}}else if(l||l===0)this.bitmask=parseInt(l,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(o(u)&this.maskLong)>>>0}catch(g){throw f=g,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+l);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):(o(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 l,f,d;for(d=o(this.first),f=o(this.last),l=0;d<=f;)u(a(d),d,l),l++,d++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),_a.ip2long=o,_a.long2ip=a,_a.Netmask=t}).call(_a)});var Ib=w((Cb,lu)=>{(function(t){"use strict";let e="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${e}\\.${e}\\.${e}\\.${e}$`,"i"),threeOctet:new RegExp(`^${e}\\.${e}\\.${e}$`,"i"),twoOctet:new RegExp(`^${e}\\.${e}$`,"i"),longValue:new RegExp(`^${e}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),s="%[0-9a-z]{1,}",o="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(s,"i"),native:new RegExp(`^(::)?(${o})?([0-9a-f]+)?(::)?(${s})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${e}\\.${e}\\.${e}\\.${e}(${s})?)$`,"i"),transitional:new RegExp(`^((?:${o})|(?:::)(?:${o})?)${e}\\.${e}\\.${e}\\.${e}(${s})?$`,"i")};function c(p,h){if(p.indexOf("::")!==p.lastIndexOf("::"))return null;let g=0,m=-1,S=(p.match(a.zoneIndex)||[])[0],R,L;for(S&&(S=S.substring(1),p=p.replace(/%.+$/,""));(m=p.indexOf(":",m+1))>=0;)g++;if(p.substr(0,2)==="::"&&g--,p.substr(-2,2)==="::"&&g--,g>h)return null;for(L=h-g,R=":";L--;)R+="0:";return p=p.replace("::",R),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),h=function(){let H=p.split(":"),q=[];for(let k=0;k<H.length;k++)q.push(parseInt(H[k],16));return q}(),{parts:h,zoneId:S}}function u(p,h,g,m){if(p.length!==h.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let S=0,R;for(;m>0;){if(R=g-m,R<0&&(R=0),p[S]>>R!=h[S]>>R)return!1;m-=g,S+=1}return!0}function l(p){if(i.test(p))return parseInt(p,16);if(p[0]==="0"&&!isNaN(parseInt(p[1],10))){if(n.test(p))return parseInt(p,8);throw new Error(`ipaddr: cannot parse ${p} as octal`)}return parseInt(p,10)}function f(p,h){for(;p.length<h;)p=`0${p}`;return p}let d={};d.IPv4=function(){function p(h){if(h.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let g,m;for(g=0;g<h.length;g++)if(m=h[g],!(0<=m&&m<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=h}return p.prototype.SpecialRanges={unspecified:[[new p([0,0,0,0]),8]],broadcast:[[new p([255,255,255,255]),32]],multicast:[[new p([224,0,0,0]),4]],linkLocal:[[new p([169,254,0,0]),16]],loopback:[[new p([127,0,0,0]),8]],carrierGradeNat:[[new p([100,64,0,0]),10]],private:[[new p([10,0,0,0]),8],[new p([172,16,0,0]),12],[new p([192,168,0,0]),16]],reserved:[[new p([192,0,0,0]),24],[new p([192,0,2,0]),24],[new p([192,88,99,0]),24],[new p([198,51,100,0]),24],[new p([203,0,113,0]),24],[new p([240,0,0,0]),4]]},p.prototype.kind=function(){return"ipv4"},p.prototype.match=function(h,g){let m;if(g===void 0&&(m=h,h=m[0],g=m[1]),h.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,h.octets,8,g)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,g=!1,m={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},S,R,L;for(S=3;S>=0;S-=1)if(R=this.octets[S],R in m){if(L=m[R],g&&L!==0)return null;L!==8&&(g=!0),h+=L}else return null;return 32-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){return this.octets.slice(0)},p.prototype.toIPv4MappedAddress=function(){return d.IPv6.parse(`::ffff:${this.toString()}`)},p.prototype.toNormalizedString=function(){return this.toString()},p.prototype.toString=function(){return this.octets.join(".")},p}(),d.IPv4.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),g=h[0].toByteArray(),m=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),S=[],R=0;for(;R<4;)S.push(parseInt(g[R],10)|parseInt(m[R],10)^255),R++;return new this(S)}catch(h){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.isIPv4=function(p){return this.parser(p)!==null},d.IPv4.isValid=function(p){try{return new this(this.parser(p)),!0}catch(h){return!1}},d.IPv4.isValidFourPartDecimal=function(p){return!!(d.IPv4.isValid(p)&&p.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},d.IPv4.networkAddressFromCIDR=function(p){let h,g,m,S,R;try{for(h=this.parseCIDR(p),m=h[0].toByteArray(),R=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),S=[],g=0;g<4;)S.push(parseInt(m[g],10)&parseInt(R[g],10)),g++;return new this(S)}catch(L){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.parse=function(p){let h=this.parser(p);if(h===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(h)},d.IPv4.parseCIDR=function(p){let h;if(h=p.match(/^(.+)\/(\d+)$/)){let g=parseInt(h[2]);if(g>=0&&g<=32){let m=[this.parse(h[1]),g];return Object.defineProperty(m,"toString",{value:function(){return this.join("/")}}),m}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(p){let h,g,m;if(h=p.match(r.fourOctet))return function(){let S=h.slice(1,6),R=[];for(let L=0;L<S.length;L++)g=S[L],R.push(l(g));return R}();if(h=p.match(r.longValue)){if(m=l(h[1]),m>4294967295||m<0)throw new Error("ipaddr: address outside defined range");return function(){let S=[],R;for(R=0;R<=24;R+=8)S.push(m>>R&255);return S}().reverse()}else return(h=p.match(r.twoOctet))?function(){let S=h.slice(1,4),R=[];if(m=l(S[1]),m>16777215||m<0)throw new Error("ipaddr: address outside defined range");return R.push(l(S[0])),R.push(m>>16&255),R.push(m>>8&255),R.push(m&255),R}():(h=p.match(r.threeOctet))?function(){let S=h.slice(1,5),R=[];if(m=l(S[2]),m>65535||m<0)throw new Error("ipaddr: address outside defined range");return R.push(l(S[0])),R.push(l(S[1])),R.push(m>>8&255),R.push(m&255),R}():null},d.IPv4.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>32)throw new Error("ipaddr: invalid IPv4 prefix length");let h=[0,0,0,0],g=0,m=Math.floor(p/8);for(;g<m;)h[g]=255,g++;return m<4&&(h[m]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.IPv6=function(){function p(h,g){let m,S;if(h.length===16)for(this.parts=[],m=0;m<=14;m+=2)this.parts.push(h[m]<<8|h[m+1]);else if(h.length===8)this.parts=h;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(m=0;m<this.parts.length;m++)if(S=this.parts[m],!(0<=S&&S<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");g&&(this.zoneId=g)}return p.prototype.SpecialRanges={unspecified:[new p([0,0,0,0,0,0,0,0]),128],linkLocal:[new p([65152,0,0,0,0,0,0,0]),10],multicast:[new p([65280,0,0,0,0,0,0,0]),8],loopback:[new p([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new p([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new p([0,0,0,0,0,65535,0,0]),96],rfc6145:[new p([0,0,0,0,65535,0,0,0]),96],rfc6052:[new p([100,65435,0,0,0,0,0,0]),96],"6to4":[new p([8194,0,0,0,0,0,0,0]),16],teredo:[new p([8193,0,0,0,0,0,0,0]),32],reserved:[[new p([8193,3512,0,0,0,0,0,0]),32]]},p.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},p.prototype.kind=function(){return"ipv6"},p.prototype.match=function(h,g){let m;if(g===void 0&&(m=h,h=m[0],g=m[1]),h.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,h.parts,16,g)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,g=!1,m={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},S,R;for(let L=7;L>=0;L-=1)if(S=this.parts[L],S in m){if(R=m[S],g&&R!==0)return null;R!==16&&(g=!0),h+=R}else return null;return 128-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){let h,g=[],m=this.parts;for(let S=0;S<m.length;S++)h=m[S],g.push(h>>8),g.push(h&255);return g},p.prototype.toFixedLengthString=function(){let h=function(){let m=[];for(let S=0;S<this.parts.length;S++)m.push(f(this.parts[S].toString(16),4));return m}.call(this).join(":"),g="";return this.zoneId&&(g=`%${this.zoneId}`),h+g},p.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let h=this.parts.slice(-2),g=h[0],m=h[1];return new d.IPv4([g>>8,g&255,m>>8,m&255])},p.prototype.toNormalizedString=function(){let h=function(){let m=[];for(let S=0;S<this.parts.length;S++)m.push(this.parts[S].toString(16));return m}.call(this).join(":"),g="";return this.zoneId&&(g=`%${this.zoneId}`),h+g},p.prototype.toRFC5952String=function(){let h=/((^|:)(0(:|$)){2,})/g,g=this.toNormalizedString(),m=0,S=-1,R;for(;R=h.exec(g);)R[0].length>S&&(m=R.index,S=R[0].length);return S<0?g:`${g.substring(0,m)}::${g.substring(m+S)}`},p.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},p}(),d.IPv6.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),g=h[0].toByteArray(),m=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),S=[],R=0;for(;R<16;)S.push(parseInt(g[R],10)|parseInt(m[R],10)^255),R++;return new this(S)}catch(h){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${h})`)}},d.IPv6.isIPv6=function(p){return this.parser(p)!==null},d.IPv6.isValid=function(p){if(typeof p=="string"&&p.indexOf(":")===-1)return!1;try{let h=this.parser(p);return new this(h.parts,h.zoneId),!0}catch(h){return!1}},d.IPv6.networkAddressFromCIDR=function(p){let h,g,m,S,R;try{for(h=this.parseCIDR(p),m=h[0].toByteArray(),R=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),S=[],g=0;g<16;)S.push(parseInt(m[g],10)&parseInt(R[g],10)),g++;return new this(S)}catch(L){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${L})`)}},d.IPv6.parse=function(p){let h=this.parser(p);if(h.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(h.parts,h.zoneId)},d.IPv6.parseCIDR=function(p){let h,g,m;if((g=p.match(/^(.+)\/(\d+)$/))&&(h=parseInt(g[2]),h>=0&&h<=128))return m=[this.parse(g[1]),h],Object.defineProperty(m,"toString",{value:function(){return this.join("/")}}),m;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},d.IPv6.parser=function(p){let h,g,m,S,R,L;if(m=p.match(a.deprecatedTransitional))return this.parser(`::ffff:${m[1]}`);if(a.native.test(p))return c(p,8);if((m=p.match(a.transitional))&&(L=m[6]||"",h=c(m[1].slice(0,-1)+L,6),h.parts)){for(R=[parseInt(m[2]),parseInt(m[3]),parseInt(m[4]),parseInt(m[5])],g=0;g<R.length;g++)if(S=R[g],!(0<=S&&S<=255))return null;return h.parts.push(R[0]<<8|R[1]),h.parts.push(R[2]<<8|R[3]),{parts:h.parts,zoneId:h.zoneId}}return null},d.IPv6.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>128)throw new Error("ipaddr: invalid IPv6 prefix length");let h=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],g=0,m=Math.floor(p/8);for(;g<m;)h[g]=255,g++;return m<16&&(h[m]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.fromByteArray=function(p){let h=p.length;if(h===4)return new d.IPv4(p);if(h===16)return new d.IPv6(p);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},d.isValid=function(p){return d.IPv6.isValid(p)||d.IPv4.isValid(p)},d.parse=function(p){if(d.IPv6.isValid(p))return d.IPv6.parse(p);if(d.IPv4.isValid(p))return d.IPv4.parse(p);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},d.parseCIDR=function(p){try{return d.IPv6.parseCIDR(p)}catch(h){try{return d.IPv4.parseCIDR(p)}catch(g){throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},d.process=function(p){let h=this.parse(p);return h.kind()==="ipv6"&&h.isIPv4MappedAddress()?h.toIPv4Address():h},d.subnetMatch=function(p,h,g){let m,S,R,L;g==null&&(g="unicast");for(S in h)if(Object.prototype.hasOwnProperty.call(h,S)){for(R=h[S],R[0]&&!(R[0]instanceof Array)&&(R=[R]),m=0;m<R.length;m++)if(L=R[m],p.kind()===L[0].kind()&&p.match.apply(p,L))return S}return g},typeof lu!="undefined"&&lu.exports?lu.exports=d:t.ipaddr=d})(Cb)});var Pb=w(Sa=>{"use strict";var Tb=Sa&&Sa.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Sa,"__esModule",{value:!0});var d3=Ab(),h3=Tb(kf()),p3=Tb(Uf()),Rb=Ib(),y3=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],g3=y3.map(t=>new d3.Netmask(t));function m3(t){for(let e of g3)if(e.contains(t))return!0;return!1}function Bb(t){return/^::$/.test(t)||/^::1$/.test(t)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}Sa.default=t=>{if(Rb.isValid(t)){let e=Rb.parse(t);if(e.kind()==="ipv4")return m3(e.toNormalizedString());if(e.kind()==="ipv6")return Bb(t)}else if(p3.default(t)&&h3.default.v6().test(t))return Bb(t)}});var bd=w((_F,Nb)=>{"use strict";Nb.exports=Pb().default});var Db=w((SF,Ob)=>{"use strict";var v3=bd();function b3(t){let{address:e}=t.nodeAddress();return v3(e)}Ob.exports=b3});var Ed=w((xF,kb)=>{"use strict";var Lb=Db();function E3(t,e){let r=Lb(t.multiaddr),n=Lb(e.multiaddr);return r&&!n?1:!r&&n||t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}function w3(t){return[...t].sort(E3)}kb.exports.publicAddressesFirst=w3});var Ub=w((AF,wd)=>{"use strict";var qb=async t=>{try{let e=await t;return{isFulfilled:!0,isRejected:!1,value:e}}catch(e){return{isFulfilled:!1,isRejected:!0,reason:e}}};wd.exports=qb;wd.exports.default=qb});var Fb=w((CF,_d)=>{"use strict";var Mb=(t,...e)=>new Promise(r=>{r(t(...e))});_d.exports=Mb;_d.exports.default=Mb});var Vb=w((IF,Sd)=>{"use strict";var _3=Fb(),Kb=t=>{if(!((Number.isInteger(t)||t===1/0)&&t>0))return Promise.reject(new TypeError("Expected `concurrency` to be a number from 1 and up"));let e=[],r=0,n=()=>{r--,e.length>0&&e.shift()()},i=(a,c,...u)=>{r++;let l=_3(a,...u);c(l),l.then(n,n)},s=(a,c,...u)=>{r<t?i(a,c,...u):e.push(i.bind(null,a,c,...u))},o=(a,...c)=>new Promise(u=>s(a,u,...c));return Object.defineProperties(o,{activeCount:{get:()=>r},pendingCount:{get:()=>e.length},clearQueue:{value:()=>{e.length=0}}}),o};Sd.exports=Kb;Sd.exports.default=Kb});var $b=w((TF,jb)=>{"use strict";var xd=Ub(),S3=Vb();jb.exports=async(t,e={})=>{let{concurrency:r=1/0}=e,n=S3(r);return Promise.all(t.map(i=>i&&typeof i.then=="function"?xd(i):xd(typeof i=="function"?n(()=>i()):Promise.resolve(i))))}});var Gb=w((RF,zb)=>{"use strict";var Gs=gn(),Hb=Gs.Reader,x3=Gs.Writer,Je=Gs.util,xa=Gs.roots["libp2p-envelope"]||(Gs.roots["libp2p-envelope"]={});xa.Envelope=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.publicKey=Je.newBuffer([]),t.prototype.payloadType=Je.newBuffer([]),t.prototype.payload=Je.newBuffer([]),t.prototype.signature=Je.newBuffer([]),t.encode=function(r,n){return n||(n=x3.create()),r.publicKey!=null&&Object.hasOwnProperty.call(r,"publicKey")&&n.uint32(10).bytes(r.publicKey),r.payloadType!=null&&Object.hasOwnProperty.call(r,"payloadType")&&n.uint32(18).bytes(r.payloadType),r.payload!=null&&Object.hasOwnProperty.call(r,"payload")&&n.uint32(26).bytes(r.payload),r.signature!=null&&Object.hasOwnProperty.call(r,"signature")&&n.uint32(42).bytes(r.signature),n},t.decode=function(r,n){r instanceof Hb||(r=Hb.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new xa.Envelope;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.publicKey=r.bytes();break;case 2:s.payloadType=r.bytes();break;case 3:s.payload=r.bytes();break;case 5:s.signature=r.bytes();break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof xa.Envelope)return r;var n=new xa.Envelope;return r.publicKey!=null&&(typeof r.publicKey=="string"?Je.base64.decode(r.publicKey,n.publicKey=Je.newBuffer(Je.base64.length(r.publicKey)),0):r.publicKey.length&&(n.publicKey=r.publicKey)),r.payloadType!=null&&(typeof r.payloadType=="string"?Je.base64.decode(r.payloadType,n.payloadType=Je.newBuffer(Je.base64.length(r.payloadType)),0):r.payloadType.length&&(n.payloadType=r.payloadType)),r.payload!=null&&(typeof r.payload=="string"?Je.base64.decode(r.payload,n.payload=Je.newBuffer(Je.base64.length(r.payload)),0):r.payload.length&&(n.payload=r.payload)),r.signature!=null&&(typeof r.signature=="string"?Je.base64.decode(r.signature,n.signature=Je.newBuffer(Je.base64.length(r.signature)),0):r.signature.length&&(n.signature=r.signature)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(n.bytes===String?i.publicKey="":(i.publicKey=[],n.bytes!==Array&&(i.publicKey=Je.newBuffer(i.publicKey))),n.bytes===String?i.payloadType="":(i.payloadType=[],n.bytes!==Array&&(i.payloadType=Je.newBuffer(i.payloadType))),n.bytes===String?i.payload="":(i.payload=[],n.bytes!==Array&&(i.payload=Je.newBuffer(i.payload))),n.bytes===String?i.signature="":(i.signature=[],n.bytes!==Array&&(i.signature=Je.newBuffer(i.signature)))),r.publicKey!=null&&r.hasOwnProperty("publicKey")&&(i.publicKey=n.bytes===String?Je.base64.encode(r.publicKey,0,r.publicKey.length):n.bytes===Array?Array.prototype.slice.call(r.publicKey):r.publicKey),r.payloadType!=null&&r.hasOwnProperty("payloadType")&&(i.payloadType=n.bytes===String?Je.base64.encode(r.payloadType,0,r.payloadType.length):n.bytes===Array?Array.prototype.slice.call(r.payloadType):r.payloadType),r.payload!=null&&r.hasOwnProperty("payload")&&(i.payload=n.bytes===String?Je.base64.encode(r.payload,0,r.payload.length):n.bytes===Array?Array.prototype.slice.call(r.payload):r.payload),r.signature!=null&&r.hasOwnProperty("signature")&&(i.signature=n.bytes===String?Je.base64.encode(r.signature,0,r.signature.length):n.bytes===Array?Array.prototype.slice.call(r.signature):r.signature),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,Gs.util.toJSONOptions)},t}();zb.exports=xa});var du=w((BF,Qb)=>{"use strict";var A3=de(),{concat:C3}=(Yn(),Wn),{fromString:I3}=(It(),Nt),T3=jc(),R3=Rt(),Ad=Ui(),{equals:fu}=(mr(),gr),{codes:B3}=je(),{Envelope:Wb}=Gb(),ii=class{constructor({peerId:e,payloadType:r,payload:n,signature:i}){this.peerId=e,this.payloadType=r,this.payload=n,this.signature=i,this._marshal=void 0}marshal(){if(this._marshal)return this._marshal;let e=T3.marshalPublicKey(this.peerId.pubKey);return this._marshal=Wb.encode({publicKey:e,payloadType:this.payloadType,payload:this.payload,signature:this.signature}).finish(),this._marshal}equals(e){return fu(this.peerId.pubKey.bytes,e.peerId.pubKey.bytes)&&fu(this.payloadType,e.payloadType)&&fu(this.payload,e.payload)&&fu(this.signature,e.signature)}validate(e){let r=Yb(e,this.payloadType,this.payload);return this.peerId.pubKey.verify(r,this.signature)}},Yb=(t,e,r)=>{let n=I3(t),i=Ad.encode(n.byteLength),s=Ad.encode(e.length),o=Ad.encode(r.length);return C3([new Uint8Array(i),n,new Uint8Array(s),e,new Uint8Array(o),r])};ii.createFromProtobuf=async t=>{let e=Wb.decode(t),r=await R3.createFromPubKey(e.publicKey);return new ii({peerId:r,payloadType:e.payloadType,payload:e.payload,signature:e.signature})};ii.seal=async(t,e)=>{let r=t.domain,n=t.codec,i=t.marshal(),s=Yb(r,n,i),o=await e.privKey.sign(s);return new ii({peerId:e,payloadType:n,payload:i,signature:o})};ii.openAndCertify=async(t,e)=>{let r=await ii.createFromProtobuf(t);if(!await r.validate(e))throw A3(new Error("envelope signature is not valid for the given domain"),B3.ERR_SIGNATURE_NOT_VALID);return r};Qb.exports=ii});var Zb=w((PF,Xb)=>{"use strict";function P3(t,e){return t.length===e.length&&e.sort()&&t.sort().every((r,n)=>e[n].equals(r))}Xb.exports=P3});var tE=w((NF,eE)=>{"use strict";var $i=gn(),hu=$i.Reader,Jb=$i.Writer,lt=$i.util,xr=$i.roots["libp2p-peer-record"]||($i.roots["libp2p-peer-record"]={});xr.PeerRecord=function(){function t(e){if(this.addresses=[],e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.peerId=lt.newBuffer([]),t.prototype.seq=lt.Long?lt.Long.fromBits(0,0,!0):0,t.prototype.addresses=lt.emptyArray,t.encode=function(r,n){if(n||(n=Jb.create()),r.peerId!=null&&Object.hasOwnProperty.call(r,"peerId")&&n.uint32(10).bytes(r.peerId),r.seq!=null&&Object.hasOwnProperty.call(r,"seq")&&n.uint32(16).uint64(r.seq),r.addresses!=null&&r.addresses.length)for(var i=0;i<r.addresses.length;++i)xr.PeerRecord.AddressInfo.encode(r.addresses[i],n.uint32(26).fork()).ldelim();return n},t.decode=function(r,n){r instanceof hu||(r=hu.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new xr.PeerRecord;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.peerId=r.bytes();break;case 2:s.seq=r.uint64();break;case 3:s.addresses&&s.addresses.length||(s.addresses=[]),s.addresses.push(xr.PeerRecord.AddressInfo.decode(r,r.uint32()));break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof xr.PeerRecord)return r;var n=new xr.PeerRecord;if(r.peerId!=null&&(typeof r.peerId=="string"?lt.base64.decode(r.peerId,n.peerId=lt.newBuffer(lt.base64.length(r.peerId)),0):r.peerId.length&&(n.peerId=r.peerId)),r.seq!=null&&(lt.Long?(n.seq=lt.Long.fromValue(r.seq)).unsigned=!0:typeof r.seq=="string"?n.seq=parseInt(r.seq,10):typeof r.seq=="number"?n.seq=r.seq:typeof r.seq=="object"&&(n.seq=new lt.LongBits(r.seq.low>>>0,r.seq.high>>>0).toNumber(!0))),r.addresses){if(!Array.isArray(r.addresses))throw TypeError(".PeerRecord.addresses: array expected");n.addresses=[];for(var i=0;i<r.addresses.length;++i){if(typeof r.addresses[i]!="object")throw TypeError(".PeerRecord.addresses: object expected");n.addresses[i]=xr.PeerRecord.AddressInfo.fromObject(r.addresses[i])}}return n},t.toObject=function(r,n){n||(n={});var i={};if((n.arrays||n.defaults)&&(i.addresses=[]),n.defaults)if(n.bytes===String?i.peerId="":(i.peerId=[],n.bytes!==Array&&(i.peerId=lt.newBuffer(i.peerId))),lt.Long){var s=new lt.Long(0,0,!0);i.seq=n.longs===String?s.toString():n.longs===Number?s.toNumber():s}else i.seq=n.longs===String?"0":0;if(r.peerId!=null&&r.hasOwnProperty("peerId")&&(i.peerId=n.bytes===String?lt.base64.encode(r.peerId,0,r.peerId.length):n.bytes===Array?Array.prototype.slice.call(r.peerId):r.peerId),r.seq!=null&&r.hasOwnProperty("seq")&&(typeof r.seq=="number"?i.seq=n.longs===String?String(r.seq):r.seq:i.seq=n.longs===String?lt.Long.prototype.toString.call(r.seq):n.longs===Number?new lt.LongBits(r.seq.low>>>0,r.seq.high>>>0).toNumber(!0):r.seq),r.addresses&&r.addresses.length){i.addresses=[];for(var o=0;o<r.addresses.length;++o)i.addresses[o]=xr.PeerRecord.AddressInfo.toObject(r.addresses[o],n)}return i},t.prototype.toJSON=function(){return this.constructor.toObject(this,$i.util.toJSONOptions)},t.AddressInfo=function(){function e(r){if(r)for(var n=Object.keys(r),i=0;i<n.length;++i)r[n[i]]!=null&&(this[n[i]]=r[n[i]])}return e.prototype.multiaddr=lt.newBuffer([]),e.encode=function(n,i){return i||(i=Jb.create()),n.multiaddr!=null&&Object.hasOwnProperty.call(n,"multiaddr")&&i.uint32(10).bytes(n.multiaddr),i},e.decode=function(n,i){n instanceof hu||(n=hu.create(n));for(var s=i===void 0?n.len:n.pos+i,o=new xr.PeerRecord.AddressInfo;n.pos<s;){var a=n.uint32();switch(a>>>3){case 1:o.multiaddr=n.bytes();break;default:n.skipType(a&7);break}}return o},e.fromObject=function(n){if(n instanceof xr.PeerRecord.AddressInfo)return n;var i=new xr.PeerRecord.AddressInfo;return n.multiaddr!=null&&(typeof n.multiaddr=="string"?lt.base64.decode(n.multiaddr,i.multiaddr=lt.newBuffer(lt.base64.length(n.multiaddr)),0):n.multiaddr.length&&(i.multiaddr=n.multiaddr)),i},e.toObject=function(n,i){i||(i={});var s={};return i.defaults&&(i.bytes===String?s.multiaddr="":(s.multiaddr=[],i.bytes!==Array&&(s.multiaddr=lt.newBuffer(s.multiaddr)))),n.multiaddr!=null&&n.hasOwnProperty("multiaddr")&&(s.multiaddr=i.bytes===String?lt.base64.encode(n.multiaddr,0,n.multiaddr.length):i.bytes===Array?Array.prototype.slice.call(n.multiaddr):n.multiaddr),s},e.prototype.toJSON=function(){return this.constructor.toObject(this,$i.util.toJSONOptions)},e}(),t}();eE.exports=xr});var nE=w((OF,rE)=>{"use strict";var N3="libp2p-peer-record",O3=Uint8Array.from([3,1]);rE.exports={ENVELOPE_DOMAIN_PEER_RECORD:N3,ENVELOPE_PAYLOAD_TYPE_PEER_RECORD:O3}});var pu=w((DF,oE)=>{"use strict";var{Multiaddr:D3}=qt(),L3=Rt(),k3=Zb(),{PeerRecord:iE}=tE(),{ENVELOPE_DOMAIN_PEER_RECORD:sE,ENVELOPE_PAYLOAD_TYPE_PEER_RECORD:q3}=nE(),Hi=class{constructor({peerId:e,multiaddrs:r=[],seqNumber:n=Date.now()}){this.domain=sE,this.codec=q3,this.peerId=e,this.multiaddrs=r,this.seqNumber=n,this._marshal=void 0}marshal(){return this._marshal?this._marshal:(this._marshal=iE.encode({peerId:this.peerId.toBytes(),seq:this.seqNumber,addresses:this.multiaddrs.map(e=>({multiaddr:e.bytes}))}).finish(),this._marshal)}equals(e){return!(!(e instanceof Hi)||!this.peerId.equals(e.peerId)||this.seqNumber!==e.seqNumber||!k3(this.multiaddrs,e.multiaddrs))}};Hi.createFromProtobuf=t=>{let e=iE.decode(t),r=L3.createFromBytes(e.peerId),n=(e.addresses||[]).map(s=>new D3(s.multiaddr)),i=Number(e.seq);return new Hi({peerId:r,multiaddrs:n,seqNumber:i})};Hi.DOMAIN=sE;oE.exports=Hi});var Cd=w((LF,aE)=>{"use strict";var U3=du(),M3=pu();async function F3(t){let e=new M3({peerId:t.peerId,multiaddrs:t.multiaddrs}),r=await U3.seal(e,t.peerId);await t.peerStore.addressBook.consumePeerRecord(r)}aE.exports.updateSelfPeerRecord=F3});var Td=w((kF,lE)=>{"use strict";var cE=Te(),zi=Object.assign(cE("libp2p:transports"),{error:cE("libp2p:transports:err")}),K3=$b(),{codes:Ws}=je(),Aa=de(),{updateSelfPeerRecord:uE}=Cd(),Id=class{constructor({libp2p:e,upgrader:r,faultTolerance:n=yu.FATAL_ALL}){this.libp2p=e,this.upgrader=r,this._transports=new Map,this._listeners=new Map,this._listenerOptions=new Map,this.faultTolerance=n}add(e,r,n={}){if(zi("adding %s",e),!e)throw Aa(new Error(`Transport must have a valid key, was given '${e}'`),Ws.ERR_INVALID_KEY);if(this._transports.has(e))throw Aa(new Error("There is already a transport with this key"),Ws.ERR_DUPLICATE_TRANSPORT);let i=new r({...n,libp2p:this.libp2p,upgrader:this.upgrader});this._transports.set(e,i),this._listenerOptions.set(e,n.listenerOptions||{}),this._listeners.has(e)||this._listeners.set(e,[])}async close(){let e=[];for(let[r,n]of this._listeners)for(zi("closing listeners for %s",r);n.length;){let i=n.pop();i.removeAllListeners("listening"),i.removeAllListeners("close"),e.push(i.close())}await Promise.all(e),zi("all listeners closed");for(let r of this._listeners.keys())this._listeners.set(r,[])}async dial(e,r){let n=this.transportForMultiaddr(e);if(!n)throw Aa(new Error(`No transport available for address ${String(e)}`),Ws.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,r)}catch(i){throw i.code||(i.code=Ws.ERR_TRANSPORT_DIAL_FAILED),i}}getAddrs(){let e=[];for(let r of this._listeners.values())for(let n of r)e=[...e,...n.getAddrs()];return e}getTransports(){return this._transports.values()}transportForMultiaddr(e){for(let r of this._transports.values())if(r.filter([e]).length)return r;return null}async listen(e){if(!e||e.length===0){zi("no addresses were provided for listening, this node is dial only");return}let r=[];for(let[n,i]of this._transports.entries()){let s=i.filter(e),o=[];for(let u of s){zi("creating listener for %s on %s",n,u);let l=i.createListener(this._listenerOptions.get(n));this._listeners.get(n).push(l),l.on("listening",()=>uE(this.libp2p)),l.on("close",()=>uE(this.libp2p)),o.push(l.listen(u))}if(o.length===0){r.push(n);continue}if(!(await K3(o)).find(u=>u.isFulfilled===!0)&&this.faultTolerance!==yu.NO_FATAL)throw Aa(new Error(`Transport (${n}) could not listen on any available address`),Ws.ERR_NO_VALID_ADDRESSES)}if(r.length===this._transports.size){let n=`no valid addresses were provided for transports [${r}]`;if(this.faultTolerance===yu.FATAL_ALL)throw Aa(new Error(n),Ws.ERR_NO_VALID_ADDRESSES);zi(`libp2p in dial mode only: ${n}`)}}async remove(e){if(zi("removing %s",e),this._listeners.has(e))for(let r of this._listeners.get(e))r.removeAllListeners("listening"),r.removeAllListeners("close"),await r.close();this._transports.delete(e),this._listeners.delete(e)}async removeAll(){let e=[];for(let r of this._transports.keys())e.push(this.remove(r));await Promise.all(e)}},yu={FATAL_ALL:0,NO_FATAL:1};Id.FaultTolerance=yu;lE.exports=Id});var hE=w((qF,dE)=>{"use strict";var V3=Hs(),{dnsaddrResolver:j3}=wb(),Rd=cu(),{AGENT_VERSION:$3}=vd(),fE=uu(),{publicAddressesFirst:H3}=Ed(),{FaultTolerance:z3}=Td(),G3={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{minConnections:25},connectionGater:{},transportManager:{faultTolerance:z3.FATAL_ALL},dialer:{maxParallelDials:Rd.MAX_PARALLEL_DIALS,maxDialsPerPeer:Rd.MAX_PER_PEER_DIALS,dialTimeout:Rd.DIAL_TIMEOUT,resolvers:{dnsaddr:j3},addressSorter:H3},host:{agentVersion:$3},metrics:{enabled:!1},peerStore:{persistence:!1,threshold:5},peerRouting:{refreshManager:{enabled:!0,interval:6e5,bootDelay:1e4}},config:{protocolPrefix:"ipfs",dht:{enabled:!1,kBucketSize:20},nat:{enabled:!0,ttl:7200,keepAlive:!0,gateway:null,externalIp:null,pmp:{enabled:!1}},peerDiscovery:{autoDial:!0},pubsub:{enabled:!0},relay:{enabled:!0,advertise:{bootDelay:fE.ADVERTISE_BOOT_DELAY,enabled:!1,ttl:fE.ADVERTISE_TTL},hop:{enabled:!1,active:!1},autoRelay:{enabled:!1,maxListeners:2}},transport:{}}};dE.exports.validate=t=>{let e=V3(G3,t);if(e.modules.transport.length<1)throw new Error("'options.modules.transport' must contain at least 1 transport");return e}});var gE=w((UF,yE)=>{"use strict";var{EventEmitter:W3}=Qt(),{Multiaddr:Ca}=qt(),Y3=Rt(),pE=class extends W3{constructor(e,{listen:r=[],announce:n=[]}={}){super();this.peerId=e,this.listen=new Set(r.map(i=>i.toString())),this.announce=new Set(n.map(i=>i.toString())),this.observed=new Set}getListenAddrs(){return Array.from(this.listen).map(e=>new Ca(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>new Ca(e))}getObservedAddrs(){return Array.from(this.observed).map(e=>new Ca(e))}addObservedAddr(e){let r=new Ca(e),n=r.getPeerId();n&&Y3.createFromB58String(n).equals(this.peerId)&&(r=r.decapsulate(new Ca(`/p2p/${this.peerId}`)));let i=r.toString();this.observed.has(i)||(this.observed.add(i),this.emit("change:addresses"))}};yE.exports=pE});var bE=w((MF,vE)=>{"use strict";var{EventEmitter:Q3}=Qt(),Bd=Te()("latency-monitor:VisibilityChangeEmitter"),mE=class extends Q3{constructor(){super();if(typeof document=="undefined"){Bd('This is not a browser, no "document" found. Stopping.');return}this._initializeVisibilityVarNames(),this._addVisibilityChangeListener()}_initializeVisibilityVarNames(){let e,r;typeof document.hidden!="undefined"?(e="hidden",r="visibilitychange"):typeof document.mozHidden!="undefined"?(e="mozHidden",r="mozvisibilitychange"):typeof document.msHidden!="undefined"?(e="msHidden",r="msvisibilitychange"):typeof document.webkitHidden!="undefined"&&(e="webkitHidden",r="webkitvisibilitychange"),this._hidden=e,this._visibilityChange=r}_addVisibilityChangeListener(){typeof document.addEventListener=="undefined"||typeof document[this._hidden]=="undefined"?Bd("Checking page visibility requires a browser that supports the Page Visibility API."):document.addEventListener(this._visibilityChange,this._handleVisibilityChange.bind(this),!1)}isVisible(){if(!(this._hidden===void 0||document[this._hidden]===void 0))return!document[this._hidden]}_handleVisibilityChange(){let e=!document[this._hidden];Bd(e?"Page Visible":"Page Hidden"),this.emit("visibilityChange",e)}};vE.exports=mE});var _E=w((FF,wE)=>{"use strict";var{EventEmitter:X3}=Qt(),Z3=bE(),In=Te()("latency-monitor:LatencyMonitor"),EE=class extends X3{constructor({latencyCheckIntervalMs:e,dataEmitIntervalMs:r,asyncTestFn:n,latencyRandomPercentage:i}={}){super();let s=this;s.latencyCheckIntervalMs=e||500,s.latencyRandomPercentage=i||10,s._latecyCheckMultiply=2*(s.latencyRandomPercentage/100)*s.latencyCheckIntervalMs,s._latecyCheckSubtract=s._latecyCheckMultiply/2,s.dataEmitIntervalMs=r===null||r===0?void 0:r||5*1e3,In("latencyCheckIntervalMs: %s dataEmitIntervalMs: %s",s.latencyCheckIntervalMs,s.dataEmitIntervalMs),s.dataEmitIntervalMs?In("Expecting ~%s events per summary",s.latencyCheckIntervalMs/s.dataEmitIntervalMs):In("Not emitting summaries"),s.asyncTestFn=n}start(){globalThis.process&&globalThis.process.hrtime?(In("Using process.hrtime for timing"),this.now=globalThis.process.hrtime,this.getDeltaMS=e=>{let r=this.now(e);return r[0]*1e3+r[1]/1e6}):typeof window!="undefined"&&window.performance&&window.performance.now?(In("Using performance.now for timing"),this.now=window.performance.now.bind(window.performance),this.getDeltaMS=e=>Math.round(this.now()-e)):(In("Using Date.now for timing"),this.now=Date.now,this.getDeltaMS=e=>this.now()-e),this._latencyData=this._initLatencyData(),J3()&&(this._visibilityChangeEmitter=new Z3,this._visibilityChangeEmitter.on("visibilityChange",e=>{e?this._startTimers():(this._emitSummary(),this._stopTimers())})),(!this._visibilityChangeEmitter||this._visibilityChangeEmitter.isVisible())&&this._startTimers()}stop(){this._stopTimers()}_startTimers(){this._checkLatencyID||(this._checkLatency(),this.dataEmitIntervalMs&&(this._emitIntervalID=setInterval(()=>this._emitSummary(),this.dataEmitIntervalMs),typeof this._emitIntervalID.unref=="function"&&this._emitIntervalID.unref()))}_stopTimers(){this._checkLatencyID&&(clearTimeout(this._checkLatencyID),this._checkLatencyID=void 0),this._emitIntervalID&&(clearInterval(this._emitIntervalID),this._emitIntervalID=void 0)}_emitSummary(){let e=this.getSummary();e.events>0&&this.emit("data",e)}getSummary(){let e={events:this._latencyData.events,minMs:this._latencyData.minMs,maxMs:this._latencyData.maxMs,avgMs:this._latencyData.events?this._latencyData.totalMs/this._latencyData.events:Number.POSITIVE_INFINITY,lengthMs:this.getDeltaMS(this._latencyData.startTime)};return this._latencyData=this._initLatencyData(),In("Summary: %O",e),e}_checkLatency(){let e=this,r=Math.random()*e._latecyCheckMultiply-e._latecyCheckSubtract,n={deltaOffset:Math.ceil(e.latencyCheckIntervalMs+r),startTime:e.now()},i=()=>{if(!this._checkLatencyID)return;let s=e.getDeltaMS(n.startTime)-n.deltaOffset;e._checkLatency(),e._latencyData.events++,e._latencyData.minMs=Math.min(e._latencyData.minMs,s),e._latencyData.maxMs=Math.max(e._latencyData.maxMs,s),e._latencyData.totalMs+=s,In("MS: %s Data: %O",s,e._latencyData)};In("localData: %O",n),this._checkLatencyID=setTimeout(()=>{e.asyncTestFn?(n.deltaOffset=0,n.startTime=e.now(),e.asyncTestFn(i)):(n.deltaOffset-=1,i())},n.deltaOffset),typeof this._checkLatencyID.unref=="function"&&this._checkLatencyID.unref()}_initLatencyData(){return{startTime:this.now(),minMs:Number.POSITIVE_INFINITY,maxMs:Number.NEGATIVE_INFINITY,events:0,totalMs:0}}};function J3(){return typeof window!="undefined"}wE.exports=EE});var Pd=w((KF,xE)=>{"use strict";var SE=class extends Map{constructor(e){super();let{system:r,component:n,metric:i,metrics:s}=e;this._system=r,this._component=n,this._metric=i,this._metrics=s,this._metrics.updateComponentMetric({system:this._system,component:this._component,metric:this._metric,value:this.size})}set(e,r){return super.set(e,r),this._metrics.updateComponentMetric({system:this._system,component:this._component,metric:this._metric,value:this.size}),this}delete(e){let r=super.delete(e);return this._metrics.updateComponentMetric({system:this._system,component:this._component,metric:this._metric,value:this.size}),r}clear(){super.clear(),this._metrics.updateComponentMetric({system:this._system,component:this._component,metric:this._metric,value:this.size})}};xE.exports=({system:t="libp2p",component:e,metric:r,metrics:n})=>{let i;return n?i=new SE({system:t,component:e,metric:r,metrics:n}):i=new Map,i}});var OE=w((VF,NE)=>{"use strict";var AE=Te(),Mr=Object.assign(AE("libp2p:connection-manager"),{error:AE("libp2p:connection-manager:err")}),CE=de(),eO=Hs(),tO=_E(),IE=va(),{EventEmitter:rO}=Qt(),TE=Pd(),nO=Rt(),{codes:{ERR_INVALID_PARAMETERS:RE}}=je(),iO={maxConnections:1/0,minConnections:0,maxData:1/0,maxSentData:1/0,maxReceivedData:1/0,maxEventLoopDelay:1/0,pollInterval:2e3,autoDialInterval:1e4,movingAverageInterval:6e4,defaultPeerValue:1},BE="connection-manager",sO="peer-connections",oO="peer-values",PE=class extends rO{constructor(e,r={}){super();if(this._libp2p=e,this._peerId=e.peerId.toB58String(),this._options=eO.call({ignoreUndefined:!0},iO,r),this._options.maxConnections<this._options.minConnections)throw CE(new Error("Connection Manager maxConnections must be greater than minConnections"),RE);Mr("options: %j",this._options),this._peerValues=TE({component:BE,metric:oO,metrics:this._libp2p.metrics}),this.connections=TE({component:BE,metric:sO,metrics:this._libp2p.metrics}),this._started=!1,this._timer=null,this._checkMetrics=this._checkMetrics.bind(this),this._latencyMonitor=new tO({latencyCheckIntervalMs:this._options.pollInterval,dataEmitIntervalMs:this._options.pollInterval}),this.setMaxListeners(1/0)}get size(){return Array.from(this.connections.values()).reduce((e,r)=>e+r.length,0)}start(){this._libp2p.metrics&&(this._timer=this._timer||IE(this._checkMetrics,this._options.pollInterval)),this._latencyMonitor.start(),this._onLatencyMeasure=this._onLatencyMeasure.bind(this),this._latencyMonitor.on("data",this._onLatencyMeasure),this._started=!0,Mr("started")}async stop(){this._timer&&this._timer.clear(),this._latencyMonitor.removeListener("data",this._onLatencyMeasure),this._latencyMonitor.stop(),this._started=!1,await this._close(),Mr("stopped")}async _close(){let e=[];for(let r of this.connections.values())for(let n of r)e.push(n.close());await Promise.all(e),this.connections.clear()}setPeerValue(e,r){if(r<0||r>1)throw new Error("value should be a number between 0 and 1");this._peerValues.set(e.toB58String(),r)}async _checkMetrics(){if(this._libp2p.metrics)try{let e=this._libp2p.metrics.global.movingAverages,r=e.dataReceived[this._options.movingAverageInterval].movingAverage();await this._checkMaxLimit("maxReceivedData",r);let n=e.dataSent[this._options.movingAverageInterval].movingAverage();await this._checkMaxLimit("maxSentData",n);let i=r+n;await this._checkMaxLimit("maxData",i),Mr("metrics update",i)}finally{this._timer=IE(this._checkMetrics,this._options.pollInterval)}}async onConnect(e){let r=e.remotePeer,n=r.toB58String(),i=this.connections.get(n);this.emit("peer:connect",e),i?i.push(e):this.connections.set(n,[e]),await this._libp2p.peerStore.keyBook.set(r,r.pubKey),this._peerValues.has(n)||this._peerValues.set(n,this._options.defaultPeerValue),await this._checkMaxLimit("maxConnections",this.size)}onDisconnect(e){let r=e.remotePeer.toB58String(),n=this.connections.get(r);n&&n.length>1?(n=n.filter(i=>i.id!==e.id),this.connections.set(r,n)):n&&(this.connections.delete(r),this._peerValues.delete(e.remotePeer.toB58String()),this.emit("peer:disconnect",e),this._libp2p.metrics&&this._libp2p.metrics.onPeerDisconnected(e.remotePeer))}get(e){let r=this.getAll(e);return r.length?r[0]:null}getAll(e){if(!nO.isPeerId(e))throw CE(new Error("peerId must be an instance of peer-id"),RE);let r=e.toB58String(),n=this.connections.get(r);return n?n.filter(i=>i.stat.status==="open"):[]}_onLatencyMeasure(e){this._checkMaxLimit("maxEventLoopDelay",e.avgMs).catch(r=>{Mr.error(r)})}async _checkMaxLimit(e,r){let n=this._options[e];Mr("checking limit of %s. current value: %d of %d",e,r,n),r>n&&(Mr("%s: limit exceeded: %s, %d",this._peerId,e,r),await this._maybeDisconnectOne())}async _maybeDisconnectOne(){if(this._options.minConnections<this.connections.size){let e=Array.from(new Map([...this._peerValues.entries()].sort((n,i)=>n[1]-i[1])));Mr("%s: sorted peer values: %j",this._peerId,e);let r=e[0];if(r){let n=r[0];Mr("%s: lowest value peer is %s",this._peerId,n),Mr("%s: closing a connection to %j",this._peerId,n);for(let i of this.connections.values())if(i[0].remotePeer.toB58String()===n){i[0].close().catch(s=>{Mr.error(s)}),this.onDisconnect(i[0]);break}}}}};NE.exports=PE});var LE=w((jF,DE)=>{"use strict";var aO=Mi(),cO=async function*(t,e){yield*(await aO(t)).sort(e)};DE.exports=cO});var FE=w(($F,ME)=>{"use strict";var kE=Te(),uO=Hs(),qE=va(),lO=Mi(),{pipe:fO}=ir(),dO=Fi(),hO=LE(),si=Object.assign(kE("libp2p:connection-manager:auto-dialler"),{error:kE("libp2p:connection-manager:auto-dialler:err")}),pO={enabled:!0,minConnections:0,autoDialInterval:1e4},UE=class{constructor(e,r={}){this._options=uO.call({ignoreUndefined:!0},pO,r),this._libp2p=e,this._running=!1,this._autoDialTimeout=null,this._autoDial=this._autoDial.bind(this),si("options: %j",this._options)}async start(){if(!this._options.enabled){si("not enabled");return}this._running=!0,this._autoDial().catch(e=>{si.error("could start autodial",e)}),si("started")}async stop(){if(!this._options.enabled){si("not enabled");return}this._running=!1,this._autoDialTimeout&&this._autoDialTimeout.clear(),si("stopped")}async _autoDial(){let e=this._options.minConnections;if(this._libp2p.connections.size>=e){this._autoDialTimeout=qE(this._autoDial,this._options.autoDialInterval);return}let r=await fO(this._libp2p.peerStore.getPeers(),n=>dO(n,i=>!i.id.equals(this._libp2p.peerId)),n=>hO(n,(i,s)=>s.protocols&&s.protocols.length&&(!i.protocols||!i.protocols.length)||s.id.pubKey&&!i.id.pubKey?1:-1),n=>lO(n));for(let n=0;this._running&&n<r.length&&this._libp2p.connections.size<e;n++){let i=r[n];if(!this._libp2p.connectionManager.get(i.id)){si("connecting to a peerStore stored peer %s",i.id.toB58String());try{await this._libp2p.dialer.connectToPeer(i.id)}catch(s){si.error("could not connect to peerStore stored peer",s)}}}!this._running||(this._autoDialTimeout=qE(this._autoDial,this._options.autoDialInterval))}};ME.exports=UE});var XE=w((HF,QE)=>{"use strict";var{Multiaddr:Nd}=qt(),KE=ce("dns4"),VE=ce("dns6"),jE=ce("dnsaddr"),Gi=Ut(ce("dns"),jE,KE,VE),Ia=Ut(ce("ip4"),ce("ip6")),Ys=Ut(ve(Ia,ce("tcp")),ve(Gi,ce("tcp"))),Od=ve(Ia,ce("udp")),$E=ve(Od,ce("utp")),HE=ve(Od,ce("quic")),Qs=Ut(ve(Ys,ce("ws")),ve(Gi,ce("ws"))),Xs=Ut(ve(Ys,ce("wss")),ve(Gi,ce("wss"))),gu=Ut(ve(Ys,ce("http")),ve(Ia,ce("http")),ve(Gi,ce("http"))),mu=Ut(ve(Ys,ce("https")),ve(Ia,ce("https")),ve(Gi,ce("https"))),Dd=Ut(ve(Qs,ce("p2p-webrtc-star"),ce("p2p")),ve(Xs,ce("p2p-webrtc-star"),ce("p2p")),ve(Qs,ce("p2p-webrtc-star")),ve(Xs,ce("p2p-webrtc-star"))),yO=Ut(ve(Qs,ce("p2p-websocket-star"),ce("p2p")),ve(Xs,ce("p2p-websocket-star"),ce("p2p")),ve(Qs,ce("p2p-websocket-star")),ve(Xs,ce("p2p-websocket-star"))),Ld=Ut(ve(gu,ce("p2p-webrtc-direct"),ce("p2p")),ve(mu,ce("p2p-webrtc-direct"),ce("p2p")),ve(gu,ce("p2p-webrtc-direct")),ve(mu,ce("p2p-webrtc-direct"))),Zs=Ut(Qs,Xs,gu,mu,Dd,Ld,Ys,$E,HE,Gi),gO=Ut(ve(Zs,ce("p2p-stardust"),ce("p2p")),ve(Zs,ce("p2p-stardust"))),oi=Ut(ve(Zs,ce("p2p")),Dd,Ld,ce("p2p")),zE=Ut(ve(oi,ce("p2p-circuit"),oi),ve(oi,ce("p2p-circuit")),ve(ce("p2p-circuit"),oi),ve(Zs,ce("p2p-circuit")),ve(ce("p2p-circuit"),Zs),ce("p2p-circuit")),GE=()=>Ut(ve(zE,GE),zE),Js=GE(),WE=Ut(ve(Js,oi,Js),ve(oi,Js),ve(Js,oi),Js,oi);QE.exports={DNS:Gi,DNS4:KE,DNS6:VE,DNSADDR:jE,IP:Ia,TCP:Ys,UDP:Od,QUIC:HE,UTP:$E,HTTP:gu,HTTPS:mu,WebSockets:Qs,WebSocketsSecure:Xs,WebSocketStar:yO,WebRTCStar:Dd,WebRTCDirect:Ld,Reliable:Zs,Stardust:gO,Circuit:Js,P2P:WE,IPFS:WE};function YE(t){function e(r){if(!Nd.isMultiaddr(r))try{r=new Nd(r)}catch(i){return!1}let n=t(r.protoNames());return n===null?!1:n===!0||n===!1?n:n.length===0}return e}function ve(...t){function e(r){if(r.length<t.length)return null;let n=r;return t.some(i=>(n=typeof i=="function"?i().partialMatch(r):i.partialMatch(r),Array.isArray(n)&&(r=n),n===null)),n}return{toString:function(){return"{ "+t.join(" ")+" }"},input:t,matches:YE(e),partialMatch:e}}function Ut(...t){function e(n){let i=null;return t.some(s=>{let o=typeof s=="function"?s().partialMatch(n):s.partialMatch(n);return o?(i=o,!0):!1}),i}return{toString:function(){return"{ "+t.join(" ")+" }"},input:t,matches:YE(e),partialMatch:e}}function ce(t){let e=t;function r(i){let s;if(typeof i=="string"||i instanceof Uint8Array)try{s=new Nd(i)}catch(a){return!1}else s=i;let o=s.protoNames();return o.length===1&&o[0]===e}function n(i){return i.length===0?null:i[0]===e?i.slice(1):null}return{toString:function(){return e},matches:r,partialMatch:n}}});var eo=w((zF,JE)=>{"use strict";var Wi=gn(),vu=Wi.Reader,ZE=Wi.Writer,Ar=Wi.util,At=Wi.roots["libp2p-circuit"]||(Wi.roots["libp2p-circuit"]={});At.CircuitRelay=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.type=1,t.prototype.srcPeer=null,t.prototype.dstPeer=null,t.prototype.code=100,t.encode=function(r,n){return n||(n=ZE.create()),r.type!=null&&Object.hasOwnProperty.call(r,"type")&&n.uint32(8).int32(r.type),r.srcPeer!=null&&Object.hasOwnProperty.call(r,"srcPeer")&&At.CircuitRelay.Peer.encode(r.srcPeer,n.uint32(18).fork()).ldelim(),r.dstPeer!=null&&Object.hasOwnProperty.call(r,"dstPeer")&&At.CircuitRelay.Peer.encode(r.dstPeer,n.uint32(26).fork()).ldelim(),r.code!=null&&Object.hasOwnProperty.call(r,"code")&&n.uint32(32).int32(r.code),n},t.decode=function(r,n){r instanceof vu||(r=vu.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new At.CircuitRelay;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.type=r.int32();break;case 2:s.srcPeer=At.CircuitRelay.Peer.decode(r,r.uint32());break;case 3:s.dstPeer=At.CircuitRelay.Peer.decode(r,r.uint32());break;case 4:s.code=r.int32();break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof At.CircuitRelay)return r;var n=new At.CircuitRelay;switch(r.type){case"HOP":case 1:n.type=1;break;case"STOP":case 2:n.type=2;break;case"STATUS":case 3:n.type=3;break;case"CAN_HOP":case 4:n.type=4;break}if(r.srcPeer!=null){if(typeof r.srcPeer!="object")throw TypeError(".CircuitRelay.srcPeer: object expected");n.srcPeer=At.CircuitRelay.Peer.fromObject(r.srcPeer)}if(r.dstPeer!=null){if(typeof r.dstPeer!="object")throw TypeError(".CircuitRelay.dstPeer: object expected");n.dstPeer=At.CircuitRelay.Peer.fromObject(r.dstPeer)}switch(r.code){case"SUCCESS":case 100:n.code=100;break;case"HOP_SRC_ADDR_TOO_LONG":case 220:n.code=220;break;case"HOP_DST_ADDR_TOO_LONG":case 221:n.code=221;break;case"HOP_SRC_MULTIADDR_INVALID":case 250:n.code=250;break;case"HOP_DST_MULTIADDR_INVALID":case 251:n.code=251;break;case"HOP_NO_CONN_TO_DST":case 260:n.code=260;break;case"HOP_CANT_DIAL_DST":case 261:n.code=261;break;case"HOP_CANT_OPEN_DST_STREAM":case 262:n.code=262;break;case"HOP_CANT_SPEAK_RELAY":case 270:n.code=270;break;case"HOP_CANT_RELAY_TO_SELF":case 280:n.code=280;break;case"STOP_SRC_ADDR_TOO_LONG":case 320:n.code=320;break;case"STOP_DST_ADDR_TOO_LONG":case 321:n.code=321;break;case"STOP_SRC_MULTIADDR_INVALID":case 350:n.code=350;break;case"STOP_DST_MULTIADDR_INVALID":case 351:n.code=351;break;case"STOP_RELAY_REFUSED":case 390:n.code=390;break;case"MALFORMED_MESSAGE":case 400:n.code=400;break}return n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(i.type=n.enums===String?"HOP":1,i.srcPeer=null,i.dstPeer=null,i.code=n.enums===String?"SUCCESS":100),r.type!=null&&r.hasOwnProperty("type")&&(i.type=n.enums===String?At.CircuitRelay.Type[r.type]:r.type),r.srcPeer!=null&&r.hasOwnProperty("srcPeer")&&(i.srcPeer=At.CircuitRelay.Peer.toObject(r.srcPeer,n)),r.dstPeer!=null&&r.hasOwnProperty("dstPeer")&&(i.dstPeer=At.CircuitRelay.Peer.toObject(r.dstPeer,n)),r.code!=null&&r.hasOwnProperty("code")&&(i.code=n.enums===String?At.CircuitRelay.Status[r.code]:r.code),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,Wi.util.toJSONOptions)},t.Status=function(){var e={},r=Object.create(e);return r[e[100]="SUCCESS"]=100,r[e[220]="HOP_SRC_ADDR_TOO_LONG"]=220,r[e[221]="HOP_DST_ADDR_TOO_LONG"]=221,r[e[250]="HOP_SRC_MULTIADDR_INVALID"]=250,r[e[251]="HOP_DST_MULTIADDR_INVALID"]=251,r[e[260]="HOP_NO_CONN_TO_DST"]=260,r[e[261]="HOP_CANT_DIAL_DST"]=261,r[e[262]="HOP_CANT_OPEN_DST_STREAM"]=262,r[e[270]="HOP_CANT_SPEAK_RELAY"]=270,r[e[280]="HOP_CANT_RELAY_TO_SELF"]=280,r[e[320]="STOP_SRC_ADDR_TOO_LONG"]=320,r[e[321]="STOP_DST_ADDR_TOO_LONG"]=321,r[e[350]="STOP_SRC_MULTIADDR_INVALID"]=350,r[e[351]="STOP_DST_MULTIADDR_INVALID"]=351,r[e[390]="STOP_RELAY_REFUSED"]=390,r[e[400]="MALFORMED_MESSAGE"]=400,r}(),t.Type=function(){var e={},r=Object.create(e);return r[e[1]="HOP"]=1,r[e[2]="STOP"]=2,r[e[3]="STATUS"]=3,r[e[4]="CAN_HOP"]=4,r}(),t.Peer=function(){function e(r){if(this.addrs=[],r)for(var n=Object.keys(r),i=0;i<n.length;++i)r[n[i]]!=null&&(this[n[i]]=r[n[i]])}return e.prototype.id=Ar.newBuffer([]),e.prototype.addrs=Ar.emptyArray,e.encode=function(n,i){if(i||(i=ZE.create()),i.uint32(10).bytes(n.id),n.addrs!=null&&n.addrs.length)for(var s=0;s<n.addrs.length;++s)i.uint32(18).bytes(n.addrs[s]);return i},e.decode=function(n,i){n instanceof vu||(n=vu.create(n));for(var s=i===void 0?n.len:n.pos+i,o=new At.CircuitRelay.Peer;n.pos<s;){var a=n.uint32();switch(a>>>3){case 1:o.id=n.bytes();break;case 2:o.addrs&&o.addrs.length||(o.addrs=[]),o.addrs.push(n.bytes());break;default:n.skipType(a&7);break}}if(!o.hasOwnProperty("id"))throw Ar.ProtocolError("missing required 'id'",{instance:o});return o},e.fromObject=function(n){if(n instanceof At.CircuitRelay.Peer)return n;var i=new At.CircuitRelay.Peer;if(n.id!=null&&(typeof n.id=="string"?Ar.base64.decode(n.id,i.id=Ar.newBuffer(Ar.base64.length(n.id)),0):n.id.length&&(i.id=n.id)),n.addrs){if(!Array.isArray(n.addrs))throw TypeError(".CircuitRelay.Peer.addrs: array expected");i.addrs=[];for(var s=0;s<n.addrs.length;++s)typeof n.addrs[s]=="string"?Ar.base64.decode(n.addrs[s],i.addrs[s]=Ar.newBuffer(Ar.base64.length(n.addrs[s])),0):n.addrs[s].length&&(i.addrs[s]=n.addrs[s])}return i},e.toObject=function(n,i){i||(i={});var s={};if((i.arrays||i.defaults)&&(s.addrs=[]),i.defaults&&(i.bytes===String?s.id="":(s.id=[],i.bytes!==Array&&(s.id=Ar.newBuffer(s.id)))),n.id!=null&&n.hasOwnProperty("id")&&(s.id=i.bytes===String?Ar.base64.encode(n.id,0,n.id.length):i.bytes===Array?Array.prototype.slice.call(n.id):n.id),n.addrs&&n.addrs.length){s.addrs=[];for(var o=0;o<n.addrs.length;++o)s.addrs[o]=i.bytes===String?Ar.base64.encode(n.addrs[o],0,n.addrs[o].length):i.bytes===Array?Array.prototype.slice.call(n.addrs[o]):n.addrs[o]}return s},e.prototype.toJSON=function(){return this.constructor.toObject(this,Wi.util.toJSONOptions)},e}(),t}();JE.exports=At});var tw=w((GF,ew)=>{ew.exports=function(e){if(e){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}});var nw=w((YF,rw)=>{rw.exports=class extends Error{constructor(e,r){super(e||"The operation was aborted");this.type="aborted",this.code=r||"ABORT_ERR"}}});var bu=w((QF,Yi)=>{var mO=tw(),kd=nw(),iw=(t,e,r)=>qd(t,Array.isArray(e)?e:[{signal:e,options:r}]),qd=(t,e)=>{t=mO(t),e=e.map(({signal:n,options:i})=>({signal:n,options:i||{}}));async function*r(){let n,i=()=>{n&&n()};for(let{signal:s}of e)s.addEventListener("abort",i);for(;;){let s;try{for(let{signal:a,options:c}of e)if(a.aborted){let{abortMessage:u,abortCode:l}=c;throw new kd(u,l)}let o=new Promise((a,c)=>{n=()=>{let{options:u}=e.find(({signal:d})=>d.aborted),{abortMessage:l,abortCode:f}=u;c(new kd(l,f))}});s=await Promise.race([o,t.next()]),n=null}catch(o){for(let{signal:u}of e)u.removeEventListener("abort",i);let a=e.find(({signal:u})=>u.aborted),c=o.type==="aborted"&&a;if(c&&a.options.onAbort&&await a.options.onAbort(t),typeof t.return=="function")try{let u=t.return();u instanceof Promise&&u.catch(l=>{a.options.onReturnError!=null&&a.options.onReturnError(l)})}catch(u){a.options.onReturnError!=null&&a.options.onReturnError(u)}if(c&&a.options.returnOnAbort)return;throw o}if(s.done)break;yield s.value}for(let{signal:s}of e)s.removeEventListener("abort",i)}return r()},sw=(t,e,r)=>ow(t,Array.isArray(e)?e:[{signal:e,options:r}]),ow=(t,e)=>r=>t(qd(r,e)),vO=(t,e,r)=>bO(t,Array.isArray(e)?e:[{signal:e,options:r}]),bO=(t,e)=>({sink:ow(t.sink,e),source:qd(t.source,e)});Yi.exports=iw;Yi.exports.AbortError=kd;Yi.exports.source=iw;Yi.exports.sink=sw;Yi.exports.transform=sw;Yi.exports.duplex=vO});var uw=w((XF,cw)=>{"use strict";var{source:aw}=bu(),EO=Te(),wO=EO("libp2p:stream:converter");function _O({stream:t,remoteAddr:e,localAddr:r},n={}){let{sink:i,source:s}=t,o={async sink(c){n.signal&&(c=aw(c,n.signal));try{await i(c)}catch(u){u.type!=="aborted"&&wO(u)}a()},source:n.signal?aw(s,n.signal):s,conn:t,localAddr:r,remoteAddr:e,timeline:{open:Date.now(),close:void 0},close(){return i(new Uint8Array(0)),a()}};function a(){return o.timeline.close||(o.timeline.close=Date.now()),Promise.resolve()}return o}cw.exports=_O});var Ta=w((ZF,lw)=>{"use strict";lw.exports={relay:"/libp2p/circuit/relay/0.1.0"}});var dw=w((JF,fw)=>{"use strict";var{EventEmitter:SO}=Qt(),{Multiaddr:xO}=qt();fw.exports=t=>{let e=new Map;async function r(s){let o=String(s).split("/p2p-circuit").find(u=>u!==""),a=await t.dial(new xO(o)),c=a.remoteAddr.encapsulate("/p2p-circuit");e.set(a.remotePeer.toB58String(),c),i.emit("listening")}function n(){let s=[];for(let o of e.values())s.push(o);return s}let i=Object.assign(new SO,{close:()=>Promise.resolve(),listen:r,getAddrs:n});return t.connectionManager.on("peer:disconnect",s=>{e.delete(s.remotePeer.toB58String())&&i.emit("close")}),i}});var Ud=w((eK,yw)=>{"use strict";var{Multiaddr:hw}=qt(),{CircuitRelay:Qi}=eo();function pw(t,e){t.write({type:Qi.Type.STATUS,code:e})}function AO(t,e){try{t.dstPeer&&t.dstPeer.addrs&&t.dstPeer.addrs.forEach(r=>new hw(r))}catch(r){throw pw(e,t.type===Qi.Type.HOP?Qi.Status.HOP_DST_MULTIADDR_INVALID:Qi.Status.STOP_DST_MULTIADDR_INVALID),r}try{t.srcPeer&&t.srcPeer.addrs&&t.srcPeer.addrs.forEach(r=>new hw(r))}catch(r){throw pw(e,t.type===Qi.Type.HOP?Qi.Status.HOP_SRC_MULTIADDR_INVALID:Qi.Status.STOP_SRC_MULTIADDR_INVALID),r}}yw.exports={validateAddrs:AO}});var vw=w(Eu=>{"use strict";Eu.byteLength=IO;Eu.toByteArray=RO;Eu.fromByteArray=NO;var un=[],Cr=[],CO=typeof Uint8Array!="undefined"?Uint8Array:Array,Md="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Xi=0,gw=Md.length;Xi<gw;++Xi)un[Xi]=Md[Xi],Cr[Md.charCodeAt(Xi)]=Xi;var Xi,gw;Cr["-".charCodeAt(0)]=62;Cr["_".charCodeAt(0)]=63;function mw(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");r===-1&&(r=e);var n=r===e?0:4-r%4;return[r,n]}function IO(t){var e=mw(t),r=e[0],n=e[1];return(r+n)*3/4-n}function TO(t,e,r){return(e+r)*3/4-r}function RO(t){var e,r=mw(t),n=r[0],i=r[1],s=new CO(TO(t,n,i)),o=0,a=i>0?n-4:n,c;for(c=0;c<a;c+=4)e=Cr[t.charCodeAt(c)]<<18|Cr[t.charCodeAt(c+1)]<<12|Cr[t.charCodeAt(c+2)]<<6|Cr[t.charCodeAt(c+3)],s[o++]=e>>16&255,s[o++]=e>>8&255,s[o++]=e&255;return i===2&&(e=Cr[t.charCodeAt(c)]<<2|Cr[t.charCodeAt(c+1)]>>4,s[o++]=e&255),i===1&&(e=Cr[t.charCodeAt(c)]<<10|Cr[t.charCodeAt(c+1)]<<4|Cr[t.charCodeAt(c+2)]>>2,s[o++]=e>>8&255,s[o++]=e&255),s}function BO(t){return un[t>>18&63]+un[t>>12&63]+un[t>>6&63]+un[t&63]}function PO(t,e,r){for(var n,i=[],s=e;s<r;s+=3)n=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(t[s+2]&255),i.push(BO(n));return i.join("")}function NO(t){for(var e,r=t.length,n=r%3,i=[],s=16383,o=0,a=r-n;o<a;o+=s)i.push(PO(t,o,o+s>a?a:o+s));return n===1?(e=t[r-1],i.push(un[e>>2]+un[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],i.push(un[e>>10]+un[e>>4&63]+un[e<<2&63]+"=")),i.join("")}});var bw=w(Fd=>{Fd.read=function(t,e,r,n,i){var s,o,a=i*8-n-1,c=(1<<a)-1,u=c>>1,l=-7,f=r?i-1:0,d=r?-1:1,p=t[e+f];for(f+=d,s=p&(1<<-l)-1,p>>=-l,l+=a;l>0;s=s*256+t[e+f],f+=d,l-=8);for(o=s&(1<<-l)-1,s>>=-l,l+=n;l>0;o=o*256+t[e+f],f+=d,l-=8);if(s===0)s=1-u;else{if(s===c)return o?NaN:(p?-1:1)*(1/0);o=o+Math.pow(2,n),s=s-u}return(p?-1:1)*o*Math.pow(2,s-n)};Fd.write=function(t,e,r,n,i,s){var o,a,c,u=s*8-i-1,l=(1<<u)-1,f=l>>1,d=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:s-1,h=n?1:-1,g=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=l):(o=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-o))<1&&(o--,c*=2),o+f>=1?e+=d/c:e+=d*Math.pow(2,1-f),e*c>=2&&(o++,c/=2),o+f>=l?(a=0,o=l):o+f>=1?(a=(e*c-1)*Math.pow(2,i),o=o+f):(a=e*Math.pow(2,f-1)*Math.pow(2,i),o=0));i>=8;t[r+p]=a&255,p+=h,a/=256,i-=8);for(o=o<<i|a,u+=i;u>0;t[r+p]=o&255,p+=h,o/=256,u-=8);t[r+p-h]|=g*128}});var ci=w(io=>{"use strict";var Kd=vw(),to=bw(),Ew=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;io.Buffer=F;io.SlowBuffer=UO;io.INSPECT_MAX_BYTES=50;var wu=2147483647;io.kMaxLength=wu;F.TYPED_ARRAY_SUPPORT=OO();!F.TYPED_ARRAY_SUPPORT&&typeof console!="undefined"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function OO(){try{let t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),t.foo()===42}catch(t){return!1}}Object.defineProperty(F.prototype,"parent",{enumerable:!0,get:function(){if(!!F.isBuffer(this))return this.buffer}});Object.defineProperty(F.prototype,"offset",{enumerable:!0,get:function(){if(!!F.isBuffer(this))return this.byteOffset}});function Tn(t){if(t>wu)throw new RangeError('The value "'+t+'" is invalid for option "size"');let e=new Uint8Array(t);return Object.setPrototypeOf(e,F.prototype),e}function F(t,e,r){if(typeof t=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return Vd(t)}return ww(t,e,r)}F.poolSize=8192;function ww(t,e,r){if(typeof t=="string")return LO(t,e);if(ArrayBuffer.isView(t))return kO(t);if(t==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(ln(t,ArrayBuffer)||t&&ln(t.buffer,ArrayBuffer)||typeof SharedArrayBuffer!="undefined"&&(ln(t,SharedArrayBuffer)||t&&ln(t.buffer,SharedArrayBuffer)))return $d(t,e,r);if(typeof t=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=t.valueOf&&t.valueOf();if(n!=null&&n!==t)return F.from(n,e,r);let i=qO(t);if(i)return i;if(typeof Symbol!="undefined"&&Symbol.toPrimitive!=null&&typeof t[Symbol.toPrimitive]=="function")return F.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}F.from=function(t,e,r){return ww(t,e,r)};Object.setPrototypeOf(F.prototype,Uint8Array.prototype);Object.setPrototypeOf(F,Uint8Array);function _w(t){if(typeof t!="number")throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function DO(t,e,r){return _w(t),t<=0?Tn(t):e!==void 0?typeof r=="string"?Tn(t).fill(e,r):Tn(t).fill(e):Tn(t)}F.alloc=function(t,e,r){return DO(t,e,r)};function Vd(t){return _w(t),Tn(t<0?0:Hd(t)|0)}F.allocUnsafe=function(t){return Vd(t)};F.allocUnsafeSlow=function(t){return Vd(t)};function LO(t,e){if((typeof e!="string"||e==="")&&(e="utf8"),!F.isEncoding(e))throw new TypeError("Unknown encoding: "+e);let r=Sw(t,e)|0,n=Tn(r),i=n.write(t,e);return i!==r&&(n=n.slice(0,i)),n}function jd(t){let e=t.length<0?0:Hd(t.length)|0,r=Tn(e);for(let n=0;n<e;n+=1)r[n]=t[n]&255;return r}function kO(t){if(ln(t,Uint8Array)){let e=new Uint8Array(t);return $d(e.buffer,e.byteOffset,e.byteLength)}return jd(t)}function $d(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('"length" is outside of buffer bounds');let n;return e===void 0&&r===void 0?n=new Uint8Array(t):r===void 0?n=new Uint8Array(t,e):n=new Uint8Array(t,e,r),Object.setPrototypeOf(n,F.prototype),n}function qO(t){if(F.isBuffer(t)){let e=Hd(t.length)|0,r=Tn(e);return r.length===0||t.copy(r,0,0,e),r}if(t.length!==void 0)return typeof t.length!="number"||Wd(t.length)?Tn(0):jd(t);if(t.type==="Buffer"&&Array.isArray(t.data))return jd(t.data)}function Hd(t){if(t>=wu)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+wu.toString(16)+" bytes");return t|0}function UO(t){return+t!=t&&(t=0),F.alloc(+t)}F.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==F.prototype};F.compare=function(e,r){if(ln(e,Uint8Array)&&(e=F.from(e,e.offset,e.byteLength)),ln(r,Uint8Array)&&(r=F.from(r,r.offset,r.byteLength)),!F.isBuffer(e)||!F.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===r)return 0;let n=e.length,i=r.length;for(let s=0,o=Math.min(n,i);s<o;++s)if(e[s]!==r[s]){n=e[s],i=r[s];break}return n<i?-1:i<n?1:0};F.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}};F.concat=function(e,r){if(!Array.isArray(e))throw new TypeError('"list" argument must be an Array of Buffers');if(e.length===0)return F.alloc(0);let n;if(r===void 0)for(r=0,n=0;n<e.length;++n)r+=e[n].length;let i=F.allocUnsafe(r),s=0;for(n=0;n<e.length;++n){let o=e[n];if(ln(o,Uint8Array))s+o.length>i.length?(F.isBuffer(o)||(o=F.from(o)),o.copy(i,s)):Uint8Array.prototype.set.call(i,o,s);else if(F.isBuffer(o))o.copy(i,s);else throw new TypeError('"list" argument must be an Array of Buffers');s+=o.length}return i};function Sw(t,e){if(F.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||ln(t,ArrayBuffer))return t.byteLength;if(typeof t!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);let r=t.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Gd(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return Lw(t).length;default:if(i)return n?-1:Gd(t).length;e=(""+e).toLowerCase(),i=!0}}F.byteLength=Sw;function MO(t,e,r){let n=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,e>>>=0,r<=e))return"";for(t||(t="utf8");;)switch(t){case"hex":return YO(this,e,r);case"utf8":case"utf-8":return Cw(this,e,r);case"ascii":return GO(this,e,r);case"latin1":case"binary":return WO(this,e,r);case"base64":return HO(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return QO(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}F.prototype._isBuffer=!0;function Zi(t,e,r){let n=t[e];t[e]=t[r],t[r]=n}F.prototype.swap16=function(){let e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;r<e;r+=2)Zi(this,r,r+1);return this};F.prototype.swap32=function(){let e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let r=0;r<e;r+=4)Zi(this,r,r+3),Zi(this,r+1,r+2);return this};F.prototype.swap64=function(){let e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let r=0;r<e;r+=8)Zi(this,r,r+7),Zi(this,r+1,r+6),Zi(this,r+2,r+5),Zi(this,r+3,r+4);return this};F.prototype.toString=function(){let e=this.length;return e===0?"":arguments.length===0?Cw(this,0,e):MO.apply(this,arguments)};F.prototype.toLocaleString=F.prototype.toString;F.prototype.equals=function(e){if(!F.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e?!0:F.compare(this,e)===0};F.prototype.inspect=function(){let e="",r=io.INSPECT_MAX_BYTES;return e=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(e+=" ... "),"<Buffer "+e+">"};Ew&&(F.prototype[Ew]=F.prototype.inspect);F.prototype.compare=function(e,r,n,i,s){if(ln(e,Uint8Array)&&(e=F.from(e,e.offset,e.byteLength)),!F.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(r===void 0&&(r=0),n===void 0&&(n=e?e.length:0),i===void 0&&(i=0),s===void 0&&(s=this.length),r<0||n>e.length||i<0||s>this.length)throw new RangeError("out of range index");if(i>=s&&r>=n)return 0;if(i>=s)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,s>>>=0,this===e)return 0;let o=s-i,a=n-r,c=Math.min(o,a),u=this.slice(i,s),l=e.slice(r,n);for(let f=0;f<c;++f)if(u[f]!==l[f]){o=u[f],a=l[f];break}return o<a?-1:a<o?1:0};function xw(t,e,r,n,i){if(t.length===0)return-1;if(typeof r=="string"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,Wd(r)&&(r=i?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(i)return-1;r=t.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof e=="string"&&(e=F.from(e,n)),F.isBuffer(e))return e.length===0?-1:Aw(t,e,r,n,i);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):Aw(t,[e],r,n,i);throw new TypeError("val must be string, number or Buffer")}function Aw(t,e,r,n,i){let s=1,o=t.length,a=e.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(t.length<2||e.length<2)return-1;s=2,o/=2,a/=2,r/=2}function c(l,f){return s===1?l[f]:l.readUInt16BE(f*s)}let u;if(i){let l=-1;for(u=r;u<o;u++)if(c(t,u)===c(e,l===-1?0:u-l)){if(l===-1&&(l=u),u-l+1===a)return l*s}else l!==-1&&(u-=u-l),l=-1}else for(r+a>o&&(r=o-a),u=r;u>=0;u--){let l=!0;for(let f=0;f<a;f++)if(c(t,u+f)!==c(e,f)){l=!1;break}if(l)return u}return-1}F.prototype.includes=function(e,r,n){return this.indexOf(e,r,n)!==-1};F.prototype.indexOf=function(e,r,n){return xw(this,e,r,n,!0)};F.prototype.lastIndexOf=function(e,r,n){return xw(this,e,r,n,!1)};function FO(t,e,r,n){r=Number(r)||0;let i=t.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;let s=e.length;n>s/2&&(n=s/2);let o;for(o=0;o<n;++o){let a=parseInt(e.substr(o*2,2),16);if(Wd(a))return o;t[r+o]=a}return o}function KO(t,e,r,n){return _u(Gd(e,t.length-r),t,r,n)}function VO(t,e,r,n){return _u(eD(e),t,r,n)}function jO(t,e,r,n){return _u(Lw(e),t,r,n)}function $O(t,e,r,n){return _u(tD(e,t.length-r),t,r,n)}F.prototype.write=function(e,r,n,i){if(r===void 0)i="utf8",n=this.length,r=0;else if(n===void 0&&typeof r=="string")i=r,n=this.length,r=0;else if(isFinite(r))r=r>>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let s=this.length-r;if((n===void 0||n>s)&&(n=s),e.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let o=!1;for(;;)switch(i){case"hex":return FO(this,e,r,n);case"utf8":case"utf-8":return KO(this,e,r,n);case"ascii":case"latin1":case"binary":return VO(this,e,r,n);case"base64":return jO(this,e,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return $O(this,e,r,n);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}};F.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function HO(t,e,r){return e===0&&r===t.length?Kd.fromByteArray(t):Kd.fromByteArray(t.slice(e,r))}function Cw(t,e,r){r=Math.min(t.length,r);let n=[],i=e;for(;i<r;){let s=t[i],o=null,a=s>239?4:s>223?3:s>191?2:1;if(i+a<=r){let c,u,l,f;switch(a){case 1:s<128&&(o=s);break;case 2:c=t[i+1],(c&192)==128&&(f=(s&31)<<6|c&63,f>127&&(o=f));break;case 3:c=t[i+1],u=t[i+2],(c&192)==128&&(u&192)==128&&(f=(s&15)<<12|(c&63)<<6|u&63,f>2047&&(f<55296||f>57343)&&(o=f));break;case 4:c=t[i+1],u=t[i+2],l=t[i+3],(c&192)==128&&(u&192)==128&&(l&192)==128&&(f=(s&15)<<18|(c&63)<<12|(u&63)<<6|l&63,f>65535&&f<1114112&&(o=f))}}o===null?(o=65533,a=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),i+=a}return zO(n)}var Iw=4096;function zO(t){let e=t.length;if(e<=Iw)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=Iw));return r}function GO(t,e,r){let n="";r=Math.min(t.length,r);for(let i=e;i<r;++i)n+=String.fromCharCode(t[i]&127);return n}function WO(t,e,r){let n="";r=Math.min(t.length,r);for(let i=e;i<r;++i)n+=String.fromCharCode(t[i]);return n}function YO(t,e,r){let n=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>n)&&(r=n);let i="";for(let s=e;s<r;++s)i+=rD[t[s]];return i}function QO(t,e,r){let n=t.slice(e,r),i="";for(let s=0;s<n.length-1;s+=2)i+=String.fromCharCode(n[s]+n[s+1]*256);return i}F.prototype.slice=function(e,r){let n=this.length;e=~~e,r=r===void 0?n:~~r,e<0?(e+=n,e<0&&(e=0)):e>n&&(e=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),r<e&&(r=e);let i=this.subarray(e,r);return Object.setPrototypeOf(i,F.prototype),i};function Ct(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}F.prototype.readUintLE=F.prototype.readUIntLE=function(e,r,n){e=e>>>0,r=r>>>0,n||Ct(e,r,this.length);let i=this[e],s=1,o=0;for(;++o<r&&(s*=256);)i+=this[e+o]*s;return i};F.prototype.readUintBE=F.prototype.readUIntBE=function(e,r,n){e=e>>>0,r=r>>>0,n||Ct(e,r,this.length);let i=this[e+--r],s=1;for(;r>0&&(s*=256);)i+=this[e+--r]*s;return i};F.prototype.readUint8=F.prototype.readUInt8=function(e,r){return e=e>>>0,r||Ct(e,1,this.length),this[e]};F.prototype.readUint16LE=F.prototype.readUInt16LE=function(e,r){return e=e>>>0,r||Ct(e,2,this.length),this[e]|this[e+1]<<8};F.prototype.readUint16BE=F.prototype.readUInt16BE=function(e,r){return e=e>>>0,r||Ct(e,2,this.length),this[e]<<8|this[e+1]};F.prototype.readUint32LE=F.prototype.readUInt32LE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};F.prototype.readUint32BE=F.prototype.readUInt32BE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};F.prototype.readBigUInt64LE=ai(function(e){e=e>>>0,no(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&Ra(e,this.length-8);let i=r+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,s=this[++e]+this[++e]*2**8+this[++e]*2**16+n*2**24;return BigInt(i)+(BigInt(s)<<BigInt(32))});F.prototype.readBigUInt64BE=ai(function(e){e=e>>>0,no(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&Ra(e,this.length-8);let i=r*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],s=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+n;return(BigInt(i)<<BigInt(32))+BigInt(s)});F.prototype.readIntLE=function(e,r,n){e=e>>>0,r=r>>>0,n||Ct(e,r,this.length);let i=this[e],s=1,o=0;for(;++o<r&&(s*=256);)i+=this[e+o]*s;return s*=128,i>=s&&(i-=Math.pow(2,8*r)),i};F.prototype.readIntBE=function(e,r,n){e=e>>>0,r=r>>>0,n||Ct(e,r,this.length);let i=r,s=1,o=this[e+--i];for(;i>0&&(s*=256);)o+=this[e+--i]*s;return s*=128,o>=s&&(o-=Math.pow(2,8*r)),o};F.prototype.readInt8=function(e,r){return e=e>>>0,r||Ct(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};F.prototype.readInt16LE=function(e,r){e=e>>>0,r||Ct(e,2,this.length);let n=this[e]|this[e+1]<<8;return n&32768?n|4294901760:n};F.prototype.readInt16BE=function(e,r){e=e>>>0,r||Ct(e,2,this.length);let n=this[e+1]|this[e]<<8;return n&32768?n|4294901760:n};F.prototype.readInt32LE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};F.prototype.readInt32BE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};F.prototype.readBigInt64LE=ai(function(e){e=e>>>0,no(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&Ra(e,this.length-8);let i=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(n<<24);return(BigInt(i)<<BigInt(32))+BigInt(r+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24)});F.prototype.readBigInt64BE=ai(function(e){e=e>>>0,no(e,"offset");let r=this[e],n=this[e+7];(r===void 0||n===void 0)&&Ra(e,this.length-8);let i=(r<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(i)<<BigInt(32))+BigInt(this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+n)});F.prototype.readFloatLE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),to.read(this,e,!0,23,4)};F.prototype.readFloatBE=function(e,r){return e=e>>>0,r||Ct(e,4,this.length),to.read(this,e,!1,23,4)};F.prototype.readDoubleLE=function(e,r){return e=e>>>0,r||Ct(e,8,this.length),to.read(this,e,!0,52,8)};F.prototype.readDoubleBE=function(e,r){return e=e>>>0,r||Ct(e,8,this.length),to.read(this,e,!1,52,8)};function er(t,e,r,n,i,s){if(!F.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>i||e<s)throw new RangeError('"value" argument is out of bounds');if(r+n>t.length)throw new RangeError("Index out of range")}F.prototype.writeUintLE=F.prototype.writeUIntLE=function(e,r,n,i){if(e=+e,r=r>>>0,n=n>>>0,!i){let a=Math.pow(2,8*n)-1;er(this,e,r,n,a,0)}let s=1,o=0;for(this[r]=e&255;++o<n&&(s*=256);)this[r+o]=e/s&255;return r+n};F.prototype.writeUintBE=F.prototype.writeUIntBE=function(e,r,n,i){if(e=+e,r=r>>>0,n=n>>>0,!i){let a=Math.pow(2,8*n)-1;er(this,e,r,n,a,0)}let s=n-1,o=1;for(this[r+s]=e&255;--s>=0&&(o*=256);)this[r+s]=e/o&255;return r+n};F.prototype.writeUint8=F.prototype.writeUInt8=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,1,255,0),this[r]=e&255,r+1};F.prototype.writeUint16LE=F.prototype.writeUInt16LE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,2,65535,0),this[r]=e&255,this[r+1]=e>>>8,r+2};F.prototype.writeUint16BE=F.prototype.writeUInt16BE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,2,65535,0),this[r]=e>>>8,this[r+1]=e&255,r+2};F.prototype.writeUint32LE=F.prototype.writeUInt32LE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,4,4294967295,0),this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=e&255,r+4};F.prototype.writeUint32BE=F.prototype.writeUInt32BE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,4,4294967295,0),this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=e&255,r+4};function Tw(t,e,r,n,i){Dw(e,n,i,t,r,7);let s=Number(e&BigInt(4294967295));t[r++]=s,s=s>>8,t[r++]=s,s=s>>8,t[r++]=s,s=s>>8,t[r++]=s;let o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o=o>>8,t[r++]=o,o=o>>8,t[r++]=o,o=o>>8,t[r++]=o,r}function Rw(t,e,r,n,i){Dw(e,n,i,t,r,7);let s=Number(e&BigInt(4294967295));t[r+7]=s,s=s>>8,t[r+6]=s,s=s>>8,t[r+5]=s,s=s>>8,t[r+4]=s;let o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o=o>>8,t[r+2]=o,o=o>>8,t[r+1]=o,o=o>>8,t[r]=o,r+8}F.prototype.writeBigUInt64LE=ai(function(e,r=0){return Tw(this,e,r,BigInt(0),BigInt("0xffffffffffffffff"))});F.prototype.writeBigUInt64BE=ai(function(e,r=0){return Rw(this,e,r,BigInt(0),BigInt("0xffffffffffffffff"))});F.prototype.writeIntLE=function(e,r,n,i){if(e=+e,r=r>>>0,!i){let c=Math.pow(2,8*n-1);er(this,e,r,n,c-1,-c)}let s=0,o=1,a=0;for(this[r]=e&255;++s<n&&(o*=256);)e<0&&a===0&&this[r+s-1]!==0&&(a=1),this[r+s]=(e/o>>0)-a&255;return r+n};F.prototype.writeIntBE=function(e,r,n,i){if(e=+e,r=r>>>0,!i){let c=Math.pow(2,8*n-1);er(this,e,r,n,c-1,-c)}let s=n-1,o=1,a=0;for(this[r+s]=e&255;--s>=0&&(o*=256);)e<0&&a===0&&this[r+s+1]!==0&&(a=1),this[r+s]=(e/o>>0)-a&255;return r+n};F.prototype.writeInt8=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,1,127,-128),e<0&&(e=255+e+1),this[r]=e&255,r+1};F.prototype.writeInt16LE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,2,32767,-32768),this[r]=e&255,this[r+1]=e>>>8,r+2};F.prototype.writeInt16BE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,2,32767,-32768),this[r]=e>>>8,this[r+1]=e&255,r+2};F.prototype.writeInt32LE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,4,2147483647,-2147483648),this[r]=e&255,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24,r+4};F.prototype.writeInt32BE=function(e,r,n){return e=+e,r=r>>>0,n||er(this,e,r,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=e&255,r+4};F.prototype.writeBigInt64LE=ai(function(e,r=0){return Tw(this,e,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});F.prototype.writeBigInt64BE=ai(function(e,r=0){return Rw(this,e,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function Bw(t,e,r,n,i,s){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function Pw(t,e,r,n,i){return e=+e,r=r>>>0,i||Bw(t,e,r,4,34028234663852886e22,-34028234663852886e22),to.write(t,e,r,n,23,4),r+4}F.prototype.writeFloatLE=function(e,r,n){return Pw(this,e,r,!0,n)};F.prototype.writeFloatBE=function(e,r,n){return Pw(this,e,r,!1,n)};function Nw(t,e,r,n,i){return e=+e,r=r>>>0,i||Bw(t,e,r,8,17976931348623157e292,-17976931348623157e292),to.write(t,e,r,n,52,8),r+8}F.prototype.writeDoubleLE=function(e,r,n){return Nw(this,e,r,!0,n)};F.prototype.writeDoubleBE=function(e,r,n){return Nw(this,e,r,!1,n)};F.prototype.copy=function(e,r,n,i){if(!F.isBuffer(e))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=e.length&&(r=e.length),r||(r=0),i>0&&i<n&&(i=n),i===n||e.length===0||this.length===0)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),e.length-r<i-n&&(i=e.length-r+n);let s=i-n;return this===e&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(r,n,i):Uint8Array.prototype.set.call(e,this.subarray(n,i),r),s};F.prototype.fill=function(e,r,n,i){if(typeof e=="string"){if(typeof r=="string"?(i=r,r=0,n=this.length):typeof n=="string"&&(i=n,n=this.length),i!==void 0&&typeof i!="string")throw new TypeError("encoding must be a string");if(typeof i=="string"&&!F.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(e.length===1){let o=e.charCodeAt(0);(i==="utf8"&&o<128||i==="latin1")&&(e=o)}}else typeof e=="number"?e=e&255:typeof e=="boolean"&&(e=Number(e));if(r<0||this.length<r||this.length<n)throw new RangeError("Out of range index");if(n<=r)return this;r=r>>>0,n=n===void 0?this.length:n>>>0,e||(e=0);let s;if(typeof e=="number")for(s=r;s<n;++s)this[s]=e;else{let o=F.isBuffer(e)?e:F.from(e,i),a=o.length;if(a===0)throw new TypeError('The value "'+e+'" is invalid for argument "value"');for(s=0;s<n-r;++s)this[s+r]=o[s%a]}return this};var ro={};function zd(t,e,r){ro[t]=class extends r{constructor(){super();Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${t}]`,this.stack,delete this.name}get code(){return t}set code(i){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:i,writable:!0})}toString(){return`${this.name} [${t}]: ${this.message}`}}}zd("ERR_BUFFER_OUT_OF_BOUNDS",function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError);zd("ERR_INVALID_ARG_TYPE",function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`},TypeError);zd("ERR_OUT_OF_RANGE",function(t,e,r){let n=`The value of "${t}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=Ow(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=Ow(i)),i+="n"),n+=` It must be ${e}. Received ${i}`,n},RangeError);function Ow(t){let e="",r=t.length,n=t[0]==="-"?1:0;for(;r>=n+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function XO(t,e,r){no(e,"offset"),(t[e]===void 0||t[e+r]===void 0)&&Ra(e,t.length-(r+1))}function Dw(t,e,r,n,i,s){if(t>r||t<e){let o=typeof e=="bigint"?"n":"",a;throw s>3?e===0||e===BigInt(0)?a=`>= 0${o} and < 2${o} ** ${(s+1)*8}${o}`:a=`>= -(2${o} ** ${(s+1)*8-1}${o}) and < 2 ** ${(s+1)*8-1}${o}`:a=`>= ${e}${o} and <= ${r}${o}`,new ro.ERR_OUT_OF_RANGE("value",a,t)}XO(n,i,s)}function no(t,e){if(typeof t!="number")throw new ro.ERR_INVALID_ARG_TYPE(e,"number",t)}function Ra(t,e,r){throw Math.floor(t)!==t?(no(t,r),new ro.ERR_OUT_OF_RANGE(r||"offset","an integer",t)):e<0?new ro.ERR_BUFFER_OUT_OF_BOUNDS:new ro.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}var ZO=/[^+/0-9A-Za-z-_]/g;function JO(t){if(t=t.split("=")[0],t=t.trim().replace(ZO,""),t.length<2)return"";for(;t.length%4!=0;)t=t+"=";return t}function Gd(t,e){e=e||1/0;let r,n=t.length,i=null,s=[];for(let o=0;o<n;++o){if(r=t.charCodeAt(o),r>55295&&r<57344){if(!i){if(r>56319){(e-=3)>-1&&s.push(239,191,189);continue}else if(o+1===n){(e-=3)>-1&&s.push(239,191,189);continue}i=r;continue}if(r<56320){(e-=3)>-1&&s.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(e-=3)>-1&&s.push(239,191,189);if(i=null,r<128){if((e-=1)<0)break;s.push(r)}else if(r<2048){if((e-=2)<0)break;s.push(r>>6|192,r&63|128)}else if(r<65536){if((e-=3)<0)break;s.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((e-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return s}function eD(t){let e=[];for(let r=0;r<t.length;++r)e.push(t.charCodeAt(r)&255);return e}function tD(t,e){let r,n,i,s=[];for(let o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),n=r>>8,i=r%256,s.push(i),s.push(n);return s}function Lw(t){return Kd.toByteArray(JO(t))}function _u(t,e,r,n){let i;for(i=0;i<n&&!(i+r>=e.length||i>=t.length);++i)e[i+r]=t[i];return i}function ln(t,e){return t instanceof e||t!=null&&t.constructor!=null&&t.constructor.name!=null&&t.constructor.name===e.name}function Wd(t){return t!==t}var rD=function(){let t="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)e[n+i]=t[r]+t[i]}return e}();function ai(t){return typeof BigInt=="undefined"?nD:t}function nD(){throw new Error("BigInt not supported")}});var Ji=w((sK,qw)=>{"use strict";var{Buffer:Fr}=ci(),kw=Symbol.for("BufferList");function Ge(t){if(!(this instanceof Ge))return new Ge(t);Ge._init.call(this,t)}Ge._init=function(e){Object.defineProperty(this,kw,{value:!0}),this._bufs=[],this.length=0,e&&this.append(e)};Ge.prototype._new=function(e){return new Ge(e)};Ge.prototype._offset=function(e){if(e===0)return[0,0];let r=0;for(let n=0;n<this._bufs.length;n++){let i=r+this._bufs[n].length;if(e<i||n===this._bufs.length-1)return[n,e-r];r=i}};Ge.prototype._reverseOffset=function(t){let e=t[0],r=t[1];for(let n=0;n<e;n++)r+=this._bufs[n].length;return r};Ge.prototype.get=function(e){if(e>this.length||e<0)return;let r=this._offset(e);return this._bufs[r[0]][r[1]]};Ge.prototype.slice=function(e,r){return typeof e=="number"&&e<0&&(e+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,e,r)};Ge.prototype.copy=function(e,r,n,i){if((typeof n!="number"||n<0)&&(n=0),(typeof i!="number"||i>this.length)&&(i=this.length),n>=this.length||i<=0)return e||Fr.alloc(0);let s=!!e,o=this._offset(n),a=i-n,c=a,u=s&&r||0,l=o[1];if(n===0&&i===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:Fr.concat(this._bufs,this.length);for(let f=0;f<this._bufs.length;f++)this._bufs[f].copy(e,u),u+=this._bufs[f].length;return e}if(c<=this._bufs[o[0]].length-l)return s?this._bufs[o[0]].copy(e,r,l,l+c):this._bufs[o[0]].slice(l,l+c);s||(e=Fr.allocUnsafe(a));for(let f=o[0];f<this._bufs.length;f++){let d=this._bufs[f].length-l;if(c>d)this._bufs[f].copy(e,u,l),u+=d;else{this._bufs[f].copy(e,u,l,l+c),u+=d;break}c-=d,l&&(l=0)}return e.length>u?e.slice(0,u):e};Ge.prototype.shallowSlice=function(e,r){if(e=e||0,r=typeof r!="number"?this.length:r,e<0&&(e+=this.length),r<0&&(r+=this.length),e===r)return this._new();let n=this._offset(e),i=this._offset(r),s=this._bufs.slice(n[0],i[0]+1);return i[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,i[1]),n[1]!==0&&(s[0]=s[0].slice(n[1])),this._new(s)};Ge.prototype.toString=function(e,r,n){return this.slice(r,n).toString(e)};Ge.prototype.consume=function(e){if(e=Math.trunc(e),Number.isNaN(e)||e<=0)return this;for(;this._bufs.length;)if(e>=this._bufs[0].length)e-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(e),this.length-=e;break}return this};Ge.prototype.duplicate=function(){let e=this._new();for(let r=0;r<this._bufs.length;r++)e.append(this._bufs[r]);return e};Ge.prototype.append=function(e){if(e==null)return this;if(e.buffer)this._appendBuffer(Fr.from(e.buffer,e.byteOffset,e.byteLength));else if(Array.isArray(e))for(let r=0;r<e.length;r++)this.append(e[r]);else if(this._isBufferList(e))for(let r=0;r<e._bufs.length;r++)this.append(e._bufs[r]);else typeof e=="number"&&(e=e.toString()),this._appendBuffer(Fr.from(e));return this};Ge.prototype._appendBuffer=function(e){this._bufs.push(e),this.length+=e.length};Ge.prototype.indexOf=function(t,e,r){if(r===void 0&&typeof e=="string"&&(r=e,e=void 0),typeof t=="function"||Array.isArray(t))throw new TypeError('The "value" argument must be one of type string, Buffer, BufferList, or Uint8Array.');if(typeof t=="number"?t=Fr.from([t]):typeof t=="string"?t=Fr.from(t,r):this._isBufferList(t)?t=t.slice():Array.isArray(t.buffer)?t=Fr.from(t.buffer,t.byteOffset,t.byteLength):Fr.isBuffer(t)||(t=Fr.from(t)),e=Number(e||0),isNaN(e)&&(e=0),e<0&&(e=this.length+e),e<0&&(e=0),t.length===0)return e>this.length?this.length:e;let n=this._offset(e),i=n[0],s=n[1];for(;i<this._bufs.length;i++){let o=this._bufs[i];for(;s<o.length;)if(o.length-s>=t.length){let c=o.indexOf(t,s);if(c!==-1)return this._reverseOffset([i,c]);s=o.length-t.length+1}else{let c=this._reverseOffset([i,s]);if(this._match(c,t))return c;s++}s=0}return-1};Ge.prototype._match=function(t,e){if(this.length-t<e.length)return!1;for(let r=0;r<e.length;r++)if(this.get(t+r)!==e[r])return!1;return!0};(function(){let t={readDoubleBE:8,readDoubleLE:8,readFloatBE:4,readFloatLE:4,readInt32BE:4,readInt32LE:4,readUInt32BE:4,readUInt32LE:4,readInt16BE:2,readInt16LE:2,readUInt16BE:2,readUInt16LE:2,readInt8:1,readUInt8:1,readIntBE:null,readIntLE:null,readUIntBE:null,readUIntLE:null};for(let e in t)(function(r){t[r]===null?Ge.prototype[r]=function(n,i){return this.slice(n,n+i)[r](0,i)}:Ge.prototype[r]=function(n=0){return this.slice(n,n+t[r])[r](0)}})(e)})();Ge.prototype._isBufferList=function(e){return e instanceof Ge||Ge.isBufferList(e)};Ge.isBufferList=function(e){return e!=null&&e[kw]};qw.exports=Ge});var Yd=w((oK,Fw)=>{"use strict";var Uw=Ui(),{Buffer:iD}=ci(),Mw=(t,e,r)=>{let n=Uw.encode(t,e,r);return Mw.bytes=Uw.encode.bytes,e||iD.from(n)};Fw.exports=Mw});var zw=w((aK,Su)=>{"use strict";var{Buffer:Kw}=ci(),Vw=Ji(),jw=Yd(),Qd=8,$w=10*1024;function Hw(t){t=t||{};let e=Math.max(t.poolSize||$w,t.minPoolSize||Qd),r=t.lengthEncoder||jw;return async function*(i){let s=Kw.alloc(e),o=0;for await(let a of i){r(a.length,s,o);let c=s.slice(o,o+r.bytes);o+=r.bytes,s.length-o<Qd&&(s=Kw.alloc(e),o=0),yield new Vw().append(c).append(a)}}}Hw.single=(t,e)=>{e=e||{};let r=e.lengthEncoder||jw;return new Vw([r(t.length),t.slice()])};Su.exports=Hw;Su.exports.MIN_POOL_SIZE=Qd;Su.exports.DEFAULT_POOL_SIZE=$w});var Xd=w((cK,Yw)=>{"use strict";var Gw=Ui(),{Buffer:sD}=ci(),oD=t=>new Proxy({},{get:(e,r)=>r[0]==="l"?t[r]:t.get(parseInt(r))}),Ww=t=>{let e=Gw.decode(sD.isBuffer(t)?t:oD(t));return Ww.bytes=Gw.decode.bytes,e};Yw.exports=Ww});var Jw=w((uK,xu)=>{"use strict";var{Buffer:aD}=ci(),Zd=Ji(),cD=Xd(),Qw=8,Xw=1024*1024*4,Zw=aD.alloc(0),ui={LENGTH:"readLength",DATA:"readData"},uD={[ui.LENGTH]:(t,e,r,n)=>{e=e.append(t);let i;try{i=n.lengthDecoder(e)}catch(s){if(e.length>n.maxLengthLength)throw Object.assign(s,{message:"message length too long",code:"ERR_MSG_LENGTH_TOO_LONG"});if(s instanceof RangeError)return{mode:ui.LENGTH,buffer:e,chunk:void 0,state:void 0,data:void 0};throw s}if(i>n.maxDataLength)throw Object.assign(new Error("message data too long"),{code:"ERR_MSG_DATA_TOO_LONG"});return t=e.shallowSlice(n.lengthDecoder.bytes),e=new Zd,n.onLength&&n.onLength(i),i<=0?(n.onData&&n.onData(Zw),{mode:ui.LENGTH,chunk:t,buffer:e,data:Zw}):{mode:ui.DATA,chunk:t,buffer:e,state:{dataLength:i},data:void 0}},[ui.DATA]:(t,e,r,n)=>{if(e=e.append(t),!r)throw new Error("state is required");if(e.length<r.dataLength)return{mode:ui.DATA,buffer:e,state:r,chunk:void 0,data:void 0};let{dataLength:i}=r,s=e.shallowSlice(0,i),o=e.length>i?e.shallowSlice(i):void 0;return e=new Zd,n.onData&&n.onData(s),{mode:ui.LENGTH,chunk:o,buffer:e,state:void 0,data:s}}};function Jd(t){t=t||{};let e={lengthDecoder:t.lengthDecoder||cD,maxLengthLength:t.maxLengthLength||Qw,maxDataLength:t.maxDataLength||Xw,onLength:t.onLength,onData:t.onData};return async function*(n){let i=new Zd,s=ui.LENGTH,o;for await(let a of n){let c=a;for(;c;){let u=uD[s](c,i,o,e);s=u.mode,c=u.chunk,i=u.buffer,o=u.state,u.data&&(yield u.data)}}if(i.length)throw Object.assign(new Error("unexpected end of input"),{code:"ERR_UNEXPECTED_EOF"})}}Jd.fromReader=(t,e)=>{let r=1,n={[Symbol.asyncIterator](){return this},next:async()=>{try{return await t.next(r)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{r=1}}};return Jd({...e||{},onLength:s=>{r=s}})(n)};xu.exports=Jd;xu.exports.MAX_LENGTH_LENGTH=Qw;xu.exports.MAX_DATA_LENGTH=Xw});var r2=w((lK,t2)=>{"use strict";var{Buffer:lD}=ci(),e2=(t,e,r)=>(e=e||lD.allocUnsafe(4),e.writeInt32BE(t,r),e);e2.bytes=4;t2.exports=e2});var s2=w((fK,i2)=>{"use strict";var n2=t=>{if(t.length<4)throw RangeError("Could not decode int32BE");return t.readInt32BE(0)};n2.bytes=4;i2.exports=n2});var so=w(es=>{"use strict";es.encode=zw();es.decode=Jw();es.varintEncode=Yd();es.varintDecode=Xd();es.int32BEEncode=r2();es.int32BEDecode=s2()});var th=w((hK,o2)=>{var eh=Ji();o2.exports=t=>{let e=async function*(){let r=yield,n=new eh;for await(let i of t){if(!r){r=yield n.append(i),n=new eh;continue}for(n.append(i);n.length>=r;){let s=n.shallowSlice(0,r);if(n.consume(r),r=yield s,!r){n.length&&(r=yield n,n=new eh);break}}}if(r)throw Object.assign(new Error(`stream ended before ${r} bytes became available`),{code:"ERR_UNDER_READ",buffer:n})}();return e.next(),e}});var rh=w((pK,a2)=>{"use strict";var fD=()=>{let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t};a2.exports=fD});var oo=w((yK,c2)=>{"use strict";var dD=th(),hD=ud(),pD=rh();c2.exports=t=>{let e=hD(),r=dD(t.source),n=pD(),i,s=t.sink(async function*(){yield*e,yield*await n.promise}());return s.catch(a=>{i=a}),{reader:r,writer:e,stream:{sink:a=>i?Promise.reject(i):(n.resolve(a),s),source:r},rest:()=>e.end(),write:e.push,read:async()=>(await r.next()).value}}});var Cu=w((gK,h2)=>{"use strict";var u2=Te(),Au=Object.assign(u2("libp2p:circuit:stream-handler"),{error:u2("libp2p:circuit:stream-handler:err")}),l2=so(),yD=oo(),{CircuitRelay:f2}=eo(),d2=class{constructor({stream:e,maxLength:r=4096}){this.stream=e,this.shake=yD(this.stream),this.decoder=l2.decode.fromReader(this.shake.reader,{maxDataLength:r})}async read(){let e=await this.decoder.next();if(e.value){let r=f2.decode(e.value.slice());return Au("read message type",r.type),r}Au("read received no value, closing stream"),this.close()}write(e){Au("write message type %s",e.type),this.shake.write(l2.encode.single(f2.encode(e).finish()))}rest(){return this.shake.rest(),this.shake.stream}end(e){this.write(e),this.close()}close(){Au("closing the stream"),this.rest().sink([])}};h2.exports=d2});var sh=w((mK,ih)=>{"use strict";var p2=Te(),Ba=Object.assign(p2("libp2p:circuit:stop"),{error:p2("libp2p:circuit:stop:err")}),{CircuitRelay:nh}=eo(),gD=Ta(),mD=Cu(),{validateAddrs:vD}=Ud();ih.exports.handleStop=function({connection:e,request:r,streamHandler:n}){try{vD(r,n)}catch(i){return Ba.error("invalid stop request via peer %s",e.remotePeer.toB58String(),i)}return Ba("stop request is valid"),n.write({type:nh.Type.STATUS,code:nh.Status.SUCCESS}),n.rest()};ih.exports.stop=async function({connection:e,request:r}){let{stream:n}=await e.newStream([gD.relay]);Ba("starting stop request to %s",e.remotePeer.toB58String());let i=new mD({stream:n});i.write(r);let s=await i.read();if(!s)return i.close();if(s.code===nh.Status.SUCCESS)return Ba("stop request to %s was successful",e.remotePeer.toB58String()),i.rest();Ba("stop request failed with code %d",s.code),i.close()}});var oh=w((vK,E2)=>{"use strict";var y2=Te(),Rn=Object.assign(y2("libp2p:circuit:hop"),{error:y2("libp2p:circuit:hop:err")}),g2=de(),bD=Rt(),{validateAddrs:ED}=Ud(),m2=Cu(),{CircuitRelay:sr}=eo(),{pipe:wD}=ir(),{codes:v2}=je(),{stop:_D}=sh(),b2=Ta();async function SD({connection:t,request:e,streamHandler:r,circuit:n}){if(!n._options.hop.enabled)return Rn("HOP request received but we are not acting as a relay"),r.end({type:sr.Type.STATUS,code:sr.Status.HOP_CANT_SPEAK_RELAY});try{ED(e,r)}catch(u){return Rn.error("invalid hop request via peer %s",t.remotePeer.toB58String(),u)}if(!e.dstPeer){Rn("HOP request received but we do not receive a dstPeer");return}let i=new bD(e.dstPeer.id),s=n._connectionManager.get(i);if(!s&&!n._options.hop.active)return Rn("HOP request received but we are not connected to the destination peer"),r.end({type:sr.Type.STATUS,code:sr.Status.HOP_NO_CONN_TO_DST});if(!s)return;let o={type:sr.Type.STOP,dstPeer:e.dstPeer,srcPeer:e.srcPeer},a;try{a=await _D({connection:s,request:o})}catch(u){return Rn.error(u)}Rn("hop request from %s is valid",t.remotePeer.toB58String()),r.write({type:sr.Type.STATUS,code:sr.Status.SUCCESS});let c=r.rest();return wD(c,a,c)}async function xD({connection:t,request:e}){let{stream:r}=await t.newStream([b2.relay]),n=new m2({stream:r});n.write(e);let i=await n.read();if(!i)throw g2(new Error("HOP request had no response"),v2.ERR_HOP_REQUEST_FAILED);if(i.code===sr.Status.SUCCESS)return Rn("hop request was successful"),n.rest();throw Rn("hop request failed with code %d, closing stream",i.code),n.close(),g2(new Error(`HOP request failed with code ${i.code}`),v2.ERR_HOP_REQUEST_FAILED)}async function AD({connection:t}){let{stream:e}=await t.newStream([b2.relay]),r=new m2({stream:e});r.write({type:sr.Type.CAN_HOP});let n=await r.read();return await r.close(),!(!n||n.code!==sr.Status.SUCCESS)}function CD({connection:t,streamHandler:e,circuit:r}){let n=r._options.hop.enabled;Rn("can hop (%s) request from %s",n,t.remotePeer.toB58String()),e.end({type:sr.Type.STATUS,code:n?sr.Status.SUCCESS:sr.Status.HOP_CANT_SPEAK_RELAY})}E2.exports={handleHop:SD,hop:xD,canHop:AD,handleCanHop:CD}});var C2=w((bK,A2)=>{"use strict";var w2=Te(),Bn=Object.assign(w2("libp2p:circuit"),{error:w2("libp2p:circuit:err")}),ID=de(),TD=XE(),{Multiaddr:Pa}=qt(),_2=Rt(),{CircuitRelay:Na}=eo(),{codes:RD}=je(),S2=uw(),{relay:BD}=Ta(),PD=dw(),{handleCanHop:ND,handleHop:OD,hop:DD}=oh(),{handleStop:LD}=sh(),kD=Cu(),qD=Symbol.for("@libp2p/js-libp2p-circuit/circuit"),x2=class{constructor({libp2p:e,upgrader:r}){this._dialer=e.dialer,this._registrar=e.registrar,this._connectionManager=e.connectionManager,this._upgrader=r,this._options=e._config.relay,this._libp2p=e,this.peerId=e.peerId,this._registrar.handle(BD,this._onProtocol.bind(this))}async _onProtocol({connection:e,stream:r}){let n=new kD({stream:r}),i=await n.read();if(!i)return;let s=this,o;switch(i.type){case Na.Type.CAN_HOP:{Bn("received CAN_HOP request from %s",e.remotePeer.toB58String()),await ND({circuit:s,connection:e,streamHandler:n});break}case Na.Type.HOP:{Bn("received HOP request from %s",e.remotePeer.toB58String()),o=await OD({connection:e,request:i,streamHandler:n,circuit:s});break}case Na.Type.STOP:{Bn("received STOP request from %s",e.remotePeer.toB58String()),o=await LD({connection:e,request:i,streamHandler:n});break}default:Bn("Request of type %s not supported",i.type)}if(o){let a=new Pa(i.dstPeer.addrs[0]),c=new Pa(i.srcPeer.addrs[0]),u=S2({stream:o,remoteAddr:a,localAddr:c}),l=i.type===Na.Type.HOP?"relay":"inbound";Bn("new %s connection %s",l,u.remoteAddr);let f=await this._upgrader.upgradeInbound(u);Bn("%s connection %s upgraded",l,u.remoteAddr),this.handler&&this.handler(f)}}async dial(e,r){let n=e.toString().split("/p2p-circuit"),i=new Pa(n[0]),s=new Pa(n[n.length-1]),o=i.getPeerId(),a=s.getPeerId();if(!o||!a){let d="Circuit relay dial failed as addresses did not have peer id";throw Bn.error(d),ID(new Error(d),RD.ERR_RELAYED_DIAL)}let c=_2.createFromB58String(o),u=_2.createFromB58String(a),l=!1,f=this._connectionManager.get(c);f||(f=await this._dialer.connectToPeer(i,r),l=!0);try{let d=await DD({connection:f,request:{type:Na.Type.HOP,srcPeer:{id:this.peerId.toBytes(),addrs:this._libp2p.multiaddrs.map(g=>g.bytes)},dstPeer:{id:u.toBytes(),addrs:[new Pa(s).bytes]}}}),p=i.encapsulate(`/p2p-circuit/p2p/${this.peerId.toB58String()}`),h=S2({stream:d,remoteAddr:e,localAddr:p});return Bn("new outbound connection %s",h.remoteAddr),this._upgrader.upgradeOutbound(h)}catch(d){throw Bn.error("Circuit relay dial failed",d),l&&await f.close(),d}}createListener(e,r){return typeof e=="function"&&(r=e,e={}),this.handler=r,PD(this._libp2p)}filter(e){return e=Array.isArray(e)?e:[e],e.filter(r=>TD.Circuit.matches(r))}get[Symbol.toStringTag](){return"Circuit"}static isTransport(e){return Boolean(e&&e[qD])}};A2.exports=x2});var ah=w((EK,I2)=>{"use strict";var{CID:UD}=(ws(),ko),{sha256:MD}=(Bi(),Gn);I2.exports.namespaceToCid=async t=>{let e=new TextEncoder().encode(t),r=await MD.digest(e);return UD.createV0(r)}});var O2=w((wK,N2)=>{"use strict";var T2=Te(),ch=Object.assign(T2("libp2p:auto-relay"),{error:T2("libp2p:auto-relay:err")}),{fromString:FD}=(It(),Nt),{toString:KD}=(Tt(),Ot),{Multiaddr:VD}=qt(),jD=Mi(),{relay:$D}=Ta(),{canHop:HD}=oh(),{namespaceToCid:zD}=ah(),{CIRCUIT_PROTO_CODE:GD,HOP_METADATA_KEY:R2,HOP_METADATA_VALUE:B2,RELAY_RENDEZVOUS_NS:WD}=uu(),P2=class{constructor({libp2p:e,maxListeners:r=1,onError:n}){this._libp2p=e,this._peerId=e.peerId,this._peerStore=e.peerStore,this._connectionManager=e.connectionManager,this._transportManager=e.transportManager,this._addressSorter=e.dialer.addressSorter,this.maxListeners=r,this._listenRelays=new Set,this._onProtocolChange=this._onProtocolChange.bind(this),this._onPeerDisconnected=this._onPeerDisconnected.bind(this),this._peerStore.on("change:protocols",this._onProtocolChange),this._connectionManager.on("peer:disconnect",this._onPeerDisconnected),this._onError=(i,s)=>{ch.error(s||i),n&&n(i,s)}}async _onProtocolChange({peerId:e,protocols:r}){let n=e.toB58String(),i=r.find(s=>s===$D);if(!i&&this._listenRelays.has(n)){await this._removeListenRelay(n);return}else if(!i||this._listenRelays.has(n))return;try{let s=this._connectionManager.get(e);if(!s)return;if(s.remoteAddr.protoCodes().includes(GD)){ch(`relayed connection to ${n} will not be used to hop on`);return}await HD({connection:s})&&(await this._peerStore.metadataBook.setValue(e,R2,FD(B2)),await this._addListenRelay(s,n))}catch(s){this._onError(s)}}_onPeerDisconnected(e){let n=e.remotePeer.toB58String();!this._listenRelays.has(n)||this._removeListenRelay(n).catch(i=>{ch.error(i)})}async _addListenRelay(e,r){try{if(this._listenRelays.size>=this.maxListeners)return;let n=await this._peerStore.addressBook.getMultiaddrsForPeer(e.remotePeer,this._addressSorter);(await Promise.all(n.map(async s=>{try{return await this._transportManager.listen([new VD(`${s.toString()}/p2p-circuit`)]),!0}catch(o){this._onError(o)}return!1}))).includes(!0)&&this._listenRelays.add(r)}catch(n){this._onError(n),this._listenRelays.delete(r)}}async _removeListenRelay(e){this._listenRelays.delete(e)&&await this._listenOnAvailableHopRelays([e])}async _listenOnAvailableHopRelays(e=[]){if(this._listenRelays.size>=this.maxListeners)return;let r=[],n=await jD(this._peerStore.getPeers());for await(let{id:i,metadata:s}of n){let o=i.toB58String();if(this._listenRelays.has(o)||e.includes(o))continue;let a=s.get(R2);if(!a||KD(a)!==B2)continue;let c=this._connectionManager.get(i);if(!c){r.push(i);continue}if(await this._addListenRelay(c,o),this._listenRelays.size>=this.maxListeners)return}for(let i of r)if(await this._tryToListenOnRelay(i),this._listenRelays.size>=this.maxListeners)return;try{let i=await zD(WD);for await(let s of this._libp2p.contentRouting.findProviders(i)){if(!s.multiaddrs.length)continue;let o=s.id;if(await this._peerStore.addressBook.add(o,s.multiaddrs),await this._tryToListenOnRelay(o),this._listenRelays.size>=this.maxListeners)return}}catch(i){this._onError(i)}}async _tryToListenOnRelay(e){try{let r=await this._libp2p.dial(e);await this._addListenRelay(r,e.toB58String())}catch(r){this._onError(r,`could not connect and listen on known hop relay ${e.toB58String()}`)}}};N2.exports=P2});var U2=w((_K,q2)=>{"use strict";var D2=Te(),L2=Object.assign(D2("libp2p:relay"),{error:D2("libp2p:relay:err")}),{codes:YD}=je(),{setDelayedInterval:QD,clearDelayedInterval:XD}=hd(),ZD=O2(),{namespaceToCid:JD}=ah(),{RELAY_RENDEZVOUS_NS:eL}=uu(),k2=class{constructor(e){this._libp2p=e,this._options={...e._config.relay},this._autoRelay=this._options.autoRelay.enabled&&new ZD({libp2p:e,...this._options.autoRelay}),this._advertiseService=this._advertiseService.bind(this)}start(){this._options.hop.enabled&&this._options.advertise.enabled&&(this._timeout=QD(this._advertiseService,this._options.advertise.ttl,this._options.advertise.bootDelay))}stop(){XD(this._timeout)}async _advertiseService(){try{let e=await JD(eL);await this._libp2p.contentRouting.provide(e)}catch(e){e.code===YD.ERR_NO_ROUTERS_AVAILABLE?(L2.error("a content router, such as a DHT, must be provided in order to advertise the relay service",e),this.stop()):L2.error(e)}}};q2.exports=k2});var lh=w((SK,uh)=>{var{AbortController:tL}=globalThis;function M2(t){let e=new tL;function r(){e.abort();for(let n of t)!n||!n.removeEventListener||n.removeEventListener("abort",r)}for(let n of t)if(!(!n||!n.addEventListener)){if(n.aborted){r();break}n.addEventListener("abort",r)}return e.signal}uh.exports=M2;uh.exports.anySignal=M2});var j2=w((AK,V2)=>{var F2=ad(),K2=rh();V2.exports=class{constructor(){this._buffer=new F2,this._waitingConsumers=new F2}push(e){let{promise:r,resolve:n}=K2();return this._buffer.push({chunk:e,resolve:n}),this._consume(),r}_consume(){for(;!this._waitingConsumers.isEmpty()&&!this._buffer.isEmpty();){let e=this._waitingConsumers.shift(),r=this._buffer.shift();e.resolve(r.chunk),r.resolve()}}shift(){let{promise:e,resolve:r}=K2();return this._waitingConsumers.push({resolve:r}),this._consume(),e}isEmpty(){return this._buffer.isEmpty()}}});var H2=w((CK,$2)=>{"use strict";$2.exports=(t,e=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof t!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof t}\``);if(typeof e!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof e}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(e===0)return t;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return t.replace(n,r.indent.repeat(e))}});var z2=w(()=>{});var Q2=w((RK,Y2)=>{"use strict";var G2=z2(),W2=/\s+at.*(?:\(|\s)(.*)\)?/,rL=/^(?:(?:(?:node|(?:internal\/[\w/]*|.*node_modules\/(?:babel-polyfill|pirates)\/.*)?\w+)\.js:\d+:\d+)|native)/,nL=typeof G2.homedir=="undefined"?"":G2.homedir();Y2.exports=(t,e)=>(e=Object.assign({pretty:!1},e),t.replace(/\\/g,"/").split(`
|
|
41
|
+
`).filter(r=>{let n=r.match(W2);if(n===null||!n[1])return!0;let i=n[1];return i.includes(".app/Contents/Resources/electron.asar")||i.includes(".app/Contents/Resources/default_app.asar")?!1:!rL.test(i)}).filter(r=>r.trim()!=="").map(r=>e.pretty?r.replace(W2,(n,i)=>n.replace(i,i.replace(nL,"~"))):r).join(`
|
|
42
|
+
`))});var J2=w((BK,Z2)=>{"use strict";var iL=H2(),sL=Q2(),oL=t=>t.replace(/\s+at .*aggregate-error\/index.js:\d+:\d+\)?/g,""),X2=class extends Error{constructor(e){if(!Array.isArray(e))throw new TypeError(`Expected input to be an Array, got ${typeof e}`);e=[...e].map(n=>n instanceof Error?n:n!==null&&typeof n=="object"?Object.assign(new Error(n.message),n):new Error(n));let r=e.map(n=>typeof n.stack=="string"?oL(sL(n.stack)):String(n)).join(`
|
|
43
43
|
`);r=`
|
|
44
|
-
`+sL(r,4);super(r);this.name="AggregateError",Object.defineProperty(this,"_errors",{value:e})}*[Symbol.iterator](){for(let e of this._errors)yield e}};r_.exports=t_});var i_=w((DK,ph)=>{"use strict";var hh=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},Oa=class{static fn(e){return(...r)=>new Oa((n,i,s)=>{r.push(s),e(...r).then(n,i)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,n)=>{this._reject=n;let i=a=>{(!this._isCanceled||!o.shouldReject)&&(this._isPending=!1,r(a))},s=a=>{this._isPending=!1,n(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(i,s,o)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._isCanceled=!0,this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r);return}this._rejectOnCancel&&this._reject(new hh(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(Oa.prototype,Promise.prototype);ph.exports=Oa;ph.exports.CancelError=hh});var o_=w((LK,Iu)=>{"use strict";var s_=n_(),cL=i_(),yh=class extends Error{},uL=(t,e)=>new cL((r,n,i)=>{let{count:s,filter:o=()=>!0}=e;if(!Number.isFinite(s)){n(new TypeError(`Expected a finite number, got ${typeof e.count}`));return}let a=[],c=[],u=0,l=!1,f=new Set,d=()=>(a.length===s&&(r(a),l=!0),u-c.length<s&&(n(new s_(c)),l=!0),l),p=()=>{for(let h of t)!f.has(h)&&typeof h.cancel=="function"&&h.cancel()};i(p);for(let h of t)u++,(async()=>{try{let g=await h;if(l)return;if(!o(g))throw new yh("Value does not satisfy filter");a.push(g)}catch(g){c.push(g)}finally{f.add(h),!l&&d()&&p()}})();s>u&&(n(new RangeError(`Expected input to contain at least ${e.count} items, but contains ${u} items`)),p())});Iu.exports=uL;Iu.exports.AggregateError=s_;Iu.exports.FilterError=yh});var a_=w((kK,mh)=>{"use strict";var gh=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},Da=class{static fn(e){return(...r)=>new Da((n,i,s)=>{r.push(s),e(...r).then(n,i)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,n)=>{this._reject=n;let i=a=>{(!this._isCanceled||!o.shouldReject)&&(this._isPending=!1,r(a))},s=a=>{this._isPending=!1,n(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(i,s,o)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._isCanceled=!0,this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r);return}this._rejectOnCancel&&this._reject(new gh(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(Da.prototype,Promise.prototype);mh.exports=Da;mh.exports.CancelError=gh});var u_=w((qK,vh)=>{"use strict";var c_=o_(),lL=a_();vh.exports=(t,e)=>{let r=c_(t,{...e,count:1});return lL.fn(async n=>{n(()=>{r.cancel()});let[i]=await r;return i})()};vh.exports.AggregateError=c_.AggregateError});var h_=w((UK,d_)=>{"use strict";var fL=de(),{anySignal:dL}=dh(),hL=G2(),pL=u_(),{setMaxListeners:l_}=Qt(),{codes:yL}=je(),f_=class{constructor({addrs:e,dialAction:r,dialer:n}){this.addrs=e,this.dialer=n,this.dialAction=r}async run(e={}){let r=this.dialer.getTokens(this.addrs.length);if(r.length<1)throw fL(new Error("No dial tokens available"),yL.ERR_NO_DIAL_TOKENS);let n=new hL;r.forEach(o=>n.push(o));let i=this.addrs.map(()=>{let o=new AbortController;try{l_&&l_(1/0,o.signal)}catch{}return o}),s=0;try{return await pL(this.addrs.map(async(o,a)=>{let c=await n.shift(),u;try{let l=i[a].signal;u=await this.dialAction(o,{...e,signal:e.signal?dL([l,e.signal]):l}),i.splice(a,1)}finally{s++,this.addrs.length-s>=r.length?n.push(c):this.dialer.releaseToken(r.splice(r.indexOf(c),1)[0])}return u}))}finally{i.map(o=>o.abort()),r.forEach(o=>this.dialer.releaseToken(o))}}};d_.exports=f_});var w_=w((MK,E_)=>{"use strict";var p_=Te(),gL=Mi(),mL=Fi(),{pipe:vL}=ir(),ao=Object.assign(p_("libp2p:dialer"),{error:p_("libp2p:dialer:err")}),Tu=de(),{Multiaddr:bh}=qt(),{TimeoutController:bL}=cd(),{AbortError:EL}=bu(),{anySignal:wL}=dh(),{setMaxListeners:y_}=Qt(),_L=h_(),{publicAddressesFirst:xL}=_d(),g_=gd(),m_=Od(),{codes:La}=je(),{DIAL_TIMEOUT:SL,MAX_PARALLEL_DIALS:AL,MAX_PER_PEER_DIALS:CL,MAX_ADDRS_TO_DIAL:IL}=cu(),v_="dialler",TL="pending-dials",RL="pending-dial-targets",b_=class{constructor({transportManager:e,peerStore:r,connectionGater:n,addressSorter:i=xL,maxParallelDials:s=AL,maxAddrsToDial:o=IL,dialTimeout:a=SL,maxDialsPerPeer:c=CL,resolvers:u={},metrics:l}){this.connectionGater=n,this.transportManager=e,this.peerStore=r,this.addressSorter=i,this.maxParallelDials=s,this.maxAddrsToDial=o,this.timeout=a,this.maxDialsPerPeer=c,this.tokens=[...new Array(s)].map((f,d)=>d),this._pendingDials=m_({component:v_,metric:TL,metrics:l}),this._pendingDialTargets=m_({component:v_,metric:RL,metrics:l});for(let[f,d]of Object.entries(u))bh.resolvers.set(f,d)}destroy(){for(let e of this._pendingDials.values())try{e.controller.abort()}catch(r){ao.error(r)}this._pendingDials.clear();for(let e of this._pendingDialTargets.values())e.reject(new EL("Dialer was destroyed"));this._pendingDialTargets.clear()}async connectToPeer(e,r={}){let{id:n}=g_(e);if(await this.connectionGater.denyDialPeer(n))throw Tu(new Error("The dial request is blocked by gater.allowDialPeer"),La.ERR_PEER_DIAL_INTERCEPTED);let i=await this._createCancellableDialTarget(e);if(!i.addrs.length)throw Tu(new Error("The dial request has no valid addresses"),La.ERR_NO_VALID_ADDRESSES);let s=this._pendingDials.get(i.id)||this._createPendingDial(i,r);try{let o=await s.promise;return ao("dial succeeded to %s",i.id),o}catch(o){throw s.controller.signal.aborted&&(o.code=La.ERR_TIMEOUT),ao.error(o),o}finally{s.destroy()}}async _createCancellableDialTarget(e){let r=`${parseInt(String(Math.random()*1e9),10).toString()+Date.now()}`,n=new Promise((i,s)=>{this._pendingDialTargets.set(r,{resolve:i,reject:s})});try{return await Promise.race([this._createDialTarget(e),n])}finally{this._pendingDialTargets.delete(r)}}async _createDialTarget(e){let{id:r,multiaddrs:n}=g_(e);n&&await this.peerStore.addressBook.add(r,n);let i=await vL(await this.peerStore.addressBook.getMultiaddrsForPeer(r,this.addressSorter),a=>mL(a,async c=>!await this.connectionGater.denyDialMultiaddr(r,c)),a=>gL(a));bh.isMultiaddr(e)&&(i=i.filter(a=>!e.equals(a)),i.unshift(e));let s=[];for(let a of i)(await this._resolve(a)).forEach(u=>s.push(u));let o=s.filter(a=>this.transportManager.transportForMultiaddr(a));if(o.length>this.maxAddrsToDial)throw await this.peerStore.delete(r),Tu(new Error("dial with more addresses than allowed"),La.ERR_TOO_MANY_ADDRESSES);return{id:r.toB58String(),addrs:o}}_createPendingDial(e,r={}){let n=(u,l)=>{if(l.signal.aborted)throw Tu(new Error("already aborted"),La.ERR_ALREADY_ABORTED);return this.transportManager.dial(u,l)},i=new _L({addrs:e.addrs,dialAction:n,dialer:this}),s=new bL(this.timeout),o=[s.signal];r.signal&&o.push(r.signal);let a=wL(o);try{y_&&y_(1/0,a)}catch{}let c={dialRequest:i,controller:s,promise:i.run({...r,signal:a}),destroy:()=>{s.clear(),this._pendingDials.delete(e.id)}};return this._pendingDials.set(e.id,c),c}getTokens(e){let r=Math.min(e,this.maxDialsPerPeer,this.tokens.length),n=this.tokens.splice(0,r);return ao("%d tokens request, returning %d, %d remaining",e,r,this.tokens.length),n}releaseToken(e){this.tokens.indexOf(e)>-1||(ao("token %d released",e),this.tokens.push(e))}async _resolve(e){if(!e.protoNames().includes("dnsaddr"))return[e];let n=await this._resolveRecord(e);return(await Promise.all(n.map(o=>this._resolve(o)))).flat().reduce((o,a)=>(o.find(c=>c.equals(a))||o.push(a),o),[])}async _resolveRecord(e){try{return e=new bh(e.toString()),await e.resolve()}catch(r){return ao.error(`multiaddr ${e} could not be resolved`),[]}}};E_.exports=b_});var x_=w((FK,__)=>{"use strict";function BL(t){return t>=55296&&t<=56319}function PL(t){return t>=56320&&t<=57343}__.exports=function(e,r,n){if(typeof r!="string")throw new Error("Input must be string");for(var i=r.length,s=0,o,a,c=0;c<i;c+=1){if(o=r.charCodeAt(c),a=r[c],BL(o)&&PL(r.charCodeAt(c+1))&&(c+=1,a+=r[c]),s+=e(a),s===n)return r.slice(0,c+1);if(s>n)return r.slice(0,c-a.length+1)}return r}});var A_=w((KK,S_)=>{"use strict";function NL(t){return t>=55296&&t<=56319}function OL(t){return t>=56320&&t<=57343}S_.exports=function(e){if(typeof e!="string")throw new Error("Input must be string");for(var r=e.length,n=0,i=null,s=null,o=0;o<r;o++)i=e.charCodeAt(o),OL(i)?s!=null&&NL(s)?n+=1:n+=3:i<=127?n+=1:i>=128&&i<=2047?n+=2:i>=2048&&i<=65535&&(n+=3),s=i;return n}});var I_=w((VK,C_)=>{"use strict";var DL=x_(),LL=A_();C_.exports=DL.bind(null,LL)});var B_=w((jK,R_)=>{"use strict";var kL=I_(),qL=/[\/\?<>\\:\*\|"]/g,UL=/[\x00-\x1f\x80-\x9f]/g,ML=/^\.+$/,FL=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,KL=/[\. ]+$/;function T_(t,e){if(typeof t!="string")throw new Error("Input must be string");var r=t.replace(qL,e).replace(UL,e).replace(ML,e).replace(FL,e).replace(KL,e);return kL(r,255)}R_.exports=function(t,e){var r=e&&e.replacement||"",n=T_(t,r);return r===""?n:T_(n,"")}});var O_=w(($K,N_)=>{"use strict";Is();var Ru=be(),{toString:co}=(Tt(),Ot),{fromString:P_}=(It(),Nt);N_.exports={createCipheriv:(t,e,r)=>{let n=Ru.cipher.createCipher("AES-CTR",co(e,"ascii"));return n.start({iv:co(r,"ascii")}),{update:i=>(n.update(Ru.util.createBuffer(co(i,"ascii"))),P_(n.output.getBytes(),"ascii"))}},createDecipheriv:(t,e,r)=>{let n=Ru.cipher.createDecipher("AES-CTR",co(e,"ascii"));return n.start({iv:co(r,"ascii")}),{update:i=>(n.update(Ru.util.createBuffer(co(i,"ascii"))),P_(n.output.getBytes(),"ascii"))}}}});var k_=w((HK,L_)=>{"use strict";var VL=de(),D_={16:"aes-128-ctr",32:"aes-256-ctr"};L_.exports=function(t){let e=D_[t.length];if(!e){let r=Object.entries(D_).map(([n,i])=>`${n} (${i})`).join(" / ");throw VL(new Error(`Invalid key length ${t.length} bytes. Must be ${r}`),"ERR_INVALID_KEY_LENGTH")}return e}});var M_=w(U_=>{"use strict";var q_=O_(),jL=k_();U_.create=async function(t,e){let r=jL(t),n=q_.createCipheriv(r,t,e),i=q_.createDecipheriv(r,t,e);return{async encrypt(o){return n.update(o)},async decrypt(o){return i.update(o)}}}});var V_=w((GK,K_)=>{"use strict";var $L=jl(),HL=$e(),zL=de(),F_={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function GL(t,e,r,n,i){let s=F_[i];if(!s){let a=Object.keys(F_).join(" / ");throw zL(new Error(`Hash '${i}' is unknown or not supported. Must be ${a}`),"ERR_UNSUPPORTED_HASH_TYPE")}let o=$L(t,e,r,n,s);return HL.encode64(o)}K_.exports=GL});var Bu=w(uo=>{"use strict";var WL=Bf(),YL=M_(),QL=jc();uo.aes=YL;uo.hmac=WL;uo.keys=QL;uo.randomBytes=Rc();uo.pbkdf2=V_()});var z_=w((YK,H_)=>{var lo=be();jn();$e();var Z=lo.asn1,fo=H_.exports=lo.pkcs7asn1=lo.pkcs7asn1||{};lo.pkcs7=lo.pkcs7||{};lo.pkcs7.asn1=fo;var j_={name:"ContentInfo",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"ContentInfo.ContentType",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OID,constructed:!1,capture:"contentType"},{name:"ContentInfo.content",tagClass:Z.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,captureAsn1:"content"}]};fo.contentInfoValidator=j_;var $_={name:"EncryptedContentInfo",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedContentInfo.contentType",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OID,constructed:!1,capture:"contentType"},{name:"EncryptedContentInfo.contentEncryptionAlgorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedContentInfo.contentEncryptionAlgorithm.algorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OID,constructed:!1,capture:"encAlgorithm"},{name:"EncryptedContentInfo.contentEncryptionAlgorithm.parameter",tagClass:Z.Class.UNIVERSAL,captureAsn1:"encParameter"}]},{name:"EncryptedContentInfo.encryptedContent",tagClass:Z.Class.CONTEXT_SPECIFIC,type:0,capture:"encryptedContent",captureAsn1:"encryptedContentAsn1"}]};fo.envelopedDataValidator={name:"EnvelopedData",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"EnvelopedData.Version",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"version"},{name:"EnvelopedData.RecipientInfos",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SET,constructed:!0,captureAsn1:"recipientInfos"}].concat($_)};fo.encryptedDataValidator={name:"EncryptedData",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedData.Version",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"version"}].concat($_)};var XL={name:"SignerInfo",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.version",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1},{name:"SignerInfo.issuerAndSerialNumber",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.issuerAndSerialNumber.issuer",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,captureAsn1:"issuer"},{name:"SignerInfo.issuerAndSerialNumber.serialNumber",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"serial"}]},{name:"SignerInfo.digestAlgorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.digestAlgorithm.algorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OID,constructed:!1,capture:"digestAlgorithm"},{name:"SignerInfo.digestAlgorithm.parameter",tagClass:Z.Class.UNIVERSAL,constructed:!1,captureAsn1:"digestParameter",optional:!0}]},{name:"SignerInfo.authenticatedAttributes",tagClass:Z.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,capture:"authenticatedAttributes"},{name:"SignerInfo.digestEncryptionAlgorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,capture:"signatureAlgorithm"},{name:"SignerInfo.encryptedDigest",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OCTETSTRING,constructed:!1,capture:"signature"},{name:"SignerInfo.unauthenticatedAttributes",tagClass:Z.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,optional:!0,capture:"unauthenticatedAttributes"}]};fo.signedDataValidator={name:"SignedData",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"SignedData.Version",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"version"},{name:"SignedData.DigestAlgorithms",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SET,constructed:!0,captureAsn1:"digestAlgorithms"},j_,{name:"SignedData.Certificates",tagClass:Z.Class.CONTEXT_SPECIFIC,type:0,optional:!0,captureAsn1:"certificates"},{name:"SignedData.CertificateRevocationLists",tagClass:Z.Class.CONTEXT_SPECIFIC,type:1,optional:!0,captureAsn1:"crls"},{name:"SignedData.SignerInfos",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SET,capture:"signerInfos",optional:!0,value:[XL]}]};fo.recipientInfoValidator={name:"RecipientInfo",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.version",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"version"},{name:"RecipientInfo.issuerAndSerial",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.issuerAndSerial.issuer",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,captureAsn1:"issuer"},{name:"RecipientInfo.issuerAndSerial.serialNumber",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"serial"}]},{name:"RecipientInfo.keyEncryptionAlgorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.keyEncryptionAlgorithm.algorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OID,constructed:!1,capture:"encAlgorithm"},{name:"RecipientInfo.keyEncryptionAlgorithm.parameter",tagClass:Z.Class.UNIVERSAL,constructed:!1,captureAsn1:"encParameter",optional:!0}]},{name:"RecipientInfo.encryptedKey",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OCTETSTRING,constructed:!1,capture:"encKey"}]}});var W_=w((QK,G_)=>{var ts=be();$e();ts.mgf=ts.mgf||{};var ZL=G_.exports=ts.mgf.mgf1=ts.mgf1=ts.mgf1||{};ZL.create=function(t){var e={generate:function(r,n){for(var i=new ts.util.ByteBuffer,s=Math.ceil(n/t.digestLength),o=0;o<s;o++){var a=new ts.util.ByteBuffer;a.putInt32(o),t.start(),t.update(r+a.getBytes()),i.putBuffer(t.digest())}return i.truncate(i.length()-n),i.getBytes()}};return e}});var Q_=w((XK,Y_)=>{var Pu=be();W_();Y_.exports=Pu.mgf=Pu.mgf||{};Pu.mgf.mgf1=Pu.mgf1});var Z_=w((ZK,X_)=>{var rs=be();Ci();$e();var JL=X_.exports=rs.pss=rs.pss||{};JL.create=function(t){arguments.length===3&&(t={md:arguments[0],mgf:arguments[1],saltLength:arguments[2]});var e=t.md,r=t.mgf,n=e.digestLength,i=t.salt||null;typeof i=="string"&&(i=rs.util.createBuffer(i));var s;if("saltLength"in t)s=t.saltLength;else if(i!==null)s=i.length();else throw new Error("Salt length not specified or specific salt not given.");if(i!==null&&i.length()!==s)throw new Error("Given salt length does not match length of given salt.");var o=t.prng||rs.random,a={};return a.encode=function(c,u){var l,f=u-1,d=Math.ceil(f/8),p=c.digest().getBytes();if(d<n+s+2)throw new Error("Message is too long to encrypt.");var h;i===null?h=o.getBytesSync(s):h=i.bytes();var g=new rs.util.ByteBuffer;g.fillWithByte(0,8),g.putBytes(p),g.putBytes(h),e.start(),e.update(g.getBytes());var m=e.digest().getBytes(),x=new rs.util.ByteBuffer;x.fillWithByte(0,d-s-n-2),x.putByte(1),x.putBytes(h);var R=x.getBytes(),L=d-n-1,H=r.generate(m,L),q="";for(l=0;l<L;l++)q+=String.fromCharCode(R.charCodeAt(l)^H.charCodeAt(l));var k=65280>>8*d-f&255;return q=String.fromCharCode(q.charCodeAt(0)&~k)+q.substr(1),q+m+String.fromCharCode(188)},a.verify=function(c,u,l){var f,d=l-1,p=Math.ceil(d/8);if(u=u.substr(-p),p<n+s+2)throw new Error("Inconsistent parameters to PSS signature verification.");if(u.charCodeAt(p-1)!==188)throw new Error("Encoded message does not end in 0xBC.");var h=p-n-1,g=u.substr(0,h),m=u.substr(h,n),x=65280>>8*p-d&255;if((g.charCodeAt(0)&x)!=0)throw new Error("Bits beyond keysize not zero as expected.");var R=r.generate(m,h),L="";for(f=0;f<h;f++)L+=String.fromCharCode(g.charCodeAt(f)^R.charCodeAt(f));L=String.fromCharCode(L.charCodeAt(0)&~x)+L.substr(1);var H=p-n-s-2;for(f=0;f<H;f++)if(L.charCodeAt(f)!==0)throw new Error("Leftmost octets not zero as expected");if(L.charCodeAt(H)!==1)throw new Error("Inconsistent PSS signature, 0x01 marker not found");var q=L.substr(-s),k=new rs.util.ByteBuffer;k.fillWithByte(0,8),k.putBytes(c),k.putBytes(q),e.start(),e.update(k.getBytes());var J=e.digest().getBytes();return m===J},a}});var wh=w((JK,nx)=>{var oe=be();Is();jn();yc();$n();Q_();Ss();bc();Z_();Ho();$e();var y=oe.asn1,G=nx.exports=oe.pki=oe.pki||{},Ce=G.oids,ft={};ft.CN=Ce.commonName;ft.commonName="CN";ft.C=Ce.countryName;ft.countryName="C";ft.L=Ce.localityName;ft.localityName="L";ft.ST=Ce.stateOrProvinceName;ft.stateOrProvinceName="ST";ft.O=Ce.organizationName;ft.organizationName="O";ft.OU=Ce.organizationalUnitName;ft.organizationalUnitName="OU";ft.E=Ce.emailAddress;ft.emailAddress="E";var J_=oe.pki.rsa.publicKeyValidator,ek={name:"Certificate",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"tbsCertificate",value:[{name:"Certificate.TBSCertificate.version",tagClass:y.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.version.integer",tagClass:y.Class.UNIVERSAL,type:y.Type.INTEGER,constructed:!1,capture:"certVersion"}]},{name:"Certificate.TBSCertificate.serialNumber",tagClass:y.Class.UNIVERSAL,type:y.Type.INTEGER,constructed:!1,capture:"certSerialNumber"},{name:"Certificate.TBSCertificate.signature",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate.signature.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"certinfoSignatureOid"},{name:"Certificate.TBSCertificate.signature.parameters",tagClass:y.Class.UNIVERSAL,optional:!0,captureAsn1:"certinfoSignatureParams"}]},{name:"Certificate.TBSCertificate.issuer",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"certIssuer"},{name:"Certificate.TBSCertificate.validity",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate.validity.notBefore (utc)",tagClass:y.Class.UNIVERSAL,type:y.Type.UTCTIME,constructed:!1,optional:!0,capture:"certValidity1UTCTime"},{name:"Certificate.TBSCertificate.validity.notBefore (generalized)",tagClass:y.Class.UNIVERSAL,type:y.Type.GENERALIZEDTIME,constructed:!1,optional:!0,capture:"certValidity2GeneralizedTime"},{name:"Certificate.TBSCertificate.validity.notAfter (utc)",tagClass:y.Class.UNIVERSAL,type:y.Type.UTCTIME,constructed:!1,optional:!0,capture:"certValidity3UTCTime"},{name:"Certificate.TBSCertificate.validity.notAfter (generalized)",tagClass:y.Class.UNIVERSAL,type:y.Type.GENERALIZEDTIME,constructed:!1,optional:!0,capture:"certValidity4GeneralizedTime"}]},{name:"Certificate.TBSCertificate.subject",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"certSubject"},J_,{name:"Certificate.TBSCertificate.issuerUniqueID",tagClass:y.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.issuerUniqueID.id",tagClass:y.Class.UNIVERSAL,type:y.Type.BITSTRING,constructed:!1,captureBitStringValue:"certIssuerUniqueId"}]},{name:"Certificate.TBSCertificate.subjectUniqueID",tagClass:y.Class.CONTEXT_SPECIFIC,type:2,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.subjectUniqueID.id",tagClass:y.Class.UNIVERSAL,type:y.Type.BITSTRING,constructed:!1,captureBitStringValue:"certSubjectUniqueId"}]},{name:"Certificate.TBSCertificate.extensions",tagClass:y.Class.CONTEXT_SPECIFIC,type:3,constructed:!0,captureAsn1:"certExtensions",optional:!0}]},{name:"Certificate.signatureAlgorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.signatureAlgorithm.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"certSignatureOid"},{name:"Certificate.TBSCertificate.signature.parameters",tagClass:y.Class.UNIVERSAL,optional:!0,captureAsn1:"certSignatureParams"}]},{name:"Certificate.signatureValue",tagClass:y.Class.UNIVERSAL,type:y.Type.BITSTRING,constructed:!1,captureBitStringValue:"certSignature"}]},tk={name:"rsapss",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"rsapss.hashAlgorithm",tagClass:y.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,value:[{name:"rsapss.hashAlgorithm.AlgorithmIdentifier",tagClass:y.Class.UNIVERSAL,type:y.Class.SEQUENCE,constructed:!0,optional:!0,value:[{name:"rsapss.hashAlgorithm.AlgorithmIdentifier.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"hashOid"}]}]},{name:"rsapss.maskGenAlgorithm",tagClass:y.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier",tagClass:y.Class.UNIVERSAL,type:y.Class.SEQUENCE,constructed:!0,optional:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"maskGenOid"},{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.params",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.params.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"maskGenHashOid"}]}]}]},{name:"rsapss.saltLength",tagClass:y.Class.CONTEXT_SPECIFIC,type:2,optional:!0,value:[{name:"rsapss.saltLength.saltLength",tagClass:y.Class.UNIVERSAL,type:y.Class.INTEGER,constructed:!1,capture:"saltLength"}]},{name:"rsapss.trailerField",tagClass:y.Class.CONTEXT_SPECIFIC,type:3,optional:!0,value:[{name:"rsapss.trailer.trailer",tagClass:y.Class.UNIVERSAL,type:y.Class.INTEGER,constructed:!1,capture:"trailer"}]}]},rk={name:"CertificationRequestInfo",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"certificationRequestInfo",value:[{name:"CertificationRequestInfo.integer",tagClass:y.Class.UNIVERSAL,type:y.Type.INTEGER,constructed:!1,capture:"certificationRequestInfoVersion"},{name:"CertificationRequestInfo.subject",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"certificationRequestInfoSubject"},J_,{name:"CertificationRequestInfo.attributes",tagClass:y.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,capture:"certificationRequestInfoAttributes",value:[{name:"CertificationRequestInfo.attributes",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"CertificationRequestInfo.attributes.type",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1},{name:"CertificationRequestInfo.attributes.value",tagClass:y.Class.UNIVERSAL,type:y.Type.SET,constructed:!0}]}]}]},nk={name:"CertificationRequest",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"csr",value:[rk,{name:"CertificationRequest.signatureAlgorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"CertificationRequest.signatureAlgorithm.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"csrSignatureOid"},{name:"CertificationRequest.signatureAlgorithm.parameters",tagClass:y.Class.UNIVERSAL,optional:!0,captureAsn1:"csrSignatureParams"}]},{name:"CertificationRequest.signature",tagClass:y.Class.UNIVERSAL,type:y.Type.BITSTRING,constructed:!1,captureBitStringValue:"csrSignature"}]};G.RDNAttributesAsArray=function(t,e){for(var r=[],n,i,s,o=0;o<t.value.length;++o){n=t.value[o];for(var a=0;a<n.value.length;++a)s={},i=n.value[a],s.type=y.derToOid(i.value[0].value),s.value=i.value[1].value,s.valueTagClass=i.value[1].type,s.type in Ce&&(s.name=Ce[s.type],s.name in ft&&(s.shortName=ft[s.name])),e&&(e.update(s.type),e.update(s.value)),r.push(s)}return r};G.CRIAttributesAsArray=function(t){for(var e=[],r=0;r<t.length;++r)for(var n=t[r],i=y.derToOid(n.value[0].value),s=n.value[1].value,o=0;o<s.length;++o){var a={};if(a.type=i,a.value=s[o].value,a.valueTagClass=s[o].type,a.type in Ce&&(a.name=Ce[a.type],a.name in ft&&(a.shortName=ft[a.name])),a.type===Ce.extensionRequest){a.extensions=[];for(var c=0;c<a.value.length;++c)a.extensions.push(G.certificateExtensionFromAsn1(a.value[c]))}e.push(a)}return e};function li(t,e){typeof e=="string"&&(e={shortName:e});for(var r=null,n,i=0;r===null&&i<t.attributes.length;++i)n=t.attributes[i],(e.type&&e.type===n.type||e.name&&e.name===n.name||e.shortName&&e.shortName===n.shortName)&&(r=n);return r}var Nu=function(t,e,r){var n={};if(t!==Ce["RSASSA-PSS"])return n;r&&(n={hash:{algorithmOid:Ce.sha1},mgf:{algorithmOid:Ce.mgf1,hash:{algorithmOid:Ce.sha1}},saltLength:20});var i={},s=[];if(!y.validate(e,tk,i,s)){var o=new Error("Cannot read RSASSA-PSS parameter block.");throw o.errors=s,o}return i.hashOid!==void 0&&(n.hash=n.hash||{},n.hash.algorithmOid=y.derToOid(i.hashOid)),i.maskGenOid!==void 0&&(n.mgf=n.mgf||{},n.mgf.algorithmOid=y.derToOid(i.maskGenOid),n.mgf.hash=n.mgf.hash||{},n.mgf.hash.algorithmOid=y.derToOid(i.maskGenHashOid)),i.saltLength!==void 0&&(n.saltLength=i.saltLength.charCodeAt(0)),n},Ou=function(t){switch(Ce[t.signatureOid]){case"sha1WithRSAEncryption":case"sha1WithRSASignature":return oe.md.sha1.create();case"md5WithRSAEncryption":return oe.md.md5.create();case"sha256WithRSAEncryption":return oe.md.sha256.create();case"sha384WithRSAEncryption":return oe.md.sha384.create();case"sha512WithRSAEncryption":return oe.md.sha512.create();case"RSASSA-PSS":return oe.md.sha256.create();default:var e=new Error("Could not compute "+t.type+" digest. Unknown signature OID.");throw e.signatureOid=t.signatureOid,e}},ex=function(t){var e=t.certificate,r;switch(e.signatureOid){case Ce.sha1WithRSAEncryption:case Ce.sha1WithRSASignature:break;case Ce["RSASSA-PSS"]:var n,i;if(n=Ce[e.signatureParameters.mgf.hash.algorithmOid],n===void 0||oe.md[n]===void 0){var s=new Error("Unsupported MGF hash function.");throw s.oid=e.signatureParameters.mgf.hash.algorithmOid,s.name=n,s}if(i=Ce[e.signatureParameters.mgf.algorithmOid],i===void 0||oe.mgf[i]===void 0){var s=new Error("Unsupported MGF function.");throw s.oid=e.signatureParameters.mgf.algorithmOid,s.name=i,s}if(i=oe.mgf[i].create(oe.md[n].create()),n=Ce[e.signatureParameters.hash.algorithmOid],n===void 0||oe.md[n]===void 0){var s=new Error("Unsupported RSASSA-PSS hash function.");throw s.oid=e.signatureParameters.hash.algorithmOid,s.name=n,s}r=oe.pss.create(oe.md[n].create(),i,e.signatureParameters.saltLength);break}return e.publicKey.verify(t.md.digest().getBytes(),t.signature,r)};G.certificateFromPem=function(t,e,r){var n=oe.pem.decode(t)[0];if(n.type!=="CERTIFICATE"&&n.type!=="X509 CERTIFICATE"&&n.type!=="TRUSTED CERTIFICATE"){var i=new Error('Could not convert certificate from PEM; PEM header type is not "CERTIFICATE", "X509 CERTIFICATE", or "TRUSTED CERTIFICATE".');throw i.headerType=n.type,i}if(n.procType&&n.procType.type==="ENCRYPTED")throw new Error("Could not convert certificate from PEM; PEM is encrypted.");var s=y.fromDer(n.body,r);return G.certificateFromAsn1(s,e)};G.certificateToPem=function(t,e){var r={type:"CERTIFICATE",body:y.toDer(G.certificateToAsn1(t)).getBytes()};return oe.pem.encode(r,{maxline:e})};G.publicKeyFromPem=function(t){var e=oe.pem.decode(t)[0];if(e.type!=="PUBLIC KEY"&&e.type!=="RSA PUBLIC KEY"){var r=new Error('Could not convert public key from PEM; PEM header type is not "PUBLIC KEY" or "RSA PUBLIC KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert public key from PEM; PEM is encrypted.");var n=y.fromDer(e.body);return G.publicKeyFromAsn1(n)};G.publicKeyToPem=function(t,e){var r={type:"PUBLIC KEY",body:y.toDer(G.publicKeyToAsn1(t)).getBytes()};return oe.pem.encode(r,{maxline:e})};G.publicKeyToRSAPublicKeyPem=function(t,e){var r={type:"RSA PUBLIC KEY",body:y.toDer(G.publicKeyToRSAPublicKey(t)).getBytes()};return oe.pem.encode(r,{maxline:e})};G.getPublicKeyFingerprint=function(t,e){e=e||{};var r=e.md||oe.md.sha1.create(),n=e.type||"RSAPublicKey",i;switch(n){case"RSAPublicKey":i=y.toDer(G.publicKeyToRSAPublicKey(t)).getBytes();break;case"SubjectPublicKeyInfo":i=y.toDer(G.publicKeyToAsn1(t)).getBytes();break;default:throw new Error('Unknown fingerprint type "'+e.type+'".')}r.start(),r.update(i);var s=r.digest();if(e.encoding==="hex"){var o=s.toHex();return e.delimiter?o.match(/.{2}/g).join(e.delimiter):o}else{if(e.encoding==="binary")return s.getBytes();if(e.encoding)throw new Error('Unknown encoding "'+e.encoding+'".')}return s};G.certificationRequestFromPem=function(t,e,r){var n=oe.pem.decode(t)[0];if(n.type!=="CERTIFICATE REQUEST"){var i=new Error('Could not convert certification request from PEM; PEM header type is not "CERTIFICATE REQUEST".');throw i.headerType=n.type,i}if(n.procType&&n.procType.type==="ENCRYPTED")throw new Error("Could not convert certification request from PEM; PEM is encrypted.");var s=y.fromDer(n.body,r);return G.certificationRequestFromAsn1(s,e)};G.certificationRequestToPem=function(t,e){var r={type:"CERTIFICATE REQUEST",body:y.toDer(G.certificationRequestToAsn1(t)).getBytes()};return oe.pem.encode(r,{maxline:e})};G.createCertificate=function(){var t={};return t.version=2,t.serialNumber="00",t.signatureOid=null,t.signature=null,t.siginfo={},t.siginfo.algorithmOid=null,t.validity={},t.validity.notBefore=new Date,t.validity.notAfter=new Date,t.issuer={},t.issuer.getField=function(e){return li(t.issuer,e)},t.issuer.addField=function(e){Ir([e]),t.issuer.attributes.push(e)},t.issuer.attributes=[],t.issuer.hash=null,t.subject={},t.subject.getField=function(e){return li(t.subject,e)},t.subject.addField=function(e){Ir([e]),t.subject.attributes.push(e)},t.subject.attributes=[],t.subject.hash=null,t.extensions=[],t.publicKey=null,t.md=null,t.setSubject=function(e,r){Ir(e),t.subject.attributes=e,delete t.subject.uniqueId,r&&(t.subject.uniqueId=r),t.subject.hash=null},t.setIssuer=function(e,r){Ir(e),t.issuer.attributes=e,delete t.issuer.uniqueId,r&&(t.issuer.uniqueId=r),t.issuer.hash=null},t.setExtensions=function(e){for(var r=0;r<e.length;++r)tx(e[r],{cert:t});t.extensions=e},t.getExtension=function(e){typeof e=="string"&&(e={name:e});for(var r=null,n,i=0;r===null&&i<t.extensions.length;++i)n=t.extensions[i],(e.id&&n.id===e.id||e.name&&n.name===e.name)&&(r=n);return r},t.sign=function(e,r){t.md=r||oe.md.sha1.create();var n=Ce[t.md.algorithm+"WithRSAEncryption"];if(!n){var i=new Error("Could not compute certificate digest. Unknown message digest algorithm OID.");throw i.algorithm=t.md.algorithm,i}t.signatureOid=t.siginfo.algorithmOid=n,t.tbsCertificate=G.getTBSCertificate(t);var s=y.toDer(t.tbsCertificate);t.md.update(s.getBytes()),t.signature=e.sign(t.md)},t.verify=function(e){var r=!1;if(!t.issued(e)){var n=e.issuer,i=t.subject,s=new Error("The parent certificate did not issue the given child certificate; the child certificate's issuer does not match the parent's subject.");throw s.expectedIssuer=i.attributes,s.actualIssuer=n.attributes,s}var o=e.md;if(o===null){o=Ou({signatureOid:e.signatureOid,type:"certificate"});var a=e.tbsCertificate||G.getTBSCertificate(e),c=y.toDer(a);o.update(c.getBytes())}return o!==null&&(r=ex({certificate:t,md:o,signature:e.signature})),r},t.isIssuer=function(e){var r=!1,n=t.issuer,i=e.subject;if(n.hash&&i.hash)r=n.hash===i.hash;else if(n.attributes.length===i.attributes.length){r=!0;for(var s,o,a=0;r&&a<n.attributes.length;++a)s=n.attributes[a],o=i.attributes[a],(s.type!==o.type||s.value!==o.value)&&(r=!1)}return r},t.issued=function(e){return e.isIssuer(t)},t.generateSubjectKeyIdentifier=function(){return G.getPublicKeyFingerprint(t.publicKey,{type:"RSAPublicKey"})},t.verifySubjectKeyIdentifier=function(){for(var e=Ce.subjectKeyIdentifier,r=0;r<t.extensions.length;++r){var n=t.extensions[r];if(n.id===e){var i=t.generateSubjectKeyIdentifier().getBytes();return oe.util.hexToBytes(n.subjectKeyIdentifier)===i}}return!1},t};G.certificateFromAsn1=function(t,e){var r={},n=[];if(!y.validate(t,ek,r,n)){var i=new Error("Cannot read X.509 certificate. ASN.1 object is not an X509v3 Certificate.");throw i.errors=n,i}var s=y.derToOid(r.publicKeyOid);if(s!==G.oids.rsaEncryption)throw new Error("Cannot read public key. OID is not RSA.");var o=G.createCertificate();o.version=r.certVersion?r.certVersion.charCodeAt(0):0;var a=oe.util.createBuffer(r.certSerialNumber);o.serialNumber=a.toHex(),o.signatureOid=oe.asn1.derToOid(r.certSignatureOid),o.signatureParameters=Nu(o.signatureOid,r.certSignatureParams,!0),o.siginfo.algorithmOid=oe.asn1.derToOid(r.certinfoSignatureOid),o.siginfo.parameters=Nu(o.siginfo.algorithmOid,r.certinfoSignatureParams,!1),o.signature=r.certSignature;var c=[];if(r.certValidity1UTCTime!==void 0&&c.push(y.utcTimeToDate(r.certValidity1UTCTime)),r.certValidity2GeneralizedTime!==void 0&&c.push(y.generalizedTimeToDate(r.certValidity2GeneralizedTime)),r.certValidity3UTCTime!==void 0&&c.push(y.utcTimeToDate(r.certValidity3UTCTime)),r.certValidity4GeneralizedTime!==void 0&&c.push(y.generalizedTimeToDate(r.certValidity4GeneralizedTime)),c.length>2)throw new Error("Cannot read notBefore/notAfter validity times; more than two times were provided in the certificate.");if(c.length<2)throw new Error("Cannot read notBefore/notAfter validity times; they were not provided as either UTCTime or GeneralizedTime.");if(o.validity.notBefore=c[0],o.validity.notAfter=c[1],o.tbsCertificate=r.tbsCertificate,e){o.md=Ou({signatureOid:o.signatureOid,type:"certificate"});var u=y.toDer(o.tbsCertificate);o.md.update(u.getBytes())}var l=oe.md.sha1.create(),f=y.toDer(r.certIssuer);l.update(f.getBytes()),o.issuer.getField=function(h){return li(o.issuer,h)},o.issuer.addField=function(h){Ir([h]),o.issuer.attributes.push(h)},o.issuer.attributes=G.RDNAttributesAsArray(r.certIssuer),r.certIssuerUniqueId&&(o.issuer.uniqueId=r.certIssuerUniqueId),o.issuer.hash=l.digest().toHex();var d=oe.md.sha1.create(),p=y.toDer(r.certSubject);return d.update(p.getBytes()),o.subject.getField=function(h){return li(o.subject,h)},o.subject.addField=function(h){Ir([h]),o.subject.attributes.push(h)},o.subject.attributes=G.RDNAttributesAsArray(r.certSubject),r.certSubjectUniqueId&&(o.subject.uniqueId=r.certSubjectUniqueId),o.subject.hash=d.digest().toHex(),r.certExtensions?o.extensions=G.certificateExtensionsFromAsn1(r.certExtensions):o.extensions=[],o.publicKey=G.publicKeyFromAsn1(r.subjectPublicKeyInfo),o};G.certificateExtensionsFromAsn1=function(t){for(var e=[],r=0;r<t.value.length;++r)for(var n=t.value[r],i=0;i<n.value.length;++i)e.push(G.certificateExtensionFromAsn1(n.value[i]));return e};G.certificateExtensionFromAsn1=function(t){var e={};if(e.id=y.derToOid(t.value[0].value),e.critical=!1,t.value[1].type===y.Type.BOOLEAN?(e.critical=t.value[1].value.charCodeAt(0)!==0,e.value=t.value[2].value):e.value=t.value[1].value,e.id in Ce){if(e.name=Ce[e.id],e.name==="keyUsage"){var r=y.fromDer(e.value),n=0,i=0;r.value.length>1&&(n=r.value.charCodeAt(1),i=r.value.length>2?r.value.charCodeAt(2):0),e.digitalSignature=(n&128)==128,e.nonRepudiation=(n&64)==64,e.keyEncipherment=(n&32)==32,e.dataEncipherment=(n&16)==16,e.keyAgreement=(n&8)==8,e.keyCertSign=(n&4)==4,e.cRLSign=(n&2)==2,e.encipherOnly=(n&1)==1,e.decipherOnly=(i&128)==128}else if(e.name==="basicConstraints"){var r=y.fromDer(e.value);r.value.length>0&&r.value[0].type===y.Type.BOOLEAN?e.cA=r.value[0].value.charCodeAt(0)!==0:e.cA=!1;var s=null;r.value.length>0&&r.value[0].type===y.Type.INTEGER?s=r.value[0].value:r.value.length>1&&(s=r.value[1].value),s!==null&&(e.pathLenConstraint=y.derToInteger(s))}else if(e.name==="extKeyUsage")for(var r=y.fromDer(e.value),o=0;o<r.value.length;++o){var a=y.derToOid(r.value[o].value);a in Ce?e[Ce[a]]=!0:e[a]=!0}else if(e.name==="nsCertType"){var r=y.fromDer(e.value),n=0;r.value.length>1&&(n=r.value.charCodeAt(1)),e.client=(n&128)==128,e.server=(n&64)==64,e.email=(n&32)==32,e.objsign=(n&16)==16,e.reserved=(n&8)==8,e.sslCA=(n&4)==4,e.emailCA=(n&2)==2,e.objCA=(n&1)==1}else if(e.name==="subjectAltName"||e.name==="issuerAltName"){e.altNames=[];for(var c,r=y.fromDer(e.value),u=0;u<r.value.length;++u){c=r.value[u];var l={type:c.type,value:c.value};switch(e.altNames.push(l),c.type){case 1:case 2:case 6:break;case 7:l.ip=oe.util.bytesToIP(c.value);break;case 8:l.oid=y.derToOid(c.value);break;default:}}}else if(e.name==="subjectKeyIdentifier"){var r=y.fromDer(e.value);e.subjectKeyIdentifier=oe.util.bytesToHex(r.value)}}return e};G.certificationRequestFromAsn1=function(t,e){var r={},n=[];if(!y.validate(t,nk,r,n)){var i=new Error("Cannot read PKCS#10 certificate request. ASN.1 object is not a PKCS#10 CertificationRequest.");throw i.errors=n,i}var s=y.derToOid(r.publicKeyOid);if(s!==G.oids.rsaEncryption)throw new Error("Cannot read public key. OID is not RSA.");var o=G.createCertificationRequest();if(o.version=r.csrVersion?r.csrVersion.charCodeAt(0):0,o.signatureOid=oe.asn1.derToOid(r.csrSignatureOid),o.signatureParameters=Nu(o.signatureOid,r.csrSignatureParams,!0),o.siginfo.algorithmOid=oe.asn1.derToOid(r.csrSignatureOid),o.siginfo.parameters=Nu(o.siginfo.algorithmOid,r.csrSignatureParams,!1),o.signature=r.csrSignature,o.certificationRequestInfo=r.certificationRequestInfo,e){o.md=Ou({signatureOid:o.signatureOid,type:"certification request"});var a=y.toDer(o.certificationRequestInfo);o.md.update(a.getBytes())}var c=oe.md.sha1.create();return o.subject.getField=function(u){return li(o.subject,u)},o.subject.addField=function(u){Ir([u]),o.subject.attributes.push(u)},o.subject.attributes=G.RDNAttributesAsArray(r.certificationRequestInfoSubject,c),o.subject.hash=c.digest().toHex(),o.publicKey=G.publicKeyFromAsn1(r.subjectPublicKeyInfo),o.getAttribute=function(u){return li(o,u)},o.addAttribute=function(u){Ir([u]),o.attributes.push(u)},o.attributes=G.CRIAttributesAsArray(r.certificationRequestInfoAttributes||[]),o};G.createCertificationRequest=function(){var t={};return t.version=0,t.signatureOid=null,t.signature=null,t.siginfo={},t.siginfo.algorithmOid=null,t.subject={},t.subject.getField=function(e){return li(t.subject,e)},t.subject.addField=function(e){Ir([e]),t.subject.attributes.push(e)},t.subject.attributes=[],t.subject.hash=null,t.publicKey=null,t.attributes=[],t.getAttribute=function(e){return li(t,e)},t.addAttribute=function(e){Ir([e]),t.attributes.push(e)},t.md=null,t.setSubject=function(e){Ir(e),t.subject.attributes=e,t.subject.hash=null},t.setAttributes=function(e){Ir(e),t.attributes=e},t.sign=function(e,r){t.md=r||oe.md.sha1.create();var n=Ce[t.md.algorithm+"WithRSAEncryption"];if(!n){var i=new Error("Could not compute certification request digest. Unknown message digest algorithm OID.");throw i.algorithm=t.md.algorithm,i}t.signatureOid=t.siginfo.algorithmOid=n,t.certificationRequestInfo=G.getCertificationRequestInfo(t);var s=y.toDer(t.certificationRequestInfo);t.md.update(s.getBytes()),t.signature=e.sign(t.md)},t.verify=function(){var e=!1,r=t.md;if(r===null){r=Ou({signatureOid:t.signatureOid,type:"certification request"});var n=t.certificationRequestInfo||G.getCertificationRequestInfo(t),i=y.toDer(n);r.update(i.getBytes())}return r!==null&&(e=ex({certificate:t,md:r,signature:t.signature})),e},t};function ho(t){for(var e=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]),r,n,i=t.attributes,s=0;s<i.length;++s){r=i[s];var o=r.value,a=y.Type.PRINTABLESTRING;"valueTagClass"in r&&(a=r.valueTagClass,a===y.Type.UTF8&&(o=oe.util.encodeUtf8(o))),n=y.create(y.Class.UNIVERSAL,y.Type.SET,!0,[y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(r.type).getBytes()),y.create(y.Class.UNIVERSAL,a,!1,o)])]),e.value.push(n)}return e}function Ir(t){for(var e,r=0;r<t.length;++r){if(e=t[r],typeof e.name=="undefined"&&(e.type&&e.type in G.oids?e.name=G.oids[e.type]:e.shortName&&e.shortName in ft&&(e.name=G.oids[ft[e.shortName]])),typeof e.type=="undefined")if(e.name&&e.name in G.oids)e.type=G.oids[e.name];else{var n=new Error("Attribute type not specified.");throw n.attribute=e,n}if(typeof e.shortName=="undefined"&&e.name&&e.name in ft&&(e.shortName=ft[e.name]),e.type===Ce.extensionRequest&&(e.valueConstructed=!0,e.valueTagClass=y.Type.SEQUENCE,!e.value&&e.extensions)){e.value=[];for(var i=0;i<e.extensions.length;++i)e.value.push(G.certificateExtensionToAsn1(tx(e.extensions[i])))}if(typeof e.value=="undefined"){var n=new Error("Attribute value not specified.");throw n.attribute=e,n}}}function tx(t,e){if(e=e||{},typeof t.name=="undefined"&&t.id&&t.id in G.oids&&(t.name=G.oids[t.id]),typeof t.id=="undefined")if(t.name&&t.name in G.oids)t.id=G.oids[t.name];else{var r=new Error("Extension ID not specified.");throw r.extension=t,r}if(typeof t.value!="undefined")return t;if(t.name==="keyUsage"){var n=0,i=0,s=0;t.digitalSignature&&(i|=128,n=7),t.nonRepudiation&&(i|=64,n=6),t.keyEncipherment&&(i|=32,n=5),t.dataEncipherment&&(i|=16,n=4),t.keyAgreement&&(i|=8,n=3),t.keyCertSign&&(i|=4,n=2),t.cRLSign&&(i|=2,n=1),t.encipherOnly&&(i|=1,n=0),t.decipherOnly&&(s|=128,n=7);var o=String.fromCharCode(n);s!==0?o+=String.fromCharCode(i)+String.fromCharCode(s):i!==0&&(o+=String.fromCharCode(i)),t.value=y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,o)}else if(t.name==="basicConstraints")t.value=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]),t.cA&&t.value.value.push(y.create(y.Class.UNIVERSAL,y.Type.BOOLEAN,!1,String.fromCharCode(255))),"pathLenConstraint"in t&&t.value.value.push(y.create(y.Class.UNIVERSAL,y.Type.INTEGER,!1,y.integerToDer(t.pathLenConstraint).getBytes()));else if(t.name==="extKeyUsage"){t.value=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);var a=t.value.value;for(var c in t)t[c]===!0&&(c in Ce?a.push(y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(Ce[c]).getBytes())):c.indexOf(".")!==-1&&a.push(y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(c).getBytes())))}else if(t.name==="nsCertType"){var n=0,i=0;t.client&&(i|=128,n=7),t.server&&(i|=64,n=6),t.email&&(i|=32,n=5),t.objsign&&(i|=16,n=4),t.reserved&&(i|=8,n=3),t.sslCA&&(i|=4,n=2),t.emailCA&&(i|=2,n=1),t.objCA&&(i|=1,n=0);var o=String.fromCharCode(n);i!==0&&(o+=String.fromCharCode(i)),t.value=y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,o)}else if(t.name==="subjectAltName"||t.name==="issuerAltName"){t.value=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);for(var u,l=0;l<t.altNames.length;++l){u=t.altNames[l];var o=u.value;if(u.type===7&&u.ip){if(o=oe.util.bytesFromIP(u.ip),o===null){var r=new Error('Extension "ip" value is not a valid IPv4 or IPv6 address.');throw r.extension=t,r}}else u.type===8&&(u.oid?o=y.oidToDer(y.oidToDer(u.oid)):o=y.oidToDer(o));t.value.value.push(y.create(y.Class.CONTEXT_SPECIFIC,u.type,!1,o))}}else if(t.name==="nsComment"&&e.cert){if(!/^[\x00-\x7F]*$/.test(t.comment)||t.comment.length<1||t.comment.length>128)throw new Error('Invalid "nsComment" content.');t.value=y.create(y.Class.UNIVERSAL,y.Type.IA5STRING,!1,t.comment)}else if(t.name==="subjectKeyIdentifier"&&e.cert){var f=e.cert.generateSubjectKeyIdentifier();t.subjectKeyIdentifier=f.toHex(),t.value=y.create(y.Class.UNIVERSAL,y.Type.OCTETSTRING,!1,f.getBytes())}else if(t.name==="authorityKeyIdentifier"&&e.cert){t.value=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);var a=t.value.value;if(t.keyIdentifier){var d=t.keyIdentifier===!0?e.cert.generateSubjectKeyIdentifier().getBytes():t.keyIdentifier;a.push(y.create(y.Class.CONTEXT_SPECIFIC,0,!1,d))}if(t.authorityCertIssuer){var p=[y.create(y.Class.CONTEXT_SPECIFIC,4,!0,[ho(t.authorityCertIssuer===!0?e.cert.issuer:t.authorityCertIssuer)])];a.push(y.create(y.Class.CONTEXT_SPECIFIC,1,!0,p))}if(t.serialNumber){var h=oe.util.hexToBytes(t.serialNumber===!0?e.cert.serialNumber:t.serialNumber);a.push(y.create(y.Class.CONTEXT_SPECIFIC,2,!1,h))}}else if(t.name==="cRLDistributionPoints"){t.value=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);for(var a=t.value.value,g=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]),m=y.create(y.Class.CONTEXT_SPECIFIC,0,!0,[]),u,l=0;l<t.altNames.length;++l){u=t.altNames[l];var o=u.value;if(u.type===7&&u.ip){if(o=oe.util.bytesFromIP(u.ip),o===null){var r=new Error('Extension "ip" value is not a valid IPv4 or IPv6 address.');throw r.extension=t,r}}else u.type===8&&(u.oid?o=y.oidToDer(y.oidToDer(u.oid)):o=y.oidToDer(o));m.value.push(y.create(y.Class.CONTEXT_SPECIFIC,u.type,!1,o))}g.value.push(y.create(y.Class.CONTEXT_SPECIFIC,0,!0,[m])),a.push(g)}if(typeof t.value=="undefined"){var r=new Error("Extension value not specified.");throw r.extension=t,r}return t}function Eh(t,e){switch(t){case Ce["RSASSA-PSS"]:var r=[];return e.hash.algorithmOid!==void 0&&r.push(y.create(y.Class.CONTEXT_SPECIFIC,0,!0,[y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(e.hash.algorithmOid).getBytes()),y.create(y.Class.UNIVERSAL,y.Type.NULL,!1,"")])])),e.mgf.algorithmOid!==void 0&&r.push(y.create(y.Class.CONTEXT_SPECIFIC,1,!0,[y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(e.mgf.algorithmOid).getBytes()),y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(e.mgf.hash.algorithmOid).getBytes()),y.create(y.Class.UNIVERSAL,y.Type.NULL,!1,"")])])])),e.saltLength!==void 0&&r.push(y.create(y.Class.CONTEXT_SPECIFIC,2,!0,[y.create(y.Class.UNIVERSAL,y.Type.INTEGER,!1,y.integerToDer(e.saltLength).getBytes())])),y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,r);default:return y.create(y.Class.UNIVERSAL,y.Type.NULL,!1,"")}}function ik(t){var e=y.create(y.Class.CONTEXT_SPECIFIC,0,!0,[]);if(t.attributes.length===0)return e;for(var r=t.attributes,n=0;n<r.length;++n){var i=r[n],s=i.value,o=y.Type.UTF8;"valueTagClass"in i&&(o=i.valueTagClass),o===y.Type.UTF8&&(s=oe.util.encodeUtf8(s));var a=!1;"valueConstructed"in i&&(a=i.valueConstructed);var c=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(i.type).getBytes()),y.create(y.Class.UNIVERSAL,y.Type.SET,!0,[y.create(y.Class.UNIVERSAL,o,a,s)])]);e.value.push(c)}return e}var sk=new Date("1950-01-01T00:00:00Z"),ok=new Date("2050-01-01T00:00:00Z");function rx(t){return t>=sk&&t<ok?y.create(y.Class.UNIVERSAL,y.Type.UTCTIME,!1,y.dateToUtcTime(t)):y.create(y.Class.UNIVERSAL,y.Type.GENERALIZEDTIME,!1,y.dateToGeneralizedTime(t))}G.getTBSCertificate=function(t){var e=rx(t.validity.notBefore),r=rx(t.validity.notAfter),n=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.CONTEXT_SPECIFIC,0,!0,[y.create(y.Class.UNIVERSAL,y.Type.INTEGER,!1,y.integerToDer(t.version).getBytes())]),y.create(y.Class.UNIVERSAL,y.Type.INTEGER,!1,oe.util.hexToBytes(t.serialNumber)),y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(t.siginfo.algorithmOid).getBytes()),Eh(t.siginfo.algorithmOid,t.siginfo.parameters)]),ho(t.issuer),y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[e,r]),ho(t.subject),G.publicKeyToAsn1(t.publicKey)]);return t.issuer.uniqueId&&n.value.push(y.create(y.Class.CONTEXT_SPECIFIC,1,!0,[y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,String.fromCharCode(0)+t.issuer.uniqueId)])),t.subject.uniqueId&&n.value.push(y.create(y.Class.CONTEXT_SPECIFIC,2,!0,[y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,String.fromCharCode(0)+t.subject.uniqueId)])),t.extensions.length>0&&n.value.push(G.certificateExtensionsToAsn1(t.extensions)),n};G.getCertificationRequestInfo=function(t){var e=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.INTEGER,!1,y.integerToDer(t.version).getBytes()),ho(t.subject),G.publicKeyToAsn1(t.publicKey),ik(t)]);return e};G.distinguishedNameToAsn1=function(t){return ho(t)};G.certificateToAsn1=function(t){var e=t.tbsCertificate||G.getTBSCertificate(t);return y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[e,y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(t.signatureOid).getBytes()),Eh(t.signatureOid,t.signatureParameters)]),y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,String.fromCharCode(0)+t.signature)])};G.certificateExtensionsToAsn1=function(t){var e=y.create(y.Class.CONTEXT_SPECIFIC,3,!0,[]),r=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);e.value.push(r);for(var n=0;n<t.length;++n)r.value.push(G.certificateExtensionToAsn1(t[n]));return e};G.certificateExtensionToAsn1=function(t){var e=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);e.value.push(y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(t.id).getBytes())),t.critical&&e.value.push(y.create(y.Class.UNIVERSAL,y.Type.BOOLEAN,!1,String.fromCharCode(255)));var r=t.value;return typeof t.value!="string"&&(r=y.toDer(r).getBytes()),e.value.push(y.create(y.Class.UNIVERSAL,y.Type.OCTETSTRING,!1,r)),e};G.certificationRequestToAsn1=function(t){var e=t.certificationRequestInfo||G.getCertificationRequestInfo(t);return y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[e,y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(t.signatureOid).getBytes()),Eh(t.signatureOid,t.signatureParameters)]),y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,String.fromCharCode(0)+t.signature)])};G.createCaStore=function(t){var e={certs:{}};e.getIssuer=function(o){var a=r(o.issuer);return a},e.addCertificate=function(o){if(typeof o=="string"&&(o=oe.pki.certificateFromPem(o)),n(o.subject),!e.hasCertificate(o))if(o.subject.hash in e.certs){var a=e.certs[o.subject.hash];oe.util.isArray(a)||(a=[a]),a.push(o),e.certs[o.subject.hash]=a}else e.certs[o.subject.hash]=o},e.hasCertificate=function(o){typeof o=="string"&&(o=oe.pki.certificateFromPem(o));var a=r(o.subject);if(!a)return!1;oe.util.isArray(a)||(a=[a]);for(var c=y.toDer(G.certificateToAsn1(o)).getBytes(),u=0;u<a.length;++u){var l=y.toDer(G.certificateToAsn1(a[u])).getBytes();if(c===l)return!0}return!1},e.listAllCertificates=function(){var o=[];for(var a in e.certs)if(e.certs.hasOwnProperty(a)){var c=e.certs[a];if(!oe.util.isArray(c))o.push(c);else for(var u=0;u<c.length;++u)o.push(c[u])}return o},e.removeCertificate=function(o){var a;if(typeof o=="string"&&(o=oe.pki.certificateFromPem(o)),n(o.subject),!e.hasCertificate(o))return null;var c=r(o.subject);if(!oe.util.isArray(c))return a=e.certs[o.subject.hash],delete e.certs[o.subject.hash],a;for(var u=y.toDer(G.certificateToAsn1(o)).getBytes(),l=0;l<c.length;++l){var f=y.toDer(G.certificateToAsn1(c[l])).getBytes();u===f&&(a=c[l],c.splice(l,1))}return c.length===0&&delete e.certs[o.subject.hash],a};function r(o){return n(o),e.certs[o.hash]||null}function n(o){if(!o.hash){var a=oe.md.sha1.create();o.attributes=G.RDNAttributesAsArray(ho(o),a),o.hash=a.digest().toHex()}}if(t)for(var i=0;i<t.length;++i){var s=t[i];e.addCertificate(s)}return e};G.certificateError={bad_certificate:"forge.pki.BadCertificate",unsupported_certificate:"forge.pki.UnsupportedCertificate",certificate_revoked:"forge.pki.CertificateRevoked",certificate_expired:"forge.pki.CertificateExpired",certificate_unknown:"forge.pki.CertificateUnknown",unknown_ca:"forge.pki.UnknownCertificateAuthority"};G.verifyCertificateChain=function(t,e,r){typeof r=="function"&&(r={verify:r}),r=r||{},e=e.slice(0);var n=e.slice(0),i=r.validityCheckDate;typeof i=="undefined"&&(i=new Date);var s=!0,o=null,a=0;do{var c=e.shift(),u=null,l=!1;if(i&&(i<c.validity.notBefore||i>c.validity.notAfter)&&(o={message:"Certificate is not valid yet or has expired.",error:G.certificateError.certificate_expired,notBefore:c.validity.notBefore,notAfter:c.validity.notAfter,now:i}),o===null){if(u=e[0]||t.getIssuer(c),u===null&&c.isIssuer(c)&&(l=!0,u=c),u){var f=u;oe.util.isArray(f)||(f=[f]);for(var d=!1;!d&&f.length>0;){u=f.shift();try{d=u.verify(c)}catch(q){}}d||(o={message:"Certificate signature is invalid.",error:G.certificateError.bad_certificate})}o===null&&(!u||l)&&!t.hasCertificate(c)&&(o={message:"Certificate is not trusted.",error:G.certificateError.unknown_ca})}if(o===null&&u&&!c.isIssuer(u)&&(o={message:"Certificate issuer is invalid.",error:G.certificateError.bad_certificate}),o===null)for(var p={keyUsage:!0,basicConstraints:!0},h=0;o===null&&h<c.extensions.length;++h){var g=c.extensions[h];g.critical&&!(g.name in p)&&(o={message:"Certificate has an unsupported critical extension.",error:G.certificateError.unsupported_certificate})}if(o===null&&(!s||e.length===0&&(!u||l))){var m=c.getExtension("basicConstraints"),x=c.getExtension("keyUsage");if(x!==null&&(!x.keyCertSign||m===null)&&(o={message:"Certificate keyUsage or basicConstraints conflict or indicate that the certificate is not a CA. If the certificate is the only one in the chain or isn't the first then the certificate must be a valid CA.",error:G.certificateError.bad_certificate}),o===null&&m!==null&&!m.cA&&(o={message:"Certificate basicConstraints indicates the certificate is not a CA.",error:G.certificateError.bad_certificate}),o===null&&x!==null&&"pathLenConstraint"in m){var R=a-1;R>m.pathLenConstraint&&(o={message:"Certificate basicConstraints pathLenConstraint violated.",error:G.certificateError.bad_certificate})}}var L=o===null?!0:o.error,H=r.verify?r.verify(L,a,n):L;if(H===!0)o=null;else throw L===!0&&(o={message:"The application rejected the certificate.",error:G.certificateError.bad_certificate}),(H||H===0)&&(typeof H=="object"&&!oe.util.isArray(H)?(H.message&&(o.message=H.message),H.error&&(o.error=H.error)):typeof H=="string"&&(o.error=H)),o;s=!1,++a}while(e.length>0);return!0}});var ox=w((eV,sx)=>{var Y=be();Is();jn();yc();Ss();bc();z_();Ci();$e();wh();var T=Y.asn1,zt=sx.exports=Y.pkcs7=Y.pkcs7||{};zt.messageFromPem=function(t){var e=Y.pem.decode(t)[0];if(e.type!=="PKCS7"){var r=new Error('Could not convert PKCS#7 message from PEM; PEM header type is not "PKCS#7".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert PKCS#7 message from PEM; PEM is encrypted.");var n=T.fromDer(e.body);return zt.messageFromAsn1(n)};zt.messageToPem=function(t,e){var r={type:"PKCS7",body:T.toDer(t.toAsn1()).getBytes()};return Y.pem.encode(r,{maxline:e})};zt.messageFromAsn1=function(t){var e={},r=[];if(!T.validate(t,zt.asn1.contentInfoValidator,e,r)){var n=new Error("Cannot read PKCS#7 message. ASN.1 object is not an PKCS#7 ContentInfo.");throw n.errors=r,n}var i=T.derToOid(e.contentType),s;switch(i){case Y.pki.oids.envelopedData:s=zt.createEnvelopedData();break;case Y.pki.oids.encryptedData:s=zt.createEncryptedData();break;case Y.pki.oids.signedData:s=zt.createSignedData();break;default:throw new Error("Cannot read PKCS#7 message. ContentType with OID "+i+" is not (yet) supported.")}return s.fromAsn1(e.content.value[0]),s};zt.createSignedData=function(){var t=null;return t={type:Y.pki.oids.signedData,version:1,certificates:[],crls:[],signers:[],digestAlgorithmIdentifiers:[],contentInfo:null,signerInfos:[],fromAsn1:function(n){if(xh(t,n,zt.asn1.signedDataValidator),t.certificates=[],t.crls=[],t.digestAlgorithmIdentifiers=[],t.contentInfo=null,t.signerInfos=[],t.rawCapture.certificates)for(var i=t.rawCapture.certificates.value,s=0;s<i.length;++s)t.certificates.push(Y.pki.certificateFromAsn1(i[s]))},toAsn1:function(){t.contentInfo||t.sign();for(var n=[],i=0;i<t.certificates.length;++i)n.push(Y.pki.certificateToAsn1(t.certificates[i]));var s=[],o=T.create(T.Class.CONTEXT_SPECIFIC,0,!0,[T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,T.integerToDer(t.version).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SET,!0,t.digestAlgorithmIdentifiers),t.contentInfo])]);return n.length>0&&o.value[0].value.push(T.create(T.Class.CONTEXT_SPECIFIC,0,!0,n)),s.length>0&&o.value[0].value.push(T.create(T.Class.CONTEXT_SPECIFIC,1,!0,s)),o.value[0].value.push(T.create(T.Class.UNIVERSAL,T.Type.SET,!0,t.signerInfos)),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.type).getBytes()),o])},addSigner:function(n){var i=n.issuer,s=n.serialNumber;if(n.certificate){var o=n.certificate;typeof o=="string"&&(o=Y.pki.certificateFromPem(o)),i=o.issuer.attributes,s=o.serialNumber}var a=n.key;if(!a)throw new Error("Could not add PKCS#7 signer; no private key specified.");typeof a=="string"&&(a=Y.pki.privateKeyFromPem(a));var c=n.digestAlgorithm||Y.pki.oids.sha1;switch(c){case Y.pki.oids.sha1:case Y.pki.oids.sha256:case Y.pki.oids.sha384:case Y.pki.oids.sha512:case Y.pki.oids.md5:break;default:throw new Error("Could not add PKCS#7 signer; unknown message digest algorithm: "+c)}var u=n.authenticatedAttributes||[];if(u.length>0){for(var l=!1,f=!1,d=0;d<u.length;++d){var p=u[d];if(!l&&p.type===Y.pki.oids.contentType){if(l=!0,f)break;continue}if(!f&&p.type===Y.pki.oids.messageDigest){if(f=!0,l)break;continue}}if(!l||!f)throw new Error("Invalid signer.authenticatedAttributes. If signer.authenticatedAttributes is specified, then it must contain at least two attributes, PKCS #9 content-type and PKCS #9 message-digest.")}t.signers.push({key:a,version:1,issuer:i,serialNumber:s,digestAlgorithm:c,signatureAlgorithm:Y.pki.oids.rsaEncryption,signature:null,authenticatedAttributes:u,unauthenticatedAttributes:[]})},sign:function(n){if(n=n||{},(typeof t.content!="object"||t.contentInfo===null)&&(t.contentInfo=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(Y.pki.oids.data).getBytes())]),"content"in t)){var i;t.content instanceof Y.util.ByteBuffer?i=t.content.bytes():typeof t.content=="string"&&(i=Y.util.encodeUtf8(t.content)),n.detached?t.detachedContent=T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,i):t.contentInfo.value.push(T.create(T.Class.CONTEXT_SPECIFIC,0,!0,[T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,i)]))}if(t.signers.length!==0){var s=e();r(s)}},verify:function(){throw new Error("PKCS#7 signature verification not yet implemented.")},addCertificate:function(n){typeof n=="string"&&(n=Y.pki.certificateFromPem(n)),t.certificates.push(n)},addCertificateRevokationList:function(n){throw new Error("PKCS#7 CRL support not yet implemented.")}},t;function e(){for(var n={},i=0;i<t.signers.length;++i){var s=t.signers[i],o=s.digestAlgorithm;o in n||(n[o]=Y.md[Y.pki.oids[o]].create()),s.authenticatedAttributes.length===0?s.md=n[o]:s.md=Y.md[Y.pki.oids[o]].create()}t.digestAlgorithmIdentifiers=[];for(var o in n)t.digestAlgorithmIdentifiers.push(T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(o).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")]));return n}function r(n){var i;if(t.detachedContent?i=t.detachedContent:(i=t.contentInfo.value[1],i=i.value[0]),!i)throw new Error("Could not sign PKCS#7 message; there is no content to sign.");var s=T.derToOid(t.contentInfo.value[0].value),o=T.toDer(i);o.getByte(),T.getBerValueLength(o),o=o.getBytes();for(var a in n)n[a].start().update(o);for(var c=new Date,u=0;u<t.signers.length;++u){var l=t.signers[u];if(l.authenticatedAttributes.length===0){if(s!==Y.pki.oids.data)throw new Error("Invalid signer; authenticatedAttributes must be present when the ContentInfo content type is not PKCS#7 Data.")}else{l.authenticatedAttributesAsn1=T.create(T.Class.CONTEXT_SPECIFIC,0,!0,[]);for(var f=T.create(T.Class.UNIVERSAL,T.Type.SET,!0,[]),d=0;d<l.authenticatedAttributes.length;++d){var p=l.authenticatedAttributes[d];p.type===Y.pki.oids.messageDigest?p.value=n[l.digestAlgorithm].digest():p.type===Y.pki.oids.signingTime&&(p.value||(p.value=c)),f.value.push(_h(p)),l.authenticatedAttributesAsn1.value.push(_h(p))}o=T.toDer(f).getBytes(),l.md.start().update(o)}l.signature=l.key.sign(l.md,"RSASSA-PKCS1-V1_5")}t.signerInfos=dk(t.signers)}};zt.createEncryptedData=function(){var t=null;return t={type:Y.pki.oids.encryptedData,version:0,encryptedContent:{algorithm:Y.pki.oids["aes256-CBC"]},fromAsn1:function(e){xh(t,e,zt.asn1.encryptedDataValidator)},decrypt:function(e){e!==void 0&&(t.encryptedContent.key=e),ix(t)}},t};zt.createEnvelopedData=function(){var t=null;return t={type:Y.pki.oids.envelopedData,version:0,recipients:[],encryptedContent:{algorithm:Y.pki.oids["aes256-CBC"]},fromAsn1:function(e){var r=xh(t,e,zt.asn1.envelopedDataValidator);t.recipients=uk(r.recipientInfos.value)},toAsn1:function(){return T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.type).getBytes()),T.create(T.Class.CONTEXT_SPECIFIC,0,!0,[T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,T.integerToDer(t.version).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SET,!0,lk(t.recipients)),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,hk(t.encryptedContent))])])])},findRecipient:function(e){for(var r=e.issuer.attributes,n=0;n<t.recipients.length;++n){var i=t.recipients[n],s=i.issuer;if(i.serialNumber===e.serialNumber&&s.length===r.length){for(var o=!0,a=0;a<r.length;++a)if(s[a].type!==r[a].type||s[a].value!==r[a].value){o=!1;break}if(o)return i}}return null},decrypt:function(e,r){if(t.encryptedContent.key===void 0&&e!==void 0&&r!==void 0)switch(e.encryptedContent.algorithm){case Y.pki.oids.rsaEncryption:case Y.pki.oids.desCBC:var n=r.decrypt(e.encryptedContent.content);t.encryptedContent.key=Y.util.createBuffer(n);break;default:throw new Error("Unsupported asymmetric cipher, OID "+e.encryptedContent.algorithm)}ix(t)},addRecipient:function(e){t.recipients.push({version:0,issuer:e.issuer.attributes,serialNumber:e.serialNumber,encryptedContent:{algorithm:Y.pki.oids.rsaEncryption,key:e.publicKey}})},encrypt:function(e,r){if(t.encryptedContent.content===void 0){r=r||t.encryptedContent.algorithm,e=e||t.encryptedContent.key;var n,i,s;switch(r){case Y.pki.oids["aes128-CBC"]:n=16,i=16,s=Y.aes.createEncryptionCipher;break;case Y.pki.oids["aes192-CBC"]:n=24,i=16,s=Y.aes.createEncryptionCipher;break;case Y.pki.oids["aes256-CBC"]:n=32,i=16,s=Y.aes.createEncryptionCipher;break;case Y.pki.oids["des-EDE3-CBC"]:n=24,i=8,s=Y.des.createEncryptionCipher;break;default:throw new Error("Unsupported symmetric cipher, OID "+r)}if(e===void 0)e=Y.util.createBuffer(Y.random.getBytes(n));else if(e.length()!=n)throw new Error("Symmetric key has wrong length; got "+e.length()+" bytes, expected "+n+".");t.encryptedContent.algorithm=r,t.encryptedContent.key=e,t.encryptedContent.parameter=Y.util.createBuffer(Y.random.getBytes(i));var o=s(e);if(o.start(t.encryptedContent.parameter.copy()),o.update(t.content),!o.finish())throw new Error("Symmetric encryption failed.");t.encryptedContent.content=o.output}for(var a=0;a<t.recipients.length;++a){var c=t.recipients[a];if(c.encryptedContent.content===void 0)switch(c.encryptedContent.algorithm){case Y.pki.oids.rsaEncryption:c.encryptedContent.content=c.encryptedContent.key.encrypt(t.encryptedContent.key.data);break;default:throw new Error("Unsupported asymmetric cipher, OID "+c.encryptedContent.algorithm)}}}},t};function ak(t){var e={},r=[];if(!T.validate(t,zt.asn1.recipientInfoValidator,e,r)){var n=new Error("Cannot read PKCS#7 RecipientInfo. ASN.1 object is not an PKCS#7 RecipientInfo.");throw n.errors=r,n}return{version:e.version.charCodeAt(0),issuer:Y.pki.RDNAttributesAsArray(e.issuer),serialNumber:Y.util.createBuffer(e.serial).toHex(),encryptedContent:{algorithm:T.derToOid(e.encAlgorithm),parameter:e.encParameter?e.encParameter.value:void 0,content:e.encKey}}}function ck(t){return T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,T.integerToDer(t.version).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[Y.pki.distinguishedNameToAsn1({attributes:t.issuer}),T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,Y.util.hexToBytes(t.serialNumber))]),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.encryptedContent.algorithm).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")]),T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t.encryptedContent.content)])}function uk(t){for(var e=[],r=0;r<t.length;++r)e.push(ak(t[r]));return e}function lk(t){for(var e=[],r=0;r<t.length;++r)e.push(ck(t[r]));return e}function fk(t){var e=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,T.integerToDer(t.version).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[Y.pki.distinguishedNameToAsn1({attributes:t.issuer}),T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,Y.util.hexToBytes(t.serialNumber))]),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.digestAlgorithm).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")])]);if(t.authenticatedAttributesAsn1&&e.value.push(t.authenticatedAttributesAsn1),e.value.push(T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.signatureAlgorithm).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")])),e.value.push(T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t.signature)),t.unauthenticatedAttributes.length>0){for(var r=T.create(T.Class.CONTEXT_SPECIFIC,1,!0,[]),n=0;n<t.unauthenticatedAttributes.length;++n){var i=t.unauthenticatedAttributes[n];r.values.push(_h(i))}e.value.push(r)}return e}function dk(t){for(var e=[],r=0;r<t.length;++r)e.push(fk(t[r]));return e}function _h(t){var e;if(t.type===Y.pki.oids.contentType)e=T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.value).getBytes());else if(t.type===Y.pki.oids.messageDigest)e=T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t.value.bytes());else if(t.type===Y.pki.oids.signingTime){var r=new Date("1950-01-01T00:00:00Z"),n=new Date("2050-01-01T00:00:00Z"),i=t.value;if(typeof i=="string"){var s=Date.parse(i);isNaN(s)?i.length===13?i=T.utcTimeToDate(i):i=T.generalizedTimeToDate(i):i=new Date(s)}i>=r&&i<n?e=T.create(T.Class.UNIVERSAL,T.Type.UTCTIME,!1,T.dateToUtcTime(i)):e=T.create(T.Class.UNIVERSAL,T.Type.GENERALIZEDTIME,!1,T.dateToGeneralizedTime(i))}return T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.type).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SET,!0,[e])])}function hk(t){return[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(Y.pki.oids.data).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.algorithm).getBytes()),t.parameter?T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t.parameter.getBytes()):void 0]),T.create(T.Class.CONTEXT_SPECIFIC,0,!0,[T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t.content.getBytes())])]}function xh(t,e,r){var n={},i=[];if(!T.validate(e,r,n,i)){var s=new Error("Cannot read PKCS#7 message. ASN.1 object is not a supported PKCS#7 message.");throw s.errors=s,s}var o=T.derToOid(n.contentType);if(o!==Y.pki.oids.data)throw new Error("Unsupported PKCS#7 message. Only wrapped ContentType Data supported.");if(n.encryptedContent){var a="";if(Y.util.isArray(n.encryptedContent))for(var c=0;c<n.encryptedContent.length;++c){if(n.encryptedContent[c].type!==T.Type.OCTETSTRING)throw new Error("Malformed PKCS#7 message, expecting encrypted content constructed of only OCTET STRING objects.");a+=n.encryptedContent[c].value}else a=n.encryptedContent;t.encryptedContent={algorithm:T.derToOid(n.encAlgorithm),parameter:Y.util.createBuffer(n.encParameter.value),content:Y.util.createBuffer(a)}}if(n.content){var a="";if(Y.util.isArray(n.content))for(var c=0;c<n.content.length;++c){if(n.content[c].type!==T.Type.OCTETSTRING)throw new Error("Malformed PKCS#7 message, expecting content constructed of only OCTET STRING objects.");a+=n.content[c].value}else a=n.content;t.content=Y.util.createBuffer(a)}return t.version=n.version.charCodeAt(0),t.rawCapture=n,n}function ix(t){if(t.encryptedContent.key===void 0)throw new Error("Symmetric key not available.");if(t.content===void 0){var e;switch(t.encryptedContent.algorithm){case Y.pki.oids["aes128-CBC"]:case Y.pki.oids["aes192-CBC"]:case Y.pki.oids["aes256-CBC"]:e=Y.aes.createDecryptionCipher(t.encryptedContent.key);break;case Y.pki.oids.desCBC:case Y.pki.oids["des-EDE3-CBC"]:e=Y.des.createDecryptionCipher(t.encryptedContent.key);break;default:throw new Error("Unsupported symmetric cipher, OID "+t.encryptedContent.algorithm)}if(e.start(t.encryptedContent.parameter),e.update(t.encryptedContent.content),!e.finish())throw new Error("Symmetric decryption failed.");t.content=e.output}}});var ux=w((tV,cx)=>{"use strict";wh();var pk=be(),ax=pk.pki,yk=(t,e)=>{let r=ax.setRsaPublicKey(e.n,e.e),n=ax.createCertificate();n.publicKey=r,n.serialNumber="01",n.validity.notBefore=new Date,n.validity.notAfter=new Date,n.validity.notAfter.setFullYear(n.validity.notBefore.getFullYear()+10);let i=[{name:"organizationName",value:"ipfs"},{shortName:"OU",value:"keystore"},{name:"commonName",value:t.id}];return n.setSubject(i),n.setIssuer(i),n.setExtensions([{name:"basicConstraints",cA:!0},{name:"keyUsage",keyCertSign:!0,digitalSignature:!0,nonRepudiation:!0,keyEncipherment:!0,dataEncipherment:!0},{name:"extKeyUsage",serverAuth:!0,clientAuth:!0,codeSigning:!0,emailProtection:!0,timeStamping:!0},{name:"nsCertType",client:!0,server:!0,email:!0,objsign:!0,sslCA:!0,emailCA:!0,objCA:!0}]),n.sign(e),n};async function gk(t,e){let r=t.map(e),i=(await Promise.all(r)).findIndex(s=>s);return t[i]}cx.exports={certificateForKey:yk,findAsync:gk}});var hx=w((rV,dx)=>{"use strict";ox();Jl();var fi=be(),{certificateForKey:mk,findAsync:vk}=ux(),po=de(),{fromString:lx}=(It(),Nt),{toString:bk}=(Tt(),Ot),{codes:yo}=je(),Sh=new WeakMap,fx=class{constructor(e,r){if(!e)throw po(new Error("keychain is required"),yo.ERR_KEYCHAIN_REQUIRED);this.keychain=e,Sh.set(this,{dek:r})}async encrypt(e,r){if(!(r instanceof Uint8Array))throw po(new Error("Plain data must be a Uint8Array"),yo.ERR_INVALID_PARAMETERS);let n=await this.keychain.findKeyByName(e),i=await this.keychain._getPrivateKey(e),s=Sh.get(this).dek,o=fi.pki.decryptRsaPrivateKey(i,s),a=await mk(n,o),c=fi.pkcs7.createEnvelopedData();c.addRecipient(a),c.content=fi.util.createBuffer(r),c.encrypt();let u=fi.asn1.toDer(c.toAsn1()).getBytes();return lx(u,"ascii")}async decrypt(e){if(!(e instanceof Uint8Array))throw po(new Error("CMS data is required"),yo.ERR_INVALID_PARAMETERS);let r;try{let u=fi.util.createBuffer(bk(e,"ascii")),l=fi.asn1.fromDer(u);r=fi.pkcs7.messageFromAsn1(l)}catch(u){throw po(new Error("Invalid CMS: "+u.message),yo.ERR_INVALID_CMS)}let n=r.recipients.filter(u=>u.issuer.find(l=>l.shortName==="O"&&l.value==="ipfs")).filter(u=>u.issuer.find(l=>l.shortName==="CN")).map(u=>({recipient:u,keyId:u.issuer.find(l=>l.shortName==="CN").value})),i=await vk(n,async u=>{try{if(await this.keychain.findKeyById(u.keyId))return!0}catch(l){return!1}return!1});if(!i){let u=n.map(l=>l.keyId);throw po(new Error("Decryption needs one of the key(s): "+u.join(", ")),yo.ERR_MISSING_KEYS,{missingKeys:u})}let s=await this.keychain.findKeyById(i.keyId);if(!s)throw po(new Error("No key available to decrypto"),yo.ERR_NO_KEY);let o=await this.keychain._getPrivateKey(s.name),a=Sh.get(this).dek,c=fi.pki.decryptRsaPrivateKey(o,a);return r.decrypt(i.recipient,c),lx(r.content.getBytes(),"ascii")}};dx.exports=fx});var Ex=w((nV,bx)=>{"use strict";var px=Te(),yx=Object.assign(px("libp2p:keychain"),{error:px("libp2p:keychain:err")}),Ek=B_(),wk=Hs(),ns=Bu(),{Key:gx}=(Jc(),id),_k=hx(),et=de(),{codes:tt}=je(),{toString:is}=(Tt(),Ot),{fromString:Pn}=(It(),Nt);yf();var xk="/pkcs8/",mx="/info/",di=new WeakMap,ss={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},Ah={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function Nn(t){return!t||typeof t!="string"?!1:t===Ek(t.trim())}async function Le(t){let e=200,r=1e3,n=Math.random()*(r-e)+e;throw await new Promise(i=>setTimeout(i,n)),t}function fn(t){return new gx(xk+t)}function hi(t){return new gx(mx+t)}var vx=class{constructor(e,r){if(!e)throw new Error("store is required");if(this.store=e,this.opts=wk(Ah,r),this.opts.pass&&this.opts.pass.length<20)throw new Error("pass must be least 20 characters");if(this.opts.dek.keyLength<ss.minKeyLength)throw new Error(`dek.keyLength must be least ${ss.minKeyLength} bytes`);if(this.opts.dek.salt.length<ss.minSaltLength)throw new Error(`dek.saltLength must be least ${ss.minSaltLength} bytes`);if(this.opts.dek.iterationCount<ss.minIterationCount)throw new Error(`dek.iterationCount must be least ${ss.minIterationCount}`);let n=this.opts.pass?ns.pbkdf2(this.opts.pass,this.opts.dek.salt,this.opts.dek.iterationCount,this.opts.dek.keyLength,this.opts.dek.hash):"";di.set(this,{dek:n})}get cms(){return new _k(this,di.get(this).dek)}static generateOptions(){let e=Object.assign({},Ah),r=Math.ceil(ss.minSaltLength/3)*3;return e.dek.salt=is(ns.randomBytes(r),"base64"),e}static get options(){return Ah}async createKey(e,r,n=2048){let i=this;if(!Nn(e)||e==="self")return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));if(typeof r!="string")return Le(et(new Error(`Invalid key type '${r}'`),tt.ERR_INVALID_KEY_TYPE));let s=fn(e);if(await i.store.has(s))return Le(et(new Error(`Key '${e}' already exists`),tt.ERR_KEY_ALREADY_EXISTS));switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)return Le(et(new Error(`Invalid RSA key size ${n}`),tt.ERR_INVALID_KEY_SIZE));break;default:break}let a;try{let c=await ns.keys.generateKeyPair(r,n),u=await c.id(),l=di.get(this).dek,f=await c.export(l);a={name:e,id:u};let d=i.store.batch();d.put(s,Pn(f)),d.put(hi(e),Pn(JSON.stringify(a))),await d.commit()}catch(c){return Le(c)}return a}async listKeys(){let e=this,r={prefix:mx},n=[];for await(let i of e.store.query(r))n.push(JSON.parse(is(i.value)));return n}async findKeyById(e){try{return(await this.listKeys()).find(n=>n.id===e)}catch(r){return Le(r)}}async findKeyByName(e){if(!Nn(e))return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));let r=hi(e);try{let n=await this.store.get(r);return JSON.parse(is(n))}catch(n){return Le(et(new Error(`Key '${e}' does not exist. ${n.message}`),tt.ERR_KEY_NOT_FOUND))}}async removeKey(e){let r=this;if(!Nn(e)||e==="self")return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));let n=fn(e),i=await r.findKeyByName(e),s=r.store.batch();return s.delete(n),s.delete(hi(e)),await s.commit(),i}async renameKey(e,r){let n=this;if(!Nn(e)||e==="self")return Le(et(new Error(`Invalid old key name '${e}'`),tt.ERR_OLD_KEY_NAME_INVALID));if(!Nn(r)||r==="self")return Le(et(new Error(`Invalid new key name '${r}'`),tt.ERR_NEW_KEY_NAME_INVALID));let i=fn(e),s=fn(r),o=hi(e),a=hi(r);if(await n.store.has(s))return Le(et(new Error(`Key '${r}' already exists`),tt.ERR_KEY_ALREADY_EXISTS));try{let u=await n.store.get(i),l=await n.store.get(o),f=JSON.parse(is(l));f.name=r;let d=n.store.batch();return d.put(s,u),d.put(a,Pn(JSON.stringify(f))),d.delete(i),d.delete(o),await d.commit(),f}catch(u){return Le(u)}}async exportKey(e,r){if(!Nn(e))return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));if(!r)return Le(et(new Error("Password is required"),tt.ERR_PASSWORD_REQUIRED));let n=fn(e);try{let i=await this.store.get(n),s=is(i),o=di.get(this).dek;return(await ns.keys.import(s,o)).export(r)}catch(i){return Le(i)}}async importKey(e,r,n){let i=this;if(!Nn(e)||e==="self")return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));if(!r)return Le(et(new Error("PEM encoded key is required"),tt.ERR_PEM_REQUIRED));let s=fn(e);if(await i.store.has(s))return Le(et(new Error(`Key '${e}' already exists`),tt.ERR_KEY_ALREADY_EXISTS));let a;try{a=await ns.keys.import(r,n)}catch(f){return Le(et(new Error("Cannot read the key, most likely the password is wrong"),tt.ERR_CANNOT_READ_KEY))}let c;try{c=await a.id();let f=di.get(this).dek;r=await a.export(f)}catch(f){return Le(f)}let u={name:e,id:c},l=i.store.batch();return l.put(s,Pn(r)),l.put(hi(e),Pn(JSON.stringify(u))),await l.commit(),u}async importPeer(e,r){let n=this;if(!Nn(e))return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));if(!r||!r.privKey)return Le(et(new Error("Peer.privKey is required"),tt.ERR_MISSING_PRIVATE_KEY));let i=r.privKey,s=fn(e);if(await n.store.has(s))return Le(et(new Error(`Key '${e}' already exists`),tt.ERR_KEY_ALREADY_EXISTS));try{let a=await i.id(),c=di.get(this).dek,u=await i.export(c),l={name:e,id:a},f=n.store.batch();return f.put(s,Pn(u)),f.put(hi(e),Pn(JSON.stringify(l))),await f.commit(),l}catch(a){return Le(a)}}async _getPrivateKey(e){if(!Nn(e))return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));try{let r=fn(e),n=await this.store.get(r);return is(n)}catch(r){return Le(et(new Error(`Key '${e}' does not exist. ${r.message}`),tt.ERR_KEY_NOT_FOUND))}}async rotateKeychainPass(e,r){if(typeof e!="string")return Le(et(new Error(`Invalid old pass type '${typeof e}'`),tt.ERR_INVALID_OLD_PASS_TYPE));if(typeof r!="string")return Le(et(new Error(`Invalid new pass type '${typeof r}'`),tt.ERR_INVALID_NEW_PASS_TYPE));if(r.length<20)return Le(et(new Error(`Invalid pass length ${r.length}`),tt.ERR_INVALID_PASS_LENGTH));yx("recreating keychain");let n=di.get(this).dek;this.opts.pass=r;let i=r?ns.pbkdf2(r,this.opts.dek.salt,this.opts.dek.iterationCount,this.opts.dek.keyLength,this.opts.dek.hash):"";di.set(this,{dek:i});let s=await this.listKeys();for(let o of s){let a=await this.store.get(fn(o.name)),c=is(a),u=await ns.keys.import(c,n),l=i.toString(),f=await u.export(l),d=this.store.batch(),p={name:o.name,id:o.id};d.put(fn(o.name),Pn(f)),d.put(hi(o.name),Pn(JSON.stringify(p))),await d.commit()}yx("keychain reconstructed")}};bx.exports=vx});var Lu=w((Du,wx)=>{(function(t,e){typeof Du=="object"&&typeof wx!="undefined"?e(Du):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis!="undefined"?globalThis:t||self,e(t.streamingIterables={}))})(Du,function(t){"use strict";async function*e(b,v){let _=[];for await(let C of v)_.push(C),_.length===b&&(yield _,_=[]);_.length>0&&(yield _)}function*r(b,v){let _=[];for(let C of v)_.push(C),_.length===b&&(yield _,_=[]);_.length>0&&(yield _)}function n(b,v){return v===void 0?_=>n(b,_):v[Symbol.asyncIterator]?e(b,v):r(b,v)}function i(b){if(typeof b.next=="function")return b;if(typeof b[Symbol.iterator]=="function")return b[Symbol.iterator]();if(typeof b[Symbol.asyncIterator]=="function")return b[Symbol.asyncIterator]();throw new TypeError('"values" does not to conform to any of the iterator or iterable protocols')}function s(){let b,v;return{promise:new Promise((C,A)=>{v=C,b=A}),reject:b,resolve:v}}function o(b,v){let _=i(v),C=[],A=[],B=!1,N=!1;function O(){for(;A.length>0&&C.length>0;){let ee=A.shift(),{error:fe,value:qe}=C.shift();fe?ee.reject(fe):ee.resolve({done:!1,value:qe})}for(;A.length>0&&N;){let{resolve:ee}=A.shift();ee({done:!0,value:void 0})}}async function U(){if(!N&&!B&&!(C.length>=b)){B=!0;try{let{done:ee,value:fe}=await _.next();ee?N=!0:C.push({value:fe})}catch(ee){N=!0,C.push({error:ee})}O(),B=!1,U()}}async function W(){if(C.length>0){let{error:fe,value:qe}=C.shift();if(fe)throw fe;return U(),{done:!1,value:qe}}if(N)return{done:!0,value:void 0};let ee=s();return A.push(ee),U(),ee.promise}let Q={next:W,[Symbol.asyncIterator]:()=>Q};return Q}function*a(b,v){let _=[],C;try{for(let A of v)_.push(A),!(_.length<=b)&&(yield _.shift())}catch(A){C=A}for(let A of _)yield A;if(C)throw C}function c(b,v){return v===void 0?_=>c(b,_):b===0?v:v[Symbol.asyncIterator]?o(b,v):a(b,v)}async function u(b){let v=[];for await(let _ of b)v.push(_);return v}function l(b){return b[Symbol.asyncIterator]?u(b):Array.from(b)}async function*f(b){for await(let v of b)yield*v}function*d(b){for(let v of b)yield*v}function p(...b){return b.find(_=>_[Symbol.asyncIterator]!==void 0)?f(b):d(b)}async function h(b){for await(let v of b);}function g(b){if(b[Symbol.asyncIterator])return h(b);for(let v of b);}async function*m(b,v){for await(let _ of v)await b(_)&&(yield _)}function x(b,v){return v===void 0?_=>m(b,_):m(b,v)}async function*R(b){for await(let v of b)v&&typeof v!="string"&&(v[Symbol.iterator]||v[Symbol.asyncIterator])?yield*R(v):yield v}async function*L(b,v){for await(let _ of v)yield await b(_)}function H(b,v){return v===void 0?_=>L(b,_):L(b,v)}function q(b,v){return v===void 0?_=>q(b,_):x(_=>_!=null,R(H(b,v)))}function k(b,v,_){let C=i(_),A=[],B=[],N=!1,O=!1,U=0,W=null;function Q(){for(;B.length>0&&A.length>0;){let{resolve:ae}=B.shift(),ue=A.shift();ae({done:!1,value:ue})}for(;B.length>0&&U===0&&N;){let{resolve:ae,reject:ue}=B.shift();W?(ue(W),W=null):ae({done:!0,value:void 0})}}async function ee(){if(N){Q();return}if(!O&&!(U+A.length>=b)){O=!0,U++;try{let{done:ae,value:ue}=await C.next();ae?(N=!0,U--,Q()):fe(ue)}catch(ae){N=!0,U--,W=ae,Q()}O=!1,ee()}}async function fe(ae){try{let ue=await v(ae);if(ue&&ue[Symbol.asyncIterator])for await(let ds of ue)A.push(ds);else A.push(ue)}catch(ue){N=!0,W=ue}U--,Q(),ee()}async function qe(){if(A.length===0){let ue=s();return B.push(ue),ee(),ue.promise}let ae=A.shift();return ee(),{done:!1,value:ae}}let ge={next:qe,[Symbol.asyncIterator]:()=>ge};return ge}function J(b,v,_){return v===void 0?(C,A)=>A?J(b,C,A):J(b,C):_===void 0?C=>J(b,v,C):x(C=>C!=null,R(k(b,v,_)))}async function ie(b){return new Promise(v=>{b.once("readable",()=>{v()})})}async function*j(b){for(;;){let v=b.read();if(v!==null){yield v;continue}if(b._readableState.ended)break;await ie(b)}}function we(b){return typeof b[Symbol.asyncIterator]=="function"?b:j(b)}async function*le(...b){let v=new Set(b.map(i));for(;v.size>0;)for(let _ of v){let C=await _.next();C.done?v.delete(_):yield C.value}}function ye(b,...v){let _=b();for(let C of v)_=C(_);return _}async function*nt(b,v,_){let C=null,A=U=>({value:v(U)}),B=async function*(U){for await(let W of U){if(C)return;yield W}},N=ye(()=>_,c(1),B,H(A),c(b-1)),O=i(N);for(;;){let{value:U,done:W}=await O.next();if(W)break;try{let Q=await U.value;C||(yield Q)}catch(Q){C=Q}}if(C)throw C}function it(b,v,_){return v===void 0?(C,A)=>it(b,C,A):_===void 0?C=>it(b,v,C):b===1?H(v,_):nt(b,v,_)}function Ie(b,v,_){return v===void 0?(C,A)=>A?Ie(b,C,A):Ie(b,C):_===void 0?C=>Ie(b,v,C):x(C=>C!=null,R(it(b,v,_)))}async function*Fe(...b){let v=b.map(i),_=new Set,C=new Map,A=null,B=null,N=null,O=ee=>{A=ee,B&&B(ee)},U=ee=>{N&&N(ee)},W=()=>new Promise((ee,fe)=>{if(A&&fe(A),C.size>0)return ee();N=ee,B=fe}),Q=ee=>{let fe=Promise.resolve(ee.next()).then(async({done:qe,value:ge})=>{qe||C.set(ee,ge),_.delete(fe)});_.add(fe),fe.then(U,O)};for(let ee of v)Q(ee);for(;;){if(_.size===0&&C.size===0)return;await W();for(let[ee,fe]of C)C.delete(ee),yield fe,Q(ee)}}async function ne(b,v,_){let C=v;for await(let A of _)C=await b(C,A);return C}function tr(b,v,_){return v===void 0?(C,A)=>A?ne(b,C,A):tr(b,C):_===void 0?C=>tr(b,v,C):ne(b,v,_)}async function*Wt(b,v){let _=0;for await(let C of v)if(yield await C,_++,_>=b)break}function*hn(b,v){let _=0;for(let C of v)if(yield C,_++,_>=b)break}function Yt(b,v){return v===void 0?_=>Yt(b,_):v[Symbol.asyncIterator]?Wt(b,v):hn(b,v)}async function*pn(b,v){for await(let _ of v)await b(_),yield _}function z(b,v){return v===void 0?_=>pn(b,_):pn(b,v)}function fs(b,v){let _=b[0]+v[0],C=b[1]+v[1];if(C>=1e9){let A=C%1e9;_+=(C-A)/1e9,C=A}return[_,C]}async function*Ha(b,v){let _=v[Symbol.asyncIterator](),C=[0,0];for(;;){let A=process.hrtime(),{value:B,done:N}=await _.next(),O=process.hrtime(A);if(C=fs(C,O),b.progress&&b.progress(O,C),N)return b.total&&b.total(C),B;yield B}}function*Ro(b,v){let _=v[Symbol.iterator](),C=[0,0];for(;;){let A=process.hrtime(),{value:B,done:N}=_.next(),O=process.hrtime(A);if(C=fs(C,O),b.progress&&b.progress(O,C),N)return b.total&&b.total(C),B;yield B}}function Kt(b={},v){return v===void 0?_=>Kt(b,_):v[Symbol.asyncIterator]!==void 0?Ha(b,v):Ro(b,v)}function Pr(b,v,_){let C=i(_),A=[],B=[],N=!1,O=!1,U=0,W=null;function Q(){for(;B.length>0&&A.length>0;){let{resolve:ae}=B.shift(),ue=A.shift();ae({done:!1,value:ue})}for(;B.length>0&&U===0&&N;){let{resolve:ae,reject:ue}=B.shift();W?(ue(W),W=null):ae({done:!0,value:void 0})}}async function ee(){if(N){Q();return}if(!O&&!(U+A.length>=b)){O=!0,U++;try{let{done:ae,value:ue}=await C.next();ae?(N=!0,U--,Q()):fe(ue)}catch(ae){N=!0,U--,W=ae,Q()}O=!1,ee()}}async function fe(ae){try{let ue=await v(ae);A.push(ue)}catch(ue){N=!0,W=ue}U--,Q(),ee()}async function qe(){if(A.length===0){let ue=s();return B.push(ue),ee(),ue.promise}let ae=A.shift();return ee(),{done:!1,value:ae}}let ge={next:qe,[Symbol.asyncIterator]:()=>ge};return ge}function E(b,v,_){return v===void 0?(C,A)=>A?E(b,C,A):E(b,C):_===void 0?C=>E(b,v,C):Pr(b,v,_)}async function S(b,v){let _=null,C=null,A=null,B=W=>{_=W,C&&C(W)},N=()=>{A&&A()},O=()=>{b.removeListener("error",B),b.removeListener("drain",N)};b.once("error",B);let U=()=>new Promise((W,Q)=>{if(_)return Q(_);b.once("drain",N),A=W,C=Q});for await(let W of v)if(b.write(W)===!1&&await U(),_)break;if(O(),_)throw _}function I(b,v){return v===void 0?_=>S(b,_):S(b,v)}t.batch=n,t.buffer=c,t.collect=l,t.concat=p,t.consume=g,t.filter=x,t.flatMap=q,t.flatTransform=J,t.flatten=R,t.fromStream=we,t.getIterator=i,t.map=H,t.merge=le,t.parallelFlatMap=Ie,t.parallelMap=it,t.parallelMerge=Fe,t.pipeline=ye,t.reduce=tr,t.take=Yt,t.tap=z,t.time=Kt,t.transform=E,t.writeToStream=I,Object.defineProperty(t,"__esModule",{value:!0})})});var xx=w((iV,_x)=>{_x.exports=function(t){if(!t)throw Error("hashlru must have a max value, of type number, greater than 0");var e=0,r=Object.create(null),n=Object.create(null);function i(s,o){r[s]=o,e++,e>=t&&(e=0,n=r,r=Object.create(null))}return{has:function(s){return r[s]!==void 0||n[s]!==void 0},remove:function(s){r[s]!==void 0&&(r[s]=void 0),n[s]!==void 0&&(n[s]=void 0)},get:function(s){var o=r[s];if(o!==void 0)return o;if((o=n[s])!==void 0)return i(s,o),o},set:function(s,o){r[s]!==void 0?r[s]=o:i(s,o)},clear:function(){r=Object.create(null),n=Object.create(null)}}}});var Ax=w((sV,Sx)=>{"use strict";var Sk=xx();Sx.exports=t=>{let e=Sk(t);return e.delete=e.remove,e}});var Ix=w((Cx,ku)=>{(function(t){"use strict";var e,r=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,n=Math.ceil,i=Math.floor,s="[BigNumber Error] ",o=s+"Number primitive has more than 15 significant digits: ",a=1e14,c=14,u=9007199254740991,l=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],f=1e7,d=1e9;function p(q){var k,J,ie,j=z.prototype={constructor:z,toString:null,valueOf:null},we=new z(1),le=20,ye=4,nt=-7,it=21,Ie=-1e7,Fe=1e7,ne=!1,tr=1,Wt=0,hn={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},Yt="0123456789abcdefghijklmnopqrstuvwxyz",pn=!0;function z(E,S){var I,b,v,_,C,A,B,N,O=this;if(!(O instanceof z))return new z(E,S);if(S==null){if(E&&E._isBigNumber===!0){O.s=E.s,!E.c||E.e>Fe?O.c=O.e=null:E.e<Ie?O.c=[O.e=0]:(O.e=E.e,O.c=E.c.slice());return}if((A=typeof E=="number")&&E*0==0){if(O.s=1/E<0?(E=-E,-1):1,E===~~E){for(_=0,C=E;C>=10;C/=10,_++);_>Fe?O.c=O.e=null:(O.e=_,O.c=[E]);return}N=String(E)}else{if(!r.test(N=String(E)))return ie(O,N,A);O.s=N.charCodeAt(0)==45?(N=N.slice(1),-1):1}(_=N.indexOf("."))>-1&&(N=N.replace(".","")),(C=N.search(/e/i))>0?(_<0&&(_=C),_+=+N.slice(C+1),N=N.substring(0,C)):_<0&&(_=N.length)}else{if(x(S,2,Yt.length,"Base"),S==10&&pn)return O=new z(E),Kt(O,le+O.e+1,ye);if(N=String(E),A=typeof E=="number"){if(E*0!=0)return ie(O,N,A,S);if(O.s=1/E<0?(N=N.slice(1),-1):1,z.DEBUG&&N.replace(/^0\.0*|\./,"").length>15)throw Error(o+E)}else O.s=N.charCodeAt(0)===45?(N=N.slice(1),-1):1;for(I=Yt.slice(0,S),_=C=0,B=N.length;C<B;C++)if(I.indexOf(b=N.charAt(C))<0){if(b=="."){if(C>_){_=B;continue}}else if(!v&&(N==N.toUpperCase()&&(N=N.toLowerCase())||N==N.toLowerCase()&&(N=N.toUpperCase()))){v=!0,C=-1,_=0;continue}return ie(O,String(E),A,S)}A=!1,N=J(N,S,10,O.s),(_=N.indexOf("."))>-1?N=N.replace(".",""):_=N.length}for(C=0;N.charCodeAt(C)===48;C++);for(B=N.length;N.charCodeAt(--B)===48;);if(N=N.slice(C,++B)){if(B-=C,A&&z.DEBUG&&B>15&&(E>u||E!==i(E)))throw Error(o+O.s*E);if((_=_-C-1)>Fe)O.c=O.e=null;else if(_<Ie)O.c=[O.e=0];else{if(O.e=_,O.c=[],C=(_+1)%c,_<0&&(C+=c),C<B){for(C&&O.c.push(+N.slice(0,C)),B-=c;C<B;)O.c.push(+N.slice(C,C+=c));C=c-(N=N.slice(C)).length}else C-=B;for(;C--;N+="0");O.c.push(+N)}}else O.c=[O.e=0]}z.clone=p,z.ROUND_UP=0,z.ROUND_DOWN=1,z.ROUND_CEIL=2,z.ROUND_FLOOR=3,z.ROUND_HALF_UP=4,z.ROUND_HALF_DOWN=5,z.ROUND_HALF_EVEN=6,z.ROUND_HALF_CEIL=7,z.ROUND_HALF_FLOOR=8,z.EUCLID=9,z.config=z.set=function(E){var S,I;if(E!=null)if(typeof E=="object"){if(E.hasOwnProperty(S="DECIMAL_PLACES")&&(I=E[S],x(I,0,d,S),le=I),E.hasOwnProperty(S="ROUNDING_MODE")&&(I=E[S],x(I,0,8,S),ye=I),E.hasOwnProperty(S="EXPONENTIAL_AT")&&(I=E[S],I&&I.pop?(x(I[0],-d,0,S),x(I[1],0,d,S),nt=I[0],it=I[1]):(x(I,-d,d,S),nt=-(it=I<0?-I:I))),E.hasOwnProperty(S="RANGE"))if(I=E[S],I&&I.pop)x(I[0],-d,-1,S),x(I[1],1,d,S),Ie=I[0],Fe=I[1];else if(x(I,-d,d,S),I)Ie=-(Fe=I<0?-I:I);else throw Error(s+S+" cannot be zero: "+I);if(E.hasOwnProperty(S="CRYPTO"))if(I=E[S],I===!!I)if(I)if(typeof crypto!="undefined"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))ne=I;else throw ne=!I,Error(s+"crypto unavailable");else ne=I;else throw Error(s+S+" not true or false: "+I);if(E.hasOwnProperty(S="MODULO_MODE")&&(I=E[S],x(I,0,9,S),tr=I),E.hasOwnProperty(S="POW_PRECISION")&&(I=E[S],x(I,0,d,S),Wt=I),E.hasOwnProperty(S="FORMAT"))if(I=E[S],typeof I=="object")hn=I;else throw Error(s+S+" not an object: "+I);if(E.hasOwnProperty(S="ALPHABET"))if(I=E[S],typeof I=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(I))pn=I.slice(0,10)=="0123456789",Yt=I;else throw Error(s+S+" invalid: "+I)}else throw Error(s+"Object expected: "+E);return{DECIMAL_PLACES:le,ROUNDING_MODE:ye,EXPONENTIAL_AT:[nt,it],RANGE:[Ie,Fe],CRYPTO:ne,MODULO_MODE:tr,POW_PRECISION:Wt,FORMAT:hn,ALPHABET:Yt}},z.isBigNumber=function(E){if(!E||E._isBigNumber!==!0)return!1;if(!z.DEBUG)return!0;var S,I,b=E.c,v=E.e,_=E.s;e:if({}.toString.call(b)=="[object Array]"){if((_===1||_===-1)&&v>=-d&&v<=d&&v===i(v)){if(b[0]===0){if(v===0&&b.length===1)return!0;break e}if(S=(v+1)%c,S<1&&(S+=c),String(b[0]).length==S){for(S=0;S<b.length;S++)if(I=b[S],I<0||I>=a||I!==i(I))break e;if(I!==0)return!0}}}else if(b===null&&v===null&&(_===null||_===1||_===-1))return!0;throw Error(s+"Invalid BigNumber: "+E)},z.maximum=z.max=function(){return Ha(arguments,j.lt)},z.minimum=z.min=function(){return Ha(arguments,j.gt)},z.random=function(){var E=9007199254740992,S=Math.random()*E&2097151?function(){return i(Math.random()*E)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(I){var b,v,_,C,A,B=0,N=[],O=new z(we);if(I==null?I=le:x(I,0,d),C=n(I/c),ne)if(crypto.getRandomValues){for(b=crypto.getRandomValues(new Uint32Array(C*=2));B<C;)A=b[B]*131072+(b[B+1]>>>11),A>=9e15?(v=crypto.getRandomValues(new Uint32Array(2)),b[B]=v[0],b[B+1]=v[1]):(N.push(A%1e14),B+=2);B=C/2}else if(crypto.randomBytes){for(b=crypto.randomBytes(C*=7);B<C;)A=(b[B]&31)*281474976710656+b[B+1]*1099511627776+b[B+2]*4294967296+b[B+3]*16777216+(b[B+4]<<16)+(b[B+5]<<8)+b[B+6],A>=9e15?crypto.randomBytes(7).copy(b,B):(N.push(A%1e14),B+=7);B=C/7}else throw ne=!1,Error(s+"crypto unavailable");if(!ne)for(;B<C;)A=S(),A<9e15&&(N[B++]=A%1e14);for(C=N[--B],I%=c,C&&I&&(A=l[c-I],N[B]=i(C/A)*A);N[B]===0;N.pop(),B--);if(B<0)N=[_=0];else{for(_=-1;N[0]===0;N.splice(0,1),_-=c);for(B=1,A=N[0];A>=10;A/=10,B++);B<c&&(_-=c-B)}return O.e=_,O.c=N,O}}(),z.sum=function(){for(var E=1,S=arguments,I=new z(S[0]);E<S.length;)I=I.plus(S[E++]);return I},J=function(){var E="0123456789";function S(I,b,v,_){for(var C,A=[0],B,N=0,O=I.length;N<O;){for(B=A.length;B--;A[B]*=b);for(A[0]+=_.indexOf(I.charAt(N++)),C=0;C<A.length;C++)A[C]>v-1&&(A[C+1]==null&&(A[C+1]=0),A[C+1]+=A[C]/v|0,A[C]%=v)}return A.reverse()}return function(I,b,v,_,C){var A,B,N,O,U,W,Q,ee,fe=I.indexOf("."),qe=le,ge=ye;for(fe>=0&&(O=Wt,Wt=0,I=I.replace(".",""),ee=new z(b),W=ee.pow(I.length-fe),Wt=O,ee.c=S(H(g(W.c),W.e,"0"),10,v,E),ee.e=ee.c.length),Q=S(I,b,v,C?(A=Yt,E):(A=E,Yt)),N=O=Q.length;Q[--O]==0;Q.pop());if(!Q[0])return A.charAt(0);if(fe<0?--N:(W.c=Q,W.e=N,W.s=_,W=k(W,ee,qe,ge,v),Q=W.c,U=W.r,N=W.e),B=N+qe+1,fe=Q[B],O=v/2,U=U||B<0||Q[B+1]!=null,U=ge<4?(fe!=null||U)&&(ge==0||ge==(W.s<0?3:2)):fe>O||fe==O&&(ge==4||U||ge==6&&Q[B-1]&1||ge==(W.s<0?8:7)),B<1||!Q[0])I=U?H(A.charAt(1),-qe,A.charAt(0)):A.charAt(0);else{if(Q.length=B,U)for(--v;++Q[--B]>v;)Q[B]=0,B||(++N,Q=[1].concat(Q));for(O=Q.length;!Q[--O];);for(fe=0,I="";fe<=O;I+=A.charAt(Q[fe++]));I=H(I,N,A.charAt(0))}return I}}(),k=function(){function E(b,v,_){var C,A,B,N,O=0,U=b.length,W=v%f,Q=v/f|0;for(b=b.slice();U--;)B=b[U]%f,N=b[U]/f|0,C=Q*B+N*W,A=W*B+C%f*f+O,O=(A/_|0)+(C/f|0)+Q*N,b[U]=A%_;return O&&(b=[O].concat(b)),b}function S(b,v,_,C){var A,B;if(_!=C)B=_>C?1:-1;else for(A=B=0;A<_;A++)if(b[A]!=v[A]){B=b[A]>v[A]?1:-1;break}return B}function I(b,v,_,C){for(var A=0;_--;)b[_]-=A,A=b[_]<v[_]?1:0,b[_]=A*C+b[_]-v[_];for(;!b[0]&&b.length>1;b.splice(0,1));}return function(b,v,_,C,A){var B,N,O,U,W,Q,ee,fe,qe,ge,ae,ue,ds,ul,ll,$r,Bo,fr=b.s==v.s?1:-1,Vt=b.c,at=v.c;if(!Vt||!Vt[0]||!at||!at[0])return new z(!b.s||!v.s||(Vt?at&&Vt[0]==at[0]:!at)?NaN:Vt&&Vt[0]==0||!at?fr*0:fr/0);for(fe=new z(fr),qe=fe.c=[],N=b.e-v.e,fr=_+N+1,A||(A=a,N=h(b.e/c)-h(v.e/c),fr=fr/c|0),O=0;at[O]==(Vt[O]||0);O++);if(at[O]>(Vt[O]||0)&&N--,fr<0)qe.push(1),U=!0;else{for(ul=Vt.length,$r=at.length,O=0,fr+=2,W=i(A/(at[0]+1)),W>1&&(at=E(at,W,A),Vt=E(Vt,W,A),$r=at.length,ul=Vt.length),ds=$r,ge=Vt.slice(0,$r),ae=ge.length;ae<$r;ge[ae++]=0);Bo=at.slice(),Bo=[0].concat(Bo),ll=at[0],at[1]>=A/2&&ll++;do{if(W=0,B=S(at,ge,$r,ae),B<0){if(ue=ge[0],$r!=ae&&(ue=ue*A+(ge[1]||0)),W=i(ue/ll),W>1)for(W>=A&&(W=A-1),Q=E(at,W,A),ee=Q.length,ae=ge.length;S(Q,ge,ee,ae)==1;)W--,I(Q,$r<ee?Bo:at,ee,A),ee=Q.length,B=1;else W==0&&(B=W=1),Q=at.slice(),ee=Q.length;if(ee<ae&&(Q=[0].concat(Q)),I(ge,Q,ae,A),ae=ge.length,B==-1)for(;S(at,ge,$r,ae)<1;)W++,I(ge,$r<ae?Bo:at,ae,A),ae=ge.length}else B===0&&(W++,ge=[0]);qe[O++]=W,ge[0]?ge[ae++]=Vt[ds]||0:(ge=[Vt[ds]],ae=1)}while((ds++<ul||ge[0]!=null)&&fr--);U=ge[0]!=null,qe[0]||qe.splice(0,1)}if(A==a){for(O=1,fr=qe[0];fr>=10;fr/=10,O++);Kt(fe,_+(fe.e=O+N*c-1)+1,C,U)}else fe.e=N,fe.r=+U;return fe}}();function fs(E,S,I,b){var v,_,C,A,B;if(I==null?I=ye:x(I,0,8),!E.c)return E.toString();if(v=E.c[0],C=E.e,S==null)B=g(E.c),B=b==1||b==2&&(C<=nt||C>=it)?L(B,C):H(B,C,"0");else if(E=Kt(new z(E),S,I),_=E.e,B=g(E.c),A=B.length,b==1||b==2&&(S<=_||_<=nt)){for(;A<S;B+="0",A++);B=L(B,_)}else if(S-=C,B=H(B,_,"0"),_+1>A){if(--S>0)for(B+=".";S--;B+="0");}else if(S+=_-A,S>0)for(_+1==A&&(B+=".");S--;B+="0");return E.s<0&&v?"-"+B:B}function Ha(E,S){for(var I,b=1,v=new z(E[0]);b<E.length;b++)if(I=new z(E[b]),I.s)S.call(v,I)&&(v=I);else{v=I;break}return v}function Ro(E,S,I){for(var b=1,v=S.length;!S[--v];S.pop());for(v=S[0];v>=10;v/=10,b++);return(I=b+I*c-1)>Fe?E.c=E.e=null:I<Ie?E.c=[E.e=0]:(E.e=I,E.c=S),E}ie=function(){var E=/^(-?)0([xbo])(?=\w[\w.]*$)/i,S=/^([^.]+)\.$/,I=/^\.([^.]+)$/,b=/^-?(Infinity|NaN)$/,v=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(_,C,A,B){var N,O=A?C:C.replace(v,"");if(b.test(O))_.s=isNaN(O)?null:O<0?-1:1;else{if(!A&&(O=O.replace(E,function(U,W,Q){return N=(Q=Q.toLowerCase())=="x"?16:Q=="b"?2:8,!B||B==N?W:U}),B&&(N=B,O=O.replace(S,"$1").replace(I,"0.$1")),C!=O))return new z(O,N);if(z.DEBUG)throw Error(s+"Not a"+(B?" base "+B:"")+" number: "+C);_.s=null}_.c=_.e=null}}();function Kt(E,S,I,b){var v,_,C,A,B,N,O,U=E.c,W=l;if(U){e:{for(v=1,A=U[0];A>=10;A/=10,v++);if(_=S-v,_<0)_+=c,C=S,B=U[N=0],O=B/W[v-C-1]%10|0;else if(N=n((_+1)/c),N>=U.length)if(b){for(;U.length<=N;U.push(0));B=O=0,v=1,_%=c,C=_-c+1}else break e;else{for(B=A=U[N],v=1;A>=10;A/=10,v++);_%=c,C=_-c+v,O=C<0?0:B/W[v-C-1]%10|0}if(b=b||S<0||U[N+1]!=null||(C<0?B:B%W[v-C-1]),b=I<4?(O||b)&&(I==0||I==(E.s<0?3:2)):O>5||O==5&&(I==4||b||I==6&&(_>0?C>0?B/W[v-C]:0:U[N-1])%10&1||I==(E.s<0?8:7)),S<1||!U[0])return U.length=0,b?(S-=E.e+1,U[0]=W[(c-S%c)%c],E.e=-S||0):U[0]=E.e=0,E;if(_==0?(U.length=N,A=1,N--):(U.length=N+1,A=W[c-_],U[N]=C>0?i(B/W[v-C]%W[C])*A:0),b)for(;;)if(N==0){for(_=1,C=U[0];C>=10;C/=10,_++);for(C=U[0]+=A,A=1;C>=10;C/=10,A++);_!=A&&(E.e++,U[0]==a&&(U[0]=1));break}else{if(U[N]+=A,U[N]!=a)break;U[N--]=0,A=1}for(_=U.length;U[--_]===0;U.pop());}E.e>Fe?E.c=E.e=null:E.e<Ie&&(E.c=[E.e=0])}return E}function Pr(E){var S,I=E.e;return I===null?E.toString():(S=g(E.c),S=I<=nt||I>=it?L(S,I):H(S,I,"0"),E.s<0?"-"+S:S)}return j.absoluteValue=j.abs=function(){var E=new z(this);return E.s<0&&(E.s=1),E},j.comparedTo=function(E,S){return m(this,new z(E,S))},j.decimalPlaces=j.dp=function(E,S){var I,b,v,_=this;if(E!=null)return x(E,0,d),S==null?S=ye:x(S,0,8),Kt(new z(_),E+_.e+1,S);if(!(I=_.c))return null;if(b=((v=I.length-1)-h(this.e/c))*c,v=I[v])for(;v%10==0;v/=10,b--);return b<0&&(b=0),b},j.dividedBy=j.div=function(E,S){return k(this,new z(E,S),le,ye)},j.dividedToIntegerBy=j.idiv=function(E,S){return k(this,new z(E,S),0,1)},j.exponentiatedBy=j.pow=function(E,S){var I,b,v,_,C,A,B,N,O,U=this;if(E=new z(E),E.c&&!E.isInteger())throw Error(s+"Exponent not an integer: "+Pr(E));if(S!=null&&(S=new z(S)),A=E.e>14,!U.c||!U.c[0]||U.c[0]==1&&!U.e&&U.c.length==1||!E.c||!E.c[0])return O=new z(Math.pow(+Pr(U),A?2-R(E):+Pr(E))),S?O.mod(S):O;if(B=E.s<0,S){if(S.c?!S.c[0]:!S.s)return new z(NaN);b=!B&&U.isInteger()&&S.isInteger(),b&&(U=U.mod(S))}else{if(E.e>9&&(U.e>0||U.e<-1||(U.e==0?U.c[0]>1||A&&U.c[1]>=24e7:U.c[0]<8e13||A&&U.c[0]<=9999975e7)))return _=U.s<0&&R(E)?-0:0,U.e>-1&&(_=1/_),new z(B?1/_:_);Wt&&(_=n(Wt/c+2))}for(A?(I=new z(.5),B&&(E.s=1),N=R(E)):(v=Math.abs(+Pr(E)),N=v%2),O=new z(we);;){if(N){if(O=O.times(U),!O.c)break;_?O.c.length>_&&(O.c.length=_):b&&(O=O.mod(S))}if(v){if(v=i(v/2),v===0)break;N=v%2}else if(E=E.times(I),Kt(E,E.e+1,1),E.e>14)N=R(E);else{if(v=+Pr(E),v===0)break;N=v%2}U=U.times(U),_?U.c&&U.c.length>_&&(U.c.length=_):b&&(U=U.mod(S))}return b?O:(B&&(O=we.div(O)),S?O.mod(S):_?Kt(O,Wt,ye,C):O)},j.integerValue=function(E){var S=new z(this);return E==null?E=ye:x(E,0,8),Kt(S,S.e+1,E)},j.isEqualTo=j.eq=function(E,S){return m(this,new z(E,S))===0},j.isFinite=function(){return!!this.c},j.isGreaterThan=j.gt=function(E,S){return m(this,new z(E,S))>0},j.isGreaterThanOrEqualTo=j.gte=function(E,S){return(S=m(this,new z(E,S)))===1||S===0},j.isInteger=function(){return!!this.c&&h(this.e/c)>this.c.length-2},j.isLessThan=j.lt=function(E,S){return m(this,new z(E,S))<0},j.isLessThanOrEqualTo=j.lte=function(E,S){return(S=m(this,new z(E,S)))===-1||S===0},j.isNaN=function(){return!this.s},j.isNegative=function(){return this.s<0},j.isPositive=function(){return this.s>0},j.isZero=function(){return!!this.c&&this.c[0]==0},j.minus=function(E,S){var I,b,v,_,C=this,A=C.s;if(E=new z(E,S),S=E.s,!A||!S)return new z(NaN);if(A!=S)return E.s=-S,C.plus(E);var B=C.e/c,N=E.e/c,O=C.c,U=E.c;if(!B||!N){if(!O||!U)return O?(E.s=-S,E):new z(U?C:NaN);if(!O[0]||!U[0])return U[0]?(E.s=-S,E):new z(O[0]?C:ye==3?-0:0)}if(B=h(B),N=h(N),O=O.slice(),A=B-N){for((_=A<0)?(A=-A,v=O):(N=B,v=U),v.reverse(),S=A;S--;v.push(0));v.reverse()}else for(b=(_=(A=O.length)<(S=U.length))?A:S,A=S=0;S<b;S++)if(O[S]!=U[S]){_=O[S]<U[S];break}if(_&&(v=O,O=U,U=v,E.s=-E.s),S=(b=U.length)-(I=O.length),S>0)for(;S--;O[I++]=0);for(S=a-1;b>A;){if(O[--b]<U[b]){for(I=b;I&&!O[--I];O[I]=S);--O[I],O[b]+=a}O[b]-=U[b]}for(;O[0]==0;O.splice(0,1),--N);return O[0]?Ro(E,O,N):(E.s=ye==3?-1:1,E.c=[E.e=0],E)},j.modulo=j.mod=function(E,S){var I,b,v=this;return E=new z(E,S),!v.c||!E.s||E.c&&!E.c[0]?new z(NaN):!E.c||v.c&&!v.c[0]?new z(v):(tr==9?(b=E.s,E.s=1,I=k(v,E,0,3),E.s=b,I.s*=b):I=k(v,E,0,tr),E=v.minus(I.times(E)),!E.c[0]&&tr==1&&(E.s=v.s),E)},j.multipliedBy=j.times=function(E,S){var I,b,v,_,C,A,B,N,O,U,W,Q,ee,fe,qe,ge=this,ae=ge.c,ue=(E=new z(E,S)).c;if(!ae||!ue||!ae[0]||!ue[0])return!ge.s||!E.s||ae&&!ae[0]&&!ue||ue&&!ue[0]&&!ae?E.c=E.e=E.s=null:(E.s*=ge.s,!ae||!ue?E.c=E.e=null:(E.c=[0],E.e=0)),E;for(b=h(ge.e/c)+h(E.e/c),E.s*=ge.s,B=ae.length,U=ue.length,B<U&&(ee=ae,ae=ue,ue=ee,v=B,B=U,U=v),v=B+U,ee=[];v--;ee.push(0));for(fe=a,qe=f,v=U;--v>=0;){for(I=0,W=ue[v]%qe,Q=ue[v]/qe|0,C=B,_=v+C;_>v;)N=ae[--C]%qe,O=ae[C]/qe|0,A=Q*N+O*W,N=W*N+A%qe*qe+ee[_]+I,I=(N/fe|0)+(A/qe|0)+Q*O,ee[_--]=N%fe;ee[_]=I}return I?++b:ee.splice(0,1),Ro(E,ee,b)},j.negated=function(){var E=new z(this);return E.s=-E.s||null,E},j.plus=function(E,S){var I,b=this,v=b.s;if(E=new z(E,S),S=E.s,!v||!S)return new z(NaN);if(v!=S)return E.s=-S,b.minus(E);var _=b.e/c,C=E.e/c,A=b.c,B=E.c;if(!_||!C){if(!A||!B)return new z(v/0);if(!A[0]||!B[0])return B[0]?E:new z(A[0]?b:v*0)}if(_=h(_),C=h(C),A=A.slice(),v=_-C){for(v>0?(C=_,I=B):(v=-v,I=A),I.reverse();v--;I.push(0));I.reverse()}for(v=A.length,S=B.length,v-S<0&&(I=B,B=A,A=I,S=v),v=0;S;)v=(A[--S]=A[S]+B[S]+v)/a|0,A[S]=a===A[S]?0:A[S]%a;return v&&(A=[v].concat(A),++C),Ro(E,A,C)},j.precision=j.sd=function(E,S){var I,b,v,_=this;if(E!=null&&E!==!!E)return x(E,1,d),S==null?S=ye:x(S,0,8),Kt(new z(_),E,S);if(!(I=_.c))return null;if(v=I.length-1,b=v*c+1,v=I[v]){for(;v%10==0;v/=10,b--);for(v=I[0];v>=10;v/=10,b++);}return E&&_.e+1>b&&(b=_.e+1),b},j.shiftedBy=function(E){return x(E,-u,u),this.times("1e"+E)},j.squareRoot=j.sqrt=function(){var E,S,I,b,v,_=this,C=_.c,A=_.s,B=_.e,N=le+4,O=new z("0.5");if(A!==1||!C||!C[0])return new z(!A||A<0&&(!C||C[0])?NaN:C?_:1/0);if(A=Math.sqrt(+Pr(_)),A==0||A==1/0?(S=g(C),(S.length+B)%2==0&&(S+="0"),A=Math.sqrt(+S),B=h((B+1)/2)-(B<0||B%2),A==1/0?S="5e"+B:(S=A.toExponential(),S=S.slice(0,S.indexOf("e")+1)+B),I=new z(S)):I=new z(A+""),I.c[0]){for(B=I.e,A=B+N,A<3&&(A=0);;)if(v=I,I=O.times(v.plus(k(_,v,N,1))),g(v.c).slice(0,A)===(S=g(I.c)).slice(0,A))if(I.e<B&&--A,S=S.slice(A-3,A+1),S=="9999"||!b&&S=="4999"){if(!b&&(Kt(v,v.e+le+2,0),v.times(v).eq(_))){I=v;break}N+=4,A+=4,b=1}else{(!+S||!+S.slice(1)&&S.charAt(0)=="5")&&(Kt(I,I.e+le+2,1),E=!I.times(I).eq(_));break}}return Kt(I,I.e+le+1,ye,E)},j.toExponential=function(E,S){return E!=null&&(x(E,0,d),E++),fs(this,E,S,1)},j.toFixed=function(E,S){return E!=null&&(x(E,0,d),E=E+this.e+1),fs(this,E,S)},j.toFormat=function(E,S,I){var b,v=this;if(I==null)E!=null&&S&&typeof S=="object"?(I=S,S=null):E&&typeof E=="object"?(I=E,E=S=null):I=hn;else if(typeof I!="object")throw Error(s+"Argument not an object: "+I);if(b=v.toFixed(E,S),v.c){var _,C=b.split("."),A=+I.groupSize,B=+I.secondaryGroupSize,N=I.groupSeparator||"",O=C[0],U=C[1],W=v.s<0,Q=W?O.slice(1):O,ee=Q.length;if(B&&(_=A,A=B,B=_,ee-=_),A>0&&ee>0){for(_=ee%A||A,O=Q.substr(0,_);_<ee;_+=A)O+=N+Q.substr(_,A);B>0&&(O+=N+Q.slice(_)),W&&(O="-"+O)}b=U?O+(I.decimalSeparator||"")+((B=+I.fractionGroupSize)?U.replace(new RegExp("\\d{"+B+"}\\B","g"),"$&"+(I.fractionGroupSeparator||"")):U):O}return(I.prefix||"")+b+(I.suffix||"")},j.toFraction=function(E){var S,I,b,v,_,C,A,B,N,O,U,W,Q=this,ee=Q.c;if(E!=null&&(A=new z(E),!A.isInteger()&&(A.c||A.s!==1)||A.lt(we)))throw Error(s+"Argument "+(A.isInteger()?"out of range: ":"not an integer: ")+Pr(A));if(!ee)return new z(Q);for(S=new z(we),N=I=new z(we),b=B=new z(we),W=g(ee),_=S.e=W.length-Q.e-1,S.c[0]=l[(C=_%c)<0?c+C:C],E=!E||A.comparedTo(S)>0?_>0?S:N:A,C=Fe,Fe=1/0,A=new z(W),B.c[0]=0;O=k(A,S,0,1),v=I.plus(O.times(b)),v.comparedTo(E)!=1;)I=b,b=v,N=B.plus(O.times(v=N)),B=v,S=A.minus(O.times(v=S)),A=v;return v=k(E.minus(I),b,0,1),B=B.plus(v.times(N)),I=I.plus(v.times(b)),B.s=N.s=Q.s,_=_*2,U=k(N,b,_,ye).minus(Q).abs().comparedTo(k(B,I,_,ye).minus(Q).abs())<1?[N,b]:[B,I],Fe=C,U},j.toNumber=function(){return+Pr(this)},j.toPrecision=function(E,S){return E!=null&&x(E,1,d),fs(this,E,S,2)},j.toString=function(E){var S,I=this,b=I.s,v=I.e;return v===null?b?(S="Infinity",b<0&&(S="-"+S)):S="NaN":(E==null?S=v<=nt||v>=it?L(g(I.c),v):H(g(I.c),v,"0"):E===10&&pn?(I=Kt(new z(I),le+v+1,ye),S=H(g(I.c),I.e,"0")):(x(E,2,Yt.length,"Base"),S=J(H(g(I.c),v,"0"),10,E,b,!0)),b<0&&I.c[0]&&(S="-"+S)),S},j.valueOf=j.toJSON=function(){return Pr(this)},j._isBigNumber=!0,q!=null&&z.set(q),z}function h(q){var k=q|0;return q>0||q===k?k:k-1}function g(q){for(var k,J,ie=1,j=q.length,we=q[0]+"";ie<j;){for(k=q[ie++]+"",J=c-k.length;J--;k="0"+k);we+=k}for(j=we.length;we.charCodeAt(--j)===48;);return we.slice(0,j+1||1)}function m(q,k){var J,ie,j=q.c,we=k.c,le=q.s,ye=k.s,nt=q.e,it=k.e;if(!le||!ye)return null;if(J=j&&!j[0],ie=we&&!we[0],J||ie)return J?ie?0:-ye:le;if(le!=ye)return le;if(J=le<0,ie=nt==it,!j||!we)return ie?0:!j^J?1:-1;if(!ie)return nt>it^J?1:-1;for(ye=(nt=j.length)<(it=we.length)?nt:it,le=0;le<ye;le++)if(j[le]!=we[le])return j[le]>we[le]^J?1:-1;return nt==it?0:nt>it^J?1:-1}function x(q,k,J,ie){if(q<k||q>J||q!==i(q))throw Error(s+(ie||"Argument")+(typeof q=="number"?q<k||q>J?" out of range: ":" not an integer: ":" not a primitive number: ")+String(q))}function R(q){var k=q.c.length-1;return h(q.e/c)==k&&q.c[k]%2!=0}function L(q,k){return(q.length>1?q.charAt(0)+"."+q.slice(1):q)+(k<0?"e":"e+")+k}function H(q,k,J){var ie,j;if(k<0){for(j=J+".";++k;j+=J);q=j+q}else if(ie=q.length,++k>ie){for(j=J,k-=ie;--k;j+=J);q+=j}else k<ie&&(q=q.slice(0,k)+"."+q.slice(k));return q}e=p(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof ku!="undefined"&&ku.exports?ku.exports=e:(t||(t=typeof self!="undefined"&&self?self:window),t.BigNumber=e)})(Cx)});var Bx=w((Tx,Rx)=>{"use strict";var Ak=Math.exp;Tx=Rx.exports=function(e){if(typeof e!="number")throw new Error("must provide a timespan to the moving average constructor");if(e<=0)throw new Error("must provide a timespan > 0 to the moving average constructor");let r,n=0,i=0,s=0,o,a={};function c(u,l){return 1-Ak(-(u-l)/e)}return a.push=function(l,f){if(o){let d=c(l,o),p=f-r,h=d*p;r=d*f+(1-d)*r,n=(1-d)*(n+p*h),i=Math.sqrt(n),s=r+d*p}else r=f;o=l},a.movingAverage=function(){return r},a.variance=function(){return n},a.deviation=function(){return i},a.forecast=function(){return s},a}});var Dx=w((oV,Ox)=>{"use strict";var{EventEmitter:Ck}=Qt(),{BigNumber:qu}=Ix(),Px=Bx(),Ik=va(),Nx=class extends Ck{constructor(e,r){super();this._options=r,this._queue=[],this._stats={dataReceived:qu(0),dataSent:qu(0)},this._frequencyLastTime=Date.now(),this._frequencyAccumulators={},this._movingAverages={},this._update=this._update.bind(this);let n=this._options.movingAverageIntervals;for(let i=0;i<e.length;i++){let s=e[i];this._stats[s]=qu(0),this._movingAverages[s]={};for(let o=0;o<n.length;o++){let a=n[o];(this._movingAverages[s][a]=Px(a)).push(this._frequencyLastTime,0)}}}start(){this._queue.length&&this._resetComputeTimeout()}stop(){this._timeout&&(this._timeout.clear(),this._timeout=null)}get snapshot(){return Object.assign({},this._stats)}get movingAverages(){return Object.assign({},this._movingAverages)}toJSON(){let e=this.snapshot,r=this.movingAverages,n={dataReceived:e.dataReceived.toString(),dataSent:e.dataSent.toString(),movingAverages:{}},i=Object.keys(r);for(let s of i){n.movingAverages[s]={};for(let o of Object.keys(r[s]))n.movingAverages[s][o]=r[s][o].movingAverage()}return n}push(e,r){this._queue.push([e,r,Date.now()]),this._resetComputeTimeout()}_resetComputeTimeout(){this._timeout=Ik(this._update,this._nextTimeout())}_nextTimeout(){let e=this._queue.length/this._options.computeThrottleMaxQueueSize;return Math.max(this._options.computeThrottleTimeout*(1-e),0)}_update(){if(this._timeout=null,this._queue.length){let e;for(e of this._queue)this._applyOp(e);this._queue=[],this._updateFrequency(e[2]),this.emit("update",this._stats)}}_updateFrequency(e){let r=e-this._frequencyLastTime;Object.keys(this._stats).forEach(n=>{this._updateFrequencyFor(n,r,e)}),this._frequencyLastTime=e}_updateFrequencyFor(e,r,n){let i=this._frequencyAccumulators[e]||0;this._frequencyAccumulators[e]=0;let o=i/(r||1)*1e3,a=this._movingAverages[e];a||(a=this._movingAverages[e]={});let c=this._options.movingAverageIntervals;for(let u=0;u<c.length;u++){let l=c[u],f=a[l];f||(f=a[l]=Px(l)),f.push(n,o)}}_applyOp(e){let r=e[0],n=e[1];if(typeof n!="number")throw new Error(`invalid increment number: ${n}`);let i;Object.prototype.hasOwnProperty.call(this._stats,r)?i=this._stats[r]:i=this._stats[r]=qu(0),this._stats[r]=i.plus(n),this._frequencyAccumulators[r]||(this._frequencyAccumulators[r]=0),this._frequencyAccumulators[r]+=n}};Ox.exports=Nx});var qx=w((aV,kx)=>{"use strict";var Tk=Hs(),{pipe:Rk}=ir(),{tap:Lx}=Lu(),Bk=Ax(),{METRICS:Pk}=cu(),Ch=Dx(),Ih=["dataReceived","dataSent"],Nk={in:"dataReceived",out:"dataSent"},Uu=class{constructor(e){this._options=Tk(Pk,e),this._globalStats=new Ch(Ih,this._options),this._peerStats=new Map,this._protocolStats=new Map,this._oldPeers=Bk(this._options.maxOldPeersRetention),this._running=!1,this._onMessage=this._onMessage.bind(this),this._systems=new Map}start(){this._running=!0}stop(){this._running=!1,this._globalStats.stop();for(let e of this._peerStats.values())e.stop();for(let e of this._protocolStats.values())e.stop()}get global(){return this._globalStats}get peers(){return Array.from(this._peerStats.keys())}getComponentMetrics(){return this._systems}updateComponentMetric({system:e="libp2p",component:r,metric:n,value:i}){this._systems.has(e)||this._systems.set(e,new Map);let s=this._systems.get(e);s.has(r)||s.set(r,new Map),s.get(r).set(n,i)}forPeer(e){let r=e.toB58String();return this._peerStats.get(r)||this._oldPeers.get(r)}get protocols(){return Array.from(this._protocolStats.keys())}forProtocol(e){return this._protocolStats.get(e)}onPeerDisconnected(e){let r=e.toB58String(),n=this._peerStats.get(r);n&&(n.stop(),this._peerStats.delete(r),this._oldPeers.set(r,n))}_onMessage({remotePeer:e,protocol:r,direction:n,dataLength:i}){if(!this._running)return;let s=Nk[n],o=this.forPeer(e);if(o||(o=new Ch(Ih,this._options),this._peerStats.set(e.toB58String(),o)),o.push(s,i),this._globalStats.push(s,i),r){let a=this.forProtocol(r);a||(a=new Ch(Ih,this._options),this._protocolStats.set(r,a)),a.push(s,i)}}updatePlaceholder(e,r){if(!this._running)return;let n=this.forPeer(e),i=r.toB58String(),s=this.forPeer(r),o=n;s&&(o=Uu.mergeStats(s,o),this._oldPeers.delete(i)),this._peerStats.delete(e.toB58String()),this._peerStats.set(i,o),o.start()}trackStream({stream:e,remotePeer:r,protocol:n}){let i=this,s=e.source;e.source=Lx(a=>i._onMessage({remotePeer:r,protocol:n,direction:"in",dataLength:a.length}))(s);let o=e.sink;return e.sink=a=>Rk(a,Lx(c=>i._onMessage({remotePeer:r,protocol:n,direction:"out",dataLength:c.length})),o),e}static mergeStats(e,r){return e.stop(),r.stop(),e._queue=[...e._queue,...r._queue],e}};kx.exports=Uu});var Mu=w((cV,Kx)=>{"use strict";var Ux=Ji(),Mx=so(),{pipe:Ok}=ir(),Dk=de(),{fromString:Lk}=(It(),Nt),kk=pd(),{source:qk}=bu(),Fx=Lk(`
|
|
45
|
-
`);function Th(t){return Mx.encode.single(new Ux([t,Fx]))}function Uk(t,e){t.push(Th(e))}async function Mk(t,e){t.push(e.reduce((r,n)=>r.append(Th(n)),new Ux))}async function Fk(t,e){let r=1,n={[Symbol.asyncIterator](){return this},next:()=>t.next(r)},i=n;e&&e.signal&&(i=qk(n,e.signal));let s=a=>{r=a},o=await Ok(i,Mx.decode({onLength:s}),kk);if(o.get(o.length-1)!==Fx[0])throw Dk(new Error("missing newline"),"ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return o.shallowSlice(0,-1)}Kx.exports={encode:Th,write:Uk,writeAll:Mk,read:Fk}});var $x=w((uV,jx)=>{"use strict";var Vx=Te(),Kk=de(),go=Mu(),Vk=oo(),mo=Object.assign(Vx("mss:select"),{error:Vx("mss:select:error")});jx.exports=async function(e,r,n,i){r=Array.isArray(r)?[...r]:[r];let{reader:s,writer:o,rest:a,stream:c}=Vk(e),u=r.shift();if(!u)throw new Error("At least one protocol must be specified");n?(mo('select: write ["%s", "%s"]',n,u),go.writeAll(o,[n,u])):(mo('select: write "%s"',u),go.write(o,u));let l=(await go.read(s,i)).toString();if(mo('select: read "%s"',l),l===n&&(l=(await go.read(s,i)).toString(),mo('select: read "%s"',l)),l===u)return a(),{stream:c,protocol:u};for(let f of r){mo('select: write "%s"',f),go.write(o,f);let d=(await go.read(s,i)).toString();if(mo('select: read "%s" for "%s"',d,f),d===f)return a(),{stream:c,protocol:f}}throw a(),Kk(new Error("protocol selection failed"),"ERR_UNSUPPORTED_PROTOCOL")}});var Rh=w(Hx=>{"use strict";Hx.PROTOCOL_ID="/multistream/1.0.0"});var Wx=w((fV,Gx)=>{"use strict";var zx=Te(),jk=Ji(),vo=Mu(),$k=oo(),{PROTOCOL_ID:Bh}=Rh(),ka=Object.assign(zx("mss:handle"),{error:zx("mss:handle:error")});Gx.exports=async function(e,r,n){r=Array.isArray(r)?r:[r];let{writer:i,reader:s,rest:o,stream:a}=$k(e);for(;;){let c=(await vo.read(s,n)).toString();if(ka('read "%s"',c),c===Bh){ka('respond with "%s" for "%s"',Bh,c),vo.write(i,Bh);continue}if(r.includes(c))return vo.write(i,c),ka('respond with "%s" for "%s"',c,c),o(),{stream:a,protocol:c};if(c==="ls"){vo.write(i,new jk(r.map(u=>vo.encode(u)))),ka('respond with "%s" for %s',r,c);continue}vo.write(i,"na"),ka('respond with "na" for "%s"',c)}}});var Zx=w((dV,Xx)=>{"use strict";var Hk=nh(),Yx=Te(),Qx=Mu(),zk=oo(),Gk=so(),{pipe:Wk}=ir(),Yk=Object.assign(Yx("mss:ls"),{error:Yx("mss:ls:error")});Xx.exports=async function(e,r){let{reader:n,writer:i,rest:s,stream:o}=zk(e);Yk('write "ls"'),Qx.write(i,"ls"),s();let a=await Qx.read(n,r),c=Hk([a]),u=[];return await Wk(c,Gk.decode(),async f=>{for await(let d of f)u.push(d.shallowSlice(0,-1).toString())}),{stream:o,protocols:u}}});var rS=w(Fu=>{"use strict";var Jx=$x(),Qk=Wx(),Xk=Zx(),{PROTOCOL_ID:Ph}=Rh();Fu.PROTOCOL_ID=Ph;var Nh=class{constructor(e){this._stream=e,this._shaken=!1}async _handshake(e){if(this._shaken)return;let{stream:r}=await Jx(this._stream,Ph,void 0,e);this._stream=r,this._shaken=!0}},eS=class extends Nh{select(e,r){return Jx(this._stream,e,this._shaken?void 0:Ph,r)}async ls(e){await this._handshake(e);let r=await Xk(this._stream,e),{stream:n,protocols:i}=r;return this._stream=n,i}};Fu.Dialer=eS;var tS=class extends Nh{handle(e,r){return Qk(this._stream,e,r)}};Fu.Listener=tS});var iS=w((pV,nS)=>{"use strict";var Zk={OPEN:"open",CLOSING:"closing",CLOSED:"closed"};nS.exports=Zk});var lS=w((yV,uS)=>{"use strict";var sS=Rt(),{Multiaddr:Jk}=qt(),or=de(),{OPEN:e6,CLOSING:oS,CLOSED:Oh}=iS(),aS=Symbol.for("@libp2p/interface-connection/connection"),cS=class{constructor({localAddr:e,remoteAddr:r,localPeer:n,remotePeer:i,newStream:s,close:o,getStreams:a,stat:c}){t6(e,n,i,s,o,a,c),this.id=parseInt(String(Math.random()*1e9)).toString(36)+Date.now(),this.localAddr=e,this.remoteAddr=r,this.localPeer=n,this.remotePeer=i,this._stat={...c,status:e6},this._newStream=s,this._close=o,this._getStreams=a,this.registry=new Map,this.tags=[]}get[Symbol.toStringTag](){return"Connection"}get[aS](){return!0}static isConnection(e){return Boolean(e&&e[aS])}get stat(){return this._stat}get streams(){return this._getStreams()}async newStream(e){if(this.stat.status===oS)throw or(new Error("the connection is being closed"),"ERR_CONNECTION_BEING_CLOSED");if(this.stat.status===Oh)throw or(new Error("the connection is closed"),"ERR_CONNECTION_CLOSED");Array.isArray(e)||(e=[e]);let{stream:r,protocol:n}=await this._newStream(e);return this.addStream(r,{protocol:n}),{stream:r,protocol:n}}addStream(e,{protocol:r,metadata:n={}}){this.registry.set(e.id,{protocol:r,...n})}removeStream(e){this.registry.delete(e)}async close(){if(this.stat.status!==Oh){if(this._closing)return this._closing;this.stat.status=oS,this._closing=await this._close(),this._stat.timeline.close=Date.now(),this.stat.status=Oh}}};uS.exports=cS;function t6(t,e,r,n,i,s,o){if(t&&!Jk.isMultiaddr(t))throw or(new Error("localAddr must be an instance of multiaddr"),"ERR_INVALID_PARAMETERS");if(!sS.isPeerId(e))throw or(new Error("localPeer must be an instance of peer-id"),"ERR_INVALID_PARAMETERS");if(!sS.isPeerId(r))throw or(new Error("remotePeer must be an instance of peer-id"),"ERR_INVALID_PARAMETERS");if(typeof n!="function")throw or(new Error("new stream must be a function"),"ERR_INVALID_PARAMETERS");if(typeof i!="function")throw or(new Error("close must be a function"),"ERR_INVALID_PARAMETERS");if(typeof s!="function")throw or(new Error("getStreams must be a function"),"ERR_INVALID_PARAMETERS");if(!o)throw or(new Error("connection metadata object must be provided"),"ERR_INVALID_PARAMETERS");if(o.direction!=="inbound"&&o.direction!=="outbound")throw or(new Error('direction must be "inbound" or "outbound"'),"ERR_INVALID_PARAMETERS");if(!o.timeline)throw or(new Error("connection timeline object must be provided in the stat object"),"ERR_INVALID_PARAMETERS");if(!o.timeline.open)throw or(new Error("connection open timestamp must be provided"),"ERR_INVALID_PARAMETERS");if(!o.timeline.upgraded)throw or(new Error("connection upgraded timestamp must be provided"),"ERR_INVALID_PARAMETERS")}});var dS=w(fS=>{"use strict";fS.Connection=lS()});var pS=w((mV,hS)=>{"use strict";function r6(t){if(Array.isArray(t)){for(var e=0,r=Array(t.length);e<t.length;e++)r[e]=t[e];return r}else return Array.from(t)}hS.exports=function(e){var r=void 0,n=void 0;function i(a){if(!(a instanceof Object))throw new Error('Target "'+a+'" is not an object');n=a}function s(a){Object.keys(a).forEach(function(c){var u=a[c];if(typeof u!="function")throw new Error('Trap "'+c+": "+u+'" is not a function');if(!Reflect[c])throw new Error('Trap "'+c+": "+u+'" is not a valid trap')}),r=a}i(function(){}),e&&i(e),s(Reflect);var o=new Proxy({},{get:function(c,u){return function(){for(var l=arguments.length,f=Array(l),d=0;d<l;d++)f[d]=arguments[d];return r[u].apply(null,[n].concat(r6(f.slice(1))))}}});return{setTarget:i,setHandler:s,getTarget:function(){return n},getHandler:function(){return r},proxy:new Proxy(n,o)}}});var bS=w((vV,vS)=>{"use strict";var yS=Te(),vt=Object.assign(yS("libp2p:upgrader"),{error:yS("libp2p:upgrader:err")}),ar=de(),bo=rS(),{Connection:n6}=dS(),i6=Rt(),{pipe:s6}=ir(),gS=pS(),{codes:cr}=je(),mS=class{constructor({localPeer:e,metrics:r,connectionGater:n,cryptos:i=new Map,muxers:s=new Map,onConnectionEnd:o=()=>{},onConnection:a=()=>{}}){this.connectionGater=n,this.localPeer=e,this.metrics=r,this.cryptos=i,this.muxers=s,this.protector=null,this.protocols=new Map,this.onConnection=a,this.onConnectionEnd=o}async upgradeInbound(e){let r,n,i,s,o,a,c;if(await this.connectionGater.denyInboundConnection(e))throw ar(new Error("The multiaddr connection is blocked by gater.acceptConnection"),cr.ERR_CONNECTION_INTERCEPTED);if(this.metrics){({setTarget:a,proxy:c}=gS());let l=(Math.random()*1e9).toString(36)+Date.now();a({toB58String:()=>l}),e=this.metrics.trackStream({stream:e,remotePeer:c})}vt("Starting the inbound connection upgrade");let u=e;this.protector&&(u=await this.protector.protect(e));try{if({conn:r,remotePeer:n,protocol:o}=await this._encryptInbound(this.localPeer,u,this.cryptos),await this.connectionGater.denyInboundEncryptedConnection(n,r))throw ar(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),cr.ERR_CONNECTION_INTERCEPTED);this.muxers.size?{stream:i,Muxer:s}=await this._multiplexInbound(r,this.muxers):i=r}catch(l){throw vt.error("Failed to upgrade inbound connection",l),await e.close(l),l}if(await this.connectionGater.denyInboundUpgradedConnection(n,r))throw ar(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),cr.ERR_CONNECTION_INTERCEPTED);return this.metrics&&(this.metrics.updatePlaceholder(c,n),a(n)),vt("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:o,direction:"inbound",maConn:e,upgradedConn:i,Muxer:s,remotePeer:n})}async upgradeOutbound(e){let r=e.remoteAddr.getPeerId();if(!r)throw ar(new Error("outbound connection must have a peer id"),cr.ERR_INVALID_MULTIADDR);let n=i6.createFromB58String(r);if(await this.connectionGater.denyOutboundConnection(n,e))throw ar(new Error("The multiaddr connection is blocked by connectionGater.denyOutboundConnection"),cr.ERR_CONNECTION_INTERCEPTED);let i,s,o,a,c,u,l;if(this.metrics){({setTarget:u,proxy:l}=gS());let d=(Math.random()*1e9).toString(36)+Date.now();u({toB58String:()=>d}),e=this.metrics.trackStream({stream:e,remotePeer:l})}vt("Starting the outbound connection upgrade");let f=e;this.protector&&(f=await this.protector.protect(e));try{if({conn:i,remotePeer:s,protocol:a}=await this._encryptOutbound(this.localPeer,f,n,this.cryptos),await this.connectionGater.denyOutboundEncryptedConnection(s,i))throw ar(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),cr.ERR_CONNECTION_INTERCEPTED);this.muxers.size?{stream:o,Muxer:c}=await this._multiplexOutbound(i,this.muxers):o=i}catch(d){throw vt.error("Failed to upgrade outbound connection",d),await e.close(d),d}if(await this.connectionGater.denyOutboundUpgradedConnection(s,i))throw ar(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),cr.ERR_CONNECTION_INTERCEPTED);return this.metrics&&(this.metrics.updatePlaceholder(l,s),u(s)),vt("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:a,direction:"outbound",maConn:e,upgradedConn:o,Muxer:c,remotePeer:s})}_createConnection({cryptoProtocol:e,direction:r,maConn:n,upgradedConn:i,Muxer:s,remotePeer:o}){let a,c,u;s&&(a=new s({onStream:async d=>{if(!u)return;let p=new bo.Listener(d);try{let{stream:h,protocol:g}=await p.handle(Array.from(this.protocols.keys()));vt("%s: incoming stream opened on %s",r,g),this.metrics&&this.metrics.trackStream({stream:h,remotePeer:o,protocol:g}),u.addStream(d,{protocol:g}),this._onStream({connection:u,stream:{...d,...h},protocol:g})}catch(h){vt.error(h)}},onStreamEnd:d=>{u.removeStream(d.id)}}),c=async d=>{vt("%s: starting new stream on %s",r,d);let p=a.newStream(),h=new bo.Dialer(p);try{let{stream:g,protocol:m}=await h.select(d);return this.metrics&&this.metrics.trackStream({stream:g,remotePeer:o,protocol:m}),{stream:{...p,...g},protocol:m}}catch(g){throw vt.error("could not create new stream",g),ar(g,cr.ERR_UNSUPPORTED_PROTOCOL)}},s6(i,a,i).catch(vt.error));let l=n.timeline;n.timeline=new Proxy(l,{set:(...d)=>(u&&d[1]==="close"&&d[2]&&!l.close&&(async()=>{try{u.stat.status==="open"&&await u.close()}catch(p){vt.error(p)}finally{this.onConnectionEnd(u)}})().catch(p=>{vt.error(p)}),Reflect.set(...d))}),n.timeline.upgraded=Date.now();let f=()=>{throw ar(new Error("connection is not multiplexed"),cr.ERR_CONNECTION_NOT_MULTIPLEXED)};return u=new n6({localAddr:n.localAddr,remoteAddr:n.remoteAddr,localPeer:this.localPeer,remotePeer:o,stat:{direction:r,timeline:n.timeline,multiplexer:s&&s.multicodec,encryption:e},newStream:c||f,getStreams:()=>a?a.streams:f(),close:async()=>{await n.close(),a&&a.streams.map(d=>d.abort())}}),this.onConnection(u),u}_onStream({connection:e,stream:r,protocol:n}){this.protocols.get(n)({connection:e,stream:r,protocol:n})}async _encryptInbound(e,r,n){let i=new bo.Listener(r),s=Array.from(n.keys());vt("handling inbound crypto protocol selection",s);try{let{stream:o,protocol:a}=await i.handle(s),c=n.get(a);if(vt("encrypting inbound connection..."),!c)throw new Error(`no crypto module found for ${a}`);return{...await c.secureInbound(e,o),protocol:a}}catch(o){throw ar(o,cr.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r,n,i){let s=new bo.Dialer(r),o=Array.from(i.keys());vt("selecting outbound crypto protocol",o);try{let{stream:a,protocol:c}=await s.select(o),u=i.get(c);if(vt("encrypting outbound connection to %j",n),!u)throw new Error(`no crypto module found for ${c}`);return{...await u.secureOutbound(e,a,n),protocol:c}}catch(a){throw ar(a,cr.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=new bo.Dialer(e),i=Array.from(r.keys());vt("outbound selecting muxer %s",i);try{let{stream:s,protocol:o}=await n.select(i);vt("%s selected as muxer protocol",o);let a=r.get(o);return{stream:s,Muxer:a}}catch(s){throw ar(s,cr.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=new bo.Listener(e),i=Array.from(r.keys());vt("inbound handling muxers %s",i);try{let{stream:s,protocol:o}=await n.handle(i),a=r.get(o);return{stream:s,Muxer:a}}catch(s){throw ar(s,cr.ERR_MUXER_UNAVAILABLE)}}};vS.exports=mS});var wS=w((bV,ES)=>{"use strict";var o6=async function*(t,e){for await(let r of t)await e(r),yield r};ES.exports=o6});var TS=w((EV,IS)=>{"use strict";var _S=Te(),os=de(),{Multiaddr:xS}=qt(),Ku=Rt(),{codes:Kr}=je(),SS=pu(),AS=du(),{pipe:a6}=ir(),c6=Mi(),u6=Fi(),l6=od(),f6=wS(),ke=Object.assign(_S("libp2p:peer-store:address-book"),{error:_S("libp2p:peer-store:address-book:err")}),Vu="change:multiaddrs",CS=class{constructor(e,r,n){this._emit=e,this._store=r,this._addressFilter=n}async consumePeerRecord(e){ke("consumePeerRecord await write lock");let r=await this._store.lock.writeLock();ke("consumePeerRecord got write lock");let n,i;try{let s;try{s=SS.createFromProtobuf(e.payload)}catch(a){return ke.error("invalid peer record received"),!1}n=s.peerId;let o=s.multiaddrs;if(!n.equals(e.peerId))return ke("signing key does not match PeerId in the PeerRecord"),!1;if(!o||!o.length)return!1;if(await this._store.has(n)){let a=await this._store.load(n);if(a.peerRecordEnvelope){let c=await AS.createFromProtobuf(a.peerRecordEnvelope);if(SS.createFromProtobuf(c.payload).seqNumber>=s.seqNumber)return!1}}i=await this._store.patchOrCreate(n,{addresses:await Dh(n,o,this._addressFilter,!0),peerRecordEnvelope:e.marshal()}),ke(`stored provided peer record for ${s.peerId.toB58String()}`)}finally{ke("consumePeerRecord release write lock"),r()}return this._emit(Vu,{peerId:n,multiaddrs:i.addresses.map(({multiaddr:s})=>s)}),!0}async getRawEnvelope(e){ke("getRawEnvelope await read lock");let r=await this._store.lock.readLock();ke("getRawEnvelope got read lock");try{return(await this._store.load(e)).peerRecordEnvelope}catch(n){if(n.code!==Kr.ERR_NOT_FOUND)throw n}finally{ke("getRawEnvelope release read lock"),r()}}async getPeerRecord(e){let r=await this.getRawEnvelope(e);if(!!r)return AS.createFromProtobuf(r)}async get(e){if(!Ku.isPeerId(e))throw ke.error("peerId must be an instance of peer-id to store data"),os(new Error("peerId must be an instance of peer-id"),Kr.ERR_INVALID_PARAMETERS);ke("get wait for read lock");let r=await this._store.lock.readLock();ke("get got read lock");try{return(await this._store.load(e)).addresses}catch(n){if(n.code!==Kr.ERR_NOT_FOUND)throw n}finally{ke("get release read lock"),r()}return[]}async set(e,r){if(!Ku.isPeerId(e))throw ke.error("peerId must be an instance of peer-id to store data"),os(new Error("peerId must be an instance of peer-id"),Kr.ERR_INVALID_PARAMETERS);if(!Array.isArray(r))throw ke.error("multiaddrs must be an array of Multiaddrs"),os(new Error("multiaddrs must be an array of Multiaddrs"),Kr.ERR_INVALID_PARAMETERS);ke("set await write lock");let n=await this._store.lock.writeLock();ke("set got write lock");let i=!1,s;try{let o=await Dh(e,r,this._addressFilter);if(!o.length)return;try{let a=await this._store.load(e);if(i=!0,new Set([...o.map(({multiaddr:c})=>c.toString()),...a.addresses.map(({multiaddr:c})=>c.toString())]).size===a.addresses.length&&o.length===a.addresses.length)return}catch(a){if(a.code!==Kr.ERR_NOT_FOUND)throw a}s=await this._store.patchOrCreate(e,{addresses:o}),ke(`set multiaddrs for ${e.toB58String()}`)}finally{ke("set release write lock"),n()}this._emit(Vu,{peerId:e,multiaddrs:s.addresses.map(o=>o.multiaddr)}),i||this._emit("peer",e)}async add(e,r){if(!Ku.isPeerId(e))throw ke.error("peerId must be an instance of peer-id to store data"),os(new Error("peerId must be an instance of peer-id"),Kr.ERR_INVALID_PARAMETERS);if(!Array.isArray(r))throw ke.error("multiaddrs must be an array of Multiaddrs"),os(new Error("multiaddrs must be an array of Multiaddrs"),Kr.ERR_INVALID_PARAMETERS);ke("add await write lock");let n=await this._store.lock.writeLock();ke("add got write lock");let i,s;try{let o=await Dh(e,r,this._addressFilter);if(!o.length)return;try{let a=await this._store.load(e);if(i=!0,new Set([...o.map(({multiaddr:c})=>c.toString()),...a.addresses.map(({multiaddr:c})=>c.toString())]).size===a.addresses.length)return}catch(a){if(a.code!==Kr.ERR_NOT_FOUND)throw a}s=await this._store.mergeOrCreate(e,{addresses:o}),ke(`added multiaddrs for ${e}`)}finally{ke("set release write lock"),n()}this._emit(Vu,{peerId:e,multiaddrs:s.addresses.map(o=>o.multiaddr)}),i||this._emit("peer",e)}async delete(e){if(!Ku.isPeerId(e))throw ke.error("peerId must be an instance of peer-id to store data"),os(new Error("peerId must be an instance of peer-id"),Kr.ERR_INVALID_PARAMETERS);ke("delete await write lock");let r=await this._store.lock.writeLock();ke("delete got write lock");let n;try{n=await this._store.has(e),await this._store.patchOrCreate(e,{addresses:[]})}finally{ke("delete release write lock"),r()}n&&this._emit(Vu,{peerId:e,multiaddrs:[]})}async getMultiaddrsForPeer(e,r=n=>n){let n=await this.get(e);return r(n).map(i=>{let s=i.multiaddr,o=s.getPeerId();return o&&o===e.toB58String()?s:s.encapsulate(`/p2p/${e.toB58String()}`)})}};function Dh(t,e,r,n=!1){return a6(e,i=>f6(i,s=>{if(!xS.isMultiaddr(s))throw ke.error("multiaddr must be an instance of Multiaddr"),os(new Error("multiaddr must be an instance of Multiaddr"),Kr.ERR_INVALID_PARAMETERS)}),i=>u6(i,s=>r(t,s)),i=>l6(i,s=>({multiaddr:new xS(s.toString()),isCertified:n})),i=>c6(i))}IS.exports=CS});var OS=w((wV,NS)=>{"use strict";var RS=Te(),ju=de(),{codes:Eo}=je(),Lh=Rt(),{equals:d6}=(mr(),gr),ur=Object.assign(RS("libp2p:peer-store:key-book"),{error:RS("libp2p:peer-store:key-book:err")}),BS="change:pubkey",PS=class{constructor(e,r){this._emit=e,this._store=r}async set(e,r){if(!Lh.isPeerId(e))throw ur.error("peerId must be an instance of peer-id to store data"),ju(new Error("peerId must be an instance of peer-id"),Eo.ERR_INVALID_PARAMETERS);if(!r)throw ur.error("publicKey must be an instance of PublicKey to store data"),ju(new Error("publicKey must be an instance of PublicKey"),Eo.ERR_INVALID_PARAMETERS);ur("set await write lock");let n=await this._store.lock.writeLock();ur("set got write lock");let i=!1;try{try{let s=await this._store.load(e);if(s.pubKey&&d6(s.pubKey.bytes,r.bytes))return}catch(s){if(s.code!==Eo.ERR_NOT_FOUND)throw s}await this._store.patchOrCreate(e,{pubKey:r}),i=!0}finally{ur("set release write lock"),n()}i&&this._emit(BS,{peerId:e,pubKey:r})}async get(e){if(!Lh.isPeerId(e))throw ur.error("peerId must be an instance of peer-id to store data"),ju(new Error("peerId must be an instance of peer-id"),Eo.ERR_INVALID_PARAMETERS);ur("get await write lock");let r=await this._store.lock.readLock();ur("get got write lock");try{return(await this._store.load(e)).pubKey}catch(n){if(n.code!==Eo.ERR_NOT_FOUND)throw n}finally{ur("get release write lock"),r()}}async delete(e){if(!Lh.isPeerId(e))throw ur.error("peerId must be an instance of peer-id to store data"),ju(new Error("peerId must be an instance of peer-id"),Eo.ERR_INVALID_PARAMETERS);ur("delete await write lock");let r=await this._store.lock.writeLock();ur("delete got write lock");try{await this._store.patchOrCreate(e,{pubKey:void 0})}finally{ur("delete release write lock"),r()}this._emit(BS,{peerId:e,pubKey:void 0})}};NS.exports=PS});var qS=w((_V,kS)=>{"use strict";var DS=Te(),pi=de(),{codes:Tr}=je(),wo=Rt(),{equals:h6}=(mr(),gr),We=Object.assign(DS("libp2p:peer-store:metadata-book"),{error:DS("libp2p:peer-store:metadata-book:err")}),$u="change:metadata",LS=class{constructor(e,r){this._emit=e,this._store=r}async get(e){if(!wo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),pi(new Error("peerId must be an instance of peer-id"),Tr.ERR_INVALID_PARAMETERS);We("get await read lock");let r=await this._store.lock.readLock();We("get got read lock");try{return(await this._store.load(e)).metadata}catch(n){if(n.code!==Tr.ERR_NOT_FOUND)throw n}finally{We("get release read lock"),r()}return new Map}async getValue(e,r){if(!wo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),pi(new Error("peerId must be an instance of peer-id"),Tr.ERR_INVALID_PARAMETERS);We("getValue await read lock");let n=await this._store.lock.readLock();We("getValue got read lock");try{return(await this._store.load(e)).metadata.get(r)}catch(i){if(i.code!==Tr.ERR_NOT_FOUND)throw i}finally{We("getValue release write lock"),n()}}async set(e,r){if(!wo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),pi(new Error("peerId must be an instance of peer-id"),Tr.ERR_INVALID_PARAMETERS);if(!r||!(r instanceof Map))throw We.error("valid metadata must be provided to store data"),pi(new Error("valid metadata must be provided"),Tr.ERR_INVALID_PARAMETERS);We("set await write lock");let n=await this._store.lock.writeLock();We("set got write lock");try{await this._store.mergeOrCreate(e,{metadata:r})}finally{We("set release write lock"),n()}this._emit($u,{peerId:e,metadata:r})}async setValue(e,r,n){if(!wo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),pi(new Error("peerId must be an instance of peer-id"),Tr.ERR_INVALID_PARAMETERS);if(typeof r!="string"||!(n instanceof Uint8Array))throw We.error("valid key and value must be provided to store data"),pi(new Error("valid key and value must be provided"),Tr.ERR_INVALID_PARAMETERS);We("setValue await write lock");let i=await this._store.lock.writeLock();We("setValue got write lock");let s;try{try{let a=(await this._store.load(e)).metadata.get(r);if(a!=null&&h6(n,a))return}catch(o){if(o.code!==Tr.ERR_NOT_FOUND)throw o}s=await this._store.mergeOrCreate(e,{metadata:new Map([[r,n]])})}finally{We("setValue release write lock"),i()}this._emit($u,{peerId:e,metadata:s.metadata})}async delete(e){if(!wo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),pi(new Error("peerId must be an instance of peer-id"),Tr.ERR_INVALID_PARAMETERS);We("delete await write lock");let r=await this._store.lock.writeLock();We("delete got write lock");let n;try{n=await this._store.has(e),n&&await this._store.patch(e,{metadata:new Map})}finally{We("delete release write lock"),r()}n&&this._emit($u,{peerId:e,metadata:new Map})}async deleteValue(e,r){if(!wo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),pi(new Error("peerId must be an instance of peer-id"),Tr.ERR_INVALID_PARAMETERS);We("deleteValue await write lock");let n=await this._store.lock.writeLock();We("deleteValue got write lock");let i;try{i=(await this._store.load(e)).metadata,i.delete(r),await this._store.patch(e,{metadata:i})}catch(s){if(s.code!==Tr.ERR_NOT_FOUND)throw s}finally{We("deleteValue release write lock"),n()}i&&this._emit($u,{peerId:e,metadata:i})}};kS.exports=LS});var KS=w((xV,FS)=>{"use strict";var US=Te(),_o=de(),{codes:Vr}=je(),kh=Rt(),ot=Object.assign(US("libp2p:peer-store:proto-book"),{error:US("libp2p:peer-store:proto-book:err")}),Hu="change:protocols",MS=class{constructor(e,r){this._emit=e,this._store=r}async get(e){ot("get wait for read lock");let r=await this._store.lock.readLock();ot("get got read lock");try{return(await this._store.load(e)).protocols}catch(n){if(n.code!==Vr.ERR_NOT_FOUND)throw n}finally{ot("get release read lock"),r()}return[]}async set(e,r){if(!kh.isPeerId(e))throw ot.error("peerId must be an instance of peer-id to store data"),_o(new Error("peerId must be an instance of peer-id"),Vr.ERR_INVALID_PARAMETERS);if(!Array.isArray(r))throw ot.error("protocols must be provided to store data"),_o(new Error("protocols must be provided"),Vr.ERR_INVALID_PARAMETERS);ot("set await write lock");let n=await this._store.lock.writeLock();ot("set got write lock");let i;try{try{let s=await this._store.load(e);if(new Set([...r]).size===s.protocols.length)return}catch(s){if(s.code!==Vr.ERR_NOT_FOUND)throw s}i=await this._store.patchOrCreate(e,{protocols:r}),ot(`stored provided protocols for ${e.toB58String()}`)}finally{ot("set release write lock"),n()}this._emit(Hu,{peerId:e,protocols:i.protocols})}async add(e,r){if(!kh.isPeerId(e))throw ot.error("peerId must be an instance of peer-id to store data"),_o(new Error("peerId must be an instance of peer-id"),Vr.ERR_INVALID_PARAMETERS);if(!Array.isArray(r))throw ot.error("protocols must be provided to store data"),_o(new Error("protocols must be provided"),Vr.ERR_INVALID_PARAMETERS);ot("add await write lock");let n=await this._store.lock.writeLock();ot("add got write lock");let i;try{try{let s=await this._store.load(e);if(new Set([...s.protocols,...r]).size===s.protocols.length)return}catch(s){if(s.code!==Vr.ERR_NOT_FOUND)throw s}i=await this._store.mergeOrCreate(e,{protocols:r}),ot(`added provided protocols for ${e.toB58String()}`)}finally{ot("add release write lock"),n()}this._emit(Hu,{peerId:e,protocols:i.protocols})}async remove(e,r){if(!kh.isPeerId(e))throw ot.error("peerId must be an instance of peer-id to store data"),_o(new Error("peerId must be an instance of peer-id"),Vr.ERR_INVALID_PARAMETERS);if(!Array.isArray(r))throw ot.error("protocols must be provided to store data"),_o(new Error("protocols must be provided"),Vr.ERR_INVALID_PARAMETERS);ot("remove await write lock");let n=await this._store.lock.writeLock();ot("remove got write lock");let i;try{try{let s=await this._store.load(e),o=new Set(s.protocols);for(let a of r)o.delete(a);if(s.protocols.length===o.size)return;r=Array.from(o)}catch(s){if(s.code!==Vr.ERR_NOT_FOUND)throw s}i=await this._store.patchOrCreate(e,{protocols:r})}finally{ot("remove release write lock"),n()}this._emit(Hu,{peerId:e,protocols:i.protocols})}async delete(e){ot("delete await write lock");let r=await this._store.lock.writeLock();ot("delete got write lock");let n;try{n=await this._store.has(e),await this._store.patchOrCreate(e,{protocols:[]})}catch(i){if(i.code!==Vr.ERR_NOT_FOUND)throw i}finally{ot("delete release write lock"),r()}n&&this._emit(Hu,{peerId:e,protocols:[]})}};FS.exports=MS});var jS=w((SV,VS)=>{"use strict";var yi=gn(),xo=yi.Reader,qh=yi.Writer,Me=yi.util,yt=yi.roots["libp2p-peer"]||(yi.roots["libp2p-peer"]={});yt.Peer=function(){function t(r){if(this.addresses=[],this.protocols=[],this.metadata=[],r)for(var n=Object.keys(r),i=0;i<n.length;++i)r[n[i]]!=null&&(this[n[i]]=r[n[i]])}t.prototype.addresses=Me.emptyArray,t.prototype.protocols=Me.emptyArray,t.prototype.metadata=Me.emptyArray,t.prototype.pubKey=null,t.prototype.peerRecordEnvelope=null;var e;return Object.defineProperty(t.prototype,"_pubKey",{get:Me.oneOfGetter(e=["pubKey"]),set:Me.oneOfSetter(e)}),Object.defineProperty(t.prototype,"_peerRecordEnvelope",{get:Me.oneOfGetter(e=["peerRecordEnvelope"]),set:Me.oneOfSetter(e)}),t.encode=function(n,i){if(i||(i=qh.create()),n.addresses!=null&&n.addresses.length)for(var s=0;s<n.addresses.length;++s)yt.Address.encode(n.addresses[s],i.uint32(10).fork()).ldelim();if(n.protocols!=null&&n.protocols.length)for(var s=0;s<n.protocols.length;++s)i.uint32(18).string(n.protocols[s]);if(n.metadata!=null&&n.metadata.length)for(var s=0;s<n.metadata.length;++s)yt.Metadata.encode(n.metadata[s],i.uint32(26).fork()).ldelim();return n.pubKey!=null&&Object.hasOwnProperty.call(n,"pubKey")&&i.uint32(34).bytes(n.pubKey),n.peerRecordEnvelope!=null&&Object.hasOwnProperty.call(n,"peerRecordEnvelope")&&i.uint32(42).bytes(n.peerRecordEnvelope),i},t.decode=function(n,i){n instanceof xo||(n=xo.create(n));for(var s=i===void 0?n.len:n.pos+i,o=new yt.Peer;n.pos<s;){var a=n.uint32();switch(a>>>3){case 1:o.addresses&&o.addresses.length||(o.addresses=[]),o.addresses.push(yt.Address.decode(n,n.uint32()));break;case 2:o.protocols&&o.protocols.length||(o.protocols=[]),o.protocols.push(n.string());break;case 3:o.metadata&&o.metadata.length||(o.metadata=[]),o.metadata.push(yt.Metadata.decode(n,n.uint32()));break;case 4:o.pubKey=n.bytes();break;case 5:o.peerRecordEnvelope=n.bytes();break;default:n.skipType(a&7);break}}return o},t.fromObject=function(n){if(n instanceof yt.Peer)return n;var i=new yt.Peer;if(n.addresses){if(!Array.isArray(n.addresses))throw TypeError(".Peer.addresses: array expected");i.addresses=[];for(var s=0;s<n.addresses.length;++s){if(typeof n.addresses[s]!="object")throw TypeError(".Peer.addresses: object expected");i.addresses[s]=yt.Address.fromObject(n.addresses[s])}}if(n.protocols){if(!Array.isArray(n.protocols))throw TypeError(".Peer.protocols: array expected");i.protocols=[];for(var s=0;s<n.protocols.length;++s)i.protocols[s]=String(n.protocols[s])}if(n.metadata){if(!Array.isArray(n.metadata))throw TypeError(".Peer.metadata: array expected");i.metadata=[];for(var s=0;s<n.metadata.length;++s){if(typeof n.metadata[s]!="object")throw TypeError(".Peer.metadata: object expected");i.metadata[s]=yt.Metadata.fromObject(n.metadata[s])}}return n.pubKey!=null&&(typeof n.pubKey=="string"?Me.base64.decode(n.pubKey,i.pubKey=Me.newBuffer(Me.base64.length(n.pubKey)),0):n.pubKey.length&&(i.pubKey=n.pubKey)),n.peerRecordEnvelope!=null&&(typeof n.peerRecordEnvelope=="string"?Me.base64.decode(n.peerRecordEnvelope,i.peerRecordEnvelope=Me.newBuffer(Me.base64.length(n.peerRecordEnvelope)),0):n.peerRecordEnvelope.length&&(i.peerRecordEnvelope=n.peerRecordEnvelope)),i},t.toObject=function(n,i){i||(i={});var s={};if((i.arrays||i.defaults)&&(s.addresses=[],s.protocols=[],s.metadata=[]),n.addresses&&n.addresses.length){s.addresses=[];for(var o=0;o<n.addresses.length;++o)s.addresses[o]=yt.Address.toObject(n.addresses[o],i)}if(n.protocols&&n.protocols.length){s.protocols=[];for(var o=0;o<n.protocols.length;++o)s.protocols[o]=n.protocols[o]}if(n.metadata&&n.metadata.length){s.metadata=[];for(var o=0;o<n.metadata.length;++o)s.metadata[o]=yt.Metadata.toObject(n.metadata[o],i)}return n.pubKey!=null&&n.hasOwnProperty("pubKey")&&(s.pubKey=i.bytes===String?Me.base64.encode(n.pubKey,0,n.pubKey.length):i.bytes===Array?Array.prototype.slice.call(n.pubKey):n.pubKey,i.oneofs&&(s._pubKey="pubKey")),n.peerRecordEnvelope!=null&&n.hasOwnProperty("peerRecordEnvelope")&&(s.peerRecordEnvelope=i.bytes===String?Me.base64.encode(n.peerRecordEnvelope,0,n.peerRecordEnvelope.length):i.bytes===Array?Array.prototype.slice.call(n.peerRecordEnvelope):n.peerRecordEnvelope,i.oneofs&&(s._peerRecordEnvelope="peerRecordEnvelope")),s},t.prototype.toJSON=function(){return this.constructor.toObject(this,yi.util.toJSONOptions)},t}();yt.Address=function(){function t(r){if(r)for(var n=Object.keys(r),i=0;i<n.length;++i)r[n[i]]!=null&&(this[n[i]]=r[n[i]])}t.prototype.multiaddr=Me.newBuffer([]),t.prototype.isCertified=null;var e;return Object.defineProperty(t.prototype,"_isCertified",{get:Me.oneOfGetter(e=["isCertified"]),set:Me.oneOfSetter(e)}),t.encode=function(n,i){return i||(i=qh.create()),n.multiaddr!=null&&Object.hasOwnProperty.call(n,"multiaddr")&&i.uint32(10).bytes(n.multiaddr),n.isCertified!=null&&Object.hasOwnProperty.call(n,"isCertified")&&i.uint32(16).bool(n.isCertified),i},t.decode=function(n,i){n instanceof xo||(n=xo.create(n));for(var s=i===void 0?n.len:n.pos+i,o=new yt.Address;n.pos<s;){var a=n.uint32();switch(a>>>3){case 1:o.multiaddr=n.bytes();break;case 2:o.isCertified=n.bool();break;default:n.skipType(a&7);break}}return o},t.fromObject=function(n){if(n instanceof yt.Address)return n;var i=new yt.Address;return n.multiaddr!=null&&(typeof n.multiaddr=="string"?Me.base64.decode(n.multiaddr,i.multiaddr=Me.newBuffer(Me.base64.length(n.multiaddr)),0):n.multiaddr.length&&(i.multiaddr=n.multiaddr)),n.isCertified!=null&&(i.isCertified=Boolean(n.isCertified)),i},t.toObject=function(n,i){i||(i={});var s={};return i.defaults&&(i.bytes===String?s.multiaddr="":(s.multiaddr=[],i.bytes!==Array&&(s.multiaddr=Me.newBuffer(s.multiaddr)))),n.multiaddr!=null&&n.hasOwnProperty("multiaddr")&&(s.multiaddr=i.bytes===String?Me.base64.encode(n.multiaddr,0,n.multiaddr.length):i.bytes===Array?Array.prototype.slice.call(n.multiaddr):n.multiaddr),n.isCertified!=null&&n.hasOwnProperty("isCertified")&&(s.isCertified=n.isCertified,i.oneofs&&(s._isCertified="isCertified")),s},t.prototype.toJSON=function(){return this.constructor.toObject(this,yi.util.toJSONOptions)},t}();yt.Metadata=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.key="",t.prototype.value=Me.newBuffer([]),t.encode=function(r,n){return n||(n=qh.create()),r.key!=null&&Object.hasOwnProperty.call(r,"key")&&n.uint32(10).string(r.key),r.value!=null&&Object.hasOwnProperty.call(r,"value")&&n.uint32(18).bytes(r.value),n},t.decode=function(r,n){r instanceof xo||(r=xo.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new yt.Metadata;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.key=r.string();break;case 2:s.value=r.bytes();break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof yt.Metadata)return r;var n=new yt.Metadata;return r.key!=null&&(n.key=String(r.key)),r.value!=null&&(typeof r.value=="string"?Me.base64.decode(r.value,n.value=Me.newBuffer(Me.base64.length(r.value)),0):r.value.length&&(n.value=r.value)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(i.key="",n.bytes===String?i.value="":(i.value=[],n.bytes!==Array&&(i.value=Me.newBuffer(i.value)))),r.key!=null&&r.hasOwnProperty("key")&&(i.key=r.key),r.value!=null&&r.hasOwnProperty("value")&&(i.value=n.bytes===String?Me.base64.encode(r.value,0,r.value.length):n.bytes===Array?Array.prototype.slice.call(r.value):r.value),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,yi.util.toJSONOptions)},t}();VS.exports=yt});var Uh=w((AV,$S)=>{$S.exports={WORKER_REQUEST_READ_LOCK:"lock:worker:request-read",WORKER_RELEASE_READ_LOCK:"lock:worker:release-read",MASTER_GRANT_READ_LOCK:"lock:master:grant-read",WORKER_REQUEST_WRITE_LOCK:"lock:worker:request-write",WORKER_RELEASE_WRITE_LOCK:"lock:worker:release-write",MASTER_GRANT_WRITE_LOCK:"lock:master:grant-write"}});var HS=w(()=>{});var tA=w((TV,eA)=>{var p6=Qt().EventEmitter,{nanoid:y6}=(Xc(),nd),{WORKER_REQUEST_READ_LOCK:zS,WORKER_RELEASE_READ_LOCK:GS,MASTER_GRANT_READ_LOCK:WS,WORKER_REQUEST_WRITE_LOCK:YS,WORKER_RELEASE_WRITE_LOCK:QS,MASTER_GRANT_WRITE_LOCK:XS}=Uh(),qa,ZS=(t,e,r,n,i)=>(s,o)=>{o&&o.type===r&&t.emit(e,o.name,()=>(s.send({type:i,name:o.name,identifier:o.identifier}),new Promise(a=>{let c=u=>{u&&u.type===n&&u.identifier===o.identifier&&(s.removeListener("message",c),a())};s.on("message",c)})))},JS=(t,e,r,n)=>()=>{let i=y6();return process.send({type:e,identifier:i,name:t}),new Promise(s=>{let o=a=>{a&&a.type===r&&a.identifier===i&&(process.removeListener("message",o),s(()=>{process.send({type:n,identifier:i,name:t})}))};process.on("message",o)})};eA.exports=t=>{try{if(qa=HS(),!Object.keys(qa).length)return}catch(e){return}if(qa.isMaster||t.singleProcess){let e=new p6;return qa.on("message",ZS(e,"requestReadLock",zS,GS,WS)),qa.on("message",ZS(e,"requestWriteLock",YS,QS,XS)),e}return{isWorker:!0,readLock:e=>JS(e,zS,WS,GS),writeLock:e=>JS(e,YS,XS,QS)}}});var Mh=w((RV,rA)=>{var gi={},So=t=>{t.addEventListener("message",e=>{So.dispatchEvent("message",t,e)}),t.port&&t.port.addEventListener("message",e=>{So.dispatchEvent("message",t,e)})};So.addEventListener=(t,e)=>{gi[t]||(gi[t]=[]),gi[t].push(e)};So.removeEventListener=(t,e)=>{!gi[t]||(gi[t]=gi[t].filter(r=>r===e))};So.dispatchEvent=function(){let t=Array.prototype.slice.call(arguments),e=t.shift();!gi[e]||gi[e].forEach(r=>r.apply(null,t))};rA.exports=So});var hA=w((BV,dA)=>{var g6=Qt().EventEmitter,{nanoid:m6}=(Xc(),nd),{WORKER_REQUEST_READ_LOCK:nA,WORKER_RELEASE_READ_LOCK:iA,MASTER_GRANT_READ_LOCK:sA,WORKER_REQUEST_WRITE_LOCK:oA,WORKER_RELEASE_WRITE_LOCK:aA,MASTER_GRANT_WRITE_LOCK:cA}=Uh(),uA=Mh(),lA=(t,e,r,n,i)=>(s,o)=>{if(!o||!o.data||o.data.type!==r)return;let a={type:o.data.type,name:o.data.name,identifier:o.data.identifier};t.emit(e,a.name,()=>(s.postMessage({type:i,name:a.name,identifier:a.identifier}),new Promise(c=>{let u=l=>{if(!l||!l.data)return;let f={type:l.data.type,name:l.data.name,identifier:l.data.identifier};f&&f.type===n&&f.identifier===a.identifier&&(s.removeEventListener("message",u),c())};s.addEventListener("message",u)})))},fA=(t,e,r,n)=>()=>{let i=m6();return globalThis.postMessage({type:e,identifier:i,name:t}),new Promise(s=>{let o=a=>{if(!a||!a.data)return;let c={type:a.data.type,identifier:a.data.identifier};c&&c.type===r&&c.identifier===i&&(globalThis.removeEventListener("message",o),s(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",o)})},v6={singleProcess:!1};dA.exports=t=>{if(t=Object.assign({},v6,t),!!globalThis.document||t.singleProcess){let r=new g6;return uA.addEventListener("message",lA(r,"requestReadLock",nA,iA,sA)),uA.addEventListener("message",lA(r,"requestWriteLock",oA,aA,cA)),r}return{isWorker:!0,readLock:r=>fA(r,nA,sA,iA),writeLock:r=>fA(r,oA,cA,aA)}}});var yA=w((PV,Fh)=>{"use strict";var b6=Object.prototype.hasOwnProperty,Gt="~";function Ua(){}Object.create&&(Ua.prototype=Object.create(null),new Ua().__proto__||(Gt=!1));function E6(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function pA(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new E6(r,n||t,i),o=Gt?Gt+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],s]:t._events[o].push(s):(t._events[o]=s,t._eventsCount++),t}function zu(t,e){--t._eventsCount==0?t._events=new Ua:delete t._events[e]}function Mt(){this._events=new Ua,this._eventsCount=0}Mt.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)b6.call(r,n)&&e.push(Gt?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};Mt.prototype.listeners=function(e){var r=Gt?Gt+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,s=n.length,o=new Array(s);i<s;i++)o[i]=n[i].fn;return o};Mt.prototype.listenerCount=function(e){var r=Gt?Gt+e:e,n=this._events[r];return n?n.fn?1:n.length:0};Mt.prototype.emit=function(e,r,n,i,s,o){var a=Gt?Gt+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,l,f;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,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,i),!0;case 5:return c.fn.call(c.context,r,n,i,s),!0;case 6:return c.fn.call(c.context,r,n,i,s,o),!0}for(f=1,l=new Array(u-1);f<u;f++)l[f-1]=arguments[f];c.fn.apply(c.context,l)}else{var d=c.length,p;for(f=0;f<d;f++)switch(c[f].once&&this.removeListener(e,c[f].fn,void 0,!0),u){case 1:c[f].fn.call(c[f].context);break;case 2:c[f].fn.call(c[f].context,r);break;case 3:c[f].fn.call(c[f].context,r,n);break;case 4:c[f].fn.call(c[f].context,r,n,i);break;default:if(!l)for(p=1,l=new Array(u-1);p<u;p++)l[p-1]=arguments[p];c[f].fn.apply(c[f].context,l)}}return!0};Mt.prototype.on=function(e,r,n){return pA(this,e,r,n,!1)};Mt.prototype.once=function(e,r,n){return pA(this,e,r,n,!0)};Mt.prototype.removeListener=function(e,r,n,i){var s=Gt?Gt+e:e;if(!this._events[s])return this;if(!r)return zu(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&zu(this,s);else{for(var a=0,c=[],u=o.length;a<u;a++)(o[a].fn!==r||i&&!o[a].once||n&&o[a].context!==n)&&c.push(o[a]);c.length?this._events[s]=c.length===1?c[0]:c:zu(this,s)}return this};Mt.prototype.removeAllListeners=function(e){var r;return e?(r=Gt?Gt+e:e,this._events[r]&&zu(this,r)):(this._events=new Ua,this._eventsCount=0),this};Mt.prototype.off=Mt.prototype.removeListener;Mt.prototype.addListener=Mt.prototype.on;Mt.prefixed=Gt;Mt.EventEmitter=Mt;typeof Fh!="undefined"&&(Fh.exports=Mt)});var mA=w((NV,gA)=>{"use strict";gA.exports=(t,e)=>(e=e||(()=>{}),t.then(r=>new Promise(n=>{n(e())}).then(()=>r),r=>new Promise(n=>{n(e())}).then(()=>{throw r})))});var bA=w((OV,Gu)=>{"use strict";var w6=mA(),Kh=class extends Error{constructor(e){super(e);this.name="TimeoutError"}},vA=(t,e,r)=>new Promise((n,i)=>{if(typeof e!="number"||e<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(e===1/0){n(t);return}let s=setTimeout(()=>{if(typeof r=="function"){try{n(r())}catch(c){i(c)}return}let o=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,a=r instanceof Error?r:new Kh(o);typeof t.cancel=="function"&&t.cancel(),i(a)},e);w6(t.then(n,i),()=>{clearTimeout(s)})});Gu.exports=vA;Gu.exports.default=vA;Gu.exports.TimeoutError=Kh});var EA=w(Vh=>{"use strict";Object.defineProperty(Vh,"__esModule",{value:!0});function _6(t,e,r){let n=0,i=t.length;for(;i>0;){let s=i/2|0,o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}Vh.default=_6});var _A=w(jh=>{"use strict";Object.defineProperty(jh,"__esModule",{value:!0});var x6=EA(),wA=class{constructor(){this._queue=[]}enqueue(e,r){r=Object.assign({priority:0},r);let n={priority:r.priority,run:e};if(this.size&&this._queue[this.size-1].priority>=r.priority){this._queue.push(n);return}let i=x6.default(this._queue,n,(s,o)=>o.priority-s.priority);this._queue.splice(i,0,n)}dequeue(){let e=this._queue.shift();return e==null?void 0:e.run}filter(e){return this._queue.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this._queue.length}};jh.default=wA});var AA=w($h=>{"use strict";Object.defineProperty($h,"__esModule",{value:!0});var S6=yA(),xA=bA(),A6=_A(),Wu=()=>{},C6=new xA.TimeoutError,SA=class extends S6{constructor(e){var r,n,i,s;super();if(this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=Wu,this._resolveIdle=Wu,e=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:A6.default},e),!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);this._carryoverConcurrencyCount=e.carryoverConcurrencyCount,this._isIntervalIgnored=e.intervalCap===1/0||e.interval===0,this._intervalCap=e.intervalCap,this._interval=e.interval,this._queue=new e.queueClass,this._queueClass=e.queueClass,this.concurrency=e.concurrency,this._timeout=e.timeout,this._throwOnTimeout=e.throwOnTimeout===!0,this._isPaused=e.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount<this._intervalCap}get _doesConcurrentAllowAnother(){return this._pendingCount<this._concurrency}_next(){this._pendingCount--,this._tryToStartAnother(),this.emit("next")}_resolvePromises(){this._resolveEmpty(),this._resolveEmpty=Wu,this._pendingCount===0&&(this._resolveIdle(),this._resolveIdle=Wu,this.emit("idle"))}_onResumeInterval(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=void 0}_isIntervalPaused(){let e=Date.now();if(this._intervalId===void 0){let r=this._intervalEnd-e;if(r<0)this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0;else return this._timeoutId===void 0&&(this._timeoutId=setTimeout(()=>{this._onResumeInterval()},r)),!0}return!1}_tryToStartAnother(){if(this._queue.size===0)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let r=this._queue.dequeue();return r?(this.emit("active"),r(),e&&this._initializeIntervalIfNeeded(),!0):!1}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||this._intervalId!==void 0||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){this._intervalCount===0&&this._pendingCount===0&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this._concurrency=e,this._processQueue()}async add(e,r={}){return new Promise((n,i)=>{let s=async()=>{this._pendingCount++,this._intervalCount++;try{let o=this._timeout===void 0&&r.timeout===void 0?e():xA.default(Promise.resolve(e()),r.timeout===void 0?this._timeout:r.timeout,()=>{(r.throwOnTimeout===void 0?this._throwOnTimeout:r.throwOnTimeout)&&i(C6)});n(await o)}catch(o){i(o)}this._next()};this._queue.enqueue(s,r),this._tryToStartAnother(),this.emit("add")})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size!==0)return new Promise(e=>{let r=this._resolveEmpty;this._resolveEmpty=()=>{r(),e()}})}async onIdle(){if(!(this._pendingCount===0&&this._queue.size===0))return new Promise(e=>{let r=this._resolveIdle;this._resolveIdle=()=>{r(),e()}})}get size(){return this._queue.size}sizeBy(e){return this._queue.filter(e).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(e){this._timeout=e}};$h.default=SA});var CA=w((UV,Hh)=>{"use strict";var Yu,qV=Hh.exports.timeout=function(t,e){var r=new Yu,n;return Promise.race([t,new Promise(function(i,s){n=setTimeout(function(){s(r)},e)})]).then(function(i){return clearTimeout(n),i},function(i){throw clearTimeout(n),i})};Yu=Hh.exports.TimeoutError=function(){Error.call(this),this.stack=Error().stack,this.message="Timeout"};Yu.prototype=Object.create(Error.prototype);Yu.prototype.name="TimeoutError"});var TA=w((MV,Gh)=>{var I6=tA(),T6=hA(),{default:IA}=AA(),{timeout:R6}=CA(),B6=Mh(),as={},mi;function zh(t,e){let r,n=new Promise(i=>{r=i});return t.add(()=>R6((()=>new Promise(i=>{r(()=>{i()})}))(),e.timeout)),n}var P6=(t,e)=>{if(mi.isWorker)return{readLock:mi.readLock(t,e),writeLock:mi.writeLock(t,e)};let r=new IA({concurrency:1}),n=null;return{readLock:()=>{if(n)return zh(n,e);n=new IA({concurrency:e.concurrency,autoStart:!1});let i=n,s=zh(n,e);return r.add(()=>(i.start(),i.onIdle().then(()=>{n===i&&(n=null)}))),s},writeLock:()=>(n=null,zh(r,e))}},N6={concurrency:1/0,timeout:846e5,global:globalThis,singleProcess:!1};Gh.exports=(t,e)=>(e||(e={}),typeof t=="object"&&(e=t,t="lock"),t||(t="lock"),e=Object.assign({},N6,e),mi||(mi=I6(e)||T6(e),mi.isWorker||(mi.on("requestReadLock",(r,n)=>{!as[r]||as[r].readLock().then(i=>n().finally(()=>i()))}),mi.on("requestWriteLock",async(r,n)=>{!as[r]||as[r].writeLock().then(i=>n().finally(()=>i()))}))),as[t]||(as[t]=P6(t,e)),as[t]);Gh.exports.Worker=function(t,e){e=e||globalThis.Worker;let r;try{r=new e(t)}catch(n){n.message.includes("not a constructor")&&(r=e(t))}if(!r)throw new Error("Could not create Worker from",e);return B6(r),r}});var UA=w((FV,qA)=>{"use strict";var RA=Te(),BA=Rt(),PA=de(),{codes:Qu}=je(),{Key:O6}=(Jc(),id),{base32:D6}=(wi(),Ei),{keys:{unmarshalPublicKey:L6,marshalPublicKey:k6}}=Bu(),{Multiaddr:NA}=qt(),{Peer:OA}=jS(),q6=TA(),{equals:U6}=(mr(),gr),DA=Object.assign(RA("libp2p:peer-store:store"),{error:RA("libp2p:peer-store:store:err")}),LA="/peers/",kA=class{constructor(e){this._datastore=e,this.lock=q6("peer-store",{singleProcess:!0})}_peerIdToDatastoreKey(e){if(!BA.isPeerId(e))throw DA.error("peerId must be an instance of peer-id to store data"),PA(new Error("peerId must be an instance of peer-id"),Qu.ERR_INVALID_PARAMETERS);let r=e.toString();return new O6(`${LA}${r}`)}async has(e){return this._datastore.has(this._peerIdToDatastoreKey(e))}async delete(e){await this._datastore.delete(this._peerIdToDatastoreKey(e))}async load(e){let r=await this._datastore.get(this._peerIdToDatastoreKey(e)),n=OA.decode(r),i=n.pubKey?L6(n.pubKey):e.pubKey,s=new Map;for(let o of n.metadata)s.set(o.key,o.value);return{...n,id:e,pubKey:i,addresses:n.addresses.map(({multiaddr:o,isCertified:a})=>({multiaddr:new NA(o),isCertified:a||!1})),metadata:s,peerRecordEnvelope:n.peerRecordEnvelope||void 0}}async save(e){if(e.pubKey!=null&&e.id.pubKey!=null&&!U6(e.pubKey.bytes,e.id.pubKey.bytes))throw DA.error("peer publicKey bytes do not match peer id publicKey bytes"),PA(new Error("publicKey bytes do not match peer id publicKey bytes"),Qu.ERR_INVALID_PARAMETERS);let r=new Set,n=OA.encode({addresses:e.addresses.filter(i=>r.has(i.multiaddr.toString())?!1:(r.add(i.multiaddr.toString()),!0)).sort((i,s)=>i.multiaddr.toString().localeCompare(s.multiaddr.toString())).map(({multiaddr:i,isCertified:s})=>({multiaddr:i.bytes,isCertified:s})),protocols:e.protocols.sort(),pubKey:e.pubKey?k6(e.pubKey):void 0,metadata:[...e.metadata.keys()].sort().map(i=>({key:i,value:e.metadata.get(i)})),peerRecordEnvelope:e.peerRecordEnvelope}).finish();return await this._datastore.put(this._peerIdToDatastoreKey(e.id),n),this.load(e.id)}async patch(e,r){let n=await this.load(e);return await this._patch(e,r,n)}async patchOrCreate(e,r){let n;try{n=await this.load(e)}catch(i){if(i.code!==Qu.ERR_NOT_FOUND)throw i;n={id:e,addresses:[],protocols:[],metadata:new Map}}return await this._patch(e,r,n)}async _patch(e,r,n){return await this.save({...n,...r,id:e})}async merge(e,r){let n=await this.load(e);return this._merge(e,r,n)}async mergeOrCreate(e,r){let n;try{n=await this.load(e)}catch(i){if(i.code!==Qu.ERR_NOT_FOUND)throw i;n={id:e,addresses:[],protocols:[],metadata:new Map}}return await this._merge(e,r,n)}async _merge(e,r,n){let i=new Map;return(r.addresses||[]).forEach(s=>{i.set(s.multiaddr.toString(),s.isCertified)}),n.addresses.forEach(({multiaddr:s,isCertified:o})=>{let a=s.toString();i.set(a,Boolean(i.get(a)||o))}),await this.save({id:e,addresses:Array.from(i.entries()).map(([s,o])=>({multiaddr:new NA(s),isCertified:o})),protocols:Array.from(new Set([...n.protocols||[],...r.protocols||[]])),metadata:new Map([...n.metadata?n.metadata.entries():[],...r.metadata?r.metadata.entries():[]]),pubKey:r.pubKey||(n!=null?n.pubKey:void 0),peerRecordEnvelope:r.peerRecordEnvelope||(n!=null?n.peerRecordEnvelope:void 0)})}async*all(){for await(let e of this._datastore.queryKeys({prefix:LA})){let r=e.toString().split("/")[2],n=D6.decode(r);yield this.load(BA.createFromBytes(n))}}};qA.exports=kA});var VA=w((KV,KA)=>{"use strict";var MA=Te(),{EventEmitter:M6}=Qt(),F6=TS(),K6=OS(),V6=qS(),j6=KS(),$6=UA(),Rr=Object.assign(MA("libp2p:peer-store"),{error:MA("libp2p:peer-store:err")}),FA=class extends M6{constructor({peerId:e,datastore:r,addressFilter:n}){super();this._peerId=e,this._store=new $6(r),this.addressBook=new F6(this.emit.bind(this),this._store,n),this.keyBook=new K6(this.emit.bind(this),this._store),this.metadataBook=new V6(this.emit.bind(this),this._store),this.protoBook=new j6(this.emit.bind(this),this._store)}async*getPeers(){Rr("getPeers await read lock");let e=await this._store.lock.readLock();Rr("getPeers got read lock");try{for await(let r of this._store.all())r.id.toB58String()!==this._peerId.toB58String()&&(yield r)}finally{Rr("getPeers release read lock"),e()}}async delete(e){Rr("delete await write lock");let r=await this._store.lock.writeLock();Rr("delete got write lock");try{await this._store.delete(e)}finally{Rr("delete release write lock"),r()}}async get(e){Rr("get await read lock");let r=await this._store.lock.readLock();Rr("get got read lock");try{return this._store.load(e)}finally{Rr("get release read lock"),r()}}async has(e){Rr("has await read lock");let r=await this._store.lock.readLock();Rr("has got read lock");try{return this._store.has(e)}finally{Rr("has release read lock"),r()}}};KA.exports=FA});var $A=w((VV,jA)=>{"use strict";function H6(t,e,r){let n=new t(e,r);n._subscribeAdapter=n.subscribe,n._unsubscribeAdapter=n.unsubscribe;function i(o,a){a&&n.on(o,a),n._subscribeAdapter(o)}function s(o,a){a?n.removeListener(o,a):n.removeAllListeners(o),n.listenerCount(o)===0&&n._unsubscribeAdapter(o)}return n.subscribe=i,n.unsubscribe=s,n}jA.exports=H6});var YA=w((jV,WA)=>{"use strict";var HA=()=>{},zA=Symbol.for("@libp2p/js-interfaces/topology"),GA=class{constructor({min:e=0,max:r=1/0,handlers:n={}}){this.min=e,this.max=r,this._onConnect=n.onConnect||HA,this._onDisconnect=n.onDisconnect||HA,this.peers=new Set}get[Symbol.toStringTag](){return"Topology"}get[zA](){return!0}static isTopology(e){return Boolean(e&&e[zA])}async setRegistrar(e){this._registrar=e}disconnect(e){this._onDisconnect(e)}};WA.exports=GA});var JA=w(($V,ZA)=>{"use strict";var QA=Te(),z6=Object.assign(QA("libp2p:registrar"),{error:QA("libp2p:registrar:err")}),G6=de(),{codes:{ERR_INVALID_PARAMETERS:W6}}=je(),Y6=YA(),XA=class{constructor({peerStore:e,connectionManager:r}){this.peerStore=e,this.connectionManager=r,this.topologies=new Map,this._handle=void 0,this._onDisconnect=this._onDisconnect.bind(this),this.connectionManager.on("peer:disconnect",this._onDisconnect)}get handle(){return this._handle}set handle(e){this._handle=e}getConnection(e){return this.connectionManager.get(e)}async register(e){if(!Y6.isTopology(e))throw z6.error("topology must be an instance of interfaces/topology"),G6(new Error("topology must be an instance of interfaces/topology"),W6);let r=(Math.random()*1e9).toString(36)+Date.now();return this.topologies.set(r,e),await e.setRegistrar(this),r}unregister(e){return this.topologies.delete(e)}_onDisconnect(e){for(let[,r]of this.topologies)r.disconnect(e.remotePeer)}};ZA.exports=XA});var Wh=w((HV,Ma)=>{"use strict";var{Buffer:Xu}=ci(),Zu=Ji();Ma.exports=async function*(t){for await(let e of t)Xu.isBuffer(e)?yield e:Zu.isBufferList(e)?yield e.slice():yield Xu.from(e)};Ma.exports.toBuffer=Ma.exports;Ma.exports.toList=async function*(t){for await(let e of t)Xu.isBuffer(e)?yield new Zu().append(e):Zu.isBufferList(e)?yield e:yield new Zu().append(Xu.from(e))}});var tC=w((zV,eC)=>{"use strict";eC.exports={PROTOCOL:"/ipfs/ping/1.0.0",PING_LENGTH:32,PROTOCOL_VERSION:"1.0.0",PROTOCOL_NAME:"ping"}});var sC=w((Ju,iC)=>{"use strict";var rC=Te(),Yh=Object.assign(rC("libp2p:ping"),{error:rC("libp2p:ping:err")}),Q6=de(),{codes:X6}=je(),Z6=Bu(),{pipe:nC}=ir(),{toBuffer:J6}=Wh(),{collect:e5,take:t5}=Lu(),{equals:r5}=(mr(),gr),{PROTOCOL_NAME:Qh,PING_LENGTH:n5,PROTOCOL_VERSION:Xh}=tC();async function i5(t,e){let r=`/${t._config.protocolPrefix}/${Qh}/${Xh}`;Yh("dialing %s to %s",r,e.toB58String?e.toB58String():e);let n=await t.dial(e),{stream:i}=await n.newStream(r),s=Date.now(),o=Z6.randomBytes(n5),[a]=await nC([o],i,u=>t5(1,u),J6,e5),c=Date.now();if(!r5(o,a))throw Q6(new Error("Received wrong ping ack"),X6.ERR_WRONG_PING_ACK);return c-s}function s5(t){t.handle(`/${t._config.protocolPrefix}/${Qh}/${Xh}`,({stream:e})=>nC(e,e)).catch(e=>{Yh.error(e)})}function o5(t){t.unhandle(`/${t._config.protocolPrefix}/${Qh}/${Xh}`).catch(e=>{Yh.error(e)})}Ju=iC.exports=i5;Ju.mount=s5;Ju.unmount=o5});var cC=w((GV,aC)=>{"use strict";var Ao=gn(),oC=Ao.Reader,a5=Ao.Writer,rt=Ao.util,Fa=Ao.roots["libp2p-identify"]||(Ao.roots["libp2p-identify"]={});Fa.Identify=function(){function t(e){if(this.listenAddrs=[],this.protocols=[],e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.protocolVersion="",t.prototype.agentVersion="",t.prototype.publicKey=rt.newBuffer([]),t.prototype.listenAddrs=rt.emptyArray,t.prototype.observedAddr=rt.newBuffer([]),t.prototype.protocols=rt.emptyArray,t.prototype.signedPeerRecord=rt.newBuffer([]),t.encode=function(r,n){if(n||(n=a5.create()),r.publicKey!=null&&Object.hasOwnProperty.call(r,"publicKey")&&n.uint32(10).bytes(r.publicKey),r.listenAddrs!=null&&r.listenAddrs.length)for(var i=0;i<r.listenAddrs.length;++i)n.uint32(18).bytes(r.listenAddrs[i]);if(r.protocols!=null&&r.protocols.length)for(var i=0;i<r.protocols.length;++i)n.uint32(26).string(r.protocols[i]);return r.observedAddr!=null&&Object.hasOwnProperty.call(r,"observedAddr")&&n.uint32(34).bytes(r.observedAddr),r.protocolVersion!=null&&Object.hasOwnProperty.call(r,"protocolVersion")&&n.uint32(42).string(r.protocolVersion),r.agentVersion!=null&&Object.hasOwnProperty.call(r,"agentVersion")&&n.uint32(50).string(r.agentVersion),r.signedPeerRecord!=null&&Object.hasOwnProperty.call(r,"signedPeerRecord")&&n.uint32(66).bytes(r.signedPeerRecord),n},t.decode=function(r,n){r instanceof oC||(r=oC.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new Fa.Identify;r.pos<i;){var o=r.uint32();switch(o>>>3){case 5:s.protocolVersion=r.string();break;case 6:s.agentVersion=r.string();break;case 1:s.publicKey=r.bytes();break;case 2:s.listenAddrs&&s.listenAddrs.length||(s.listenAddrs=[]),s.listenAddrs.push(r.bytes());break;case 4:s.observedAddr=r.bytes();break;case 3:s.protocols&&s.protocols.length||(s.protocols=[]),s.protocols.push(r.string());break;case 8:s.signedPeerRecord=r.bytes();break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof Fa.Identify)return r;var n=new Fa.Identify;if(r.protocolVersion!=null&&(n.protocolVersion=String(r.protocolVersion)),r.agentVersion!=null&&(n.agentVersion=String(r.agentVersion)),r.publicKey!=null&&(typeof r.publicKey=="string"?rt.base64.decode(r.publicKey,n.publicKey=rt.newBuffer(rt.base64.length(r.publicKey)),0):r.publicKey.length&&(n.publicKey=r.publicKey)),r.listenAddrs){if(!Array.isArray(r.listenAddrs))throw TypeError(".Identify.listenAddrs: array expected");n.listenAddrs=[];for(var i=0;i<r.listenAddrs.length;++i)typeof r.listenAddrs[i]=="string"?rt.base64.decode(r.listenAddrs[i],n.listenAddrs[i]=rt.newBuffer(rt.base64.length(r.listenAddrs[i])),0):r.listenAddrs[i].length&&(n.listenAddrs[i]=r.listenAddrs[i])}if(r.observedAddr!=null&&(typeof r.observedAddr=="string"?rt.base64.decode(r.observedAddr,n.observedAddr=rt.newBuffer(rt.base64.length(r.observedAddr)),0):r.observedAddr.length&&(n.observedAddr=r.observedAddr)),r.protocols){if(!Array.isArray(r.protocols))throw TypeError(".Identify.protocols: array expected");n.protocols=[];for(var i=0;i<r.protocols.length;++i)n.protocols[i]=String(r.protocols[i])}return r.signedPeerRecord!=null&&(typeof r.signedPeerRecord=="string"?rt.base64.decode(r.signedPeerRecord,n.signedPeerRecord=rt.newBuffer(rt.base64.length(r.signedPeerRecord)),0):r.signedPeerRecord.length&&(n.signedPeerRecord=r.signedPeerRecord)),n},t.toObject=function(r,n){n||(n={});var i={};if((n.arrays||n.defaults)&&(i.listenAddrs=[],i.protocols=[]),n.defaults&&(n.bytes===String?i.publicKey="":(i.publicKey=[],n.bytes!==Array&&(i.publicKey=rt.newBuffer(i.publicKey))),n.bytes===String?i.observedAddr="":(i.observedAddr=[],n.bytes!==Array&&(i.observedAddr=rt.newBuffer(i.observedAddr))),i.protocolVersion="",i.agentVersion="",n.bytes===String?i.signedPeerRecord="":(i.signedPeerRecord=[],n.bytes!==Array&&(i.signedPeerRecord=rt.newBuffer(i.signedPeerRecord)))),r.publicKey!=null&&r.hasOwnProperty("publicKey")&&(i.publicKey=n.bytes===String?rt.base64.encode(r.publicKey,0,r.publicKey.length):n.bytes===Array?Array.prototype.slice.call(r.publicKey):r.publicKey),r.listenAddrs&&r.listenAddrs.length){i.listenAddrs=[];for(var s=0;s<r.listenAddrs.length;++s)i.listenAddrs[s]=n.bytes===String?rt.base64.encode(r.listenAddrs[s],0,r.listenAddrs[s].length):n.bytes===Array?Array.prototype.slice.call(r.listenAddrs[s]):r.listenAddrs[s]}if(r.protocols&&r.protocols.length){i.protocols=[];for(var s=0;s<r.protocols.length;++s)i.protocols[s]=r.protocols[s]}return r.observedAddr!=null&&r.hasOwnProperty("observedAddr")&&(i.observedAddr=n.bytes===String?rt.base64.encode(r.observedAddr,0,r.observedAddr.length):n.bytes===Array?Array.prototype.slice.call(r.observedAddr):r.observedAddr),r.protocolVersion!=null&&r.hasOwnProperty("protocolVersion")&&(i.protocolVersion=r.protocolVersion),r.agentVersion!=null&&r.hasOwnProperty("agentVersion")&&(i.agentVersion=r.agentVersion),r.signedPeerRecord!=null&&r.hasOwnProperty("signedPeerRecord")&&(i.signedPeerRecord=n.bytes===String?rt.base64.encode(r.signedPeerRecord,0,r.signedPeerRecord.length):n.bytes===Array?Array.prototype.slice.call(r.signedPeerRecord):r.signedPeerRecord),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,Ao.util.toJSONOptions)},t}();aC.exports=Fa});var mC=w((WV,gC)=>{"use strict";var uC=Te(),lr=Object.assign(uC("libp2p:identify"),{error:uC("libp2p:identify:err")}),Zh=de(),el=so(),{pipe:tl}=ir(),{collect:lC,take:fC,consume:dC}=Lu(),{fromString:Co}=(It(),Nt),c5=Rt(),{Multiaddr:Jh}=qt(),{toBuffer:hC}=Wh(),Ka=cC(),pC=du(),yC=pu(),{MULTICODEC_IDENTIFY:u5,MULTICODEC_IDENTIFY_PUSH:l5,IDENTIFY_PROTOCOL_VERSION:f5,MULTICODEC_IDENTIFY_PROTOCOL_NAME:d5,MULTICODEC_IDENTIFY_PUSH_PROTOCOL_NAME:h5,MULTICODEC_IDENTIFY_PROTOCOL_VERSION:p5,MULTICODEC_IDENTIFY_PUSH_PROTOCOL_VERSION:y5}=Ed(),{codes:e0}=je(),cs=class{static getProtocolStr(e){return{identifyProtocolStr:`/${e._config.protocolPrefix}/${d5}/${p5}`,identifyPushProtocolStr:`/${e._config.protocolPrefix}/${h5}/${y5}`}}constructor({libp2p:e}){this._libp2p=e,this.peerStore=e.peerStore,this.addressManager=e.addressManager,this.connectionManager=e.connectionManager,this.peerId=e.peerId,this.handleMessage=this.handleMessage.bind(this);let r=cs.getProtocolStr(e);this.identifyProtocolStr=r.identifyProtocolStr,this.identifyPushProtocolStr=r.identifyPushProtocolStr,this._host={protocolVersion:`${e._config.protocolPrefix}/${f5}`,...e._options.host},this.connectionManager.on("peer:connect",n=>{this.identify(n).catch(lr.error)}),this.peerStore.on("change:multiaddrs",({peerId:n})=>{n.toString()===this.peerId.toString()&&this.pushToPeerStore().catch(i=>lr.error(i))}),this.peerStore.on("change:protocols",({peerId:n})=>{n.toString()===this.peerId.toString()&&this.pushToPeerStore().catch(i=>lr.error(i))})}async start(){await this.peerStore.metadataBook.setValue(this.peerId,"AgentVersion",Co(this._host.agentVersion)),await this.peerStore.metadataBook.setValue(this.peerId,"ProtocolVersion",Co(this._host.protocolVersion))}async stop(){}async push(e){let r=await this.peerStore.addressBook.getRawEnvelope(this.peerId),n=this._libp2p.multiaddrs.map(o=>o.bytes),i=await this.peerStore.protoBook.get(this.peerId),s=e.map(async o=>{try{let{stream:a}=await o.newStream(this.identifyPushProtocolStr);await tl([Ka.Identify.encode({listenAddrs:n,signedPeerRecord:r,protocols:i}).finish()],el.encode(),a,dC)}catch(a){lr.error("could not push identify update to peer",a)}});return Promise.all(s)}async pushToPeerStore(){if(!this._libp2p.isStarted())return;let e=[],r;for await(let n of this.peerStore.getPeers())n.protocols.includes(this.identifyPushProtocolStr)&&(r=this.connectionManager.get(n.id))&&e.push(r);await this.push(e)}async identify(e){let{stream:r}=await e.newStream(this.identifyProtocolStr),[n]=await tl([],r,el.decode(),fC(1),hC,lC);if(!n)throw Zh(new Error("No data could be retrieved"),e0.ERR_CONNECTION_ENDED);let i;try{i=Ka.Identify.decode(n)}catch(d){throw Zh(d,e0.ERR_INVALID_MESSAGE)}let{publicKey:s,listenAddrs:o,protocols:a,observedAddr:c,signedPeerRecord:u}=i,l=await c5.createFromPubKey(s);if(e.remotePeer.toB58String()!==l.toB58String())throw Zh(new Error("identified peer does not match the expected peer"),e0.ERR_INVALID_PEER);let f=cs.getCleanMultiaddr(c);try{let d=await pC.openAndCertify(u,yC.DOMAIN);if(await this.peerStore.addressBook.consumePeerRecord(d)){await this.peerStore.protoBook.set(l,a),await this.peerStore.metadataBook.setValue(l,"AgentVersion",Co(i.agentVersion)),await this.peerStore.metadataBook.setValue(l,"ProtocolVersion",Co(i.protocolVersion));return}}catch(d){lr("received invalid envelope, discard it and fallback to listenAddrs is available",d)}try{await this.peerStore.addressBook.set(l,o.map(d=>new Jh(d)))}catch(d){lr.error("received invalid addrs",d)}await this.peerStore.protoBook.set(l,a),await this.peerStore.metadataBook.setValue(l,"AgentVersion",Co(i.agentVersion)),await this.peerStore.metadataBook.setValue(l,"ProtocolVersion",Co(i.protocolVersion)),lr("received observed address of %s",f)}handleMessage({connection:e,stream:r,protocol:n}){switch(n){case this.identifyProtocolStr:return this._handleIdentify({connection:e,stream:r});case this.identifyPushProtocolStr:return this._handlePush({connection:e,stream:r});default:lr.error("cannot handle unknown protocol %s",n)}}async _handleIdentify({connection:e,stream:r}){try{let n=new Uint8Array(0);this.peerId.pubKey&&(n=this.peerId.pubKey.bytes);let i=await this.peerStore.addressBook.getRawEnvelope(this.peerId),s=await this.peerStore.protoBook.get(this.peerId),o=Ka.Identify.encode({protocolVersion:this._host.protocolVersion,agentVersion:this._host.agentVersion,publicKey:n,listenAddrs:this._libp2p.multiaddrs.map(a=>a.bytes),signedPeerRecord:i,observedAddr:e.remoteAddr.bytes,protocols:s}).finish();await tl([o],el.encode(),r,dC)}catch(n){lr.error("could not respond to identify request",n)}}async _handlePush({connection:e,stream:r}){let n;try{let[s]=await tl([],r,el.decode(),fC(1),hC,lC);n=Ka.Identify.decode(s)}catch(s){return lr.error("received invalid message",s)}let i=e.remotePeer;try{let s=await pC.openAndCertify(n.signedPeerRecord,yC.DOMAIN);if(await this.peerStore.addressBook.consumePeerRecord(s)){await this.peerStore.protoBook.set(i,n.protocols);return}}catch(s){lr("received invalid envelope, discard it and fallback to listenAddrs is available",s)}try{await this.peerStore.addressBook.set(i,n.listenAddrs.map(s=>new Jh(s)))}catch(s){lr.error("received invalid addrs",s)}try{await this.peerStore.protoBook.set(i,n.protocols)}catch(s){lr.error("received invalid protocols",s)}}static getCleanMultiaddr(e){if(e&&e.length>0)try{return new Jh(e)}catch(r){return null}return null}},g5={IDENTIFY:u5,IDENTIFY_PUSH:l5};cs.multicodecs=g5;cs.Messsage=Ka;gC.exports=cs});var EC=w((YV,bC)=>{"use strict";var us=gn(),rl=us.Reader,vC=us.Writer,Io=us.util,dn=us.roots["libp2p-fetch"]||(us.roots["libp2p-fetch"]={});dn.FetchRequest=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.identifier="",t.encode=function(r,n){return n||(n=vC.create()),r.identifier!=null&&Object.hasOwnProperty.call(r,"identifier")&&n.uint32(10).string(r.identifier),n},t.decode=function(r,n){r instanceof rl||(r=rl.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new dn.FetchRequest;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.identifier=r.string();break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof dn.FetchRequest)return r;var n=new dn.FetchRequest;return r.identifier!=null&&(n.identifier=String(r.identifier)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(i.identifier=""),r.identifier!=null&&r.hasOwnProperty("identifier")&&(i.identifier=r.identifier),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,us.util.toJSONOptions)},t}();dn.FetchResponse=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.status=0,t.prototype.data=Io.newBuffer([]),t.encode=function(r,n){return n||(n=vC.create()),r.status!=null&&Object.hasOwnProperty.call(r,"status")&&n.uint32(8).int32(r.status),r.data!=null&&Object.hasOwnProperty.call(r,"data")&&n.uint32(18).bytes(r.data),n},t.decode=function(r,n){r instanceof rl||(r=rl.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new dn.FetchResponse;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.status=r.int32();break;case 2:s.data=r.bytes();break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof dn.FetchResponse)return r;var n=new dn.FetchResponse;switch(r.status){case"OK":case 0:n.status=0;break;case"NOT_FOUND":case 1:n.status=1;break;case"ERROR":case 2:n.status=2;break}return r.data!=null&&(typeof r.data=="string"?Io.base64.decode(r.data,n.data=Io.newBuffer(Io.base64.length(r.data)),0):r.data.length&&(n.data=r.data)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(i.status=n.enums===String?"OK":0,n.bytes===String?i.data="":(i.data=[],n.bytes!==Array&&(i.data=Io.newBuffer(i.data)))),r.status!=null&&r.hasOwnProperty("status")&&(i.status=n.enums===String?dn.FetchResponse.StatusCode[r.status]:r.status),r.data!=null&&r.hasOwnProperty("data")&&(i.data=n.bytes===String?Io.base64.encode(r.data,0,r.data.length):n.bytes===Array?Array.prototype.slice.call(r.data):r.data),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,us.util.toJSONOptions)},t.StatusCode=function(){var e={},r=Object.create(e);return r[e[0]="OK"]=0,r[e[1]="NOT_FOUND"]=1,r[e[2]="ERROR"]=2,r}(),t}();bC.exports=dn});var _C=w((QV,wC)=>{"use strict";wC.exports={PROTOCOL:"/libp2p/fetch/0.0.1"}});var IC=w((AC,CC)=>{"use strict";var xC=Te(),m5=Object.assign(xC("libp2p:fetch"),{error:xC("libp2p:fetch:err")}),t0=de(),{codes:r0}=je(),nl=so(),{FetchRequest:n0,FetchResponse:jr}=EC(),SC=oo(),{PROTOCOL:v5}=_C(),Va=class{constructor(e){this._lookupFunctions=new Map,this._libp2p=e,this.handleMessage=this.handleMessage.bind(this)}async fetch(e,r){m5("dialing %s to %s",this._protocol,e.toB58String?e.toB58String():e);let n=await this._libp2p.dial(e),{stream:i}=await n.newStream(Va.PROTOCOL),s=SC(i),o=new n0({identifier:r});s.write(nl.encode.single(n0.encode(o).finish()));let a=jr.decode((await nl.decode.fromReader(s.reader).next()).value.slice());switch(a.status){case jr.StatusCode.OK:return a.data;case jr.StatusCode.NOT_FOUND:return null;case jr.StatusCode.ERROR:{let c=new TextDecoder().decode(a.data);throw t0(new Error("Error in fetch protocol response: "+c),r0.ERR_INVALID_PARAMETERS)}default:throw t0(new Error("Unknown response status"),r0.ERR_INVALID_MESSAGE)}}async handleMessage(e){let{stream:r}=e,n=SC(r),i=n0.decode((await nl.decode.fromReader(n.reader).next()).value.slice()),s,o=this._getLookupFunction(i.identifier);if(o){let a=await o(i.identifier);a?s=new jr({status:jr.StatusCode.OK,data:a}):s=new jr({status:jr.StatusCode.NOT_FOUND})}else{let a=new TextEncoder().encode("No lookup function registered for key: "+i.identifier);s=new jr({status:jr.StatusCode.ERROR,data:a})}n.write(nl.encode.single(jr.encode(s).finish()))}_getLookupFunction(e){for(let r of this._lookupFunctions.keys())if(e.startsWith(r))return this._lookupFunctions.get(r);return null}registerLookupFunction(e,r){if(this._lookupFunctions.has(e))throw t0(new Error("Fetch protocol handler for key prefix '"+e+"' already registered"),r0.ERR_KEY_ALREADY_EXISTS);this._lookupFunctions.set(e,r)}unregisterLookupFunction(e,r){r!=null&&this._lookupFunctions.get(e)!==r||this._lookupFunctions.delete(e)}};Va.PROTOCOL=v5;AC=CC.exports=Va});var TC=w(()=>{});var RC=w(i0=>{"use strict";Object.defineProperty(i0,"__esModule",{value:!0}),i0.promisify=il;var b5="__ES6-PROMISIFY--CUSTOM-ARGUMENTS__";function il(t){if(typeof t!="function")throw new TypeError("Argument to promisify must be a function");var e=t[b5],r=il.Promise||Promise;if(typeof r!="function")throw new Error("No Promise implementation found; do you need a polyfill?");return function(){for(var n=this,i=arguments.length,s=Array(i),o=0;o<i;o++)s[o]=arguments[o];return new r(function(a,c){s.push(function(u){if(u)return c(u);for(var l=arguments.length,f=Array(1<l?l-1:0),d=1;d<l;d++)f[d-1]=arguments[d];if(f.length===1||!e)return a(f[0]);var p={};f.forEach(function(h,g){var m=e[g];m&&(p[m]=h)}),a(p)}),t.apply(n,s)})}}il.argumentNames="__ES6-PROMISIFY--CUSTOM-ARGUMENTS__",il.Promise=void 0});var PC=w((e9,BC)=>{function E5(){return typeof window!="undefined"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process!="undefined"&&typeof process.versions=="object"&&!!process.versions.electron||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Electron")>=0}BC.exports=E5});var OC=w((t9,NC)=>{"use strict";var w5=PC(),sl=typeof window=="object"&&typeof document=="object"&&document.nodeType===9,ja=w5(),_5=sl&&!ja,x5=ja&&!sl,S5=ja&&sl,A5=typeof h0=="function"&&typeof process!="undefined"&&typeof process.release!="undefined"&&process.release.name==="node"&&!ja,C5=typeof importScripts=="function"&&typeof self!="undefined"&&typeof WorkerGlobalScope!="undefined"&&self instanceof WorkerGlobalScope,I5=typeof process!="undefined"&&typeof process.env!="undefined"&&!1;NC.exports={isTest:I5,isElectron:ja,isElectronMain:x5,isElectronRenderer:S5,isNode:A5,isBrowser:_5,isWebWorker:C5,isEnvWithDom:sl}});var LC=w((r9,DC)=>{function Br(t,e){typeof e=="boolean"&&(e={forever:e}),this._originalTimeouts=JSON.parse(JSON.stringify(t)),this._timeouts=t,this._options=e||{},this._maxRetryTime=e&&e.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}DC.exports=Br;Br.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)};Br.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null};Br.prototype.retry=function(t){if(this._timeout&&clearTimeout(this._timeout),!t)return!1;var e=new Date().getTime();if(t&&e-this._operationStart>=this._maxRetryTime)return this._errors.push(t),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(t);var r=this._timeouts.shift();if(r===void 0)if(this._cachedTimeouts)this._errors.splice(0,this._errors.length-1),r=this._cachedTimeouts.slice(-1);else return!1;var n=this;return this._timer=setTimeout(function(){n._attempts++,n._operationTimeoutCb&&(n._timeout=setTimeout(function(){n._operationTimeoutCb(n._attempts)},n._operationTimeout),n._options.unref&&n._timeout.unref()),n._fn(n._attempts)},r),this._options.unref&&this._timer.unref(),!0};Br.prototype.attempt=function(t,e){this._fn=t,e&&(e.timeout&&(this._operationTimeout=e.timeout),e.cb&&(this._operationTimeoutCb=e.cb));var r=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){r._operationTimeoutCb()},r._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};Br.prototype.try=function(t){console.log("Using RetryOperation.try() is deprecated"),this.attempt(t)};Br.prototype.start=function(t){console.log("Using RetryOperation.start() is deprecated"),this.attempt(t)};Br.prototype.start=Br.prototype.try;Br.prototype.errors=function(){return this._errors};Br.prototype.attempts=function(){return this._attempts};Br.prototype.mainError=function(){if(this._errors.length===0)return null;for(var t={},e=null,r=0,n=0;n<this._errors.length;n++){var i=this._errors[n],s=i.message,o=(t[s]||0)+1;t[s]=o,o>=r&&(e=i,r=o)}return e}});var kC=w(ls=>{var T5=LC();ls.operation=function(t){var e=ls.timeouts(t);return new T5(e,{forever:t&&(t.forever||t.retries===1/0),unref:t&&t.unref,maxRetryTime:t&&t.maxRetryTime})};ls.timeouts=function(t){if(t instanceof Array)return[].concat(t);var e={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var r in t)e[r]=t[r];if(e.minTimeout>e.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var n=[],i=0;i<e.retries;i++)n.push(this.createTimeout(i,e));return t&&t.forever&&!n.length&&n.push(this.createTimeout(i,e)),n.sort(function(s,o){return s-o}),n};ls.createTimeout=function(t,e){var r=e.randomize?Math.random()+1:1,n=Math.round(r*Math.max(e.minTimeout,1)*Math.pow(e.factor,t));return n=Math.min(n,e.maxTimeout),n};ls.wrap=function(t,e,r){if(e instanceof Array&&(r=e,e=null),!r){r=[];for(var n in t)typeof t[n]=="function"&&r.push(n)}for(var i=0;i<r.length;i++){var s=r[i],o=t[s];t[s]=function(c){var u=ls.operation(e),l=Array.prototype.slice.call(arguments,1),f=l.pop();l.push(function(d){u.retry(d)||(d&&(arguments[0]=u.mainError()),f.apply(this,arguments))}),u.attempt(function(){c.apply(t,l)})}.bind(t,o),t[s].options=e}}});var UC=w((i9,qC)=>{qC.exports=kC()});var FC=w((s9,ol)=>{"use strict";var R5=UC(),B5=["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed"],s0=class extends Error{constructor(e){super();e instanceof Error?(this.originalError=e,{message:e}=e):(this.originalError=new Error(e),this.originalError.stack=this.stack),this.name="AbortError",this.message=e}},P5=(t,e,r)=>{let n=r.retries-(e-1);return t.attemptNumber=e,t.retriesLeft=n,t},N5=t=>B5.includes(t),MC=(t,e)=>new Promise((r,n)=>{e={onFailedAttempt:()=>{},retries:10,...e};let i=R5.operation(e);i.attempt(async s=>{try{r(await t(s))}catch(o){if(!(o instanceof Error)){n(new TypeError(`Non-error was thrown: "${o}". You should only throw errors.`));return}if(o instanceof s0)i.stop(),n(o.originalError);else if(o instanceof TypeError&&!N5(o.message))i.stop(),n(o);else{P5(o,s,e);try{await e.onFailedAttempt(o)}catch(a){n(a);return}i.retry(o)||n(i.mainError())}}})});ol.exports=MC;ol.exports.default=MC;ol.exports.AbortError=s0});var VC=w((o9,KC)=>{"use strict";function O5(t){return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(t)||/^::1$/.test(t)}KC.exports=O5});var $C=w((a9,jC)=>{"use strict";var D5=VC();function L5(t){let{address:e}=t.nodeAddress();return D5(e)}jC.exports=L5});var QC=w((c9,YC)=>{"use strict";var k5=TC(),HC=Te(),{promisify:o0}=RC(),{Multiaddr:q5}=qt(),To=Object.assign(HC("libp2p:nat"),{error:HC("libp2p:nat:err")}),{isBrowser:zC}=OC(),a0=FC(),U5=wd(),GC=bd(),M5=de(),{codes:{ERR_INVALID_PARAMETERS:F5}}=je(),K5=$C(),c0=7200;function V5(t=1024,e=65535){return Math.floor(Math.random()*(e-t+1)+t)}var WC=class{constructor({peerId:e,addressManager:r,transportManager:n,...i}){if(this._peerId=e,this._addressManager=r,this._transportManager=n,this._enabled=i.enabled,this._externalIp=i.externalIp,this._options={description:i.description||`${GC.name}@${GC.version} ${this._peerId}`,ttl:i.ttl||c0,autoUpdate:i.keepAlive||!0,gateway:i.gateway,enablePMP:Boolean(i.pmp&&i.pmp.enabled)},this._options.ttl<c0)throw M5(new Error(`NatManager ttl should be at least ${c0} seconds`),F5)}start(){zC||!this._enabled||this._start().catch(e=>{To.error(e)})}async _start(){let e=this._transportManager.getAddrs();for(let r of e){let{family:n,host:i,port:s,transport:o}=r.toOptions();if(!r.isThinWaistAddress()||o!=="tcp"||K5(r)||n!==4)continue;let a=this._getClient(),c=this._externalIp||await a.externalIp();if(U5(c))throw new Error(`${c} is private - please set config.nat.externalIp to an externally routable IP or ensure you are not behind a double NAT`);let u=V5();To(`opening uPnP connection from ${c}:${u} to ${i}:${s}`),await a.map({publicPort:u,privatePort:s,protocol:o.toUpperCase()}),this._addressManager.addObservedAddr(q5.fromNodeAddress({family:4,address:c,port:u},o))}}_getClient(){if(this._client)return this._client;let e=new k5(this._options),r=o0(e.map.bind(e)),n=o0(e.destroy.bind(e)),i=o0(e.externalIp.bind(e));return this._client={map:(...s)=>a0(()=>r(...s),{onFailedAttempt:To.error,unref:!0}),destroy:(...s)=>a0(()=>n(...s),{onFailedAttempt:To.error,unref:!0}),externalIp:(...s)=>a0(()=>i(...s),{onFailedAttempt:To.error,unref:!0})},this._client}async stop(){if(!(zC||!this._client))try{await this._client.destroy(),this._client=null}catch(e){To.error(e)}}};YC.exports=WC});var lq=w((u9,tI)=>{"use strict";var XC=Te(),Ft=Object.assign(XC("libp2p"),{error:XC("libp2p:err")}),{EventEmitter:j5}=Qt(),u0=de(),$5=Rt(),{Multiaddr:H5}=qt(),{MemoryDatastore:z5}=(v1(),m1),G5=W1(),W5=eb(),l0=gd(),{validate:Y5}=mE(),{codes:al,messages:Q5}=je(),X5=EE(),Z5=qE(),J5=$E(),ZC=B2(),eq=V2(),tq=w_(),JC=Ex(),rq=qx(),nq=Bd(),iq=bS(),sq=VA(),oq=$A(),aq=JA(),cl=sC(),eI=mC(),f0=IC(),cq=QC(),{updateSelfPeerRecord:uq}=Td(),$a=class extends j5{static async create(e){if(e.peerId)return new $a(e);let r=await $5.create();return e.peerId=r,new $a(e)}constructor(e){super();if(this._options=Y5(e),this.peerId=this._options.peerId,this.datastore=this._options.datastore,this._options.metrics.enabled){let n=new rq({...this._options.metrics});this.metrics=n}if(this.connectionGater={denyDialPeer:async()=>Promise.resolve(!1),denyDialMultiaddr:async()=>Promise.resolve(!1),denyInboundConnection:async()=>Promise.resolve(!1),denyOutboundConnection:async()=>Promise.resolve(!1),denyInboundEncryptedConnection:async()=>Promise.resolve(!1),denyOutboundEncryptedConnection:async()=>Promise.resolve(!1),denyInboundUpgradedConnection:async()=>Promise.resolve(!1),denyOutboundUpgradedConnection:async()=>Promise.resolve(!1),filterMultiaddrForPeer:async()=>Promise.resolve(!0),...this._options.connectionGater},this.peerStore=new sq({peerId:this.peerId,datastore:this.datastore&&this._options.peerStore.persistence?this.datastore:new z5,addressFilter:this.connectionGater.filterMultiaddrForPeer}),this.addresses=this._options.addresses,this.addressManager=new X5(this.peerId,this._options.addresses),this.addressManager.on("change:addresses",()=>{uq(this).catch(n=>{Ft.error("Error updating self peer record",n)})}),this._modules=this._options.modules,this._config=this._options.config,this._transport=[],this._discovery=new Map,this.connectionManager=new Z5(this,{...this._options.connectionManager}),this._autodialler=new J5(this,{enabled:this._config.peerDiscovery.autoDial,minConnections:this._options.connectionManager.minConnections,autoDialInterval:this._options.connectionManager.autoDialInterval}),this._options.keychain&&this._options.keychain.datastore){Ft("creating keychain");let n=JC.generateOptions();this.keychain=new JC(this._options.keychain.datastore,{...n,...this._options.keychain}),Ft("keychain constructed")}if(this.upgrader=new iq({connectionGater:this.connectionGater,localPeer:this.peerId,metrics:this.metrics,onConnection:n=>this.connectionManager.onConnect(n),onConnectionEnd:n=>this.connectionManager.onDisconnect(n)}),this.transportManager=new nq({libp2p:this,upgrader:this.upgrader,faultTolerance:this._options.transportManager.faultTolerance}),this.natManager=new cq({peerId:this.peerId,addressManager:this.addressManager,transportManager:this.transportManager,...this._options.config.nat}),this.registrar=new aq({peerStore:this.peerStore,connectionManager:this.connectionManager}),this.handle=this.handle.bind(this),this.registrar.handle=this.handle,!this._modules.connEncryption||!this._modules.connEncryption.length)throw u0(new Error(Q5.CONN_ENCRYPTION_REQUIRED),al.CONN_ENCRYPTION_REQUIRED);if(this._modules.connEncryption.forEach(n=>{this.upgrader.cryptos.set(n.protocol,n)}),this.dialer=new tq({transportManager:this.transportManager,connectionGater:this.connectionGater,peerStore:this.peerStore,metrics:this.metrics,...this._options.dialer}),this._modules.transport.forEach(n=>{let i=n.prototype[Symbol.toStringTag],s=this._config.transport[i];this.transportManager.add(i,n,s)}),this._config.relay.enabled&&(this.transportManager.add(ZC.prototype[Symbol.toStringTag],ZC),this.relay=new eq(this)),this._modules.streamMuxer&&(this._modules.streamMuxer.forEach(i=>{this.upgrader.muxers.set(i.multicodec,i)}),this.identifyService=new eI({libp2p:this})),this._modules.connProtector)this.upgrader.protector=this._modules.connProtector;else if(globalThis.process!==void 0&&globalThis.process.env&&globalThis.process.env.LIBP2P_FORCE_PNET)throw new Error("Private network is enforced, but no protector was provided");if(this._modules.dht){let n=this._modules.dht;this._dht=n.create({libp2p:this,...this._config.dht})}if(this._modules.pubsub){let n=this._modules.pubsub;this.pubsub=oq(n,this,this._config.pubsub)}this.peerRouting=new G5(this),this.contentRouting=new W5(this),cl.mount(this),this._onDiscoveryPeer=this._onDiscoveryPeer.bind(this),this.fetchService=new f0(this)}emit(e,...r){return e==="error"&&!this._events.error?(Ft.error(r),!1):super.emit(e,...r)}async start(){Ft("libp2p is starting"),this.identifyService&&await this.handle(Object.values(eI.getProtocolStr(this)),this.identifyService.handleMessage),this.fetchService&&await this.handle(f0.PROTOCOL,this.fetchService.handleMessage);try{await this._onStarting(),await this._onDidStart(),Ft("libp2p has started")}catch(e){throw this.emit("error",e),Ft.error("An error occurred starting libp2p",e),await this.stop(),e}}async stop(){Ft("libp2p is stopping");try{this._isStarted=!1,this.identifyService&&await this.identifyService.stop(),this.relay&&this.relay.stop(),this.peerRouting.stop(),await this._autodialler.stop(),await(this._dht&&this._dht.stop());for(let e of this._discovery.values())e.removeListener("peer",this._onDiscoveryPeer);await Promise.all(Array.from(this._discovery.values(),e=>e.stop())),this._discovery=new Map,await this.connectionManager.stop(),await Promise.all([this.pubsub&&this.pubsub.stop(),this.metrics&&this.metrics.stop()]),await this.natManager.stop(),await this.transportManager.close(),this.unhandle(f0.PROTOCOL),cl.unmount(this),this.dialer.destroy()}catch(e){e&&(Ft.error(e),this.emit("error",e))}Ft("libp2p has stopped")}async loadKeychain(){if(!!this.keychain)try{await this.keychain.findKeyByName("self")}catch(e){await this.keychain.importPeer("self",this.peerId)}}isStarted(){return this._isStarted}get connections(){return this.connectionManager.connections}dial(e,r){return this._dial(e,r)}async dialProtocol(e,r,n){if(!r||!r.length)throw u0(new Error("no protocols were provided to open a stream"),al.ERR_INVALID_PROTOCOLS_FOR_STREAM);return(await this._dial(e,n)).newStream(r)}async _dial(e,r){let{id:n,multiaddrs:i}=l0(e);if(n.equals(this.peerId))throw u0(new Error("Cannot dial self"),al.ERR_DIALED_SELF);let s=this.connectionManager.get(n);return s?i&&await this.peerStore.addressBook.add(n,i):s=await this.dialer.connectToPeer(e,r),s}get multiaddrs(){let e=this.addressManager.getAnnounceAddrs().map(i=>i.toString());e.length||(e=this.transportManager.getAddrs().map(i=>i.toString())),e=e.concat(this.addressManager.getObservedAddrs().map(i=>i.toString()));let r=this._options.addresses.announceFilter,n=new Set(e);return r(Array.from(n).map(i=>new H5(i)))}async hangUp(e){let{id:r}=l0(e),n=this.connectionManager.connections.get(r.toB58String());!n||await Promise.all(n.map(i=>i.close()))}fetch(e,r){return this.fetchService.fetch(e,r)}ping(e){let{id:r,multiaddrs:n}=l0(e);return n?cl(this,n[0]):cl(this,r)}async handle(e,r){e=Array.isArray(e)?e:[e],e.forEach(n=>{this.upgrader.protocols.set(n,r)}),await this.peerStore.protoBook.add(this.peerId,e)}async unhandle(e){e=Array.isArray(e)?e:[e],e.forEach(r=>{this.upgrader.protocols.delete(r)}),await this.peerStore.protoBook.remove(this.peerId,e)}async _onStarting(){let e=this.addressManager.getListenAddrs();await this.transportManager.listen(e),this.natManager.start(),this._config.pubsub.enabled&&this.pubsub&&await this.pubsub.start(),this._config.dht.enabled&&(this._dht&&await this._dht.start(),this._dht.on("peer",this._onDiscoveryPeer)),this.metrics&&this.metrics.start(),this.identifyService&&await this.identifyService.start()}async _onDidStart(){this._isStarted=!0,this.peerStore.on("peer",e=>{this.emit("peer:discovery",e),this._maybeConnect(e).catch(r=>{Ft.error(r)})});for await(let e of this.peerStore.getPeers())this.emit("peer:discovery",e.id);this.connectionManager.start(),await this._autodialler.start(),await this._setupPeerDiscovery(),this.relay&&this.relay.start(),this.peerRouting.start()}_onDiscoveryPeer(e){if(e.id.toB58String()===this.peerId.toB58String()){Ft.error(new Error(al.ERR_DISCOVERED_SELF));return}e.multiaddrs&&this.peerStore.addressBook.add(e.id,e.multiaddrs).catch(r=>Ft.error(r)),e.protocols&&this.peerStore.protoBook.set(e.id,e.protocols).catch(r=>Ft.error(r))}async _maybeConnect(e){if(this._config.peerDiscovery.autoDial===!0&&!this.connectionManager.get(e)&&(this._options.connectionManager.minConnections||0)>this.connectionManager.size){Ft("connecting to discovered peer %s",e.toB58String());try{await this.dialer.connectToPeer(e)}catch(n){Ft.error(`could not connect to discovered peer ${e.toB58String()} with ${n}`)}}}async _setupPeerDiscovery(){let e=r=>{let n={enabled:!0};if(r.tag&&this._config.peerDiscovery&&this._config.peerDiscovery[r.tag]&&(n={...n,...this._config.peerDiscovery[r.tag]}),n.enabled&&!this._discovery.has(r.tag)){let i;typeof r=="function"?i=new r(Object.assign({},n,{peerId:this.peerId,libp2p:this})):i=r,i.on("peer",this._onDiscoveryPeer),this._discovery.set(r.tag,i)}};for(let r of this._modules.peerDiscovery||[])e(r);for(let r of this.transportManager.getTransports())r.discovery&&e(r.discovery);await Promise.all(Array.from(this._discovery.values(),r=>r.start()))}};tI.exports=$a});return lq();})();
|
|
44
|
+
`+iL(r,4);super(r);this.name="AggregateError",Object.defineProperty(this,"_errors",{value:e})}*[Symbol.iterator](){for(let e of this._errors)yield e}};Z2.exports=X2});var e_=w((PK,dh)=>{"use strict";var fh=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},Oa=class{static fn(e){return(...r)=>new Oa((n,i,s)=>{r.push(s),e(...r).then(n,i)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,n)=>{this._reject=n;let i=a=>{(!this._isCanceled||!o.shouldReject)&&(this._isPending=!1,r(a))},s=a=>{this._isPending=!1,n(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(i,s,o)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._isCanceled=!0,this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r);return}this._rejectOnCancel&&this._reject(new fh(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(Oa.prototype,Promise.prototype);dh.exports=Oa;dh.exports.CancelError=fh});var r_=w((NK,Iu)=>{"use strict";var t_=J2(),aL=e_(),hh=class extends Error{},cL=(t,e)=>new aL((r,n,i)=>{let{count:s,filter:o=()=>!0}=e;if(!Number.isFinite(s)){n(new TypeError(`Expected a finite number, got ${typeof e.count}`));return}let a=[],c=[],u=0,l=!1,f=new Set,d=()=>(a.length===s&&(r(a),l=!0),u-c.length<s&&(n(new t_(c)),l=!0),l),p=()=>{for(let h of t)!f.has(h)&&typeof h.cancel=="function"&&h.cancel()};i(p);for(let h of t)u++,(async()=>{try{let g=await h;if(l)return;if(!o(g))throw new hh("Value does not satisfy filter");a.push(g)}catch(g){c.push(g)}finally{f.add(h),!l&&d()&&p()}})();s>u&&(n(new RangeError(`Expected input to contain at least ${e.count} items, but contains ${u} items`)),p())});Iu.exports=cL;Iu.exports.AggregateError=t_;Iu.exports.FilterError=hh});var n_=w((OK,yh)=>{"use strict";var ph=class extends Error{constructor(e){super(e||"Promise was canceled");this.name="CancelError"}get isCanceled(){return!0}},Da=class{static fn(e){return(...r)=>new Da((n,i,s)=>{r.push(s),e(...r).then(n,i)})}constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCanceled=!1,this._rejectOnCancel=!0,this._promise=new Promise((r,n)=>{this._reject=n;let i=a=>{(!this._isCanceled||!o.shouldReject)&&(this._isPending=!1,r(a))},s=a=>{this._isPending=!1,n(a)},o=a=>{if(!this._isPending)throw new Error("The `onCancel` handler was attached after the promise settled.");this._cancelHandlers.push(a)};return Object.defineProperties(o,{shouldReject:{get:()=>this._rejectOnCancel,set:a=>{this._rejectOnCancel=a}}}),e(i,s,o)})}then(e,r){return this._promise.then(e,r)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._isCanceled=!0,this._cancelHandlers.length>0)try{for(let r of this._cancelHandlers)r()}catch(r){this._reject(r);return}this._rejectOnCancel&&this._reject(new ph(e))}}get isCanceled(){return this._isCanceled}};Object.setPrototypeOf(Da.prototype,Promise.prototype);yh.exports=Da;yh.exports.CancelError=ph});var s_=w((DK,gh)=>{"use strict";var i_=r_(),uL=n_();gh.exports=(t,e)=>{let r=i_(t,{...e,count:1});return uL.fn(async n=>{n(()=>{r.cancel()});let[i]=await r;return i})()};gh.exports.AggregateError=i_.AggregateError});var u_=w((LK,c_)=>{"use strict";var lL=de(),{anySignal:fL}=lh(),dL=j2(),hL=s_(),{setMaxListeners:o_}=Qt(),{codes:pL}=je(),a_=class{constructor({addrs:e,dialAction:r,dialer:n}){this.addrs=e,this.dialer=n,this.dialAction=r}async run(e={}){let r=this.dialer.getTokens(this.addrs.length);if(r.length<1)throw lL(new Error("No dial tokens available"),pL.ERR_NO_DIAL_TOKENS);let n=new dL;r.forEach(o=>n.push(o));let i=this.addrs.map(()=>{let o=new AbortController;try{o_&&o_(1/0,o.signal)}catch{}return o}),s=0;try{return await hL(this.addrs.map(async(o,a)=>{let c=await n.shift(),u;try{let l=i[a].signal;u=await this.dialAction(o,{...e,signal:e.signal?fL([l,e.signal]):l}),i.splice(a,1)}finally{s++,this.addrs.length-s>=r.length?n.push(c):this.dialer.releaseToken(r.splice(r.indexOf(c),1)[0])}return u}))}finally{i.map(o=>o.abort()),r.forEach(o=>this.dialer.releaseToken(o))}}};c_.exports=a_});var m_=w((kK,g_)=>{"use strict";var l_=Te(),yL=Mi(),gL=Fi(),{pipe:mL}=ir(),ao=Object.assign(l_("libp2p:dialer"),{error:l_("libp2p:dialer:err")}),Tu=de(),{Multiaddr:mh}=qt(),{TimeoutController:vL}=od(),{AbortError:bL}=bu(),{anySignal:EL}=lh(),{setMaxListeners:f_}=Qt(),wL=u_(),{publicAddressesFirst:_L}=Ed(),d_=pd(),h_=Pd(),{codes:La}=je(),{DIAL_TIMEOUT:SL,MAX_PARALLEL_DIALS:xL,MAX_PER_PEER_DIALS:AL,MAX_ADDRS_TO_DIAL:CL}=cu(),p_="dialler",IL="pending-dials",TL="pending-dial-targets",y_=class{constructor({transportManager:e,peerStore:r,connectionGater:n,addressSorter:i=_L,maxParallelDials:s=xL,maxAddrsToDial:o=CL,dialTimeout:a=SL,maxDialsPerPeer:c=AL,resolvers:u={},metrics:l}){this.connectionGater=n,this.transportManager=e,this.peerStore=r,this.addressSorter=i,this.maxParallelDials=s,this.maxAddrsToDial=o,this.timeout=a,this.maxDialsPerPeer=c,this.tokens=[...new Array(s)].map((f,d)=>d),this._pendingDials=h_({component:p_,metric:IL,metrics:l}),this._pendingDialTargets=h_({component:p_,metric:TL,metrics:l});for(let[f,d]of Object.entries(u))mh.resolvers.set(f,d)}destroy(){for(let e of this._pendingDials.values())try{e.controller.abort()}catch(r){ao.error(r)}this._pendingDials.clear();for(let e of this._pendingDialTargets.values())e.reject(new bL("Dialer was destroyed"));this._pendingDialTargets.clear()}async connectToPeer(e,r={}){let{id:n}=d_(e);if(await this.connectionGater.denyDialPeer(n))throw Tu(new Error("The dial request is blocked by gater.allowDialPeer"),La.ERR_PEER_DIAL_INTERCEPTED);let i=await this._createCancellableDialTarget(e);if(!i.addrs.length)throw Tu(new Error("The dial request has no valid addresses"),La.ERR_NO_VALID_ADDRESSES);let s=this._pendingDials.get(i.id)||this._createPendingDial(i,r);try{let o=await s.promise;return ao("dial succeeded to %s",i.id),o}catch(o){throw s.controller.signal.aborted&&(o.code=La.ERR_TIMEOUT),ao.error(o),o}finally{s.destroy()}}async _createCancellableDialTarget(e){let r=`${parseInt(String(Math.random()*1e9),10).toString()+Date.now()}`,n=new Promise((i,s)=>{this._pendingDialTargets.set(r,{resolve:i,reject:s})});try{return await Promise.race([this._createDialTarget(e),n])}finally{this._pendingDialTargets.delete(r)}}async _createDialTarget(e){let{id:r,multiaddrs:n}=d_(e);n&&await this.peerStore.addressBook.add(r,n);let i=await mL(await this.peerStore.addressBook.getMultiaddrsForPeer(r,this.addressSorter),a=>gL(a,async c=>!await this.connectionGater.denyDialMultiaddr(r,c)),a=>yL(a));mh.isMultiaddr(e)&&(i=i.filter(a=>!e.equals(a)),i.unshift(e));let s=[];for(let a of i)(await this._resolve(a)).forEach(u=>s.push(u));let o=s.filter(a=>this.transportManager.transportForMultiaddr(a));if(o.length>this.maxAddrsToDial)throw await this.peerStore.delete(r),Tu(new Error("dial with more addresses than allowed"),La.ERR_TOO_MANY_ADDRESSES);return{id:r.toB58String(),addrs:o}}_createPendingDial(e,r={}){let n=(u,l)=>{if(l.signal.aborted)throw Tu(new Error("already aborted"),La.ERR_ALREADY_ABORTED);return this.transportManager.dial(u,l)},i=new wL({addrs:e.addrs,dialAction:n,dialer:this}),s=new vL(this.timeout),o=[s.signal];r.signal&&o.push(r.signal);let a=EL(o);try{f_&&f_(1/0,a)}catch{}let c={dialRequest:i,controller:s,promise:i.run({...r,signal:a}),destroy:()=>{s.clear(),this._pendingDials.delete(e.id)}};return this._pendingDials.set(e.id,c),c}getTokens(e){let r=Math.min(e,this.maxDialsPerPeer,this.tokens.length),n=this.tokens.splice(0,r);return ao("%d tokens request, returning %d, %d remaining",e,r,this.tokens.length),n}releaseToken(e){this.tokens.indexOf(e)>-1||(ao("token %d released",e),this.tokens.push(e))}async _resolve(e){if(!e.protoNames().includes("dnsaddr"))return[e];let n=await this._resolveRecord(e);return(await Promise.all(n.map(o=>this._resolve(o)))).flat().reduce((o,a)=>(o.find(c=>c.equals(a))||o.push(a),o),[])}async _resolveRecord(e){try{return e=new mh(e.toString()),await e.resolve()}catch(r){return ao.error(`multiaddr ${e} could not be resolved`),[]}}};g_.exports=y_});var b_=w((qK,v_)=>{"use strict";function RL(t){return t>=55296&&t<=56319}function BL(t){return t>=56320&&t<=57343}v_.exports=function(e,r,n){if(typeof r!="string")throw new Error("Input must be string");for(var i=r.length,s=0,o,a,c=0;c<i;c+=1){if(o=r.charCodeAt(c),a=r[c],RL(o)&&BL(r.charCodeAt(c+1))&&(c+=1,a+=r[c]),s+=e(a),s===n)return r.slice(0,c+1);if(s>n)return r.slice(0,c-a.length+1)}return r}});var w_=w((UK,E_)=>{"use strict";function PL(t){return t>=55296&&t<=56319}function NL(t){return t>=56320&&t<=57343}E_.exports=function(e){if(typeof e!="string")throw new Error("Input must be string");for(var r=e.length,n=0,i=null,s=null,o=0;o<r;o++)i=e.charCodeAt(o),NL(i)?s!=null&&PL(s)?n+=1:n+=3:i<=127?n+=1:i>=128&&i<=2047?n+=2:i>=2048&&i<=65535&&(n+=3),s=i;return n}});var S_=w((MK,__)=>{"use strict";var OL=b_(),DL=w_();__.exports=OL.bind(null,DL)});var C_=w((FK,A_)=>{"use strict";var LL=S_(),kL=/[\/\?<>\\:\*\|"]/g,qL=/[\x00-\x1f\x80-\x9f]/g,UL=/^\.+$/,ML=/^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\..*)?$/i,FL=/[\. ]+$/;function x_(t,e){if(typeof t!="string")throw new Error("Input must be string");var r=t.replace(kL,e).replace(qL,e).replace(UL,e).replace(ML,e).replace(FL,e);return LL(r,255)}A_.exports=function(t,e){var r=e&&e.replacement||"",n=x_(t,r);return r===""?n:x_(n,"")}});var R_=w((KK,T_)=>{"use strict";Is();var Ru=be(),{toString:co}=(Tt(),Ot),{fromString:I_}=(It(),Nt);T_.exports={createCipheriv:(t,e,r)=>{let n=Ru.cipher.createCipher("AES-CTR",co(e,"ascii"));return n.start({iv:co(r,"ascii")}),{update:i=>(n.update(Ru.util.createBuffer(co(i,"ascii"))),I_(n.output.getBytes(),"ascii"))}},createDecipheriv:(t,e,r)=>{let n=Ru.cipher.createDecipher("AES-CTR",co(e,"ascii"));return n.start({iv:co(r,"ascii")}),{update:i=>(n.update(Ru.util.createBuffer(co(i,"ascii"))),I_(n.output.getBytes(),"ascii"))}}}});var N_=w((VK,P_)=>{"use strict";var KL=de(),B_={16:"aes-128-ctr",32:"aes-256-ctr"};P_.exports=function(t){let e=B_[t.length];if(!e){let r=Object.entries(B_).map(([n,i])=>`${n} (${i})`).join(" / ");throw KL(new Error(`Invalid key length ${t.length} bytes. Must be ${r}`),"ERR_INVALID_KEY_LENGTH")}return e}});var L_=w(D_=>{"use strict";var O_=R_(),VL=N_();D_.create=async function(t,e){let r=VL(t),n=O_.createCipheriv(r,t,e),i=O_.createDecipheriv(r,t,e);return{async encrypt(o){return n.update(o)},async decrypt(o){return i.update(o)}}}});var U_=w(($K,q_)=>{"use strict";var jL=Kl(),$L=$e(),HL=de(),k_={sha1:"sha1","sha2-256":"sha256","sha2-512":"sha512"};function zL(t,e,r,n,i){let s=k_[i];if(!s){let a=Object.keys(k_).join(" / ");throw HL(new Error(`Hash '${i}' is unknown or not supported. Must be ${a}`),"ERR_UNSUPPORTED_HASH_TYPE")}let o=jL(t,e,r,n,s);return $L.encode64(o)}q_.exports=zL});var Bu=w(uo=>{"use strict";var GL=Tf(),WL=L_(),YL=jc();uo.aes=WL;uo.hmac=GL;uo.keys=YL;uo.randomBytes=Rc();uo.pbkdf2=U_()});var V_=w((zK,K_)=>{var lo=be();jn();$e();var Z=lo.asn1,fo=K_.exports=lo.pkcs7asn1=lo.pkcs7asn1||{};lo.pkcs7=lo.pkcs7||{};lo.pkcs7.asn1=fo;var M_={name:"ContentInfo",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"ContentInfo.ContentType",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OID,constructed:!1,capture:"contentType"},{name:"ContentInfo.content",tagClass:Z.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,captureAsn1:"content"}]};fo.contentInfoValidator=M_;var F_={name:"EncryptedContentInfo",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedContentInfo.contentType",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OID,constructed:!1,capture:"contentType"},{name:"EncryptedContentInfo.contentEncryptionAlgorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedContentInfo.contentEncryptionAlgorithm.algorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OID,constructed:!1,capture:"encAlgorithm"},{name:"EncryptedContentInfo.contentEncryptionAlgorithm.parameter",tagClass:Z.Class.UNIVERSAL,captureAsn1:"encParameter"}]},{name:"EncryptedContentInfo.encryptedContent",tagClass:Z.Class.CONTEXT_SPECIFIC,type:0,capture:"encryptedContent",captureAsn1:"encryptedContentAsn1"}]};fo.envelopedDataValidator={name:"EnvelopedData",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"EnvelopedData.Version",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"version"},{name:"EnvelopedData.RecipientInfos",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SET,constructed:!0,captureAsn1:"recipientInfos"}].concat(F_)};fo.encryptedDataValidator={name:"EncryptedData",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedData.Version",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"version"}].concat(F_)};var QL={name:"SignerInfo",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.version",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1},{name:"SignerInfo.issuerAndSerialNumber",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.issuerAndSerialNumber.issuer",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,captureAsn1:"issuer"},{name:"SignerInfo.issuerAndSerialNumber.serialNumber",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"serial"}]},{name:"SignerInfo.digestAlgorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"SignerInfo.digestAlgorithm.algorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OID,constructed:!1,capture:"digestAlgorithm"},{name:"SignerInfo.digestAlgorithm.parameter",tagClass:Z.Class.UNIVERSAL,constructed:!1,captureAsn1:"digestParameter",optional:!0}]},{name:"SignerInfo.authenticatedAttributes",tagClass:Z.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,capture:"authenticatedAttributes"},{name:"SignerInfo.digestEncryptionAlgorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,capture:"signatureAlgorithm"},{name:"SignerInfo.encryptedDigest",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OCTETSTRING,constructed:!1,capture:"signature"},{name:"SignerInfo.unauthenticatedAttributes",tagClass:Z.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,optional:!0,capture:"unauthenticatedAttributes"}]};fo.signedDataValidator={name:"SignedData",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"SignedData.Version",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"version"},{name:"SignedData.DigestAlgorithms",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SET,constructed:!0,captureAsn1:"digestAlgorithms"},M_,{name:"SignedData.Certificates",tagClass:Z.Class.CONTEXT_SPECIFIC,type:0,optional:!0,captureAsn1:"certificates"},{name:"SignedData.CertificateRevocationLists",tagClass:Z.Class.CONTEXT_SPECIFIC,type:1,optional:!0,captureAsn1:"crls"},{name:"SignedData.SignerInfos",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SET,capture:"signerInfos",optional:!0,value:[QL]}]};fo.recipientInfoValidator={name:"RecipientInfo",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.version",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"version"},{name:"RecipientInfo.issuerAndSerial",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.issuerAndSerial.issuer",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,captureAsn1:"issuer"},{name:"RecipientInfo.issuerAndSerial.serialNumber",tagClass:Z.Class.UNIVERSAL,type:Z.Type.INTEGER,constructed:!1,capture:"serial"}]},{name:"RecipientInfo.keyEncryptionAlgorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.SEQUENCE,constructed:!0,value:[{name:"RecipientInfo.keyEncryptionAlgorithm.algorithm",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OID,constructed:!1,capture:"encAlgorithm"},{name:"RecipientInfo.keyEncryptionAlgorithm.parameter",tagClass:Z.Class.UNIVERSAL,constructed:!1,captureAsn1:"encParameter",optional:!0}]},{name:"RecipientInfo.encryptedKey",tagClass:Z.Class.UNIVERSAL,type:Z.Type.OCTETSTRING,constructed:!1,capture:"encKey"}]}});var $_=w((GK,j_)=>{var ts=be();$e();ts.mgf=ts.mgf||{};var XL=j_.exports=ts.mgf.mgf1=ts.mgf1=ts.mgf1||{};XL.create=function(t){var e={generate:function(r,n){for(var i=new ts.util.ByteBuffer,s=Math.ceil(n/t.digestLength),o=0;o<s;o++){var a=new ts.util.ByteBuffer;a.putInt32(o),t.start(),t.update(r+a.getBytes()),i.putBuffer(t.digest())}return i.truncate(i.length()-n),i.getBytes()}};return e}});var z_=w((WK,H_)=>{var Pu=be();$_();H_.exports=Pu.mgf=Pu.mgf||{};Pu.mgf.mgf1=Pu.mgf1});var W_=w((YK,G_)=>{var rs=be();Ci();$e();var ZL=G_.exports=rs.pss=rs.pss||{};ZL.create=function(t){arguments.length===3&&(t={md:arguments[0],mgf:arguments[1],saltLength:arguments[2]});var e=t.md,r=t.mgf,n=e.digestLength,i=t.salt||null;typeof i=="string"&&(i=rs.util.createBuffer(i));var s;if("saltLength"in t)s=t.saltLength;else if(i!==null)s=i.length();else throw new Error("Salt length not specified or specific salt not given.");if(i!==null&&i.length()!==s)throw new Error("Given salt length does not match length of given salt.");var o=t.prng||rs.random,a={};return a.encode=function(c,u){var l,f=u-1,d=Math.ceil(f/8),p=c.digest().getBytes();if(d<n+s+2)throw new Error("Message is too long to encrypt.");var h;i===null?h=o.getBytesSync(s):h=i.bytes();var g=new rs.util.ByteBuffer;g.fillWithByte(0,8),g.putBytes(p),g.putBytes(h),e.start(),e.update(g.getBytes());var m=e.digest().getBytes(),S=new rs.util.ByteBuffer;S.fillWithByte(0,d-s-n-2),S.putByte(1),S.putBytes(h);var R=S.getBytes(),L=d-n-1,H=r.generate(m,L),q="";for(l=0;l<L;l++)q+=String.fromCharCode(R.charCodeAt(l)^H.charCodeAt(l));var k=65280>>8*d-f&255;return q=String.fromCharCode(q.charCodeAt(0)&~k)+q.substr(1),q+m+String.fromCharCode(188)},a.verify=function(c,u,l){var f,d=l-1,p=Math.ceil(d/8);if(u=u.substr(-p),p<n+s+2)throw new Error("Inconsistent parameters to PSS signature verification.");if(u.charCodeAt(p-1)!==188)throw new Error("Encoded message does not end in 0xBC.");var h=p-n-1,g=u.substr(0,h),m=u.substr(h,n),S=65280>>8*p-d&255;if((g.charCodeAt(0)&S)!=0)throw new Error("Bits beyond keysize not zero as expected.");var R=r.generate(m,h),L="";for(f=0;f<h;f++)L+=String.fromCharCode(g.charCodeAt(f)^R.charCodeAt(f));L=String.fromCharCode(L.charCodeAt(0)&~S)+L.substr(1);var H=p-n-s-2;for(f=0;f<H;f++)if(L.charCodeAt(f)!==0)throw new Error("Leftmost octets not zero as expected");if(L.charCodeAt(H)!==1)throw new Error("Inconsistent PSS signature, 0x01 marker not found");var q=L.substr(-s),k=new rs.util.ByteBuffer;k.fillWithByte(0,8),k.putBytes(c),k.putBytes(q),e.start(),e.update(k.getBytes());var J=e.digest().getBytes();return m===J},a}});var bh=w((QK,J_)=>{var oe=be();Is();jn();yc();$n();z_();xs();bc();W_();Ho();$e();var y=oe.asn1,G=J_.exports=oe.pki=oe.pki||{},Ce=G.oids,ft={};ft.CN=Ce.commonName;ft.commonName="CN";ft.C=Ce.countryName;ft.countryName="C";ft.L=Ce.localityName;ft.localityName="L";ft.ST=Ce.stateOrProvinceName;ft.stateOrProvinceName="ST";ft.O=Ce.organizationName;ft.organizationName="O";ft.OU=Ce.organizationalUnitName;ft.organizationalUnitName="OU";ft.E=Ce.emailAddress;ft.emailAddress="E";var Y_=oe.pki.rsa.publicKeyValidator,JL={name:"Certificate",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"tbsCertificate",value:[{name:"Certificate.TBSCertificate.version",tagClass:y.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.version.integer",tagClass:y.Class.UNIVERSAL,type:y.Type.INTEGER,constructed:!1,capture:"certVersion"}]},{name:"Certificate.TBSCertificate.serialNumber",tagClass:y.Class.UNIVERSAL,type:y.Type.INTEGER,constructed:!1,capture:"certSerialNumber"},{name:"Certificate.TBSCertificate.signature",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate.signature.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"certinfoSignatureOid"},{name:"Certificate.TBSCertificate.signature.parameters",tagClass:y.Class.UNIVERSAL,optional:!0,captureAsn1:"certinfoSignatureParams"}]},{name:"Certificate.TBSCertificate.issuer",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"certIssuer"},{name:"Certificate.TBSCertificate.validity",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.TBSCertificate.validity.notBefore (utc)",tagClass:y.Class.UNIVERSAL,type:y.Type.UTCTIME,constructed:!1,optional:!0,capture:"certValidity1UTCTime"},{name:"Certificate.TBSCertificate.validity.notBefore (generalized)",tagClass:y.Class.UNIVERSAL,type:y.Type.GENERALIZEDTIME,constructed:!1,optional:!0,capture:"certValidity2GeneralizedTime"},{name:"Certificate.TBSCertificate.validity.notAfter (utc)",tagClass:y.Class.UNIVERSAL,type:y.Type.UTCTIME,constructed:!1,optional:!0,capture:"certValidity3UTCTime"},{name:"Certificate.TBSCertificate.validity.notAfter (generalized)",tagClass:y.Class.UNIVERSAL,type:y.Type.GENERALIZEDTIME,constructed:!1,optional:!0,capture:"certValidity4GeneralizedTime"}]},{name:"Certificate.TBSCertificate.subject",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"certSubject"},Y_,{name:"Certificate.TBSCertificate.issuerUniqueID",tagClass:y.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.issuerUniqueID.id",tagClass:y.Class.UNIVERSAL,type:y.Type.BITSTRING,constructed:!1,captureBitStringValue:"certIssuerUniqueId"}]},{name:"Certificate.TBSCertificate.subjectUniqueID",tagClass:y.Class.CONTEXT_SPECIFIC,type:2,constructed:!0,optional:!0,value:[{name:"Certificate.TBSCertificate.subjectUniqueID.id",tagClass:y.Class.UNIVERSAL,type:y.Type.BITSTRING,constructed:!1,captureBitStringValue:"certSubjectUniqueId"}]},{name:"Certificate.TBSCertificate.extensions",tagClass:y.Class.CONTEXT_SPECIFIC,type:3,constructed:!0,captureAsn1:"certExtensions",optional:!0}]},{name:"Certificate.signatureAlgorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"Certificate.signatureAlgorithm.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"certSignatureOid"},{name:"Certificate.TBSCertificate.signature.parameters",tagClass:y.Class.UNIVERSAL,optional:!0,captureAsn1:"certSignatureParams"}]},{name:"Certificate.signatureValue",tagClass:y.Class.UNIVERSAL,type:y.Type.BITSTRING,constructed:!1,captureBitStringValue:"certSignature"}]},ek={name:"rsapss",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"rsapss.hashAlgorithm",tagClass:y.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,value:[{name:"rsapss.hashAlgorithm.AlgorithmIdentifier",tagClass:y.Class.UNIVERSAL,type:y.Class.SEQUENCE,constructed:!0,optional:!0,value:[{name:"rsapss.hashAlgorithm.AlgorithmIdentifier.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"hashOid"}]}]},{name:"rsapss.maskGenAlgorithm",tagClass:y.Class.CONTEXT_SPECIFIC,type:1,constructed:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier",tagClass:y.Class.UNIVERSAL,type:y.Class.SEQUENCE,constructed:!0,optional:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"maskGenOid"},{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.params",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"rsapss.maskGenAlgorithm.AlgorithmIdentifier.params.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"maskGenHashOid"}]}]}]},{name:"rsapss.saltLength",tagClass:y.Class.CONTEXT_SPECIFIC,type:2,optional:!0,value:[{name:"rsapss.saltLength.saltLength",tagClass:y.Class.UNIVERSAL,type:y.Class.INTEGER,constructed:!1,capture:"saltLength"}]},{name:"rsapss.trailerField",tagClass:y.Class.CONTEXT_SPECIFIC,type:3,optional:!0,value:[{name:"rsapss.trailer.trailer",tagClass:y.Class.UNIVERSAL,type:y.Class.INTEGER,constructed:!1,capture:"trailer"}]}]},tk={name:"CertificationRequestInfo",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"certificationRequestInfo",value:[{name:"CertificationRequestInfo.integer",tagClass:y.Class.UNIVERSAL,type:y.Type.INTEGER,constructed:!1,capture:"certificationRequestInfoVersion"},{name:"CertificationRequestInfo.subject",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"certificationRequestInfoSubject"},Y_,{name:"CertificationRequestInfo.attributes",tagClass:y.Class.CONTEXT_SPECIFIC,type:0,constructed:!0,optional:!0,capture:"certificationRequestInfoAttributes",value:[{name:"CertificationRequestInfo.attributes",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"CertificationRequestInfo.attributes.type",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1},{name:"CertificationRequestInfo.attributes.value",tagClass:y.Class.UNIVERSAL,type:y.Type.SET,constructed:!0}]}]}]},rk={name:"CertificationRequest",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,captureAsn1:"csr",value:[tk,{name:"CertificationRequest.signatureAlgorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.SEQUENCE,constructed:!0,value:[{name:"CertificationRequest.signatureAlgorithm.algorithm",tagClass:y.Class.UNIVERSAL,type:y.Type.OID,constructed:!1,capture:"csrSignatureOid"},{name:"CertificationRequest.signatureAlgorithm.parameters",tagClass:y.Class.UNIVERSAL,optional:!0,captureAsn1:"csrSignatureParams"}]},{name:"CertificationRequest.signature",tagClass:y.Class.UNIVERSAL,type:y.Type.BITSTRING,constructed:!1,captureBitStringValue:"csrSignature"}]};G.RDNAttributesAsArray=function(t,e){for(var r=[],n,i,s,o=0;o<t.value.length;++o){n=t.value[o];for(var a=0;a<n.value.length;++a)s={},i=n.value[a],s.type=y.derToOid(i.value[0].value),s.value=i.value[1].value,s.valueTagClass=i.value[1].type,s.type in Ce&&(s.name=Ce[s.type],s.name in ft&&(s.shortName=ft[s.name])),e&&(e.update(s.type),e.update(s.value)),r.push(s)}return r};G.CRIAttributesAsArray=function(t){for(var e=[],r=0;r<t.length;++r)for(var n=t[r],i=y.derToOid(n.value[0].value),s=n.value[1].value,o=0;o<s.length;++o){var a={};if(a.type=i,a.value=s[o].value,a.valueTagClass=s[o].type,a.type in Ce&&(a.name=Ce[a.type],a.name in ft&&(a.shortName=ft[a.name])),a.type===Ce.extensionRequest){a.extensions=[];for(var c=0;c<a.value.length;++c)a.extensions.push(G.certificateExtensionFromAsn1(a.value[c]))}e.push(a)}return e};function li(t,e){typeof e=="string"&&(e={shortName:e});for(var r=null,n,i=0;r===null&&i<t.attributes.length;++i)n=t.attributes[i],(e.type&&e.type===n.type||e.name&&e.name===n.name||e.shortName&&e.shortName===n.shortName)&&(r=n);return r}var Nu=function(t,e,r){var n={};if(t!==Ce["RSASSA-PSS"])return n;r&&(n={hash:{algorithmOid:Ce.sha1},mgf:{algorithmOid:Ce.mgf1,hash:{algorithmOid:Ce.sha1}},saltLength:20});var i={},s=[];if(!y.validate(e,ek,i,s)){var o=new Error("Cannot read RSASSA-PSS parameter block.");throw o.errors=s,o}return i.hashOid!==void 0&&(n.hash=n.hash||{},n.hash.algorithmOid=y.derToOid(i.hashOid)),i.maskGenOid!==void 0&&(n.mgf=n.mgf||{},n.mgf.algorithmOid=y.derToOid(i.maskGenOid),n.mgf.hash=n.mgf.hash||{},n.mgf.hash.algorithmOid=y.derToOid(i.maskGenHashOid)),i.saltLength!==void 0&&(n.saltLength=i.saltLength.charCodeAt(0)),n},Ou=function(t){switch(Ce[t.signatureOid]){case"sha1WithRSAEncryption":case"sha1WithRSASignature":return oe.md.sha1.create();case"md5WithRSAEncryption":return oe.md.md5.create();case"sha256WithRSAEncryption":return oe.md.sha256.create();case"sha384WithRSAEncryption":return oe.md.sha384.create();case"sha512WithRSAEncryption":return oe.md.sha512.create();case"RSASSA-PSS":return oe.md.sha256.create();default:var e=new Error("Could not compute "+t.type+" digest. Unknown signature OID.");throw e.signatureOid=t.signatureOid,e}},Q_=function(t){var e=t.certificate,r;switch(e.signatureOid){case Ce.sha1WithRSAEncryption:case Ce.sha1WithRSASignature:break;case Ce["RSASSA-PSS"]:var n,i;if(n=Ce[e.signatureParameters.mgf.hash.algorithmOid],n===void 0||oe.md[n]===void 0){var s=new Error("Unsupported MGF hash function.");throw s.oid=e.signatureParameters.mgf.hash.algorithmOid,s.name=n,s}if(i=Ce[e.signatureParameters.mgf.algorithmOid],i===void 0||oe.mgf[i]===void 0){var s=new Error("Unsupported MGF function.");throw s.oid=e.signatureParameters.mgf.algorithmOid,s.name=i,s}if(i=oe.mgf[i].create(oe.md[n].create()),n=Ce[e.signatureParameters.hash.algorithmOid],n===void 0||oe.md[n]===void 0){var s=new Error("Unsupported RSASSA-PSS hash function.");throw s.oid=e.signatureParameters.hash.algorithmOid,s.name=n,s}r=oe.pss.create(oe.md[n].create(),i,e.signatureParameters.saltLength);break}return e.publicKey.verify(t.md.digest().getBytes(),t.signature,r)};G.certificateFromPem=function(t,e,r){var n=oe.pem.decode(t)[0];if(n.type!=="CERTIFICATE"&&n.type!=="X509 CERTIFICATE"&&n.type!=="TRUSTED CERTIFICATE"){var i=new Error('Could not convert certificate from PEM; PEM header type is not "CERTIFICATE", "X509 CERTIFICATE", or "TRUSTED CERTIFICATE".');throw i.headerType=n.type,i}if(n.procType&&n.procType.type==="ENCRYPTED")throw new Error("Could not convert certificate from PEM; PEM is encrypted.");var s=y.fromDer(n.body,r);return G.certificateFromAsn1(s,e)};G.certificateToPem=function(t,e){var r={type:"CERTIFICATE",body:y.toDer(G.certificateToAsn1(t)).getBytes()};return oe.pem.encode(r,{maxline:e})};G.publicKeyFromPem=function(t){var e=oe.pem.decode(t)[0];if(e.type!=="PUBLIC KEY"&&e.type!=="RSA PUBLIC KEY"){var r=new Error('Could not convert public key from PEM; PEM header type is not "PUBLIC KEY" or "RSA PUBLIC KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert public key from PEM; PEM is encrypted.");var n=y.fromDer(e.body);return G.publicKeyFromAsn1(n)};G.publicKeyToPem=function(t,e){var r={type:"PUBLIC KEY",body:y.toDer(G.publicKeyToAsn1(t)).getBytes()};return oe.pem.encode(r,{maxline:e})};G.publicKeyToRSAPublicKeyPem=function(t,e){var r={type:"RSA PUBLIC KEY",body:y.toDer(G.publicKeyToRSAPublicKey(t)).getBytes()};return oe.pem.encode(r,{maxline:e})};G.getPublicKeyFingerprint=function(t,e){e=e||{};var r=e.md||oe.md.sha1.create(),n=e.type||"RSAPublicKey",i;switch(n){case"RSAPublicKey":i=y.toDer(G.publicKeyToRSAPublicKey(t)).getBytes();break;case"SubjectPublicKeyInfo":i=y.toDer(G.publicKeyToAsn1(t)).getBytes();break;default:throw new Error('Unknown fingerprint type "'+e.type+'".')}r.start(),r.update(i);var s=r.digest();if(e.encoding==="hex"){var o=s.toHex();return e.delimiter?o.match(/.{2}/g).join(e.delimiter):o}else{if(e.encoding==="binary")return s.getBytes();if(e.encoding)throw new Error('Unknown encoding "'+e.encoding+'".')}return s};G.certificationRequestFromPem=function(t,e,r){var n=oe.pem.decode(t)[0];if(n.type!=="CERTIFICATE REQUEST"){var i=new Error('Could not convert certification request from PEM; PEM header type is not "CERTIFICATE REQUEST".');throw i.headerType=n.type,i}if(n.procType&&n.procType.type==="ENCRYPTED")throw new Error("Could not convert certification request from PEM; PEM is encrypted.");var s=y.fromDer(n.body,r);return G.certificationRequestFromAsn1(s,e)};G.certificationRequestToPem=function(t,e){var r={type:"CERTIFICATE REQUEST",body:y.toDer(G.certificationRequestToAsn1(t)).getBytes()};return oe.pem.encode(r,{maxline:e})};G.createCertificate=function(){var t={};return t.version=2,t.serialNumber="00",t.signatureOid=null,t.signature=null,t.siginfo={},t.siginfo.algorithmOid=null,t.validity={},t.validity.notBefore=new Date,t.validity.notAfter=new Date,t.issuer={},t.issuer.getField=function(e){return li(t.issuer,e)},t.issuer.addField=function(e){Ir([e]),t.issuer.attributes.push(e)},t.issuer.attributes=[],t.issuer.hash=null,t.subject={},t.subject.getField=function(e){return li(t.subject,e)},t.subject.addField=function(e){Ir([e]),t.subject.attributes.push(e)},t.subject.attributes=[],t.subject.hash=null,t.extensions=[],t.publicKey=null,t.md=null,t.setSubject=function(e,r){Ir(e),t.subject.attributes=e,delete t.subject.uniqueId,r&&(t.subject.uniqueId=r),t.subject.hash=null},t.setIssuer=function(e,r){Ir(e),t.issuer.attributes=e,delete t.issuer.uniqueId,r&&(t.issuer.uniqueId=r),t.issuer.hash=null},t.setExtensions=function(e){for(var r=0;r<e.length;++r)X_(e[r],{cert:t});t.extensions=e},t.getExtension=function(e){typeof e=="string"&&(e={name:e});for(var r=null,n,i=0;r===null&&i<t.extensions.length;++i)n=t.extensions[i],(e.id&&n.id===e.id||e.name&&n.name===e.name)&&(r=n);return r},t.sign=function(e,r){t.md=r||oe.md.sha1.create();var n=Ce[t.md.algorithm+"WithRSAEncryption"];if(!n){var i=new Error("Could not compute certificate digest. Unknown message digest algorithm OID.");throw i.algorithm=t.md.algorithm,i}t.signatureOid=t.siginfo.algorithmOid=n,t.tbsCertificate=G.getTBSCertificate(t);var s=y.toDer(t.tbsCertificate);t.md.update(s.getBytes()),t.signature=e.sign(t.md)},t.verify=function(e){var r=!1;if(!t.issued(e)){var n=e.issuer,i=t.subject,s=new Error("The parent certificate did not issue the given child certificate; the child certificate's issuer does not match the parent's subject.");throw s.expectedIssuer=i.attributes,s.actualIssuer=n.attributes,s}var o=e.md;if(o===null){o=Ou({signatureOid:e.signatureOid,type:"certificate"});var a=e.tbsCertificate||G.getTBSCertificate(e),c=y.toDer(a);o.update(c.getBytes())}return o!==null&&(r=Q_({certificate:t,md:o,signature:e.signature})),r},t.isIssuer=function(e){var r=!1,n=t.issuer,i=e.subject;if(n.hash&&i.hash)r=n.hash===i.hash;else if(n.attributes.length===i.attributes.length){r=!0;for(var s,o,a=0;r&&a<n.attributes.length;++a)s=n.attributes[a],o=i.attributes[a],(s.type!==o.type||s.value!==o.value)&&(r=!1)}return r},t.issued=function(e){return e.isIssuer(t)},t.generateSubjectKeyIdentifier=function(){return G.getPublicKeyFingerprint(t.publicKey,{type:"RSAPublicKey"})},t.verifySubjectKeyIdentifier=function(){for(var e=Ce.subjectKeyIdentifier,r=0;r<t.extensions.length;++r){var n=t.extensions[r];if(n.id===e){var i=t.generateSubjectKeyIdentifier().getBytes();return oe.util.hexToBytes(n.subjectKeyIdentifier)===i}}return!1},t};G.certificateFromAsn1=function(t,e){var r={},n=[];if(!y.validate(t,JL,r,n)){var i=new Error("Cannot read X.509 certificate. ASN.1 object is not an X509v3 Certificate.");throw i.errors=n,i}var s=y.derToOid(r.publicKeyOid);if(s!==G.oids.rsaEncryption)throw new Error("Cannot read public key. OID is not RSA.");var o=G.createCertificate();o.version=r.certVersion?r.certVersion.charCodeAt(0):0;var a=oe.util.createBuffer(r.certSerialNumber);o.serialNumber=a.toHex(),o.signatureOid=oe.asn1.derToOid(r.certSignatureOid),o.signatureParameters=Nu(o.signatureOid,r.certSignatureParams,!0),o.siginfo.algorithmOid=oe.asn1.derToOid(r.certinfoSignatureOid),o.siginfo.parameters=Nu(o.siginfo.algorithmOid,r.certinfoSignatureParams,!1),o.signature=r.certSignature;var c=[];if(r.certValidity1UTCTime!==void 0&&c.push(y.utcTimeToDate(r.certValidity1UTCTime)),r.certValidity2GeneralizedTime!==void 0&&c.push(y.generalizedTimeToDate(r.certValidity2GeneralizedTime)),r.certValidity3UTCTime!==void 0&&c.push(y.utcTimeToDate(r.certValidity3UTCTime)),r.certValidity4GeneralizedTime!==void 0&&c.push(y.generalizedTimeToDate(r.certValidity4GeneralizedTime)),c.length>2)throw new Error("Cannot read notBefore/notAfter validity times; more than two times were provided in the certificate.");if(c.length<2)throw new Error("Cannot read notBefore/notAfter validity times; they were not provided as either UTCTime or GeneralizedTime.");if(o.validity.notBefore=c[0],o.validity.notAfter=c[1],o.tbsCertificate=r.tbsCertificate,e){o.md=Ou({signatureOid:o.signatureOid,type:"certificate"});var u=y.toDer(o.tbsCertificate);o.md.update(u.getBytes())}var l=oe.md.sha1.create(),f=y.toDer(r.certIssuer);l.update(f.getBytes()),o.issuer.getField=function(h){return li(o.issuer,h)},o.issuer.addField=function(h){Ir([h]),o.issuer.attributes.push(h)},o.issuer.attributes=G.RDNAttributesAsArray(r.certIssuer),r.certIssuerUniqueId&&(o.issuer.uniqueId=r.certIssuerUniqueId),o.issuer.hash=l.digest().toHex();var d=oe.md.sha1.create(),p=y.toDer(r.certSubject);return d.update(p.getBytes()),o.subject.getField=function(h){return li(o.subject,h)},o.subject.addField=function(h){Ir([h]),o.subject.attributes.push(h)},o.subject.attributes=G.RDNAttributesAsArray(r.certSubject),r.certSubjectUniqueId&&(o.subject.uniqueId=r.certSubjectUniqueId),o.subject.hash=d.digest().toHex(),r.certExtensions?o.extensions=G.certificateExtensionsFromAsn1(r.certExtensions):o.extensions=[],o.publicKey=G.publicKeyFromAsn1(r.subjectPublicKeyInfo),o};G.certificateExtensionsFromAsn1=function(t){for(var e=[],r=0;r<t.value.length;++r)for(var n=t.value[r],i=0;i<n.value.length;++i)e.push(G.certificateExtensionFromAsn1(n.value[i]));return e};G.certificateExtensionFromAsn1=function(t){var e={};if(e.id=y.derToOid(t.value[0].value),e.critical=!1,t.value[1].type===y.Type.BOOLEAN?(e.critical=t.value[1].value.charCodeAt(0)!==0,e.value=t.value[2].value):e.value=t.value[1].value,e.id in Ce){if(e.name=Ce[e.id],e.name==="keyUsage"){var r=y.fromDer(e.value),n=0,i=0;r.value.length>1&&(n=r.value.charCodeAt(1),i=r.value.length>2?r.value.charCodeAt(2):0),e.digitalSignature=(n&128)==128,e.nonRepudiation=(n&64)==64,e.keyEncipherment=(n&32)==32,e.dataEncipherment=(n&16)==16,e.keyAgreement=(n&8)==8,e.keyCertSign=(n&4)==4,e.cRLSign=(n&2)==2,e.encipherOnly=(n&1)==1,e.decipherOnly=(i&128)==128}else if(e.name==="basicConstraints"){var r=y.fromDer(e.value);r.value.length>0&&r.value[0].type===y.Type.BOOLEAN?e.cA=r.value[0].value.charCodeAt(0)!==0:e.cA=!1;var s=null;r.value.length>0&&r.value[0].type===y.Type.INTEGER?s=r.value[0].value:r.value.length>1&&(s=r.value[1].value),s!==null&&(e.pathLenConstraint=y.derToInteger(s))}else if(e.name==="extKeyUsage")for(var r=y.fromDer(e.value),o=0;o<r.value.length;++o){var a=y.derToOid(r.value[o].value);a in Ce?e[Ce[a]]=!0:e[a]=!0}else if(e.name==="nsCertType"){var r=y.fromDer(e.value),n=0;r.value.length>1&&(n=r.value.charCodeAt(1)),e.client=(n&128)==128,e.server=(n&64)==64,e.email=(n&32)==32,e.objsign=(n&16)==16,e.reserved=(n&8)==8,e.sslCA=(n&4)==4,e.emailCA=(n&2)==2,e.objCA=(n&1)==1}else if(e.name==="subjectAltName"||e.name==="issuerAltName"){e.altNames=[];for(var c,r=y.fromDer(e.value),u=0;u<r.value.length;++u){c=r.value[u];var l={type:c.type,value:c.value};switch(e.altNames.push(l),c.type){case 1:case 2:case 6:break;case 7:l.ip=oe.util.bytesToIP(c.value);break;case 8:l.oid=y.derToOid(c.value);break;default:}}}else if(e.name==="subjectKeyIdentifier"){var r=y.fromDer(e.value);e.subjectKeyIdentifier=oe.util.bytesToHex(r.value)}}return e};G.certificationRequestFromAsn1=function(t,e){var r={},n=[];if(!y.validate(t,rk,r,n)){var i=new Error("Cannot read PKCS#10 certificate request. ASN.1 object is not a PKCS#10 CertificationRequest.");throw i.errors=n,i}var s=y.derToOid(r.publicKeyOid);if(s!==G.oids.rsaEncryption)throw new Error("Cannot read public key. OID is not RSA.");var o=G.createCertificationRequest();if(o.version=r.csrVersion?r.csrVersion.charCodeAt(0):0,o.signatureOid=oe.asn1.derToOid(r.csrSignatureOid),o.signatureParameters=Nu(o.signatureOid,r.csrSignatureParams,!0),o.siginfo.algorithmOid=oe.asn1.derToOid(r.csrSignatureOid),o.siginfo.parameters=Nu(o.siginfo.algorithmOid,r.csrSignatureParams,!1),o.signature=r.csrSignature,o.certificationRequestInfo=r.certificationRequestInfo,e){o.md=Ou({signatureOid:o.signatureOid,type:"certification request"});var a=y.toDer(o.certificationRequestInfo);o.md.update(a.getBytes())}var c=oe.md.sha1.create();return o.subject.getField=function(u){return li(o.subject,u)},o.subject.addField=function(u){Ir([u]),o.subject.attributes.push(u)},o.subject.attributes=G.RDNAttributesAsArray(r.certificationRequestInfoSubject,c),o.subject.hash=c.digest().toHex(),o.publicKey=G.publicKeyFromAsn1(r.subjectPublicKeyInfo),o.getAttribute=function(u){return li(o,u)},o.addAttribute=function(u){Ir([u]),o.attributes.push(u)},o.attributes=G.CRIAttributesAsArray(r.certificationRequestInfoAttributes||[]),o};G.createCertificationRequest=function(){var t={};return t.version=0,t.signatureOid=null,t.signature=null,t.siginfo={},t.siginfo.algorithmOid=null,t.subject={},t.subject.getField=function(e){return li(t.subject,e)},t.subject.addField=function(e){Ir([e]),t.subject.attributes.push(e)},t.subject.attributes=[],t.subject.hash=null,t.publicKey=null,t.attributes=[],t.getAttribute=function(e){return li(t,e)},t.addAttribute=function(e){Ir([e]),t.attributes.push(e)},t.md=null,t.setSubject=function(e){Ir(e),t.subject.attributes=e,t.subject.hash=null},t.setAttributes=function(e){Ir(e),t.attributes=e},t.sign=function(e,r){t.md=r||oe.md.sha1.create();var n=Ce[t.md.algorithm+"WithRSAEncryption"];if(!n){var i=new Error("Could not compute certification request digest. Unknown message digest algorithm OID.");throw i.algorithm=t.md.algorithm,i}t.signatureOid=t.siginfo.algorithmOid=n,t.certificationRequestInfo=G.getCertificationRequestInfo(t);var s=y.toDer(t.certificationRequestInfo);t.md.update(s.getBytes()),t.signature=e.sign(t.md)},t.verify=function(){var e=!1,r=t.md;if(r===null){r=Ou({signatureOid:t.signatureOid,type:"certification request"});var n=t.certificationRequestInfo||G.getCertificationRequestInfo(t),i=y.toDer(n);r.update(i.getBytes())}return r!==null&&(e=Q_({certificate:t,md:r,signature:t.signature})),e},t};function ho(t){for(var e=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]),r,n,i=t.attributes,s=0;s<i.length;++s){r=i[s];var o=r.value,a=y.Type.PRINTABLESTRING;"valueTagClass"in r&&(a=r.valueTagClass,a===y.Type.UTF8&&(o=oe.util.encodeUtf8(o))),n=y.create(y.Class.UNIVERSAL,y.Type.SET,!0,[y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(r.type).getBytes()),y.create(y.Class.UNIVERSAL,a,!1,o)])]),e.value.push(n)}return e}function Ir(t){for(var e,r=0;r<t.length;++r){if(e=t[r],typeof e.name=="undefined"&&(e.type&&e.type in G.oids?e.name=G.oids[e.type]:e.shortName&&e.shortName in ft&&(e.name=G.oids[ft[e.shortName]])),typeof e.type=="undefined")if(e.name&&e.name in G.oids)e.type=G.oids[e.name];else{var n=new Error("Attribute type not specified.");throw n.attribute=e,n}if(typeof e.shortName=="undefined"&&e.name&&e.name in ft&&(e.shortName=ft[e.name]),e.type===Ce.extensionRequest&&(e.valueConstructed=!0,e.valueTagClass=y.Type.SEQUENCE,!e.value&&e.extensions)){e.value=[];for(var i=0;i<e.extensions.length;++i)e.value.push(G.certificateExtensionToAsn1(X_(e.extensions[i])))}if(typeof e.value=="undefined"){var n=new Error("Attribute value not specified.");throw n.attribute=e,n}}}function X_(t,e){if(e=e||{},typeof t.name=="undefined"&&t.id&&t.id in G.oids&&(t.name=G.oids[t.id]),typeof t.id=="undefined")if(t.name&&t.name in G.oids)t.id=G.oids[t.name];else{var r=new Error("Extension ID not specified.");throw r.extension=t,r}if(typeof t.value!="undefined")return t;if(t.name==="keyUsage"){var n=0,i=0,s=0;t.digitalSignature&&(i|=128,n=7),t.nonRepudiation&&(i|=64,n=6),t.keyEncipherment&&(i|=32,n=5),t.dataEncipherment&&(i|=16,n=4),t.keyAgreement&&(i|=8,n=3),t.keyCertSign&&(i|=4,n=2),t.cRLSign&&(i|=2,n=1),t.encipherOnly&&(i|=1,n=0),t.decipherOnly&&(s|=128,n=7);var o=String.fromCharCode(n);s!==0?o+=String.fromCharCode(i)+String.fromCharCode(s):i!==0&&(o+=String.fromCharCode(i)),t.value=y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,o)}else if(t.name==="basicConstraints")t.value=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]),t.cA&&t.value.value.push(y.create(y.Class.UNIVERSAL,y.Type.BOOLEAN,!1,String.fromCharCode(255))),"pathLenConstraint"in t&&t.value.value.push(y.create(y.Class.UNIVERSAL,y.Type.INTEGER,!1,y.integerToDer(t.pathLenConstraint).getBytes()));else if(t.name==="extKeyUsage"){t.value=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);var a=t.value.value;for(var c in t)t[c]===!0&&(c in Ce?a.push(y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(Ce[c]).getBytes())):c.indexOf(".")!==-1&&a.push(y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(c).getBytes())))}else if(t.name==="nsCertType"){var n=0,i=0;t.client&&(i|=128,n=7),t.server&&(i|=64,n=6),t.email&&(i|=32,n=5),t.objsign&&(i|=16,n=4),t.reserved&&(i|=8,n=3),t.sslCA&&(i|=4,n=2),t.emailCA&&(i|=2,n=1),t.objCA&&(i|=1,n=0);var o=String.fromCharCode(n);i!==0&&(o+=String.fromCharCode(i)),t.value=y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,o)}else if(t.name==="subjectAltName"||t.name==="issuerAltName"){t.value=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);for(var u,l=0;l<t.altNames.length;++l){u=t.altNames[l];var o=u.value;if(u.type===7&&u.ip){if(o=oe.util.bytesFromIP(u.ip),o===null){var r=new Error('Extension "ip" value is not a valid IPv4 or IPv6 address.');throw r.extension=t,r}}else u.type===8&&(u.oid?o=y.oidToDer(y.oidToDer(u.oid)):o=y.oidToDer(o));t.value.value.push(y.create(y.Class.CONTEXT_SPECIFIC,u.type,!1,o))}}else if(t.name==="nsComment"&&e.cert){if(!/^[\x00-\x7F]*$/.test(t.comment)||t.comment.length<1||t.comment.length>128)throw new Error('Invalid "nsComment" content.');t.value=y.create(y.Class.UNIVERSAL,y.Type.IA5STRING,!1,t.comment)}else if(t.name==="subjectKeyIdentifier"&&e.cert){var f=e.cert.generateSubjectKeyIdentifier();t.subjectKeyIdentifier=f.toHex(),t.value=y.create(y.Class.UNIVERSAL,y.Type.OCTETSTRING,!1,f.getBytes())}else if(t.name==="authorityKeyIdentifier"&&e.cert){t.value=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);var a=t.value.value;if(t.keyIdentifier){var d=t.keyIdentifier===!0?e.cert.generateSubjectKeyIdentifier().getBytes():t.keyIdentifier;a.push(y.create(y.Class.CONTEXT_SPECIFIC,0,!1,d))}if(t.authorityCertIssuer){var p=[y.create(y.Class.CONTEXT_SPECIFIC,4,!0,[ho(t.authorityCertIssuer===!0?e.cert.issuer:t.authorityCertIssuer)])];a.push(y.create(y.Class.CONTEXT_SPECIFIC,1,!0,p))}if(t.serialNumber){var h=oe.util.hexToBytes(t.serialNumber===!0?e.cert.serialNumber:t.serialNumber);a.push(y.create(y.Class.CONTEXT_SPECIFIC,2,!1,h))}}else if(t.name==="cRLDistributionPoints"){t.value=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);for(var a=t.value.value,g=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]),m=y.create(y.Class.CONTEXT_SPECIFIC,0,!0,[]),u,l=0;l<t.altNames.length;++l){u=t.altNames[l];var o=u.value;if(u.type===7&&u.ip){if(o=oe.util.bytesFromIP(u.ip),o===null){var r=new Error('Extension "ip" value is not a valid IPv4 or IPv6 address.');throw r.extension=t,r}}else u.type===8&&(u.oid?o=y.oidToDer(y.oidToDer(u.oid)):o=y.oidToDer(o));m.value.push(y.create(y.Class.CONTEXT_SPECIFIC,u.type,!1,o))}g.value.push(y.create(y.Class.CONTEXT_SPECIFIC,0,!0,[m])),a.push(g)}if(typeof t.value=="undefined"){var r=new Error("Extension value not specified.");throw r.extension=t,r}return t}function vh(t,e){switch(t){case Ce["RSASSA-PSS"]:var r=[];return e.hash.algorithmOid!==void 0&&r.push(y.create(y.Class.CONTEXT_SPECIFIC,0,!0,[y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(e.hash.algorithmOid).getBytes()),y.create(y.Class.UNIVERSAL,y.Type.NULL,!1,"")])])),e.mgf.algorithmOid!==void 0&&r.push(y.create(y.Class.CONTEXT_SPECIFIC,1,!0,[y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(e.mgf.algorithmOid).getBytes()),y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(e.mgf.hash.algorithmOid).getBytes()),y.create(y.Class.UNIVERSAL,y.Type.NULL,!1,"")])])])),e.saltLength!==void 0&&r.push(y.create(y.Class.CONTEXT_SPECIFIC,2,!0,[y.create(y.Class.UNIVERSAL,y.Type.INTEGER,!1,y.integerToDer(e.saltLength).getBytes())])),y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,r);default:return y.create(y.Class.UNIVERSAL,y.Type.NULL,!1,"")}}function nk(t){var e=y.create(y.Class.CONTEXT_SPECIFIC,0,!0,[]);if(t.attributes.length===0)return e;for(var r=t.attributes,n=0;n<r.length;++n){var i=r[n],s=i.value,o=y.Type.UTF8;"valueTagClass"in i&&(o=i.valueTagClass),o===y.Type.UTF8&&(s=oe.util.encodeUtf8(s));var a=!1;"valueConstructed"in i&&(a=i.valueConstructed);var c=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(i.type).getBytes()),y.create(y.Class.UNIVERSAL,y.Type.SET,!0,[y.create(y.Class.UNIVERSAL,o,a,s)])]);e.value.push(c)}return e}var ik=new Date("1950-01-01T00:00:00Z"),sk=new Date("2050-01-01T00:00:00Z");function Z_(t){return t>=ik&&t<sk?y.create(y.Class.UNIVERSAL,y.Type.UTCTIME,!1,y.dateToUtcTime(t)):y.create(y.Class.UNIVERSAL,y.Type.GENERALIZEDTIME,!1,y.dateToGeneralizedTime(t))}G.getTBSCertificate=function(t){var e=Z_(t.validity.notBefore),r=Z_(t.validity.notAfter),n=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.CONTEXT_SPECIFIC,0,!0,[y.create(y.Class.UNIVERSAL,y.Type.INTEGER,!1,y.integerToDer(t.version).getBytes())]),y.create(y.Class.UNIVERSAL,y.Type.INTEGER,!1,oe.util.hexToBytes(t.serialNumber)),y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(t.siginfo.algorithmOid).getBytes()),vh(t.siginfo.algorithmOid,t.siginfo.parameters)]),ho(t.issuer),y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[e,r]),ho(t.subject),G.publicKeyToAsn1(t.publicKey)]);return t.issuer.uniqueId&&n.value.push(y.create(y.Class.CONTEXT_SPECIFIC,1,!0,[y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,String.fromCharCode(0)+t.issuer.uniqueId)])),t.subject.uniqueId&&n.value.push(y.create(y.Class.CONTEXT_SPECIFIC,2,!0,[y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,String.fromCharCode(0)+t.subject.uniqueId)])),t.extensions.length>0&&n.value.push(G.certificateExtensionsToAsn1(t.extensions)),n};G.getCertificationRequestInfo=function(t){var e=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.INTEGER,!1,y.integerToDer(t.version).getBytes()),ho(t.subject),G.publicKeyToAsn1(t.publicKey),nk(t)]);return e};G.distinguishedNameToAsn1=function(t){return ho(t)};G.certificateToAsn1=function(t){var e=t.tbsCertificate||G.getTBSCertificate(t);return y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[e,y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(t.signatureOid).getBytes()),vh(t.signatureOid,t.signatureParameters)]),y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,String.fromCharCode(0)+t.signature)])};G.certificateExtensionsToAsn1=function(t){var e=y.create(y.Class.CONTEXT_SPECIFIC,3,!0,[]),r=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);e.value.push(r);for(var n=0;n<t.length;++n)r.value.push(G.certificateExtensionToAsn1(t[n]));return e};G.certificateExtensionToAsn1=function(t){var e=y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[]);e.value.push(y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(t.id).getBytes())),t.critical&&e.value.push(y.create(y.Class.UNIVERSAL,y.Type.BOOLEAN,!1,String.fromCharCode(255)));var r=t.value;return typeof t.value!="string"&&(r=y.toDer(r).getBytes()),e.value.push(y.create(y.Class.UNIVERSAL,y.Type.OCTETSTRING,!1,r)),e};G.certificationRequestToAsn1=function(t){var e=t.certificationRequestInfo||G.getCertificationRequestInfo(t);return y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[e,y.create(y.Class.UNIVERSAL,y.Type.SEQUENCE,!0,[y.create(y.Class.UNIVERSAL,y.Type.OID,!1,y.oidToDer(t.signatureOid).getBytes()),vh(t.signatureOid,t.signatureParameters)]),y.create(y.Class.UNIVERSAL,y.Type.BITSTRING,!1,String.fromCharCode(0)+t.signature)])};G.createCaStore=function(t){var e={certs:{}};e.getIssuer=function(o){var a=r(o.issuer);return a},e.addCertificate=function(o){if(typeof o=="string"&&(o=oe.pki.certificateFromPem(o)),n(o.subject),!e.hasCertificate(o))if(o.subject.hash in e.certs){var a=e.certs[o.subject.hash];oe.util.isArray(a)||(a=[a]),a.push(o),e.certs[o.subject.hash]=a}else e.certs[o.subject.hash]=o},e.hasCertificate=function(o){typeof o=="string"&&(o=oe.pki.certificateFromPem(o));var a=r(o.subject);if(!a)return!1;oe.util.isArray(a)||(a=[a]);for(var c=y.toDer(G.certificateToAsn1(o)).getBytes(),u=0;u<a.length;++u){var l=y.toDer(G.certificateToAsn1(a[u])).getBytes();if(c===l)return!0}return!1},e.listAllCertificates=function(){var o=[];for(var a in e.certs)if(e.certs.hasOwnProperty(a)){var c=e.certs[a];if(!oe.util.isArray(c))o.push(c);else for(var u=0;u<c.length;++u)o.push(c[u])}return o},e.removeCertificate=function(o){var a;if(typeof o=="string"&&(o=oe.pki.certificateFromPem(o)),n(o.subject),!e.hasCertificate(o))return null;var c=r(o.subject);if(!oe.util.isArray(c))return a=e.certs[o.subject.hash],delete e.certs[o.subject.hash],a;for(var u=y.toDer(G.certificateToAsn1(o)).getBytes(),l=0;l<c.length;++l){var f=y.toDer(G.certificateToAsn1(c[l])).getBytes();u===f&&(a=c[l],c.splice(l,1))}return c.length===0&&delete e.certs[o.subject.hash],a};function r(o){return n(o),e.certs[o.hash]||null}function n(o){if(!o.hash){var a=oe.md.sha1.create();o.attributes=G.RDNAttributesAsArray(ho(o),a),o.hash=a.digest().toHex()}}if(t)for(var i=0;i<t.length;++i){var s=t[i];e.addCertificate(s)}return e};G.certificateError={bad_certificate:"forge.pki.BadCertificate",unsupported_certificate:"forge.pki.UnsupportedCertificate",certificate_revoked:"forge.pki.CertificateRevoked",certificate_expired:"forge.pki.CertificateExpired",certificate_unknown:"forge.pki.CertificateUnknown",unknown_ca:"forge.pki.UnknownCertificateAuthority"};G.verifyCertificateChain=function(t,e,r){typeof r=="function"&&(r={verify:r}),r=r||{},e=e.slice(0);var n=e.slice(0),i=r.validityCheckDate;typeof i=="undefined"&&(i=new Date);var s=!0,o=null,a=0;do{var c=e.shift(),u=null,l=!1;if(i&&(i<c.validity.notBefore||i>c.validity.notAfter)&&(o={message:"Certificate is not valid yet or has expired.",error:G.certificateError.certificate_expired,notBefore:c.validity.notBefore,notAfter:c.validity.notAfter,now:i}),o===null){if(u=e[0]||t.getIssuer(c),u===null&&c.isIssuer(c)&&(l=!0,u=c),u){var f=u;oe.util.isArray(f)||(f=[f]);for(var d=!1;!d&&f.length>0;){u=f.shift();try{d=u.verify(c)}catch(q){}}d||(o={message:"Certificate signature is invalid.",error:G.certificateError.bad_certificate})}o===null&&(!u||l)&&!t.hasCertificate(c)&&(o={message:"Certificate is not trusted.",error:G.certificateError.unknown_ca})}if(o===null&&u&&!c.isIssuer(u)&&(o={message:"Certificate issuer is invalid.",error:G.certificateError.bad_certificate}),o===null)for(var p={keyUsage:!0,basicConstraints:!0},h=0;o===null&&h<c.extensions.length;++h){var g=c.extensions[h];g.critical&&!(g.name in p)&&(o={message:"Certificate has an unsupported critical extension.",error:G.certificateError.unsupported_certificate})}if(o===null&&(!s||e.length===0&&(!u||l))){var m=c.getExtension("basicConstraints"),S=c.getExtension("keyUsage");if(S!==null&&(!S.keyCertSign||m===null)&&(o={message:"Certificate keyUsage or basicConstraints conflict or indicate that the certificate is not a CA. If the certificate is the only one in the chain or isn't the first then the certificate must be a valid CA.",error:G.certificateError.bad_certificate}),o===null&&m!==null&&!m.cA&&(o={message:"Certificate basicConstraints indicates the certificate is not a CA.",error:G.certificateError.bad_certificate}),o===null&&S!==null&&"pathLenConstraint"in m){var R=a-1;R>m.pathLenConstraint&&(o={message:"Certificate basicConstraints pathLenConstraint violated.",error:G.certificateError.bad_certificate})}}var L=o===null?!0:o.error,H=r.verify?r.verify(L,a,n):L;if(H===!0)o=null;else throw L===!0&&(o={message:"The application rejected the certificate.",error:G.certificateError.bad_certificate}),(H||H===0)&&(typeof H=="object"&&!oe.util.isArray(H)?(H.message&&(o.message=H.message),H.error&&(o.error=H.error)):typeof H=="string"&&(o.error=H)),o;s=!1,++a}while(e.length>0);return!0}});var rS=w((XK,tS)=>{var Y=be();Is();jn();yc();xs();bc();V_();Ci();$e();bh();var T=Y.asn1,zt=tS.exports=Y.pkcs7=Y.pkcs7||{};zt.messageFromPem=function(t){var e=Y.pem.decode(t)[0];if(e.type!=="PKCS7"){var r=new Error('Could not convert PKCS#7 message from PEM; PEM header type is not "PKCS#7".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert PKCS#7 message from PEM; PEM is encrypted.");var n=T.fromDer(e.body);return zt.messageFromAsn1(n)};zt.messageToPem=function(t,e){var r={type:"PKCS7",body:T.toDer(t.toAsn1()).getBytes()};return Y.pem.encode(r,{maxline:e})};zt.messageFromAsn1=function(t){var e={},r=[];if(!T.validate(t,zt.asn1.contentInfoValidator,e,r)){var n=new Error("Cannot read PKCS#7 message. ASN.1 object is not an PKCS#7 ContentInfo.");throw n.errors=r,n}var i=T.derToOid(e.contentType),s;switch(i){case Y.pki.oids.envelopedData:s=zt.createEnvelopedData();break;case Y.pki.oids.encryptedData:s=zt.createEncryptedData();break;case Y.pki.oids.signedData:s=zt.createSignedData();break;default:throw new Error("Cannot read PKCS#7 message. ContentType with OID "+i+" is not (yet) supported.")}return s.fromAsn1(e.content.value[0]),s};zt.createSignedData=function(){var t=null;return t={type:Y.pki.oids.signedData,version:1,certificates:[],crls:[],signers:[],digestAlgorithmIdentifiers:[],contentInfo:null,signerInfos:[],fromAsn1:function(n){if(wh(t,n,zt.asn1.signedDataValidator),t.certificates=[],t.crls=[],t.digestAlgorithmIdentifiers=[],t.contentInfo=null,t.signerInfos=[],t.rawCapture.certificates)for(var i=t.rawCapture.certificates.value,s=0;s<i.length;++s)t.certificates.push(Y.pki.certificateFromAsn1(i[s]))},toAsn1:function(){t.contentInfo||t.sign();for(var n=[],i=0;i<t.certificates.length;++i)n.push(Y.pki.certificateToAsn1(t.certificates[i]));var s=[],o=T.create(T.Class.CONTEXT_SPECIFIC,0,!0,[T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,T.integerToDer(t.version).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SET,!0,t.digestAlgorithmIdentifiers),t.contentInfo])]);return n.length>0&&o.value[0].value.push(T.create(T.Class.CONTEXT_SPECIFIC,0,!0,n)),s.length>0&&o.value[0].value.push(T.create(T.Class.CONTEXT_SPECIFIC,1,!0,s)),o.value[0].value.push(T.create(T.Class.UNIVERSAL,T.Type.SET,!0,t.signerInfos)),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.type).getBytes()),o])},addSigner:function(n){var i=n.issuer,s=n.serialNumber;if(n.certificate){var o=n.certificate;typeof o=="string"&&(o=Y.pki.certificateFromPem(o)),i=o.issuer.attributes,s=o.serialNumber}var a=n.key;if(!a)throw new Error("Could not add PKCS#7 signer; no private key specified.");typeof a=="string"&&(a=Y.pki.privateKeyFromPem(a));var c=n.digestAlgorithm||Y.pki.oids.sha1;switch(c){case Y.pki.oids.sha1:case Y.pki.oids.sha256:case Y.pki.oids.sha384:case Y.pki.oids.sha512:case Y.pki.oids.md5:break;default:throw new Error("Could not add PKCS#7 signer; unknown message digest algorithm: "+c)}var u=n.authenticatedAttributes||[];if(u.length>0){for(var l=!1,f=!1,d=0;d<u.length;++d){var p=u[d];if(!l&&p.type===Y.pki.oids.contentType){if(l=!0,f)break;continue}if(!f&&p.type===Y.pki.oids.messageDigest){if(f=!0,l)break;continue}}if(!l||!f)throw new Error("Invalid signer.authenticatedAttributes. If signer.authenticatedAttributes is specified, then it must contain at least two attributes, PKCS #9 content-type and PKCS #9 message-digest.")}t.signers.push({key:a,version:1,issuer:i,serialNumber:s,digestAlgorithm:c,signatureAlgorithm:Y.pki.oids.rsaEncryption,signature:null,authenticatedAttributes:u,unauthenticatedAttributes:[]})},sign:function(n){if(n=n||{},(typeof t.content!="object"||t.contentInfo===null)&&(t.contentInfo=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(Y.pki.oids.data).getBytes())]),"content"in t)){var i;t.content instanceof Y.util.ByteBuffer?i=t.content.bytes():typeof t.content=="string"&&(i=Y.util.encodeUtf8(t.content)),n.detached?t.detachedContent=T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,i):t.contentInfo.value.push(T.create(T.Class.CONTEXT_SPECIFIC,0,!0,[T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,i)]))}if(t.signers.length!==0){var s=e();r(s)}},verify:function(){throw new Error("PKCS#7 signature verification not yet implemented.")},addCertificate:function(n){typeof n=="string"&&(n=Y.pki.certificateFromPem(n)),t.certificates.push(n)},addCertificateRevokationList:function(n){throw new Error("PKCS#7 CRL support not yet implemented.")}},t;function e(){for(var n={},i=0;i<t.signers.length;++i){var s=t.signers[i],o=s.digestAlgorithm;o in n||(n[o]=Y.md[Y.pki.oids[o]].create()),s.authenticatedAttributes.length===0?s.md=n[o]:s.md=Y.md[Y.pki.oids[o]].create()}t.digestAlgorithmIdentifiers=[];for(var o in n)t.digestAlgorithmIdentifiers.push(T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(o).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")]));return n}function r(n){var i;if(t.detachedContent?i=t.detachedContent:(i=t.contentInfo.value[1],i=i.value[0]),!i)throw new Error("Could not sign PKCS#7 message; there is no content to sign.");var s=T.derToOid(t.contentInfo.value[0].value),o=T.toDer(i);o.getByte(),T.getBerValueLength(o),o=o.getBytes();for(var a in n)n[a].start().update(o);for(var c=new Date,u=0;u<t.signers.length;++u){var l=t.signers[u];if(l.authenticatedAttributes.length===0){if(s!==Y.pki.oids.data)throw new Error("Invalid signer; authenticatedAttributes must be present when the ContentInfo content type is not PKCS#7 Data.")}else{l.authenticatedAttributesAsn1=T.create(T.Class.CONTEXT_SPECIFIC,0,!0,[]);for(var f=T.create(T.Class.UNIVERSAL,T.Type.SET,!0,[]),d=0;d<l.authenticatedAttributes.length;++d){var p=l.authenticatedAttributes[d];p.type===Y.pki.oids.messageDigest?p.value=n[l.digestAlgorithm].digest():p.type===Y.pki.oids.signingTime&&(p.value||(p.value=c)),f.value.push(Eh(p)),l.authenticatedAttributesAsn1.value.push(Eh(p))}o=T.toDer(f).getBytes(),l.md.start().update(o)}l.signature=l.key.sign(l.md,"RSASSA-PKCS1-V1_5")}t.signerInfos=fk(t.signers)}};zt.createEncryptedData=function(){var t=null;return t={type:Y.pki.oids.encryptedData,version:0,encryptedContent:{algorithm:Y.pki.oids["aes256-CBC"]},fromAsn1:function(e){wh(t,e,zt.asn1.encryptedDataValidator)},decrypt:function(e){e!==void 0&&(t.encryptedContent.key=e),eS(t)}},t};zt.createEnvelopedData=function(){var t=null;return t={type:Y.pki.oids.envelopedData,version:0,recipients:[],encryptedContent:{algorithm:Y.pki.oids["aes256-CBC"]},fromAsn1:function(e){var r=wh(t,e,zt.asn1.envelopedDataValidator);t.recipients=ck(r.recipientInfos.value)},toAsn1:function(){return T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.type).getBytes()),T.create(T.Class.CONTEXT_SPECIFIC,0,!0,[T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,T.integerToDer(t.version).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SET,!0,uk(t.recipients)),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,dk(t.encryptedContent))])])])},findRecipient:function(e){for(var r=e.issuer.attributes,n=0;n<t.recipients.length;++n){var i=t.recipients[n],s=i.issuer;if(i.serialNumber===e.serialNumber&&s.length===r.length){for(var o=!0,a=0;a<r.length;++a)if(s[a].type!==r[a].type||s[a].value!==r[a].value){o=!1;break}if(o)return i}}return null},decrypt:function(e,r){if(t.encryptedContent.key===void 0&&e!==void 0&&r!==void 0)switch(e.encryptedContent.algorithm){case Y.pki.oids.rsaEncryption:case Y.pki.oids.desCBC:var n=r.decrypt(e.encryptedContent.content);t.encryptedContent.key=Y.util.createBuffer(n);break;default:throw new Error("Unsupported asymmetric cipher, OID "+e.encryptedContent.algorithm)}eS(t)},addRecipient:function(e){t.recipients.push({version:0,issuer:e.issuer.attributes,serialNumber:e.serialNumber,encryptedContent:{algorithm:Y.pki.oids.rsaEncryption,key:e.publicKey}})},encrypt:function(e,r){if(t.encryptedContent.content===void 0){r=r||t.encryptedContent.algorithm,e=e||t.encryptedContent.key;var n,i,s;switch(r){case Y.pki.oids["aes128-CBC"]:n=16,i=16,s=Y.aes.createEncryptionCipher;break;case Y.pki.oids["aes192-CBC"]:n=24,i=16,s=Y.aes.createEncryptionCipher;break;case Y.pki.oids["aes256-CBC"]:n=32,i=16,s=Y.aes.createEncryptionCipher;break;case Y.pki.oids["des-EDE3-CBC"]:n=24,i=8,s=Y.des.createEncryptionCipher;break;default:throw new Error("Unsupported symmetric cipher, OID "+r)}if(e===void 0)e=Y.util.createBuffer(Y.random.getBytes(n));else if(e.length()!=n)throw new Error("Symmetric key has wrong length; got "+e.length()+" bytes, expected "+n+".");t.encryptedContent.algorithm=r,t.encryptedContent.key=e,t.encryptedContent.parameter=Y.util.createBuffer(Y.random.getBytes(i));var o=s(e);if(o.start(t.encryptedContent.parameter.copy()),o.update(t.content),!o.finish())throw new Error("Symmetric encryption failed.");t.encryptedContent.content=o.output}for(var a=0;a<t.recipients.length;++a){var c=t.recipients[a];if(c.encryptedContent.content===void 0)switch(c.encryptedContent.algorithm){case Y.pki.oids.rsaEncryption:c.encryptedContent.content=c.encryptedContent.key.encrypt(t.encryptedContent.key.data);break;default:throw new Error("Unsupported asymmetric cipher, OID "+c.encryptedContent.algorithm)}}}},t};function ok(t){var e={},r=[];if(!T.validate(t,zt.asn1.recipientInfoValidator,e,r)){var n=new Error("Cannot read PKCS#7 RecipientInfo. ASN.1 object is not an PKCS#7 RecipientInfo.");throw n.errors=r,n}return{version:e.version.charCodeAt(0),issuer:Y.pki.RDNAttributesAsArray(e.issuer),serialNumber:Y.util.createBuffer(e.serial).toHex(),encryptedContent:{algorithm:T.derToOid(e.encAlgorithm),parameter:e.encParameter?e.encParameter.value:void 0,content:e.encKey}}}function ak(t){return T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,T.integerToDer(t.version).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[Y.pki.distinguishedNameToAsn1({attributes:t.issuer}),T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,Y.util.hexToBytes(t.serialNumber))]),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.encryptedContent.algorithm).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")]),T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t.encryptedContent.content)])}function ck(t){for(var e=[],r=0;r<t.length;++r)e.push(ok(t[r]));return e}function uk(t){for(var e=[],r=0;r<t.length;++r)e.push(ak(t[r]));return e}function lk(t){var e=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,T.integerToDer(t.version).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[Y.pki.distinguishedNameToAsn1({attributes:t.issuer}),T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,Y.util.hexToBytes(t.serialNumber))]),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.digestAlgorithm).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")])]);if(t.authenticatedAttributesAsn1&&e.value.push(t.authenticatedAttributesAsn1),e.value.push(T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.signatureAlgorithm).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")])),e.value.push(T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t.signature)),t.unauthenticatedAttributes.length>0){for(var r=T.create(T.Class.CONTEXT_SPECIFIC,1,!0,[]),n=0;n<t.unauthenticatedAttributes.length;++n){var i=t.unauthenticatedAttributes[n];r.values.push(Eh(i))}e.value.push(r)}return e}function fk(t){for(var e=[],r=0;r<t.length;++r)e.push(lk(t[r]));return e}function Eh(t){var e;if(t.type===Y.pki.oids.contentType)e=T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.value).getBytes());else if(t.type===Y.pki.oids.messageDigest)e=T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t.value.bytes());else if(t.type===Y.pki.oids.signingTime){var r=new Date("1950-01-01T00:00:00Z"),n=new Date("2050-01-01T00:00:00Z"),i=t.value;if(typeof i=="string"){var s=Date.parse(i);isNaN(s)?i.length===13?i=T.utcTimeToDate(i):i=T.generalizedTimeToDate(i):i=new Date(s)}i>=r&&i<n?e=T.create(T.Class.UNIVERSAL,T.Type.UTCTIME,!1,T.dateToUtcTime(i)):e=T.create(T.Class.UNIVERSAL,T.Type.GENERALIZEDTIME,!1,T.dateToGeneralizedTime(i))}return T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.type).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SET,!0,[e])])}function dk(t){return[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(Y.pki.oids.data).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(t.algorithm).getBytes()),t.parameter?T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t.parameter.getBytes()):void 0]),T.create(T.Class.CONTEXT_SPECIFIC,0,!0,[T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t.content.getBytes())])]}function wh(t,e,r){var n={},i=[];if(!T.validate(e,r,n,i)){var s=new Error("Cannot read PKCS#7 message. ASN.1 object is not a supported PKCS#7 message.");throw s.errors=s,s}var o=T.derToOid(n.contentType);if(o!==Y.pki.oids.data)throw new Error("Unsupported PKCS#7 message. Only wrapped ContentType Data supported.");if(n.encryptedContent){var a="";if(Y.util.isArray(n.encryptedContent))for(var c=0;c<n.encryptedContent.length;++c){if(n.encryptedContent[c].type!==T.Type.OCTETSTRING)throw new Error("Malformed PKCS#7 message, expecting encrypted content constructed of only OCTET STRING objects.");a+=n.encryptedContent[c].value}else a=n.encryptedContent;t.encryptedContent={algorithm:T.derToOid(n.encAlgorithm),parameter:Y.util.createBuffer(n.encParameter.value),content:Y.util.createBuffer(a)}}if(n.content){var a="";if(Y.util.isArray(n.content))for(var c=0;c<n.content.length;++c){if(n.content[c].type!==T.Type.OCTETSTRING)throw new Error("Malformed PKCS#7 message, expecting content constructed of only OCTET STRING objects.");a+=n.content[c].value}else a=n.content;t.content=Y.util.createBuffer(a)}return t.version=n.version.charCodeAt(0),t.rawCapture=n,n}function eS(t){if(t.encryptedContent.key===void 0)throw new Error("Symmetric key not available.");if(t.content===void 0){var e;switch(t.encryptedContent.algorithm){case Y.pki.oids["aes128-CBC"]:case Y.pki.oids["aes192-CBC"]:case Y.pki.oids["aes256-CBC"]:e=Y.aes.createDecryptionCipher(t.encryptedContent.key);break;case Y.pki.oids.desCBC:case Y.pki.oids["des-EDE3-CBC"]:e=Y.des.createDecryptionCipher(t.encryptedContent.key);break;default:throw new Error("Unsupported symmetric cipher, OID "+t.encryptedContent.algorithm)}if(e.start(t.encryptedContent.parameter),e.update(t.encryptedContent.content),!e.finish())throw new Error("Symmetric decryption failed.");t.content=e.output}}});var sS=w((ZK,iS)=>{"use strict";bh();var hk=be(),nS=hk.pki,pk=(t,e)=>{let r=nS.setRsaPublicKey(e.n,e.e),n=nS.createCertificate();n.publicKey=r,n.serialNumber="01",n.validity.notBefore=new Date,n.validity.notAfter=new Date,n.validity.notAfter.setFullYear(n.validity.notBefore.getFullYear()+10);let i=[{name:"organizationName",value:"ipfs"},{shortName:"OU",value:"keystore"},{name:"commonName",value:t.id}];return n.setSubject(i),n.setIssuer(i),n.setExtensions([{name:"basicConstraints",cA:!0},{name:"keyUsage",keyCertSign:!0,digitalSignature:!0,nonRepudiation:!0,keyEncipherment:!0,dataEncipherment:!0},{name:"extKeyUsage",serverAuth:!0,clientAuth:!0,codeSigning:!0,emailProtection:!0,timeStamping:!0},{name:"nsCertType",client:!0,server:!0,email:!0,objsign:!0,sslCA:!0,emailCA:!0,objCA:!0}]),n.sign(e),n};async function yk(t,e){let r=t.map(e),i=(await Promise.all(r)).findIndex(s=>s);return t[i]}iS.exports={certificateForKey:pk,findAsync:yk}});var uS=w((JK,cS)=>{"use strict";rS();Xl();var fi=be(),{certificateForKey:gk,findAsync:mk}=sS(),po=de(),{fromString:oS}=(It(),Nt),{toString:vk}=(Tt(),Ot),{codes:yo}=je(),_h=new WeakMap,aS=class{constructor(e,r){if(!e)throw po(new Error("keychain is required"),yo.ERR_KEYCHAIN_REQUIRED);this.keychain=e,_h.set(this,{dek:r})}async encrypt(e,r){if(!(r instanceof Uint8Array))throw po(new Error("Plain data must be a Uint8Array"),yo.ERR_INVALID_PARAMETERS);let n=await this.keychain.findKeyByName(e),i=await this.keychain._getPrivateKey(e),s=_h.get(this).dek,o=fi.pki.decryptRsaPrivateKey(i,s),a=await gk(n,o),c=fi.pkcs7.createEnvelopedData();c.addRecipient(a),c.content=fi.util.createBuffer(r),c.encrypt();let u=fi.asn1.toDer(c.toAsn1()).getBytes();return oS(u,"ascii")}async decrypt(e){if(!(e instanceof Uint8Array))throw po(new Error("CMS data is required"),yo.ERR_INVALID_PARAMETERS);let r;try{let u=fi.util.createBuffer(vk(e,"ascii")),l=fi.asn1.fromDer(u);r=fi.pkcs7.messageFromAsn1(l)}catch(u){throw po(new Error("Invalid CMS: "+u.message),yo.ERR_INVALID_CMS)}let n=r.recipients.filter(u=>u.issuer.find(l=>l.shortName==="O"&&l.value==="ipfs")).filter(u=>u.issuer.find(l=>l.shortName==="CN")).map(u=>({recipient:u,keyId:u.issuer.find(l=>l.shortName==="CN").value})),i=await mk(n,async u=>{try{if(await this.keychain.findKeyById(u.keyId))return!0}catch(l){return!1}return!1});if(!i){let u=n.map(l=>l.keyId);throw po(new Error("Decryption needs one of the key(s): "+u.join(", ")),yo.ERR_MISSING_KEYS,{missingKeys:u})}let s=await this.keychain.findKeyById(i.keyId);if(!s)throw po(new Error("No key available to decrypto"),yo.ERR_NO_KEY);let o=await this.keychain._getPrivateKey(s.name),a=_h.get(this).dek,c=fi.pki.decryptRsaPrivateKey(o,a);return r.decrypt(i.recipient,c),oS(r.content.getBytes(),"ascii")}};cS.exports=aS});var gS=w((eV,yS)=>{"use strict";var lS=Te(),fS=Object.assign(lS("libp2p:keychain"),{error:lS("libp2p:keychain:err")}),bk=C_(),Ek=Hs(),ns=Bu(),{Key:dS}=(Jc(),rd),wk=uS(),et=de(),{codes:tt}=je(),{toString:is}=(Tt(),Ot),{fromString:Pn}=(It(),Nt);hf();var _k="/pkcs8/",hS="/info/",di=new WeakMap,ss={minKeyLength:112/8,minSaltLength:128/8,minIterationCount:1e3},Sh={dek:{keyLength:512/8,iterationCount:1e4,salt:"you should override this value with a crypto secure random number",hash:"sha2-512"}};function Nn(t){return!t||typeof t!="string"?!1:t===bk(t.trim())}async function Le(t){let e=200,r=1e3,n=Math.random()*(r-e)+e;throw await new Promise(i=>setTimeout(i,n)),t}function fn(t){return new dS(_k+t)}function hi(t){return new dS(hS+t)}var pS=class{constructor(e,r){if(!e)throw new Error("store is required");if(this.store=e,this.opts=Ek(Sh,r),this.opts.pass&&this.opts.pass.length<20)throw new Error("pass must be least 20 characters");if(this.opts.dek.keyLength<ss.minKeyLength)throw new Error(`dek.keyLength must be least ${ss.minKeyLength} bytes`);if(this.opts.dek.salt.length<ss.minSaltLength)throw new Error(`dek.saltLength must be least ${ss.minSaltLength} bytes`);if(this.opts.dek.iterationCount<ss.minIterationCount)throw new Error(`dek.iterationCount must be least ${ss.minIterationCount}`);let n=this.opts.pass?ns.pbkdf2(this.opts.pass,this.opts.dek.salt,this.opts.dek.iterationCount,this.opts.dek.keyLength,this.opts.dek.hash):"";di.set(this,{dek:n})}get cms(){return new wk(this,di.get(this).dek)}static generateOptions(){let e=Object.assign({},Sh),r=Math.ceil(ss.minSaltLength/3)*3;return e.dek.salt=is(ns.randomBytes(r),"base64"),e}static get options(){return Sh}async createKey(e,r,n=2048){let i=this;if(!Nn(e)||e==="self")return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));if(typeof r!="string")return Le(et(new Error(`Invalid key type '${r}'`),tt.ERR_INVALID_KEY_TYPE));let s=fn(e);if(await i.store.has(s))return Le(et(new Error(`Key '${e}' already exists`),tt.ERR_KEY_ALREADY_EXISTS));switch(r.toLowerCase()){case"rsa":if(!Number.isSafeInteger(n)||n<2048)return Le(et(new Error(`Invalid RSA key size ${n}`),tt.ERR_INVALID_KEY_SIZE));break;default:break}let a;try{let c=await ns.keys.generateKeyPair(r,n),u=await c.id(),l=di.get(this).dek,f=await c.export(l);a={name:e,id:u};let d=i.store.batch();d.put(s,Pn(f)),d.put(hi(e),Pn(JSON.stringify(a))),await d.commit()}catch(c){return Le(c)}return a}async listKeys(){let e=this,r={prefix:hS},n=[];for await(let i of e.store.query(r))n.push(JSON.parse(is(i.value)));return n}async findKeyById(e){try{return(await this.listKeys()).find(n=>n.id===e)}catch(r){return Le(r)}}async findKeyByName(e){if(!Nn(e))return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));let r=hi(e);try{let n=await this.store.get(r);return JSON.parse(is(n))}catch(n){return Le(et(new Error(`Key '${e}' does not exist. ${n.message}`),tt.ERR_KEY_NOT_FOUND))}}async removeKey(e){let r=this;if(!Nn(e)||e==="self")return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));let n=fn(e),i=await r.findKeyByName(e),s=r.store.batch();return s.delete(n),s.delete(hi(e)),await s.commit(),i}async renameKey(e,r){let n=this;if(!Nn(e)||e==="self")return Le(et(new Error(`Invalid old key name '${e}'`),tt.ERR_OLD_KEY_NAME_INVALID));if(!Nn(r)||r==="self")return Le(et(new Error(`Invalid new key name '${r}'`),tt.ERR_NEW_KEY_NAME_INVALID));let i=fn(e),s=fn(r),o=hi(e),a=hi(r);if(await n.store.has(s))return Le(et(new Error(`Key '${r}' already exists`),tt.ERR_KEY_ALREADY_EXISTS));try{let u=await n.store.get(i),l=await n.store.get(o),f=JSON.parse(is(l));f.name=r;let d=n.store.batch();return d.put(s,u),d.put(a,Pn(JSON.stringify(f))),d.delete(i),d.delete(o),await d.commit(),f}catch(u){return Le(u)}}async exportKey(e,r){if(!Nn(e))return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));if(!r)return Le(et(new Error("Password is required"),tt.ERR_PASSWORD_REQUIRED));let n=fn(e);try{let i=await this.store.get(n),s=is(i),o=di.get(this).dek;return(await ns.keys.import(s,o)).export(r)}catch(i){return Le(i)}}async importKey(e,r,n){let i=this;if(!Nn(e)||e==="self")return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));if(!r)return Le(et(new Error("PEM encoded key is required"),tt.ERR_PEM_REQUIRED));let s=fn(e);if(await i.store.has(s))return Le(et(new Error(`Key '${e}' already exists`),tt.ERR_KEY_ALREADY_EXISTS));let a;try{a=await ns.keys.import(r,n)}catch(f){return Le(et(new Error("Cannot read the key, most likely the password is wrong"),tt.ERR_CANNOT_READ_KEY))}let c;try{c=await a.id();let f=di.get(this).dek;r=await a.export(f)}catch(f){return Le(f)}let u={name:e,id:c},l=i.store.batch();return l.put(s,Pn(r)),l.put(hi(e),Pn(JSON.stringify(u))),await l.commit(),u}async importPeer(e,r){let n=this;if(!Nn(e))return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));if(!r||!r.privKey)return Le(et(new Error("Peer.privKey is required"),tt.ERR_MISSING_PRIVATE_KEY));let i=r.privKey,s=fn(e);if(await n.store.has(s))return Le(et(new Error(`Key '${e}' already exists`),tt.ERR_KEY_ALREADY_EXISTS));try{let a=await i.id(),c=di.get(this).dek,u=await i.export(c),l={name:e,id:a},f=n.store.batch();return f.put(s,Pn(u)),f.put(hi(e),Pn(JSON.stringify(l))),await f.commit(),l}catch(a){return Le(a)}}async _getPrivateKey(e){if(!Nn(e))return Le(et(new Error(`Invalid key name '${e}'`),tt.ERR_INVALID_KEY_NAME));try{let r=fn(e),n=await this.store.get(r);return is(n)}catch(r){return Le(et(new Error(`Key '${e}' does not exist. ${r.message}`),tt.ERR_KEY_NOT_FOUND))}}async rotateKeychainPass(e,r){if(typeof e!="string")return Le(et(new Error(`Invalid old pass type '${typeof e}'`),tt.ERR_INVALID_OLD_PASS_TYPE));if(typeof r!="string")return Le(et(new Error(`Invalid new pass type '${typeof r}'`),tt.ERR_INVALID_NEW_PASS_TYPE));if(r.length<20)return Le(et(new Error(`Invalid pass length ${r.length}`),tt.ERR_INVALID_PASS_LENGTH));fS("recreating keychain");let n=di.get(this).dek;this.opts.pass=r;let i=r?ns.pbkdf2(r,this.opts.dek.salt,this.opts.dek.iterationCount,this.opts.dek.keyLength,this.opts.dek.hash):"";di.set(this,{dek:i});let s=await this.listKeys();for(let o of s){let a=await this.store.get(fn(o.name)),c=is(a),u=await ns.keys.import(c,n),l=i.toString(),f=await u.export(l),d=this.store.batch(),p={name:o.name,id:o.id};d.put(fn(o.name),Pn(f)),d.put(hi(o.name),Pn(JSON.stringify(p))),await d.commit()}fS("keychain reconstructed")}};yS.exports=pS});var Lu=w((Du,mS)=>{(function(t,e){typeof Du=="object"&&typeof mS!="undefined"?e(Du):typeof define=="function"&&define.amd?define(["exports"],e):(t=typeof globalThis!="undefined"?globalThis:t||self,e(t.streamingIterables={}))})(Du,function(t){"use strict";async function*e(b,v){let _=[];for await(let C of v)_.push(C),_.length===b&&(yield _,_=[]);_.length>0&&(yield _)}function*r(b,v){let _=[];for(let C of v)_.push(C),_.length===b&&(yield _,_=[]);_.length>0&&(yield _)}function n(b,v){return v===void 0?_=>n(b,_):v[Symbol.asyncIterator]?e(b,v):r(b,v)}function i(b){if(typeof b.next=="function")return b;if(typeof b[Symbol.iterator]=="function")return b[Symbol.iterator]();if(typeof b[Symbol.asyncIterator]=="function")return b[Symbol.asyncIterator]();throw new TypeError('"values" does not to conform to any of the iterator or iterable protocols')}function s(){let b,v;return{promise:new Promise((C,A)=>{v=C,b=A}),reject:b,resolve:v}}function o(b,v){let _=i(v),C=[],A=[],B=!1,N=!1;function O(){for(;A.length>0&&C.length>0;){let ee=A.shift(),{error:fe,value:qe}=C.shift();fe?ee.reject(fe):ee.resolve({done:!1,value:qe})}for(;A.length>0&&N;){let{resolve:ee}=A.shift();ee({done:!0,value:void 0})}}async function U(){if(!N&&!B&&!(C.length>=b)){B=!0;try{let{done:ee,value:fe}=await _.next();ee?N=!0:C.push({value:fe})}catch(ee){N=!0,C.push({error:ee})}O(),B=!1,U()}}async function W(){if(C.length>0){let{error:fe,value:qe}=C.shift();if(fe)throw fe;return U(),{done:!1,value:qe}}if(N)return{done:!0,value:void 0};let ee=s();return A.push(ee),U(),ee.promise}let Q={next:W,[Symbol.asyncIterator]:()=>Q};return Q}function*a(b,v){let _=[],C;try{for(let A of v)_.push(A),!(_.length<=b)&&(yield _.shift())}catch(A){C=A}for(let A of _)yield A;if(C)throw C}function c(b,v){return v===void 0?_=>c(b,_):b===0?v:v[Symbol.asyncIterator]?o(b,v):a(b,v)}async function u(b){let v=[];for await(let _ of b)v.push(_);return v}function l(b){return b[Symbol.asyncIterator]?u(b):Array.from(b)}async function*f(b){for await(let v of b)yield*v}function*d(b){for(let v of b)yield*v}function p(...b){return b.find(_=>_[Symbol.asyncIterator]!==void 0)?f(b):d(b)}async function h(b){for await(let v of b);}function g(b){if(b[Symbol.asyncIterator])return h(b);for(let v of b);}async function*m(b,v){for await(let _ of v)await b(_)&&(yield _)}function S(b,v){return v===void 0?_=>m(b,_):m(b,v)}async function*R(b){for await(let v of b)v&&typeof v!="string"&&(v[Symbol.iterator]||v[Symbol.asyncIterator])?yield*R(v):yield v}async function*L(b,v){for await(let _ of v)yield await b(_)}function H(b,v){return v===void 0?_=>L(b,_):L(b,v)}function q(b,v){return v===void 0?_=>q(b,_):S(_=>_!=null,R(H(b,v)))}function k(b,v,_){let C=i(_),A=[],B=[],N=!1,O=!1,U=0,W=null;function Q(){for(;B.length>0&&A.length>0;){let{resolve:ae}=B.shift(),ue=A.shift();ae({done:!1,value:ue})}for(;B.length>0&&U===0&&N;){let{resolve:ae,reject:ue}=B.shift();W?(ue(W),W=null):ae({done:!0,value:void 0})}}async function ee(){if(N){Q();return}if(!O&&!(U+A.length>=b)){O=!0,U++;try{let{done:ae,value:ue}=await C.next();ae?(N=!0,U--,Q()):fe(ue)}catch(ae){N=!0,U--,W=ae,Q()}O=!1,ee()}}async function fe(ae){try{let ue=await v(ae);if(ue&&ue[Symbol.asyncIterator])for await(let ds of ue)A.push(ds);else A.push(ue)}catch(ue){N=!0,W=ue}U--,Q(),ee()}async function qe(){if(A.length===0){let ue=s();return B.push(ue),ee(),ue.promise}let ae=A.shift();return ee(),{done:!1,value:ae}}let ge={next:qe,[Symbol.asyncIterator]:()=>ge};return ge}function J(b,v,_){return v===void 0?(C,A)=>A?J(b,C,A):J(b,C):_===void 0?C=>J(b,v,C):S(C=>C!=null,R(k(b,v,_)))}async function ie(b){return new Promise(v=>{b.once("readable",()=>{v()})})}async function*j(b){for(;;){let v=b.read();if(v!==null){yield v;continue}if(b._readableState.ended)break;await ie(b)}}function we(b){return typeof b[Symbol.asyncIterator]=="function"?b:j(b)}async function*le(...b){let v=new Set(b.map(i));for(;v.size>0;)for(let _ of v){let C=await _.next();C.done?v.delete(_):yield C.value}}function ye(b,...v){let _=b();for(let C of v)_=C(_);return _}async function*nt(b,v,_){let C=null,A=U=>({value:v(U)}),B=async function*(U){for await(let W of U){if(C)return;yield W}},N=ye(()=>_,c(1),B,H(A),c(b-1)),O=i(N);for(;;){let{value:U,done:W}=await O.next();if(W)break;try{let Q=await U.value;C||(yield Q)}catch(Q){C=Q}}if(C)throw C}function it(b,v,_){return v===void 0?(C,A)=>it(b,C,A):_===void 0?C=>it(b,v,C):b===1?H(v,_):nt(b,v,_)}function Ie(b,v,_){return v===void 0?(C,A)=>A?Ie(b,C,A):Ie(b,C):_===void 0?C=>Ie(b,v,C):S(C=>C!=null,R(it(b,v,_)))}async function*Fe(...b){let v=b.map(i),_=new Set,C=new Map,A=null,B=null,N=null,O=ee=>{A=ee,B&&B(ee)},U=ee=>{N&&N(ee)},W=()=>new Promise((ee,fe)=>{if(A&&fe(A),C.size>0)return ee();N=ee,B=fe}),Q=ee=>{let fe=Promise.resolve(ee.next()).then(async({done:qe,value:ge})=>{qe||C.set(ee,ge),_.delete(fe)});_.add(fe),fe.then(U,O)};for(let ee of v)Q(ee);for(;;){if(_.size===0&&C.size===0)return;await W();for(let[ee,fe]of C)C.delete(ee),yield fe,Q(ee)}}async function ne(b,v,_){let C=v;for await(let A of _)C=await b(C,A);return C}function tr(b,v,_){return v===void 0?(C,A)=>A?ne(b,C,A):tr(b,C):_===void 0?C=>tr(b,v,C):ne(b,v,_)}async function*Wt(b,v){let _=0;for await(let C of v)if(yield await C,_++,_>=b)break}function*hn(b,v){let _=0;for(let C of v)if(yield C,_++,_>=b)break}function Yt(b,v){return v===void 0?_=>Yt(b,_):v[Symbol.asyncIterator]?Wt(b,v):hn(b,v)}async function*pn(b,v){for await(let _ of v)await b(_),yield _}function z(b,v){return v===void 0?_=>pn(b,_):pn(b,v)}function fs(b,v){let _=b[0]+v[0],C=b[1]+v[1];if(C>=1e9){let A=C%1e9;_+=(C-A)/1e9,C=A}return[_,C]}async function*Ha(b,v){let _=v[Symbol.asyncIterator](),C=[0,0];for(;;){let A=process.hrtime(),{value:B,done:N}=await _.next(),O=process.hrtime(A);if(C=fs(C,O),b.progress&&b.progress(O,C),N)return b.total&&b.total(C),B;yield B}}function*Ro(b,v){let _=v[Symbol.iterator](),C=[0,0];for(;;){let A=process.hrtime(),{value:B,done:N}=_.next(),O=process.hrtime(A);if(C=fs(C,O),b.progress&&b.progress(O,C),N)return b.total&&b.total(C),B;yield B}}function Kt(b={},v){return v===void 0?_=>Kt(b,_):v[Symbol.asyncIterator]!==void 0?Ha(b,v):Ro(b,v)}function Pr(b,v,_){let C=i(_),A=[],B=[],N=!1,O=!1,U=0,W=null;function Q(){for(;B.length>0&&A.length>0;){let{resolve:ae}=B.shift(),ue=A.shift();ae({done:!1,value:ue})}for(;B.length>0&&U===0&&N;){let{resolve:ae,reject:ue}=B.shift();W?(ue(W),W=null):ae({done:!0,value:void 0})}}async function ee(){if(N){Q();return}if(!O&&!(U+A.length>=b)){O=!0,U++;try{let{done:ae,value:ue}=await C.next();ae?(N=!0,U--,Q()):fe(ue)}catch(ae){N=!0,U--,W=ae,Q()}O=!1,ee()}}async function fe(ae){try{let ue=await v(ae);A.push(ue)}catch(ue){N=!0,W=ue}U--,Q(),ee()}async function qe(){if(A.length===0){let ue=s();return B.push(ue),ee(),ue.promise}let ae=A.shift();return ee(),{done:!1,value:ae}}let ge={next:qe,[Symbol.asyncIterator]:()=>ge};return ge}function E(b,v,_){return v===void 0?(C,A)=>A?E(b,C,A):E(b,C):_===void 0?C=>E(b,v,C):Pr(b,v,_)}async function x(b,v){let _=null,C=null,A=null,B=W=>{_=W,C&&C(W)},N=()=>{A&&A()},O=()=>{b.removeListener("error",B),b.removeListener("drain",N)};b.once("error",B);let U=()=>new Promise((W,Q)=>{if(_)return Q(_);b.once("drain",N),A=W,C=Q});for await(let W of v)if(b.write(W)===!1&&await U(),_)break;if(O(),_)throw _}function I(b,v){return v===void 0?_=>x(b,_):x(b,v)}t.batch=n,t.buffer=c,t.collect=l,t.concat=p,t.consume=g,t.filter=S,t.flatMap=q,t.flatTransform=J,t.flatten=R,t.fromStream=we,t.getIterator=i,t.map=H,t.merge=le,t.parallelFlatMap=Ie,t.parallelMap=it,t.parallelMerge=Fe,t.pipeline=ye,t.reduce=tr,t.take=Yt,t.tap=z,t.time=Kt,t.transform=E,t.writeToStream=I,Object.defineProperty(t,"__esModule",{value:!0})})});var bS=w((tV,vS)=>{vS.exports=function(t){if(!t)throw Error("hashlru must have a max value, of type number, greater than 0");var e=0,r=Object.create(null),n=Object.create(null);function i(s,o){r[s]=o,e++,e>=t&&(e=0,n=r,r=Object.create(null))}return{has:function(s){return r[s]!==void 0||n[s]!==void 0},remove:function(s){r[s]!==void 0&&(r[s]=void 0),n[s]!==void 0&&(n[s]=void 0)},get:function(s){var o=r[s];if(o!==void 0)return o;if((o=n[s])!==void 0)return i(s,o),o},set:function(s,o){r[s]!==void 0?r[s]=o:i(s,o)},clear:function(){r=Object.create(null),n=Object.create(null)}}}});var wS=w((rV,ES)=>{"use strict";var Sk=bS();ES.exports=t=>{let e=Sk(t);return e.delete=e.remove,e}});var SS=w((_S,ku)=>{(function(t){"use strict";var e,r=/^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i,n=Math.ceil,i=Math.floor,s="[BigNumber Error] ",o=s+"Number primitive has more than 15 significant digits: ",a=1e14,c=14,u=9007199254740991,l=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9,1e10,1e11,1e12,1e13],f=1e7,d=1e9;function p(q){var k,J,ie,j=z.prototype={constructor:z,toString:null,valueOf:null},we=new z(1),le=20,ye=4,nt=-7,it=21,Ie=-1e7,Fe=1e7,ne=!1,tr=1,Wt=0,hn={prefix:"",groupSize:3,secondaryGroupSize:0,groupSeparator:",",decimalSeparator:".",fractionGroupSize:0,fractionGroupSeparator:"\xA0",suffix:""},Yt="0123456789abcdefghijklmnopqrstuvwxyz",pn=!0;function z(E,x){var I,b,v,_,C,A,B,N,O=this;if(!(O instanceof z))return new z(E,x);if(x==null){if(E&&E._isBigNumber===!0){O.s=E.s,!E.c||E.e>Fe?O.c=O.e=null:E.e<Ie?O.c=[O.e=0]:(O.e=E.e,O.c=E.c.slice());return}if((A=typeof E=="number")&&E*0==0){if(O.s=1/E<0?(E=-E,-1):1,E===~~E){for(_=0,C=E;C>=10;C/=10,_++);_>Fe?O.c=O.e=null:(O.e=_,O.c=[E]);return}N=String(E)}else{if(!r.test(N=String(E)))return ie(O,N,A);O.s=N.charCodeAt(0)==45?(N=N.slice(1),-1):1}(_=N.indexOf("."))>-1&&(N=N.replace(".","")),(C=N.search(/e/i))>0?(_<0&&(_=C),_+=+N.slice(C+1),N=N.substring(0,C)):_<0&&(_=N.length)}else{if(S(x,2,Yt.length,"Base"),x==10&&pn)return O=new z(E),Kt(O,le+O.e+1,ye);if(N=String(E),A=typeof E=="number"){if(E*0!=0)return ie(O,N,A,x);if(O.s=1/E<0?(N=N.slice(1),-1):1,z.DEBUG&&N.replace(/^0\.0*|\./,"").length>15)throw Error(o+E)}else O.s=N.charCodeAt(0)===45?(N=N.slice(1),-1):1;for(I=Yt.slice(0,x),_=C=0,B=N.length;C<B;C++)if(I.indexOf(b=N.charAt(C))<0){if(b=="."){if(C>_){_=B;continue}}else if(!v&&(N==N.toUpperCase()&&(N=N.toLowerCase())||N==N.toLowerCase()&&(N=N.toUpperCase()))){v=!0,C=-1,_=0;continue}return ie(O,String(E),A,x)}A=!1,N=J(N,x,10,O.s),(_=N.indexOf("."))>-1?N=N.replace(".",""):_=N.length}for(C=0;N.charCodeAt(C)===48;C++);for(B=N.length;N.charCodeAt(--B)===48;);if(N=N.slice(C,++B)){if(B-=C,A&&z.DEBUG&&B>15&&(E>u||E!==i(E)))throw Error(o+O.s*E);if((_=_-C-1)>Fe)O.c=O.e=null;else if(_<Ie)O.c=[O.e=0];else{if(O.e=_,O.c=[],C=(_+1)%c,_<0&&(C+=c),C<B){for(C&&O.c.push(+N.slice(0,C)),B-=c;C<B;)O.c.push(+N.slice(C,C+=c));C=c-(N=N.slice(C)).length}else C-=B;for(;C--;N+="0");O.c.push(+N)}}else O.c=[O.e=0]}z.clone=p,z.ROUND_UP=0,z.ROUND_DOWN=1,z.ROUND_CEIL=2,z.ROUND_FLOOR=3,z.ROUND_HALF_UP=4,z.ROUND_HALF_DOWN=5,z.ROUND_HALF_EVEN=6,z.ROUND_HALF_CEIL=7,z.ROUND_HALF_FLOOR=8,z.EUCLID=9,z.config=z.set=function(E){var x,I;if(E!=null)if(typeof E=="object"){if(E.hasOwnProperty(x="DECIMAL_PLACES")&&(I=E[x],S(I,0,d,x),le=I),E.hasOwnProperty(x="ROUNDING_MODE")&&(I=E[x],S(I,0,8,x),ye=I),E.hasOwnProperty(x="EXPONENTIAL_AT")&&(I=E[x],I&&I.pop?(S(I[0],-d,0,x),S(I[1],0,d,x),nt=I[0],it=I[1]):(S(I,-d,d,x),nt=-(it=I<0?-I:I))),E.hasOwnProperty(x="RANGE"))if(I=E[x],I&&I.pop)S(I[0],-d,-1,x),S(I[1],1,d,x),Ie=I[0],Fe=I[1];else if(S(I,-d,d,x),I)Ie=-(Fe=I<0?-I:I);else throw Error(s+x+" cannot be zero: "+I);if(E.hasOwnProperty(x="CRYPTO"))if(I=E[x],I===!!I)if(I)if(typeof crypto!="undefined"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))ne=I;else throw ne=!I,Error(s+"crypto unavailable");else ne=I;else throw Error(s+x+" not true or false: "+I);if(E.hasOwnProperty(x="MODULO_MODE")&&(I=E[x],S(I,0,9,x),tr=I),E.hasOwnProperty(x="POW_PRECISION")&&(I=E[x],S(I,0,d,x),Wt=I),E.hasOwnProperty(x="FORMAT"))if(I=E[x],typeof I=="object")hn=I;else throw Error(s+x+" not an object: "+I);if(E.hasOwnProperty(x="ALPHABET"))if(I=E[x],typeof I=="string"&&!/^.?$|[+\-.\s]|(.).*\1/.test(I))pn=I.slice(0,10)=="0123456789",Yt=I;else throw Error(s+x+" invalid: "+I)}else throw Error(s+"Object expected: "+E);return{DECIMAL_PLACES:le,ROUNDING_MODE:ye,EXPONENTIAL_AT:[nt,it],RANGE:[Ie,Fe],CRYPTO:ne,MODULO_MODE:tr,POW_PRECISION:Wt,FORMAT:hn,ALPHABET:Yt}},z.isBigNumber=function(E){if(!E||E._isBigNumber!==!0)return!1;if(!z.DEBUG)return!0;var x,I,b=E.c,v=E.e,_=E.s;e:if({}.toString.call(b)=="[object Array]"){if((_===1||_===-1)&&v>=-d&&v<=d&&v===i(v)){if(b[0]===0){if(v===0&&b.length===1)return!0;break e}if(x=(v+1)%c,x<1&&(x+=c),String(b[0]).length==x){for(x=0;x<b.length;x++)if(I=b[x],I<0||I>=a||I!==i(I))break e;if(I!==0)return!0}}}else if(b===null&&v===null&&(_===null||_===1||_===-1))return!0;throw Error(s+"Invalid BigNumber: "+E)},z.maximum=z.max=function(){return Ha(arguments,j.lt)},z.minimum=z.min=function(){return Ha(arguments,j.gt)},z.random=function(){var E=9007199254740992,x=Math.random()*E&2097151?function(){return i(Math.random()*E)}:function(){return(Math.random()*1073741824|0)*8388608+(Math.random()*8388608|0)};return function(I){var b,v,_,C,A,B=0,N=[],O=new z(we);if(I==null?I=le:S(I,0,d),C=n(I/c),ne)if(crypto.getRandomValues){for(b=crypto.getRandomValues(new Uint32Array(C*=2));B<C;)A=b[B]*131072+(b[B+1]>>>11),A>=9e15?(v=crypto.getRandomValues(new Uint32Array(2)),b[B]=v[0],b[B+1]=v[1]):(N.push(A%1e14),B+=2);B=C/2}else if(crypto.randomBytes){for(b=crypto.randomBytes(C*=7);B<C;)A=(b[B]&31)*281474976710656+b[B+1]*1099511627776+b[B+2]*4294967296+b[B+3]*16777216+(b[B+4]<<16)+(b[B+5]<<8)+b[B+6],A>=9e15?crypto.randomBytes(7).copy(b,B):(N.push(A%1e14),B+=7);B=C/7}else throw ne=!1,Error(s+"crypto unavailable");if(!ne)for(;B<C;)A=x(),A<9e15&&(N[B++]=A%1e14);for(C=N[--B],I%=c,C&&I&&(A=l[c-I],N[B]=i(C/A)*A);N[B]===0;N.pop(),B--);if(B<0)N=[_=0];else{for(_=-1;N[0]===0;N.splice(0,1),_-=c);for(B=1,A=N[0];A>=10;A/=10,B++);B<c&&(_-=c-B)}return O.e=_,O.c=N,O}}(),z.sum=function(){for(var E=1,x=arguments,I=new z(x[0]);E<x.length;)I=I.plus(x[E++]);return I},J=function(){var E="0123456789";function x(I,b,v,_){for(var C,A=[0],B,N=0,O=I.length;N<O;){for(B=A.length;B--;A[B]*=b);for(A[0]+=_.indexOf(I.charAt(N++)),C=0;C<A.length;C++)A[C]>v-1&&(A[C+1]==null&&(A[C+1]=0),A[C+1]+=A[C]/v|0,A[C]%=v)}return A.reverse()}return function(I,b,v,_,C){var A,B,N,O,U,W,Q,ee,fe=I.indexOf("."),qe=le,ge=ye;for(fe>=0&&(O=Wt,Wt=0,I=I.replace(".",""),ee=new z(b),W=ee.pow(I.length-fe),Wt=O,ee.c=x(H(g(W.c),W.e,"0"),10,v,E),ee.e=ee.c.length),Q=x(I,b,v,C?(A=Yt,E):(A=E,Yt)),N=O=Q.length;Q[--O]==0;Q.pop());if(!Q[0])return A.charAt(0);if(fe<0?--N:(W.c=Q,W.e=N,W.s=_,W=k(W,ee,qe,ge,v),Q=W.c,U=W.r,N=W.e),B=N+qe+1,fe=Q[B],O=v/2,U=U||B<0||Q[B+1]!=null,U=ge<4?(fe!=null||U)&&(ge==0||ge==(W.s<0?3:2)):fe>O||fe==O&&(ge==4||U||ge==6&&Q[B-1]&1||ge==(W.s<0?8:7)),B<1||!Q[0])I=U?H(A.charAt(1),-qe,A.charAt(0)):A.charAt(0);else{if(Q.length=B,U)for(--v;++Q[--B]>v;)Q[B]=0,B||(++N,Q=[1].concat(Q));for(O=Q.length;!Q[--O];);for(fe=0,I="";fe<=O;I+=A.charAt(Q[fe++]));I=H(I,N,A.charAt(0))}return I}}(),k=function(){function E(b,v,_){var C,A,B,N,O=0,U=b.length,W=v%f,Q=v/f|0;for(b=b.slice();U--;)B=b[U]%f,N=b[U]/f|0,C=Q*B+N*W,A=W*B+C%f*f+O,O=(A/_|0)+(C/f|0)+Q*N,b[U]=A%_;return O&&(b=[O].concat(b)),b}function x(b,v,_,C){var A,B;if(_!=C)B=_>C?1:-1;else for(A=B=0;A<_;A++)if(b[A]!=v[A]){B=b[A]>v[A]?1:-1;break}return B}function I(b,v,_,C){for(var A=0;_--;)b[_]-=A,A=b[_]<v[_]?1:0,b[_]=A*C+b[_]-v[_];for(;!b[0]&&b.length>1;b.splice(0,1));}return function(b,v,_,C,A){var B,N,O,U,W,Q,ee,fe,qe,ge,ae,ue,ds,al,cl,$r,Bo,fr=b.s==v.s?1:-1,Vt=b.c,at=v.c;if(!Vt||!Vt[0]||!at||!at[0])return new z(!b.s||!v.s||(Vt?at&&Vt[0]==at[0]:!at)?NaN:Vt&&Vt[0]==0||!at?fr*0:fr/0);for(fe=new z(fr),qe=fe.c=[],N=b.e-v.e,fr=_+N+1,A||(A=a,N=h(b.e/c)-h(v.e/c),fr=fr/c|0),O=0;at[O]==(Vt[O]||0);O++);if(at[O]>(Vt[O]||0)&&N--,fr<0)qe.push(1),U=!0;else{for(al=Vt.length,$r=at.length,O=0,fr+=2,W=i(A/(at[0]+1)),W>1&&(at=E(at,W,A),Vt=E(Vt,W,A),$r=at.length,al=Vt.length),ds=$r,ge=Vt.slice(0,$r),ae=ge.length;ae<$r;ge[ae++]=0);Bo=at.slice(),Bo=[0].concat(Bo),cl=at[0],at[1]>=A/2&&cl++;do{if(W=0,B=x(at,ge,$r,ae),B<0){if(ue=ge[0],$r!=ae&&(ue=ue*A+(ge[1]||0)),W=i(ue/cl),W>1)for(W>=A&&(W=A-1),Q=E(at,W,A),ee=Q.length,ae=ge.length;x(Q,ge,ee,ae)==1;)W--,I(Q,$r<ee?Bo:at,ee,A),ee=Q.length,B=1;else W==0&&(B=W=1),Q=at.slice(),ee=Q.length;if(ee<ae&&(Q=[0].concat(Q)),I(ge,Q,ae,A),ae=ge.length,B==-1)for(;x(at,ge,$r,ae)<1;)W++,I(ge,$r<ae?Bo:at,ae,A),ae=ge.length}else B===0&&(W++,ge=[0]);qe[O++]=W,ge[0]?ge[ae++]=Vt[ds]||0:(ge=[Vt[ds]],ae=1)}while((ds++<al||ge[0]!=null)&&fr--);U=ge[0]!=null,qe[0]||qe.splice(0,1)}if(A==a){for(O=1,fr=qe[0];fr>=10;fr/=10,O++);Kt(fe,_+(fe.e=O+N*c-1)+1,C,U)}else fe.e=N,fe.r=+U;return fe}}();function fs(E,x,I,b){var v,_,C,A,B;if(I==null?I=ye:S(I,0,8),!E.c)return E.toString();if(v=E.c[0],C=E.e,x==null)B=g(E.c),B=b==1||b==2&&(C<=nt||C>=it)?L(B,C):H(B,C,"0");else if(E=Kt(new z(E),x,I),_=E.e,B=g(E.c),A=B.length,b==1||b==2&&(x<=_||_<=nt)){for(;A<x;B+="0",A++);B=L(B,_)}else if(x-=C,B=H(B,_,"0"),_+1>A){if(--x>0)for(B+=".";x--;B+="0");}else if(x+=_-A,x>0)for(_+1==A&&(B+=".");x--;B+="0");return E.s<0&&v?"-"+B:B}function Ha(E,x){for(var I,b=1,v=new z(E[0]);b<E.length;b++)if(I=new z(E[b]),I.s)x.call(v,I)&&(v=I);else{v=I;break}return v}function Ro(E,x,I){for(var b=1,v=x.length;!x[--v];x.pop());for(v=x[0];v>=10;v/=10,b++);return(I=b+I*c-1)>Fe?E.c=E.e=null:I<Ie?E.c=[E.e=0]:(E.e=I,E.c=x),E}ie=function(){var E=/^(-?)0([xbo])(?=\w[\w.]*$)/i,x=/^([^.]+)\.$/,I=/^\.([^.]+)$/,b=/^-?(Infinity|NaN)$/,v=/^\s*\+(?=[\w.])|^\s+|\s+$/g;return function(_,C,A,B){var N,O=A?C:C.replace(v,"");if(b.test(O))_.s=isNaN(O)?null:O<0?-1:1;else{if(!A&&(O=O.replace(E,function(U,W,Q){return N=(Q=Q.toLowerCase())=="x"?16:Q=="b"?2:8,!B||B==N?W:U}),B&&(N=B,O=O.replace(x,"$1").replace(I,"0.$1")),C!=O))return new z(O,N);if(z.DEBUG)throw Error(s+"Not a"+(B?" base "+B:"")+" number: "+C);_.s=null}_.c=_.e=null}}();function Kt(E,x,I,b){var v,_,C,A,B,N,O,U=E.c,W=l;if(U){e:{for(v=1,A=U[0];A>=10;A/=10,v++);if(_=x-v,_<0)_+=c,C=x,B=U[N=0],O=B/W[v-C-1]%10|0;else if(N=n((_+1)/c),N>=U.length)if(b){for(;U.length<=N;U.push(0));B=O=0,v=1,_%=c,C=_-c+1}else break e;else{for(B=A=U[N],v=1;A>=10;A/=10,v++);_%=c,C=_-c+v,O=C<0?0:B/W[v-C-1]%10|0}if(b=b||x<0||U[N+1]!=null||(C<0?B:B%W[v-C-1]),b=I<4?(O||b)&&(I==0||I==(E.s<0?3:2)):O>5||O==5&&(I==4||b||I==6&&(_>0?C>0?B/W[v-C]:0:U[N-1])%10&1||I==(E.s<0?8:7)),x<1||!U[0])return U.length=0,b?(x-=E.e+1,U[0]=W[(c-x%c)%c],E.e=-x||0):U[0]=E.e=0,E;if(_==0?(U.length=N,A=1,N--):(U.length=N+1,A=W[c-_],U[N]=C>0?i(B/W[v-C]%W[C])*A:0),b)for(;;)if(N==0){for(_=1,C=U[0];C>=10;C/=10,_++);for(C=U[0]+=A,A=1;C>=10;C/=10,A++);_!=A&&(E.e++,U[0]==a&&(U[0]=1));break}else{if(U[N]+=A,U[N]!=a)break;U[N--]=0,A=1}for(_=U.length;U[--_]===0;U.pop());}E.e>Fe?E.c=E.e=null:E.e<Ie&&(E.c=[E.e=0])}return E}function Pr(E){var x,I=E.e;return I===null?E.toString():(x=g(E.c),x=I<=nt||I>=it?L(x,I):H(x,I,"0"),E.s<0?"-"+x:x)}return j.absoluteValue=j.abs=function(){var E=new z(this);return E.s<0&&(E.s=1),E},j.comparedTo=function(E,x){return m(this,new z(E,x))},j.decimalPlaces=j.dp=function(E,x){var I,b,v,_=this;if(E!=null)return S(E,0,d),x==null?x=ye:S(x,0,8),Kt(new z(_),E+_.e+1,x);if(!(I=_.c))return null;if(b=((v=I.length-1)-h(this.e/c))*c,v=I[v])for(;v%10==0;v/=10,b--);return b<0&&(b=0),b},j.dividedBy=j.div=function(E,x){return k(this,new z(E,x),le,ye)},j.dividedToIntegerBy=j.idiv=function(E,x){return k(this,new z(E,x),0,1)},j.exponentiatedBy=j.pow=function(E,x){var I,b,v,_,C,A,B,N,O,U=this;if(E=new z(E),E.c&&!E.isInteger())throw Error(s+"Exponent not an integer: "+Pr(E));if(x!=null&&(x=new z(x)),A=E.e>14,!U.c||!U.c[0]||U.c[0]==1&&!U.e&&U.c.length==1||!E.c||!E.c[0])return O=new z(Math.pow(+Pr(U),A?2-R(E):+Pr(E))),x?O.mod(x):O;if(B=E.s<0,x){if(x.c?!x.c[0]:!x.s)return new z(NaN);b=!B&&U.isInteger()&&x.isInteger(),b&&(U=U.mod(x))}else{if(E.e>9&&(U.e>0||U.e<-1||(U.e==0?U.c[0]>1||A&&U.c[1]>=24e7:U.c[0]<8e13||A&&U.c[0]<=9999975e7)))return _=U.s<0&&R(E)?-0:0,U.e>-1&&(_=1/_),new z(B?1/_:_);Wt&&(_=n(Wt/c+2))}for(A?(I=new z(.5),B&&(E.s=1),N=R(E)):(v=Math.abs(+Pr(E)),N=v%2),O=new z(we);;){if(N){if(O=O.times(U),!O.c)break;_?O.c.length>_&&(O.c.length=_):b&&(O=O.mod(x))}if(v){if(v=i(v/2),v===0)break;N=v%2}else if(E=E.times(I),Kt(E,E.e+1,1),E.e>14)N=R(E);else{if(v=+Pr(E),v===0)break;N=v%2}U=U.times(U),_?U.c&&U.c.length>_&&(U.c.length=_):b&&(U=U.mod(x))}return b?O:(B&&(O=we.div(O)),x?O.mod(x):_?Kt(O,Wt,ye,C):O)},j.integerValue=function(E){var x=new z(this);return E==null?E=ye:S(E,0,8),Kt(x,x.e+1,E)},j.isEqualTo=j.eq=function(E,x){return m(this,new z(E,x))===0},j.isFinite=function(){return!!this.c},j.isGreaterThan=j.gt=function(E,x){return m(this,new z(E,x))>0},j.isGreaterThanOrEqualTo=j.gte=function(E,x){return(x=m(this,new z(E,x)))===1||x===0},j.isInteger=function(){return!!this.c&&h(this.e/c)>this.c.length-2},j.isLessThan=j.lt=function(E,x){return m(this,new z(E,x))<0},j.isLessThanOrEqualTo=j.lte=function(E,x){return(x=m(this,new z(E,x)))===-1||x===0},j.isNaN=function(){return!this.s},j.isNegative=function(){return this.s<0},j.isPositive=function(){return this.s>0},j.isZero=function(){return!!this.c&&this.c[0]==0},j.minus=function(E,x){var I,b,v,_,C=this,A=C.s;if(E=new z(E,x),x=E.s,!A||!x)return new z(NaN);if(A!=x)return E.s=-x,C.plus(E);var B=C.e/c,N=E.e/c,O=C.c,U=E.c;if(!B||!N){if(!O||!U)return O?(E.s=-x,E):new z(U?C:NaN);if(!O[0]||!U[0])return U[0]?(E.s=-x,E):new z(O[0]?C:ye==3?-0:0)}if(B=h(B),N=h(N),O=O.slice(),A=B-N){for((_=A<0)?(A=-A,v=O):(N=B,v=U),v.reverse(),x=A;x--;v.push(0));v.reverse()}else for(b=(_=(A=O.length)<(x=U.length))?A:x,A=x=0;x<b;x++)if(O[x]!=U[x]){_=O[x]<U[x];break}if(_&&(v=O,O=U,U=v,E.s=-E.s),x=(b=U.length)-(I=O.length),x>0)for(;x--;O[I++]=0);for(x=a-1;b>A;){if(O[--b]<U[b]){for(I=b;I&&!O[--I];O[I]=x);--O[I],O[b]+=a}O[b]-=U[b]}for(;O[0]==0;O.splice(0,1),--N);return O[0]?Ro(E,O,N):(E.s=ye==3?-1:1,E.c=[E.e=0],E)},j.modulo=j.mod=function(E,x){var I,b,v=this;return E=new z(E,x),!v.c||!E.s||E.c&&!E.c[0]?new z(NaN):!E.c||v.c&&!v.c[0]?new z(v):(tr==9?(b=E.s,E.s=1,I=k(v,E,0,3),E.s=b,I.s*=b):I=k(v,E,0,tr),E=v.minus(I.times(E)),!E.c[0]&&tr==1&&(E.s=v.s),E)},j.multipliedBy=j.times=function(E,x){var I,b,v,_,C,A,B,N,O,U,W,Q,ee,fe,qe,ge=this,ae=ge.c,ue=(E=new z(E,x)).c;if(!ae||!ue||!ae[0]||!ue[0])return!ge.s||!E.s||ae&&!ae[0]&&!ue||ue&&!ue[0]&&!ae?E.c=E.e=E.s=null:(E.s*=ge.s,!ae||!ue?E.c=E.e=null:(E.c=[0],E.e=0)),E;for(b=h(ge.e/c)+h(E.e/c),E.s*=ge.s,B=ae.length,U=ue.length,B<U&&(ee=ae,ae=ue,ue=ee,v=B,B=U,U=v),v=B+U,ee=[];v--;ee.push(0));for(fe=a,qe=f,v=U;--v>=0;){for(I=0,W=ue[v]%qe,Q=ue[v]/qe|0,C=B,_=v+C;_>v;)N=ae[--C]%qe,O=ae[C]/qe|0,A=Q*N+O*W,N=W*N+A%qe*qe+ee[_]+I,I=(N/fe|0)+(A/qe|0)+Q*O,ee[_--]=N%fe;ee[_]=I}return I?++b:ee.splice(0,1),Ro(E,ee,b)},j.negated=function(){var E=new z(this);return E.s=-E.s||null,E},j.plus=function(E,x){var I,b=this,v=b.s;if(E=new z(E,x),x=E.s,!v||!x)return new z(NaN);if(v!=x)return E.s=-x,b.minus(E);var _=b.e/c,C=E.e/c,A=b.c,B=E.c;if(!_||!C){if(!A||!B)return new z(v/0);if(!A[0]||!B[0])return B[0]?E:new z(A[0]?b:v*0)}if(_=h(_),C=h(C),A=A.slice(),v=_-C){for(v>0?(C=_,I=B):(v=-v,I=A),I.reverse();v--;I.push(0));I.reverse()}for(v=A.length,x=B.length,v-x<0&&(I=B,B=A,A=I,x=v),v=0;x;)v=(A[--x]=A[x]+B[x]+v)/a|0,A[x]=a===A[x]?0:A[x]%a;return v&&(A=[v].concat(A),++C),Ro(E,A,C)},j.precision=j.sd=function(E,x){var I,b,v,_=this;if(E!=null&&E!==!!E)return S(E,1,d),x==null?x=ye:S(x,0,8),Kt(new z(_),E,x);if(!(I=_.c))return null;if(v=I.length-1,b=v*c+1,v=I[v]){for(;v%10==0;v/=10,b--);for(v=I[0];v>=10;v/=10,b++);}return E&&_.e+1>b&&(b=_.e+1),b},j.shiftedBy=function(E){return S(E,-u,u),this.times("1e"+E)},j.squareRoot=j.sqrt=function(){var E,x,I,b,v,_=this,C=_.c,A=_.s,B=_.e,N=le+4,O=new z("0.5");if(A!==1||!C||!C[0])return new z(!A||A<0&&(!C||C[0])?NaN:C?_:1/0);if(A=Math.sqrt(+Pr(_)),A==0||A==1/0?(x=g(C),(x.length+B)%2==0&&(x+="0"),A=Math.sqrt(+x),B=h((B+1)/2)-(B<0||B%2),A==1/0?x="5e"+B:(x=A.toExponential(),x=x.slice(0,x.indexOf("e")+1)+B),I=new z(x)):I=new z(A+""),I.c[0]){for(B=I.e,A=B+N,A<3&&(A=0);;)if(v=I,I=O.times(v.plus(k(_,v,N,1))),g(v.c).slice(0,A)===(x=g(I.c)).slice(0,A))if(I.e<B&&--A,x=x.slice(A-3,A+1),x=="9999"||!b&&x=="4999"){if(!b&&(Kt(v,v.e+le+2,0),v.times(v).eq(_))){I=v;break}N+=4,A+=4,b=1}else{(!+x||!+x.slice(1)&&x.charAt(0)=="5")&&(Kt(I,I.e+le+2,1),E=!I.times(I).eq(_));break}}return Kt(I,I.e+le+1,ye,E)},j.toExponential=function(E,x){return E!=null&&(S(E,0,d),E++),fs(this,E,x,1)},j.toFixed=function(E,x){return E!=null&&(S(E,0,d),E=E+this.e+1),fs(this,E,x)},j.toFormat=function(E,x,I){var b,v=this;if(I==null)E!=null&&x&&typeof x=="object"?(I=x,x=null):E&&typeof E=="object"?(I=E,E=x=null):I=hn;else if(typeof I!="object")throw Error(s+"Argument not an object: "+I);if(b=v.toFixed(E,x),v.c){var _,C=b.split("."),A=+I.groupSize,B=+I.secondaryGroupSize,N=I.groupSeparator||"",O=C[0],U=C[1],W=v.s<0,Q=W?O.slice(1):O,ee=Q.length;if(B&&(_=A,A=B,B=_,ee-=_),A>0&&ee>0){for(_=ee%A||A,O=Q.substr(0,_);_<ee;_+=A)O+=N+Q.substr(_,A);B>0&&(O+=N+Q.slice(_)),W&&(O="-"+O)}b=U?O+(I.decimalSeparator||"")+((B=+I.fractionGroupSize)?U.replace(new RegExp("\\d{"+B+"}\\B","g"),"$&"+(I.fractionGroupSeparator||"")):U):O}return(I.prefix||"")+b+(I.suffix||"")},j.toFraction=function(E){var x,I,b,v,_,C,A,B,N,O,U,W,Q=this,ee=Q.c;if(E!=null&&(A=new z(E),!A.isInteger()&&(A.c||A.s!==1)||A.lt(we)))throw Error(s+"Argument "+(A.isInteger()?"out of range: ":"not an integer: ")+Pr(A));if(!ee)return new z(Q);for(x=new z(we),N=I=new z(we),b=B=new z(we),W=g(ee),_=x.e=W.length-Q.e-1,x.c[0]=l[(C=_%c)<0?c+C:C],E=!E||A.comparedTo(x)>0?_>0?x:N:A,C=Fe,Fe=1/0,A=new z(W),B.c[0]=0;O=k(A,x,0,1),v=I.plus(O.times(b)),v.comparedTo(E)!=1;)I=b,b=v,N=B.plus(O.times(v=N)),B=v,x=A.minus(O.times(v=x)),A=v;return v=k(E.minus(I),b,0,1),B=B.plus(v.times(N)),I=I.plus(v.times(b)),B.s=N.s=Q.s,_=_*2,U=k(N,b,_,ye).minus(Q).abs().comparedTo(k(B,I,_,ye).minus(Q).abs())<1?[N,b]:[B,I],Fe=C,U},j.toNumber=function(){return+Pr(this)},j.toPrecision=function(E,x){return E!=null&&S(E,1,d),fs(this,E,x,2)},j.toString=function(E){var x,I=this,b=I.s,v=I.e;return v===null?b?(x="Infinity",b<0&&(x="-"+x)):x="NaN":(E==null?x=v<=nt||v>=it?L(g(I.c),v):H(g(I.c),v,"0"):E===10&&pn?(I=Kt(new z(I),le+v+1,ye),x=H(g(I.c),I.e,"0")):(S(E,2,Yt.length,"Base"),x=J(H(g(I.c),v,"0"),10,E,b,!0)),b<0&&I.c[0]&&(x="-"+x)),x},j.valueOf=j.toJSON=function(){return Pr(this)},j._isBigNumber=!0,q!=null&&z.set(q),z}function h(q){var k=q|0;return q>0||q===k?k:k-1}function g(q){for(var k,J,ie=1,j=q.length,we=q[0]+"";ie<j;){for(k=q[ie++]+"",J=c-k.length;J--;k="0"+k);we+=k}for(j=we.length;we.charCodeAt(--j)===48;);return we.slice(0,j+1||1)}function m(q,k){var J,ie,j=q.c,we=k.c,le=q.s,ye=k.s,nt=q.e,it=k.e;if(!le||!ye)return null;if(J=j&&!j[0],ie=we&&!we[0],J||ie)return J?ie?0:-ye:le;if(le!=ye)return le;if(J=le<0,ie=nt==it,!j||!we)return ie?0:!j^J?1:-1;if(!ie)return nt>it^J?1:-1;for(ye=(nt=j.length)<(it=we.length)?nt:it,le=0;le<ye;le++)if(j[le]!=we[le])return j[le]>we[le]^J?1:-1;return nt==it?0:nt>it^J?1:-1}function S(q,k,J,ie){if(q<k||q>J||q!==i(q))throw Error(s+(ie||"Argument")+(typeof q=="number"?q<k||q>J?" out of range: ":" not an integer: ":" not a primitive number: ")+String(q))}function R(q){var k=q.c.length-1;return h(q.e/c)==k&&q.c[k]%2!=0}function L(q,k){return(q.length>1?q.charAt(0)+"."+q.slice(1):q)+(k<0?"e":"e+")+k}function H(q,k,J){var ie,j;if(k<0){for(j=J+".";++k;j+=J);q=j+q}else if(ie=q.length,++k>ie){for(j=J,k-=ie;--k;j+=J);q+=j}else k<ie&&(q=q.slice(0,k)+"."+q.slice(k));return q}e=p(),e.default=e.BigNumber=e,typeof define=="function"&&define.amd?define(function(){return e}):typeof ku!="undefined"&&ku.exports?ku.exports=e:(t||(t=typeof self!="undefined"&&self?self:window),t.BigNumber=e)})(_S)});var CS=w((xS,AS)=>{"use strict";var xk=Math.exp;xS=AS.exports=function(e){if(typeof e!="number")throw new Error("must provide a timespan to the moving average constructor");if(e<=0)throw new Error("must provide a timespan > 0 to the moving average constructor");let r,n=0,i=0,s=0,o,a={};function c(u,l){return 1-xk(-(u-l)/e)}return a.push=function(l,f){if(o){let d=c(l,o),p=f-r,h=d*p;r=d*f+(1-d)*r,n=(1-d)*(n+p*h),i=Math.sqrt(n),s=r+d*p}else r=f;o=l},a.movingAverage=function(){return r},a.variance=function(){return n},a.deviation=function(){return i},a.forecast=function(){return s},a}});var BS=w((nV,RS)=>{"use strict";var{EventEmitter:Ak}=Qt(),{BigNumber:qu}=SS(),IS=CS(),Ck=va(),TS=class extends Ak{constructor(e,r){super();this._options=r,this._queue=[],this._stats={dataReceived:qu(0),dataSent:qu(0)},this._frequencyLastTime=Date.now(),this._frequencyAccumulators={},this._movingAverages={},this._update=this._update.bind(this);let n=this._options.movingAverageIntervals;for(let i=0;i<e.length;i++){let s=e[i];this._stats[s]=qu(0),this._movingAverages[s]={};for(let o=0;o<n.length;o++){let a=n[o];(this._movingAverages[s][a]=IS(a)).push(this._frequencyLastTime,0)}}}start(){this._queue.length&&this._resetComputeTimeout()}stop(){this._timeout&&(this._timeout.clear(),this._timeout=null)}get snapshot(){return Object.assign({},this._stats)}get movingAverages(){return Object.assign({},this._movingAverages)}toJSON(){let e=this.snapshot,r=this.movingAverages,n={dataReceived:e.dataReceived.toString(),dataSent:e.dataSent.toString(),movingAverages:{}},i=Object.keys(r);for(let s of i){n.movingAverages[s]={};for(let o of Object.keys(r[s]))n.movingAverages[s][o]=r[s][o].movingAverage()}return n}push(e,r){this._queue.push([e,r,Date.now()]),this._resetComputeTimeout()}_resetComputeTimeout(){this._timeout=Ck(this._update,this._nextTimeout())}_nextTimeout(){let e=this._queue.length/this._options.computeThrottleMaxQueueSize;return Math.max(this._options.computeThrottleTimeout*(1-e),0)}_update(){if(this._timeout=null,this._queue.length){let e;for(e of this._queue)this._applyOp(e);this._queue=[],this._updateFrequency(e[2]),this.emit("update",this._stats)}}_updateFrequency(e){let r=e-this._frequencyLastTime;Object.keys(this._stats).forEach(n=>{this._updateFrequencyFor(n,r,e)}),this._frequencyLastTime=e}_updateFrequencyFor(e,r,n){let i=this._frequencyAccumulators[e]||0;this._frequencyAccumulators[e]=0;let o=i/(r||1)*1e3,a=this._movingAverages[e];a||(a=this._movingAverages[e]={});let c=this._options.movingAverageIntervals;for(let u=0;u<c.length;u++){let l=c[u],f=a[l];f||(f=a[l]=IS(l)),f.push(n,o)}}_applyOp(e){let r=e[0],n=e[1];if(typeof n!="number")throw new Error(`invalid increment number: ${n}`);let i;Object.prototype.hasOwnProperty.call(this._stats,r)?i=this._stats[r]:i=this._stats[r]=qu(0),this._stats[r]=i.plus(n),this._frequencyAccumulators[r]||(this._frequencyAccumulators[r]=0),this._frequencyAccumulators[r]+=n}};RS.exports=TS});var OS=w((iV,NS)=>{"use strict";var Ik=Hs(),{pipe:Tk}=ir(),{tap:PS}=Lu(),Rk=wS(),{METRICS:Bk}=cu(),xh=BS(),Ah=["dataReceived","dataSent"],Pk={in:"dataReceived",out:"dataSent"},Uu=class{constructor(e){this._options=Ik(Bk,e),this._globalStats=new xh(Ah,this._options),this._peerStats=new Map,this._protocolStats=new Map,this._oldPeers=Rk(this._options.maxOldPeersRetention),this._running=!1,this._onMessage=this._onMessage.bind(this),this._systems=new Map}start(){this._running=!0}stop(){this._running=!1,this._globalStats.stop();for(let e of this._peerStats.values())e.stop();for(let e of this._protocolStats.values())e.stop()}get global(){return this._globalStats}get peers(){return Array.from(this._peerStats.keys())}getComponentMetrics(){return this._systems}updateComponentMetric({system:e="libp2p",component:r,metric:n,value:i}){this._systems.has(e)||this._systems.set(e,new Map);let s=this._systems.get(e);s.has(r)||s.set(r,new Map),s.get(r).set(n,i)}forPeer(e){let r=e.toB58String();return this._peerStats.get(r)||this._oldPeers.get(r)}get protocols(){return Array.from(this._protocolStats.keys())}forProtocol(e){return this._protocolStats.get(e)}onPeerDisconnected(e){let r=e.toB58String(),n=this._peerStats.get(r);n&&(n.stop(),this._peerStats.delete(r),this._oldPeers.set(r,n))}_onMessage({remotePeer:e,protocol:r,direction:n,dataLength:i}){if(!this._running)return;let s=Pk[n],o=this.forPeer(e);if(o||(o=new xh(Ah,this._options),this._peerStats.set(e.toB58String(),o)),o.push(s,i),this._globalStats.push(s,i),r){let a=this.forProtocol(r);a||(a=new xh(Ah,this._options),this._protocolStats.set(r,a)),a.push(s,i)}}updatePlaceholder(e,r){if(!this._running)return;let n=this.forPeer(e),i=r.toB58String(),s=this.forPeer(r),o=n;s&&(o=Uu.mergeStats(s,o),this._oldPeers.delete(i)),this._peerStats.delete(e.toB58String()),this._peerStats.set(i,o),o.start()}trackStream({stream:e,remotePeer:r,protocol:n}){let i=this,s=e.source;e.source=PS(a=>i._onMessage({remotePeer:r,protocol:n,direction:"in",dataLength:a.length}))(s);let o=e.sink;return e.sink=a=>Tk(a,PS(c=>i._onMessage({remotePeer:r,protocol:n,direction:"out",dataLength:c.length})),o),e}static mergeStats(e,r){return e.stop(),r.stop(),e._queue=[...e._queue,...r._queue],e}};NS.exports=Uu});var Mu=w((sV,qS)=>{"use strict";var DS=Ji(),LS=so(),{pipe:Nk}=ir(),Ok=de(),{fromString:Dk}=(It(),Nt),Lk=dd(),{source:kk}=bu(),kS=Dk(`
|
|
45
|
+
`);function Ch(t){return LS.encode.single(new DS([t,kS]))}function qk(t,e){t.push(Ch(e))}async function Uk(t,e){t.push(e.reduce((r,n)=>r.append(Ch(n)),new DS))}async function Mk(t,e){let r=1,n={[Symbol.asyncIterator](){return this},next:()=>t.next(r)},i=n;e&&e.signal&&(i=kk(n,e.signal));let s=a=>{r=a},o=await Nk(i,LS.decode({onLength:s}),Lk);if(o.get(o.length-1)!==kS[0])throw Ok(new Error("missing newline"),"ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return o.shallowSlice(0,-1)}qS.exports={encode:Ch,write:qk,writeAll:Uk,read:Mk}});var FS=w((oV,MS)=>{"use strict";var US=Te(),Fk=de(),go=Mu(),Kk=oo(),mo=Object.assign(US("mss:select"),{error:US("mss:select:error")});MS.exports=async function(e,r,n,i){r=Array.isArray(r)?[...r]:[r];let{reader:s,writer:o,rest:a,stream:c}=Kk(e),u=r.shift();if(!u)throw new Error("At least one protocol must be specified");n?(mo('select: write ["%s", "%s"]',n,u),go.writeAll(o,[n,u])):(mo('select: write "%s"',u),go.write(o,u));let l=(await go.read(s,i)).toString();if(mo('select: read "%s"',l),l===n&&(l=(await go.read(s,i)).toString(),mo('select: read "%s"',l)),l===u)return a(),{stream:c,protocol:u};for(let f of r){mo('select: write "%s"',f),go.write(o,f);let d=(await go.read(s,i)).toString();if(mo('select: read "%s" for "%s"',d,f),d===f)return a(),{stream:c,protocol:f}}throw a(),Fk(new Error("protocol selection failed"),"ERR_UNSUPPORTED_PROTOCOL")}});var Ih=w(KS=>{"use strict";KS.PROTOCOL_ID="/multistream/1.0.0"});var $S=w((cV,jS)=>{"use strict";var VS=Te(),Vk=Ji(),vo=Mu(),jk=oo(),{PROTOCOL_ID:Th}=Ih(),ka=Object.assign(VS("mss:handle"),{error:VS("mss:handle:error")});jS.exports=async function(e,r,n){r=Array.isArray(r)?r:[r];let{writer:i,reader:s,rest:o,stream:a}=jk(e);for(;;){let c=(await vo.read(s,n)).toString();if(ka('read "%s"',c),c===Th){ka('respond with "%s" for "%s"',Th,c),vo.write(i,Th);continue}if(r.includes(c))return vo.write(i,c),ka('respond with "%s" for "%s"',c,c),o(),{stream:a,protocol:c};if(c==="ls"){vo.write(i,new Vk(r.map(u=>vo.encode(u)))),ka('respond with "%s" for %s',r,c);continue}vo.write(i,"na"),ka('respond with "na" for "%s"',c)}}});var WS=w((uV,GS)=>{"use strict";var $k=th(),HS=Te(),zS=Mu(),Hk=oo(),zk=so(),{pipe:Gk}=ir(),Wk=Object.assign(HS("mss:ls"),{error:HS("mss:ls:error")});GS.exports=async function(e,r){let{reader:n,writer:i,rest:s,stream:o}=Hk(e);Wk('write "ls"'),zS.write(i,"ls"),s();let a=await zS.read(n,r),c=$k([a]),u=[];return await Gk(c,zk.decode(),async f=>{for await(let d of f)u.push(d.shallowSlice(0,-1).toString())}),{stream:o,protocols:u}}});var ZS=w(Fu=>{"use strict";var YS=FS(),Yk=$S(),Qk=WS(),{PROTOCOL_ID:Rh}=Ih();Fu.PROTOCOL_ID=Rh;var Bh=class{constructor(e){this._stream=e,this._shaken=!1}async _handshake(e){if(this._shaken)return;let{stream:r}=await YS(this._stream,Rh,void 0,e);this._stream=r,this._shaken=!0}},QS=class extends Bh{select(e,r){return YS(this._stream,e,this._shaken?void 0:Rh,r)}async ls(e){await this._handshake(e);let r=await Qk(this._stream,e),{stream:n,protocols:i}=r;return this._stream=n,i}};Fu.Dialer=QS;var XS=class extends Bh{handle(e,r){return Yk(this._stream,e,r)}};Fu.Listener=XS});var ex=w((fV,JS)=>{"use strict";var Xk={OPEN:"open",CLOSING:"closing",CLOSED:"closed"};JS.exports=Xk});var ox=w((dV,sx)=>{"use strict";var tx=Rt(),{Multiaddr:Zk}=qt(),or=de(),{OPEN:Jk,CLOSING:rx,CLOSED:Ph}=ex(),nx=Symbol.for("@libp2p/interface-connection/connection"),ix=class{constructor({localAddr:e,remoteAddr:r,localPeer:n,remotePeer:i,newStream:s,close:o,getStreams:a,stat:c}){e6(e,n,i,s,o,a,c),this.id=parseInt(String(Math.random()*1e9)).toString(36)+Date.now(),this.localAddr=e,this.remoteAddr=r,this.localPeer=n,this.remotePeer=i,this._stat={...c,status:Jk},this._newStream=s,this._close=o,this._getStreams=a,this.registry=new Map,this.tags=[]}get[Symbol.toStringTag](){return"Connection"}get[nx](){return!0}static isConnection(e){return Boolean(e&&e[nx])}get stat(){return this._stat}get streams(){return this._getStreams()}async newStream(e){if(this.stat.status===rx)throw or(new Error("the connection is being closed"),"ERR_CONNECTION_BEING_CLOSED");if(this.stat.status===Ph)throw or(new Error("the connection is closed"),"ERR_CONNECTION_CLOSED");Array.isArray(e)||(e=[e]);let{stream:r,protocol:n}=await this._newStream(e);return this.addStream(r,{protocol:n}),{stream:r,protocol:n}}addStream(e,{protocol:r,metadata:n={}}){this.registry.set(e.id,{protocol:r,...n})}removeStream(e){this.registry.delete(e)}async close(){if(this.stat.status!==Ph){if(this._closing)return this._closing;this.stat.status=rx,this._closing=await this._close(),this._stat.timeline.close=Date.now(),this.stat.status=Ph}}};sx.exports=ix;function e6(t,e,r,n,i,s,o){if(t&&!Zk.isMultiaddr(t))throw or(new Error("localAddr must be an instance of multiaddr"),"ERR_INVALID_PARAMETERS");if(!tx.isPeerId(e))throw or(new Error("localPeer must be an instance of peer-id"),"ERR_INVALID_PARAMETERS");if(!tx.isPeerId(r))throw or(new Error("remotePeer must be an instance of peer-id"),"ERR_INVALID_PARAMETERS");if(typeof n!="function")throw or(new Error("new stream must be a function"),"ERR_INVALID_PARAMETERS");if(typeof i!="function")throw or(new Error("close must be a function"),"ERR_INVALID_PARAMETERS");if(typeof s!="function")throw or(new Error("getStreams must be a function"),"ERR_INVALID_PARAMETERS");if(!o)throw or(new Error("connection metadata object must be provided"),"ERR_INVALID_PARAMETERS");if(o.direction!=="inbound"&&o.direction!=="outbound")throw or(new Error('direction must be "inbound" or "outbound"'),"ERR_INVALID_PARAMETERS");if(!o.timeline)throw or(new Error("connection timeline object must be provided in the stat object"),"ERR_INVALID_PARAMETERS");if(!o.timeline.open)throw or(new Error("connection open timestamp must be provided"),"ERR_INVALID_PARAMETERS");if(!o.timeline.upgraded)throw or(new Error("connection upgraded timestamp must be provided"),"ERR_INVALID_PARAMETERS")}});var cx=w(ax=>{"use strict";ax.Connection=ox()});var lx=w((pV,ux)=>{"use strict";function t6(t){if(Array.isArray(t)){for(var e=0,r=Array(t.length);e<t.length;e++)r[e]=t[e];return r}else return Array.from(t)}ux.exports=function(e){var r=void 0,n=void 0;function i(a){if(!(a instanceof Object))throw new Error('Target "'+a+'" is not an object');n=a}function s(a){Object.keys(a).forEach(function(c){var u=a[c];if(typeof u!="function")throw new Error('Trap "'+c+": "+u+'" is not a function');if(!Reflect[c])throw new Error('Trap "'+c+": "+u+'" is not a valid trap')}),r=a}i(function(){}),e&&i(e),s(Reflect);var o=new Proxy({},{get:function(c,u){return function(){for(var l=arguments.length,f=Array(l),d=0;d<l;d++)f[d]=arguments[d];return r[u].apply(null,[n].concat(t6(f.slice(1))))}}});return{setTarget:i,setHandler:s,getTarget:function(){return n},getHandler:function(){return r},proxy:new Proxy(n,o)}}});var yx=w((yV,px)=>{"use strict";var fx=Te(),vt=Object.assign(fx("libp2p:upgrader"),{error:fx("libp2p:upgrader:err")}),ar=de(),bo=ZS(),{Connection:r6}=cx(),n6=Rt(),{pipe:i6}=ir(),dx=lx(),{codes:cr}=je(),hx=class{constructor({localPeer:e,metrics:r,connectionGater:n,cryptos:i=new Map,muxers:s=new Map,onConnectionEnd:o=()=>{},onConnection:a=()=>{}}){this.connectionGater=n,this.localPeer=e,this.metrics=r,this.cryptos=i,this.muxers=s,this.protector=null,this.protocols=new Map,this.onConnection=a,this.onConnectionEnd=o}async upgradeInbound(e){let r,n,i,s,o,a,c;if(await this.connectionGater.denyInboundConnection(e))throw ar(new Error("The multiaddr connection is blocked by gater.acceptConnection"),cr.ERR_CONNECTION_INTERCEPTED);if(this.metrics){({setTarget:a,proxy:c}=dx());let l=(Math.random()*1e9).toString(36)+Date.now();a({toB58String:()=>l}),e=this.metrics.trackStream({stream:e,remotePeer:c})}vt("Starting the inbound connection upgrade");let u=e;this.protector&&(u=await this.protector.protect(e));try{if({conn:r,remotePeer:n,protocol:o}=await this._encryptInbound(this.localPeer,u,this.cryptos),await this.connectionGater.denyInboundEncryptedConnection(n,r))throw ar(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),cr.ERR_CONNECTION_INTERCEPTED);this.muxers.size?{stream:i,Muxer:s}=await this._multiplexInbound(r,this.muxers):i=r}catch(l){throw vt.error("Failed to upgrade inbound connection",l),await e.close(l),l}if(await this.connectionGater.denyInboundUpgradedConnection(n,r))throw ar(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),cr.ERR_CONNECTION_INTERCEPTED);return this.metrics&&(this.metrics.updatePlaceholder(c,n),a(n)),vt("Successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:o,direction:"inbound",maConn:e,upgradedConn:i,Muxer:s,remotePeer:n})}async upgradeOutbound(e){let r=e.remoteAddr.getPeerId();if(!r)throw ar(new Error("outbound connection must have a peer id"),cr.ERR_INVALID_MULTIADDR);let n=n6.createFromB58String(r);if(await this.connectionGater.denyOutboundConnection(n,e))throw ar(new Error("The multiaddr connection is blocked by connectionGater.denyOutboundConnection"),cr.ERR_CONNECTION_INTERCEPTED);let i,s,o,a,c,u,l;if(this.metrics){({setTarget:u,proxy:l}=dx());let d=(Math.random()*1e9).toString(36)+Date.now();u({toB58String:()=>d}),e=this.metrics.trackStream({stream:e,remotePeer:l})}vt("Starting the outbound connection upgrade");let f=e;this.protector&&(f=await this.protector.protect(e));try{if({conn:i,remotePeer:s,protocol:a}=await this._encryptOutbound(this.localPeer,f,n,this.cryptos),await this.connectionGater.denyOutboundEncryptedConnection(s,i))throw ar(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),cr.ERR_CONNECTION_INTERCEPTED);this.muxers.size?{stream:o,Muxer:c}=await this._multiplexOutbound(i,this.muxers):o=i}catch(d){throw vt.error("Failed to upgrade outbound connection",d),await e.close(d),d}if(await this.connectionGater.denyOutboundUpgradedConnection(s,i))throw ar(new Error("The multiaddr connection is blocked by gater.acceptEncryptedConnection"),cr.ERR_CONNECTION_INTERCEPTED);return this.metrics&&(this.metrics.updatePlaceholder(l,s),u(s)),vt("Successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:a,direction:"outbound",maConn:e,upgradedConn:o,Muxer:c,remotePeer:s})}_createConnection({cryptoProtocol:e,direction:r,maConn:n,upgradedConn:i,Muxer:s,remotePeer:o}){let a,c,u;s&&(a=new s({onStream:async d=>{if(!u)return;let p=new bo.Listener(d);try{let{stream:h,protocol:g}=await p.handle(Array.from(this.protocols.keys()));vt("%s: incoming stream opened on %s",r,g),this.metrics&&this.metrics.trackStream({stream:h,remotePeer:o,protocol:g}),u.addStream(d,{protocol:g}),this._onStream({connection:u,stream:{...d,...h},protocol:g})}catch(h){vt.error(h)}},onStreamEnd:d=>{u.removeStream(d.id)}}),c=async d=>{vt("%s: starting new stream on %s",r,d);let p=a.newStream(),h=new bo.Dialer(p);try{let{stream:g,protocol:m}=await h.select(d);return this.metrics&&this.metrics.trackStream({stream:g,remotePeer:o,protocol:m}),{stream:{...p,...g},protocol:m}}catch(g){throw vt.error("could not create new stream",g),ar(g,cr.ERR_UNSUPPORTED_PROTOCOL)}},i6(i,a,i).catch(vt.error));let l=n.timeline;n.timeline=new Proxy(l,{set:(...d)=>(u&&d[1]==="close"&&d[2]&&!l.close&&(async()=>{try{u.stat.status==="open"&&await u.close()}catch(p){vt.error(p)}finally{this.onConnectionEnd(u)}})().catch(p=>{vt.error(p)}),Reflect.set(...d))}),n.timeline.upgraded=Date.now();let f=()=>{throw ar(new Error("connection is not multiplexed"),cr.ERR_CONNECTION_NOT_MULTIPLEXED)};return u=new r6({localAddr:n.localAddr,remoteAddr:n.remoteAddr,localPeer:this.localPeer,remotePeer:o,stat:{direction:r,timeline:n.timeline,multiplexer:s&&s.multicodec,encryption:e},newStream:c||f,getStreams:()=>a?a.streams:f(),close:async()=>{await n.close(),a&&a.streams.map(d=>d.abort())}}),this.onConnection(u),u}_onStream({connection:e,stream:r,protocol:n}){this.protocols.get(n)({connection:e,stream:r,protocol:n})}async _encryptInbound(e,r,n){let i=new bo.Listener(r),s=Array.from(n.keys());vt("handling inbound crypto protocol selection",s);try{let{stream:o,protocol:a}=await i.handle(s),c=n.get(a);if(vt("encrypting inbound connection..."),!c)throw new Error(`no crypto module found for ${a}`);return{...await c.secureInbound(e,o),protocol:a}}catch(o){throw ar(o,cr.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r,n,i){let s=new bo.Dialer(r),o=Array.from(i.keys());vt("selecting outbound crypto protocol",o);try{let{stream:a,protocol:c}=await s.select(o),u=i.get(c);if(vt("encrypting outbound connection to %j",n),!u)throw new Error(`no crypto module found for ${c}`);return{...await u.secureOutbound(e,a,n),protocol:c}}catch(a){throw ar(a,cr.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=new bo.Dialer(e),i=Array.from(r.keys());vt("outbound selecting muxer %s",i);try{let{stream:s,protocol:o}=await n.select(i);vt("%s selected as muxer protocol",o);let a=r.get(o);return{stream:s,Muxer:a}}catch(s){throw ar(s,cr.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=new bo.Listener(e),i=Array.from(r.keys());vt("inbound handling muxers %s",i);try{let{stream:s,protocol:o}=await n.handle(i),a=r.get(o);return{stream:s,Muxer:a}}catch(s){throw ar(s,cr.ERR_MUXER_UNAVAILABLE)}}};px.exports=hx});var mx=w((gV,gx)=>{"use strict";var s6=async function*(t,e){for await(let r of t)await e(r),yield r};gx.exports=s6});var xx=w((mV,Sx)=>{"use strict";var vx=Te(),os=de(),{Multiaddr:bx}=qt(),Ku=Rt(),{codes:Kr}=je(),Ex=pu(),wx=du(),{pipe:o6}=ir(),a6=Mi(),c6=Fi(),u6=id(),l6=mx(),ke=Object.assign(vx("libp2p:peer-store:address-book"),{error:vx("libp2p:peer-store:address-book:err")}),Vu="change:multiaddrs",_x=class{constructor(e,r,n){this._emit=e,this._store=r,this._addressFilter=n}async consumePeerRecord(e){ke("consumePeerRecord await write lock");let r=await this._store.lock.writeLock();ke("consumePeerRecord got write lock");let n,i;try{let s;try{s=Ex.createFromProtobuf(e.payload)}catch(a){return ke.error("invalid peer record received"),!1}n=s.peerId;let o=s.multiaddrs;if(!n.equals(e.peerId))return ke("signing key does not match PeerId in the PeerRecord"),!1;if(!o||!o.length)return!1;if(await this._store.has(n)){let a=await this._store.load(n);if(a.peerRecordEnvelope){let c=await wx.createFromProtobuf(a.peerRecordEnvelope);if(Ex.createFromProtobuf(c.payload).seqNumber>=s.seqNumber)return!1}}i=await this._store.patchOrCreate(n,{addresses:await Nh(n,o,this._addressFilter,!0),peerRecordEnvelope:e.marshal()}),ke(`stored provided peer record for ${s.peerId.toB58String()}`)}finally{ke("consumePeerRecord release write lock"),r()}return this._emit(Vu,{peerId:n,multiaddrs:i.addresses.map(({multiaddr:s})=>s)}),!0}async getRawEnvelope(e){ke("getRawEnvelope await read lock");let r=await this._store.lock.readLock();ke("getRawEnvelope got read lock");try{return(await this._store.load(e)).peerRecordEnvelope}catch(n){if(n.code!==Kr.ERR_NOT_FOUND)throw n}finally{ke("getRawEnvelope release read lock"),r()}}async getPeerRecord(e){let r=await this.getRawEnvelope(e);if(!!r)return wx.createFromProtobuf(r)}async get(e){if(!Ku.isPeerId(e))throw ke.error("peerId must be an instance of peer-id to store data"),os(new Error("peerId must be an instance of peer-id"),Kr.ERR_INVALID_PARAMETERS);ke("get wait for read lock");let r=await this._store.lock.readLock();ke("get got read lock");try{return(await this._store.load(e)).addresses}catch(n){if(n.code!==Kr.ERR_NOT_FOUND)throw n}finally{ke("get release read lock"),r()}return[]}async set(e,r){if(!Ku.isPeerId(e))throw ke.error("peerId must be an instance of peer-id to store data"),os(new Error("peerId must be an instance of peer-id"),Kr.ERR_INVALID_PARAMETERS);if(!Array.isArray(r))throw ke.error("multiaddrs must be an array of Multiaddrs"),os(new Error("multiaddrs must be an array of Multiaddrs"),Kr.ERR_INVALID_PARAMETERS);ke("set await write lock");let n=await this._store.lock.writeLock();ke("set got write lock");let i=!1,s;try{let o=await Nh(e,r,this._addressFilter);if(!o.length)return;try{let a=await this._store.load(e);if(i=!0,new Set([...o.map(({multiaddr:c})=>c.toString()),...a.addresses.map(({multiaddr:c})=>c.toString())]).size===a.addresses.length&&o.length===a.addresses.length)return}catch(a){if(a.code!==Kr.ERR_NOT_FOUND)throw a}s=await this._store.patchOrCreate(e,{addresses:o}),ke(`set multiaddrs for ${e.toB58String()}`)}finally{ke("set release write lock"),n()}this._emit(Vu,{peerId:e,multiaddrs:s.addresses.map(o=>o.multiaddr)}),i||this._emit("peer",e)}async add(e,r){if(!Ku.isPeerId(e))throw ke.error("peerId must be an instance of peer-id to store data"),os(new Error("peerId must be an instance of peer-id"),Kr.ERR_INVALID_PARAMETERS);if(!Array.isArray(r))throw ke.error("multiaddrs must be an array of Multiaddrs"),os(new Error("multiaddrs must be an array of Multiaddrs"),Kr.ERR_INVALID_PARAMETERS);ke("add await write lock");let n=await this._store.lock.writeLock();ke("add got write lock");let i,s;try{let o=await Nh(e,r,this._addressFilter);if(!o.length)return;try{let a=await this._store.load(e);if(i=!0,new Set([...o.map(({multiaddr:c})=>c.toString()),...a.addresses.map(({multiaddr:c})=>c.toString())]).size===a.addresses.length)return}catch(a){if(a.code!==Kr.ERR_NOT_FOUND)throw a}s=await this._store.mergeOrCreate(e,{addresses:o}),ke(`added multiaddrs for ${e}`)}finally{ke("set release write lock"),n()}this._emit(Vu,{peerId:e,multiaddrs:s.addresses.map(o=>o.multiaddr)}),i||this._emit("peer",e)}async delete(e){if(!Ku.isPeerId(e))throw ke.error("peerId must be an instance of peer-id to store data"),os(new Error("peerId must be an instance of peer-id"),Kr.ERR_INVALID_PARAMETERS);ke("delete await write lock");let r=await this._store.lock.writeLock();ke("delete got write lock");let n;try{n=await this._store.has(e),await this._store.patchOrCreate(e,{addresses:[]})}finally{ke("delete release write lock"),r()}n&&this._emit(Vu,{peerId:e,multiaddrs:[]})}async getMultiaddrsForPeer(e,r=n=>n){let n=await this.get(e);return r(n).map(i=>{let s=i.multiaddr,o=s.getPeerId();return o&&o===e.toB58String()?s:s.encapsulate(`/p2p/${e.toB58String()}`)})}};function Nh(t,e,r,n=!1){return o6(e,i=>l6(i,s=>{if(!bx.isMultiaddr(s))throw ke.error("multiaddr must be an instance of Multiaddr"),os(new Error("multiaddr must be an instance of Multiaddr"),Kr.ERR_INVALID_PARAMETERS)}),i=>c6(i,s=>r(t,s)),i=>u6(i,s=>({multiaddr:new bx(s.toString()),isCertified:n})),i=>a6(i))}Sx.exports=_x});var Rx=w((vV,Tx)=>{"use strict";var Ax=Te(),ju=de(),{codes:Eo}=je(),Oh=Rt(),{equals:f6}=(mr(),gr),ur=Object.assign(Ax("libp2p:peer-store:key-book"),{error:Ax("libp2p:peer-store:key-book:err")}),Cx="change:pubkey",Ix=class{constructor(e,r){this._emit=e,this._store=r}async set(e,r){if(!Oh.isPeerId(e))throw ur.error("peerId must be an instance of peer-id to store data"),ju(new Error("peerId must be an instance of peer-id"),Eo.ERR_INVALID_PARAMETERS);if(!r)throw ur.error("publicKey must be an instance of PublicKey to store data"),ju(new Error("publicKey must be an instance of PublicKey"),Eo.ERR_INVALID_PARAMETERS);ur("set await write lock");let n=await this._store.lock.writeLock();ur("set got write lock");let i=!1;try{try{let s=await this._store.load(e);if(s.pubKey&&f6(s.pubKey.bytes,r.bytes))return}catch(s){if(s.code!==Eo.ERR_NOT_FOUND)throw s}await this._store.patchOrCreate(e,{pubKey:r}),i=!0}finally{ur("set release write lock"),n()}i&&this._emit(Cx,{peerId:e,pubKey:r})}async get(e){if(!Oh.isPeerId(e))throw ur.error("peerId must be an instance of peer-id to store data"),ju(new Error("peerId must be an instance of peer-id"),Eo.ERR_INVALID_PARAMETERS);ur("get await write lock");let r=await this._store.lock.readLock();ur("get got write lock");try{return(await this._store.load(e)).pubKey}catch(n){if(n.code!==Eo.ERR_NOT_FOUND)throw n}finally{ur("get release write lock"),r()}}async delete(e){if(!Oh.isPeerId(e))throw ur.error("peerId must be an instance of peer-id to store data"),ju(new Error("peerId must be an instance of peer-id"),Eo.ERR_INVALID_PARAMETERS);ur("delete await write lock");let r=await this._store.lock.writeLock();ur("delete got write lock");try{await this._store.patchOrCreate(e,{pubKey:void 0})}finally{ur("delete release write lock"),r()}this._emit(Cx,{peerId:e,pubKey:void 0})}};Tx.exports=Ix});var Ox=w((bV,Nx)=>{"use strict";var Bx=Te(),pi=de(),{codes:Tr}=je(),wo=Rt(),{equals:d6}=(mr(),gr),We=Object.assign(Bx("libp2p:peer-store:metadata-book"),{error:Bx("libp2p:peer-store:metadata-book:err")}),$u="change:metadata",Px=class{constructor(e,r){this._emit=e,this._store=r}async get(e){if(!wo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),pi(new Error("peerId must be an instance of peer-id"),Tr.ERR_INVALID_PARAMETERS);We("get await read lock");let r=await this._store.lock.readLock();We("get got read lock");try{return(await this._store.load(e)).metadata}catch(n){if(n.code!==Tr.ERR_NOT_FOUND)throw n}finally{We("get release read lock"),r()}return new Map}async getValue(e,r){if(!wo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),pi(new Error("peerId must be an instance of peer-id"),Tr.ERR_INVALID_PARAMETERS);We("getValue await read lock");let n=await this._store.lock.readLock();We("getValue got read lock");try{return(await this._store.load(e)).metadata.get(r)}catch(i){if(i.code!==Tr.ERR_NOT_FOUND)throw i}finally{We("getValue release write lock"),n()}}async set(e,r){if(!wo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),pi(new Error("peerId must be an instance of peer-id"),Tr.ERR_INVALID_PARAMETERS);if(!r||!(r instanceof Map))throw We.error("valid metadata must be provided to store data"),pi(new Error("valid metadata must be provided"),Tr.ERR_INVALID_PARAMETERS);We("set await write lock");let n=await this._store.lock.writeLock();We("set got write lock");try{await this._store.mergeOrCreate(e,{metadata:r})}finally{We("set release write lock"),n()}this._emit($u,{peerId:e,metadata:r})}async setValue(e,r,n){if(!wo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),pi(new Error("peerId must be an instance of peer-id"),Tr.ERR_INVALID_PARAMETERS);if(typeof r!="string"||!(n instanceof Uint8Array))throw We.error("valid key and value must be provided to store data"),pi(new Error("valid key and value must be provided"),Tr.ERR_INVALID_PARAMETERS);We("setValue await write lock");let i=await this._store.lock.writeLock();We("setValue got write lock");let s;try{try{let a=(await this._store.load(e)).metadata.get(r);if(a!=null&&d6(n,a))return}catch(o){if(o.code!==Tr.ERR_NOT_FOUND)throw o}s=await this._store.mergeOrCreate(e,{metadata:new Map([[r,n]])})}finally{We("setValue release write lock"),i()}this._emit($u,{peerId:e,metadata:s.metadata})}async delete(e){if(!wo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),pi(new Error("peerId must be an instance of peer-id"),Tr.ERR_INVALID_PARAMETERS);We("delete await write lock");let r=await this._store.lock.writeLock();We("delete got write lock");let n;try{n=await this._store.has(e),n&&await this._store.patch(e,{metadata:new Map})}finally{We("delete release write lock"),r()}n&&this._emit($u,{peerId:e,metadata:new Map})}async deleteValue(e,r){if(!wo.isPeerId(e))throw We.error("peerId must be an instance of peer-id to store data"),pi(new Error("peerId must be an instance of peer-id"),Tr.ERR_INVALID_PARAMETERS);We("deleteValue await write lock");let n=await this._store.lock.writeLock();We("deleteValue got write lock");let i;try{i=(await this._store.load(e)).metadata,i.delete(r),await this._store.patch(e,{metadata:i})}catch(s){if(s.code!==Tr.ERR_NOT_FOUND)throw s}finally{We("deleteValue release write lock"),n()}i&&this._emit($u,{peerId:e,metadata:i})}};Nx.exports=Px});var qx=w((EV,kx)=>{"use strict";var Dx=Te(),_o=de(),{codes:Vr}=je(),Dh=Rt(),ot=Object.assign(Dx("libp2p:peer-store:proto-book"),{error:Dx("libp2p:peer-store:proto-book:err")}),Hu="change:protocols",Lx=class{constructor(e,r){this._emit=e,this._store=r}async get(e){ot("get wait for read lock");let r=await this._store.lock.readLock();ot("get got read lock");try{return(await this._store.load(e)).protocols}catch(n){if(n.code!==Vr.ERR_NOT_FOUND)throw n}finally{ot("get release read lock"),r()}return[]}async set(e,r){if(!Dh.isPeerId(e))throw ot.error("peerId must be an instance of peer-id to store data"),_o(new Error("peerId must be an instance of peer-id"),Vr.ERR_INVALID_PARAMETERS);if(!Array.isArray(r))throw ot.error("protocols must be provided to store data"),_o(new Error("protocols must be provided"),Vr.ERR_INVALID_PARAMETERS);ot("set await write lock");let n=await this._store.lock.writeLock();ot("set got write lock");let i;try{try{let s=await this._store.load(e);if(new Set([...r]).size===s.protocols.length)return}catch(s){if(s.code!==Vr.ERR_NOT_FOUND)throw s}i=await this._store.patchOrCreate(e,{protocols:r}),ot(`stored provided protocols for ${e.toB58String()}`)}finally{ot("set release write lock"),n()}this._emit(Hu,{peerId:e,protocols:i.protocols})}async add(e,r){if(!Dh.isPeerId(e))throw ot.error("peerId must be an instance of peer-id to store data"),_o(new Error("peerId must be an instance of peer-id"),Vr.ERR_INVALID_PARAMETERS);if(!Array.isArray(r))throw ot.error("protocols must be provided to store data"),_o(new Error("protocols must be provided"),Vr.ERR_INVALID_PARAMETERS);ot("add await write lock");let n=await this._store.lock.writeLock();ot("add got write lock");let i;try{try{let s=await this._store.load(e);if(new Set([...s.protocols,...r]).size===s.protocols.length)return}catch(s){if(s.code!==Vr.ERR_NOT_FOUND)throw s}i=await this._store.mergeOrCreate(e,{protocols:r}),ot(`added provided protocols for ${e.toB58String()}`)}finally{ot("add release write lock"),n()}this._emit(Hu,{peerId:e,protocols:i.protocols})}async remove(e,r){if(!Dh.isPeerId(e))throw ot.error("peerId must be an instance of peer-id to store data"),_o(new Error("peerId must be an instance of peer-id"),Vr.ERR_INVALID_PARAMETERS);if(!Array.isArray(r))throw ot.error("protocols must be provided to store data"),_o(new Error("protocols must be provided"),Vr.ERR_INVALID_PARAMETERS);ot("remove await write lock");let n=await this._store.lock.writeLock();ot("remove got write lock");let i;try{try{let s=await this._store.load(e),o=new Set(s.protocols);for(let a of r)o.delete(a);if(s.protocols.length===o.size)return;r=Array.from(o)}catch(s){if(s.code!==Vr.ERR_NOT_FOUND)throw s}i=await this._store.patchOrCreate(e,{protocols:r})}finally{ot("remove release write lock"),n()}this._emit(Hu,{peerId:e,protocols:i.protocols})}async delete(e){ot("delete await write lock");let r=await this._store.lock.writeLock();ot("delete got write lock");let n;try{n=await this._store.has(e),await this._store.patchOrCreate(e,{protocols:[]})}catch(i){if(i.code!==Vr.ERR_NOT_FOUND)throw i}finally{ot("delete release write lock"),r()}n&&this._emit(Hu,{peerId:e,protocols:[]})}};kx.exports=Lx});var Mx=w((wV,Ux)=>{"use strict";var yi=gn(),So=yi.Reader,Lh=yi.Writer,Me=yi.util,yt=yi.roots["libp2p-peer"]||(yi.roots["libp2p-peer"]={});yt.Peer=function(){function t(r){if(this.addresses=[],this.protocols=[],this.metadata=[],r)for(var n=Object.keys(r),i=0;i<n.length;++i)r[n[i]]!=null&&(this[n[i]]=r[n[i]])}t.prototype.addresses=Me.emptyArray,t.prototype.protocols=Me.emptyArray,t.prototype.metadata=Me.emptyArray,t.prototype.pubKey=null,t.prototype.peerRecordEnvelope=null;var e;return Object.defineProperty(t.prototype,"_pubKey",{get:Me.oneOfGetter(e=["pubKey"]),set:Me.oneOfSetter(e)}),Object.defineProperty(t.prototype,"_peerRecordEnvelope",{get:Me.oneOfGetter(e=["peerRecordEnvelope"]),set:Me.oneOfSetter(e)}),t.encode=function(n,i){if(i||(i=Lh.create()),n.addresses!=null&&n.addresses.length)for(var s=0;s<n.addresses.length;++s)yt.Address.encode(n.addresses[s],i.uint32(10).fork()).ldelim();if(n.protocols!=null&&n.protocols.length)for(var s=0;s<n.protocols.length;++s)i.uint32(18).string(n.protocols[s]);if(n.metadata!=null&&n.metadata.length)for(var s=0;s<n.metadata.length;++s)yt.Metadata.encode(n.metadata[s],i.uint32(26).fork()).ldelim();return n.pubKey!=null&&Object.hasOwnProperty.call(n,"pubKey")&&i.uint32(34).bytes(n.pubKey),n.peerRecordEnvelope!=null&&Object.hasOwnProperty.call(n,"peerRecordEnvelope")&&i.uint32(42).bytes(n.peerRecordEnvelope),i},t.decode=function(n,i){n instanceof So||(n=So.create(n));for(var s=i===void 0?n.len:n.pos+i,o=new yt.Peer;n.pos<s;){var a=n.uint32();switch(a>>>3){case 1:o.addresses&&o.addresses.length||(o.addresses=[]),o.addresses.push(yt.Address.decode(n,n.uint32()));break;case 2:o.protocols&&o.protocols.length||(o.protocols=[]),o.protocols.push(n.string());break;case 3:o.metadata&&o.metadata.length||(o.metadata=[]),o.metadata.push(yt.Metadata.decode(n,n.uint32()));break;case 4:o.pubKey=n.bytes();break;case 5:o.peerRecordEnvelope=n.bytes();break;default:n.skipType(a&7);break}}return o},t.fromObject=function(n){if(n instanceof yt.Peer)return n;var i=new yt.Peer;if(n.addresses){if(!Array.isArray(n.addresses))throw TypeError(".Peer.addresses: array expected");i.addresses=[];for(var s=0;s<n.addresses.length;++s){if(typeof n.addresses[s]!="object")throw TypeError(".Peer.addresses: object expected");i.addresses[s]=yt.Address.fromObject(n.addresses[s])}}if(n.protocols){if(!Array.isArray(n.protocols))throw TypeError(".Peer.protocols: array expected");i.protocols=[];for(var s=0;s<n.protocols.length;++s)i.protocols[s]=String(n.protocols[s])}if(n.metadata){if(!Array.isArray(n.metadata))throw TypeError(".Peer.metadata: array expected");i.metadata=[];for(var s=0;s<n.metadata.length;++s){if(typeof n.metadata[s]!="object")throw TypeError(".Peer.metadata: object expected");i.metadata[s]=yt.Metadata.fromObject(n.metadata[s])}}return n.pubKey!=null&&(typeof n.pubKey=="string"?Me.base64.decode(n.pubKey,i.pubKey=Me.newBuffer(Me.base64.length(n.pubKey)),0):n.pubKey.length&&(i.pubKey=n.pubKey)),n.peerRecordEnvelope!=null&&(typeof n.peerRecordEnvelope=="string"?Me.base64.decode(n.peerRecordEnvelope,i.peerRecordEnvelope=Me.newBuffer(Me.base64.length(n.peerRecordEnvelope)),0):n.peerRecordEnvelope.length&&(i.peerRecordEnvelope=n.peerRecordEnvelope)),i},t.toObject=function(n,i){i||(i={});var s={};if((i.arrays||i.defaults)&&(s.addresses=[],s.protocols=[],s.metadata=[]),n.addresses&&n.addresses.length){s.addresses=[];for(var o=0;o<n.addresses.length;++o)s.addresses[o]=yt.Address.toObject(n.addresses[o],i)}if(n.protocols&&n.protocols.length){s.protocols=[];for(var o=0;o<n.protocols.length;++o)s.protocols[o]=n.protocols[o]}if(n.metadata&&n.metadata.length){s.metadata=[];for(var o=0;o<n.metadata.length;++o)s.metadata[o]=yt.Metadata.toObject(n.metadata[o],i)}return n.pubKey!=null&&n.hasOwnProperty("pubKey")&&(s.pubKey=i.bytes===String?Me.base64.encode(n.pubKey,0,n.pubKey.length):i.bytes===Array?Array.prototype.slice.call(n.pubKey):n.pubKey,i.oneofs&&(s._pubKey="pubKey")),n.peerRecordEnvelope!=null&&n.hasOwnProperty("peerRecordEnvelope")&&(s.peerRecordEnvelope=i.bytes===String?Me.base64.encode(n.peerRecordEnvelope,0,n.peerRecordEnvelope.length):i.bytes===Array?Array.prototype.slice.call(n.peerRecordEnvelope):n.peerRecordEnvelope,i.oneofs&&(s._peerRecordEnvelope="peerRecordEnvelope")),s},t.prototype.toJSON=function(){return this.constructor.toObject(this,yi.util.toJSONOptions)},t}();yt.Address=function(){function t(r){if(r)for(var n=Object.keys(r),i=0;i<n.length;++i)r[n[i]]!=null&&(this[n[i]]=r[n[i]])}t.prototype.multiaddr=Me.newBuffer([]),t.prototype.isCertified=null;var e;return Object.defineProperty(t.prototype,"_isCertified",{get:Me.oneOfGetter(e=["isCertified"]),set:Me.oneOfSetter(e)}),t.encode=function(n,i){return i||(i=Lh.create()),n.multiaddr!=null&&Object.hasOwnProperty.call(n,"multiaddr")&&i.uint32(10).bytes(n.multiaddr),n.isCertified!=null&&Object.hasOwnProperty.call(n,"isCertified")&&i.uint32(16).bool(n.isCertified),i},t.decode=function(n,i){n instanceof So||(n=So.create(n));for(var s=i===void 0?n.len:n.pos+i,o=new yt.Address;n.pos<s;){var a=n.uint32();switch(a>>>3){case 1:o.multiaddr=n.bytes();break;case 2:o.isCertified=n.bool();break;default:n.skipType(a&7);break}}return o},t.fromObject=function(n){if(n instanceof yt.Address)return n;var i=new yt.Address;return n.multiaddr!=null&&(typeof n.multiaddr=="string"?Me.base64.decode(n.multiaddr,i.multiaddr=Me.newBuffer(Me.base64.length(n.multiaddr)),0):n.multiaddr.length&&(i.multiaddr=n.multiaddr)),n.isCertified!=null&&(i.isCertified=Boolean(n.isCertified)),i},t.toObject=function(n,i){i||(i={});var s={};return i.defaults&&(i.bytes===String?s.multiaddr="":(s.multiaddr=[],i.bytes!==Array&&(s.multiaddr=Me.newBuffer(s.multiaddr)))),n.multiaddr!=null&&n.hasOwnProperty("multiaddr")&&(s.multiaddr=i.bytes===String?Me.base64.encode(n.multiaddr,0,n.multiaddr.length):i.bytes===Array?Array.prototype.slice.call(n.multiaddr):n.multiaddr),n.isCertified!=null&&n.hasOwnProperty("isCertified")&&(s.isCertified=n.isCertified,i.oneofs&&(s._isCertified="isCertified")),s},t.prototype.toJSON=function(){return this.constructor.toObject(this,yi.util.toJSONOptions)},t}();yt.Metadata=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.key="",t.prototype.value=Me.newBuffer([]),t.encode=function(r,n){return n||(n=Lh.create()),r.key!=null&&Object.hasOwnProperty.call(r,"key")&&n.uint32(10).string(r.key),r.value!=null&&Object.hasOwnProperty.call(r,"value")&&n.uint32(18).bytes(r.value),n},t.decode=function(r,n){r instanceof So||(r=So.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new yt.Metadata;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.key=r.string();break;case 2:s.value=r.bytes();break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof yt.Metadata)return r;var n=new yt.Metadata;return r.key!=null&&(n.key=String(r.key)),r.value!=null&&(typeof r.value=="string"?Me.base64.decode(r.value,n.value=Me.newBuffer(Me.base64.length(r.value)),0):r.value.length&&(n.value=r.value)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(i.key="",n.bytes===String?i.value="":(i.value=[],n.bytes!==Array&&(i.value=Me.newBuffer(i.value)))),r.key!=null&&r.hasOwnProperty("key")&&(i.key=r.key),r.value!=null&&r.hasOwnProperty("value")&&(i.value=n.bytes===String?Me.base64.encode(r.value,0,r.value.length):n.bytes===Array?Array.prototype.slice.call(r.value):r.value),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,yi.util.toJSONOptions)},t}();Ux.exports=yt});var kh=w((_V,Fx)=>{Fx.exports={WORKER_REQUEST_READ_LOCK:"lock:worker:request-read",WORKER_RELEASE_READ_LOCK:"lock:worker:release-read",MASTER_GRANT_READ_LOCK:"lock:master:grant-read",WORKER_REQUEST_WRITE_LOCK:"lock:worker:request-write",WORKER_RELEASE_WRITE_LOCK:"lock:worker:release-write",MASTER_GRANT_WRITE_LOCK:"lock:master:grant-write"}});var Kx=w(()=>{});var Xx=w((AV,Qx)=>{var h6=Qt().EventEmitter,{nanoid:p6}=(Xc(),td),{WORKER_REQUEST_READ_LOCK:Vx,WORKER_RELEASE_READ_LOCK:jx,MASTER_GRANT_READ_LOCK:$x,WORKER_REQUEST_WRITE_LOCK:Hx,WORKER_RELEASE_WRITE_LOCK:zx,MASTER_GRANT_WRITE_LOCK:Gx}=kh(),qa,Wx=(t,e,r,n,i)=>(s,o)=>{o&&o.type===r&&t.emit(e,o.name,()=>(s.send({type:i,name:o.name,identifier:o.identifier}),new Promise(a=>{let c=u=>{u&&u.type===n&&u.identifier===o.identifier&&(s.removeListener("message",c),a())};s.on("message",c)})))},Yx=(t,e,r,n)=>()=>{let i=p6();return process.send({type:e,identifier:i,name:t}),new Promise(s=>{let o=a=>{a&&a.type===r&&a.identifier===i&&(process.removeListener("message",o),s(()=>{process.send({type:n,identifier:i,name:t})}))};process.on("message",o)})};Qx.exports=t=>{try{if(qa=Kx(),!Object.keys(qa).length)return}catch(e){return}if(qa.isMaster||t.singleProcess){let e=new h6;return qa.on("message",Wx(e,"requestReadLock",Vx,jx,$x)),qa.on("message",Wx(e,"requestWriteLock",Hx,zx,Gx)),e}return{isWorker:!0,readLock:e=>Yx(e,Vx,$x,jx),writeLock:e=>Yx(e,Hx,Gx,zx)}}});var qh=w((CV,Zx)=>{var gi={},xo=t=>{t.addEventListener("message",e=>{xo.dispatchEvent("message",t,e)}),t.port&&t.port.addEventListener("message",e=>{xo.dispatchEvent("message",t,e)})};xo.addEventListener=(t,e)=>{gi[t]||(gi[t]=[]),gi[t].push(e)};xo.removeEventListener=(t,e)=>{!gi[t]||(gi[t]=gi[t].filter(r=>r===e))};xo.dispatchEvent=function(){let t=Array.prototype.slice.call(arguments),e=t.shift();!gi[e]||gi[e].forEach(r=>r.apply(null,t))};Zx.exports=xo});var uA=w((IV,cA)=>{var y6=Qt().EventEmitter,{nanoid:g6}=(Xc(),td),{WORKER_REQUEST_READ_LOCK:Jx,WORKER_RELEASE_READ_LOCK:eA,MASTER_GRANT_READ_LOCK:tA,WORKER_REQUEST_WRITE_LOCK:rA,WORKER_RELEASE_WRITE_LOCK:nA,MASTER_GRANT_WRITE_LOCK:iA}=kh(),sA=qh(),oA=(t,e,r,n,i)=>(s,o)=>{if(!o||!o.data||o.data.type!==r)return;let a={type:o.data.type,name:o.data.name,identifier:o.data.identifier};t.emit(e,a.name,()=>(s.postMessage({type:i,name:a.name,identifier:a.identifier}),new Promise(c=>{let u=l=>{if(!l||!l.data)return;let f={type:l.data.type,name:l.data.name,identifier:l.data.identifier};f&&f.type===n&&f.identifier===a.identifier&&(s.removeEventListener("message",u),c())};s.addEventListener("message",u)})))},aA=(t,e,r,n)=>()=>{let i=g6();return globalThis.postMessage({type:e,identifier:i,name:t}),new Promise(s=>{let o=a=>{if(!a||!a.data)return;let c={type:a.data.type,identifier:a.data.identifier};c&&c.type===r&&c.identifier===i&&(globalThis.removeEventListener("message",o),s(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",o)})},m6={singleProcess:!1};cA.exports=t=>{if(t=Object.assign({},m6,t),!!globalThis.document||t.singleProcess){let r=new y6;return sA.addEventListener("message",oA(r,"requestReadLock",Jx,eA,tA)),sA.addEventListener("message",oA(r,"requestWriteLock",rA,nA,iA)),r}return{isWorker:!0,readLock:r=>aA(r,Jx,tA,eA),writeLock:r=>aA(r,rA,iA,nA)}}});var fA=w((TV,Uh)=>{"use strict";var v6=Object.prototype.hasOwnProperty,Gt="~";function Ua(){}Object.create&&(Ua.prototype=Object.create(null),new Ua().__proto__||(Gt=!1));function b6(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function lA(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new b6(r,n||t,i),o=Gt?Gt+e:e;return t._events[o]?t._events[o].fn?t._events[o]=[t._events[o],s]:t._events[o].push(s):(t._events[o]=s,t._eventsCount++),t}function zu(t,e){--t._eventsCount==0?t._events=new Ua:delete t._events[e]}function Mt(){this._events=new Ua,this._eventsCount=0}Mt.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)v6.call(r,n)&&e.push(Gt?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};Mt.prototype.listeners=function(e){var r=Gt?Gt+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,s=n.length,o=new Array(s);i<s;i++)o[i]=n[i].fn;return o};Mt.prototype.listenerCount=function(e){var r=Gt?Gt+e:e,n=this._events[r];return n?n.fn?1:n.length:0};Mt.prototype.emit=function(e,r,n,i,s,o){var a=Gt?Gt+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,l,f;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,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,i),!0;case 5:return c.fn.call(c.context,r,n,i,s),!0;case 6:return c.fn.call(c.context,r,n,i,s,o),!0}for(f=1,l=new Array(u-1);f<u;f++)l[f-1]=arguments[f];c.fn.apply(c.context,l)}else{var d=c.length,p;for(f=0;f<d;f++)switch(c[f].once&&this.removeListener(e,c[f].fn,void 0,!0),u){case 1:c[f].fn.call(c[f].context);break;case 2:c[f].fn.call(c[f].context,r);break;case 3:c[f].fn.call(c[f].context,r,n);break;case 4:c[f].fn.call(c[f].context,r,n,i);break;default:if(!l)for(p=1,l=new Array(u-1);p<u;p++)l[p-1]=arguments[p];c[f].fn.apply(c[f].context,l)}}return!0};Mt.prototype.on=function(e,r,n){return lA(this,e,r,n,!1)};Mt.prototype.once=function(e,r,n){return lA(this,e,r,n,!0)};Mt.prototype.removeListener=function(e,r,n,i){var s=Gt?Gt+e:e;if(!this._events[s])return this;if(!r)return zu(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&zu(this,s);else{for(var a=0,c=[],u=o.length;a<u;a++)(o[a].fn!==r||i&&!o[a].once||n&&o[a].context!==n)&&c.push(o[a]);c.length?this._events[s]=c.length===1?c[0]:c:zu(this,s)}return this};Mt.prototype.removeAllListeners=function(e){var r;return e?(r=Gt?Gt+e:e,this._events[r]&&zu(this,r)):(this._events=new Ua,this._eventsCount=0),this};Mt.prototype.off=Mt.prototype.removeListener;Mt.prototype.addListener=Mt.prototype.on;Mt.prefixed=Gt;Mt.EventEmitter=Mt;typeof Uh!="undefined"&&(Uh.exports=Mt)});var hA=w((RV,dA)=>{"use strict";dA.exports=(t,e)=>(e=e||(()=>{}),t.then(r=>new Promise(n=>{n(e())}).then(()=>r),r=>new Promise(n=>{n(e())}).then(()=>{throw r})))});var yA=w((BV,Gu)=>{"use strict";var E6=hA(),Mh=class extends Error{constructor(e){super(e);this.name="TimeoutError"}},pA=(t,e,r)=>new Promise((n,i)=>{if(typeof e!="number"||e<0)throw new TypeError("Expected `milliseconds` to be a positive number");if(e===1/0){n(t);return}let s=setTimeout(()=>{if(typeof r=="function"){try{n(r())}catch(c){i(c)}return}let o=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,a=r instanceof Error?r:new Mh(o);typeof t.cancel=="function"&&t.cancel(),i(a)},e);E6(t.then(n,i),()=>{clearTimeout(s)})});Gu.exports=pA;Gu.exports.default=pA;Gu.exports.TimeoutError=Mh});var gA=w(Fh=>{"use strict";Object.defineProperty(Fh,"__esModule",{value:!0});function w6(t,e,r){let n=0,i=t.length;for(;i>0;){let s=i/2|0,o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}Fh.default=w6});var vA=w(Kh=>{"use strict";Object.defineProperty(Kh,"__esModule",{value:!0});var _6=gA(),mA=class{constructor(){this._queue=[]}enqueue(e,r){r=Object.assign({priority:0},r);let n={priority:r.priority,run:e};if(this.size&&this._queue[this.size-1].priority>=r.priority){this._queue.push(n);return}let i=_6.default(this._queue,n,(s,o)=>o.priority-s.priority);this._queue.splice(i,0,n)}dequeue(){let e=this._queue.shift();return e==null?void 0:e.run}filter(e){return this._queue.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this._queue.length}};Kh.default=mA});var wA=w(Vh=>{"use strict";Object.defineProperty(Vh,"__esModule",{value:!0});var S6=fA(),bA=yA(),x6=vA(),Wu=()=>{},A6=new bA.TimeoutError,EA=class extends S6{constructor(e){var r,n,i,s;super();if(this._intervalCount=0,this._intervalEnd=0,this._pendingCount=0,this._resolveEmpty=Wu,this._resolveIdle=Wu,e=Object.assign({carryoverConcurrencyCount:!1,intervalCap:1/0,interval:0,concurrency:1/0,autoStart:!0,queueClass:x6.default},e),!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:""}\` (${typeof e.interval})`);this._carryoverConcurrencyCount=e.carryoverConcurrencyCount,this._isIntervalIgnored=e.intervalCap===1/0||e.interval===0,this._intervalCap=e.intervalCap,this._interval=e.interval,this._queue=new e.queueClass,this._queueClass=e.queueClass,this.concurrency=e.concurrency,this._timeout=e.timeout,this._throwOnTimeout=e.throwOnTimeout===!0,this._isPaused=e.autoStart===!1}get _doesIntervalAllowAnother(){return this._isIntervalIgnored||this._intervalCount<this._intervalCap}get _doesConcurrentAllowAnother(){return this._pendingCount<this._concurrency}_next(){this._pendingCount--,this._tryToStartAnother(),this.emit("next")}_resolvePromises(){this._resolveEmpty(),this._resolveEmpty=Wu,this._pendingCount===0&&(this._resolveIdle(),this._resolveIdle=Wu,this.emit("idle"))}_onResumeInterval(){this._onInterval(),this._initializeIntervalIfNeeded(),this._timeoutId=void 0}_isIntervalPaused(){let e=Date.now();if(this._intervalId===void 0){let r=this._intervalEnd-e;if(r<0)this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0;else return this._timeoutId===void 0&&(this._timeoutId=setTimeout(()=>{this._onResumeInterval()},r)),!0}return!1}_tryToStartAnother(){if(this._queue.size===0)return this._intervalId&&clearInterval(this._intervalId),this._intervalId=void 0,this._resolvePromises(),!1;if(!this._isPaused){let e=!this._isIntervalPaused();if(this._doesIntervalAllowAnother&&this._doesConcurrentAllowAnother){let r=this._queue.dequeue();return r?(this.emit("active"),r(),e&&this._initializeIntervalIfNeeded(),!0):!1}}return!1}_initializeIntervalIfNeeded(){this._isIntervalIgnored||this._intervalId!==void 0||(this._intervalId=setInterval(()=>{this._onInterval()},this._interval),this._intervalEnd=Date.now()+this._interval)}_onInterval(){this._intervalCount===0&&this._pendingCount===0&&this._intervalId&&(clearInterval(this._intervalId),this._intervalId=void 0),this._intervalCount=this._carryoverConcurrencyCount?this._pendingCount:0,this._processQueue()}_processQueue(){for(;this._tryToStartAnother(););}get concurrency(){return this._concurrency}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);this._concurrency=e,this._processQueue()}async add(e,r={}){return new Promise((n,i)=>{let s=async()=>{this._pendingCount++,this._intervalCount++;try{let o=this._timeout===void 0&&r.timeout===void 0?e():bA.default(Promise.resolve(e()),r.timeout===void 0?this._timeout:r.timeout,()=>{(r.throwOnTimeout===void 0?this._throwOnTimeout:r.throwOnTimeout)&&i(A6)});n(await o)}catch(o){i(o)}this._next()};this._queue.enqueue(s,r),this._tryToStartAnother(),this.emit("add")})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this._isPaused?(this._isPaused=!1,this._processQueue(),this):this}pause(){this._isPaused=!0}clear(){this._queue=new this._queueClass}async onEmpty(){if(this._queue.size!==0)return new Promise(e=>{let r=this._resolveEmpty;this._resolveEmpty=()=>{r(),e()}})}async onIdle(){if(!(this._pendingCount===0&&this._queue.size===0))return new Promise(e=>{let r=this._resolveIdle;this._resolveIdle=()=>{r(),e()}})}get size(){return this._queue.size}sizeBy(e){return this._queue.filter(e).length}get pending(){return this._pendingCount}get isPaused(){return this._isPaused}get timeout(){return this._timeout}set timeout(e){this._timeout=e}};Vh.default=EA});var _A=w((LV,jh)=>{"use strict";var Yu,DV=jh.exports.timeout=function(t,e){var r=new Yu,n;return Promise.race([t,new Promise(function(i,s){n=setTimeout(function(){s(r)},e)})]).then(function(i){return clearTimeout(n),i},function(i){throw clearTimeout(n),i})};Yu=jh.exports.TimeoutError=function(){Error.call(this),this.stack=Error().stack,this.message="Timeout"};Yu.prototype=Object.create(Error.prototype);Yu.prototype.name="TimeoutError"});var xA=w((kV,Hh)=>{var C6=Xx(),I6=uA(),{default:SA}=wA(),{timeout:T6}=_A(),R6=qh(),as={},mi;function $h(t,e){let r,n=new Promise(i=>{r=i});return t.add(()=>T6((()=>new Promise(i=>{r(()=>{i()})}))(),e.timeout)),n}var B6=(t,e)=>{if(mi.isWorker)return{readLock:mi.readLock(t,e),writeLock:mi.writeLock(t,e)};let r=new SA({concurrency:1}),n=null;return{readLock:()=>{if(n)return $h(n,e);n=new SA({concurrency:e.concurrency,autoStart:!1});let i=n,s=$h(n,e);return r.add(()=>(i.start(),i.onIdle().then(()=>{n===i&&(n=null)}))),s},writeLock:()=>(n=null,$h(r,e))}},P6={concurrency:1/0,timeout:846e5,global:globalThis,singleProcess:!1};Hh.exports=(t,e)=>(e||(e={}),typeof t=="object"&&(e=t,t="lock"),t||(t="lock"),e=Object.assign({},P6,e),mi||(mi=C6(e)||I6(e),mi.isWorker||(mi.on("requestReadLock",(r,n)=>{!as[r]||as[r].readLock().then(i=>n().finally(()=>i()))}),mi.on("requestWriteLock",async(r,n)=>{!as[r]||as[r].writeLock().then(i=>n().finally(()=>i()))}))),as[t]||(as[t]=B6(t,e)),as[t]);Hh.exports.Worker=function(t,e){e=e||globalThis.Worker;let r;try{r=new e(t)}catch(n){n.message.includes("not a constructor")&&(r=e(t))}if(!r)throw new Error("Could not create Worker from",e);return R6(r),r}});var DA=w((qV,OA)=>{"use strict";var AA=Te(),CA=Rt(),IA=de(),{codes:Qu}=je(),{Key:N6}=(Jc(),rd),{base32:O6}=(wi(),Ei),{keys:{unmarshalPublicKey:D6,marshalPublicKey:L6}}=Bu(),{Multiaddr:TA}=qt(),{Peer:RA}=Mx(),k6=xA(),{equals:q6}=(mr(),gr),BA=Object.assign(AA("libp2p:peer-store:store"),{error:AA("libp2p:peer-store:store:err")}),PA="/peers/",NA=class{constructor(e){this._datastore=e,this.lock=k6("peer-store",{singleProcess:!0})}_peerIdToDatastoreKey(e){if(!CA.isPeerId(e))throw BA.error("peerId must be an instance of peer-id to store data"),IA(new Error("peerId must be an instance of peer-id"),Qu.ERR_INVALID_PARAMETERS);let r=e.toString();return new N6(`${PA}${r}`)}async has(e){return this._datastore.has(this._peerIdToDatastoreKey(e))}async delete(e){await this._datastore.delete(this._peerIdToDatastoreKey(e))}async load(e){let r=await this._datastore.get(this._peerIdToDatastoreKey(e)),n=RA.decode(r),i=n.pubKey?D6(n.pubKey):e.pubKey,s=new Map;for(let o of n.metadata)s.set(o.key,o.value);return{...n,id:e,pubKey:i,addresses:n.addresses.map(({multiaddr:o,isCertified:a})=>({multiaddr:new TA(o),isCertified:a||!1})),metadata:s,peerRecordEnvelope:n.peerRecordEnvelope||void 0}}async save(e){if(e.pubKey!=null&&e.id.pubKey!=null&&!q6(e.pubKey.bytes,e.id.pubKey.bytes))throw BA.error("peer publicKey bytes do not match peer id publicKey bytes"),IA(new Error("publicKey bytes do not match peer id publicKey bytes"),Qu.ERR_INVALID_PARAMETERS);let r=new Set,n=RA.encode({addresses:e.addresses.filter(i=>r.has(i.multiaddr.toString())?!1:(r.add(i.multiaddr.toString()),!0)).sort((i,s)=>i.multiaddr.toString().localeCompare(s.multiaddr.toString())).map(({multiaddr:i,isCertified:s})=>({multiaddr:i.bytes,isCertified:s})),protocols:e.protocols.sort(),pubKey:e.pubKey?L6(e.pubKey):void 0,metadata:[...e.metadata.keys()].sort().map(i=>({key:i,value:e.metadata.get(i)})),peerRecordEnvelope:e.peerRecordEnvelope}).finish();return await this._datastore.put(this._peerIdToDatastoreKey(e.id),n),this.load(e.id)}async patch(e,r){let n=await this.load(e);return await this._patch(e,r,n)}async patchOrCreate(e,r){let n;try{n=await this.load(e)}catch(i){if(i.code!==Qu.ERR_NOT_FOUND)throw i;n={id:e,addresses:[],protocols:[],metadata:new Map}}return await this._patch(e,r,n)}async _patch(e,r,n){return await this.save({...n,...r,id:e})}async merge(e,r){let n=await this.load(e);return this._merge(e,r,n)}async mergeOrCreate(e,r){let n;try{n=await this.load(e)}catch(i){if(i.code!==Qu.ERR_NOT_FOUND)throw i;n={id:e,addresses:[],protocols:[],metadata:new Map}}return await this._merge(e,r,n)}async _merge(e,r,n){let i=new Map;return(r.addresses||[]).forEach(s=>{i.set(s.multiaddr.toString(),s.isCertified)}),n.addresses.forEach(({multiaddr:s,isCertified:o})=>{let a=s.toString();i.set(a,Boolean(i.get(a)||o))}),await this.save({id:e,addresses:Array.from(i.entries()).map(([s,o])=>({multiaddr:new TA(s),isCertified:o})),protocols:Array.from(new Set([...n.protocols||[],...r.protocols||[]])),metadata:new Map([...n.metadata?n.metadata.entries():[],...r.metadata?r.metadata.entries():[]]),pubKey:r.pubKey||(n!=null?n.pubKey:void 0),peerRecordEnvelope:r.peerRecordEnvelope||(n!=null?n.peerRecordEnvelope:void 0)})}async*all(){for await(let e of this._datastore.queryKeys({prefix:PA})){let r=e.toString().split("/")[2],n=O6.decode(r);yield this.load(CA.createFromBytes(n))}}};OA.exports=NA});var UA=w((UV,qA)=>{"use strict";var LA=Te(),{EventEmitter:U6}=Qt(),M6=xx(),F6=Rx(),K6=Ox(),V6=qx(),j6=DA(),Rr=Object.assign(LA("libp2p:peer-store"),{error:LA("libp2p:peer-store:err")}),kA=class extends U6{constructor({peerId:e,datastore:r,addressFilter:n}){super();this._peerId=e,this._store=new j6(r),this.addressBook=new M6(this.emit.bind(this),this._store,n),this.keyBook=new F6(this.emit.bind(this),this._store),this.metadataBook=new K6(this.emit.bind(this),this._store),this.protoBook=new V6(this.emit.bind(this),this._store)}async*getPeers(){Rr("getPeers await read lock");let e=await this._store.lock.readLock();Rr("getPeers got read lock");try{for await(let r of this._store.all())r.id.toB58String()!==this._peerId.toB58String()&&(yield r)}finally{Rr("getPeers release read lock"),e()}}async delete(e){Rr("delete await write lock");let r=await this._store.lock.writeLock();Rr("delete got write lock");try{await this._store.delete(e)}finally{Rr("delete release write lock"),r()}}async get(e){Rr("get await read lock");let r=await this._store.lock.readLock();Rr("get got read lock");try{return this._store.load(e)}finally{Rr("get release read lock"),r()}}async has(e){Rr("has await read lock");let r=await this._store.lock.readLock();Rr("has got read lock");try{return this._store.has(e)}finally{Rr("has release read lock"),r()}}};qA.exports=kA});var FA=w((MV,MA)=>{"use strict";function $6(t,e,r){let n=new t(e,r);n._subscribeAdapter=n.subscribe,n._unsubscribeAdapter=n.unsubscribe;function i(o,a){a&&n.on(o,a),n._subscribeAdapter(o)}function s(o,a){a?n.removeListener(o,a):n.removeAllListeners(o),n.listenerCount(o)===0&&n._unsubscribeAdapter(o)}return n.subscribe=i,n.unsubscribe=s,n}MA.exports=$6});var HA=w((FV,$A)=>{"use strict";var KA=()=>{},VA=Symbol.for("@libp2p/js-interfaces/topology"),jA=class{constructor({min:e=0,max:r=1/0,handlers:n={}}){this.min=e,this.max=r,this._onConnect=n.onConnect||KA,this._onDisconnect=n.onDisconnect||KA,this.peers=new Set}get[Symbol.toStringTag](){return"Topology"}get[VA](){return!0}static isTopology(e){return Boolean(e&&e[VA])}async setRegistrar(e){this._registrar=e}disconnect(e){this._onDisconnect(e)}};$A.exports=jA});var YA=w((KV,WA)=>{"use strict";var zA=Te(),H6=Object.assign(zA("libp2p:registrar"),{error:zA("libp2p:registrar:err")}),z6=de(),{codes:{ERR_INVALID_PARAMETERS:G6}}=je(),W6=HA(),GA=class{constructor({peerStore:e,connectionManager:r}){this.peerStore=e,this.connectionManager=r,this.topologies=new Map,this._handle=void 0,this._onDisconnect=this._onDisconnect.bind(this),this.connectionManager.on("peer:disconnect",this._onDisconnect)}get handle(){return this._handle}set handle(e){this._handle=e}getConnection(e){return this.connectionManager.get(e)}async register(e){if(!W6.isTopology(e))throw H6.error("topology must be an instance of interfaces/topology"),z6(new Error("topology must be an instance of interfaces/topology"),G6);let r=(Math.random()*1e9).toString(36)+Date.now();return this.topologies.set(r,e),await e.setRegistrar(this),r}unregister(e){return this.topologies.delete(e)}_onDisconnect(e){for(let[,r]of this.topologies)r.disconnect(e.remotePeer)}};WA.exports=GA});var zh=w((VV,Ma)=>{"use strict";var{Buffer:Xu}=ci(),Zu=Ji();Ma.exports=async function*(t){for await(let e of t)Xu.isBuffer(e)?yield e:Zu.isBufferList(e)?yield e.slice():yield Xu.from(e)};Ma.exports.toBuffer=Ma.exports;Ma.exports.toList=async function*(t){for await(let e of t)Xu.isBuffer(e)?yield new Zu().append(e):Zu.isBufferList(e)?yield e:yield new Zu().append(Xu.from(e))}});var ZA=w((jV,XA)=>{"use strict";var Ao=gn(),QA=Ao.Reader,Y6=Ao.Writer,rt=Ao.util,Fa=Ao.roots["libp2p-identify"]||(Ao.roots["libp2p-identify"]={});Fa.Identify=function(){function t(e){if(this.listenAddrs=[],this.protocols=[],e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.protocolVersion="",t.prototype.agentVersion="",t.prototype.publicKey=rt.newBuffer([]),t.prototype.listenAddrs=rt.emptyArray,t.prototype.observedAddr=rt.newBuffer([]),t.prototype.protocols=rt.emptyArray,t.prototype.signedPeerRecord=rt.newBuffer([]),t.encode=function(r,n){if(n||(n=Y6.create()),r.publicKey!=null&&Object.hasOwnProperty.call(r,"publicKey")&&n.uint32(10).bytes(r.publicKey),r.listenAddrs!=null&&r.listenAddrs.length)for(var i=0;i<r.listenAddrs.length;++i)n.uint32(18).bytes(r.listenAddrs[i]);if(r.protocols!=null&&r.protocols.length)for(var i=0;i<r.protocols.length;++i)n.uint32(26).string(r.protocols[i]);return r.observedAddr!=null&&Object.hasOwnProperty.call(r,"observedAddr")&&n.uint32(34).bytes(r.observedAddr),r.protocolVersion!=null&&Object.hasOwnProperty.call(r,"protocolVersion")&&n.uint32(42).string(r.protocolVersion),r.agentVersion!=null&&Object.hasOwnProperty.call(r,"agentVersion")&&n.uint32(50).string(r.agentVersion),r.signedPeerRecord!=null&&Object.hasOwnProperty.call(r,"signedPeerRecord")&&n.uint32(66).bytes(r.signedPeerRecord),n},t.decode=function(r,n){r instanceof QA||(r=QA.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new Fa.Identify;r.pos<i;){var o=r.uint32();switch(o>>>3){case 5:s.protocolVersion=r.string();break;case 6:s.agentVersion=r.string();break;case 1:s.publicKey=r.bytes();break;case 2:s.listenAddrs&&s.listenAddrs.length||(s.listenAddrs=[]),s.listenAddrs.push(r.bytes());break;case 4:s.observedAddr=r.bytes();break;case 3:s.protocols&&s.protocols.length||(s.protocols=[]),s.protocols.push(r.string());break;case 8:s.signedPeerRecord=r.bytes();break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof Fa.Identify)return r;var n=new Fa.Identify;if(r.protocolVersion!=null&&(n.protocolVersion=String(r.protocolVersion)),r.agentVersion!=null&&(n.agentVersion=String(r.agentVersion)),r.publicKey!=null&&(typeof r.publicKey=="string"?rt.base64.decode(r.publicKey,n.publicKey=rt.newBuffer(rt.base64.length(r.publicKey)),0):r.publicKey.length&&(n.publicKey=r.publicKey)),r.listenAddrs){if(!Array.isArray(r.listenAddrs))throw TypeError(".Identify.listenAddrs: array expected");n.listenAddrs=[];for(var i=0;i<r.listenAddrs.length;++i)typeof r.listenAddrs[i]=="string"?rt.base64.decode(r.listenAddrs[i],n.listenAddrs[i]=rt.newBuffer(rt.base64.length(r.listenAddrs[i])),0):r.listenAddrs[i].length&&(n.listenAddrs[i]=r.listenAddrs[i])}if(r.observedAddr!=null&&(typeof r.observedAddr=="string"?rt.base64.decode(r.observedAddr,n.observedAddr=rt.newBuffer(rt.base64.length(r.observedAddr)),0):r.observedAddr.length&&(n.observedAddr=r.observedAddr)),r.protocols){if(!Array.isArray(r.protocols))throw TypeError(".Identify.protocols: array expected");n.protocols=[];for(var i=0;i<r.protocols.length;++i)n.protocols[i]=String(r.protocols[i])}return r.signedPeerRecord!=null&&(typeof r.signedPeerRecord=="string"?rt.base64.decode(r.signedPeerRecord,n.signedPeerRecord=rt.newBuffer(rt.base64.length(r.signedPeerRecord)),0):r.signedPeerRecord.length&&(n.signedPeerRecord=r.signedPeerRecord)),n},t.toObject=function(r,n){n||(n={});var i={};if((n.arrays||n.defaults)&&(i.listenAddrs=[],i.protocols=[]),n.defaults&&(n.bytes===String?i.publicKey="":(i.publicKey=[],n.bytes!==Array&&(i.publicKey=rt.newBuffer(i.publicKey))),n.bytes===String?i.observedAddr="":(i.observedAddr=[],n.bytes!==Array&&(i.observedAddr=rt.newBuffer(i.observedAddr))),i.protocolVersion="",i.agentVersion="",n.bytes===String?i.signedPeerRecord="":(i.signedPeerRecord=[],n.bytes!==Array&&(i.signedPeerRecord=rt.newBuffer(i.signedPeerRecord)))),r.publicKey!=null&&r.hasOwnProperty("publicKey")&&(i.publicKey=n.bytes===String?rt.base64.encode(r.publicKey,0,r.publicKey.length):n.bytes===Array?Array.prototype.slice.call(r.publicKey):r.publicKey),r.listenAddrs&&r.listenAddrs.length){i.listenAddrs=[];for(var s=0;s<r.listenAddrs.length;++s)i.listenAddrs[s]=n.bytes===String?rt.base64.encode(r.listenAddrs[s],0,r.listenAddrs[s].length):n.bytes===Array?Array.prototype.slice.call(r.listenAddrs[s]):r.listenAddrs[s]}if(r.protocols&&r.protocols.length){i.protocols=[];for(var s=0;s<r.protocols.length;++s)i.protocols[s]=r.protocols[s]}return r.observedAddr!=null&&r.hasOwnProperty("observedAddr")&&(i.observedAddr=n.bytes===String?rt.base64.encode(r.observedAddr,0,r.observedAddr.length):n.bytes===Array?Array.prototype.slice.call(r.observedAddr):r.observedAddr),r.protocolVersion!=null&&r.hasOwnProperty("protocolVersion")&&(i.protocolVersion=r.protocolVersion),r.agentVersion!=null&&r.hasOwnProperty("agentVersion")&&(i.agentVersion=r.agentVersion),r.signedPeerRecord!=null&&r.hasOwnProperty("signedPeerRecord")&&(i.signedPeerRecord=n.bytes===String?rt.base64.encode(r.signedPeerRecord,0,r.signedPeerRecord.length):n.bytes===Array?Array.prototype.slice.call(r.signedPeerRecord):r.signedPeerRecord),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,Ao.util.toJSONOptions)},t}();XA.exports=Fa});var aC=w(($V,oC)=>{"use strict";var JA=Te(),lr=Object.assign(JA("libp2p:identify"),{error:JA("libp2p:identify:err")}),Gh=de(),Ju=so(),{pipe:el}=ir(),{collect:eC,take:tC,consume:rC}=Lu(),{fromString:Co}=(It(),Nt),Q6=Rt(),{Multiaddr:Wh}=qt(),{toBuffer:nC}=zh(),Ka=ZA(),iC=du(),sC=pu(),{MULTICODEC_IDENTIFY:X6,MULTICODEC_IDENTIFY_PUSH:Z6,IDENTIFY_PROTOCOL_VERSION:J6,MULTICODEC_IDENTIFY_PROTOCOL_NAME:e5,MULTICODEC_IDENTIFY_PUSH_PROTOCOL_NAME:t5,MULTICODEC_IDENTIFY_PROTOCOL_VERSION:r5,MULTICODEC_IDENTIFY_PUSH_PROTOCOL_VERSION:n5}=vd(),{codes:Yh}=je(),cs=class{static getProtocolStr(e){return{identifyProtocolStr:`/${e._config.protocolPrefix}/${e5}/${r5}`,identifyPushProtocolStr:`/${e._config.protocolPrefix}/${t5}/${n5}`}}constructor({libp2p:e}){this._libp2p=e,this.peerStore=e.peerStore,this.addressManager=e.addressManager,this.connectionManager=e.connectionManager,this.peerId=e.peerId,this.handleMessage=this.handleMessage.bind(this);let r=cs.getProtocolStr(e);this.identifyProtocolStr=r.identifyProtocolStr,this.identifyPushProtocolStr=r.identifyPushProtocolStr,this._host={protocolVersion:`${e._config.protocolPrefix}/${J6}`,...e._options.host},this.connectionManager.on("peer:connect",n=>{this.identify(n).catch(lr.error)}),this.peerStore.on("change:multiaddrs",({peerId:n})=>{n.toString()===this.peerId.toString()&&this.pushToPeerStore().catch(i=>lr.error(i))}),this.peerStore.on("change:protocols",({peerId:n})=>{n.toString()===this.peerId.toString()&&this.pushToPeerStore().catch(i=>lr.error(i))})}async start(){await this.peerStore.metadataBook.setValue(this.peerId,"AgentVersion",Co(this._host.agentVersion)),await this.peerStore.metadataBook.setValue(this.peerId,"ProtocolVersion",Co(this._host.protocolVersion))}async stop(){}async push(e){let r=await this.peerStore.addressBook.getRawEnvelope(this.peerId),n=this._libp2p.multiaddrs.map(o=>o.bytes),i=await this.peerStore.protoBook.get(this.peerId),s=e.map(async o=>{try{let{stream:a}=await o.newStream(this.identifyPushProtocolStr);await el([Ka.Identify.encode({listenAddrs:n,signedPeerRecord:r,protocols:i}).finish()],Ju.encode(),a,rC)}catch(a){lr.error("could not push identify update to peer",a)}});return Promise.all(s)}async pushToPeerStore(){if(!this._libp2p.isStarted())return;let e=[],r;for await(let n of this.peerStore.getPeers())n.protocols.includes(this.identifyPushProtocolStr)&&(r=this.connectionManager.get(n.id))&&e.push(r);await this.push(e)}async identify(e){let{stream:r}=await e.newStream(this.identifyProtocolStr),[n]=await el([],r,Ju.decode(),tC(1),nC,eC);if(!n)throw Gh(new Error("No data could be retrieved"),Yh.ERR_CONNECTION_ENDED);let i;try{i=Ka.Identify.decode(n)}catch(d){throw Gh(d,Yh.ERR_INVALID_MESSAGE)}let{publicKey:s,listenAddrs:o,protocols:a,observedAddr:c,signedPeerRecord:u}=i,l=await Q6.createFromPubKey(s);if(e.remotePeer.toB58String()!==l.toB58String())throw Gh(new Error("identified peer does not match the expected peer"),Yh.ERR_INVALID_PEER);let f=cs.getCleanMultiaddr(c);try{let d=await iC.openAndCertify(u,sC.DOMAIN);if(await this.peerStore.addressBook.consumePeerRecord(d)){await this.peerStore.protoBook.set(l,a),await this.peerStore.metadataBook.setValue(l,"AgentVersion",Co(i.agentVersion)),await this.peerStore.metadataBook.setValue(l,"ProtocolVersion",Co(i.protocolVersion));return}}catch(d){lr("received invalid envelope, discard it and fallback to listenAddrs is available",d)}try{await this.peerStore.addressBook.set(l,o.map(d=>new Wh(d)))}catch(d){lr.error("received invalid addrs",d)}await this.peerStore.protoBook.set(l,a),await this.peerStore.metadataBook.setValue(l,"AgentVersion",Co(i.agentVersion)),await this.peerStore.metadataBook.setValue(l,"ProtocolVersion",Co(i.protocolVersion)),lr("received observed address of %s",f)}handleMessage({connection:e,stream:r,protocol:n}){switch(n){case this.identifyProtocolStr:return this._handleIdentify({connection:e,stream:r});case this.identifyPushProtocolStr:return this._handlePush({connection:e,stream:r});default:lr.error("cannot handle unknown protocol %s",n)}}async _handleIdentify({connection:e,stream:r}){try{let n=new Uint8Array(0);this.peerId.pubKey&&(n=this.peerId.pubKey.bytes);let i=await this.peerStore.addressBook.getRawEnvelope(this.peerId),s=await this.peerStore.protoBook.get(this.peerId),o=Ka.Identify.encode({protocolVersion:this._host.protocolVersion,agentVersion:this._host.agentVersion,publicKey:n,listenAddrs:this._libp2p.multiaddrs.map(a=>a.bytes),signedPeerRecord:i,observedAddr:e.remoteAddr.bytes,protocols:s}).finish();await el([o],Ju.encode(),r,rC)}catch(n){lr.error("could not respond to identify request",n)}}async _handlePush({connection:e,stream:r}){let n;try{let[s]=await el([],r,Ju.decode(),tC(1),nC,eC);n=Ka.Identify.decode(s)}catch(s){return lr.error("received invalid message",s)}let i=e.remotePeer;try{let s=await iC.openAndCertify(n.signedPeerRecord,sC.DOMAIN);if(await this.peerStore.addressBook.consumePeerRecord(s)){await this.peerStore.protoBook.set(i,n.protocols);return}}catch(s){lr("received invalid envelope, discard it and fallback to listenAddrs is available",s)}try{await this.peerStore.addressBook.set(i,n.listenAddrs.map(s=>new Wh(s)))}catch(s){lr.error("received invalid addrs",s)}try{await this.peerStore.protoBook.set(i,n.protocols)}catch(s){lr.error("received invalid protocols",s)}}static getCleanMultiaddr(e){if(e&&e.length>0)try{return new Wh(e)}catch(r){return null}return null}},i5={IDENTIFY:X6,IDENTIFY_PUSH:Z6};cs.multicodecs=i5;cs.Messsage=Ka;oC.exports=cs});var lC=w((HV,uC)=>{"use strict";var us=gn(),tl=us.Reader,cC=us.Writer,Io=us.util,dn=us.roots["libp2p-fetch"]||(us.roots["libp2p-fetch"]={});dn.FetchRequest=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.identifier="",t.encode=function(r,n){return n||(n=cC.create()),r.identifier!=null&&Object.hasOwnProperty.call(r,"identifier")&&n.uint32(10).string(r.identifier),n},t.decode=function(r,n){r instanceof tl||(r=tl.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new dn.FetchRequest;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.identifier=r.string();break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof dn.FetchRequest)return r;var n=new dn.FetchRequest;return r.identifier!=null&&(n.identifier=String(r.identifier)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(i.identifier=""),r.identifier!=null&&r.hasOwnProperty("identifier")&&(i.identifier=r.identifier),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,us.util.toJSONOptions)},t}();dn.FetchResponse=function(){function t(e){if(e)for(var r=Object.keys(e),n=0;n<r.length;++n)e[r[n]]!=null&&(this[r[n]]=e[r[n]])}return t.prototype.status=0,t.prototype.data=Io.newBuffer([]),t.encode=function(r,n){return n||(n=cC.create()),r.status!=null&&Object.hasOwnProperty.call(r,"status")&&n.uint32(8).int32(r.status),r.data!=null&&Object.hasOwnProperty.call(r,"data")&&n.uint32(18).bytes(r.data),n},t.decode=function(r,n){r instanceof tl||(r=tl.create(r));for(var i=n===void 0?r.len:r.pos+n,s=new dn.FetchResponse;r.pos<i;){var o=r.uint32();switch(o>>>3){case 1:s.status=r.int32();break;case 2:s.data=r.bytes();break;default:r.skipType(o&7);break}}return s},t.fromObject=function(r){if(r instanceof dn.FetchResponse)return r;var n=new dn.FetchResponse;switch(r.status){case"OK":case 0:n.status=0;break;case"NOT_FOUND":case 1:n.status=1;break;case"ERROR":case 2:n.status=2;break}return r.data!=null&&(typeof r.data=="string"?Io.base64.decode(r.data,n.data=Io.newBuffer(Io.base64.length(r.data)),0):r.data.length&&(n.data=r.data)),n},t.toObject=function(r,n){n||(n={});var i={};return n.defaults&&(i.status=n.enums===String?"OK":0,n.bytes===String?i.data="":(i.data=[],n.bytes!==Array&&(i.data=Io.newBuffer(i.data)))),r.status!=null&&r.hasOwnProperty("status")&&(i.status=n.enums===String?dn.FetchResponse.StatusCode[r.status]:r.status),r.data!=null&&r.hasOwnProperty("data")&&(i.data=n.bytes===String?Io.base64.encode(r.data,0,r.data.length):n.bytes===Array?Array.prototype.slice.call(r.data):r.data),i},t.prototype.toJSON=function(){return this.constructor.toObject(this,us.util.toJSONOptions)},t.StatusCode=function(){var e={},r=Object.create(e);return r[e[0]="OK"]=0,r[e[1]="NOT_FOUND"]=1,r[e[2]="ERROR"]=2,r}(),t}();uC.exports=dn});var dC=w((zV,fC)=>{"use strict";fC.exports={PROTOCOL:"/libp2p/fetch/0.0.1"}});var mC=w((yC,gC)=>{"use strict";var hC=Te(),s5=Object.assign(hC("libp2p:fetch"),{error:hC("libp2p:fetch:err")}),Qh=de(),{codes:Xh}=je(),rl=so(),{FetchRequest:Zh,FetchResponse:jr}=lC(),pC=oo(),{PROTOCOL:o5}=dC(),Va=class{constructor(e){this._lookupFunctions=new Map,this._libp2p=e,this.handleMessage=this.handleMessage.bind(this)}async fetch(e,r){s5("dialing %s to %s",this._protocol,e.toB58String?e.toB58String():e);let n=await this._libp2p.dial(e),{stream:i}=await n.newStream(Va.PROTOCOL),s=pC(i),o=new Zh({identifier:r});s.write(rl.encode.single(Zh.encode(o).finish()));let a=jr.decode((await rl.decode.fromReader(s.reader).next()).value.slice());switch(a.status){case jr.StatusCode.OK:return a.data;case jr.StatusCode.NOT_FOUND:return null;case jr.StatusCode.ERROR:{let c=new TextDecoder().decode(a.data);throw Qh(new Error("Error in fetch protocol response: "+c),Xh.ERR_INVALID_PARAMETERS)}default:throw Qh(new Error("Unknown response status"),Xh.ERR_INVALID_MESSAGE)}}async handleMessage(e){let{stream:r}=e,n=pC(r),i=Zh.decode((await rl.decode.fromReader(n.reader).next()).value.slice()),s,o=this._getLookupFunction(i.identifier);if(o){let a=await o(i.identifier);a?s=new jr({status:jr.StatusCode.OK,data:a}):s=new jr({status:jr.StatusCode.NOT_FOUND})}else{let a=new TextEncoder().encode("No lookup function registered for key: "+i.identifier);s=new jr({status:jr.StatusCode.ERROR,data:a})}n.write(rl.encode.single(jr.encode(s).finish()))}_getLookupFunction(e){for(let r of this._lookupFunctions.keys())if(e.startsWith(r))return this._lookupFunctions.get(r);return null}registerLookupFunction(e,r){if(this._lookupFunctions.has(e))throw Qh(new Error("Fetch protocol handler for key prefix '"+e+"' already registered"),Xh.ERR_KEY_ALREADY_EXISTS);this._lookupFunctions.set(e,r)}unregisterLookupFunction(e,r){r!=null&&this._lookupFunctions.get(e)!==r||this._lookupFunctions.delete(e)}};Va.PROTOCOL=o5;yC=gC.exports=Va});var bC=w((GV,vC)=>{"use strict";vC.exports={PROTOCOL:"/ipfs/ping/1.0.0",PING_LENGTH:32,PROTOCOL_VERSION:"1.0.0",PROTOCOL_NAME:"ping"}});var CC=w((WV,AC)=>{"use strict";var EC=Te(),a5=Object.assign(EC("libp2p:ping"),{error:EC("libp2p:ping:err")}),c5=de(),{codes:u5}=je(),l5=Bu(),{pipe:wC}=ir(),{toBuffer:f5}=zh(),{collect:d5,take:h5}=Lu(),{equals:p5}=(mr(),gr),{PROTOCOL_NAME:_C,PING_LENGTH:y5,PROTOCOL_VERSION:SC}=bC(),xC=class{static getProtocolStr(e){return`/${e._config.protocolPrefix}/${_C}/${SC}`}constructor(e){this._libp2p=e}handleMessage({stream:e}){return wC(e,e)}async ping(e){let r=`/${this._libp2p._config.protocolPrefix}/${_C}/${SC}`;a5("dialing %s to %s",r,e.toB58String?e.toB58String():e);let n=await this._libp2p.dial(e),{stream:i}=await n.newStream(r),s=Date.now(),o=l5.randomBytes(y5),[a]=await wC([o],i,u=>h5(1,u),f5,d5),c=Date.now();if(!p5(o,a))throw c5(new Error("Received wrong ping ack"),u5.ERR_WRONG_PING_ACK);return c-s}};AC.exports=xC});var IC=w(()=>{});var TC=w(Jh=>{"use strict";Object.defineProperty(Jh,"__esModule",{value:!0}),Jh.promisify=nl;var g5="__ES6-PROMISIFY--CUSTOM-ARGUMENTS__";function nl(t){if(typeof t!="function")throw new TypeError("Argument to promisify must be a function");var e=t[g5],r=nl.Promise||Promise;if(typeof r!="function")throw new Error("No Promise implementation found; do you need a polyfill?");return function(){for(var n=this,i=arguments.length,s=Array(i),o=0;o<i;o++)s[o]=arguments[o];return new r(function(a,c){s.push(function(u){if(u)return c(u);for(var l=arguments.length,f=Array(1<l?l-1:0),d=1;d<l;d++)f[d-1]=arguments[d];if(f.length===1||!e)return a(f[0]);var p={};f.forEach(function(h,g){var m=e[g];m&&(p[m]=h)}),a(p)}),t.apply(n,s)})}}nl.argumentNames="__ES6-PROMISIFY--CUSTOM-ARGUMENTS__",nl.Promise=void 0});var BC=w((ZV,RC)=>{function m5(){return typeof window!="undefined"&&typeof window.process=="object"&&window.process.type==="renderer"||typeof process!="undefined"&&typeof process.versions=="object"&&!!process.versions.electron||typeof navigator=="object"&&typeof navigator.userAgent=="string"&&navigator.userAgent.indexOf("Electron")>=0}RC.exports=m5});var NC=w((JV,PC)=>{"use strict";var v5=BC(),il=typeof window=="object"&&typeof document=="object"&&document.nodeType===9,ja=v5(),b5=il&&!ja,E5=ja&&!il,w5=ja&&il,_5=typeof u0=="function"&&typeof process!="undefined"&&typeof process.release!="undefined"&&process.release.name==="node"&&!ja,S5=typeof importScripts=="function"&&typeof self!="undefined"&&typeof WorkerGlobalScope!="undefined"&&self instanceof WorkerGlobalScope,x5=typeof process!="undefined"&&typeof process.env!="undefined"&&!1;PC.exports={isTest:x5,isElectron:ja,isElectronMain:E5,isElectronRenderer:w5,isNode:_5,isBrowser:b5,isWebWorker:S5,isEnvWithDom:il}});var DC=w((e9,OC)=>{function Br(t,e){typeof e=="boolean"&&(e={forever:e}),this._originalTimeouts=JSON.parse(JSON.stringify(t)),this._timeouts=t,this._options=e||{},this._maxRetryTime=e&&e.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}OC.exports=Br;Br.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)};Br.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null};Br.prototype.retry=function(t){if(this._timeout&&clearTimeout(this._timeout),!t)return!1;var e=new Date().getTime();if(t&&e-this._operationStart>=this._maxRetryTime)return this._errors.push(t),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(t);var r=this._timeouts.shift();if(r===void 0)if(this._cachedTimeouts)this._errors.splice(0,this._errors.length-1),r=this._cachedTimeouts.slice(-1);else return!1;var n=this;return this._timer=setTimeout(function(){n._attempts++,n._operationTimeoutCb&&(n._timeout=setTimeout(function(){n._operationTimeoutCb(n._attempts)},n._operationTimeout),n._options.unref&&n._timeout.unref()),n._fn(n._attempts)},r),this._options.unref&&this._timer.unref(),!0};Br.prototype.attempt=function(t,e){this._fn=t,e&&(e.timeout&&(this._operationTimeout=e.timeout),e.cb&&(this._operationTimeoutCb=e.cb));var r=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){r._operationTimeoutCb()},r._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};Br.prototype.try=function(t){console.log("Using RetryOperation.try() is deprecated"),this.attempt(t)};Br.prototype.start=function(t){console.log("Using RetryOperation.start() is deprecated"),this.attempt(t)};Br.prototype.start=Br.prototype.try;Br.prototype.errors=function(){return this._errors};Br.prototype.attempts=function(){return this._attempts};Br.prototype.mainError=function(){if(this._errors.length===0)return null;for(var t={},e=null,r=0,n=0;n<this._errors.length;n++){var i=this._errors[n],s=i.message,o=(t[s]||0)+1;t[s]=o,o>=r&&(e=i,r=o)}return e}});var LC=w(ls=>{var A5=DC();ls.operation=function(t){var e=ls.timeouts(t);return new A5(e,{forever:t&&(t.forever||t.retries===1/0),unref:t&&t.unref,maxRetryTime:t&&t.maxRetryTime})};ls.timeouts=function(t){if(t instanceof Array)return[].concat(t);var e={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var r in t)e[r]=t[r];if(e.minTimeout>e.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var n=[],i=0;i<e.retries;i++)n.push(this.createTimeout(i,e));return t&&t.forever&&!n.length&&n.push(this.createTimeout(i,e)),n.sort(function(s,o){return s-o}),n};ls.createTimeout=function(t,e){var r=e.randomize?Math.random()+1:1,n=Math.round(r*Math.max(e.minTimeout,1)*Math.pow(e.factor,t));return n=Math.min(n,e.maxTimeout),n};ls.wrap=function(t,e,r){if(e instanceof Array&&(r=e,e=null),!r){r=[];for(var n in t)typeof t[n]=="function"&&r.push(n)}for(var i=0;i<r.length;i++){var s=r[i],o=t[s];t[s]=function(c){var u=ls.operation(e),l=Array.prototype.slice.call(arguments,1),f=l.pop();l.push(function(d){u.retry(d)||(d&&(arguments[0]=u.mainError()),f.apply(this,arguments))}),u.attempt(function(){c.apply(t,l)})}.bind(t,o),t[s].options=e}}});var qC=w((r9,kC)=>{kC.exports=LC()});var MC=w((n9,sl)=>{"use strict";var C5=qC(),I5=["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Network request failed"],e0=class extends Error{constructor(e){super();e instanceof Error?(this.originalError=e,{message:e}=e):(this.originalError=new Error(e),this.originalError.stack=this.stack),this.name="AbortError",this.message=e}},T5=(t,e,r)=>{let n=r.retries-(e-1);return t.attemptNumber=e,t.retriesLeft=n,t},R5=t=>I5.includes(t),UC=(t,e)=>new Promise((r,n)=>{e={onFailedAttempt:()=>{},retries:10,...e};let i=C5.operation(e);i.attempt(async s=>{try{r(await t(s))}catch(o){if(!(o instanceof Error)){n(new TypeError(`Non-error was thrown: "${o}". You should only throw errors.`));return}if(o instanceof e0)i.stop(),n(o.originalError);else if(o instanceof TypeError&&!R5(o.message))i.stop(),n(o);else{T5(o,s,e);try{await e.onFailedAttempt(o)}catch(a){n(a);return}i.retry(o)||n(i.mainError())}}})});sl.exports=UC;sl.exports.default=UC;sl.exports.AbortError=e0});var KC=w((i9,FC)=>{"use strict";function B5(t){return/^127\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/i.test(t)||/^::1$/.test(t)}FC.exports=B5});var jC=w((s9,VC)=>{"use strict";var P5=KC();function N5(t){let{address:e}=t.nodeAddress();return P5(e)}VC.exports=N5});var YC=w((o9,WC)=>{"use strict";var O5=IC(),$C=Te(),{promisify:t0}=TC(),{Multiaddr:D5}=qt(),To=Object.assign($C("libp2p:nat"),{error:$C("libp2p:nat:err")}),{isBrowser:HC}=NC(),r0=MC(),L5=bd(),zC=md(),k5=de(),{codes:{ERR_INVALID_PARAMETERS:q5}}=je(),U5=jC(),n0=7200;function M5(t=1024,e=65535){return Math.floor(Math.random()*(e-t+1)+t)}var GC=class{constructor({peerId:e,addressManager:r,transportManager:n,...i}){if(this._peerId=e,this._addressManager=r,this._transportManager=n,this._enabled=i.enabled,this._externalIp=i.externalIp,this._options={description:i.description||`${zC.name}@${zC.version} ${this._peerId}`,ttl:i.ttl||n0,autoUpdate:i.keepAlive||!0,gateway:i.gateway,enablePMP:Boolean(i.pmp&&i.pmp.enabled)},this._options.ttl<n0)throw k5(new Error(`NatManager ttl should be at least ${n0} seconds`),q5)}start(){HC||!this._enabled||this._start().catch(e=>{To.error(e)})}async _start(){let e=this._transportManager.getAddrs();for(let r of e){let{family:n,host:i,port:s,transport:o}=r.toOptions();if(!r.isThinWaistAddress()||o!=="tcp"||U5(r)||n!==4)continue;let a=this._getClient(),c=this._externalIp||await a.externalIp();if(L5(c))throw new Error(`${c} is private - please set config.nat.externalIp to an externally routable IP or ensure you are not behind a double NAT`);let u=M5();To(`opening uPnP connection from ${c}:${u} to ${i}:${s}`),await a.map({publicPort:u,privatePort:s,protocol:o.toUpperCase()}),this._addressManager.addObservedAddr(D5.fromNodeAddress({family:4,address:c,port:u},o))}}_getClient(){if(this._client)return this._client;let e=new O5(this._options),r=t0(e.map.bind(e)),n=t0(e.destroy.bind(e)),i=t0(e.externalIp.bind(e));return this._client={map:(...s)=>r0(()=>r(...s),{onFailedAttempt:To.error,unref:!0}),destroy:(...s)=>r0(()=>n(...s),{onFailedAttempt:To.error,unref:!0}),externalIp:(...s)=>r0(()=>i(...s),{onFailedAttempt:To.error,unref:!0})},this._client}async stop(){if(!(HC||!this._client))try{await this._client.destroy(),this._client=null}catch(e){To.error(e)}}};WC.exports=GC});var aq=w((a9,eI)=>{"use strict";var QC=Te(),Ft=Object.assign(QC("libp2p"),{error:QC("libp2p:err")}),{EventEmitter:F5}=Qt(),i0=de(),K5=Rt(),{Multiaddr:V5}=qt(),{MemoryDatastore:j5}=(p1(),h1),$5=$1(),H5=Q1(),s0=pd(),{validate:z5}=hE(),{codes:ol,messages:G5}=je(),W5=gE(),Y5=OE(),Q5=FE(),XC=C2(),X5=U2(),Z5=m_(),ZC=gS(),J5=OS(),eq=Td(),tq=yx(),rq=UA(),nq=FA(),iq=YA(),JC=aC(),o0=mC(),a0=CC(),sq=YC(),{updateSelfPeerRecord:oq}=Cd(),$a=class extends F5{static async create(e){if(e.peerId)return new $a(e);let r=await K5.create();return e.peerId=r,new $a(e)}constructor(e){super();if(this._options=z5(e),this.peerId=this._options.peerId,this.datastore=this._options.datastore,this._options.metrics.enabled){let n=new J5({...this._options.metrics});this.metrics=n}if(this.connectionGater={denyDialPeer:async()=>Promise.resolve(!1),denyDialMultiaddr:async()=>Promise.resolve(!1),denyInboundConnection:async()=>Promise.resolve(!1),denyOutboundConnection:async()=>Promise.resolve(!1),denyInboundEncryptedConnection:async()=>Promise.resolve(!1),denyOutboundEncryptedConnection:async()=>Promise.resolve(!1),denyInboundUpgradedConnection:async()=>Promise.resolve(!1),denyOutboundUpgradedConnection:async()=>Promise.resolve(!1),filterMultiaddrForPeer:async()=>Promise.resolve(!0),...this._options.connectionGater},this.peerStore=new rq({peerId:this.peerId,datastore:this.datastore&&this._options.peerStore.persistence?this.datastore:new j5,addressFilter:this.connectionGater.filterMultiaddrForPeer}),this.addresses=this._options.addresses,this.addressManager=new W5(this.peerId,this._options.addresses),this.addressManager.on("change:addresses",()=>{oq(this).catch(n=>{Ft.error("Error updating self peer record",n)})}),this._modules=this._options.modules,this._config=this._options.config,this._transport=[],this._discovery=new Map,this.connectionManager=new Y5(this,{...this._options.connectionManager}),this._autodialler=new Q5(this,{enabled:this._config.peerDiscovery.autoDial,minConnections:this._options.connectionManager.minConnections,autoDialInterval:this._options.connectionManager.autoDialInterval}),this._options.keychain&&this._options.keychain.datastore){Ft("creating keychain");let n=ZC.generateOptions();this.keychain=new ZC(this._options.keychain.datastore,{...n,...this._options.keychain}),Ft("keychain constructed")}if(this.upgrader=new tq({connectionGater:this.connectionGater,localPeer:this.peerId,metrics:this.metrics,onConnection:n=>this.connectionManager.onConnect(n),onConnectionEnd:n=>this.connectionManager.onDisconnect(n)}),this.transportManager=new eq({libp2p:this,upgrader:this.upgrader,faultTolerance:this._options.transportManager.faultTolerance}),this.natManager=new sq({peerId:this.peerId,addressManager:this.addressManager,transportManager:this.transportManager,...this._options.config.nat}),this.registrar=new iq({peerStore:this.peerStore,connectionManager:this.connectionManager}),this.handle=this.handle.bind(this),this.registrar.handle=this.handle,!this._modules.connEncryption||!this._modules.connEncryption.length)throw i0(new Error(G5.CONN_ENCRYPTION_REQUIRED),ol.CONN_ENCRYPTION_REQUIRED);if(this._modules.connEncryption.forEach(n=>{this.upgrader.cryptos.set(n.protocol,n)}),this.dialer=new Z5({transportManager:this.transportManager,connectionGater:this.connectionGater,peerStore:this.peerStore,metrics:this.metrics,...this._options.dialer}),this._modules.transport.forEach(n=>{let i=n.prototype[Symbol.toStringTag],s=this._config.transport[i];this.transportManager.add(i,n,s)}),this._config.relay.enabled&&(this.transportManager.add(XC.prototype[Symbol.toStringTag],XC),this.relay=new X5(this)),this._modules.streamMuxer&&(this._modules.streamMuxer.forEach(i=>{this.upgrader.muxers.set(i.multicodec,i)}),this.identifyService=new JC({libp2p:this})),this._modules.connProtector)this.upgrader.protector=this._modules.connProtector;else if(globalThis.process!==void 0&&globalThis.process.env&&globalThis.process.env.LIBP2P_FORCE_PNET)throw new Error("Private network is enforced, but no protector was provided");if(this._modules.dht){let n=this._modules.dht;this._dht=n.create({libp2p:this,...this._config.dht})}if(this._modules.pubsub){let n=this._modules.pubsub;this.pubsub=nq(n,this,this._config.pubsub)}this.peerRouting=new $5(this),this.contentRouting=new H5(this),this._onDiscoveryPeer=this._onDiscoveryPeer.bind(this),this.fetchService=new o0(this),this.pingService=new a0(this)}emit(e,...r){return e==="error"&&!this._events.error?(Ft.error(r),!1):super.emit(e,...r)}async start(){Ft("libp2p is starting"),this.identifyService&&await this.handle(Object.values(JC.getProtocolStr(this)),this.identifyService.handleMessage),this.fetchService&&await this.handle(o0.PROTOCOL,this.fetchService.handleMessage),this.pingService&&await this.handle(a0.getProtocolStr(this),this.pingService.handleMessage);try{await this._onStarting(),await this._onDidStart(),Ft("libp2p has started")}catch(e){throw this.emit("error",e),Ft.error("An error occurred starting libp2p",e),await this.stop(),e}}async stop(){Ft("libp2p is stopping");try{this._isStarted=!1,this.identifyService&&await this.identifyService.stop(),this.relay&&this.relay.stop(),this.peerRouting.stop(),await this._autodialler.stop(),await(this._dht&&this._dht.stop());for(let e of this._discovery.values())e.removeListener("peer",this._onDiscoveryPeer);await Promise.all(Array.from(this._discovery.values(),e=>e.stop())),this._discovery=new Map,await this.connectionManager.stop(),await Promise.all([this.pubsub&&this.pubsub.stop(),this.metrics&&this.metrics.stop()]),await this.natManager.stop(),await this.transportManager.close(),await this.unhandle(o0.PROTOCOL),await this.unhandle(a0.getProtocolStr(this)),this.dialer.destroy()}catch(e){e&&(Ft.error(e),this.emit("error",e))}Ft("libp2p has stopped")}async loadKeychain(){if(!!this.keychain)try{await this.keychain.findKeyByName("self")}catch(e){await this.keychain.importPeer("self",this.peerId)}}isStarted(){return this._isStarted}get connections(){return this.connectionManager.connections}dial(e,r){return this._dial(e,r)}async dialProtocol(e,r,n){if(!r||!r.length)throw i0(new Error("no protocols were provided to open a stream"),ol.ERR_INVALID_PROTOCOLS_FOR_STREAM);return(await this._dial(e,n)).newStream(r)}async _dial(e,r){let{id:n,multiaddrs:i}=s0(e);if(n.equals(this.peerId))throw i0(new Error("Cannot dial self"),ol.ERR_DIALED_SELF);let s=this.connectionManager.get(n);return s?i&&await this.peerStore.addressBook.add(n,i):s=await this.dialer.connectToPeer(e,r),s}get multiaddrs(){let e=this.addressManager.getAnnounceAddrs().map(i=>i.toString());e.length||(e=this.transportManager.getAddrs().map(i=>i.toString())),e=e.concat(this.addressManager.getObservedAddrs().map(i=>i.toString()));let r=this._options.addresses.announceFilter,n=new Set(e);return r(Array.from(n).map(i=>new V5(i)))}async hangUp(e){let{id:r}=s0(e),n=this.connectionManager.connections.get(r.toB58String());!n||await Promise.all(n.map(i=>i.close()))}fetch(e,r){return this.fetchService.fetch(e,r)}ping(e){let{id:r,multiaddrs:n}=s0(e);return n?this.pingService.ping(n[0]):this.pingService.ping(r)}async handle(e,r){e=Array.isArray(e)?e:[e],e.forEach(n=>{this.upgrader.protocols.set(n,r)}),await this.peerStore.protoBook.add(this.peerId,e)}async unhandle(e){e=Array.isArray(e)?e:[e],e.forEach(r=>{this.upgrader.protocols.delete(r)}),await this.peerStore.protoBook.remove(this.peerId,e)}async _onStarting(){let e=this.addressManager.getListenAddrs();await this.transportManager.listen(e),this.natManager.start(),this._config.pubsub.enabled&&this.pubsub&&await this.pubsub.start(),this._config.dht.enabled&&(this._dht&&await this._dht.start(),this._dht.on("peer",this._onDiscoveryPeer)),this.metrics&&this.metrics.start(),this.identifyService&&await this.identifyService.start()}async _onDidStart(){this._isStarted=!0,this.peerStore.on("peer",e=>{this.emit("peer:discovery",e),this._maybeConnect(e).catch(r=>{Ft.error(r)})});for await(let e of this.peerStore.getPeers())this.emit("peer:discovery",e.id);this.connectionManager.start(),await this._autodialler.start(),await this._setupPeerDiscovery(),this.relay&&this.relay.start(),this.peerRouting.start()}_onDiscoveryPeer(e){if(e.id.toB58String()===this.peerId.toB58String()){Ft.error(new Error(ol.ERR_DISCOVERED_SELF));return}e.multiaddrs&&this.peerStore.addressBook.add(e.id,e.multiaddrs).catch(r=>Ft.error(r)),e.protocols&&this.peerStore.protoBook.set(e.id,e.protocols).catch(r=>Ft.error(r))}async _maybeConnect(e){if(this._config.peerDiscovery.autoDial===!0&&!this.connectionManager.get(e)&&(this._options.connectionManager.minConnections||0)>this.connectionManager.size){Ft("connecting to discovered peer %s",e.toB58String());try{await this.dialer.connectToPeer(e)}catch(n){Ft.error(`could not connect to discovered peer ${e.toB58String()} with ${n}`)}}}async _setupPeerDiscovery(){let e=r=>{let n={enabled:!0};if(r.tag&&this._config.peerDiscovery&&this._config.peerDiscovery[r.tag]&&(n={...n,...this._config.peerDiscovery[r.tag]}),n.enabled&&!this._discovery.has(r.tag)){let i;typeof r=="function"?i=new r(Object.assign({},n,{peerId:this.peerId,libp2p:this})):i=r,i.on("peer",this._onDiscoveryPeer),this._discovery.set(r.tag,i)}};for(let r of this._modules.peerDiscovery||[])e(r);for(let r of this.transportManager.getTransports())r.discovery&&e(r.discovery);await Promise.all(Array.from(this._discovery.values(),r=>r.start()))}};eI.exports=$a});return aq();})();
|
|
46
46
|
/*!
|
|
47
47
|
* The buffer module from node.js, for the browser.
|
|
48
48
|
*
|