libp2p 1.0.11-cd8cafcd5 → 1.0.12-28587d24f
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 +31 -31
- package/dist/src/version.d.ts +1 -1
- package/dist/src/version.js +1 -1
- package/package.json +19 -19
- package/src/version.ts +1 -1
package/dist/index.min.js
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2P = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Libp2P=(()=>{var
|
|
3
|
-
`)}return n};ma.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=rf[e];if(!r){r=rf[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<"u"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function Ag(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 Re=q((Jv,uf)=>{var of=le(),af=sf(),w=uf.exports=of.util=of.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){w.nextTick=process.nextTick,typeof setImmediate=="function"?w.setImmediate=setImmediate:w.setImmediate=w.nextTick;return}if(typeof setImmediate=="function"){w.setImmediate=function(){return setImmediate.apply(void 0,arguments)},w.nextTick=function(a){return setImmediate(a)};return}if(w.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&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=[];w.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){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=w.setImmediate;w.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}w.nextTick=w.setImmediate})();w.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;w.globalScope=function(){return w.isNodejs?globalThis:typeof self>"u"?window:self}();w.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};w.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};w.isArrayBufferView=function(t){return t&&w.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function di(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}w.ByteBuffer=ga;function ga(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(w.isArrayBuffer(t)||w.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof ga||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}w.ByteStringBuffer=ga;var Ig=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>Ig&&(this.data.substr(0,1),this._constructedStringLength=0)};w.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};w.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};w.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};w.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};w.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};w.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(w.encodeUtf8(t))};w.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.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))};w.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};w.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};w.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))};w.ByteStringBuffer.prototype.putInt=function(t,e){di(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};w.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};w.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};w.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};w.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};w.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};w.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};w.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};w.ByteStringBuffer.prototype.getInt=function(t){di(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};w.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.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};w.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};w.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};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var t=w.createBuffer(this.data);return t.read=this.read,t};w.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};w.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};w.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};w.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};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function Cg(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=w.isArrayBuffer(t),n=w.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)}w.DataBuffer=Cg;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.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};w.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};w.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};w.DataBuffer.prototype.putBytes=function(t,e){if(w.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(w.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 w.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&w.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 w.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+=w.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+=w.binary.base64.decode(t,s,this.write),this;if(e==="utf8"&&(t=w.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(s),this;if(e==="utf16")return this.accommodate(t.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=w.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};w.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};w.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};w.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};w.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};w.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};w.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};w.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(t,e){di(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};w.DataBuffer.prototype.putSignedInt=function(t,e){return di(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};w.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};w.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};w.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};w.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};w.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};w.DataBuffer.prototype.getInt=function(t){di(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};w.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.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};w.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};w.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};w.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};w.DataBuffer.prototype.copy=function(){return new w.DataBuffer(this)};w.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};w.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};w.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};w.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};w.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return w.binary.raw.encode(e);if(t==="hex")return w.binary.hex.encode(e);if(t==="base64")return w.binary.base64.encode(e);if(t==="utf8")return w.text.utf8.decode(e);if(t==="utf16")return w.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};w.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=w.encodeUtf8(t)),new w.ByteBuffer(t)};w.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};w.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};w.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};w.bytesToHex=function(t){return w.createBuffer(t).toHex()};w.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var yr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",xr=[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],cf="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.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+=yr.charAt(i>>2),r+=yr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=yr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":yr.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
4
|
-
`,r=r.substr(e));return n+=r,n};w.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,s,o=0;o<t.length;)r=
|
|
5
|
-
`,r=r.substr(e));return n+=r,n};w.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=xr[t.charCodeAt(c++)-43],s=xr[t.charCodeAt(c++)-43],o=xr[t.charCodeAt(c++)-43],a=xr[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)};w.binary.base58.encode=function(t,e){return w.binary.baseN.encode(t,cf,e)};w.binary.base58.decode=function(t,e){return w.binary.baseN.decode(t,cf,e)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(t,e,r){t=w.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};w.text.utf8.decode=function(t){return w.decodeUtf8(String.fromCharCode.apply(null,t))};w.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};w.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};w.deflate=function(t,e,r){if(e=w.decode64(t.deflate(w.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};w.inflate=function(t,e,r){var n=t.inflate(w.encode64(e)).rval;return n===null?null:w.decode64(n)};var ya=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=w.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},xa=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(w.decode64(r))),r},Tg=function(t,e,r,n){var i=xa(t,e);i===null&&(i={}),i[r]=n,ya(t,e,i)},Rg=function(t,e,r){var n=xa(t,e);return n!==null&&(n=r in n?n[r]:null),n},Bg=function(t,e,r){var n=xa(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),ya(t,e,n)}},Lg=function(t,e){ya(t,e,null)},ss=function(t,e,r){var n=null;typeof r>"u"&&(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};w.setItem=function(t,e,r,n,i){ss(Tg,arguments,i)};w.getItem=function(t,e,r,n){return ss(Rg,arguments,n)};w.removeItem=function(t,e,r,n){ss(Bg,arguments,n)};w.clearItems=function(t,e,r){ss(Lg,arguments,r)};w.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};w.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("")};w.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):"")};w.formatSize=function(t){return t>=1073741824?t=w.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=w.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=w.formatNumber(t/1024,0)+" KiB":t=w.formatNumber(t,0)+" bytes",t};w.bytesFromIP=function(t){return t.indexOf(".")!==-1?w.bytesFromIPv4(t):t.indexOf(":")!==-1?w.bytesFromIPv6(t):null};w.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=w.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};w.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=w.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=w.hexToBytes(t[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};w.bytesToIP=function(t){return t.length===4?w.bytesToIPv4(t):t.length===16?w.bytesToIPv6(t):null};w.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(".")};w.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=w.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(":")};w.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in w&&!t.update)return e(null,w.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return w.cores=navigator.hardwareConcurrency,e(null,w.cores);if(typeof Worker>"u")return w.cores=1,e(null,w.cores);if(typeof Blob>"u")return w.cores=2,e(null,w.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 w.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,w.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,m){return Math.max(h,m.length)},0)}}});var os=q((e_,lf)=>{var pi=le();pi.pki=pi.pki||{};var ba=lf.exports=pi.pki.oids=pi.oids=pi.oids||{};function B(t,e){ba[t]=e,ba[e]=t}function ie(t,e){ba[t]=e}B("1.2.840.113549.1.1.1","rsaEncryption");B("1.2.840.113549.1.1.4","md5WithRSAEncryption");B("1.2.840.113549.1.1.5","sha1WithRSAEncryption");B("1.2.840.113549.1.1.7","RSAES-OAEP");B("1.2.840.113549.1.1.8","mgf1");B("1.2.840.113549.1.1.9","pSpecified");B("1.2.840.113549.1.1.10","RSASSA-PSS");B("1.2.840.113549.1.1.11","sha256WithRSAEncryption");B("1.2.840.113549.1.1.12","sha384WithRSAEncryption");B("1.2.840.113549.1.1.13","sha512WithRSAEncryption");B("1.3.101.112","EdDSA25519");B("1.2.840.10040.4.3","dsa-with-sha1");B("1.3.14.3.2.7","desCBC");B("1.3.14.3.2.26","sha1");B("1.3.14.3.2.29","sha1WithRSASignature");B("2.16.840.1.101.3.4.2.1","sha256");B("2.16.840.1.101.3.4.2.2","sha384");B("2.16.840.1.101.3.4.2.3","sha512");B("2.16.840.1.101.3.4.2.4","sha224");B("2.16.840.1.101.3.4.2.5","sha512-224");B("2.16.840.1.101.3.4.2.6","sha512-256");B("1.2.840.113549.2.2","md2");B("1.2.840.113549.2.5","md5");B("1.2.840.113549.1.7.1","data");B("1.2.840.113549.1.7.2","signedData");B("1.2.840.113549.1.7.3","envelopedData");B("1.2.840.113549.1.7.4","signedAndEnvelopedData");B("1.2.840.113549.1.7.5","digestedData");B("1.2.840.113549.1.7.6","encryptedData");B("1.2.840.113549.1.9.1","emailAddress");B("1.2.840.113549.1.9.2","unstructuredName");B("1.2.840.113549.1.9.3","contentType");B("1.2.840.113549.1.9.4","messageDigest");B("1.2.840.113549.1.9.5","signingTime");B("1.2.840.113549.1.9.6","counterSignature");B("1.2.840.113549.1.9.7","challengePassword");B("1.2.840.113549.1.9.8","unstructuredAddress");B("1.2.840.113549.1.9.14","extensionRequest");B("1.2.840.113549.1.9.20","friendlyName");B("1.2.840.113549.1.9.21","localKeyId");B("1.2.840.113549.1.9.22.1","x509Certificate");B("1.2.840.113549.1.12.10.1.1","keyBag");B("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");B("1.2.840.113549.1.12.10.1.3","certBag");B("1.2.840.113549.1.12.10.1.4","crlBag");B("1.2.840.113549.1.12.10.1.5","secretBag");B("1.2.840.113549.1.12.10.1.6","safeContentsBag");B("1.2.840.113549.1.5.13","pkcs5PBES2");B("1.2.840.113549.1.5.12","pkcs5PBKDF2");B("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");B("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");B("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");B("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");B("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");B("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");B("1.2.840.113549.2.7","hmacWithSHA1");B("1.2.840.113549.2.8","hmacWithSHA224");B("1.2.840.113549.2.9","hmacWithSHA256");B("1.2.840.113549.2.10","hmacWithSHA384");B("1.2.840.113549.2.11","hmacWithSHA512");B("1.2.840.113549.3.7","des-EDE3-CBC");B("2.16.840.1.101.3.4.1.2","aes128-CBC");B("2.16.840.1.101.3.4.1.22","aes192-CBC");B("2.16.840.1.101.3.4.1.42","aes256-CBC");B("2.5.4.3","commonName");B("2.5.4.4","surname");B("2.5.4.5","serialNumber");B("2.5.4.6","countryName");B("2.5.4.7","localityName");B("2.5.4.8","stateOrProvinceName");B("2.5.4.9","streetAddress");B("2.5.4.10","organizationName");B("2.5.4.11","organizationalUnitName");B("2.5.4.12","title");B("2.5.4.13","description");B("2.5.4.15","businessCategory");B("2.5.4.17","postalCode");B("2.5.4.42","givenName");B("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");B("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");B("2.16.840.1.113730.1.1","nsCertType");B("2.16.840.1.113730.1.13","nsComment");ie("2.5.29.1","authorityKeyIdentifier");ie("2.5.29.2","keyAttributes");ie("2.5.29.3","certificatePolicies");ie("2.5.29.4","keyUsageRestriction");ie("2.5.29.5","policyMapping");ie("2.5.29.6","subtreesConstraint");ie("2.5.29.7","subjectAltName");ie("2.5.29.8","issuerAltName");ie("2.5.29.9","subjectDirectoryAttributes");ie("2.5.29.10","basicConstraints");ie("2.5.29.11","nameConstraints");ie("2.5.29.12","policyConstraints");ie("2.5.29.13","basicConstraints");B("2.5.29.14","subjectKeyIdentifier");B("2.5.29.15","keyUsage");ie("2.5.29.16","privateKeyUsagePeriod");B("2.5.29.17","subjectAltName");B("2.5.29.18","issuerAltName");B("2.5.29.19","basicConstraints");ie("2.5.29.20","cRLNumber");ie("2.5.29.21","cRLReason");ie("2.5.29.22","expirationDate");ie("2.5.29.23","instructionCode");ie("2.5.29.24","invalidityDate");ie("2.5.29.25","cRLDistributionPoints");ie("2.5.29.26","issuingDistributionPoint");ie("2.5.29.27","deltaCRLIndicator");ie("2.5.29.28","issuingDistributionPoint");ie("2.5.29.29","certificateIssuer");ie("2.5.29.30","nameConstraints");B("2.5.29.31","cRLDistributionPoints");B("2.5.29.32","certificatePolicies");ie("2.5.29.33","policyMappings");ie("2.5.29.34","policyConstraints");B("2.5.29.35","authorityKeyIdentifier");ie("2.5.29.36","policyConstraints");B("2.5.29.37","extKeyUsage");ie("2.5.29.46","freshestCRL");ie("2.5.29.54","inhibitAnyPolicy");B("1.3.6.1.4.1.11129.2.4.2","timestampList");B("1.3.6.1.5.5.7.1.1","authorityInfoAccess");B("1.3.6.1.5.5.7.3.1","serverAuth");B("1.3.6.1.5.5.7.3.2","clientAuth");B("1.3.6.1.5.5.7.3.3","codeSigning");B("1.3.6.1.5.5.7.3.4","emailProtection");B("1.3.6.1.5.5.7.3.8","timeStamping")});var gi=q((t_,hf)=>{var pe=le();Re();os();var O=hf.exports=pe.asn1=pe.asn1||{};O.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};O.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};O.create=function(t,e,r,n,i){if(pe.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||pe.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=O.copy(a)),a};O.copy=function(t,e){var r;if(pe.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(O.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:O.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};O.equals=function(t,e,r){if(pe.util.isArray(t)){if(!pe.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!O.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&&O.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};O.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 mi(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 Pg=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;mi(t,e,s),n=t.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};O.fromDer=function(t,e){e===void 0&&(e={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"parseAllBytes"in e||(e.parseAllBytes=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=pe.util.createBuffer(t));var r=t.length(),n=as(t,t.length(),0,e);if(e.parseAllBytes&&t.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=t.length(),i}return n};function as(t,e,r,n){var i;mi(t,e,2);var s=t.getByte();e--;var o=s&192,a=s&31;i=t.length();var c=Pg(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(mi(t,e,2),t.bytes(2)==="\0\0"){t.getBytes(2),e-=2;break}i=t.length(),l.push(as(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(as(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&o===O.Class.UNIVERSAL&&a===O.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&o===O.Class.UNIVERSAL&&a===O.Type.BITSTRING&&c>1){var p=t.read,h=e,m=0;if(a===O.Type.BITSTRING&&(mi(t,e,1),m=t.getByte(),e--),m===0)try{i=t.length();var g={strict:!0,decodeBitStrings:!0},y=as(t,e,r+1,g),x=i-t.length();e-=x,a==O.Type.BITSTRING&&x++;var b=y.tagClass;x===c&&(b===O.Class.UNIVERSAL||b===O.Class.CONTEXT_SPECIFIC)&&(l=[y])}catch{}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===O.Type.BMPSTRING)for(l="";c>0;c-=2)mi(t,e,2),l+=String.fromCharCode(t.getInt16()),e-=2;else l=t.getBytes(c),e-=c}var I=f===void 0?null:{bitStringContents:f};return O.create(o,a,d,l,I)}O.toDer=function(t){var e=pe.util.createBuffer(),r=t.tagClass|t.type,n=pe.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=O.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(O.toDer(t.value[s]))}else if(t.type===O.Type.BMPSTRING)for(var s=0;s<t.value.length;++s)n.putInt16(t.value.charCodeAt(s));else t.type===O.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&!(t.value.charCodeAt(1)&128)||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};O.oidToDer=function(t){var e=t.split("."),r=pe.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};O.derToOid=function(t){var e;typeof t=="string"&&(t=pe.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};O.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};O.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};O.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};O.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};O.integerToDer=function(t){var e=pe.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};O.derToInteger=function(t){typeof t=="string"&&(t=pe.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)};O.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass>"u")&&(t.type===e.type||typeof e.type>"u"))if(t.constructed===e.constructed||typeof e.constructed>"u"){if(i=!0,e.value&&pe.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=O.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 ff=/[^\\u0000-\\u00ff]/;O.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
|
2
|
+
"use strict";var Libp2P=(()=>{var $y=Object.create;var bs=Object.defineProperty;var zy=Object.getOwnPropertyDescriptor;var Hy=Object.getOwnPropertyNames;var Gy=Object.getPrototypeOf,Wy=Object.prototype.hasOwnProperty;var q=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ie=(t,e)=>{for(var r in e)bs(t,r,{get:e[r],enumerable:!0})},Gf=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Hy(e))!Wy.call(t,i)&&i!==r&&bs(t,i,{get:()=>e[i],enumerable:!(n=zy(e,i))||n.enumerable});return t};var Ee=(t,e,r)=>(r=t!=null?$y(Gy(t)):{},Gf(e||!t||!t.__esModule?bs(r,"default",{value:t,enumerable:!0}):r,t)),Yy=t=>Gf(bs({},"__esModule",{value:!0}),t);var fe=q((k_,Wf)=>{Wf.exports={options:{usePureJavaScript:!1}}});var Xf=q((O_,Qf)=>{var Da={};Qf.exports=Da;var Yf={};Da.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=Qy(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
|
|
3
|
+
`)}return n};Da.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=Yf[e];if(!r){r=Yf[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<"u"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function Qy(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 Le=q((U_,eh)=>{var Zf=fe(),jf=Xf(),w=eh.exports=Zf.util=Zf.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){w.nextTick=process.nextTick,typeof setImmediate=="function"?w.setImmediate=setImmediate:w.setImmediate=w.nextTick;return}if(typeof setImmediate=="function"){w.setImmediate=function(){return setImmediate.apply(void 0,arguments)},w.nextTick=function(a){return setImmediate(a)};return}if(w.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&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=[];w.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){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=w.setImmediate;w.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}w.nextTick=w.setImmediate})();w.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;w.globalScope=function(){return w.isNodejs?globalThis:typeof self>"u"?window:self}();w.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};w.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};w.isArrayBufferView=function(t){return t&&w.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Si(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}w.ByteBuffer=Pa;function Pa(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(w.isArrayBuffer(t)||w.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof Pa||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}w.ByteStringBuffer=Pa;var Xy=4096;w.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>Xy&&(this.data.substr(0,1),this._constructedStringLength=0)};w.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};w.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};w.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};w.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};w.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};w.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(w.encodeUtf8(t))};w.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};w.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))};w.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};w.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};w.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))};w.ByteStringBuffer.prototype.putInt=function(t,e){Si(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};w.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};w.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};w.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};w.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};w.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};w.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};w.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};w.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};w.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};w.ByteStringBuffer.prototype.getInt=function(t){Si(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};w.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.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};w.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};w.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};w.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};w.ByteStringBuffer.prototype.copy=function(){var t=w.createBuffer(this.data);return t.read=this.read,t};w.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};w.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};w.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};w.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};w.ByteStringBuffer.prototype.toString=function(){return w.decodeUtf8(this.bytes())};function Zy(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=w.isArrayBuffer(t),n=w.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)}w.DataBuffer=Zy;w.DataBuffer.prototype.length=function(){return this.write-this.read};w.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};w.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};w.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};w.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};w.DataBuffer.prototype.putBytes=function(t,e){if(w.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(w.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 w.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&w.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 w.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+=w.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+=w.binary.base64.decode(t,s,this.write),this;if(e==="utf8"&&(t=w.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=w.binary.raw.decode(s),this;if(e==="utf16")return this.accommodate(t.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=w.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};w.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};w.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};w.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};w.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};w.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};w.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};w.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};w.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};w.DataBuffer.prototype.putInt=function(t,e){Si(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};w.DataBuffer.prototype.putSignedInt=function(t,e){return Si(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};w.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};w.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};w.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};w.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};w.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};w.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};w.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};w.DataBuffer.prototype.getInt=function(t){Si(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};w.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};w.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};w.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};w.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};w.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};w.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};w.DataBuffer.prototype.copy=function(){return new w.DataBuffer(this)};w.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};w.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};w.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};w.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};w.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return w.binary.raw.encode(e);if(t==="hex")return w.binary.hex.encode(e);if(t==="base64")return w.binary.base64.encode(e);if(t==="utf8")return w.text.utf8.decode(e);if(t==="utf16")return w.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};w.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=w.encodeUtf8(t)),new w.ByteBuffer(t)};w.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};w.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};w.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};w.bytesToHex=function(t){return w.createBuffer(t).toHex()};w.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var wr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Er=[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],Jf="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";w.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+=wr.charAt(i>>2),r+=wr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=wr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":wr.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
4
|
+
`,r=r.substr(e));return n+=r,n};w.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,s,o=0;o<t.length;)r=Er[t.charCodeAt(o++)-43],n=Er[t.charCodeAt(o++)-43],i=Er[t.charCodeAt(o++)-43],s=Er[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};w.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};w.decodeUtf8=function(t){return decodeURIComponent(escape(t))};w.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:jf.encode,decode:jf.decode}};w.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};w.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};w.binary.hex.encode=w.bytesToHex;w.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};w.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+=wr.charAt(i>>2),r+=wr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=wr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":wr.charAt(o&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
|
|
5
|
+
`,r=r.substr(e));return n+=r,n};w.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=Er[t.charCodeAt(c++)-43],s=Er[t.charCodeAt(c++)-43],o=Er[t.charCodeAt(c++)-43],a=Er[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)};w.binary.base58.encode=function(t,e){return w.binary.baseN.encode(t,Jf,e)};w.binary.base58.decode=function(t,e){return w.binary.baseN.decode(t,Jf,e)};w.text={utf8:{},utf16:{}};w.text.utf8.encode=function(t,e,r){t=w.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};w.text.utf8.decode=function(t){return w.decodeUtf8(String.fromCharCode.apply(null,t))};w.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};w.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};w.deflate=function(t,e,r){if(e=w.decode64(t.deflate(w.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};w.inflate=function(t,e,r){var n=t.inflate(w.encode64(e)).rval;return n===null?null:w.decode64(n)};var Na=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=w.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},ka=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(w.decode64(r))),r},jy=function(t,e,r,n){var i=ka(t,e);i===null&&(i={}),i[r]=n,Na(t,e,i)},Jy=function(t,e,r){var n=ka(t,e);return n!==null&&(n=r in n?n[r]:null),n},ex=function(t,e,r){var n=ka(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),Na(t,e,n)}},tx=function(t,e){Na(t,e,null)},ws=function(t,e,r){var n=null;typeof r>"u"&&(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};w.setItem=function(t,e,r,n,i){ws(jy,arguments,i)};w.getItem=function(t,e,r,n){return ws(Jy,arguments,n)};w.removeItem=function(t,e,r,n){ws(ex,arguments,n)};w.clearItems=function(t,e,r){ws(tx,arguments,r)};w.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};w.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("")};w.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):"")};w.formatSize=function(t){return t>=1073741824?t=w.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=w.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=w.formatNumber(t/1024,0)+" KiB":t=w.formatNumber(t,0)+" bytes",t};w.bytesFromIP=function(t){return t.indexOf(".")!==-1?w.bytesFromIPv4(t):t.indexOf(":")!==-1?w.bytesFromIPv6(t):null};w.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=w.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};w.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=w.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=w.hexToBytes(t[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};w.bytesToIP=function(t){return t.length===4?w.bytesToIPv4(t):t.length===16?w.bytesToIPv6(t):null};w.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(".")};w.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=w.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(":")};w.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in w&&!t.update)return e(null,w.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return w.cores=navigator.hardwareConcurrency,e(null,w.cores);if(typeof Worker>"u")return w.cores=1,e(null,w.cores);if(typeof Blob>"u")return w.cores=2,e(null,w.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 w.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,w.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,m){return Math.max(h,m.length)},0)}}});var Es=q((M_,th)=>{var _i=fe();_i.pki=_i.pki||{};var Oa=th.exports=_i.pki.oids=_i.oids=_i.oids||{};function D(t,e){Oa[t]=e,Oa[e]=t}function se(t,e){Oa[t]=e}D("1.2.840.113549.1.1.1","rsaEncryption");D("1.2.840.113549.1.1.4","md5WithRSAEncryption");D("1.2.840.113549.1.1.5","sha1WithRSAEncryption");D("1.2.840.113549.1.1.7","RSAES-OAEP");D("1.2.840.113549.1.1.8","mgf1");D("1.2.840.113549.1.1.9","pSpecified");D("1.2.840.113549.1.1.10","RSASSA-PSS");D("1.2.840.113549.1.1.11","sha256WithRSAEncryption");D("1.2.840.113549.1.1.12","sha384WithRSAEncryption");D("1.2.840.113549.1.1.13","sha512WithRSAEncryption");D("1.3.101.112","EdDSA25519");D("1.2.840.10040.4.3","dsa-with-sha1");D("1.3.14.3.2.7","desCBC");D("1.3.14.3.2.26","sha1");D("1.3.14.3.2.29","sha1WithRSASignature");D("2.16.840.1.101.3.4.2.1","sha256");D("2.16.840.1.101.3.4.2.2","sha384");D("2.16.840.1.101.3.4.2.3","sha512");D("2.16.840.1.101.3.4.2.4","sha224");D("2.16.840.1.101.3.4.2.5","sha512-224");D("2.16.840.1.101.3.4.2.6","sha512-256");D("1.2.840.113549.2.2","md2");D("1.2.840.113549.2.5","md5");D("1.2.840.113549.1.7.1","data");D("1.2.840.113549.1.7.2","signedData");D("1.2.840.113549.1.7.3","envelopedData");D("1.2.840.113549.1.7.4","signedAndEnvelopedData");D("1.2.840.113549.1.7.5","digestedData");D("1.2.840.113549.1.7.6","encryptedData");D("1.2.840.113549.1.9.1","emailAddress");D("1.2.840.113549.1.9.2","unstructuredName");D("1.2.840.113549.1.9.3","contentType");D("1.2.840.113549.1.9.4","messageDigest");D("1.2.840.113549.1.9.5","signingTime");D("1.2.840.113549.1.9.6","counterSignature");D("1.2.840.113549.1.9.7","challengePassword");D("1.2.840.113549.1.9.8","unstructuredAddress");D("1.2.840.113549.1.9.14","extensionRequest");D("1.2.840.113549.1.9.20","friendlyName");D("1.2.840.113549.1.9.21","localKeyId");D("1.2.840.113549.1.9.22.1","x509Certificate");D("1.2.840.113549.1.12.10.1.1","keyBag");D("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");D("1.2.840.113549.1.12.10.1.3","certBag");D("1.2.840.113549.1.12.10.1.4","crlBag");D("1.2.840.113549.1.12.10.1.5","secretBag");D("1.2.840.113549.1.12.10.1.6","safeContentsBag");D("1.2.840.113549.1.5.13","pkcs5PBES2");D("1.2.840.113549.1.5.12","pkcs5PBKDF2");D("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");D("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");D("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");D("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");D("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");D("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");D("1.2.840.113549.2.7","hmacWithSHA1");D("1.2.840.113549.2.8","hmacWithSHA224");D("1.2.840.113549.2.9","hmacWithSHA256");D("1.2.840.113549.2.10","hmacWithSHA384");D("1.2.840.113549.2.11","hmacWithSHA512");D("1.2.840.113549.3.7","des-EDE3-CBC");D("2.16.840.1.101.3.4.1.2","aes128-CBC");D("2.16.840.1.101.3.4.1.22","aes192-CBC");D("2.16.840.1.101.3.4.1.42","aes256-CBC");D("2.5.4.3","commonName");D("2.5.4.4","surname");D("2.5.4.5","serialNumber");D("2.5.4.6","countryName");D("2.5.4.7","localityName");D("2.5.4.8","stateOrProvinceName");D("2.5.4.9","streetAddress");D("2.5.4.10","organizationName");D("2.5.4.11","organizationalUnitName");D("2.5.4.12","title");D("2.5.4.13","description");D("2.5.4.15","businessCategory");D("2.5.4.17","postalCode");D("2.5.4.42","givenName");D("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");D("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");D("2.16.840.1.113730.1.1","nsCertType");D("2.16.840.1.113730.1.13","nsComment");se("2.5.29.1","authorityKeyIdentifier");se("2.5.29.2","keyAttributes");se("2.5.29.3","certificatePolicies");se("2.5.29.4","keyUsageRestriction");se("2.5.29.5","policyMapping");se("2.5.29.6","subtreesConstraint");se("2.5.29.7","subjectAltName");se("2.5.29.8","issuerAltName");se("2.5.29.9","subjectDirectoryAttributes");se("2.5.29.10","basicConstraints");se("2.5.29.11","nameConstraints");se("2.5.29.12","policyConstraints");se("2.5.29.13","basicConstraints");D("2.5.29.14","subjectKeyIdentifier");D("2.5.29.15","keyUsage");se("2.5.29.16","privateKeyUsagePeriod");D("2.5.29.17","subjectAltName");D("2.5.29.18","issuerAltName");D("2.5.29.19","basicConstraints");se("2.5.29.20","cRLNumber");se("2.5.29.21","cRLReason");se("2.5.29.22","expirationDate");se("2.5.29.23","instructionCode");se("2.5.29.24","invalidityDate");se("2.5.29.25","cRLDistributionPoints");se("2.5.29.26","issuingDistributionPoint");se("2.5.29.27","deltaCRLIndicator");se("2.5.29.28","issuingDistributionPoint");se("2.5.29.29","certificateIssuer");se("2.5.29.30","nameConstraints");D("2.5.29.31","cRLDistributionPoints");D("2.5.29.32","certificatePolicies");se("2.5.29.33","policyMappings");se("2.5.29.34","policyConstraints");D("2.5.29.35","authorityKeyIdentifier");se("2.5.29.36","policyConstraints");D("2.5.29.37","extKeyUsage");se("2.5.29.46","freshestCRL");se("2.5.29.54","inhibitAnyPolicy");D("1.3.6.1.4.1.11129.2.4.2","timestampList");D("1.3.6.1.5.5.7.1.1","authorityInfoAccess");D("1.3.6.1.5.5.7.3.1","serverAuth");D("1.3.6.1.5.5.7.3.2","clientAuth");D("1.3.6.1.5.5.7.3.3","codeSigning");D("1.3.6.1.5.5.7.3.4","emailProtection");D("1.3.6.1.5.5.7.3.8","timeStamping")});var Ci=q((F_,nh)=>{var me=fe();Le();Es();var O=nh.exports=me.asn1=me.asn1||{};O.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};O.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};O.create=function(t,e,r,n,i){if(me.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||me.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=O.copy(a)),a};O.copy=function(t,e){var r;if(me.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(O.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:O.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};O.equals=function(t,e,r){if(me.util.isArray(t)){if(!me.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!O.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&&O.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};O.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 Ii(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 rx=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;Ii(t,e,s),n=t.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};O.fromDer=function(t,e){e===void 0&&(e={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"parseAllBytes"in e||(e.parseAllBytes=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=me.util.createBuffer(t));var r=t.length(),n=vs(t,t.length(),0,e);if(e.parseAllBytes&&t.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=t.length(),i}return n};function vs(t,e,r,n){var i;Ii(t,e,2);var s=t.getByte();e--;var o=s&192,a=s&31;i=t.length();var c=rx(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(Ii(t,e,2),t.bytes(2)==="\0\0"){t.getBytes(2),e-=2;break}i=t.length(),l.push(vs(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),l.push(vs(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(l===void 0&&o===O.Class.UNIVERSAL&&a===O.Type.BITSTRING&&(f=t.bytes(c)),l===void 0&&n.decodeBitStrings&&o===O.Class.UNIVERSAL&&a===O.Type.BITSTRING&&c>1){var p=t.read,h=e,m=0;if(a===O.Type.BITSTRING&&(Ii(t,e,1),m=t.getByte(),e--),m===0)try{i=t.length();var g={strict:!0,decodeBitStrings:!0},y=vs(t,e,r+1,g),x=i-t.length();e-=x,a==O.Type.BITSTRING&&x++;var b=y.tagClass;x===c&&(b===O.Class.UNIVERSAL||b===O.Class.CONTEXT_SPECIFIC)&&(l=[y])}catch{}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===O.Type.BMPSTRING)for(l="";c>0;c-=2)Ii(t,e,2),l+=String.fromCharCode(t.getInt16()),e-=2;else l=t.getBytes(c),e-=c}var S=f===void 0?null:{bitStringContents:f};return O.create(o,a,d,l,S)}O.toDer=function(t){var e=me.util.createBuffer(),r=t.tagClass|t.type,n=me.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=O.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(O.toDer(t.value[s]))}else if(t.type===O.Type.BMPSTRING)for(var s=0;s<t.value.length;++s)n.putInt16(t.value.charCodeAt(s));else t.type===O.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&!(t.value.charCodeAt(1)&128)||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};O.oidToDer=function(t){var e=t.split("."),r=me.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};O.derToOid=function(t){var e;typeof t=="string"&&(t=me.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};O.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};O.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};O.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};O.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};O.integerToDer=function(t){var e=me.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};O.derToInteger=function(t){typeof t=="string"&&(t=me.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)};O.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass>"u")&&(t.type===e.type||typeof e.type>"u"))if(t.constructed===e.constructed||typeof e.constructed>"u"){if(i=!0,e.value&&me.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=O.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 rh=/[^\\u0000-\\u00ff]/;O.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
|
|
6
6
|
`);for(var i="",s=0;s<e*r;++s)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case O.Class.UNIVERSAL:n+="Universal:";break;case O.Class.APPLICATION:n+="Application:";break;case O.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case O.Class.PRIVATE:n+="Private:";break}if(t.tagClass===O.Class.UNIVERSAL)switch(n+=t.type,t.type){case O.Type.NONE:n+=" (None)";break;case O.Type.BOOLEAN:n+=" (Boolean)";break;case O.Type.INTEGER:n+=" (Integer)";break;case O.Type.BITSTRING:n+=" (Bit string)";break;case O.Type.OCTETSTRING:n+=" (Octet string)";break;case O.Type.NULL:n+=" (Null)";break;case O.Type.OID:n+=" (Object Identifier)";break;case O.Type.ODESC:n+=" (Object Descriptor)";break;case O.Type.EXTERNAL:n+=" (External or Instance of)";break;case O.Type.REAL:n+=" (Real)";break;case O.Type.ENUMERATED:n+=" (Enumerated)";break;case O.Type.EMBEDDED:n+=" (Embedded PDV)";break;case O.Type.UTF8:n+=" (UTF8)";break;case O.Type.ROID:n+=" (Relative Object Identifier)";break;case O.Type.SEQUENCE:n+=" (Sequence)";break;case O.Type.SET:n+=" (Set)";break;case O.Type.PRINTABLESTRING:n+=" (Printable String)";break;case O.Type.IA5String:n+=" (IA5String (ASCII))";break;case O.Type.UTCTIME:n+=" (UTC time)";break;case O.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case O.Type.BMPSTRING:n+=" (BMP String)";break}else n+=t.type;if(n+=`
|
|
7
7
|
`,n+=i+"Constructed: "+t.constructed+`
|
|
8
|
-
`,t.composed){for(var o=0,a="",s=0;s<t.value.length;++s)t.value[s]!==void 0&&(o+=1,a+=O.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===O.Type.OID){var c=O.derToOid(t.value);n+=c,pe.pki&&pe.pki.oids&&c in pe.pki.oids&&(n+=" ("+pe.pki.oids[c]+") ")}if(t.type===O.Type.INTEGER)try{n+=O.derToInteger(t.value)}catch{n+="0x"+pe.util.bytesToHex(t.value)}else if(t.type===O.Type.BITSTRING){if(t.value.length>1?n+="0x"+pe.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 if(t.type===O.Type.OCTETSTRING)ff.test(t.value)||(n+="("+t.value+") "),n+="0x"+pe.util.bytesToHex(t.value);else if(t.type===O.Type.UTF8)try{n+=pe.util.decodeUtf8(t.value)}catch(l){if(l.message==="URI malformed")n+="0x"+pe.util.bytesToHex(t.value)+" (malformed UTF8)";else throw l}else t.type===O.Type.PRINTABLESTRING||t.type===O.Type.IA5String?n+=t.value:ff.test(t.value)?n+="0x"+pe.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var Ea=q((r_,df)=>{var Oe=le();Re();df.exports=Oe.cipher=Oe.cipher||{};Oe.cipher.algorithms=Oe.cipher.algorithms||{};Oe.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Oe.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Oe.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};Oe.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Oe.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Oe.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};Oe.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),Oe.cipher.algorithms[t]=e};Oe.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in Oe.cipher.algorithms?Oe.cipher.algorithms[t]:null};var wa=Oe.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)};wa.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=Oe.util.createBuffer(),this.output=t.output||Oe.util.createBuffer(),this.mode.start(e)};wa.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()};wa.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 _a=q((n_,pf)=>{var Me=le();Re();Me.cipher=Me.cipher||{};var Z=pf.exports=Me.cipher.modes=Me.cipher.modes||{};Z.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)};Z.ecb.prototype.start=function(t){};Z.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])};Z.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])};Z.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Z.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)};Z.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)};Z.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=cs(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};Z.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};Z.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)};Z.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Z.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)};Z.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=Me.util.createBuffer(),this._partialBytes=0};Z.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=cs(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Z.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};Z.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};Z.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=Me.util.createBuffer(),this._partialBytes=0};Z.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=cs(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Z.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};Z.ofb.prototype.decrypt=Z.ofb.prototype.encrypt;Z.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=Me.util.createBuffer(),this._partialBytes=0};Z.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=cs(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Z.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}us(this._inBlock)};Z.ctr.prototype.decrypt=Z.ctr.prototype.encrypt;Z.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=Me.util.createBuffer(),this._partialBytes=0,this._R=3774873600};Z.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=Me.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=Me.util.createBuffer(t.additionalData):r=Me.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=Me.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(va(n*8)))}this._inBlock=this._j0.slice(0),us(this._inBlock),this._partialBytes=0,r=Me.util.createBuffer(r),this._aDataLength=va(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()])};Z.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),us(this._inBlock)};Z.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),us(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};Z.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=Me.util.createBuffer();var n=this._aDataLength.concat(va(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};Z.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};Z.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)};Z.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};Z.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)};Z.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};Z.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 cs(t,e){if(typeof t=="string"&&(t=Me.util.createBuffer(t)),Me.util.isArray(t)&&t.length>4){var r=t;t=Me.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(!Me.util.isArray(t)){for(var i=[],s=e/4,n=0;n<s;++n)i.push(t.getInt32());t=i}return t}function us(t){t[t.length-1]=t[t.length-1]+1&4294967295}function va(t){return[t/4294967296|0,t&4294967295]}});var Ca=q((i_,xf)=>{var he=le();Ea();_a();Re();xf.exports=he.aes=he.aes||{};he.aes.startEncrypting=function(t,e,r,n){var i=ls({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};he.aes.createEncryptionCipher=function(t,e){return ls({key:t,output:null,decrypt:!1,mode:e})};he.aes.startDecrypting=function(t,e,r,n){var i=ls({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};he.aes.createDecryptionCipher=function(t,e){return ls({key:t,output:null,decrypt:!0,mode:e})};he.aes.Algorithm=function(t,e){Ia||gf();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Aa(r._w,n,i,!1)},decrypt:function(n,i){return Aa(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=yf(e,t.decrypt&&!o),this._init=!0}};he.aes._expandKey=function(t,e){return Ia||gf(),yf(t,e)};he.aes._updateBlock=Aa;Sn("AES-ECB",he.cipher.modes.ecb);Sn("AES-CBC",he.cipher.modes.cbc);Sn("AES-CFB",he.cipher.modes.cfb);Sn("AES-OFB",he.cipher.modes.ofb);Sn("AES-CTR",he.cipher.modes.ctr);Sn("AES-GCM",he.cipher.modes.gcm);function Sn(t,e){var r=function(){return new he.aes.Algorithm(t,e)};he.cipher.registerAlgorithm(t,r)}var Ia=!1,_n=4,nt,Sa,mf,Fr,Tt;function gf(){Ia=!0,mf=[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;nt=new Array(256),Sa=new Array(256),Fr=new Array(4),Tt=new Array(4);for(var e=0;e<4;++e)Fr[e]=new Array(256),Tt[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,nt[r]=a,Sa[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)Fr[f][r]=u,Tt[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 yf(t,e){for(var r=t.slice(0),n,i=1,s=r.length,o=s+6+1,a=_n*o,c=s;c<a;++c)n=r[c-1],c%s===0?(n=nt[n>>>16&255]<<24^nt[n>>>8&255]<<16^nt[n&255]<<8^nt[n>>>24]^mf[i]<<24,i++):s>6&&c%s===4&&(n=nt[n>>>24]<<24^nt[n>>>16&255]<<16^nt[n>>>8&255]<<8^nt[n&255]),r[c]=r[c-s]^n;if(e){var u,l=Tt[0],f=Tt[1],d=Tt[2],p=Tt[3],h=r.slice(0);a=r.length;for(var c=0,m=a-_n;c<a;c+=_n,m-=_n)if(c===0||c===a-_n)h[c]=r[m],h[c+1]=r[m+3],h[c+2]=r[m+2],h[c+3]=r[m+1];else for(var g=0;g<_n;++g)u=r[m+g],h[c+(3&-g)]=l[nt[u>>>24]]^f[nt[u>>>16&255]]^d[nt[u>>>8&255]]^p[nt[u&255]];r=h}return r}function Aa(t,e,r,n){var i=t.length/4-1,s,o,a,c,u;n?(s=Tt[0],o=Tt[1],a=Tt[2],c=Tt[3],u=Sa):(s=Fr[0],o=Fr[1],a=Fr[2],c=Fr[3],u=nt);var l,f,d,p,h,m,g;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 y=3,x=1;x<i;++x)h=s[l>>>24]^o[f>>>16&255]^a[d>>>8&255]^c[p&255]^t[++y],m=s[f>>>24]^o[d>>>16&255]^a[p>>>8&255]^c[l&255]^t[++y],g=s[d>>>24]^o[p>>>16&255]^a[l>>>8&255]^c[f&255]^t[++y],p=s[p>>>24]^o[l>>>16&255]^a[f>>>8&255]^c[d&255]^t[++y],l=h,f=m,d=g;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[d>>>8&255]<<8^u[p&255]^t[++y],r[n?3:1]=u[f>>>24]<<24^u[d>>>16&255]<<16^u[p>>>8&255]<<8^u[l&255]^t[++y],r[2]=u[d>>>24]<<24^u[p>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^t[++y],r[n?1:3]=u[p>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[d&255]^t[++y]}function ls(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 Ef=q((s_,wf)=>{var ge=le();Ea();_a();Re();wf.exports=ge.des=ge.des||{};ge.des.startEncrypting=function(t,e,r,n){var i=fs({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ge.des.createEncryptionCipher=function(t,e){return fs({key:t,output:null,decrypt:!1,mode:e})};ge.des.startDecrypting=function(t,e,r,n){var i=fs({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ge.des.createDecryptionCipher=function(t,e){return fs({key:t,output:null,decrypt:!0,mode:e})};ge.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return bf(r._keys,n,i,!1)},decrypt:function(n,i){return bf(r._keys,n,i,!0)}}}),r._init=!1};ge.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=ge.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=qg(e),this._init=!0}};Ft("DES-ECB",ge.cipher.modes.ecb);Ft("DES-CBC",ge.cipher.modes.cbc);Ft("DES-CFB",ge.cipher.modes.cfb);Ft("DES-OFB",ge.cipher.modes.ofb);Ft("DES-CTR",ge.cipher.modes.ctr);Ft("3DES-ECB",ge.cipher.modes.ecb);Ft("3DES-CBC",ge.cipher.modes.cbc);Ft("3DES-CFB",ge.cipher.modes.cfb);Ft("3DES-OFB",ge.cipher.modes.ofb);Ft("3DES-CTR",ge.cipher.modes.ctr);function Ft(t,e){var r=function(){return new ge.des.Algorithm(t,e)};ge.cipher.registerAlgorithm(t,r)}var Dg=[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],Ng=[-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],kg=[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],Og=[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],Mg=[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],Ug=[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],Fg=[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],Kg=[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 qg(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],m=t.length()>8?3:1,g=[],y=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],x=0,b,I=0;I<m;I++){var v=t.getInt32(),_=t.getInt32();b=(v>>>4^_)&252645135,_^=b,v^=b<<4,b=(_>>>-16^v)&65535,v^=b,_^=b<<-16,b=(v>>>2^_)&858993459,_^=b,v^=b<<2,b=(_>>>-16^v)&65535,v^=b,_^=b<<-16,b=(v>>>1^_)&1431655765,_^=b,v^=b<<1,b=(_>>>8^v)&16711935,v^=b,_^=b<<8,b=(v>>>1^_)&1431655765,_^=b,v^=b<<1,b=v<<8|_>>>20&240,v=_<<24|_<<8&16711680|_>>>8&65280|_>>>24&240,_=b;for(var P=0;P<y.length;++P){y[P]?(v=v<<2|v>>>26,_=_<<2|_>>>26):(v=v<<1|v>>>27,_=_<<1|_>>>27),v&=-15,_&=-15;var D=e[v>>>28]|r[v>>>24&15]|n[v>>>20&15]|i[v>>>16&15]|s[v>>>12&15]|o[v>>>8&15]|a[v>>>4&15],H=c[_>>>28]|u[_>>>24&15]|l[_>>>20&15]|f[_>>>16&15]|d[_>>>12&15]|p[_>>>8&15]|h[_>>>4&15];b=(H>>>16^D)&65535,g[x++]=D^b,g[x++]=H^b<<16}}return g}function bf(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^(Ng[p>>>24&63]|Og[p>>>16&63]|Ug[p>>>8&63]|Kg[p&63]|Dg[h>>>24&63]|kg[h>>>16&63]|Mg[h>>>8&63]|Fg[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 fs(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=ge.cipher.createDecipher(r,t.key):n=ge.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof ge.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Kr=q((o_,vf)=>{var hs=le();vf.exports=hs.md=hs.md||{};hs.md.algorithms=hs.md.algorithms||{}});var Sf=q((a_,_f)=>{var Jt=le();Kr();Re();var Vg=_f.exports=Jt.hmac=Jt.hmac||{};Vg.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 Jt.md.algorithms)e=Jt.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=Jt.util.createBuffer(o);else if(Jt.util.isArray(o)){var a=o;o=Jt.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=Jt.util.createBuffer(),n=Jt.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 yi=q(()=>{});var If=q((l_,Af)=>{var it=le();Sf();Kr();Re();var $g=it.pkcs5=it.pkcs5||{},er;it.util.isNodejs&&!it.options.usePureJavaScript&&(er=yi());Af.exports=it.pbkdf2=$g.pbkdf2=function(t,e,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),it.util.isNodejs&&!it.options.usePureJavaScript&&er.pbkdf2&&(i===null||typeof i!="object")&&(er.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),s?er.pbkdf2Sync.length===4?er.pbkdf2(t,e,r,n,function(b,I){if(b)return s(b);s(null,I.toString("binary"))}):er.pbkdf2(t,e,r,n,i,function(b,I){if(b)return s(b);s(null,I.toString("binary"))}):er.pbkdf2Sync.length===4?er.pbkdf2Sync(t,e,r,n).toString("binary"):er.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in it.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=it.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=it.hmac.create();l.start(i,t);var f="",d,p,h;if(!s){for(var m=1;m<=c;++m){l.start(null,null),l.update(e),l.update(it.util.int32ToBytes(m)),d=h=l.digest().getBytes();for(var g=2;g<=r;++g)l.start(null,null),l.update(h),p=l.digest().getBytes(),d=it.util.xorBytes(d,p,o),h=p;f+=m<c?d:d.substr(0,u)}return f}var m=1,g;function y(){if(m>c)return s(null,f);l.start(null,null),l.update(e),l.update(it.util.int32ToBytes(m)),d=h=l.digest().getBytes(),g=2,x()}function x(){if(g<=r)return l.start(null,null),l.update(h),p=l.digest().getBytes(),d=it.util.xorBytes(d,p,o),h=p,++g,it.util.setImmediate(x);f+=m<c?d:d.substr(0,u),++m,y()}y()}});var Rf=q((f_,Tf)=>{var ps=le();Re();var Cf=Tf.exports=ps.pem=ps.pem||{};Cf.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
|
|
9
|
-
`,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=
|
|
10
|
-
`),r+=
|
|
8
|
+
`,t.composed){for(var o=0,a="",s=0;s<t.value.length;++s)t.value[s]!==void 0&&(o+=1,a+=O.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===O.Type.OID){var c=O.derToOid(t.value);n+=c,me.pki&&me.pki.oids&&c in me.pki.oids&&(n+=" ("+me.pki.oids[c]+") ")}if(t.type===O.Type.INTEGER)try{n+=O.derToInteger(t.value)}catch{n+="0x"+me.util.bytesToHex(t.value)}else if(t.type===O.Type.BITSTRING){if(t.value.length>1?n+="0x"+me.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 if(t.type===O.Type.OCTETSTRING)rh.test(t.value)||(n+="("+t.value+") "),n+="0x"+me.util.bytesToHex(t.value);else if(t.type===O.Type.UTF8)try{n+=me.util.decodeUtf8(t.value)}catch(l){if(l.message==="URI malformed")n+="0x"+me.util.bytesToHex(t.value)+" (malformed UTF8)";else throw l}else t.type===O.Type.PRINTABLESTRING||t.type===O.Type.IA5String?n+=t.value:rh.test(t.value)?n+="0x"+me.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var Ma=q((K_,ih)=>{var Ue=fe();Le();ih.exports=Ue.cipher=Ue.cipher||{};Ue.cipher.algorithms=Ue.cipher.algorithms||{};Ue.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Ue.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Ue.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};Ue.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Ue.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Ue.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};Ue.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),Ue.cipher.algorithms[t]=e};Ue.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in Ue.cipher.algorithms?Ue.cipher.algorithms[t]:null};var Ua=Ue.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)};Ua.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=Ue.util.createBuffer(),this.output=t.output||Ue.util.createBuffer(),this.mode.start(e)};Ua.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()};Ua.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 Ka=q((q_,sh)=>{var Me=fe();Le();Me.cipher=Me.cipher||{};var Z=sh.exports=Me.cipher.modes=Me.cipher.modes||{};Z.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)};Z.ecb.prototype.start=function(t){};Z.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])};Z.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])};Z.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Z.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)};Z.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)};Z.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=As(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};Z.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};Z.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)};Z.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};Z.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)};Z.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=Me.util.createBuffer(),this._partialBytes=0};Z.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=As(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Z.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};Z.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};Z.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=Me.util.createBuffer(),this._partialBytes=0};Z.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=As(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Z.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};Z.ofb.prototype.decrypt=Z.ofb.prototype.encrypt;Z.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=Me.util.createBuffer(),this._partialBytes=0};Z.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=As(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};Z.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}Ss(this._inBlock)};Z.ctr.prototype.decrypt=Z.ctr.prototype.encrypt;Z.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=Me.util.createBuffer(),this._partialBytes=0,this._R=3774873600};Z.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=Me.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=Me.util.createBuffer(t.additionalData):r=Me.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=Me.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(Fa(n*8)))}this._inBlock=this._j0.slice(0),Ss(this._inBlock),this._partialBytes=0,r=Me.util.createBuffer(r),this._aDataLength=Fa(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()])};Z.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),Ss(this._inBlock)};Z.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),Ss(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};Z.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=Me.util.createBuffer();var n=this._aDataLength.concat(Fa(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};Z.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};Z.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)};Z.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};Z.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)};Z.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};Z.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 As(t,e){if(typeof t=="string"&&(t=Me.util.createBuffer(t)),Me.util.isArray(t)&&t.length>4){var r=t;t=Me.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(!Me.util.isArray(t)){for(var i=[],s=e/4,n=0;n<s;++n)i.push(t.getInt32());t=i}return t}function Ss(t){t[t.length-1]=t[t.length-1]+1&4294967295}function Fa(t){return[t/4294967296|0,t&4294967295]}});var za=q((V_,uh)=>{var de=fe();Ma();Ka();Le();uh.exports=de.aes=de.aes||{};de.aes.startEncrypting=function(t,e,r,n){var i=_s({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};de.aes.createEncryptionCipher=function(t,e){return _s({key:t,output:null,decrypt:!1,mode:e})};de.aes.startDecrypting=function(t,e,r,n){var i=_s({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};de.aes.createDecryptionCipher=function(t,e){return _s({key:t,output:null,decrypt:!0,mode:e})};de.aes.Algorithm=function(t,e){$a||ah();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return Va(r._w,n,i,!1)},decrypt:function(n,i){return Va(r._w,n,i,!0)}}}),r._init=!1};de.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=de.util.createBuffer(e);else if(de.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=de.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!de.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(!de.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=ch(e,t.decrypt&&!o),this._init=!0}};de.aes._expandKey=function(t,e){return $a||ah(),ch(t,e)};de.aes._updateBlock=Va;Bn("AES-ECB",de.cipher.modes.ecb);Bn("AES-CBC",de.cipher.modes.cbc);Bn("AES-CFB",de.cipher.modes.cfb);Bn("AES-OFB",de.cipher.modes.ofb);Bn("AES-CTR",de.cipher.modes.ctr);Bn("AES-GCM",de.cipher.modes.gcm);function Bn(t,e){var r=function(){return new de.aes.Algorithm(t,e)};de.cipher.registerAlgorithm(t,r)}var $a=!1,Rn=4,nt,qa,oh,$r,Tt;function ah(){$a=!0,oh=[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;nt=new Array(256),qa=new Array(256),$r=new Array(4),Tt=new Array(4);for(var e=0;e<4;++e)$r[e]=new Array(256),Tt[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,nt[r]=a,qa[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)$r[f][r]=u,Tt[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 ch(t,e){for(var r=t.slice(0),n,i=1,s=r.length,o=s+6+1,a=Rn*o,c=s;c<a;++c)n=r[c-1],c%s===0?(n=nt[n>>>16&255]<<24^nt[n>>>8&255]<<16^nt[n&255]<<8^nt[n>>>24]^oh[i]<<24,i++):s>6&&c%s===4&&(n=nt[n>>>24]<<24^nt[n>>>16&255]<<16^nt[n>>>8&255]<<8^nt[n&255]),r[c]=r[c-s]^n;if(e){var u,l=Tt[0],f=Tt[1],d=Tt[2],p=Tt[3],h=r.slice(0);a=r.length;for(var c=0,m=a-Rn;c<a;c+=Rn,m-=Rn)if(c===0||c===a-Rn)h[c]=r[m],h[c+1]=r[m+3],h[c+2]=r[m+2],h[c+3]=r[m+1];else for(var g=0;g<Rn;++g)u=r[m+g],h[c+(3&-g)]=l[nt[u>>>24]]^f[nt[u>>>16&255]]^d[nt[u>>>8&255]]^p[nt[u&255]];r=h}return r}function Va(t,e,r,n){var i=t.length/4-1,s,o,a,c,u;n?(s=Tt[0],o=Tt[1],a=Tt[2],c=Tt[3],u=qa):(s=$r[0],o=$r[1],a=$r[2],c=$r[3],u=nt);var l,f,d,p,h,m,g;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 y=3,x=1;x<i;++x)h=s[l>>>24]^o[f>>>16&255]^a[d>>>8&255]^c[p&255]^t[++y],m=s[f>>>24]^o[d>>>16&255]^a[p>>>8&255]^c[l&255]^t[++y],g=s[d>>>24]^o[p>>>16&255]^a[l>>>8&255]^c[f&255]^t[++y],p=s[p>>>24]^o[l>>>16&255]^a[f>>>8&255]^c[d&255]^t[++y],l=h,f=m,d=g;r[0]=u[l>>>24]<<24^u[f>>>16&255]<<16^u[d>>>8&255]<<8^u[p&255]^t[++y],r[n?3:1]=u[f>>>24]<<24^u[d>>>16&255]<<16^u[p>>>8&255]<<8^u[l&255]^t[++y],r[2]=u[d>>>24]<<24^u[p>>>16&255]<<16^u[l>>>8&255]<<8^u[f&255]^t[++y],r[n?1:3]=u[p>>>24]<<24^u[l>>>16&255]<<16^u[f>>>8&255]<<8^u[d&255]^t[++y]}function _s(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=de.cipher.createDecipher(r,t.key):n=de.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof de.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var hh=q(($_,fh)=>{var ye=fe();Ma();Ka();Le();fh.exports=ye.des=ye.des||{};ye.des.startEncrypting=function(t,e,r,n){var i=Is({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ye.des.createEncryptionCipher=function(t,e){return Is({key:t,output:null,decrypt:!1,mode:e})};ye.des.startDecrypting=function(t,e,r,n){var i=Is({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};ye.des.createDecryptionCipher=function(t,e){return Is({key:t,output:null,decrypt:!0,mode:e})};ye.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return lh(r._keys,n,i,!1)},decrypt:function(n,i){return lh(r._keys,n,i,!0)}}}),r._init=!1};ye.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=ye.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=fx(e),this._init=!0}};Ft("DES-ECB",ye.cipher.modes.ecb);Ft("DES-CBC",ye.cipher.modes.cbc);Ft("DES-CFB",ye.cipher.modes.cfb);Ft("DES-OFB",ye.cipher.modes.ofb);Ft("DES-CTR",ye.cipher.modes.ctr);Ft("3DES-ECB",ye.cipher.modes.ecb);Ft("3DES-CBC",ye.cipher.modes.cbc);Ft("3DES-CFB",ye.cipher.modes.cfb);Ft("3DES-OFB",ye.cipher.modes.ofb);Ft("3DES-CTR",ye.cipher.modes.ctr);function Ft(t,e){var r=function(){return new ye.des.Algorithm(t,e)};ye.cipher.registerAlgorithm(t,r)}var nx=[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],ix=[-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],sx=[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],ox=[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],ax=[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],cx=[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],ux=[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],lx=[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 fx(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],m=t.length()>8?3:1,g=[],y=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],x=0,b,S=0;S<m;S++){var E=t.getInt32(),A=t.getInt32();b=(E>>>4^A)&252645135,A^=b,E^=b<<4,b=(A>>>-16^E)&65535,E^=b,A^=b<<-16,b=(E>>>2^A)&858993459,A^=b,E^=b<<2,b=(A>>>-16^E)&65535,E^=b,A^=b<<-16,b=(E>>>1^A)&1431655765,A^=b,E^=b<<1,b=(A>>>8^E)&16711935,E^=b,A^=b<<8,b=(E>>>1^A)&1431655765,A^=b,E^=b<<1,b=E<<8|A>>>20&240,E=A<<24|A<<8&16711680|A>>>8&65280|A>>>24&240,A=b;for(var C=0;C<y.length;++C){y[C]?(E=E<<2|E>>>26,A=A<<2|A>>>26):(E=E<<1|E>>>27,A=A<<1|A>>>27),E&=-15,A&=-15;var R=e[E>>>28]|r[E>>>24&15]|n[E>>>20&15]|i[E>>>16&15]|s[E>>>12&15]|o[E>>>8&15]|a[E>>>4&15],V=c[A>>>28]|u[A>>>24&15]|l[A>>>20&15]|f[A>>>16&15]|d[A>>>12&15]|p[A>>>8&15]|h[A>>>4&15];b=(V>>>16^R)&65535,g[x++]=R^b,g[x++]=V^b<<16}}return g}function lh(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^(ix[p>>>24&63]|ox[p>>>16&63]|cx[p>>>8&63]|lx[p&63]|nx[h>>>24&63]|sx[h>>>16&63]|ax[h>>>8&63]|ux[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 Is(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=ye.cipher.createDecipher(r,t.key):n=ye.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof ye.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var zr=q((z_,dh)=>{var Cs=fe();dh.exports=Cs.md=Cs.md||{};Cs.md.algorithms=Cs.md.algorithms||{}});var mh=q((H_,ph)=>{var er=fe();zr();Le();var hx=ph.exports=er.hmac=er.hmac||{};hx.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 er.md.algorithms)e=er.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=er.util.createBuffer(o);else if(er.util.isArray(o)){var a=o;o=er.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=er.util.createBuffer(),n=er.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 Ti=q(()=>{});var yh=q((Y_,gh)=>{var it=fe();mh();zr();Le();var dx=it.pkcs5=it.pkcs5||{},tr;it.util.isNodejs&&!it.options.usePureJavaScript&&(tr=Ti());gh.exports=it.pbkdf2=dx.pbkdf2=function(t,e,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),it.util.isNodejs&&!it.options.usePureJavaScript&&tr.pbkdf2&&(i===null||typeof i!="object")&&(tr.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),s?tr.pbkdf2Sync.length===4?tr.pbkdf2(t,e,r,n,function(b,S){if(b)return s(b);s(null,S.toString("binary"))}):tr.pbkdf2(t,e,r,n,i,function(b,S){if(b)return s(b);s(null,S.toString("binary"))}):tr.pbkdf2Sync.length===4?tr.pbkdf2Sync(t,e,r,n).toString("binary"):tr.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in it.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=it.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=it.hmac.create();l.start(i,t);var f="",d,p,h;if(!s){for(var m=1;m<=c;++m){l.start(null,null),l.update(e),l.update(it.util.int32ToBytes(m)),d=h=l.digest().getBytes();for(var g=2;g<=r;++g)l.start(null,null),l.update(h),p=l.digest().getBytes(),d=it.util.xorBytes(d,p,o),h=p;f+=m<c?d:d.substr(0,u)}return f}var m=1,g;function y(){if(m>c)return s(null,f);l.start(null,null),l.update(e),l.update(it.util.int32ToBytes(m)),d=h=l.digest().getBytes(),g=2,x()}function x(){if(g<=r)return l.start(null,null),l.update(h),p=l.digest().getBytes(),d=it.util.xorBytes(d,p,o),h=p,++g,it.util.setImmediate(x);f+=m<c?d:d.substr(0,u),++m,y()}y()}});var wh=q((Q_,bh)=>{var Rs=fe();Le();var xh=bh.exports=Rs.pem=Rs.pem||{};xh.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
|
|
9
|
+
`,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=Ts(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=Ts(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=Ts(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=Ts(t.headers[i]);return t.procType&&(r+=`\r
|
|
10
|
+
`),r+=Rs.util.encode64(t.body,e.maxline||64)+`\r
|
|
11
11
|
`,r+="-----END "+t.type+`-----\r
|
|
12
|
-
`,r};
|
|
12
|
+
`,r};xh.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:Rs.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(","),m=0;m<h.length;++m)p.values.push(px(h[m]));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 Ts(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
|
|
13
13
|
`;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
|
|
14
14
|
`+e.substr(o)):e=e.substr(0,o)+`\r
|
|
15
|
-
`+a+e.substr(o+1),s=i-o-1,o=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(o=i);return e}function zg(t){return t.replace(/^\s+/,"")}});var kf=q((h_,Nf)=>{var Kt=le();Kr();Re();var Lf=Nf.exports=Kt.sha256=Kt.sha256||{};Kt.md.sha256=Kt.md.algorithms.sha256=Lf;Lf.create=function(){Pf||Hg();var t=null,e=Kt.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=Kt.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=Kt.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),Bf(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Kt.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Ta.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};Bf(f,r,i);var d=Kt.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 Ta=null,Pf=!1,Df=null;function Hg(){Ta="\x80",Ta+=Kt.util.fillString("\0",64),Df=[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],Pf=!0}function Bf(t,e,r){for(var n,i,s,o,a,c,u,l,f,d,p,h,m,g,y,x=r.length();x>=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,m=t.h5,g=t.h6,y=t.h7,u=0;u<64;++u)o=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=g^h&(m^g),s=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|d&(l^f),n=y+o+a+Df[u]+e[u],i=s+c,y=g,g=m,m=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+m|0,t.h6=t.h6+g|0,t.h7=t.h7+y|0,x-=64}}});var Mf=q((d_,Of)=>{var qt=le();Re();var ms=null;qt.util.isNodejs&&!qt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(ms=yi());var Gg=Of.exports=qt.prng=qt.prng||{};Gg.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,m=qt.util.createBuffer();e.key=null,g();function g(y){if(y)return l(y);if(m.length()>=u)return l(null,m.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return qt.util.nextTick(function(){s(g)});var x=f(e.key,e.seed);e.generated+=x.length,m.putBytes(x),e.key=p(f(e.key,d(e.seed))),e.seed=h(f(e.key,e.seed)),qt.util.setImmediate(g)}},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=qt.util.createBuffer();h.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&o();var m=l(e.key,e.seed);e.generated+=m.length,h.putBytes(m),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=qt.util.globalScope,d=f.crypto||f.msCrypto;d&&d.getRandomValues&&(l=function(v){return d.getRandomValues(v)});var p=qt.util.createBuffer();if(l)for(;p.length()<u;){var h=Math.max(1,Math.min(u-p.length(),65536)/4),m=new Uint32Array(Math.floor(h));try{l(m);for(var g=0;g<m.length;++g)p.putInt32(m[g])}catch(v){if(!(typeof QuotaExceededError<"u"&&v instanceof QuotaExceededError))throw v}}if(p.length()<u)for(var y,x,b,I=Math.floor(Math.random()*65536);p.length()<u;){x=16807*(I&65535),y=16807*(I>>16),x+=(y&32767)<<16,x+=y>>15,x=(x&2147483647)+(x>>31),I=x&4294967295;for(var g=0;g<3;++g)b=I>>>(g<<3),b^=Math.floor(Math.random()*256),p.putByte(b&255)}return p.getBytes(u)}return ms?(e.seedFile=function(u,l){ms.randomBytes(u,function(f,d){if(f)return l(f);l(null,d.toString())})},e.seedFileSync=function(u){return ms.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 m=h.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",p),d(m.forge.prng.err,m.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 xi=q((p_,Ra)=>{var Ue=le();Ca();kf();Mf();Re();(function(){if(Ue.random&&Ue.random.getBytes){Ra.exports=Ue.random;return}(function(t){var e={},r=new Array(4),n=Ue.util.createBuffer();e.formatKey=function(f){var d=Ue.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),Ue.aes._expandKey(f,!1)},e.formatSeed=function(f){var d=Ue.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 Ue.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=Ue.md.sha256;function i(){var f=Ue.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=Ue.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),Ue.options.usePureJavaScript||!Ue.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var l in navigator)try{typeof navigator[l]=="string"&&(u+=navigator[l])}catch{}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(!Ue.random)Ue.random=s;else for(var l in s)Ue.random[l]=s[l];Ue.random.createInstance=i,Ra.exports=Ue.random})(typeof jQuery<"u"?jQuery:null)})()});var qf=q((m_,Kf)=>{var ot=le();Re();var Ba=[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],Uf=[1,2,3,5],Wg=function(t,e){return t<<e&65535|(t&65535)>>16-e},Yg=function(t,e){return(t&65535)>>e|t<<16-e&65535};Kf.exports=ot.rc2=ot.rc2||{};ot.rc2.expandKey=function(t,e){typeof t=="string"&&(t=ot.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(Ba[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,Ba[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,Ba[r.at(a+1)^r.at(a+s)]);return r};var Ff=function(t,e,r){var n=!1,i=null,s=null,o=null,a,c,u,l,f=[];for(t=ot.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]=Wg(h[u],Uf[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]=Yg(h[u],Uf[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 m=[];for(u=0;u<4;u++){var g=i.getInt16Le();o!==null&&(r?g^=o.getInt16Le():o.putInt16Le(g)),m.push(g&65535)}l=r?0:63;for(var y=0;y<h.length;y++)for(var x=0;x<h[y][0];x++)h[y][1](m);for(u=0;u<4;u++)o!==null&&(r?o.putInt16Le(m[u]):m[u]^=o.getInt16Le()),s.putInt16Le(m[u])},p=null;return p={start:function(h,m){h&&typeof h=="string"&&(h=ot.util.createBuffer(h)),n=!1,i=ot.util.createBuffer(),s=m||new ot.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 m=!0;if(r)if(h)m=h(8,i,!r);else{var g=i.length()===8?8:8-i.length();i.fillWithByte(g,g)}if(m&&(n=!0,p.update()),!r&&(m=i.length()===0,m))if(h)m=h(8,s,!r);else{var y=s.length(),x=s.at(y-1);x>y?m=!1:s.truncate(x)}return m}},p};ot.rc2.startEncrypting=function(t,e,r){var n=ot.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};ot.rc2.createEncryptionCipher=function(t,e){return Ff(t,e,!0)};ot.rc2.startDecrypting=function(t,e,r){var n=ot.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};ot.rc2.createDecryptionCipher=function(t,e){return Ff(t,e,!1)}});var xs=q((g_,Qf)=>{var La=le();Qf.exports=La.jsbn=La.jsbn||{};var tr,Qg=0xdeadbeefcafe,Vf=(Qg&16777215)==15715070;function T(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))}La.jsbn.BigInteger=T;function re(){return new T(null)}function Xg(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 Zg(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 $f(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>"u"?(T.prototype.am=$f,tr=28):Vf&&navigator.appName=="Microsoft Internet Explorer"?(T.prototype.am=Zg,tr=30):Vf&&navigator.appName!="Netscape"?(T.prototype.am=Xg,tr=26):(T.prototype.am=$f,tr=28);T.prototype.DB=tr;T.prototype.DM=(1<<tr)-1;T.prototype.DV=1<<tr;var Pa=52;T.prototype.FV=Math.pow(2,Pa);T.prototype.F1=Pa-tr;T.prototype.F2=2*tr-Pa;var jg="0123456789abcdefghijklmnopqrstuvwxyz",gs=new Array,An,wt;An=48;for(wt=0;wt<=9;++wt)gs[An++]=wt;An=97;for(wt=10;wt<36;++wt)gs[An++]=wt;An=65;for(wt=10;wt<36;++wt)gs[An++]=wt;function zf(t){return jg.charAt(t)}function Hf(t,e){var r=gs[t.charCodeAt(e)];return r??-1}function Jg(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 ey(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 br(t){var e=re();return e.fromInt(t),e}function ty(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:Hf(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&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&T.ZERO.subTo(this,this)}function ry(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function ny(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=zf(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+=zf(n));return i?s:"0"}function iy(){var t=re();return T.ZERO.subTo(this,t),t}function sy(){return this.s<0?this.negate():this}function oy(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 ys(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 ay(){return this.t<=0?0:this.DB*(this.t-1)+ys(this.data[this.t-1]^this.s&this.DM)}function cy(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 uy(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 ly(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 fy(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 hy(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 dy(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&&T.ZERO.subTo(e,e)}function py(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 my(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=re());var s=re(),o=this.s,a=t.s,c=this.DB-ys(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,m=r.t,g=m-u,y=e??re();for(s.dlShiftTo(g,y),r.compareTo(y)>=0&&(r.data[r.t++]=1,r.subTo(y,r)),T.ONE.dlShiftTo(u,y),y.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--g>=0;){var x=r.data[--m]==l?this.DM:Math.floor(r.data[m]*d+(r.data[m-1]+h)*p);if((r.data[m]+=s.am(0,x,r,g,0,u))<x)for(s.dlShiftTo(g,y),r.subTo(y,r);r.data[m]<--x;)r.subTo(y,r)}e!=null&&(r.drShiftTo(u,e),o!=a&&T.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&T.ZERO.subTo(r,r)}}}function gy(t){var e=re();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(T.ZERO)>0&&t.subTo(e,e),e}function qr(t){this.m=t}function yy(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function xy(t){return t}function by(t){t.divRemTo(this.m,null,t)}function wy(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function Ey(t,e){t.squareTo(e),this.reduce(e)}qr.prototype.convert=yy;qr.prototype.revert=xy;qr.prototype.reduce=by;qr.prototype.mulTo=wy;qr.prototype.sqrTo=Ey;function vy(){if(this.t<1)return 0;var t=this.data[0];if(!(t&1))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 Vr(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 _y(t){var e=re();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(T.ZERO)>0&&this.m.subTo(e,e),e}function Sy(t){var e=re();return t.copyTo(e),this.reduce(e),e}function Ay(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 Iy(t,e){t.squareTo(e),this.reduce(e)}function Cy(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Vr.prototype.convert=_y;Vr.prototype.revert=Sy;Vr.prototype.reduce=Ay;Vr.prototype.mulTo=Cy;Vr.prototype.sqrTo=Iy;function Ty(){return(this.t>0?this.data[0]&1:this.s)==0}function Ry(t,e){if(t>4294967295||t<1)return T.ONE;var r=re(),n=re(),i=e.convert(this),s=ys(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 By(t,e){var r;return t<256||e.isEven()?r=new qr(e):r=new Vr(e),this.exp(t,r)}T.prototype.copyTo=Jg;T.prototype.fromInt=ey;T.prototype.fromString=ty;T.prototype.clamp=ry;T.prototype.dlShiftTo=cy;T.prototype.drShiftTo=uy;T.prototype.lShiftTo=ly;T.prototype.rShiftTo=fy;T.prototype.subTo=hy;T.prototype.multiplyTo=dy;T.prototype.squareTo=py;T.prototype.divRemTo=my;T.prototype.invDigit=vy;T.prototype.isEven=Ty;T.prototype.exp=Ry;T.prototype.toString=ny;T.prototype.negate=iy;T.prototype.abs=sy;T.prototype.compareTo=oy;T.prototype.bitLength=ay;T.prototype.mod=gy;T.prototype.modPowInt=By;T.ZERO=br(0);T.ONE=br(1);function Ly(){var t=re();return this.copyTo(t),t}function Py(){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 Dy(){return this.t==0?this.s:this.data[0]<<24>>24}function Ny(){return this.t==0?this.s:this.data[0]<<16>>16}function ky(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function Oy(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function My(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=br(r),i=re(),s=re(),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 Uy(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=Hf(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&&T.ZERO.subTo(this,this)}function Fy(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(T.ONE.shiftLeft(t-1),Da,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(T.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 Ky(){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&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function qy(t){return this.compareTo(t)==0}function Vy(t){return this.compareTo(t)<0?this:t}function $y(t){return this.compareTo(t)>0?this:t}function zy(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 Hy(t,e){return t&e}function Gy(t){var e=re();return this.bitwiseTo(t,Hy,e),e}function Da(t,e){return t|e}function Wy(t){var e=re();return this.bitwiseTo(t,Da,e),e}function Gf(t,e){return t^e}function Yy(t){var e=re();return this.bitwiseTo(t,Gf,e),e}function Wf(t,e){return t&~e}function Qy(t){var e=re();return this.bitwiseTo(t,Wf,e),e}function Xy(){for(var t=re(),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 Zy(t){var e=re();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function jy(t){var e=re();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function Jy(t){if(t==0)return-1;var e=0;return t&65535||(t>>=16,e+=16),t&255||(t>>=8,e+=8),t&15||(t>>=4,e+=4),t&3||(t>>=2,e+=2),t&1||++e,e}function ex(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+Jy(this.data[t]);return this.s<0?this.t*this.DB:-1}function tx(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function rx(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=tx(this.data[r]^e);return t}function nx(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function ix(t,e){var r=T.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function sx(t){return this.changeBit(t,Da)}function ox(t){return this.changeBit(t,Wf)}function ax(t){return this.changeBit(t,Gf)}function cx(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 ux(t){var e=re();return this.addTo(t,e),e}function lx(t){var e=re();return this.subTo(t,e),e}function fx(t){var e=re();return this.multiplyTo(t,e),e}function hx(t){var e=re();return this.divRemTo(t,e,null),e}function dx(t){var e=re();return this.divRemTo(t,null,e),e}function px(t){var e=re(),r=re();return this.divRemTo(t,e,r),new Array(e,r)}function mx(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function gx(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 bi(){}function Yf(t){return t}function yx(t,e,r){t.multiplyTo(e,r)}function xx(t,e){t.squareTo(e)}bi.prototype.convert=Yf;bi.prototype.revert=Yf;bi.prototype.mulTo=yx;bi.prototype.sqrTo=xx;function bx(t){return this.exp(t,new bi)}function wx(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 Ex(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 In(t){this.r2=re(),this.q3=re(),T.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function vx(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=re();return t.copyTo(e),this.reduce(e),e}function _x(t){return t}function Sx(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 Ax(t,e){t.squareTo(e),this.reduce(e)}function Ix(t,e,r){t.multiplyTo(e,r),this.reduce(r)}In.prototype.convert=vx;In.prototype.revert=_x;In.prototype.reduce=Sx;In.prototype.mulTo=Ix;In.prototype.sqrTo=Ax;function Cx(t,e){var r=t.bitLength(),n,i=br(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 qr(e):e.isEven()?s=new In(e):s=new Vr(e);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var l=re();for(s.sqrTo(o[1],l);a<=u;)o[a]=re(),s.mulTo(l,o[a-2],o[a]),a+=2}var f=t.t-1,d,p=!0,h=re(),m;for(r=ys(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);)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):(m=i,i=h,h=m),s.mulTo(h,o[d],i)}for(;f>=0&&!(t.data[f]&1<<r);)s.sqrTo(i,h),m=i,i=h,h=m,--r<0&&(r=this.DB-1,--f)}return s.revert(i)}function Tx(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 Rx(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 Bx(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return T.ZERO;for(var r=t.clone(),n=this.clone(),i=br(1),s=br(0),o=br(0),a=br(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(T.ONE)!=0)return T.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 Rt=[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],Lx=(1<<26)/Rt[Rt.length-1];function Px(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=Rt[Rt.length-1]){for(e=0;e<Rt.length;++e)if(r.data[0]==Rt[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<Rt.length;){for(var n=Rt[e],i=e+1;i<Rt.length&&n<Lx;)n*=Rt[i++];for(n=r.modInt(n);e<i;)if(n%Rt[e++]==0)return!1}return r.millerRabin(t)}function Dx(t){var e=this.subtract(T.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=Nx(),s,o=0;o<t;++o){do s=new T(this.bitLength(),i);while(s.compareTo(T.ONE)<=0||s.compareTo(e)>=0);var a=s.modPow(n,this);if(a.compareTo(T.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(T.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function Nx(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}T.prototype.chunkSize=ky;T.prototype.toRadix=My;T.prototype.fromRadix=Uy;T.prototype.fromNumber=Fy;T.prototype.bitwiseTo=zy;T.prototype.changeBit=ix;T.prototype.addTo=cx;T.prototype.dMultiply=mx;T.prototype.dAddOffset=gx;T.prototype.multiplyLowerTo=wx;T.prototype.multiplyUpperTo=Ex;T.prototype.modInt=Rx;T.prototype.millerRabin=Dx;T.prototype.clone=Ly;T.prototype.intValue=Py;T.prototype.byteValue=Dy;T.prototype.shortValue=Ny;T.prototype.signum=Oy;T.prototype.toByteArray=Ky;T.prototype.equals=qy;T.prototype.min=Vy;T.prototype.max=$y;T.prototype.and=Gy;T.prototype.or=Wy;T.prototype.xor=Yy;T.prototype.andNot=Qy;T.prototype.not=Xy;T.prototype.shiftLeft=Zy;T.prototype.shiftRight=jy;T.prototype.getLowestSetBit=ex;T.prototype.bitCount=rx;T.prototype.testBit=nx;T.prototype.setBit=sx;T.prototype.clearBit=ox;T.prototype.flipBit=ax;T.prototype.add=ux;T.prototype.subtract=lx;T.prototype.multiply=fx;T.prototype.divide=hx;T.prototype.remainder=dx;T.prototype.divideAndRemainder=px;T.prototype.modPow=Cx;T.prototype.modInverse=Bx;T.prototype.pow=bx;T.prototype.gcd=Tx;T.prototype.isProbablePrime=Px});var eh=q((y_,Jf)=>{var Vt=le();Kr();Re();var Zf=Jf.exports=Vt.sha1=Vt.sha1||{};Vt.md.sha1=Vt.md.algorithms.sha1=Zf;Zf.create=function(){jf||kx();var t=null,e=Vt.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=Vt.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=Vt.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),Xf(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Vt.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Na.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};Xf(f,r,i);var d=Vt.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 Na=null,jf=!1;function kx(){Na="\x80",Na+=Vt.util.fillString("\0",64),jf=!0}function Xf(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 nh=q((x_,rh)=>{var $t=le();Re();xi();eh();var th=rh.exports=$t.pkcs1=$t.pkcs1||{};th.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=$t.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=$t.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 m=bs(i,a-s.digestLength-1,o),g=$t.util.xorBytes(h,m,h.length),y=bs(g,s.digestLength,o),x=$t.util.xorBytes(i,y,i.length);return"\0"+x+g};th.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 g=new Error("RSAES-OAEP encoded message length is invalid.");throw g.length=e.length,g.expectedLength=o,g}if(i===void 0?i=$t.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=bs(l,i.digestLength,s),d=$t.util.xorBytes(u,f,u.length),p=bs(d,o-i.digestLength-1,s),h=$t.util.xorBytes(l,p,l.length),m=h.substring(0,i.digestLength),g=c!=="\0",y=0;y<i.digestLength;++y)g|=a.charAt(y)!==m.charAt(y);for(var x=1,b=i.digestLength,I=i.digestLength;I<h.length;I++){var v=h.charCodeAt(I),_=v&1^1,P=x?65534:0;g|=v&P,x=x&_,b+=x}if(g||h.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(b+1)};function bs(t,e,r){r||(r=$t.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 ih=q((b_,ka)=>{var wr=le();Re();xs();xi();(function(){if(wr.prime){ka.exports=wr.prime;return}var t=ka.exports=wr.prime=wr.prime||{},e=wr.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 m=d.prng||wr.random,g={nextBytes:function(y){for(var x=m.getBytesSync(y.length),b=0;b<y.length;++b)y[b]=x.charCodeAt(b)}};if(h.name==="PRIMEINC")return s(f,g,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 m=u(f,d),g=0,y=l(m.bitLength());"millerRabinTests"in p&&(y=p.millerRabinTests);var x=10;"maxBlockTime"in p&&(x=p.maxBlockTime),a(m,f,d,g,y,x,h)}function a(f,d,p,h,m,g,y){var x=+new Date;do{if(f.bitLength()>d&&(f=u(d,p)),f.isProbablePrime(m))return y(null,f);f.dAddOffset(r[h++%8],0)}while(g<0||+new Date-x<g);wr.util.setImmediate(function(){a(f,d,p,h,m,g,y)})}function c(f,d,p,h){if(typeof Worker>"u")return o(f,d,p,h);var m=u(f,d),g=p.workers,y=p.workLoad||100,x=y*30/8,b=p.workerScript||"forge/prime.worker.js";if(g===-1)return wr.util.estimateCores(function(v,_){v&&(_=2),g=_-1,I()});I();function I(){g=Math.max(1,g);for(var v=[],_=0;_<g;++_)v[_]=new Worker(b);for(var P=g,_=0;_<g;++_)v[_].addEventListener("message",H);var D=!1;function H(G){if(!D){--P;var $=G.data;if($.found){for(var j=0;j<v.length;++j)v[j].terminate();return D=!0,h(null,new e($.prime,16))}m.bitLength()>f&&(m=u(f,d));var ue=m.toString(16);G.target.postMessage({hex:ue,workLoad:y}),m.dAddOffset(x,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 Es=q((w_,fh)=>{var V=le();gi();xs();os();nh();ih();xi();Re();typeof te>"u"&&(te=V.jsbn.BigInteger);var te,Oa=V.util.isNodejs?yi():null,E=V.asn1,Et=V.util;V.pki=V.pki||{};fh.exports=V.pki.rsa=V.rsa=V.rsa||{};var W=V.pki,Ox=[6,4,2,4,2,4,6,2],Mx={name:"PrivateKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},Ux={name:"RSAPrivateKey",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},Fx={name:"RSAPublicKey",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},Kx=V.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:E.Class.UNIVERSAL,type:E.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},qx={name:"DigestInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:E.Class.UNIVERSAL,type:E.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},Vx=function(t){var e;if(t.algorithm in W.oids)e=W.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=E.oidToDer(e).getBytes(),i=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[]),s=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[]);s.value.push(E.create(E.Class.UNIVERSAL,E.Type.OID,!1,n)),s.value.push(E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,""));var o=E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(s),i.value.push(o),E.toDer(i).getBytes()},uh=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(te.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(te.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new te(V.util.bytesToHex(V.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(te.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};W.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=lh(t,e,r)):(i=V.util.createBuffer(),i.putBytes(t));for(var o=new te(i.toHex(),16),a=uh(o,e,n),c=a.toString(16),u=V.util.createBuffer(),l=s-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(V.util.hexToBytes(c)),u.getBytes()};W.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 te(V.util.createBuffer(t).toHex(),16);if(o.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=uh(o,e,r),c=a.toString(16),u=V.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes(V.util.hexToBytes(c)),n!==!1?ws(u.getBytes(),e,r):u.getBytes()};W.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||V.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 te(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};W.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new te(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 te(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(te.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(zx(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(Ox[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(te.ONE).gcd(t.e).compareTo(te.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(te.ONE),t.q1=t.q.subtract(te.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(te.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:W.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:W.rsa.setPublicKey(t.n,t.e)}}o=+new Date,a+=o-s,s=o}return t.keys!==null};W.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),!V.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(sh("generateKeyPair"))return Oa.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:W.privateKeyFromPem(u),publicKey:W.publicKeyFromPem(c)})});if(oh("generateKey")&&oh("exportKey"))return Et.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:ch(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return Et.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=W.privateKeyFromAsn1(E.fromDer(V.util.createBuffer(a)));n(null,{privateKey:c,publicKey:W.setRsaPublicKey(c.n,c.e)})}});if(ah("generateKey")&&ah("exportKey")){var i=Et.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:ch(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=Et.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,d=W.privateKeyFromAsn1(E.fromDer(V.util.createBuffer(f)));n(null,{privateKey:d,publicKey:W.setRsaPublicKey(d.n,d.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(sh("generateKeyPairSync")){var s=Oa.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:W.privateKeyFromPem(s.privateKey),publicKey:W.publicKeyFromPem(s.publicKey)}}}var o=W.rsa.createKeyPairGenerationState(t,e,r);if(!n)return W.rsa.stepKeyPairGenerationState(o,0),o.keys;$x(o,r,n)};W.setRsaPublicKey=W.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 lh(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return V.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 W.rsa.encrypt(o,r,!0)},r.verify=function(n,i,s,o){typeof s=="string"?s=s.toUpperCase():s===void 0&&(s="RSASSA-PKCS1-V1_5"),o===void 0&&(o={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in o||(o._parseAllDigestBytes=!0),s==="RSASSA-PKCS1-V1_5"?s={verify:function(c,u){u=ws(u,r,!0);var l=E.fromDer(u,{parseAllBytes:o._parseAllDigestBytes}),f={},d=[];if(!E.validate(l,qx,f,d)){var p=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw p.errors=d,p}var h=E.derToOid(f.algorithmIdentifier);if(!(h===V.oids.md2||h===V.oids.md5||h===V.oids.sha1||h===V.oids.sha224||h===V.oids.sha256||h===V.oids.sha384||h===V.oids.sha512||h===V.oids["sha512-224"]||h===V.oids["sha512-256"])){var p=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw p.oid=h,p}if((h===V.oids.md2||h===V.oids.md5)&&!("parameters"in f))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===f.digest}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(c,u){return u=ws(u,r,!0),c===u}});var a=W.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};W.setRsaPrivateKey=W.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=W.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:ws};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(p,h){return V.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:Vx},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var d=l.encode(u,c.n.bitLength());return W.rsa.encrypt(d,c,f)},c};W.wrapRsaPrivateKey=function(t){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,E.integerToDer(0).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(W.oids.rsaEncryption).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,"")]),E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,E.toDer(t).getBytes())])};W.privateKeyFromAsn1=function(t){var e={},r=[];if(E.validate(t,Mx,e,r)&&(t=E.fromDer(V.util.createBuffer(e.privateKey))),e={},r=[],!E.validate(t,Ux,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=V.util.createBuffer(e.privateKeyModulus).toHex(),s=V.util.createBuffer(e.privateKeyPublicExponent).toHex(),o=V.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=V.util.createBuffer(e.privateKeyPrime1).toHex(),c=V.util.createBuffer(e.privateKeyPrime2).toHex(),u=V.util.createBuffer(e.privateKeyExponent1).toHex(),l=V.util.createBuffer(e.privateKeyExponent2).toHex(),f=V.util.createBuffer(e.privateKeyCoefficient).toHex(),W.setRsaPrivateKey(new te(i,16),new te(s,16),new te(o,16),new te(a,16),new te(c,16),new te(u,16),new te(l,16),new te(f,16))};W.privateKeyToAsn1=W.privateKeyToRSAPrivateKey=function(t){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,E.integerToDer(0).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,zt(t.n)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,zt(t.e)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,zt(t.d)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,zt(t.p)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,zt(t.q)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,zt(t.dP)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,zt(t.dQ)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,zt(t.qInv))])};W.publicKeyFromAsn1=function(t){var e={},r=[];if(E.validate(t,Kx,e,r)){var n=E.derToOid(e.publicKeyOid);if(n!==W.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!E.validate(t,Fx,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=V.util.createBuffer(e.publicKeyModulus).toHex(),o=V.util.createBuffer(e.publicKeyExponent).toHex();return W.setRsaPublicKey(new te(s,16),new te(o,16))};W.publicKeyToAsn1=W.publicKeyToSubjectPublicKeyInfo=function(t){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(W.oids.rsaEncryption).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,"")]),E.create(E.Class.UNIVERSAL,E.Type.BITSTRING,!1,[W.publicKeyToRSAPublicKey(t)])])};W.publicKeyToRSAPublicKey=function(t){return E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,zt(t.n)),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,zt(t.e))])};function lh(t,e,r){var n=V.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=V.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 ws(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),s=V.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>"u")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 $x(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){V.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(te.ONE).gcd(t.e).compareTo(te.ONE)!==0){t.p=null,i();return}if(t.q.subtract(te.ONE).gcd(t.e).compareTo(te.ONE)!==0){t.q=null,s(t.qBits,o);return}if(t.p1=t.p.subtract(te.ONE),t.q1=t.q.subtract(te.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(te.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:W.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:W.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function zt(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=V.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function zx(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 sh(t){return V.util.isNodejs&&typeof Oa[t]=="function"}function oh(t){return typeof Et.globalScope<"u"&&typeof Et.globalScope.crypto=="object"&&typeof Et.globalScope.crypto.subtle=="object"&&typeof Et.globalScope.crypto.subtle[t]=="function"}function ah(t){return typeof Et.globalScope<"u"&&typeof Et.globalScope.msCrypto=="object"&&typeof Et.globalScope.msCrypto.subtle=="object"&&typeof Et.globalScope.msCrypto.subtle[t]=="function"}function ch(t){for(var e=V.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var yh=q((E_,gh)=>{var M=le();Ca();gi();Ef();Kr();os();If();Rf();xi();qf();Es();Re();typeof hh>"u"&&(hh=M.jsbn.BigInteger);var hh,A=M.asn1,Y=M.pki=M.pki||{};gh.exports=Y.pbe=M.pbe=M.pbe||{};var $r=Y.oids,Hx={name:"EncryptedPrivateKeyInfo",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},Gx={name:"PBES2Algorithms",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:A.Class.UNIVERSAL,type:A.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Wx={name:"pkcs-12PbeParams",tagClass:A.Class.UNIVERSAL,type:A.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:A.Class.UNIVERSAL,type:A.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:A.Class.UNIVERSAL,type:A.Type.INTEGER,constructed:!1,capture:"iterations"}]};Y.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=M.random.getBytesSync(r.saltSize),i=r.count,s=A.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=$r["aes128-CBC"],f=M.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,l=$r["aes192-CBC"],f=M.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,l=$r["aes256-CBC"],f=M.aes.createEncryptionCipher;break;case"des":o=8,u=8,l=$r.desCBC,f=M.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=mh(p),m=M.pkcs5.pbkdf2(e,n,i,o,h),g=M.random.getBytesSync(u),y=f(m);y.start(g),y.update(A.toDer(t)),y.finish(),c=y.output.getBytes();var x=Yx(n,s,o,p);a=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer($r.pkcs5PBES2).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer($r.pkcs5PBKDF2).getBytes()),x]),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(l).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,g)])])])}else if(r.algorithm==="3des"){o=24;var b=new M.util.ByteBuffer(n),m=Y.pbe.generatePkcs12Key(e,b,1,i,o),g=Y.pbe.generatePkcs12Key(e,b,2,i,o),y=M.des.createEncryptionCipher(m);y.start(g),y.update(A.toDer(t)),y.finish(),c=y.output.getBytes(),a=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer($r["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,n),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,s.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var I=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[a,A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,c)]);return I};Y.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!A.validate(t,Hx,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=A.derToOid(n.encryptionOid),a=Y.pbe.getCipher(o,n.encryptionParams,e),c=M.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=A.fromDer(a.output)),r};Y.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:A.toDer(t).getBytes()};return M.pem.encode(r,{maxline:e})};Y.encryptedPrivateKeyFromPem=function(t){var e=M.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 A.fromDer(e.body)};Y.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=Y.wrapRsaPrivateKey(Y.privateKeyToAsn1(t));return n=Y.encryptPrivateKeyInfo(n,e,r),Y.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=M.random.getBytesSync(16),a=M.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=M.random.getBytesSync(16),a=M.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=M.random.getBytesSync(16),a=M.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=M.random.getBytesSync(8),a=M.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=M.random.getBytesSync(8),a=M.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=M.pbe.opensslDeriveBytes(e,s.substr(0,8),o),l=a(u);l.start(s),l.update(A.toDer(Y.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:M.util.bytesToHex(s).toUpperCase()},body:l.output.getBytes()};return M.pem.encode(f)};Y.decryptRsaPrivateKey=function(t,e){var r=null,n=M.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=M.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=M.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=M.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=M.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=M.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(f){return M.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":s=8,o=function(f){return M.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":s=16,o=function(f){return M.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=M.util.hexToBytes(n.dekInfo.parameters),c=M.pbe.opensslDeriveBytes(e,a.substr(0,8),s),u=o(c);if(u.start(a),u.update(M.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=Y.decryptPrivateKeyInfo(A.fromDer(r),e):r=A.fromDer(r),r!==null&&(r=Y.privateKeyFromAsn1(r)),r};Y.pbe.generatePkcs12Key=function(t,e,r,n,i,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in M.md))throw new Error('"sha1" hash algorithm unavailable.');s=M.md.sha1.create()}var c=s.digestLength,u=s.blockLength,l=new M.util.ByteBuffer,f=new M.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 M.util.ByteBuffer;h.fillWithByte(r,u);var m=u*Math.ceil(p/u),g=new M.util.ByteBuffer;for(a=0;a<m;a++)g.putByte(e.at(a%p));var y=u*Math.ceil(d/u),x=new M.util.ByteBuffer;for(a=0;a<y;a++)x.putByte(f.at(a%d));var b=g;b.putBuffer(x);for(var I=Math.ceil(i/c),v=1;v<=I;v++){var _=new M.util.ByteBuffer;_.putBytes(h.bytes()),_.putBytes(b.bytes());for(var P=0;P<n;P++)s.start(),s.update(_.getBytes()),_=s.digest();var D=new M.util.ByteBuffer;for(a=0;a<u;a++)D.putByte(_.at(a%c));var H=Math.ceil(p/u)+Math.ceil(d/u),G=new M.util.ByteBuffer;for(o=0;o<H;o++){var $=new M.util.ByteBuffer(b.getBytes(u)),j=511;for(a=D.length()-1;a>=0;a--)j=j>>8,j+=D.at(a)+$.at(a),$.setAt(a,j&255);G.putBuffer($)}b=G,l.putBuffer(_)}return l.truncate(l.length()-i),l};Y.pbe.getCipher=function(t,e,r){switch(t){case Y.oids.pkcs5PBES2:return Y.pbe.getCipherForPBES2(t,e,r);case Y.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case Y.oids["pbewithSHAAnd40BitRC2-CBC"]:return Y.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}};Y.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!A.validate(e,Gx,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=A.derToOid(n.kdfOid),t!==Y.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=A.derToOid(n.encOid),t!==Y.oids["aes128-CBC"]&&t!==Y.oids["aes192-CBC"]&&t!==Y.oids["aes256-CBC"]&&t!==Y.oids["des-EDE3-CBC"]&&t!==Y.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=M.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(Y.oids[t]){case"aes128-CBC":c=16,u=M.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=M.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=M.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=M.des.createDecryptionCipher;break;case"desCBC":c=8,u=M.des.createDecryptionCipher;break}var l=ph(n.prfOid),f=M.pkcs5.pbkdf2(r,o,a,c,l),d=n.encIv,p=u(f);return p.start(d),p};Y.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!A.validate(e,Wx,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=M.util.createBuffer(n.salt),a=M.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(t){case Y.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=M.des.startDecrypting;break;case Y.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,g){var y=M.rc2.createDecryptionCipher(m,40);return y.start(g,null),y};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=t,s}var f=ph(n.prfOid),d=Y.pbe.generatePkcs12Key(r,o,1,a,c,f);f.start();var p=Y.pbe.generatePkcs12Key(r,o,2,a,u,f);return l(d,p)};Y.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in M.md))throw new Error('"md5" hash algorithm unavailable.');n=M.md.md5.create()}e===null&&(e="");for(var i=[dh(n,t+e)],s=16,o=1;s<r;++o,s+=16)i.push(dh(n,i[o-1]+t+e));return i.join("").substr(0,r)};function dh(t,e){return t.start().update(e).digest().getBytes()}function ph(t){var e;if(!t)e="hmacWithSHA1";else if(e=Y.oids[A.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return mh(e)}function mh(t){var e=M.md;switch(t){case"hmacWithSHA224":e=M.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 Yx(t,e,r,n){var i=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,t),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,M.util.hexToBytes(r.toString(16))),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(Y.oids[n]).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")])),i}});var B0=q((g4,R0)=>{var me=le();Kr();Re();var Pi=R0.exports=me.sha512=me.sha512||{};me.md.sha512=me.md.algorithms.sha512=Pi;var C0=me.sha384=me.sha512.sha384=me.sha512.sha384||{};C0.create=function(){return Pi.create("SHA-384")};me.md.sha384=me.md.algorithms.sha384=C0;me.sha512.sha256=me.sha512.sha256||{create:function(){return Pi.create("SHA-512/256")}};me.md["sha512/256"]=me.md.algorithms["sha512/256"]=me.sha512.sha256;me.sha512.sha224=me.sha512.sha224||{create:function(){return Pi.create("SHA-512/224")}};me.md["sha512/224"]=me.md.algorithms["sha512/224"]=me.sha512.sha224;Pi.create=function(t){if(T0||b2(),typeof t>"u"&&(t="SHA-512"),!(t in tn))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=tn[t],r=null,n=me.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=me.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=me.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),I0(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=me.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(Hc.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 m=new Array(r.length),h=0;h<r.length;++h)m[h]=r[h].slice(0);I0(m,i,c);var g=me.util.createBuffer(),y;t==="SHA-512"?y=m.length:t==="SHA-384"?y=m.length-2:y=m.length-4;for(var h=0;h<y;++h)g.putInt32(m[h][0]),(h!==y-1||t!=="SHA-512/224")&&g.putInt32(m[h][1]);return g},a};var Hc=null,T0=!1,Gc=null,tn=null;function b2(){Hc="\x80",Hc+=me.util.fillString("\0",128),Gc=[[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]],tn={},tn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],tn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],tn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],tn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],T0=!0}function I0(t,e,r){for(var n,i,s,o,a,c,u,l,f,d,p,h,m,g,y,x,b,I,v,_,P,D,H,G,$,j,ue,Ke,R,k,L,N,C,U,K,z=r.length();z>=128;){for(R=0;R<16;++R)e[R][0]=r.getInt32()>>>0,e[R][1]=r.getInt32()>>>0;for(;R<80;++R)N=e[R-2],k=N[0],L=N[1],n=((k>>>19|L<<13)^(L>>>29|k<<3)^k>>>6)>>>0,i=((k<<13|L>>>19)^(L<<3|k>>>29)^(k<<26|L>>>6))>>>0,U=e[R-15],k=U[0],L=U[1],s=((k>>>1|L<<31)^(k>>>8|L<<24)^k>>>7)>>>0,o=((k<<31|L>>>1)^(k<<24|L>>>8)^(k<<25|L>>>7))>>>0,C=e[R-7],K=e[R-16],L=i+C[1]+o+K[1],e[R][0]=n+C[0]+s+K[0]+(L/4294967296>>>0)>>>0,e[R][1]=L>>>0;for(m=t[0][0],g=t[0][1],y=t[1][0],x=t[1][1],b=t[2][0],I=t[2][1],v=t[3][0],_=t[3][1],P=t[4][0],D=t[4][1],H=t[5][0],G=t[5][1],$=t[6][0],j=t[6][1],ue=t[7][0],Ke=t[7][1],R=0;R<80;++R)u=((P>>>14|D<<18)^(P>>>18|D<<14)^(D>>>9|P<<23))>>>0,l=((P<<18|D>>>14)^(P<<14|D>>>18)^(D<<23|P>>>9))>>>0,f=($^P&(H^$))>>>0,d=(j^D&(G^j))>>>0,a=((m>>>28|g<<4)^(g>>>2|m<<30)^(g>>>7|m<<25))>>>0,c=((m<<4|g>>>28)^(g<<30|m>>>2)^(g<<25|m>>>7))>>>0,p=(m&y|b&(m^y))>>>0,h=(g&x|I&(g^x))>>>0,L=Ke+l+d+Gc[R][1]+e[R][1],n=ue+u+f+Gc[R][0]+e[R][0]+(L/4294967296>>>0)>>>0,i=L>>>0,L=c+h,s=a+p+(L/4294967296>>>0)>>>0,o=L>>>0,ue=$,Ke=j,$=H,j=G,H=P,G=D,L=_+i,P=v+n+(L/4294967296>>>0)>>>0,D=L>>>0,v=b,_=I,b=y,I=x,y=m,x=g,L=i+o,m=n+s+(L/4294967296>>>0)>>>0,g=L>>>0;L=t[0][1]+g,t[0][0]=t[0][0]+m+(L/4294967296>>>0)>>>0,t[0][1]=L>>>0,L=t[1][1]+x,t[1][0]=t[1][0]+y+(L/4294967296>>>0)>>>0,t[1][1]=L>>>0,L=t[2][1]+I,t[2][0]=t[2][0]+b+(L/4294967296>>>0)>>>0,t[2][1]=L>>>0,L=t[3][1]+_,t[3][0]=t[3][0]+v+(L/4294967296>>>0)>>>0,t[3][1]=L>>>0,L=t[4][1]+D,t[4][0]=t[4][0]+P+(L/4294967296>>>0)>>>0,t[4][1]=L>>>0,L=t[5][1]+G,t[5][0]=t[5][0]+H+(L/4294967296>>>0)>>>0,t[5][1]=L>>>0,L=t[6][1]+j,t[6][0]=t[6][0]+$+(L/4294967296>>>0)>>>0,t[6][1]=L>>>0,L=t[7][1]+Ke,t[7][0]=t[7][0]+ue+(L/4294967296>>>0)>>>0,t[7][1]=L>>>0,z-=128}}});var su=q((L8,nd)=>{var $n=1e3,zn=$n*60,Hn=zn*60,sn=Hn*24,G2=sn*7,W2=sn*365.25;nd.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return Y2(t);if(r==="number"&&isFinite(t))return e.long?X2(t):Q2(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function Y2(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*W2;case"weeks":case"week":case"w":return r*G2;case"days":case"day":case"d":return r*sn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Hn;case"minutes":case"minute":case"mins":case"min":case"m":return r*zn;case"seconds":case"second":case"secs":case"sec":case"s":return r*$n;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function Q2(t){var e=Math.abs(t);return e>=sn?Math.round(t/sn)+"d":e>=Hn?Math.round(t/Hn)+"h":e>=zn?Math.round(t/zn)+"m":e>=$n?Math.round(t/$n)+"s":t+"ms"}function X2(t){var e=Math.abs(t);return e>=sn?Ws(t,e,sn,"day"):e>=Hn?Ws(t,e,Hn,"hour"):e>=zn?Ws(t,e,zn,"minute"):e>=$n?Ws(t,e,$n,"second"):t+" ms"}function Ws(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var sd=q((P8,id)=>{function Z2(t){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=o,r.humanize=su(),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 m(...g){if(!m.enabled)return;let y=m,x=Number(new Date),b=x-(f||x);y.diff=b,y.prev=f,y.curr=x,f=x,g[0]=r.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let I=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(_,P)=>{if(_==="%%")return"%";I++;let D=r.formatters[P];if(typeof D=="function"){let H=g[I];_=D.call(y,H),g.splice(I,1),I--}return _}),r.formatArgs.call(y,g),(y.log||r.log).apply(y,g)}return m.namespace=l,m.useColors=r.useColors(),m.color=r.selectColor(l),m.extend=n,m.destroy=r.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(p!==r.namespaces&&(p=r.namespaces,h=r.enabled(l)),h),set:g=>{d=g}}),typeof r.init=="function"&&r.init(m),m}function n(l,f){let d=r(this.namespace+(typeof f>"u"?":":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.slice(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}id.exports=Z2});var ou=q((xt,Ys)=>{xt.formatArgs=J2;xt.save=ew;xt.load=tw;xt.useColors=j2;xt.storage=rw();xt.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`."))}})();xt.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 j2(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function J2(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+Ys.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)}xt.log=console.debug||console.log||(()=>{});function ew(t){try{t?xt.storage.setItem("debug",t):xt.storage.removeItem("debug")}catch{}}function tw(){let t;try{t=xt.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function rw(){try{return localStorage}catch{}}Ys.exports=sd()(xt);var{formatters:nw}=Ys.exports;nw.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var Kd=q((n3,Bu)=>{"use strict";var Fw=Object.prototype.hasOwnProperty,st="~";function $i(){}Object.create&&($i.prototype=Object.create(null),new $i().__proto__||(st=!1));function Kw(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function Fd(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new Kw(r,n||t,i),o=st?st+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 ao(t,e){--t._eventsCount===0?t._events=new $i:delete t._events[e]}function tt(){this._events=new $i,this._eventsCount=0}tt.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)Fw.call(r,n)&&e.push(st?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};tt.prototype.listeners=function(e){var r=st?st+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};tt.prototype.listenerCount=function(e){var r=st?st+e:e,n=this._events[r];return n?n.fn?1:n.length:0};tt.prototype.emit=function(e,r,n,i,s,o){var a=st?st+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};tt.prototype.on=function(e,r,n){return Fd(this,e,r,n,!1)};tt.prototype.once=function(e,r,n){return Fd(this,e,r,n,!0)};tt.prototype.removeListener=function(e,r,n,i){var s=st?st+e:e;if(!this._events[s])return this;if(!r)return ao(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&ao(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:ao(this,s)}return this};tt.prototype.removeAllListeners=function(e){var r;return e?(r=st?st+e:e,this._events[r]&&ao(this,r)):(this._events=new $i,this._eventsCount=0),this};tt.prototype.off=tt.prototype.removeListener;tt.prototype.addListener=tt.prototype.on;tt.prefixed=st;tt.EventEmitter=tt;typeof Bu<"u"&&(Bu.exports=tt)});var Wu=q((NB,sp)=>{"use strict";function ip(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function iE(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 ip(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),ip(new i,r)}}sp.exports=iE});var dp=q(Hi=>{(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&65280)>>>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(m){throw f=m,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(m){throw f=m,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}(),Hi.ip2long=o,Hi.long2ip=a,Hi.Netmask=t}).call(Hi)});var yp=q((gp,Co)=>{(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 m=0,g=-1,y=(p.match(a.zoneIndex)||[])[0],x,b;for(y&&(y=y.substring(1),p=p.replace(/%.+$/,""));(g=p.indexOf(":",g+1))>=0;)m++;if(p.substr(0,2)==="::"&&m--,p.substr(-2,2)==="::"&&m--,m>h)return null;for(b=h-m,x=":";b--;)x+="0:";return p=p.replace("::",x),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),h=function(){let I=p.split(":"),v=[];for(let _=0;_<I.length;_++)v.push(parseInt(I[_],16));return v}(),{parts:h,zoneId:y}}function u(p,h,m,g){if(p.length!==h.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let y=0,x;for(;g>0;){if(x=m-g,x<0&&(x=0),p[y]>>x!==h[y]>>x)return!1;g-=m,y+=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 m,g;for(m=0;m<h.length;m++)if(g=h[m],!(0<=g&&g<=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,18,0,0]),15],[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,m){let g;if(m===void 0&&(g=h,h=g[0],m=g[1]),h.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,h.octets,8,m)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,m=!1,g={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},y,x,b;for(y=3;y>=0;y-=1)if(x=this.octets[y],x in g){if(b=g[x],m&&b!==0)return null;b!==8&&(m=!0),h+=b}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),m=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],x=0;for(;x<4;)y.push(parseInt(m[x],10)|parseInt(g[x],10)^255),x++;return new this(y)}catch{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{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,m,g,y,x;try{for(h=this.parseCIDR(p),g=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],m=0;m<4;)y.push(parseInt(g[m],10)&parseInt(x[m],10)),m++;return new this(y)}catch{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 m=parseInt(h[2]);if(m>=0&&m<=32){let g=[this.parse(h[1]),m];return Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(p){let h,m,g;if(h=p.match(r.fourOctet))return function(){let y=h.slice(1,6),x=[];for(let b=0;b<y.length;b++)m=y[b],x.push(l(m));return x}();if(h=p.match(r.longValue)){if(g=l(h[1]),g>4294967295||g<0)throw new Error("ipaddr: address outside defined range");return function(){let y=[],x;for(x=0;x<=24;x+=8)y.push(g>>x&255);return y}().reverse()}else return(h=p.match(r.twoOctet))?function(){let y=h.slice(1,4),x=[];if(g=l(y[1]),g>16777215||g<0)throw new Error("ipaddr: address outside defined range");return x.push(l(y[0])),x.push(g>>16&255),x.push(g>>8&255),x.push(g&255),x}():(h=p.match(r.threeOctet))?function(){let y=h.slice(1,5),x=[];if(g=l(y[2]),g>65535||g<0)throw new Error("ipaddr: address outside defined range");return x.push(l(y[0])),x.push(l(y[1])),x.push(g>>8&255),x.push(g&255),x}():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],m=0,g=Math.floor(p/8);for(;m<g;)h[m]=255,m++;return g<4&&(h[g]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.IPv6=function(){function p(h,m){let g,y;if(h.length===16)for(this.parts=[],g=0;g<=14;g+=2)this.parts.push(h[g]<<8|h[g+1]);else if(h.length===8)this.parts=h;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(g=0;g<this.parts.length;g++)if(y=this.parts[g],!(0<=y&&y<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");m&&(this.zoneId=m)}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]],benchmarking:[new p([8193,2,0,0,0,0,0,0]),48],amt:[new p([8193,3,0,0,0,0,0,0]),32],as112v6:[new p([8193,4,274,0,0,0,0,0]),48],deprecated:[new p([8193,16,0,0,0,0,0,0]),28],orchid2:[new p([8193,32,0,0,0,0,0,0]),28]},p.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},p.prototype.kind=function(){return"ipv6"},p.prototype.match=function(h,m){let g;if(m===void 0&&(g=h,h=g[0],m=g[1]),h.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,h.parts,16,m)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,m=!1,g={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},y,x;for(let b=7;b>=0;b-=1)if(y=this.parts[b],y in g){if(x=g[y],m&&x!==0)return null;x!==16&&(m=!0),h+=x}else return null;return 128-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){let h,m=[],g=this.parts;for(let y=0;y<g.length;y++)h=g[y],m.push(h>>8),m.push(h&255);return m},p.prototype.toFixedLengthString=function(){let h=function(){let g=[];for(let y=0;y<this.parts.length;y++)g.push(f(this.parts[y].toString(16),4));return g}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),h+m},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),m=h[0],g=h[1];return new d.IPv4([m>>8,m&255,g>>8,g&255])},p.prototype.toNormalizedString=function(){let h=function(){let g=[];for(let y=0;y<this.parts.length;y++)g.push(this.parts[y].toString(16));return g}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),h+m},p.prototype.toRFC5952String=function(){let h=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),g=0,y=-1,x;for(;x=h.exec(m);)x[0].length>y&&(g=x.index,y=x[0].length);return y<0?m:`${m.substring(0,g)}::${m.substring(g+y)}`},p.prototype.toString=function(){return this.toRFC5952String()},p}(),d.IPv6.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),m=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],x=0;for(;x<16;)y.push(parseInt(m[x],10)|parseInt(g[x],10)^255),x++;return new this(y)}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{return!1}},d.IPv6.networkAddressFromCIDR=function(p){let h,m,g,y,x;try{for(h=this.parseCIDR(p),g=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],m=0;m<16;)y.push(parseInt(g[m],10)&parseInt(x[m],10)),m++;return new this(y)}catch(b){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${b})`)}},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,m,g;if((m=p.match(/^(.+)\/(\d+)$/))&&(h=parseInt(m[2]),h>=0&&h<=128))return g=[this.parse(m[1]),h],Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},d.IPv6.parser=function(p){let h,m,g,y,x,b;if(g=p.match(a.deprecatedTransitional))return this.parser(`::ffff:${g[1]}`);if(a.native.test(p))return c(p,8);if((g=p.match(a.transitional))&&(b=g[6]||"",h=c(g[1].slice(0,-1)+b,6),h.parts)){for(x=[parseInt(g[2]),parseInt(g[3]),parseInt(g[4]),parseInt(g[5])],m=0;m<x.length;m++)if(y=x[m],!(0<=y&&y<=255))return null;return h.parts.push(x[0]<<8|x[1]),h.parts.push(x[2]<<8|x[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],m=0,g=Math.floor(p/8);for(;m<g;)h[m]=255,m++;return g<16&&(h[g]=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{try{return d.IPv4.parseCIDR(p)}catch{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,m){let g,y,x,b;m==null&&(m="unicast");for(y in h)if(Object.prototype.hasOwnProperty.call(h,y)){for(x=h[y],x[0]&&!(x[0]instanceof Array)&&(x=[x]),g=0;g<x.length;g++)if(b=x[g],p.kind()===b[0].kind()&&p.match.apply(p,b))return y}return m},typeof Co<"u"&&Co.exports?Co.exports=d:t.ipaddr=d})(gp)});var Np=q((VL,Dp)=>{"use strict";Dp.exports=Pp;var IE=su(),Or=Pp.prototype,CE=new Date%1e9;function TE(){return(Math.random()*1e9>>>0)+CE++}function Pp(t){t=t||{},this.id=t.id||TE(),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)}Or.has=function(t){return t in this._lookup};Or.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};Or.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};Or.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};Or.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};Or.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=IE(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};Or.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};Or.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 Fp=q((QL,Up)=>{"use strict";Up.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var Hp=q(($p,zp)=>{"use strict";var ko=Fp(),{hasOwnProperty:qp}=Object.prototype,{propertyIsEnumerable:LE}=Object,ii=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),PE=$p,Kp={concatArrays:!1,ignoreUndefined:!1},Oo=t=>{let e=[];for(let r in t)qp.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)LE.call(t,n)&&e.push(n)}return e};function si(t){return Array.isArray(t)?DE(t):ko(t)?NE(t):t}function DE(t){let e=t.slice(0,0);return Oo(t).forEach(r=>{ii(e,r,si(t[r]))}),e}function NE(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return Oo(t).forEach(r=>{ii(e,r,si(t[r]))}),e}var Vp=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?ii(t,i,ul(t[i],e[i],n)):ii(t,i,si(e[i])))}),t),kE=(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++)qp.call(s,a)&&(o.push(String(a)),s===t?ii(n,i++,s[a]):ii(n,i++,si(s[a])));n=Vp(n,s,Oo(s).filter(a=>!o.includes(a)),r)}),n};function ul(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?kE(t,e,r):!ko(e)||!ko(t)?si(e):Vp(t,e,Oo(e),r)}zp.exports=function(...t){let e=ul(si(Kp),this!==PE&&this||{},Kp),r={_:{}};for(let n of t)if(n!==void 0){if(!ko(n))throw new TypeError("`"+n+"` is not an Option Object");r=ul(r,{_:n},e)}return r._}});var Qi=q((s6,Yp)=>{Yp.exports=class{constructor(e={}){this.points=e.points,this.duration=e.duration,this.blockDuration=e.blockDuration,this.execEvenly=e.execEvenly,this.execEvenlyMinDelayMs=e.execEvenlyMinDelayMs,this.keyPrefix=e.keyPrefix}get points(){return this._points}set points(e){this._points=e>=0?e:4}get duration(){return this._duration}set duration(e){this._duration=typeof e>"u"?1:e}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(e){this._blockDuration=typeof e>"u"?0:e}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(e){this._execEvenly=typeof e>"u"?!1:!!e}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(e){this._execEvenlyMinDelayMs=typeof e>"u"?Math.ceil(this.msDuration/this.points):e}get keyPrefix(){return this._keyPrefix}set keyPrefix(e){if(typeof e>"u"&&(e="rlflx"),typeof e!="string")throw new Error("keyPrefix must be string");this._keyPrefix=e}_getKeySecDuration(e={}){return e&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?`${this.keyPrefix}:${e}`:e}parseKey(e){return e.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}});var Xp=q((a6,Qp)=>{Qp.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let e=Date.now();Object.keys(this._keys).forEach(r=>{this._keys[r]<=e&&delete this._keys[r]}),this._addedKeysAmount=Object.keys(this._keys).length}add(e,r){this.addMs(e,r*1e3)}addMs(e,r){this._keys[e]=Date.now()+r,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(e){let r=this._keys[e];if(r&&r>=Date.now()){this.collectExpired();let n=Date.now();return r>=n?r-n:0}return 0}delete(e){e?delete this._keys[e]:Object.keys(this._keys).forEach(r=>{delete this._keys[r]})}}});var jp=q((c6,Zp)=>{var ME=Xp();Zp.exports=ME});var ft=q((l6,Jp)=>{Jp.exports=class{constructor(e,r,n,i){this.remainingPoints=typeof e>"u"?0:e,this.msBeforeNext=typeof r>"u"?0:r,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(e){return this._msBeforeNext=e,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(e){return this._remainingPoints=e,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(e){return this._consumedPoints=e,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(e){this._isFirstInDuration=!!e}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}});var yn=q((h6,tm)=>{var ll=Qi(),UE=jp(),em=ft();tm.exports=class extends ll{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new UE}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("storeClient is not set");this._client=e}_afterConsume(e,r,n,i,s,o={}){let a=this._getRateLimiterRes(n,i,s);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&a.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(n,a.msBeforeNext),a.consumedPoints>this.points?r(a):e(a);if(a.consumedPoints>this.points){let c=Promise.resolve();this.blockDuration>0&&a.consumedPoints<=this.points+i&&(a.msBeforeNext=this.msBlockDuration,c=this._block(n,a.consumedPoints,this.msBlockDuration,o)),this.inMemoryBlockOnConsumed>0&&a.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(n,this.inMemoryBlockDuration),a.msBeforeNext=this.msInMemoryBlockDuration),c.then(()=>{r(a)}).catch(u=>{r(u)})}else if(this.execEvenly&&a.msBeforeNext>0&&!a.isFirstInDuration){let c=Math.ceil(a.msBeforeNext/(a.remainingPoints+2));c<this.execEvenlyMinDelayMs&&(c=a.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(e,c,a)}else e(a)}_handleError(e,r,n,i,s,o=!1,a={}){this.insuranceLimiter instanceof ll?this.insuranceLimiter[r](s,o,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(e)}getInMemoryBlockMsBeforeExpire(e){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(e):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(e){if(this._inMemoryBlockOnConsumed=e?parseInt(e):0,this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed)throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(e){if(this._inMemoryBlockDuration=e?parseInt(e):0,this.inMemoryBlockDuration>0&&this.inMemoryBlockOnConsumed===0)throw new Error("inMemoryBlockOnConsumed option must be set up")}get msInMemoryBlockDuration(){return this._inMemoryBlockDuration*1e3}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(e){if(typeof e<"u"&&!(e instanceof ll))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=e,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(e,r,n={}){let i=r*1e3;return this._block(this.getKey(e),this.points+1,i,n)}set(e,r,n,i={}){let s=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(e),r,s,i)}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(e),a=this.getInMemoryBlockMsBeforeExpire(o);if(a>0)return s(new em(0,a));this._upsert(o,r,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,s,o,r,c)}).catch(c=>{this._handleError(c,"consume",i,s,e,r,n)})})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise((s,o)=>{this._upsert(i,r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,r,a))}).catch(a=>{this._handleError(a,"penalty",s,o,e,r,n)})})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise((s,o)=>{this._upsert(i,-r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,-r,a))}).catch(a=>{this._handleError(a,"reward",s,o,e,r,n)})})}get(e,r={}){let n=this.getKey(e);return new Promise((i,s)=>{this._get(n,r).then(o=>{i(o===null||typeof o>"u"?null:this._getRateLimiterRes(n,0,o))}).catch(o=>{this._handleError(o,"get",i,s,e,r)})})}delete(e,r={}){let n=this.getKey(e);return new Promise((i,s)=>{this._delete(n,r).then(o=>{this._inMemoryBlockedKeys.delete(n),i(o)}).catch(o=>{this._handleError(o,"delete",i,s,e,r)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(e,r,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(e,r,n,i={}){return new Promise((s,o)=>{this._upsert(e,r,n,!0,i).then(()=>{s(new em(0,n>0?n:-1,r))}).catch(a=>{this._handleError(a,"block",s,o,this.parseKey(e),n/1e3,i)})})}_get(e,r={}){throw new Error("You have to implement the method '_get'!")}_delete(e,r={}){throw new Error("You have to implement the method '_delete'!")}_upsert(e,r,n,i=!1,s={}){throw new Error("You have to implement the method '_upsert'!")}}});var nm=q((d6,rm)=>{var FE=yn(),KE=ft(),fl="redis.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX') local consumed = redis.call('incrby', KEYS[1], ARGV[1]) local ttl = redis.call('pttl', KEYS[1]) if ttl == -1 then redis.call('expire', KEYS[1], ARGV[2]) ttl = 1000 * ARGV[2] end return {consumed, ttl} ",hl=class extends FE{constructor(e){super(e),this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,this.useRedisPackage=e.useRedisPackage||this.client.constructor.name==="Commander"||!1,this.useRedis3AndLowerPackage=e.useRedis3AndLowerPackage,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:fl})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(e,r,n){let[i,s]=n;Array.isArray(i)&&([,i]=i,[,s]=s);let o=new KE;return o.consumedPoints=parseInt(i),o.isFirstInDuration=o.consumedPoints===r,o.remainingPoints=Math.max(this.points-o.consumedPoints,0),o.msBeforeNext=s,o}async _upsert(e,r,n,i=!1){if(!this._isRedisReady())throw new Error("Redis connection is not ready");let s=Math.floor(n/1e3),o=this.client.multi();return i?(s>0?!this.useRedisPackage&&!this.useRedis3AndLowerPackage?o.set(e,r,"EX",s):o.set(e,r,{EX:s}):o.set(e,r),!this.useRedisPackage&&!this.useRedis3AndLowerPackage?o.pttl(e).exec(!0):o.pTTL(e).exec(!0)):s>0?!this.useRedisPackage&&!this.useRedis3AndLowerPackage?this.client.rlflxIncr([e].concat([String(r),String(s)])):this.useRedis3AndLowerPackage?new Promise((a,c)=>{let u=function(l,f){return l?c(l):a(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(e,r,s,u):this.client.eval(fl,1,e,r,s,u)}):this.client.eval(fl,{keys:[e],arguments:[String(r),String(s)]}):!this.useRedisPackage&&!this.useRedis3AndLowerPackage?o.incrby(e,r).pttl(e).exec(!0):o.incrBy(e,r).pTTL(e).exec(!0)}async _get(e){if(!this._isRedisReady())throw new Error("Redis connection is not ready");return!this.useRedisPackage&&!this.useRedis3AndLowerPackage?this.client.multi().get(e).pttl(e).exec().then(r=>{let[[,n]]=r;return n===null?null:r}):this.client.multi().get(e).pTTL(e).exec(!0).then(r=>{let[n]=r;return n===null?null:r})}_delete(e){return this.client.del(e).then(r=>r>0)}};rm.exports=hl});var om=q((p6,sm)=>{var qE=yn(),VE=ft();function im(t){try{let e=t.client?t.client:t,{version:r}=e.topology.s.options.metadata.driver,n=r.split(".").map(i=>parseInt(i));return{major:n[0],feature:n[1],patch:n[2]}}catch{return{major:0,feature:0,patch:0}}}var dl=class t extends qE{constructor(e){super(e),this.dbName=e.dbName,this.tableName=e.tableName,this.indexKeyPrefix=e.indexKeyPrefix,e.mongo?this.client=e.mongo:this.client=e.storeClient,typeof this.client.then=="function"?this.client.then(r=>{this.client=r,this._initCollection(),this._driverVersion=im(this.client)}):(this._initCollection(),this._driverVersion=im(this.client))}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?t.getDbName():e}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("mongo is not set");this._client=e}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(e){this._indexKeyPrefix=e||{}}_initCollection(){let r=(typeof this.client.db=="function"?this.client.db(this.dbName):this.client).collection(this.tableName);r.createIndex({expire:-1},{expireAfterSeconds:0}),r.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:!0}),this._collection=r}_getRateLimiterRes(e,r,n){let i=new VE,s;return typeof n.value>"u"?s=n:s=n.value,i.isFirstInDuration=s.points===r,i.consumedPoints=s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire!==null?Math.max(new Date(s.expire).getTime()-Date.now(),0):-1,i}_upsert(e,r,n,i=!1,s={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let o=s.attrs||{},a,c;i?(a={key:e},a=Object.assign(a,o),c={$set:{key:e,points:r,expire:n>0?new Date(Date.now()+n):null}},c.$set=Object.assign(c.$set,o)):(a={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:e},a=Object.assign(a,o),c={$setOnInsert:{key:e,expire:n>0?new Date(Date.now()+n):null},$inc:{points:r}},c.$setOnInsert=Object.assign(c.$setOnInsert,o));let u={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?u.returnDocument="after":u.returnOriginal=!1,new Promise((l,f)=>{this._collection.findOneAndUpdate(a,c,u).then(d=>{l(d)}).catch(d=>{if(d&&d.code===11e3){let p=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:e},o),h={$set:Object.assign({key:e,points:r,expire:n>0?new Date(Date.now()+n):null},o)};this._collection.findOneAndUpdate(p,h,u).then(m=>{l(m)}).catch(m=>{m&&m.code===11e3?this._upsert(e,r,n,i).then(g=>l(g)).catch(g=>f(g)):f(m)})}else f(d)})})}_get(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e},n);return this._collection.deleteOne(i).then(s=>s.deletedCount>0)}};sm.exports=dl});var cm=q((m6,am)=>{var $E=yn(),zE=ft(),pl=class extends $E{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.dbName=e.dbName,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,e],()=>{this._releaseConnection(n),r()})}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise((e,r)=>{this.client.getConnection((n,i)=>{if(n)return r(n);e(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return e.release();case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);default:return!0}}_createDbAndTable(){return new Promise((e,r)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),r(i);n.query(this._getCreateTableStmt(),s=>{if(s)return this._releaseConnection(n),r(s);this._releaseConnection(n),e()})})}).catch(n=>{r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (\`key\` VARCHAR(255) CHARACTER SET utf8 NOT NULL,\`points\` INT(9) NOT NULL default 0,\`expire\` BIGINT UNSIGNED,PRIMARY KEY (\`key\`)) ENGINE = INNODB;`}get clientType(){return this._clientType}set clientType(e){if(typeof e>"u")if(this.client.constructor.name==="Connection")e="connection";else if(this.client.constructor.name==="Pool")e="pool";else if(this.client.constructor.name==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?"rtlmtrflx":e}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new zE,[s]=n;return i.isFirstInDuration=r===s.points,i.consumedPoints=i.isFirstInDuration?r:s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire?Math.max(s.expire-Date.now(),0):-1,i}_upsertTransaction(e,r,n,i,s){return new Promise((o,a)=>{e.query("BEGIN",c=>{if(c)return e.rollback(),a(c);let u=Date.now(),l=i>0?u+i:null,f,d;s?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
15
|
+
`+a+e.substr(o+1),s=i-o-1,o=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(o=i);return e}function px(t){return t.replace(/^\s+/,"")}});var Ih=q((X_,_h)=>{var Kt=fe();zr();Le();var vh=_h.exports=Kt.sha256=Kt.sha256||{};Kt.md.sha256=Kt.md.algorithms.sha256=vh;vh.create=function(){Ah||mx();var t=null,e=Kt.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=Kt.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=Kt.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),Eh(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Kt.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Ha.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};Eh(f,r,i);var d=Kt.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 Ha=null,Ah=!1,Sh=null;function mx(){Ha="\x80",Ha+=Kt.util.fillString("\0",64),Sh=[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],Ah=!0}function Eh(t,e,r){for(var n,i,s,o,a,c,u,l,f,d,p,h,m,g,y,x=r.length();x>=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,m=t.h5,g=t.h6,y=t.h7,u=0;u<64;++u)o=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=g^h&(m^g),s=(l>>>2|l<<30)^(l>>>13|l<<19)^(l>>>22|l<<10),c=l&f|d&(l^f),n=y+o+a+Sh[u]+e[u],i=s+c,y=g,g=m,m=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+m|0,t.h6=t.h6+g|0,t.h7=t.h7+y|0,x-=64}}});var Th=q((Z_,Ch)=>{var qt=fe();Le();var Bs=null;qt.util.isNodejs&&!qt.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Bs=Ti());var gx=Ch.exports=qt.prng=qt.prng||{};gx.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,m=qt.util.createBuffer();e.key=null,g();function g(y){if(y)return l(y);if(m.length()>=u)return l(null,m.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return qt.util.nextTick(function(){s(g)});var x=f(e.key,e.seed);e.generated+=x.length,m.putBytes(x),e.key=p(f(e.key,d(e.seed))),e.seed=h(f(e.key,e.seed)),qt.util.setImmediate(g)}},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=qt.util.createBuffer();h.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&o();var m=l(e.key,e.seed);e.generated+=m.length,h.putBytes(m),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=qt.util.globalScope,d=f.crypto||f.msCrypto;d&&d.getRandomValues&&(l=function(E){return d.getRandomValues(E)});var p=qt.util.createBuffer();if(l)for(;p.length()<u;){var h=Math.max(1,Math.min(u-p.length(),65536)/4),m=new Uint32Array(Math.floor(h));try{l(m);for(var g=0;g<m.length;++g)p.putInt32(m[g])}catch(E){if(!(typeof QuotaExceededError<"u"&&E instanceof QuotaExceededError))throw E}}if(p.length()<u)for(var y,x,b,S=Math.floor(Math.random()*65536);p.length()<u;){x=16807*(S&65535),y=16807*(S>>16),x+=(y&32767)<<16,x+=y>>15,x=(x&2147483647)+(x>>31),S=x&4294967295;for(var g=0;g<3;++g)b=S>>>(g<<3),b^=Math.floor(Math.random()*256),p.putByte(b&255)}return p.getBytes(u)}return Bs?(e.seedFile=function(u,l){Bs.randomBytes(u,function(f,d){if(f)return l(f);l(null,d.toString())})},e.seedFileSync=function(u){return Bs.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 m=h.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",p),d(m.forge.prng.err,m.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 Ri=q((j_,Ga)=>{var Fe=fe();za();Ih();Th();Le();(function(){if(Fe.random&&Fe.random.getBytes){Ga.exports=Fe.random;return}(function(t){var e={},r=new Array(4),n=Fe.util.createBuffer();e.formatKey=function(f){var d=Fe.util.createBuffer(f);return f=new Array(4),f[0]=d.getInt32(),f[1]=d.getInt32(),f[2]=d.getInt32(),f[3]=d.getInt32(),Fe.aes._expandKey(f,!1)},e.formatSeed=function(f){var d=Fe.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 Fe.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=Fe.md.sha256;function i(){var f=Fe.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=Fe.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(f){return c.getRandomValues(f)}),Fe.options.usePureJavaScript||!Fe.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var l in navigator)try{typeof navigator[l]=="string"&&(u+=navigator[l])}catch{}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(!Fe.random)Fe.random=s;else for(var l in s)Fe.random[l]=s[l];Fe.random.createInstance=i,Ga.exports=Fe.random})(typeof jQuery<"u"?jQuery:null)})()});var Dh=q((J_,Lh)=>{var ot=fe();Le();var Wa=[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],Rh=[1,2,3,5],yx=function(t,e){return t<<e&65535|(t&65535)>>16-e},xx=function(t,e){return(t&65535)>>e|t<<16-e&65535};Lh.exports=ot.rc2=ot.rc2||{};ot.rc2.expandKey=function(t,e){typeof t=="string"&&(t=ot.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(Wa[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,Wa[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,Wa[r.at(a+1)^r.at(a+s)]);return r};var Bh=function(t,e,r){var n=!1,i=null,s=null,o=null,a,c,u,l,f=[];for(t=ot.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]=yx(h[u],Rh[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]=xx(h[u],Rh[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 m=[];for(u=0;u<4;u++){var g=i.getInt16Le();o!==null&&(r?g^=o.getInt16Le():o.putInt16Le(g)),m.push(g&65535)}l=r?0:63;for(var y=0;y<h.length;y++)for(var x=0;x<h[y][0];x++)h[y][1](m);for(u=0;u<4;u++)o!==null&&(r?o.putInt16Le(m[u]):m[u]^=o.getInt16Le()),s.putInt16Le(m[u])},p=null;return p={start:function(h,m){h&&typeof h=="string"&&(h=ot.util.createBuffer(h)),n=!1,i=ot.util.createBuffer(),s=m||new ot.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 m=!0;if(r)if(h)m=h(8,i,!r);else{var g=i.length()===8?8:8-i.length();i.fillWithByte(g,g)}if(m&&(n=!0,p.update()),!r&&(m=i.length()===0,m))if(h)m=h(8,s,!r);else{var y=s.length(),x=s.at(y-1);x>y?m=!1:s.truncate(x)}return m}},p};ot.rc2.startEncrypting=function(t,e,r){var n=ot.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};ot.rc2.createEncryptionCipher=function(t,e){return Bh(t,e,!0)};ot.rc2.startDecrypting=function(t,e,r){var n=ot.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};ot.rc2.createDecryptionCipher=function(t,e){return Bh(t,e,!1)}});var Ps=q((eI,Kh)=>{var Ya=fe();Kh.exports=Ya.jsbn=Ya.jsbn||{};var rr,bx=0xdeadbeefcafe,Ph=(bx&16777215)==15715070;function B(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))}Ya.jsbn.BigInteger=B;function re(){return new B(null)}function wx(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 Ex(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 Nh(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>"u"?(B.prototype.am=Nh,rr=28):Ph&&navigator.appName=="Microsoft Internet Explorer"?(B.prototype.am=Ex,rr=30):Ph&&navigator.appName!="Netscape"?(B.prototype.am=wx,rr=26):(B.prototype.am=Nh,rr=28);B.prototype.DB=rr;B.prototype.DM=(1<<rr)-1;B.prototype.DV=1<<rr;var Qa=52;B.prototype.FV=Math.pow(2,Qa);B.prototype.F1=Qa-rr;B.prototype.F2=2*rr-Qa;var vx="0123456789abcdefghijklmnopqrstuvwxyz",Ls=new Array,Ln,Et;Ln=48;for(Et=0;Et<=9;++Et)Ls[Ln++]=Et;Ln=97;for(Et=10;Et<36;++Et)Ls[Ln++]=Et;Ln=65;for(Et=10;Et<36;++Et)Ls[Ln++]=Et;function kh(t){return vx.charAt(t)}function Oh(t,e){var r=Ls[t.charCodeAt(e)];return r??-1}function Ax(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 Sx(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 vr(t){var e=re();return e.fromInt(t),e}function _x(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:Oh(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&&(this.s=-1,s>0&&(this.data[this.t-1]|=(1<<this.DB-s)-1<<s)),this.clamp(),i&&B.ZERO.subTo(this,this)}function Ix(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function Cx(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=kh(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+=kh(n));return i?s:"0"}function Tx(){var t=re();return B.ZERO.subTo(this,t),t}function Rx(){return this.s<0?this.negate():this}function Bx(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 Ds(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 Lx(){return this.t<=0?0:this.DB*(this.t-1)+Ds(this.data[this.t-1]^this.s&this.DM)}function Dx(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 Px(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 Nx(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 kx(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 Ox(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 Ux(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&&B.ZERO.subTo(e,e)}function Mx(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 Fx(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=re());var s=re(),o=this.s,a=t.s,c=this.DB-Ds(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,m=r.t,g=m-u,y=e??re();for(s.dlShiftTo(g,y),r.compareTo(y)>=0&&(r.data[r.t++]=1,r.subTo(y,r)),B.ONE.dlShiftTo(u,y),y.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--g>=0;){var x=r.data[--m]==l?this.DM:Math.floor(r.data[m]*d+(r.data[m-1]+h)*p);if((r.data[m]+=s.am(0,x,r,g,0,u))<x)for(s.dlShiftTo(g,y),r.subTo(y,r);r.data[m]<--x;)r.subTo(y,r)}e!=null&&(r.drShiftTo(u,e),o!=a&&B.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&B.ZERO.subTo(r,r)}}}function Kx(t){var e=re();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(B.ZERO)>0&&t.subTo(e,e),e}function Hr(t){this.m=t}function qx(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function Vx(t){return t}function $x(t){t.divRemTo(this.m,null,t)}function zx(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function Hx(t,e){t.squareTo(e),this.reduce(e)}Hr.prototype.convert=qx;Hr.prototype.revert=Vx;Hr.prototype.reduce=$x;Hr.prototype.mulTo=zx;Hr.prototype.sqrTo=Hx;function Gx(){if(this.t<1)return 0;var t=this.data[0];if(!(t&1))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 Gr(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 Wx(t){var e=re();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(B.ZERO)>0&&this.m.subTo(e,e),e}function Yx(t){var e=re();return t.copyTo(e),this.reduce(e),e}function Qx(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 Xx(t,e){t.squareTo(e),this.reduce(e)}function Zx(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Gr.prototype.convert=Wx;Gr.prototype.revert=Yx;Gr.prototype.reduce=Qx;Gr.prototype.mulTo=Zx;Gr.prototype.sqrTo=Xx;function jx(){return(this.t>0?this.data[0]&1:this.s)==0}function Jx(t,e){if(t>4294967295||t<1)return B.ONE;var r=re(),n=re(),i=e.convert(this),s=Ds(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 e1(t,e){var r;return t<256||e.isEven()?r=new Hr(e):r=new Gr(e),this.exp(t,r)}B.prototype.copyTo=Ax;B.prototype.fromInt=Sx;B.prototype.fromString=_x;B.prototype.clamp=Ix;B.prototype.dlShiftTo=Dx;B.prototype.drShiftTo=Px;B.prototype.lShiftTo=Nx;B.prototype.rShiftTo=kx;B.prototype.subTo=Ox;B.prototype.multiplyTo=Ux;B.prototype.squareTo=Mx;B.prototype.divRemTo=Fx;B.prototype.invDigit=Gx;B.prototype.isEven=jx;B.prototype.exp=Jx;B.prototype.toString=Cx;B.prototype.negate=Tx;B.prototype.abs=Rx;B.prototype.compareTo=Bx;B.prototype.bitLength=Lx;B.prototype.mod=Kx;B.prototype.modPowInt=e1;B.ZERO=vr(0);B.ONE=vr(1);function t1(){var t=re();return this.copyTo(t),t}function r1(){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 n1(){return this.t==0?this.s:this.data[0]<<24>>24}function i1(){return this.t==0?this.s:this.data[0]<<16>>16}function s1(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function o1(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function a1(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=vr(r),i=re(),s=re(),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 c1(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=Oh(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&&B.ZERO.subTo(this,this)}function u1(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(B.ONE.shiftLeft(t-1),Xa,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(B.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 l1(){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&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function f1(t){return this.compareTo(t)==0}function h1(t){return this.compareTo(t)<0?this:t}function d1(t){return this.compareTo(t)>0?this:t}function p1(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 m1(t,e){return t&e}function g1(t){var e=re();return this.bitwiseTo(t,m1,e),e}function Xa(t,e){return t|e}function y1(t){var e=re();return this.bitwiseTo(t,Xa,e),e}function Uh(t,e){return t^e}function x1(t){var e=re();return this.bitwiseTo(t,Uh,e),e}function Mh(t,e){return t&~e}function b1(t){var e=re();return this.bitwiseTo(t,Mh,e),e}function w1(){for(var t=re(),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 E1(t){var e=re();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function v1(t){var e=re();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function A1(t){if(t==0)return-1;var e=0;return t&65535||(t>>=16,e+=16),t&255||(t>>=8,e+=8),t&15||(t>>=4,e+=4),t&3||(t>>=2,e+=2),t&1||++e,e}function S1(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+A1(this.data[t]);return this.s<0?this.t*this.DB:-1}function _1(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function I1(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=_1(this.data[r]^e);return t}function C1(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function T1(t,e){var r=B.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function R1(t){return this.changeBit(t,Xa)}function B1(t){return this.changeBit(t,Mh)}function L1(t){return this.changeBit(t,Uh)}function D1(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 P1(t){var e=re();return this.addTo(t,e),e}function N1(t){var e=re();return this.subTo(t,e),e}function k1(t){var e=re();return this.multiplyTo(t,e),e}function O1(t){var e=re();return this.divRemTo(t,e,null),e}function U1(t){var e=re();return this.divRemTo(t,null,e),e}function M1(t){var e=re(),r=re();return this.divRemTo(t,e,r),new Array(e,r)}function F1(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function K1(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 Bi(){}function Fh(t){return t}function q1(t,e,r){t.multiplyTo(e,r)}function V1(t,e){t.squareTo(e)}Bi.prototype.convert=Fh;Bi.prototype.revert=Fh;Bi.prototype.mulTo=q1;Bi.prototype.sqrTo=V1;function $1(t){return this.exp(t,new Bi)}function z1(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 H1(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 Dn(t){this.r2=re(),this.q3=re(),B.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function G1(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=re();return t.copyTo(e),this.reduce(e),e}function W1(t){return t}function Y1(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 Q1(t,e){t.squareTo(e),this.reduce(e)}function X1(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Dn.prototype.convert=G1;Dn.prototype.revert=W1;Dn.prototype.reduce=Y1;Dn.prototype.mulTo=X1;Dn.prototype.sqrTo=Q1;function Z1(t,e){var r=t.bitLength(),n,i=vr(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 Hr(e):e.isEven()?s=new Dn(e):s=new Gr(e);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var l=re();for(s.sqrTo(o[1],l);a<=u;)o[a]=re(),s.mulTo(l,o[a-2],o[a]),a+=2}var f=t.t-1,d,p=!0,h=re(),m;for(r=Ds(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);)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):(m=i,i=h,h=m),s.mulTo(h,o[d],i)}for(;f>=0&&!(t.data[f]&1<<r);)s.sqrTo(i,h),m=i,i=h,h=m,--r<0&&(r=this.DB-1,--f)}return s.revert(i)}function j1(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 J1(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 eb(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return B.ZERO;for(var r=t.clone(),n=this.clone(),i=vr(1),s=vr(0),o=vr(0),a=vr(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(B.ONE)!=0)return B.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 Rt=[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],tb=(1<<26)/Rt[Rt.length-1];function rb(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=Rt[Rt.length-1]){for(e=0;e<Rt.length;++e)if(r.data[0]==Rt[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<Rt.length;){for(var n=Rt[e],i=e+1;i<Rt.length&&n<tb;)n*=Rt[i++];for(n=r.modInt(n);e<i;)if(n%Rt[e++]==0)return!1}return r.millerRabin(t)}function nb(t){var e=this.subtract(B.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=ib(),s,o=0;o<t;++o){do s=new B(this.bitLength(),i);while(s.compareTo(B.ONE)<=0||s.compareTo(e)>=0);var a=s.modPow(n,this);if(a.compareTo(B.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(B.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function ib(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}B.prototype.chunkSize=s1;B.prototype.toRadix=a1;B.prototype.fromRadix=c1;B.prototype.fromNumber=u1;B.prototype.bitwiseTo=p1;B.prototype.changeBit=T1;B.prototype.addTo=D1;B.prototype.dMultiply=F1;B.prototype.dAddOffset=K1;B.prototype.multiplyLowerTo=z1;B.prototype.multiplyUpperTo=H1;B.prototype.modInt=J1;B.prototype.millerRabin=nb;B.prototype.clone=t1;B.prototype.intValue=r1;B.prototype.byteValue=n1;B.prototype.shortValue=i1;B.prototype.signum=o1;B.prototype.toByteArray=l1;B.prototype.equals=f1;B.prototype.min=h1;B.prototype.max=d1;B.prototype.and=g1;B.prototype.or=y1;B.prototype.xor=x1;B.prototype.andNot=b1;B.prototype.not=w1;B.prototype.shiftLeft=E1;B.prototype.shiftRight=v1;B.prototype.getLowestSetBit=S1;B.prototype.bitCount=I1;B.prototype.testBit=C1;B.prototype.setBit=R1;B.prototype.clearBit=B1;B.prototype.flipBit=L1;B.prototype.add=P1;B.prototype.subtract=N1;B.prototype.multiply=k1;B.prototype.divide=O1;B.prototype.remainder=U1;B.prototype.divideAndRemainder=M1;B.prototype.modPow=Z1;B.prototype.modInverse=eb;B.prototype.pow=$1;B.prototype.gcd=j1;B.prototype.isProbablePrime=rb});var Hh=q((tI,zh)=>{var Vt=fe();zr();Le();var Vh=zh.exports=Vt.sha1=Vt.sha1||{};Vt.md.sha1=Vt.md.algorithms.sha1=Vh;Vh.create=function(){$h||sb();var t=null,e=Vt.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=Vt.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=Vt.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),qh(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Vt.util.createBuffer();i.putBytes(e.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Za.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};qh(f,r,i);var d=Vt.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 Za=null,$h=!1;function sb(){Za="\x80",Za+=Vt.util.fillString("\0",64),$h=!0}function qh(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 Yh=q((rI,Wh)=>{var $t=fe();Le();Ri();Hh();var Gh=Wh.exports=$t.pkcs1=$t.pkcs1||{};Gh.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=$t.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=$t.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 m=Ns(i,a-s.digestLength-1,o),g=$t.util.xorBytes(h,m,h.length),y=Ns(g,s.digestLength,o),x=$t.util.xorBytes(i,y,i.length);return"\0"+x+g};Gh.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 g=new Error("RSAES-OAEP encoded message length is invalid.");throw g.length=e.length,g.expectedLength=o,g}if(i===void 0?i=$t.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=Ns(l,i.digestLength,s),d=$t.util.xorBytes(u,f,u.length),p=Ns(d,o-i.digestLength-1,s),h=$t.util.xorBytes(l,p,l.length),m=h.substring(0,i.digestLength),g=c!=="\0",y=0;y<i.digestLength;++y)g|=a.charAt(y)!==m.charAt(y);for(var x=1,b=i.digestLength,S=i.digestLength;S<h.length;S++){var E=h.charCodeAt(S),A=E&1^1,C=x?65534:0;g|=E&C,x=x&A,b+=x}if(g||h.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(b+1)};function Ns(t,e,r){r||(r=$t.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 Qh=q((nI,ja)=>{var Ar=fe();Le();Ps();Ri();(function(){if(Ar.prime){ja.exports=Ar.prime;return}var t=ja.exports=Ar.prime=Ar.prime||{},e=Ar.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 m=d.prng||Ar.random,g={nextBytes:function(y){for(var x=m.getBytesSync(y.length),b=0;b<y.length;++b)y[b]=x.charCodeAt(b)}};if(h.name==="PRIMEINC")return s(f,g,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 m=u(f,d),g=0,y=l(m.bitLength());"millerRabinTests"in p&&(y=p.millerRabinTests);var x=10;"maxBlockTime"in p&&(x=p.maxBlockTime),a(m,f,d,g,y,x,h)}function a(f,d,p,h,m,g,y){var x=+new Date;do{if(f.bitLength()>d&&(f=u(d,p)),f.isProbablePrime(m))return y(null,f);f.dAddOffset(r[h++%8],0)}while(g<0||+new Date-x<g);Ar.util.setImmediate(function(){a(f,d,p,h,m,g,y)})}function c(f,d,p,h){if(typeof Worker>"u")return o(f,d,p,h);var m=u(f,d),g=p.workers,y=p.workLoad||100,x=y*30/8,b=p.workerScript||"forge/prime.worker.js";if(g===-1)return Ar.util.estimateCores(function(E,A){E&&(A=2),g=A-1,S()});S();function S(){g=Math.max(1,g);for(var E=[],A=0;A<g;++A)E[A]=new Worker(b);for(var C=g,A=0;A<g;++A)E[A].addEventListener("message",V);var R=!1;function V(G){if(!R){--C;var z=G.data;if(z.found){for(var j=0;j<E.length;++j)E[j].terminate();return R=!0,h(null,new e(z.prime,16))}m.bitLength()>f&&(m=u(f,d));var le=m.toString(16);G.target.postMessage({hex:le,workLoad:y}),m.dAddOffset(x,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 Os=q((iI,r0)=>{var $=fe();Ci();Ps();Es();Yh();Qh();Ri();Le();typeof te>"u"&&(te=$.jsbn.BigInteger);var te,Ja=$.util.isNodejs?Ti():null,v=$.asn1,vt=$.util;$.pki=$.pki||{};r0.exports=$.pki.rsa=$.rsa=$.rsa||{};var W=$.pki,ob=[6,4,2,4,2,4,6,2],ab={name:"PrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},cb={name:"RSAPrivateKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},ub={name:"RSAPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:v.Class.UNIVERSAL,type:v.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},lb=$.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},fb={name:"DigestInfo",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:v.Class.UNIVERSAL,type:v.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:v.Class.UNIVERSAL,type:v.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:v.Class.UNIVERSAL,type:v.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:v.Class.UNIVERSAL,type:v.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},hb=function(t){var e;if(t.algorithm in W.oids)e=W.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=v.oidToDer(e).getBytes(),i=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]),s=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]);s.value.push(v.create(v.Class.UNIVERSAL,v.Type.OID,!1,n)),s.value.push(v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,""));var o=v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(s),i.value.push(o),v.toDer(i).getBytes()},e0=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(te.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(te.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new te($.util.bytesToHex($.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(te.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};W.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=t0(t,e,r)):(i=$.util.createBuffer(),i.putBytes(t));for(var o=new te(i.toHex(),16),a=e0(o,e,n),c=a.toString(16),u=$.util.createBuffer(),l=s-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes($.util.hexToBytes(c)),u.getBytes()};W.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 te($.util.createBuffer(t).toHex(),16);if(o.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=e0(o,e,r),c=a.toString(16),u=$.util.createBuffer(),l=i-Math.ceil(c.length/2);l>0;)u.putByte(0),--l;return u.putBytes($.util.hexToBytes(c)),n!==!1?ks(u.getBytes(),e,r):u.getBytes()};W.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||$.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 te(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};W.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new te(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 te(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(te.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(pb(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(ob[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(te.ONE).gcd(t.e).compareTo(te.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(te.ONE),t.q1=t.q.subtract(te.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(te.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:W.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:W.rsa.setPublicKey(t.n,t.e)}}o=+new Date,a+=o-s,s=o}return t.keys!==null};W.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),!$.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(Xh("generateKeyPair"))return Ja.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:W.privateKeyFromPem(u),publicKey:W.publicKeyFromPem(c)})});if(Zh("generateKey")&&Zh("exportKey"))return vt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:Jh(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return vt.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=W.privateKeyFromAsn1(v.fromDer($.util.createBuffer(a)));n(null,{privateKey:c,publicKey:W.setRsaPublicKey(c.n,c.e)})}});if(jh("generateKey")&&jh("exportKey")){var i=vt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:Jh(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=vt.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(l){var f=l.target.result,d=W.privateKeyFromAsn1(v.fromDer($.util.createBuffer(f)));n(null,{privateKey:d,publicKey:W.setRsaPublicKey(d.n,d.e)})},u.onerror=function(l){n(l)}},i.onerror=function(a){n(a)};return}}else if(Xh("generateKeyPairSync")){var s=Ja.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:W.privateKeyFromPem(s.privateKey),publicKey:W.publicKeyFromPem(s.publicKey)}}}var o=W.rsa.createKeyPairGenerationState(t,e,r);if(!n)return W.rsa.stepKeyPairGenerationState(o,0),o.keys;db(o,r,n)};W.setRsaPublicKey=W.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 t0(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return $.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 W.rsa.encrypt(o,r,!0)},r.verify=function(n,i,s,o){typeof s=="string"?s=s.toUpperCase():s===void 0&&(s="RSASSA-PKCS1-V1_5"),o===void 0&&(o={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in o||(o._parseAllDigestBytes=!0),s==="RSASSA-PKCS1-V1_5"?s={verify:function(c,u){u=ks(u,r,!0);var l=v.fromDer(u,{parseAllBytes:o._parseAllDigestBytes}),f={},d=[];if(!v.validate(l,fb,f,d)){var p=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw p.errors=d,p}var h=v.derToOid(f.algorithmIdentifier);if(!(h===$.oids.md2||h===$.oids.md5||h===$.oids.sha1||h===$.oids.sha224||h===$.oids.sha256||h===$.oids.sha384||h===$.oids.sha512||h===$.oids["sha512-224"]||h===$.oids["sha512-256"])){var p=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw p.oid=h,p}if((h===$.oids.md2||h===$.oids.md5)&&!("parameters"in f))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===f.digest}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(c,u){return u=ks(u,r,!0),c===u}});var a=W.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};W.setRsaPrivateKey=W.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=W.rsa.decrypt(u,c,!1,!1);if(l==="RSAES-PKCS1-V1_5")l={decode:ks};else if(l==="RSA-OAEP"||l==="RSAES-OAEP")l={decode:function(p,h){return $.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:hb},f=1):(l==="NONE"||l==="NULL"||l===null)&&(l={encode:function(){return u}},f=1);var d=l.encode(u,c.n.bitLength());return W.rsa.encrypt(d,c,f)},c};W.wrapRsaPrivateKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(W.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,v.toDer(t).getBytes())])};W.privateKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,ab,e,r)&&(t=v.fromDer($.util.createBuffer(e.privateKey))),e={},r=[],!v.validate(t,cb,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=$.util.createBuffer(e.privateKeyModulus).toHex(),s=$.util.createBuffer(e.privateKeyPublicExponent).toHex(),o=$.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=$.util.createBuffer(e.privateKeyPrime1).toHex(),c=$.util.createBuffer(e.privateKeyPrime2).toHex(),u=$.util.createBuffer(e.privateKeyExponent1).toHex(),l=$.util.createBuffer(e.privateKeyExponent2).toHex(),f=$.util.createBuffer(e.privateKeyCoefficient).toHex(),W.setRsaPrivateKey(new te(i,16),new te(s,16),new te(o,16),new te(a,16),new te(c,16),new te(u,16),new te(l,16),new te(f,16))};W.privateKeyToAsn1=W.privateKeyToRSAPrivateKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,zt(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,zt(t.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,zt(t.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,zt(t.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,zt(t.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,zt(t.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,zt(t.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,zt(t.qInv))])};W.publicKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,lb,e,r)){var n=v.derToOid(e.publicKeyOid);if(n!==W.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!v.validate(t,ub,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=$.util.createBuffer(e.publicKeyModulus).toHex(),o=$.util.createBuffer(e.publicKeyExponent).toHex();return W.setRsaPublicKey(new te(s,16),new te(o,16))};W.publicKeyToAsn1=W.publicKeyToSubjectPublicKeyInfo=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(W.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[W.publicKeyToRSAPublicKey(t)])])};W.publicKeyToRSAPublicKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,zt(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,zt(t.e))])};function t0(t,e,r){var n=$.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=$.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 ks(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),s=$.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>"u")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 db(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){$.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(te.ONE).gcd(t.e).compareTo(te.ONE)!==0){t.p=null,i();return}if(t.q.subtract(te.ONE).gcd(t.e).compareTo(te.ONE)!==0){t.q=null,s(t.qBits,o);return}if(t.p1=t.p.subtract(te.ONE),t.q1=t.q.subtract(te.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(te.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:W.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:W.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function zt(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=$.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function pb(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 Xh(t){return $.util.isNodejs&&typeof Ja[t]=="function"}function Zh(t){return typeof vt.globalScope<"u"&&typeof vt.globalScope.crypto=="object"&&typeof vt.globalScope.crypto.subtle=="object"&&typeof vt.globalScope.crypto.subtle[t]=="function"}function jh(t){return typeof vt.globalScope<"u"&&typeof vt.globalScope.msCrypto=="object"&&typeof vt.globalScope.msCrypto.subtle=="object"&&typeof vt.globalScope.msCrypto.subtle[t]=="function"}function Jh(t){for(var e=$.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var c0=q((sI,a0)=>{var U=fe();za();Ci();hh();zr();Es();yh();wh();Ri();Dh();Os();Le();typeof n0>"u"&&(n0=U.jsbn.BigInteger);var n0,I=U.asn1,Y=U.pki=U.pki||{};a0.exports=Y.pbe=U.pbe=U.pbe||{};var Wr=Y.oids,mb={name:"EncryptedPrivateKeyInfo",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},gb={name:"PBES2Algorithms",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:I.Class.UNIVERSAL,type:I.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},yb={name:"pkcs-12PbeParams",tagClass:I.Class.UNIVERSAL,type:I.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:I.Class.UNIVERSAL,type:I.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:I.Class.UNIVERSAL,type:I.Type.INTEGER,constructed:!1,capture:"iterations"}]};Y.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=U.random.getBytesSync(r.saltSize),i=r.count,s=I.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=Wr["aes128-CBC"],f=U.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,l=Wr["aes192-CBC"],f=U.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,l=Wr["aes256-CBC"],f=U.aes.createEncryptionCipher;break;case"des":o=8,u=8,l=Wr.desCBC,f=U.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=o0(p),m=U.pkcs5.pbkdf2(e,n,i,o,h),g=U.random.getBytesSync(u),y=f(m);y.start(g),y.update(I.toDer(t)),y.finish(),c=y.output.getBytes();var x=xb(n,s,o,p);a=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(Wr.pkcs5PBES2).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(Wr.pkcs5PBKDF2).getBytes()),x]),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(l).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,g)])])])}else if(r.algorithm==="3des"){o=24;var b=new U.util.ByteBuffer(n),m=Y.pbe.generatePkcs12Key(e,b,1,i,o),g=Y.pbe.generatePkcs12Key(e,b,2,i,o),y=U.des.createEncryptionCipher(m);y.start(g),y.update(I.toDer(t)),y.finish(),c=y.output.getBytes(),a=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(Wr["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,n),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,s.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var S=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[a,I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,c)]);return S};Y.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!I.validate(t,mb,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=I.derToOid(n.encryptionOid),a=Y.pbe.getCipher(o,n.encryptionParams,e),c=U.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=I.fromDer(a.output)),r};Y.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:I.toDer(t).getBytes()};return U.pem.encode(r,{maxline:e})};Y.encryptedPrivateKeyFromPem=function(t){var e=U.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 I.fromDer(e.body)};Y.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=Y.wrapRsaPrivateKey(Y.privateKeyToAsn1(t));return n=Y.encryptPrivateKeyInfo(n,e,r),Y.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=U.random.getBytesSync(16),a=U.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=U.random.getBytesSync(8),a=U.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=U.random.getBytesSync(8),a=U.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=U.pbe.opensslDeriveBytes(e,s.substr(0,8),o),l=a(u);l.start(s),l.update(I.toDer(Y.privateKeyToAsn1(t))),l.finish();var f={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:U.util.bytesToHex(s).toUpperCase()},body:l.output.getBytes()};return U.pem.encode(f)};Y.decryptRsaPrivateKey=function(t,e){var r=null,n=U.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=U.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=U.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=U.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=U.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=U.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(f){return U.rc2.createDecryptionCipher(f,40)};break;case"RC2-64-CBC":s=8,o=function(f){return U.rc2.createDecryptionCipher(f,64)};break;case"RC2-128-CBC":s=16,o=function(f){return U.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=U.util.hexToBytes(n.dekInfo.parameters),c=U.pbe.opensslDeriveBytes(e,a.substr(0,8),s),u=o(c);if(u.start(a),u.update(U.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=Y.decryptPrivateKeyInfo(I.fromDer(r),e):r=I.fromDer(r),r!==null&&(r=Y.privateKeyFromAsn1(r)),r};Y.pbe.generatePkcs12Key=function(t,e,r,n,i,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in U.md))throw new Error('"sha1" hash algorithm unavailable.');s=U.md.sha1.create()}var c=s.digestLength,u=s.blockLength,l=new U.util.ByteBuffer,f=new U.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 U.util.ByteBuffer;h.fillWithByte(r,u);var m=u*Math.ceil(p/u),g=new U.util.ByteBuffer;for(a=0;a<m;a++)g.putByte(e.at(a%p));var y=u*Math.ceil(d/u),x=new U.util.ByteBuffer;for(a=0;a<y;a++)x.putByte(f.at(a%d));var b=g;b.putBuffer(x);for(var S=Math.ceil(i/c),E=1;E<=S;E++){var A=new U.util.ByteBuffer;A.putBytes(h.bytes()),A.putBytes(b.bytes());for(var C=0;C<n;C++)s.start(),s.update(A.getBytes()),A=s.digest();var R=new U.util.ByteBuffer;for(a=0;a<u;a++)R.putByte(A.at(a%c));var V=Math.ceil(p/u)+Math.ceil(d/u),G=new U.util.ByteBuffer;for(o=0;o<V;o++){var z=new U.util.ByteBuffer(b.getBytes(u)),j=511;for(a=R.length()-1;a>=0;a--)j=j>>8,j+=R.at(a)+z.at(a),z.setAt(a,j&255);G.putBuffer(z)}b=G,l.putBuffer(A)}return l.truncate(l.length()-i),l};Y.pbe.getCipher=function(t,e,r){switch(t){case Y.oids.pkcs5PBES2:return Y.pbe.getCipherForPBES2(t,e,r);case Y.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case Y.oids["pbewithSHAAnd40BitRC2-CBC"]:return Y.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}};Y.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!I.validate(e,gb,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=I.derToOid(n.kdfOid),t!==Y.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=I.derToOid(n.encOid),t!==Y.oids["aes128-CBC"]&&t!==Y.oids["aes192-CBC"]&&t!==Y.oids["aes256-CBC"]&&t!==Y.oids["des-EDE3-CBC"]&&t!==Y.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=U.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(Y.oids[t]){case"aes128-CBC":c=16,u=U.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=U.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=U.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=U.des.createDecryptionCipher;break;case"desCBC":c=8,u=U.des.createDecryptionCipher;break}var l=s0(n.prfOid),f=U.pkcs5.pbkdf2(r,o,a,c,l),d=n.encIv,p=u(f);return p.start(d),p};Y.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!I.validate(e,yb,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=U.util.createBuffer(n.salt),a=U.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,l;switch(t){case Y.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,l=U.des.startDecrypting;break;case Y.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,l=function(m,g){var y=U.rc2.createDecryptionCipher(m,40);return y.start(g,null),y};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=t,s}var f=s0(n.prfOid),d=Y.pbe.generatePkcs12Key(r,o,1,a,c,f);f.start();var p=Y.pbe.generatePkcs12Key(r,o,2,a,u,f);return l(d,p)};Y.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in U.md))throw new Error('"md5" hash algorithm unavailable.');n=U.md.md5.create()}e===null&&(e="");for(var i=[i0(n,t+e)],s=16,o=1;s<r;++o,s+=16)i.push(i0(n,i[o-1]+t+e));return i.join("").substr(0,r)};function i0(t,e){return t.start().update(e).digest().getBytes()}function s0(t){var e;if(!t)e="hmacWithSHA1";else if(e=Y.oids[I.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return o0(e)}function o0(t){var e=U.md;switch(t){case"hmacWithSHA224":e=U.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 xb(t,e,r,n){var i=I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OCTETSTRING,!1,t),I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(I.create(I.Class.UNIVERSAL,I.Type.INTEGER,!1,U.util.hexToBytes(r.toString(16))),I.create(I.Class.UNIVERSAL,I.Type.SEQUENCE,!0,[I.create(I.Class.UNIVERSAL,I.Type.OID,!1,I.oidToDer(Y.oids[n]).getBytes()),I.create(I.Class.UNIVERSAL,I.Type.NULL,!1,"")])),i}});var Vd=q((KT,qd)=>{var ge=fe();zr();Le();var Gi=qd.exports=ge.sha512=ge.sha512||{};ge.md.sha512=ge.md.algorithms.sha512=Gi;var Fd=ge.sha384=ge.sha512.sha384=ge.sha512.sha384||{};Fd.create=function(){return Gi.create("SHA-384")};ge.md.sha384=ge.md.algorithms.sha384=Fd;ge.sha512.sha256=ge.sha512.sha256||{create:function(){return Gi.create("SHA-512/256")}};ge.md["sha512/256"]=ge.md.algorithms["sha512/256"]=ge.sha512.sha256;ge.sha512.sha224=ge.sha512.sha224||{create:function(){return Gi.create("SHA-512/224")}};ge.md["sha512/224"]=ge.md.algorithms["sha512/224"]=ge.sha512.sha224;Gi.create=function(t){if(Kd||ZE(),typeof t>"u"&&(t="SHA-512"),!(t in an))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=an[t],r=null,n=ge.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=ge.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=ge.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),Md(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=ge.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,l=u&a.blockLength-1;c.putBytes(Tu.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 m=new Array(r.length),h=0;h<r.length;++h)m[h]=r[h].slice(0);Md(m,i,c);var g=ge.util.createBuffer(),y;t==="SHA-512"?y=m.length:t==="SHA-384"?y=m.length-2:y=m.length-4;for(var h=0;h<y;++h)g.putInt32(m[h][0]),(h!==y-1||t!=="SHA-512/224")&&g.putInt32(m[h][1]);return g},a};var Tu=null,Kd=!1,Ru=null,an=null;function ZE(){Tu="\x80",Tu+=ge.util.fillString("\0",128),Ru=[[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]],an={},an["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],an["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],an["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],an["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Kd=!0}function Md(t,e,r){for(var n,i,s,o,a,c,u,l,f,d,p,h,m,g,y,x,b,S,E,A,C,R,V,G,z,j,le,qe,L,k,P,N,T,M,K,H=r.length();H>=128;){for(L=0;L<16;++L)e[L][0]=r.getInt32()>>>0,e[L][1]=r.getInt32()>>>0;for(;L<80;++L)N=e[L-2],k=N[0],P=N[1],n=((k>>>19|P<<13)^(P>>>29|k<<3)^k>>>6)>>>0,i=((k<<13|P>>>19)^(P<<3|k>>>29)^(k<<26|P>>>6))>>>0,M=e[L-15],k=M[0],P=M[1],s=((k>>>1|P<<31)^(k>>>8|P<<24)^k>>>7)>>>0,o=((k<<31|P>>>1)^(k<<24|P>>>8)^(k<<25|P>>>7))>>>0,T=e[L-7],K=e[L-16],P=i+T[1]+o+K[1],e[L][0]=n+T[0]+s+K[0]+(P/4294967296>>>0)>>>0,e[L][1]=P>>>0;for(m=t[0][0],g=t[0][1],y=t[1][0],x=t[1][1],b=t[2][0],S=t[2][1],E=t[3][0],A=t[3][1],C=t[4][0],R=t[4][1],V=t[5][0],G=t[5][1],z=t[6][0],j=t[6][1],le=t[7][0],qe=t[7][1],L=0;L<80;++L)u=((C>>>14|R<<18)^(C>>>18|R<<14)^(R>>>9|C<<23))>>>0,l=((C<<18|R>>>14)^(C<<14|R>>>18)^(R<<23|C>>>9))>>>0,f=(z^C&(V^z))>>>0,d=(j^R&(G^j))>>>0,a=((m>>>28|g<<4)^(g>>>2|m<<30)^(g>>>7|m<<25))>>>0,c=((m<<4|g>>>28)^(g<<30|m>>>2)^(g<<25|m>>>7))>>>0,p=(m&y|b&(m^y))>>>0,h=(g&x|S&(g^x))>>>0,P=qe+l+d+Ru[L][1]+e[L][1],n=le+u+f+Ru[L][0]+e[L][0]+(P/4294967296>>>0)>>>0,i=P>>>0,P=c+h,s=a+p+(P/4294967296>>>0)>>>0,o=P>>>0,le=z,qe=j,z=V,j=G,V=C,G=R,P=A+i,C=E+n+(P/4294967296>>>0)>>>0,R=P>>>0,E=b,A=S,b=y,S=x,y=m,x=g,P=i+o,m=n+s+(P/4294967296>>>0)>>>0,g=P>>>0;P=t[0][1]+g,t[0][0]=t[0][0]+m+(P/4294967296>>>0)>>>0,t[0][1]=P>>>0,P=t[1][1]+x,t[1][0]=t[1][0]+y+(P/4294967296>>>0)>>>0,t[1][1]=P>>>0,P=t[2][1]+S,t[2][0]=t[2][0]+b+(P/4294967296>>>0)>>>0,t[2][1]=P>>>0,P=t[3][1]+A,t[3][0]=t[3][0]+E+(P/4294967296>>>0)>>>0,t[3][1]=P>>>0,P=t[4][1]+R,t[4][0]=t[4][0]+C+(P/4294967296>>>0)>>>0,t[4][1]=P>>>0,P=t[5][1]+G,t[5][0]=t[5][0]+V+(P/4294967296>>>0)>>>0,t[5][1]=P>>>0,P=t[6][1]+j,t[6][0]=t[6][0]+z+(P/4294967296>>>0)>>>0,t[6][1]=P>>>0,P=t[7][1]+qe,t[7][0]=t[7][0]+le+(P/4294967296>>>0)>>>0,t[7][1]=P>>>0,H-=128}}});var Vu=q((t3,mp)=>{var ei=1e3,ti=ei*60,ri=ti*60,ln=ri*24,Sv=ln*7,_v=ln*365.25;mp.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return Iv(t);if(r==="number"&&isFinite(t))return e.long?Tv(t):Cv(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function Iv(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*_v;case"weeks":case"week":case"w":return r*Sv;case"days":case"day":case"d":return r*ln;case"hours":case"hour":case"hrs":case"hr":case"h":return r*ri;case"minutes":case"minute":case"mins":case"min":case"m":return r*ti;case"seconds":case"second":case"secs":case"sec":case"s":return r*ei;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function Cv(t){var e=Math.abs(t);return e>=ln?Math.round(t/ln)+"d":e>=ri?Math.round(t/ri)+"h":e>=ti?Math.round(t/ti)+"m":e>=ei?Math.round(t/ei)+"s":t+"ms"}function Tv(t){var e=Math.abs(t);return e>=ln?uo(t,e,ln,"day"):e>=ri?uo(t,e,ri,"hour"):e>=ti?uo(t,e,ti,"minute"):e>=ei?uo(t,e,ei,"second"):t+" ms"}function uo(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var yp=q((r3,gp)=>{function Rv(t){r.debug=r,r.default=r,r.coerce=c,r.disable=s,r.enable=i,r.enabled=o,r.humanize=Vu(),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 m(...g){if(!m.enabled)return;let y=m,x=Number(new Date),b=x-(f||x);y.diff=b,y.prev=f,y.curr=x,f=x,g[0]=r.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let S=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(A,C)=>{if(A==="%%")return"%";S++;let R=r.formatters[C];if(typeof R=="function"){let V=g[S];A=R.call(y,V),g.splice(S,1),S--}return A}),r.formatArgs.call(y,g),(y.log||r.log).apply(y,g)}return m.namespace=l,m.useColors=r.useColors(),m.color=r.selectColor(l),m.extend=n,m.destroy=r.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(p!==r.namespaces&&(p=r.namespaces,h=r.enabled(l)),h),set:g=>{d=g}}),typeof r.init=="function"&&r.init(m),m}function n(l,f){let d=r(this.namespace+(typeof f>"u"?":":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.slice(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}gp.exports=Rv});var $u=q((bt,lo)=>{bt.formatArgs=Lv;bt.save=Dv;bt.load=Pv;bt.useColors=Bv;bt.storage=Nv();bt.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`."))}})();bt.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 Bv(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Lv(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+lo.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)}bt.log=console.debug||console.log||(()=>{});function Dv(t){try{t?bt.storage.setItem("debug",t):bt.storage.removeItem("debug")}catch{}}function Pv(){let t;try{t=bt.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function Nv(){try{return localStorage}catch{}}lo.exports=yp()(bt);var{formatters:kv}=lo.exports;kv.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var im=q(($L,gl)=>{"use strict";var xA=Object.prototype.hasOwnProperty,st="~";function ns(){}Object.create&&(ns.prototype=Object.create(null),new ns().__proto__||(st=!1));function bA(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function nm(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new bA(r,n||t,i),o=st?st+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 _o(t,e){--t._eventsCount===0?t._events=new ns:delete t._events[e]}function tt(){this._events=new ns,this._eventsCount=0}tt.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)xA.call(r,n)&&e.push(st?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};tt.prototype.listeners=function(e){var r=st?st+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};tt.prototype.listenerCount=function(e){var r=st?st+e:e,n=this._events[r];return n?n.fn?1:n.length:0};tt.prototype.emit=function(e,r,n,i,s,o){var a=st?st+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};tt.prototype.on=function(e,r,n){return nm(this,e,r,n,!1)};tt.prototype.once=function(e,r,n){return nm(this,e,r,n,!0)};tt.prototype.removeListener=function(e,r,n,i){var s=st?st+e:e;if(!this._events[s])return this;if(!r)return _o(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&_o(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:_o(this,s)}return this};tt.prototype.removeAllListeners=function(e){var r;return e?(r=st?st+e:e,this._events[r]&&_o(this,r)):(this._events=new ns,this._eventsCount=0),this};tt.prototype.off=tt.prototype.removeListener;tt.prototype.addListener=tt.prototype.on;tt.prefixed=st;tt.EventEmitter=tt;typeof gl<"u"&&(gl.exports=tt)});var Pl=q((wD,Am)=>{"use strict";function vm(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function UA(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 vm(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),vm(new i,r)}}Am.exports=UA});var Lm=q(ss=>{(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&65280)>>>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(m){throw f=m,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(m){throw f=m,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}(),ss.ip2long=o,ss.long2ip=a,ss.Netmask=t}).call(ss)});var km=q((Nm,zo)=>{(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 m=0,g=-1,y=(p.match(a.zoneIndex)||[])[0],x,b;for(y&&(y=y.substring(1),p=p.replace(/%.+$/,""));(g=p.indexOf(":",g+1))>=0;)m++;if(p.substr(0,2)==="::"&&m--,p.substr(-2,2)==="::"&&m--,m>h)return null;for(b=h-m,x=":";b--;)x+="0:";return p=p.replace("::",x),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),h=function(){let S=p.split(":"),E=[];for(let A=0;A<S.length;A++)E.push(parseInt(S[A],16));return E}(),{parts:h,zoneId:y}}function u(p,h,m,g){if(p.length!==h.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let y=0,x;for(;g>0;){if(x=m-g,x<0&&(x=0),p[y]>>x!==h[y]>>x)return!1;g-=m,y+=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 m,g;for(m=0;m<h.length;m++)if(g=h[m],!(0<=g&&g<=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,18,0,0]),15],[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,m){let g;if(m===void 0&&(g=h,h=g[0],m=g[1]),h.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,h.octets,8,m)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,m=!1,g={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},y,x,b;for(y=3;y>=0;y-=1)if(x=this.octets[y],x in g){if(b=g[x],m&&b!==0)return null;b!==8&&(m=!0),h+=b}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),m=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],x=0;for(;x<4;)y.push(parseInt(m[x],10)|parseInt(g[x],10)^255),x++;return new this(y)}catch{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{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,m,g,y,x;try{for(h=this.parseCIDR(p),g=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],m=0;m<4;)y.push(parseInt(g[m],10)&parseInt(x[m],10)),m++;return new this(y)}catch{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 m=parseInt(h[2]);if(m>=0&&m<=32){let g=[this.parse(h[1]),m];return Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(p){let h,m,g;if(h=p.match(r.fourOctet))return function(){let y=h.slice(1,6),x=[];for(let b=0;b<y.length;b++)m=y[b],x.push(l(m));return x}();if(h=p.match(r.longValue)){if(g=l(h[1]),g>4294967295||g<0)throw new Error("ipaddr: address outside defined range");return function(){let y=[],x;for(x=0;x<=24;x+=8)y.push(g>>x&255);return y}().reverse()}else return(h=p.match(r.twoOctet))?function(){let y=h.slice(1,4),x=[];if(g=l(y[1]),g>16777215||g<0)throw new Error("ipaddr: address outside defined range");return x.push(l(y[0])),x.push(g>>16&255),x.push(g>>8&255),x.push(g&255),x}():(h=p.match(r.threeOctet))?function(){let y=h.slice(1,5),x=[];if(g=l(y[2]),g>65535||g<0)throw new Error("ipaddr: address outside defined range");return x.push(l(y[0])),x.push(l(y[1])),x.push(g>>8&255),x.push(g&255),x}():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],m=0,g=Math.floor(p/8);for(;m<g;)h[m]=255,m++;return g<4&&(h[g]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.IPv6=function(){function p(h,m){let g,y;if(h.length===16)for(this.parts=[],g=0;g<=14;g+=2)this.parts.push(h[g]<<8|h[g+1]);else if(h.length===8)this.parts=h;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(g=0;g<this.parts.length;g++)if(y=this.parts[g],!(0<=y&&y<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");m&&(this.zoneId=m)}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]],benchmarking:[new p([8193,2,0,0,0,0,0,0]),48],amt:[new p([8193,3,0,0,0,0,0,0]),32],as112v6:[new p([8193,4,274,0,0,0,0,0]),48],deprecated:[new p([8193,16,0,0,0,0,0,0]),28],orchid2:[new p([8193,32,0,0,0,0,0,0]),28]},p.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},p.prototype.kind=function(){return"ipv6"},p.prototype.match=function(h,m){let g;if(m===void 0&&(g=h,h=g[0],m=g[1]),h.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,h.parts,16,m)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,m=!1,g={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},y,x;for(let b=7;b>=0;b-=1)if(y=this.parts[b],y in g){if(x=g[y],m&&x!==0)return null;x!==16&&(m=!0),h+=x}else return null;return 128-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){let h,m=[],g=this.parts;for(let y=0;y<g.length;y++)h=g[y],m.push(h>>8),m.push(h&255);return m},p.prototype.toFixedLengthString=function(){let h=function(){let g=[];for(let y=0;y<this.parts.length;y++)g.push(f(this.parts[y].toString(16),4));return g}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),h+m},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),m=h[0],g=h[1];return new d.IPv4([m>>8,m&255,g>>8,g&255])},p.prototype.toNormalizedString=function(){let h=function(){let g=[];for(let y=0;y<this.parts.length;y++)g.push(this.parts[y].toString(16));return g}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),h+m},p.prototype.toRFC5952String=function(){let h=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),g=0,y=-1,x;for(;x=h.exec(m);)x[0].length>y&&(g=x.index,y=x[0].length);return y<0?m:`${m.substring(0,g)}::${m.substring(g+y)}`},p.prototype.toString=function(){return this.toRFC5952String()},p}(),d.IPv6.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),m=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],x=0;for(;x<16;)y.push(parseInt(m[x],10)|parseInt(g[x],10)^255),x++;return new this(y)}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{return!1}},d.IPv6.networkAddressFromCIDR=function(p){let h,m,g,y,x;try{for(h=this.parseCIDR(p),g=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),y=[],m=0;m<16;)y.push(parseInt(g[m],10)&parseInt(x[m],10)),m++;return new this(y)}catch(b){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${b})`)}},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,m,g;if((m=p.match(/^(.+)\/(\d+)$/))&&(h=parseInt(m[2]),h>=0&&h<=128))return g=[this.parse(m[1]),h],Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},d.IPv6.parser=function(p){let h,m,g,y,x,b;if(g=p.match(a.deprecatedTransitional))return this.parser(`::ffff:${g[1]}`);if(a.native.test(p))return c(p,8);if((g=p.match(a.transitional))&&(b=g[6]||"",h=c(g[1].slice(0,-1)+b,6),h.parts)){for(x=[parseInt(g[2]),parseInt(g[3]),parseInt(g[4]),parseInt(g[5])],m=0;m<x.length;m++)if(y=x[m],!(0<=y&&y<=255))return null;return h.parts.push(x[0]<<8|x[1]),h.parts.push(x[2]<<8|x[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],m=0,g=Math.floor(p/8);for(;m<g;)h[m]=255,m++;return g<16&&(h[g]=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{try{return d.IPv4.parseCIDR(p)}catch{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,m){let g,y,x,b;m==null&&(m="unicast");for(y in h)if(Object.prototype.hasOwnProperty.call(h,y)){for(x=h[y],x[0]&&!(x[0]instanceof Array)&&(x=[x]),g=0;g<x.length;g++)if(b=x[g],p.kind()===b[0].kind()&&p.match.apply(p,b))return y}return m},typeof zo<"u"&&zo.exports?zo.exports=d:t.ipaddr=d})(Nm)});var ig=q((VP,ng)=>{"use strict";ng.exports=rg;var lS=Vu(),Kr=rg.prototype,fS=new Date%1e9;function hS(){return(Math.random()*1e9>>>0)+fS++}function rg(t){t=t||{},this.id=t.id||hS(),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)}Kr.has=function(t){return t in this._lookup};Kr.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};Kr.meta=function(t){if(!this.has(t))return null;var e=this._lookup[t];return"meta"in e?e.meta:null};Kr.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};Kr.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};Kr.expire=function(t,e){var r=e||0,n=this._lookup[t];if(!n)return this;if(typeof r=="string"&&(r=lS(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};Kr.clear=function(){for(var t=this.items.length;t--;)this.delete(this.items[t].key);return this};Kr.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 ug=q((QP,cg)=>{"use strict";cg.exports=t=>{if(Object.prototype.toString.call(t)!=="[object Object]")return!1;let e=Object.getPrototypeOf(t);return e===null||e===Object.prototype}});var mg=q((dg,pg)=>{"use strict";var jo=ug(),{hasOwnProperty:fg}=Object.prototype,{propertyIsEnumerable:mS}=Object,mi=(t,e,r)=>Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!0,configurable:!0}),gS=dg,lg={concatArrays:!1,ignoreUndefined:!1},Jo=t=>{let e=[];for(let r in t)fg.call(t,r)&&e.push(r);if(Object.getOwnPropertySymbols){let r=Object.getOwnPropertySymbols(t);for(let n of r)mS.call(t,n)&&e.push(n)}return e};function gi(t){return Array.isArray(t)?yS(t):jo(t)?xS(t):t}function yS(t){let e=t.slice(0,0);return Jo(t).forEach(r=>{mi(e,r,gi(t[r]))}),e}function xS(t){let e=Object.getPrototypeOf(t)===null?Object.create(null):{};return Jo(t).forEach(r=>{mi(e,r,gi(t[r]))}),e}var hg=(t,e,r,n)=>(r.forEach(i=>{typeof e[i]>"u"&&n.ignoreUndefined||(i in t&&t[i]!==Object.getPrototypeOf(t)?mi(t,i,ef(t[i],e[i],n)):mi(t,i,gi(e[i])))}),t),bS=(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++)fg.call(s,a)&&(o.push(String(a)),s===t?mi(n,i++,s[a]):mi(n,i++,gi(s[a])));n=hg(n,s,Jo(s).filter(a=>!o.includes(a)),r)}),n};function ef(t,e,r){return r.concatArrays&&Array.isArray(t)&&Array.isArray(e)?bS(t,e,r):!jo(e)||!jo(t)?gi(e):hg(t,e,Jo(e),r)}pg.exports=function(...t){let e=ef(gi(lg),this!==gS&&this||{},lg),r={_:{}};for(let n of t)if(n!==void 0){if(!jo(n))throw new TypeError("`"+n+"` is not an Option Object");r=ef(r,{_:n},e)}return r._}});var ls=q((sN,xg)=>{xg.exports=class{constructor(e={}){this.points=e.points,this.duration=e.duration,this.blockDuration=e.blockDuration,this.execEvenly=e.execEvenly,this.execEvenlyMinDelayMs=e.execEvenlyMinDelayMs,this.keyPrefix=e.keyPrefix}get points(){return this._points}set points(e){this._points=e>=0?e:4}get duration(){return this._duration}set duration(e){this._duration=typeof e>"u"?1:e}get msDuration(){return this.duration*1e3}get blockDuration(){return this._blockDuration}set blockDuration(e){this._blockDuration=typeof e>"u"?0:e}get msBlockDuration(){return this.blockDuration*1e3}get execEvenly(){return this._execEvenly}set execEvenly(e){this._execEvenly=typeof e>"u"?!1:!!e}get execEvenlyMinDelayMs(){return this._execEvenlyMinDelayMs}set execEvenlyMinDelayMs(e){this._execEvenlyMinDelayMs=typeof e>"u"?Math.ceil(this.msDuration/this.points):e}get keyPrefix(){return this._keyPrefix}set keyPrefix(e){if(typeof e>"u"&&(e="rlflx"),typeof e!="string")throw new Error("keyPrefix must be string");this._keyPrefix=e}_getKeySecDuration(e={}){return e&&e.customDuration>=0?e.customDuration:this.duration}getKey(e){return this.keyPrefix.length>0?`${this.keyPrefix}:${e}`:e}parseKey(e){return e.substring(this.keyPrefix.length)}consume(){throw new Error("You have to implement the method 'consume'!")}penalty(){throw new Error("You have to implement the method 'penalty'!")}reward(){throw new Error("You have to implement the method 'reward'!")}get(){throw new Error("You have to implement the method 'get'!")}set(){throw new Error("You have to implement the method 'set'!")}block(){throw new Error("You have to implement the method 'block'!")}delete(){throw new Error("You have to implement the method 'delete'!")}}});var wg=q((aN,bg)=>{bg.exports=class{constructor(){this._keys={},this._addedKeysAmount=0}collectExpired(){let e=Date.now();Object.keys(this._keys).forEach(r=>{this._keys[r]<=e&&delete this._keys[r]}),this._addedKeysAmount=Object.keys(this._keys).length}add(e,r){this.addMs(e,r*1e3)}addMs(e,r){this._keys[e]=Date.now()+r,this._addedKeysAmount++,this._addedKeysAmount>999&&this.collectExpired()}msBeforeExpire(e){let r=this._keys[e];if(r&&r>=Date.now()){this.collectExpired();let n=Date.now();return r>=n?r-n:0}return 0}delete(e){e?delete this._keys[e]:Object.keys(this._keys).forEach(r=>{delete this._keys[r]})}}});var vg=q((cN,Eg)=>{var ES=wg();Eg.exports=ES});var ht=q((lN,Ag)=>{Ag.exports=class{constructor(e,r,n,i){this.remainingPoints=typeof e>"u"?0:e,this.msBeforeNext=typeof r>"u"?0:r,this.consumedPoints=typeof n>"u"?0:n,this.isFirstInDuration=typeof i>"u"?!1:i}get msBeforeNext(){return this._msBeforeNext}set msBeforeNext(e){return this._msBeforeNext=e,this}get remainingPoints(){return this._remainingPoints}set remainingPoints(e){return this._remainingPoints=e,this}get consumedPoints(){return this._consumedPoints}set consumedPoints(e){return this._consumedPoints=e,this}get isFirstInDuration(){return this._isFirstInDuration}set isFirstInDuration(e){this._isFirstInDuration=!!e}_getDecoratedProperties(){return{remainingPoints:this.remainingPoints,msBeforeNext:this.msBeforeNext,consumedPoints:this.consumedPoints,isFirstInDuration:this.isFirstInDuration}}[Symbol.for("nodejs.util.inspect.custom")](){return this._getDecoratedProperties()}toString(){return JSON.stringify(this._getDecoratedProperties())}toJSON(){return this._getDecoratedProperties()}}});var An=q((hN,_g)=>{var tf=ls(),vS=vg(),Sg=ht();_g.exports=class extends tf{constructor(e={}){super(e),this.inMemoryBlockOnConsumed=e.inMemoryBlockOnConsumed,this.inMemoryBlockDuration=e.inMemoryBlockDuration,this.insuranceLimiter=e.insuranceLimiter,this._inMemoryBlockedKeys=new vS}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("storeClient is not set");this._client=e}_afterConsume(e,r,n,i,s,o={}){let a=this._getRateLimiterRes(n,i,s);if(this.inMemoryBlockOnConsumed>0&&!(this.inMemoryBlockDuration>0)&&a.consumedPoints>=this.inMemoryBlockOnConsumed)return this._inMemoryBlockedKeys.addMs(n,a.msBeforeNext),a.consumedPoints>this.points?r(a):e(a);if(a.consumedPoints>this.points){let c=Promise.resolve();this.blockDuration>0&&a.consumedPoints<=this.points+i&&(a.msBeforeNext=this.msBlockDuration,c=this._block(n,a.consumedPoints,this.msBlockDuration,o)),this.inMemoryBlockOnConsumed>0&&a.consumedPoints>=this.inMemoryBlockOnConsumed&&(this._inMemoryBlockedKeys.add(n,this.inMemoryBlockDuration),a.msBeforeNext=this.msInMemoryBlockDuration),c.then(()=>{r(a)}).catch(u=>{r(u)})}else if(this.execEvenly&&a.msBeforeNext>0&&!a.isFirstInDuration){let c=Math.ceil(a.msBeforeNext/(a.remainingPoints+2));c<this.execEvenlyMinDelayMs&&(c=a.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(e,c,a)}else e(a)}_handleError(e,r,n,i,s,o=!1,a={}){this.insuranceLimiter instanceof tf?this.insuranceLimiter[r](s,o,a).then(c=>{n(c)}).catch(c=>{i(c)}):i(e)}getInMemoryBlockMsBeforeExpire(e){return this.inMemoryBlockOnConsumed>0?this._inMemoryBlockedKeys.msBeforeExpire(e):0}get inMemoryBlockOnConsumed(){return this._inMemoryBlockOnConsumed}set inMemoryBlockOnConsumed(e){if(this._inMemoryBlockOnConsumed=e?parseInt(e):0,this.inMemoryBlockOnConsumed>0&&this.points>this.inMemoryBlockOnConsumed)throw new Error('inMemoryBlockOnConsumed option must be greater or equal "points" option')}get inMemoryBlockDuration(){return this._inMemoryBlockDuration}set inMemoryBlockDuration(e){if(this._inMemoryBlockDuration=e?parseInt(e):0,this.inMemoryBlockDuration>0&&this.inMemoryBlockOnConsumed===0)throw new Error("inMemoryBlockOnConsumed option must be set up")}get msInMemoryBlockDuration(){return this._inMemoryBlockDuration*1e3}get insuranceLimiter(){return this._insuranceLimiter}set insuranceLimiter(e){if(typeof e<"u"&&!(e instanceof tf))throw new Error("insuranceLimiter must be instance of RateLimiterAbstract");this._insuranceLimiter=e,this._insuranceLimiter&&(this._insuranceLimiter.blockDuration=this.blockDuration,this._insuranceLimiter.execEvenly=this.execEvenly)}block(e,r,n={}){let i=r*1e3;return this._block(this.getKey(e),this.points+1,i,n)}set(e,r,n,i={}){let s=(n>=0?n:this.duration)*1e3;return this._block(this.getKey(e),r,s,i)}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(e),a=this.getInMemoryBlockMsBeforeExpire(o);if(a>0)return s(new Sg(0,a));this._upsert(o,r,this._getKeySecDuration(n)*1e3,!1,n).then(c=>{this._afterConsume(i,s,o,r,c)}).catch(c=>{this._handleError(c,"consume",i,s,e,r,n)})})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise((s,o)=>{this._upsert(i,r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,r,a))}).catch(a=>{this._handleError(a,"penalty",s,o,e,r,n)})})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise((s,o)=>{this._upsert(i,-r,this._getKeySecDuration(n)*1e3,!1,n).then(a=>{s(this._getRateLimiterRes(i,-r,a))}).catch(a=>{this._handleError(a,"reward",s,o,e,r,n)})})}get(e,r={}){let n=this.getKey(e);return new Promise((i,s)=>{this._get(n,r).then(o=>{i(o===null||typeof o>"u"?null:this._getRateLimiterRes(n,0,o))}).catch(o=>{this._handleError(o,"get",i,s,e,r)})})}delete(e,r={}){let n=this.getKey(e);return new Promise((i,s)=>{this._delete(n,r).then(o=>{this._inMemoryBlockedKeys.delete(n),i(o)}).catch(o=>{this._handleError(o,"delete",i,s,e,r)})})}deleteInMemoryBlockedAll(){this._inMemoryBlockedKeys.delete()}_getRateLimiterRes(e,r,n){throw new Error("You have to implement the method '_getRateLimiterRes'!")}_block(e,r,n,i={}){return new Promise((s,o)=>{this._upsert(e,r,n,!0,i).then(()=>{s(new Sg(0,n>0?n:-1,r))}).catch(a=>{this._handleError(a,"block",s,o,this.parseKey(e),n/1e3,i)})})}_get(e,r={}){throw new Error("You have to implement the method '_get'!")}_delete(e,r={}){throw new Error("You have to implement the method '_delete'!")}_upsert(e,r,n,i=!1,s={}){throw new Error("You have to implement the method '_upsert'!")}}});var Cg=q((dN,Ig)=>{var AS=An(),SS=ht(),rf="redis.call('set', KEYS[1], 0, 'EX', ARGV[2], 'NX') local consumed = redis.call('incrby', KEYS[1], ARGV[1]) local ttl = redis.call('pttl', KEYS[1]) if ttl == -1 then redis.call('expire', KEYS[1], ARGV[2]) ttl = 1000 * ARGV[2] end return {consumed, ttl} ",nf=class extends AS{constructor(e){super(e),this.client=e.storeClient,this._rejectIfRedisNotReady=!!e.rejectIfRedisNotReady,this.useRedisPackage=e.useRedisPackage||this.client.constructor.name==="Commander"||!1,this.useRedis3AndLowerPackage=e.useRedis3AndLowerPackage,typeof this.client.defineCommand=="function"&&this.client.defineCommand("rlflxIncr",{numberOfKeys:1,lua:rf})}_isRedisReady(){return this._rejectIfRedisNotReady?!(this.client.status&&this.client.status!=="ready"||typeof this.client.isReady=="function"&&!this.client.isReady()):!0}_getRateLimiterRes(e,r,n){let[i,s]=n;Array.isArray(i)&&([,i]=i,[,s]=s);let o=new SS;return o.consumedPoints=parseInt(i),o.isFirstInDuration=o.consumedPoints===r,o.remainingPoints=Math.max(this.points-o.consumedPoints,0),o.msBeforeNext=s,o}async _upsert(e,r,n,i=!1){if(!this._isRedisReady())throw new Error("Redis connection is not ready");let s=Math.floor(n/1e3),o=this.client.multi();return i?(s>0?!this.useRedisPackage&&!this.useRedis3AndLowerPackage?o.set(e,r,"EX",s):o.set(e,r,{EX:s}):o.set(e,r),!this.useRedisPackage&&!this.useRedis3AndLowerPackage?o.pttl(e).exec(!0):o.pTTL(e).exec(!0)):s>0?!this.useRedisPackage&&!this.useRedis3AndLowerPackage?this.client.rlflxIncr([e].concat([String(r),String(s)])):this.useRedis3AndLowerPackage?new Promise((a,c)=>{let u=function(l,f){return l?c(l):a(f)};typeof this.client.rlflxIncr=="function"?this.client.rlflxIncr(e,r,s,u):this.client.eval(rf,1,e,r,s,u)}):this.client.eval(rf,{keys:[e],arguments:[String(r),String(s)]}):!this.useRedisPackage&&!this.useRedis3AndLowerPackage?o.incrby(e,r).pttl(e).exec(!0):o.incrBy(e,r).pTTL(e).exec(!0)}async _get(e){if(!this._isRedisReady())throw new Error("Redis connection is not ready");return!this.useRedisPackage&&!this.useRedis3AndLowerPackage?this.client.multi().get(e).pttl(e).exec().then(r=>{let[[,n]]=r;return n===null?null:r}):this.client.multi().get(e).pTTL(e).exec(!0).then(r=>{let[n]=r;return n===null?null:r})}_delete(e){return this.client.del(e).then(r=>r>0)}};Ig.exports=nf});var Bg=q((pN,Rg)=>{var _S=An(),IS=ht();function Tg(t){try{let e=t.client?t.client:t,{version:r}=e.topology.s.options.metadata.driver,n=r.split(".").map(i=>parseInt(i));return{major:n[0],feature:n[1],patch:n[2]}}catch{return{major:0,feature:0,patch:0}}}var sf=class t extends _S{constructor(e){super(e),this.dbName=e.dbName,this.tableName=e.tableName,this.indexKeyPrefix=e.indexKeyPrefix,e.mongo?this.client=e.mongo:this.client=e.storeClient,typeof this.client.then=="function"?this.client.then(r=>{this.client=r,this._initCollection(),this._driverVersion=Tg(this.client)}):(this._initCollection(),this._driverVersion=Tg(this.client))}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?t.getDbName():e}static getDbName(){return"node-rate-limiter-flexible"}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get client(){return this._client}set client(e){if(typeof e>"u")throw new Error("mongo is not set");this._client=e}get indexKeyPrefix(){return this._indexKeyPrefix}set indexKeyPrefix(e){this._indexKeyPrefix=e||{}}_initCollection(){let r=(typeof this.client.db=="function"?this.client.db(this.dbName):this.client).collection(this.tableName);r.createIndex({expire:-1},{expireAfterSeconds:0}),r.createIndex(Object.assign({},this.indexKeyPrefix,{key:1}),{unique:!0}),this._collection=r}_getRateLimiterRes(e,r,n){let i=new IS,s;return typeof n.value>"u"?s=n:s=n.value,i.isFirstInDuration=s.points===r,i.consumedPoints=s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire!==null?Math.max(new Date(s.expire).getTime()-Date.now(),0):-1,i}_upsert(e,r,n,i=!1,s={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let o=s.attrs||{},a,c;i?(a={key:e},a=Object.assign(a,o),c={$set:{key:e,points:r,expire:n>0?new Date(Date.now()+n):null}},c.$set=Object.assign(c.$set,o)):(a={$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}],key:e},a=Object.assign(a,o),c={$setOnInsert:{key:e,expire:n>0?new Date(Date.now()+n):null},$inc:{points:r}},c.$setOnInsert=Object.assign(c.$setOnInsert,o));let u={upsert:!0};return this._driverVersion.major>=4||this._driverVersion.major===3&&this._driverVersion.feature>=7||this._driverVersion.feature>=6&&this._driverVersion.patch>=7?u.returnDocument="after":u.returnOriginal=!1,new Promise((l,f)=>{this._collection.findOneAndUpdate(a,c,u).then(d=>{l(d)}).catch(d=>{if(d&&d.code===11e3){let p=Object.assign({$or:[{expire:{$lte:new Date}},{expire:{$eq:null}}],key:e},o),h={$set:Object.assign({key:e,points:r,expire:n>0?new Date(Date.now()+n):null},o)};this._collection.findOneAndUpdate(p,h,u).then(m=>{l(m)}).catch(m=>{m&&m.code===11e3?this._upsert(e,r,n,i).then(g=>l(g)).catch(g=>f(g)):f(m)})}else f(d)})})}_get(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e,$or:[{expire:{$gt:new Date}},{expire:{$eq:null}}]},n);return this._collection.findOne(i)}_delete(e,r={}){if(!this._collection)return Promise.reject(Error("Mongo connection is not established"));let n=r.attrs||{},i=Object.assign({key:e},n);return this._collection.deleteOne(i).then(s=>s.deletedCount>0)}};Rg.exports=sf});var Dg=q((mN,Lg)=>{var CS=An(),TS=ht(),of=class extends CS{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.dbName=e.dbName,this.tableName=e.tableName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createDbAndTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}clearExpired(e){return new Promise(r=>{this._getConnection().then(n=>{n.query("DELETE FROM ??.?? WHERE expire < ?",[this.dbName,this.tableName,e],()=>{this._releaseConnection(n),r()})}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return new Promise((e,r)=>{this.client.getConnection((n,i)=>{if(n)return r(n);e(i)})});case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return e.release();case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);default:return!0}}_createDbAndTable(){return new Promise((e,r)=>{this._getConnection().then(n=>{n.query(`CREATE DATABASE IF NOT EXISTS \`${this.dbName}\`;`,i=>{if(i)return this._releaseConnection(n),r(i);n.query(this._getCreateTableStmt(),s=>{if(s)return this._releaseConnection(n),r(s);this._releaseConnection(n),e()})})}).catch(n=>{r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS \`${this.dbName}\`.\`${this.tableName}\` (\`key\` VARCHAR(255) CHARACTER SET utf8 NOT NULL,\`points\` INT(9) NOT NULL default 0,\`expire\` BIGINT UNSIGNED,PRIMARY KEY (\`key\`)) ENGINE = INNODB;`}get clientType(){return this._clientType}set clientType(e){if(typeof e>"u")if(this.client.constructor.name==="Connection")e="connection";else if(this.client.constructor.name==="Pool")e="pool";else if(this.client.constructor.name==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get dbName(){return this._dbName}set dbName(e){this._dbName=typeof e>"u"?"rtlmtrflx":e}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new TS,[s]=n;return i.isFirstInDuration=r===s.points,i.consumedPoints=i.isFirstInDuration?r:s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire?Math.max(s.expire-Date.now(),0):-1,i}_upsertTransaction(e,r,n,i,s){return new Promise((o,a)=>{e.query("BEGIN",c=>{if(c)return e.rollback(),a(c);let u=Date.now(),l=i>0?u+i:null,f,d;s?(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
16
16
|
ON DUPLICATE KEY UPDATE
|
|
17
17
|
points = ?,
|
|
18
18
|
expire = ?;`,d=[this.dbName,this.tableName,r,n,l,n,l]):(f=`INSERT INTO ??.?? VALUES (?, ?, ?)
|
|
19
19
|
ON DUPLICATE KEY UPDATE
|
|
20
20
|
points = IF(expire <= ?, ?, points + (?)),
|
|
21
|
-
expire = IF(expire <= ?, ?, expire);`,d=[this.dbName,this.tableName,r,n,l,u,n,n,u,l]),e.query(f,d,p=>{if(p)return e.rollback(),a(p);e.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(h,m)=>{if(h)return e.rollback(),a(h);e.query("COMMIT",g=>{if(g)return e.rollback(),a(g);o(m)})})})})})}_upsert(e,r,n,i=!1){return this.tableCreated?new Promise((s,o)=>{this._getConnection().then(a=>{this._upsertTransaction(a,e,r,n,i).then(c=>{s(c),this._releaseConnection(a)}).catch(c=>{o(c),this._releaseConnection(a)})}).catch(a=>{o(a)})}):Promise.reject(Error("Table is not created yet"))}_get(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("SELECT points, expire FROM ??.?? WHERE `key` = ? AND (`expire` > ? OR `expire` IS NULL)",[this.dbName,this.tableName,e,Date.now()],(s,o)=>{s?n(s):o.length===0?r(null):r(o),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,e],(s,o)=>{s?n(s):r(o.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}};
|
|
21
|
+
expire = IF(expire <= ?, ?, expire);`,d=[this.dbName,this.tableName,r,n,l,u,n,n,u,l]),e.query(f,d,p=>{if(p)return e.rollback(),a(p);e.query("SELECT points, expire FROM ??.?? WHERE `key` = ?;",[this.dbName,this.tableName,r],(h,m)=>{if(h)return e.rollback(),a(h);e.query("COMMIT",g=>{if(g)return e.rollback(),a(g);o(m)})})})})})}_upsert(e,r,n,i=!1){return this.tableCreated?new Promise((s,o)=>{this._getConnection().then(a=>{this._upsertTransaction(a,e,r,n,i).then(c=>{s(c),this._releaseConnection(a)}).catch(c=>{o(c),this._releaseConnection(a)})}).catch(a=>{o(a)})}):Promise.reject(Error("Table is not created yet"))}_get(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("SELECT points, expire FROM ??.?? WHERE `key` = ? AND (`expire` > ? OR `expire` IS NULL)",[this.dbName,this.tableName,e,Date.now()],(s,o)=>{s?n(s):o.length===0?r(null):r(o),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?new Promise((r,n)=>{this._getConnection().then(i=>{i.query("DELETE FROM ??.?? WHERE `key` = ?",[this.dbName,this.tableName,e],(s,o)=>{s?n(s):r(o.affectedRows>0),this._releaseConnection(i)})}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}};Lg.exports=of});var Ng=q((gN,Pg)=>{var RS=An(),BS=ht(),af=class extends RS{constructor(e,r=null){super(e),this.client=e.storeClient,this.clientType=e.storeType,this.tableName=e.tableName,this.schemaName=e.schemaName,this.clearExpiredByTimeout=e.clearExpiredByTimeout,this.tableCreated=e.tableCreated,this.tableCreated?(this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()):this._createTable().then(()=>{this.tableCreated=!0,this.clearExpiredByTimeout&&this._clearExpiredHourAgo(),typeof r=="function"&&r()}).catch(n=>{if(typeof r=="function")r(n);else throw n})}_getTableIdentifier(){return this.schemaName?`"${this.schemaName}"."${this.tableName}"`:`"${this.tableName}"`}clearExpired(e){return new Promise(r=>{let n={name:"rlflx-clear-expired",text:`DELETE FROM ${this._getTableIdentifier()} WHERE expire < $1`,values:[e]};this._query(n).then(()=>{r()}).catch(()=>{r()})})}_clearExpiredHourAgo(){this._clearExpiredTimeoutId&&clearTimeout(this._clearExpiredTimeoutId),this._clearExpiredTimeoutId=setTimeout(()=>{this.clearExpired(Date.now()-36e5).then(()=>{this._clearExpiredHourAgo()})},3e5),this._clearExpiredTimeoutId.unref()}_getConnection(){switch(this.clientType){case"pool":return Promise.resolve(this.client);case"sequelize":return this.client.connectionManager.getConnection();case"knex":return this.client.client.acquireConnection();case"typeorm":return Promise.resolve(this.client.driver.master);default:return Promise.resolve(this.client)}}_releaseConnection(e){switch(this.clientType){case"pool":return!0;case"sequelize":return this.client.connectionManager.releaseConnection(e);case"knex":return this.client.client.releaseConnection(e);case"typeorm":return!0;default:return!0}}_createTable(){return new Promise((e,r)=>{this._query({text:this._getCreateTableStmt()}).then(()=>{e()}).catch(n=>{n.code==="23505"?e():r(n)})})}_getCreateTableStmt(){return`CREATE TABLE IF NOT EXISTS ${this._getTableIdentifier()} (
|
|
22
22
|
key varchar(255) PRIMARY KEY,
|
|
23
23
|
points integer NOT NULL DEFAULT 0,
|
|
24
24
|
expire bigint
|
|
25
|
-
);`}get clientType(){return this._clientType}set clientType(e){let r=this.client.constructor.name;if(typeof e>"u")if(r==="Client")e="client";else if(r==="Pool"||r==="BoundPool")e="pool";else if(r==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get schemaName(){return this._schemaName}set schemaName(e){this._schemaName=e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new
|
|
25
|
+
);`}get clientType(){return this._clientType}set clientType(e){let r=this.client.constructor.name;if(typeof e>"u")if(r==="Client")e="client";else if(r==="Pool"||r==="BoundPool")e="pool";else if(r==="Sequelize")e="sequelize";else throw new Error("storeType is not defined");this._clientType=e.toLowerCase()}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?this.keyPrefix:e}get schemaName(){return this._schemaName}set schemaName(e){this._schemaName=e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}get clearExpiredByTimeout(){return this._clearExpiredByTimeout}set clearExpiredByTimeout(e){this._clearExpiredByTimeout=typeof e>"u"?!0:!!e}_getRateLimiterRes(e,r,n){let i=new BS,s=n.rows[0];return i.isFirstInDuration=r===s.points,i.consumedPoints=i.isFirstInDuration?r:s.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=s.expire?Math.max(s.expire-Date.now(),0):-1,i}_query(e){let n={name:`${this.tableName.toLowerCase()}:${e.name}`,text:e.text,values:e.values};return new Promise((i,s)=>{this._getConnection().then(o=>{o.query(n).then(a=>{i(a),this._releaseConnection(o)}).catch(a=>{s(a),this._releaseConnection(o)})}).catch(o=>{s(o)})})}_upsert(e,r,n,i=!1){if(!this.tableCreated)return Promise.reject(Error("Table is not created yet"));let s=n>0?Date.now()+n:null,o=i?" $3 ":` CASE
|
|
26
26
|
WHEN ${this._getTableIdentifier()}.expire <= $4 THEN $3
|
|
27
27
|
ELSE ${this._getTableIdentifier()}.expire
|
|
28
28
|
END `;return this._query({name:i?"rlflx-upsert-force":"rlflx-upsert",text:`
|
|
@@ -34,31 +34,31 @@
|
|
|
34
34
|
END,
|
|
35
35
|
expire = ${o}
|
|
36
36
|
RETURNING points, expire;`,values:[e,r,s,Date.now()]})}_get(e){return this.tableCreated?new Promise((r,n)=>{this._query({name:"rlflx-get",text:`
|
|
37
|
-
SELECT points, expire FROM ${this._getTableIdentifier()} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[e,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),r(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this._getTableIdentifier()} WHERE key = $1`,values:[e]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};um.exports=ml});var fm=q(()=>{});var dm=q((w6,hm)=>{hm.exports=class{constructor(e,r,n=null){this.value=e,this.expiresAt=r,this.timeoutId=n}get value(){return this._value}set value(e){this._value=parseInt(e)}get expiresAt(){return this._expiresAt}set expiresAt(e){!(e instanceof Date)&&Number.isInteger(e)&&(e=new Date(e)),this._expiresAt=e}get timeoutId(){return this._timeoutId}set timeoutId(e){this._timeoutId=e}}});var mm=q((v6,pm)=>{var WE=dm(),gl=ft();pm.exports=class{constructor(){this._storage={}}incrby(e,r,n){if(this._storage[e]){let i=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return!this._storage[e].expiresAt||i>0?(this._storage[e].value=this._storage[e].value+r,new gl(0,i,this._storage[e].value,!1)):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let i=n*1e3;return this._storage[e]&&this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),this._storage[e]=new WE(r,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[e].timeoutId=setTimeout(()=>{delete this._storage[e]},i),this._storage[e].timeoutId.unref&&this._storage[e].timeoutId.unref()),new gl(0,i===0?-1:i,this._storage[e].value,!0)}get(e){if(this._storage[e]){let r=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return new gl(0,r,this._storage[e].value,!1)}return null}delete(e){return this._storage[e]?(this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),delete this._storage[e],!0):!1}}});var xl=q((_6,ym)=>{var YE=Qi(),QE=mm(),gm=ft(),yl=class extends YE{constructor(e={}){super(e),this._memoryStorage=new QE}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(e),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(o,r,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+r&&(c=this._memoryStorage.set(o,c.consumedPoints,this.blockDuration)),s(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let u=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));u<this.execEvenlyMinDelayMs&&(u=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,u,c)}else i(c)})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,r,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-r,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}block(e,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(e),i,r),Promise.resolve(new gm(0,n===0?-1:n,i))}set(e,r,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(e),r,n),Promise.resolve(new gm(0,i===0?-1:i,r))}get(e){let r=this._memoryStorage.get(this.getKey(e));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(e){return Promise.resolve(this._memoryStorage.delete(this.getKey(e)))}};ym.exports=yl});var Sm=q((S6,_m)=>{var xm=fm(),XE=yi(),ZE=Qi(),wm=xl(),jE=ft(),Ct="rate_limiter_flexible",ci=null,bm=function(t,e,r,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},t.send({channel:Ct,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},Em=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&Em.call(this,t)},30)},oi=function(t,e,r,n,i){let s={channel:Ct,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(s):Em.call(this,s)},vm=function(t,e){if(!e||e.channel!==Ct||typeof this._rateLimiters[e.keyPrefix]>"u")return!1;let r;switch(e.func){case"consume":r=this._rateLimiters[e.keyPrefix].consume(e.data.key,e.data.arg,e.data.opts);break;case"penalty":r=this._rateLimiters[e.keyPrefix].penalty(e.data.key,e.data.arg,e.data.opts);break;case"reward":r=this._rateLimiters[e.keyPrefix].reward(e.data.key,e.data.arg,e.data.opts);break;case"block":r=this._rateLimiters[e.keyPrefix].block(e.data.key,e.data.arg,e.data.opts);break;case"get":r=this._rateLimiters[e.keyPrefix].get(e.data.key,e.data.opts);break;case"delete":r=this._rateLimiters[e.keyPrefix].delete(e.data.key,e.data.opts);break;default:return!1}r&&r.then(n=>{bm(t,e,"resolve",n)}).catch(n=>{bm(t,e,"reject",n)})},JE=function(t){if(!t||t.channel!==Ct||t.keyPrefix!==this.keyPrefix)return!1;if(this._promises[t.promiseId]){clearTimeout(this._promises[t.promiseId].timeoutId);let e;switch(t.data===null||t.data===!0||t.data===!1?e=t.data:e=new jE(t.data.remainingPoints,t.data.msBeforeNext,t.data.consumedPoints,t.data.isFirstInDuration),t.type){case"resolve":this._promises[t.promiseId].resolve(e);break;case"reject":this._promises[t.promiseId].reject(e);break;default:throw new Error(`RateLimiterCluster: no such message type '${t.type}'`)}delete this._promises[t.promiseId]}},ev=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},ai=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=XE.randomBytes(12).toString("base64")),this._promises[n]={resolve:t,reject:e,timeoutId:setTimeout(()=>{delete this._promises[n],e(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},bl=class{constructor(){if(ci)return ci;this._rateLimiters={},xm.setMaxListeners(0),xm.on("message",(e,r)=>{r&&r.channel===Ct&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new wm(r.opts)),e.send({channel:Ct,type:"init",keyPrefix:r.opts.keyPrefix})):vm.call(this,e,r)}),ci=this}},wl=class{constructor(e){if(ci)return ci;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let s=i.raw;if(s&&s.channel===Ct&&s.type==="init")typeof this._rateLimiters[s.opts.keyPrefix]>"u"&&(this._rateLimiters[s.opts.keyPrefix]=new wm(s.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:Ct,channel:Ct,type:"init",keyPrefix:s.opts.keyPrefix},(o,a)=>{o&&console.log(o,a)});else{let o={send:a=>{let c=a;c.topic=Ct,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};vm.call(this,o,s)}})}),ci=this}},El=class extends ZE{get timeoutMs(){return this._timeoutMs}set timeoutMs(e){this._timeoutMs=typeof e>"u"?5e3:Math.abs(parseInt(e))}constructor(e={}){super(e),process.setMaxListeners(0),this.timeoutMs=e.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===Ct&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:JE.call(this,r)}),process.send({channel:Ct,type:"init",opts:ev.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=ai.call(this,i,s);oi.call(this,"consume",o,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,s)=>{let o=ai.call(this,i,s);oi.call(this,"penalty",o,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,s)=>{let o=ai.call(this,i,s);oi.call(this,"reward",o,e,r,n)})}block(e,r,n={}){return new Promise((i,s)=>{let o=ai.call(this,i,s);oi.call(this,"block",o,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let s=ai.call(this,n,i);oi.call(this,"get",s,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let s=ai.call(this,n,i);oi.call(this,"delete",s,e,r)})}};_m.exports={RateLimiterClusterMaster:bl,RateLimiterClusterMasterPM2:wl,RateLimiterCluster:El}});var Im=q((A6,Am)=>{var tv=yn(),rv=ft(),vl=class extends tv{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new rv;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===r,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(e,r,n,i=!1,s={}){return new Promise((o,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(e,r,u,l=>{l?a(l):this.client.set(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let f={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(f)})}):this.client.incr(e,r,(l,f)=>{l||f===!1?this.client.add(e,r,u,(d,p)=>{if(d||!p)if(typeof s.attemptNumber>"u"||s.attemptNumber<3){let h=Object.assign({},s);h.attemptNumber=h.attemptNumber?h.attemptNumber+1:1,this._upsert(e,r,n,i,h).then(m=>o(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let h={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(h)})}):this.client.get(`${e}_expire`,(d,p)=>{if(d)a(d);else{let h=p===!1?0:p,m={consumedPoints:f,msBeforeNext:h>=0?Math.max(h-c,0):-1};o(m)}})})})}_get(e){return new Promise((r,n)=>{let i=Date.now();this.client.get(e,(s,o)=>{o?this.client.get(`${e}_expire`,(a,c)=>{if(a)n(a);else{let u=c===!1?0:c,l={consumedPoints:o,msBeforeNext:u>=0?Math.max(u-i,0):-1};r(l)}}):r(null)})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,s)=>{i?n(i):s===!1?r(s):this.client.del(`${e}_expire`,o=>{o?n(o):r(s)})})})}};Am.exports=vl});var Rm=q((C6,Tm)=>{var Cm=ft();Tm.exports=class{constructor(e={}){this.limiter=e.limiter,this.blackList=e.blackList,this.whiteList=e.whiteList,this.isBlackListed=e.isBlackListed,this.isWhiteListed=e.isWhiteListed,this.runActionAnyway=e.runActionAnyway}get limiter(){return this._limiter}set limiter(e){if(typeof e>"u")throw new Error("limiter is not set");this._limiter=e}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(e){this._runActionAnyway=typeof e>"u"?!1:e}get blackList(){return this._blackList}set blackList(e){this._blackList=Array.isArray(e)?e:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isBlackListed must be function");this._isBlackListed=e}get whiteList(){return this._whiteList}set whiteList(e){this._whiteList=Array.isArray(e)?e:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=e}isBlackListedSomewhere(e){return this.blackList.indexOf(e)>=0||this.isBlackListed(e)}isWhiteListedSomewhere(e){return this.whiteList.indexOf(e)>=0||this.isWhiteListed(e)}getBlackRes(){return new Cm(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new Cm(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(e,r=1){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(e,r):(this.runActionAnyway&&this.limiter.consume(e,r).catch(()=>{}),n)}block(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(e,r):(this.runActionAnyway&&this.limiter.block(e,r).catch(()=>{}),n)}penalty(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(e,r):(this.runActionAnyway&&this.limiter.penalty(e,r).catch(()=>{}),n)}reward(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(e,r):(this.runActionAnyway&&this.limiter.reward(e,r).catch(()=>{}),n)}get(e){let r;return this.isWhiteListedSomewhere(e)?r=this.resolveWhite():this.isBlackListedSomewhere(e)&&(r=this.resolveBlack()),typeof r>"u"||this.runActionAnyway?this.limiter.get(e):r}delete(e){return this.limiter.delete(e)}}});var Lm=q((R6,Bm)=>{var nv=Qi();Bm.exports=class{constructor(...e){if(e.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");e.forEach(r=>{if(!(r instanceof nv))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=e}consume(e,r=1){return new Promise((n,i)=>{let s=[];this._limiters.forEach(o=>{s.push(o.consume(e,r).catch(a=>({rejected:!0,rej:a})))}),Promise.all(s).then(o=>{let a={},c=!1;o.forEach(u=>{u.rejected===!0&&(c=!0)});for(let u=0;u<o.length;u++)c&&o[u].rejected===!0?a[this._limiters[u].keyPrefix]=o[u].rej:c||(a[this._limiters[u].keyPrefix]=o[u]);c?i(a):n(a)})})}}});var Dm=q((L6,Pm)=>{Pm.exports=class extends Error{constructor(e,r){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=e,r&&(this.extra=r)}}});var Mm=q((D6,Om)=>{var Nm=Dm(),km=4294967295,_l="limiter";Om.exports=class{constructor(e,r={maxQueueSize:km}){this._queueLimiters={KEY_DEFAULT:new Uo(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=_l){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=_l){return this._queueLimiters[r]||(this._queueLimiters[r]=new Uo(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var Uo=class{constructor(e,r={maxQueueSize:km,key:_l}){this._key=r.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(e=>e!==null?e.remainingPoints:this._limiterFlexible.points)}removeTokens(e){let r=this;return new Promise((n,i)=>{if(e>r._limiterFlexible.points){i(new Nm(`Requested tokens ${e} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,e):r._limiterFlexible.consume(r._key,e).then(s=>{n(s.remainingPoints)}).catch(s=>{s instanceof Error?i(s):(r._queueRequest.call(r,n,i,e),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),s.msBeforeNext)))})})}_queueRequest(e,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:e,reject:r,tokens:n}):r(new Nm(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let e=this;if(e._waitTimeout!==null&&(clearTimeout(e._waitTimeout),e._waitTimeout=null),e._queue.length===0)return;let r=e._queue.shift();e._limiterFlexible.consume(e._key,r.tokens).then(n=>{r.resolve(n.remainingPoints),e._processFIFO.call(e)}).catch(n=>{n instanceof Error?(r.reject(n),e._processFIFO.call(e)):(e._queue.unshift(r),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),n.msBeforeNext)))})}}});var Fm=q((k6,Um)=>{var Sl=ft();Um.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return e?new Sl(e.remainingPoints,Math.min(e.msBeforeNext,r?r.msBeforeNext:0),e.consumedPoints,e.isFirstInDuration):null}consume(e,r=1,n={}){return this._rateLimiter.consume(e,r,n).catch(i=>i instanceof Sl?this._burstLimiter.consume(e,r,n).then(s=>Promise.resolve(this._combineRes(i,s))).catch(s=>s instanceof Sl?Promise.reject(this._combineRes(i,s)):Promise.reject(s)):Promise.reject(i))}get(e){return Promise.all([this._rateLimiter.get(e),this._burstLimiter.get(e)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var qm=q((O6,Km)=>{var iv=ft(),sv=yn(),Fo=class{constructor(e,r,n){this.key=e,this.points=r,this.expire=n}},ov=25,av=25,Al=class extends sv{constructor(e,r=null){super(e),this.client=e.storeClient,this.tableName=e.tableName,this.tableCreated=e.tableCreated,this.tableCreated?this._setTTL().finally(()=>{typeof r=="function"&&r()}):this._createTable(e.dynamoTableOpts).then(n=>{this.tableCreated=!0,this._setTTL().finally(()=>{typeof r=="function"&&r()})}).catch(n=>{if(typeof r=="function")r(n);else throw n})}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?"node-rate-limiter-flexible":e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}async _createTable(e){let r={TableName:this.tableName,AttributeDefinitions:[{AttributeName:"key",AttributeType:"S"}],KeySchema:[{AttributeName:"key",KeyType:"HASH"}],ProvisionedThroughput:{ReadCapacityUnits:e&&e.readCapacityUnits?e.readCapacityUnits:ov,WriteCapacityUnits:e&&e.writeCapacityUnits?e.writeCapacityUnits:av}};try{return await this.client.createTable(r)}catch(n){if(n.__type&&n.__type.includes("ResourceInUseException"))return null;throw n}}async _get(e){if(!this.tableCreated)throw new Error("Table is not created yet");let r={TableName:this.tableName,Key:{key:{S:e}}},n=await this.client.getItem(r);return n.Item?new Fo(n.Item.key.S,Number(n.Item.points.N),Number(n.Item.expire.N)):null}async _delete(e){if(!this.tableCreated)throw new Error("Table is not created yet");let r={TableName:this.tableName,Key:{key:{S:e}},ConditionExpression:"attribute_exists(#k)",ExpressionAttributeNames:{"#k":"key"}};try{return(await this._client.deleteItem(r)).$metadata.httpStatusCode===200}catch(n){if(n.__type&&n.__type.includes("ConditionalCheckFailedException"))return!1;throw n}}async _upsert(e,r,n,i=!1,s={}){if(!this.tableCreated)throw new Error("Table is not created yet");let o=Date.now(),a=o/1e3,c=n>0?(o+n)/1e3:-1;if(i)return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:e}},UpdateExpression:"SET points = :points, expire = :expire",ExpressionAttributeValues:{":points":{N:r.toString()},":expire":{N:c.toString()}},ReturnValues:"ALL_NEW"});try{return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:e}},UpdateExpression:"SET points = :new_points, expire = :new_expire",ExpressionAttributeValues:{":new_points":{N:r.toString()},":new_expire":{N:c.toString()},":where_expire":{N:a.toString()}},ConditionExpression:"expire <= :where_expire OR attribute_not_exists(points)",ReturnValues:"ALL_NEW"})}catch{return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:e}},UpdateExpression:"SET points = points + :new_points",ExpressionAttributeValues:{":new_points":{N:r.toString()},":where_expire":{N:a.toString()}},ConditionExpression:"expire > :where_expire",ReturnValues:"ALL_NEW"})}}async _baseUpsert(e){if(!this.tableCreated)throw new Error("Table is not created yet");try{let r=await this.client.updateItem(e);return new Fo(r.Attributes.key.S,Number(r.Attributes.points.N),Number(r.Attributes.expire.N))}catch(r){throw r}}async _setTTL(){if(!this.tableCreated)throw new Error("Table is not created yet");try{if(await this._isTTLSet())return;let r={TableName:this.tableName,TimeToLiveSpecification:{AttributeName:"expire",Enabled:!0}};return await this.client.updateTimeToLive(r)}catch(e){throw e}}async _isTTLSet(){if(!this.tableCreated)throw new Error("Table is not created yet");try{let e=await this.client.describeTimeToLive({TableName:this.tableName});return e.$metadata.httpStatusCode==200&&e.TimeToLiveDescription.TimeToLiveStatus==="ENABLED"&&e.TimeToLiveDescription.AttributeName==="expire"}catch(e){throw e}}_getRateLimiterRes(e,r,n){let i=new iv;return i.isFirstInDuration=r===n.points,i.consumedPoints=i.isFirstInDuration?r:n.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.expire!=-1?Math.max(n.expire*1e3-Date.now(),0):-1,i}};Km.exports=Al});var $m=q((M6,Vm)=>{var cv=nm(),uv=om(),lv=cm(),fv=lm(),{RateLimiterClusterMaster:hv,RateLimiterClusterMasterPM2:dv,RateLimiterCluster:pv}=Sm(),mv=xl(),gv=Im(),yv=Rm(),xv=Lm(),bv=Mm(),wv=Fm(),Ev=ft(),vv=qm();Vm.exports={RateLimiterRedis:cv,RateLimiterMongo:uv,RateLimiterMySQL:lv,RateLimiterPostgres:fv,RateLimiterMemory:mv,RateLimiterMemcache:gv,RateLimiterClusterMaster:hv,RateLimiterClusterMasterPM2:dv,RateLimiterCluster:pv,RLWrapperBlackAndWhite:yv,RateLimiterUnion:xv,RateLimiterQueue:bv,BurstyRateLimiter:wv,RateLimiterRes:Ev,RateLimiterDynamo:vv}});var Qv={};ke(Qv,{createLibp2p:()=>Yv});var _8=we(gi(),1),S8=we(yh(),1);var xh=Symbol.for("@libp2p/connection");var Ma=Symbol.for("@libp2p/content-routing");var Ua=Symbol.for("@libp2p/peer-discovery");var Fa=Symbol.for("@libp2p/peer-id");function vs(t){return t!=null&&!!t[Fa]}var Ka=Symbol.for("@libp2p/peer-routing");var bh="keep-alive";var wh;(function(t){t.Accept="accept",t.Ignore="ignore",t.Reject="reject"})(wh||(wh={}));var B_=Symbol.for("@libp2p/transport");var Er;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(Er||(Er={}));var Cn=class t extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=t.code,this.type=t.type}static code="ABORT_ERR";static type="aborted"},S=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var _s="ERR_TIMEOUT",qa="ERR_INVALID_PARAMETERS";var wi=class extends EventTarget{#e=new Map;listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:s})=>s!==r),this.#e.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new $a(e,r))}},Va=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},$a=globalThis.CustomEvent??Va;var ht=(t,...e)=>{try{[...e]}catch{}};function Eh(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var H2=we(le(),1);function zr(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var Ya={};ke(Ya,{base10:()=>e1});function Qx(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 m=0,g=0,y=0,x=h.length;y!==x&&h[y]===0;)y++,m++;for(var b=(x-y)*l+1>>>0,I=new Uint8Array(b);y!==x;){for(var v=h[y],_=0,P=b-1;(v!==0||_<g)&&P!==-1;P--,_++)v+=256*I[P]>>>0,I[P]=v%a>>>0,v=v/a>>>0;if(v!==0)throw new Error("Non-zero carry");g=_,y++}for(var D=b-g;D!==b&&I[D]===0;)D++;for(var H=c.repeat(m);D<b;++D)H+=t.charAt(I[D]);return H}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var m=0;if(h[m]!==" "){for(var g=0,y=0;h[m]===c;)g++,m++;for(var x=(h.length-m)*u+1>>>0,b=new Uint8Array(x);h[m];){var I=r[h.charCodeAt(m)];if(I===255)return;for(var v=0,_=x-1;(I!==0||v<y)&&_!==-1;_--,v++)I+=a*b[_]>>>0,b[_]=I%256>>>0,I=I/256>>>0;if(I!==0)throw new Error("Non-zero carry");y=v,m++}if(h[m]!==" "){for(var P=x-y;P!==x&&b[P]===0;)P++;for(var D=new Uint8Array(g+(x-P)),H=g;P!==x;)D[H++]=b[P++];return D}}}function p(h){var m=d(h);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:d,decode:p}}var Xx=Qx,Zx=Xx,vh=Zx;var lS=new Uint8Array(0);var _h=(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},rr=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")};var Sh=t=>new TextEncoder().encode(t),Ah=t=>new TextDecoder().decode(t);var za=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")}},Ha=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return Ch(this,e)}},Ga=class{constructor(e){this.decoders=e}or(e){return Ch(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`)}},Ch=(t,e)=>new Ga({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Wa=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new za(e,r,n),this.decoder=new Ha(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Tn=({name:t,prefix:e,encode:r,decode:n})=>new Wa(t,e,r,n),vr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=vh(r,e);return Tn({prefix:t,name:e,encode:n,decode:s=>rr(i(s))})},jx=(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},Jx=(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},_e=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Tn({prefix:e,name:t,encode(i){return Jx(i,n,r)},decode(i){return jx(i,n,r,t)}});var e1=vr({prefix:"9",name:"base10",alphabet:"0123456789"});var Qa={};ke(Qa,{base16:()=>t1,base16upper:()=>r1});var t1=_e({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),r1=_e({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Xa={};ke(Xa,{base2:()=>n1});var n1=_e({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Za={};ke(Za,{base256emoji:()=>c1});var Th=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),i1=Th.reduce((t,e,r)=>(t[r]=e,t),[]),s1=Th.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function o1(t){return t.reduce((e,r)=>(e+=i1[r],e),"")}function a1(t){let e=[];for(let r of t){let n=s1[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var c1=Tn({prefix:"\u{1F680}",name:"base256emoji",encode:o1,decode:a1});var ja={};ke(ja,{base32:()=>dt,base32hex:()=>h1,base32hexpad:()=>p1,base32hexpadupper:()=>m1,base32hexupper:()=>d1,base32pad:()=>l1,base32padupper:()=>f1,base32upper:()=>u1,base32z:()=>g1});var dt=_e({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),u1=_e({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),l1=_e({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),f1=_e({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),h1=_e({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),d1=_e({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),p1=_e({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),m1=_e({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),g1=_e({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ja={};ke(Ja,{base36:()=>y1,base36upper:()=>x1});var y1=vr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),x1=vr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var ec={};ke(ec,{base58btc:()=>Ee,base58flickr:()=>b1});var Ee=vr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),b1=vr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var rc={};ke(rc,{base64:()=>Rn,base64pad:()=>w1,base64url:()=>tc,base64urlpad:()=>E1});var Rn=_e({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),w1=_e({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),tc=_e({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),E1=_e({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var nc={};ke(nc,{base8:()=>v1});var v1=_e({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var ic={};ke(ic,{identity:()=>_1});var _1=Tn({prefix:"\0",name:"identity",encode:t=>Ah(t),decode:t=>Sh(t)});var AS=new TextEncoder,IS=new TextDecoder;var oc={};ke(oc,{identity:()=>_r});var I1=Lh,Rh=128,C1=127,T1=~C1,R1=Math.pow(2,31);function Lh(t,e,r){e=e||[],r=r||0;for(var n=r;t>=R1;)e[r++]=t&255|Rh,t/=128;for(;t&T1;)e[r++]=t&255|Rh,t>>>=7;return e[r]=t|0,Lh.bytes=r-n+1,e}var B1=sc,L1=128,Bh=127;function sc(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a)throw sc.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&Bh)<<i:(o&Bh)*Math.pow(2,i),i+=7}while(o>=L1);return sc.bytes=s-n,r}var P1=Math.pow(2,7),D1=Math.pow(2,14),N1=Math.pow(2,21),k1=Math.pow(2,28),O1=Math.pow(2,35),M1=Math.pow(2,42),U1=Math.pow(2,49),F1=Math.pow(2,56),K1=Math.pow(2,63),q1=function(t){return t<P1?1:t<D1?2:t<N1?3:t<k1?4:t<O1?5:t<M1?6:t<U1?7:t<F1?8:t<K1?9:10},V1={encode:I1,decode:B1,encodingLength:q1},$1=V1,Ei=$1;var vi=(t,e=0)=>[Ei.decode(t,e),Ei.decode.bytes],Bn=(t,e,r=0)=>(Ei.encode(t,e,r),e),Ln=t=>Ei.encodingLength(t);var Ht=(t,e)=>{let r=e.byteLength,n=Ln(t),i=n+Ln(r),s=new Uint8Array(i+r);return Bn(t,s,0),Bn(r,s,n),s.set(e,i),new Pn(t,r,e,s)},Hr=t=>{let e=rr(t),[r,n]=vi(e),[i,s]=vi(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new Pn(r,i,o,e)},Ph=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&_h(t.bytes,r.bytes)}},Pn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Dh=0,z1="identity",Nh=rr,H1=t=>Ht(Dh,Nh(t)),_r={code:Dh,name:z1,encode:Nh,digest:H1};var uc={};ke(uc,{sha256:()=>$e,sha512:()=>G1});var cc=({name:t,code:e,encode:r})=>new ac(t,e,r),ac=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?Ht(this.code,r):r.then(n=>Ht(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Oh=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),$e=cc({name:"sha2-256",code:18,encode:Oh("SHA-256")}),G1=cc({name:"sha2-512",code:19,encode:Oh("SHA-512")});var Mh=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return Y1(r,lc(t),e||Ee.encoder);default:return Q1(r,lc(t),e||dt.encoder)}};var Uh=new WeakMap,lc=t=>{let e=Uh.get(t);if(e==null){let r=new Map;return Uh.set(t,r),r}return e},Bt=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==_i)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==X1)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Ht(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&Ph(e.multihash,n.multihash)}toString(e){return Mh(this,e)}toJSON(){return{"/":Mh(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:s,bytes:o}=r;return new t(n,i,s,o||Fh(n,i,s.bytes))}else if(r[Z1]===!0){let{version:n,multihash:i,code:s}=r,o=Hr(i);return t.create(n,s,o)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==_i)throw new Error(`Version 0 CID must use dag-pb (code: ${_i}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=Fh(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,_i,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=rr(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 Pn(r.multihashCode,r.digestSize,s,i);return[r.version===0?t.createV0(o):t.createV1(r.codec,o),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,d]=vi(e.subarray(r));return r+=d,f},i=n(),s=_i;if(i===18?(i=0,r=0):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]=W1(e,r),s=t.decode(i);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return lc(s).set(n,e),s}},W1=(t,e)=>{switch(t[0]){case"Q":{let r=e||Ee;return[Ee.prefix,r.decode(`${Ee.prefix}${t}`)]}case Ee.prefix:{let r=e||Ee;return[Ee.prefix,r.decode(t)]}case dt.prefix:{let r=e||dt;return[dt.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)]}}},Y1=(t,e,r)=>{let{prefix:n}=r;if(n!==Ee.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},Q1=(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},_i=112,X1=18,Fh=(t,e,r)=>{let n=Ln(t),i=n+Ln(e),s=new Uint8Array(i+r.byteLength);return Bn(t,s,0),Bn(e,s,n),s.set(r,i),s},Z1=Symbol.for("@ipld/js-cid/CID");var de={...ic,...Xa,...nc,...Ya,...Qa,...ja,...Ja,...ec,...rc,...Za},VS={...uc,...oc};function As(t=0){return globalThis.Buffer?.allocUnsafe!=null?zr(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function qh(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Kh=qh("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),fc=qh("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=As(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),j1={utf8:Kh,"utf-8":Kh,hex:de.base16,latin1:fc,ascii:fc,binary:fc,...de},Is=j1;function pt(t,e="utf8"){let r=Is[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?zr(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var zc={};ke(zc,{Ed25519PrivateKey:()=>en,Ed25519PublicKey:()=>Li,generateKeyPair:()=>m2,generateKeyPairFromSeed:()=>A0,unmarshalEd25519PrivateKey:()=>d2,unmarshalEd25519PublicKey:()=>p2});function Gt(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 iA=we(Re(),1),sA=we(xs(),1),Vh=we(le(),1);function Wr(t,e){if(globalThis.Buffer!=null)return zr(globalThis.Buffer.concat(t,e));e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=As(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return zr(r)}function mt(t,e="utf8"){let r=Is[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}function Lt(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Wr([new Uint8Array(e-r.length),r])}return mt(r,"base64url")}function gt(t){let e=$h(t);return new Vh.default.jsbn.BigInteger(mt(e,"base16"),16)}function $h(t,e){let r=pt(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Wr([new Uint8Array(e-r.length),r])}return r}function vt(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}function zh(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function J1(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function hc(t,...e){if(!J1(t))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function Hh(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");zh(t.outputLen),zh(t.blockLen)}function Dn(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function Gh(t,e){hc(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Cs=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function Wh(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var Ts=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Pt=(t,e)=>t<<32-e|t>>>e,eb=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!eb)throw new Error("Non little-endian hardware is not supported");function dc(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Si(t){if(typeof t=="string"&&(t=dc(t)),!Wh(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function Rs(...t){let e=0;for(let n=0;n<t.length;n++){let i=t[n];if(!Wh(i))throw new Error("Uint8Array expected");e+=i.length}let 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 Nn=class{clone(){return this._cloneInto()}},dA={}.toString;function Bs(t){let e=n=>t().update(Si(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function kn(t=32){if(Cs&&typeof Cs.getRandomValues=="function")return Cs.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function tb(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let i=BigInt(32),s=BigInt(4294967295),o=Number(r>>i&s),a=Number(r&s),c=n?4:0,u=n?0:4;t.setUint32(e+c,o,n),t.setUint32(e+u,a,n)}var On=class extends Nn{constructor(e,r,n,i){super(),this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Ts(this.buffer)}update(e){Dn(this);let{view:r,buffer:n,blockLen:i}=this;e=Si(e);let s=e.length;for(let o=0;o<s;){let a=Math.min(i-this.pos,s-o);if(a===i){let c=Ts(e);for(;i<=s-o;o+=i)this.process(c,o);continue}n.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Dn(this),Gh(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:s}=this,{pos:o}=this;r[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>i-o&&(this.process(n,0),o=0);for(let f=o;f<i;f++)r[f]=0;tb(n,i-8,BigInt(this.length*8),s),this.process(n,0);let a=Ts(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)a.setUint32(4*f,l[f],s)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:s,destroyed:o,pos:a}=this;return e.length=i,e.pos=a,e.finished=s,e.destroyed=o,i%r&&e.buffer.set(n),e}};var Ls=BigInt(4294967295),pc=BigInt(32);function Yh(t,e=!1){return e?{h:Number(t&Ls),l:Number(t>>pc&Ls)}:{h:Number(t>>pc&Ls)|0,l:Number(t&Ls)|0}}function rb(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;i<t.length;i++){let{h:s,l:o}=Yh(t[i],e);[r[i],n[i]]=[s,o]}return[r,n]}var nb=(t,e)=>BigInt(t>>>0)<<pc|BigInt(e>>>0),ib=(t,e,r)=>t>>>r,sb=(t,e,r)=>t<<32-r|e>>>r,ob=(t,e,r)=>t>>>r|e<<32-r,ab=(t,e,r)=>t<<32-r|e>>>r,cb=(t,e,r)=>t<<64-r|e>>>r-32,ub=(t,e,r)=>t>>>r-32|e<<64-r,lb=(t,e)=>e,fb=(t,e)=>t,hb=(t,e,r)=>t<<r|e>>>32-r,db=(t,e,r)=>e<<r|t>>>32-r,pb=(t,e,r)=>e<<r-32|t>>>64-r,mb=(t,e,r)=>t<<r-32|e>>>64-r;function gb(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var yb=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),xb=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,bb=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),wb=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,Eb=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),vb=(t,e,r,n,i,s)=>e+r+n+i+s+(t/2**32|0)|0;var _b={fromBig:Yh,split:rb,toBig:nb,shrSH:ib,shrSL:sb,rotrSH:ob,rotrSL:ab,rotrBH:cb,rotrBL:ub,rotr32H:lb,rotr32L:fb,rotlSH:hb,rotlSL:db,rotlBH:pb,rotlBL:mb,add:gb,add3L:yb,add3H:xb,add4L:bb,add4H:wb,add5H:vb,add5L:Eb},Q=_b;var[Sb,Ab]=Q.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),Sr=new Uint32Array(80),Ar=new Uint32Array(80),mc=class extends On{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:r,Bh:n,Bl:i,Ch:s,Cl:o,Dh:a,Dl:c,Eh:u,El:l,Fh:f,Fl:d,Gh:p,Gl:h,Hh:m,Hl:g}=this;return[e,r,n,i,s,o,a,c,u,l,f,d,p,h,m,g]}set(e,r,n,i,s,o,a,c,u,l,f,d,p,h,m,g){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=s|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=f|0,this.Fl=d|0,this.Gh=p|0,this.Gl=h|0,this.Hh=m|0,this.Hl=g|0}process(e,r){for(let b=0;b<16;b++,r+=4)Sr[b]=e.getUint32(r),Ar[b]=e.getUint32(r+=4);for(let b=16;b<80;b++){let I=Sr[b-15]|0,v=Ar[b-15]|0,_=Q.rotrSH(I,v,1)^Q.rotrSH(I,v,8)^Q.shrSH(I,v,7),P=Q.rotrSL(I,v,1)^Q.rotrSL(I,v,8)^Q.shrSL(I,v,7),D=Sr[b-2]|0,H=Ar[b-2]|0,G=Q.rotrSH(D,H,19)^Q.rotrBH(D,H,61)^Q.shrSH(D,H,6),$=Q.rotrSL(D,H,19)^Q.rotrBL(D,H,61)^Q.shrSL(D,H,6),j=Q.add4L(P,$,Ar[b-7],Ar[b-16]),ue=Q.add4H(j,_,G,Sr[b-7],Sr[b-16]);Sr[b]=ue|0,Ar[b]=j|0}let{Ah:n,Al:i,Bh:s,Bl:o,Ch:a,Cl:c,Dh:u,Dl:l,Eh:f,El:d,Fh:p,Fl:h,Gh:m,Gl:g,Hh:y,Hl:x}=this;for(let b=0;b<80;b++){let I=Q.rotrSH(f,d,14)^Q.rotrSH(f,d,18)^Q.rotrBH(f,d,41),v=Q.rotrSL(f,d,14)^Q.rotrSL(f,d,18)^Q.rotrBL(f,d,41),_=f&p^~f&m,P=d&h^~d&g,D=Q.add5L(x,v,P,Ab[b],Ar[b]),H=Q.add5H(D,y,I,_,Sb[b],Sr[b]),G=D|0,$=Q.rotrSH(n,i,28)^Q.rotrBH(n,i,34)^Q.rotrBH(n,i,39),j=Q.rotrSL(n,i,28)^Q.rotrBL(n,i,34)^Q.rotrBL(n,i,39),ue=n&s^n&a^s&a,Ke=i&o^i&c^o&c;y=m|0,x=g|0,m=p|0,g=h|0,p=f|0,h=d|0,{h:f,l:d}=Q.add(u|0,l|0,H|0,G|0),u=a|0,l=c|0,a=s|0,c=o|0,s=n|0,o=i|0;let R=Q.add3L(G,j,Ke);n=Q.add3H(R,H,$,ue),i=R|0}({h:n,l:i}=Q.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:s,l:o}=Q.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:a,l:c}=Q.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l}=Q.add(this.Dh|0,this.Dl|0,u|0,l|0),{h:f,l:d}=Q.add(this.Eh|0,this.El|0,f|0,d|0),{h:p,l:h}=Q.add(this.Fh|0,this.Fl|0,p|0,h|0),{h:m,l:g}=Q.add(this.Gh|0,this.Gl|0,m|0,g|0),{h:y,l:x}=Q.add(this.Hh|0,this.Hl|0,y|0,x|0),this.set(n,i,s,o,a,c,u,l,f,d,p,h,m,g,y,x)}roundClean(){Sr.fill(0),Ar.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var gc=Bs(()=>new mc);var Ds={};ke(Ds,{bitGet:()=>Pb,bitLen:()=>Lb,bitMask:()=>Ai,bitSet:()=>Db,bytesToHex:()=>ir,bytesToNumberBE:()=>sr,bytesToNumberLE:()=>Ir,concatBytes:()=>or,createHmacDrbg:()=>bc,ensureBytes:()=>Se,equalBytes:()=>Rb,hexToBytes:()=>Yr,hexToNumber:()=>xc,isBytes:()=>Dt,numberToBytesBE:()=>Cr,numberToBytesLE:()=>Qr,numberToHexUnpadded:()=>jh,numberToVarBytesBE:()=>Tb,utf8ToBytes:()=>Bb,validateObject:()=>Wt});var Zh=BigInt(0),Ps=BigInt(1),Ib=BigInt(2);function Dt(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var Cb=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function ir(t){if(!Dt(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=Cb[t[r]];return e}function jh(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function xc(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}var nr={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function Qh(t){if(t>=nr._0&&t<=nr._9)return t-nr._0;if(t>=nr._A&&t<=nr._F)return t-(nr._A-10);if(t>=nr._a&&t<=nr._f)return t-(nr._a-10)}function Yr(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length,r=e/2;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(r);for(let i=0,s=0;i<r;i++,s+=2){let o=Qh(t.charCodeAt(s)),a=Qh(t.charCodeAt(s+1));if(o===void 0||a===void 0){let c=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[i]=o*16+a}return n}function sr(t){return xc(ir(t))}function Ir(t){if(!Dt(t))throw new Error("Uint8Array expected");return xc(ir(Uint8Array.from(t).reverse()))}function Cr(t,e){return Yr(t.toString(16).padStart(e*2,"0"))}function Qr(t,e){return Cr(t,e).reverse()}function Tb(t){return Yr(jh(t))}function Se(t,e,r){let n;if(typeof e=="string")try{n=Yr(e)}catch(s){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${s}`)}else if(Dt(e))n=Uint8Array.from(e);else throw new Error(`${t} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${t} expected ${r} bytes, got ${i}`);return n}function or(...t){let e=0;for(let i=0;i<t.length;i++){let s=t[i];if(!Dt(s))throw new Error("Uint8Array expected");e+=s.length}let r=new Uint8Array(e),n=0;for(let i=0;i<t.length;i++){let s=t[i];r.set(s,n),n+=s.length}return r}function Rb(t,e){if(t.length!==e.length)return!1;let r=0;for(let n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}function Bb(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Lb(t){let e;for(e=0;t>Zh;t>>=Ps,e+=1);return e}function Pb(t,e){return t>>BigInt(e)&Ps}var Db=(t,e,r)=>t|(r?Ps:Zh)<<BigInt(e),Ai=t=>(Ib<<BigInt(t-1))-Ps,yc=t=>new Uint8Array(t),Xh=t=>Uint8Array.from(t);function bc(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=yc(t),i=yc(t),s=0,o=()=>{n.fill(1),i.fill(0),s=0},a=(...f)=>r(i,n,...f),c=(f=yc())=>{i=a(Xh([0]),f),n=a(),f.length!==0&&(i=a(Xh([1]),f),n=a())},u=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let f=0,d=[];for(;f<e;){n=a();let p=n.slice();d.push(p),f+=n.length}return or(...d)};return(f,d)=>{o(),c(f);let p;for(;!(p=d(u()));)c();return o(),p}}var Nb={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||Dt(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function Wt(t,e,r={}){let n=(i,s,o)=>{let a=Nb[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);let c=t[i];if(!(o&&c===void 0)&&!a(c,t))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${s}`)};for(let[i,s]of Object.entries(e))n(i,s,!1);for(let[i,s]of Object.entries(r))n(i,s,!0);return t}var Pe=BigInt(0),ye=BigInt(1),Xr=BigInt(2),kb=BigInt(3),wc=BigInt(4),Jh=BigInt(5),e0=BigInt(8),Ob=BigInt(9),Mb=BigInt(16);function fe(t,e){let r=t%e;return r>=Pe?r:e+r}function Ub(t,e,r){if(r<=Pe||e<Pe)throw new Error("Expected power/modulo > 0");if(r===ye)return Pe;let n=ye;for(;e>Pe;)e&ye&&(n=n*t%r),t=t*t%r,e>>=ye;return n}function xe(t,e,r){let n=t;for(;e-- >Pe;)n*=n,n%=r;return n}function Ns(t,e){if(t===Pe||e<=Pe)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=fe(t,e),n=e,i=Pe,s=ye,o=ye,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!==ye)throw new Error("invert: does not exist");return fe(i,e)}function Fb(t){let e=(t-ye)/Xr,r,n,i;for(r=t-ye,n=0;r%Xr===Pe;r/=Xr,n++);for(i=Xr;i<t&&Ub(i,e,t)!==t-ye;i++);if(n===1){let o=(t+ye)/wc;return function(c,u){let l=c.pow(u,o);if(!c.eql(c.sqr(l),u))throw new Error("Cannot find square root");return l}}let s=(r+ye)/Xr;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,l=a.pow(a.mul(a.ONE,i),r),f=a.pow(c,s),d=a.pow(c,r);for(;!a.eql(d,a.ONE);){if(a.eql(d,a.ZERO))return a.ZERO;let p=1;for(let m=a.sqr(d);p<u&&!a.eql(m,a.ONE);p++)m=a.sqr(m);let h=a.pow(l,ye<<BigInt(u-p-1));l=a.sqr(h),f=a.mul(f,h),d=a.mul(d,l),u=p}return f}}function Kb(t){if(t%wc===kb){let e=(t+ye)/wc;return function(n,i){let s=n.pow(i,e);if(!n.eql(n.sqr(s),i))throw new Error("Cannot find square root");return s}}if(t%e0===Jh){let e=(t-Jh)/e0;return function(n,i){let s=n.mul(i,Xr),o=n.pow(s,e),a=n.mul(i,o),c=n.mul(n.mul(a,Xr),o),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),i))throw new Error("Cannot find square root");return u}}return t%Mb,Fb(t)}var t0=(t,e)=>(fe(t,e)&ye)===ye,qb=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Ec(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=qb.reduce((n,i)=>(n[i]="function",n),e);return Wt(t,r)}function Vb(t,e,r){if(r<Pe)throw new Error("Expected power > 0");if(r===Pe)return t.ONE;if(r===ye)return e;let n=t.ONE,i=e;for(;r>Pe;)r&ye&&(n=t.mul(n,i)),i=t.sqr(i),r>>=ye;return n}function $b(t,e){let r=new Array(e.length),n=e.reduce((s,o,a)=>t.is0(o)?s:(r[a]=s,t.mul(s,o)),t.ONE),i=t.inv(n);return e.reduceRight((s,o,a)=>t.is0(o)?s:(r[a]=t.mul(s,r[a]),t.mul(s,o)),i),r}function vc(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function ks(t,e,r=!1,n={}){if(t<=Pe)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:s}=vc(t,e);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=Kb(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:s,MASK:Ai(i),ZERO:Pe,ONE:ye,create:c=>fe(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Pe<=c&&c<t},is0:c=>c===Pe,isOdd:c=>(c&ye)===ye,neg:c=>fe(-c,t),eql:(c,u)=>c===u,sqr:c=>fe(c*c,t),add:(c,u)=>fe(c+u,t),sub:(c,u)=>fe(c-u,t),mul:(c,u)=>fe(c*u,t),pow:(c,u)=>Vb(a,c,u),div:(c,u)=>fe(c*Ns(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Ns(c,t),sqrt:n.sqrt||(c=>o(a,c)),invertBatch:c=>$b(a,c),cmov:(c,u,l)=>l?u:c,toBytes:c=>r?Qr(c,s):Cr(c,s),fromBytes:c=>{if(c.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${c.length}`);return r?Ir(c):sr(c)}});return Object.freeze(a)}function r0(t,e){if(!t.isOdd)throw new Error("Field doesn't have isOdd");let r=t.sqrt(e);return t.isOdd(r)?t.neg(r):r}function n0(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function _c(t){let e=n0(t);return e+Math.ceil(e/2)}function i0(t,e,r=!1){let n=t.length,i=n0(e),s=_c(e);if(n<16||n<s||n>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);let o=r?sr(t):Ir(t),a=fe(o,e-ye)+ye;return r?Qr(a,i):Cr(a,i)}var Hb=BigInt(0),Sc=BigInt(1);function Os(t,e){let r=(i,s)=>{let o=s.negate();return i?o:s},n=i=>{let s=Math.ceil(e/i)+1,o=2**(i-1);return{windows:s,windowSize:o}};return{constTimeNegate:r,unsafeLadder(i,s){let o=t.ZERO,a=i;for(;s>Hb;)s&Sc&&(o=o.add(a)),a=a.double(),s>>=Sc;return o},precomputeWindow(i,s){let{windows:o,windowSize:a}=n(s),c=[],u=i,l=u;for(let f=0;f<o;f++){l=u,c.push(l);for(let d=1;d<a;d++)l=l.add(u),c.push(l);u=l.double()}return c},wNAF(i,s,o){let{windows:a,windowSize:c}=n(i),u=t.ZERO,l=t.BASE,f=BigInt(2**i-1),d=2**i,p=BigInt(i);for(let h=0;h<a;h++){let m=h*c,g=Number(o&f);o>>=p,g>c&&(g-=d,o+=Sc);let y=m,x=m+Math.abs(g)-1,b=h%2!==0,I=g<0;g===0?l=l.add(r(b,s[y])):u=u.add(r(I,s[x]))}return{p:u,f:l}},wNAFCached(i,s,o,a){let c=i._WINDOW_SIZE||1,u=s.get(i);return u||(u=this.precomputeWindow(i,c),c!==1&&s.set(i,a(u))),this.wNAF(c,u,o)}}}function Ii(t){return Ec(t.Fp),Wt(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...vc(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var Nt=BigInt(0),yt=BigInt(1),Ms=BigInt(2),Gb=BigInt(8),Wb={zip215:!0};function Yb(t){let e=Ii(t);return Wt(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function Us(t){let e=Yb(t),{Fp:r,n,prehash:i,hash:s,randomBytes:o,nByteLength:a,h:c}=e,u=Ms<<BigInt(a*8)-yt,l=r.create,f=e.uvRatio||((N,C)=>{try{return{isValid:!0,value:r.sqrt(N*r.inv(C))}}catch{return{isValid:!1,value:Nt}}}),d=e.adjustScalarBytes||(N=>N),p=e.domain||((N,C,U)=>{if(C.length||U)throw new Error("Contexts/pre-hash are not supported");return N}),h=N=>typeof N=="bigint"&&Nt<N,m=(N,C)=>h(N)&&h(C)&&N<C,g=N=>N===Nt||m(N,u);function y(N,C){if(m(N,C))return N;throw new Error(`Expected valid scalar < ${C}, got ${typeof N} ${N}`)}function x(N){return N===Nt?N:y(N,n)}let b=new Map;function I(N){if(!(N instanceof v))throw new Error("ExtendedPoint expected")}class v{constructor(C,U,K,z){if(this.ex=C,this.ey=U,this.ez=K,this.et=z,!g(C))throw new Error("x required");if(!g(U))throw new Error("y required");if(!g(K))throw new Error("z required");if(!g(z))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(C){if(C instanceof v)throw new Error("extended point not allowed");let{x:U,y:K}=C||{};if(!g(U)||!g(K))throw new Error("invalid affine point");return new v(U,K,yt,l(U*K))}static normalizeZ(C){let U=r.invertBatch(C.map(K=>K.ez));return C.map((K,z)=>K.toAffine(U[z])).map(v.fromAffine)}_setWindowSize(C){this._WINDOW_SIZE=C,b.delete(this)}assertValidity(){let{a:C,d:U}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:K,ey:z,ez:X,et:J}=this,ae=l(K*K),ee=l(z*z),ne=l(X*X),Te=l(ne*ne),ve=l(ae*C),qe=l(ne*l(ve+ee)),Ve=l(Te+l(U*l(ae*ee)));if(qe!==Ve)throw new Error("bad point: equation left != right (1)");let Le=l(K*z),Qe=l(X*J);if(Le!==Qe)throw new Error("bad point: equation left != right (2)")}equals(C){I(C);let{ex:U,ey:K,ez:z}=this,{ex:X,ey:J,ez:ae}=C,ee=l(U*ae),ne=l(X*z),Te=l(K*ae),ve=l(J*z);return ee===ne&&Te===ve}is0(){return this.equals(v.ZERO)}negate(){return new v(l(-this.ex),this.ey,this.ez,l(-this.et))}double(){let{a:C}=e,{ex:U,ey:K,ez:z}=this,X=l(U*U),J=l(K*K),ae=l(Ms*l(z*z)),ee=l(C*X),ne=U+K,Te=l(l(ne*ne)-X-J),ve=ee+J,qe=ve-ae,Ve=ee-J,Le=l(Te*qe),Qe=l(ve*Ve),jt=l(Te*Ve),Ur=l(qe*ve);return new v(Le,Qe,Ur,jt)}add(C){I(C);let{a:U,d:K}=e,{ex:z,ey:X,ez:J,et:ae}=this,{ex:ee,ey:ne,ez:Te,et:ve}=C;if(U===BigInt(-1)){let Wl=l((X-z)*(ne+ee)),Yl=l((X+z)*(ne-ee)),pa=l(Yl-Wl);if(pa===Nt)return this.double();let Ql=l(J*Ms*ve),Xl=l(ae*Ms*Te),Zl=Xl+Ql,jl=Yl+Wl,Jl=Xl-Ql,mg=l(Zl*pa),gg=l(jl*Jl),yg=l(Zl*Jl),xg=l(pa*jl);return new v(mg,gg,xg,yg)}let qe=l(z*ee),Ve=l(X*ne),Le=l(ae*K*ve),Qe=l(J*Te),jt=l((z+X)*(ee+ne)-qe-Ve),Ur=Qe-Le,hi=Qe+Le,Gl=l(Ve-U*qe),fg=l(jt*Ur),hg=l(hi*Gl),dg=l(jt*Gl),pg=l(Ur*hi);return new v(fg,hg,pg,dg)}subtract(C){return this.add(C.negate())}wNAF(C){return D.wNAFCached(this,b,C,v.normalizeZ)}multiply(C){let{p:U,f:K}=this.wNAF(y(C,n));return v.normalizeZ([U,K])[0]}multiplyUnsafe(C){let U=x(C);return U===Nt?P:this.equals(P)||U===yt?this:this.equals(_)?this.wNAF(U).p:D.unsafeLadder(this,U)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return D.unsafeLadder(this,n).is0()}toAffine(C){let{ex:U,ey:K,ez:z}=this,X=this.is0();C==null&&(C=X?Gb:r.inv(z));let J=l(U*C),ae=l(K*C),ee=l(z*C);if(X)return{x:Nt,y:yt};if(ee!==yt)throw new Error("invZ was invalid");return{x:J,y:ae}}clearCofactor(){let{h:C}=e;return C===yt?this:this.multiplyUnsafe(C)}static fromHex(C,U=!1){let{d:K,a:z}=e,X=r.BYTES;C=Se("pointHex",C,X);let J=C.slice(),ae=C[X-1];J[X-1]=ae&-129;let ee=Ir(J);ee===Nt||(U?y(ee,u):y(ee,r.ORDER));let ne=l(ee*ee),Te=l(ne-yt),ve=l(K*ne-z),{isValid:qe,value:Ve}=f(Te,ve);if(!qe)throw new Error("Point.fromHex: invalid y coordinate");let Le=(Ve&yt)===yt,Qe=(ae&128)!==0;if(!U&&Ve===Nt&&Qe)throw new Error("Point.fromHex: x=0 and x_0=1");return Qe!==Le&&(Ve=l(-Ve)),v.fromAffine({x:Ve,y:ee})}static fromPrivateKey(C){return $(C).point}toRawBytes(){let{x:C,y:U}=this.toAffine(),K=Qr(U,r.BYTES);return K[K.length-1]|=C&yt?128:0,K}toHex(){return ir(this.toRawBytes())}}v.BASE=new v(e.Gx,e.Gy,yt,l(e.Gx*e.Gy)),v.ZERO=new v(Nt,yt,yt,Nt);let{BASE:_,ZERO:P}=v,D=Os(v,a*8);function H(N){return fe(N,n)}function G(N){return H(Ir(N))}function $(N){let C=a;N=Se("private key",N,C);let U=Se("hashed private key",s(N),2*C),K=d(U.slice(0,C)),z=U.slice(C,2*C),X=G(K),J=_.multiply(X),ae=J.toRawBytes();return{head:K,prefix:z,scalar:X,point:J,pointBytes:ae}}function j(N){return $(N).pointBytes}function ue(N=new Uint8Array,...C){let U=or(...C);return G(s(p(U,Se("context",N),!!i)))}function Ke(N,C,U={}){N=Se("message",N),i&&(N=i(N));let{prefix:K,scalar:z,pointBytes:X}=$(C),J=ue(U.context,K,N),ae=_.multiply(J).toRawBytes(),ee=ue(U.context,ae,X,N),ne=H(J+ee*z);x(ne);let Te=or(ae,Qr(ne,r.BYTES));return Se("result",Te,a*2)}let R=Wb;function k(N,C,U,K=R){let{context:z,zip215:X}=K,J=r.BYTES;N=Se("signature",N,2*J),C=Se("message",C),i&&(C=i(C));let ae=Ir(N.slice(J,2*J)),ee,ne,Te;try{ee=v.fromHex(U,X),ne=v.fromHex(N.slice(0,J),X),Te=_.multiplyUnsafe(ae)}catch{return!1}if(!X&&ee.isSmallOrder())return!1;let ve=ue(z,ne.toRawBytes(),ee.toRawBytes(),C);return ne.add(ee.multiplyUnsafe(ve)).subtract(Te).clearCofactor().equals(v.ZERO)}return _._setWindowSize(8),{CURVE:e,getPublicKey:j,sign:Ke,verify:k,ExtendedPoint:v,utils:{getExtendedPublicKey:$,randomPrivateKey:()=>o(r.BYTES),precompute(N=8,C=v.BASE){return C._setWindowSize(N),C.multiply(BigInt(3)),C}}}}var Ic=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),s0=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),kA=BigInt(0),Qb=BigInt(1),Ac=BigInt(2),Xb=BigInt(5),o0=BigInt(10),Zb=BigInt(20),jb=BigInt(40),a0=BigInt(80);function Jb(t){let e=Ic,n=t*t%e*t%e,i=xe(n,Ac,e)*n%e,s=xe(i,Qb,e)*t%e,o=xe(s,Xb,e)*s%e,a=xe(o,o0,e)*o%e,c=xe(a,Zb,e)*a%e,u=xe(c,jb,e)*c%e,l=xe(u,a0,e)*u%e,f=xe(l,a0,e)*u%e,d=xe(f,o0,e)*o%e;return{pow_p_5_8:xe(d,Ac,e)*t%e,b2:n}}function e2(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function t2(t,e){let r=Ic,n=fe(e*e*e,r),i=fe(n*n*e,r),s=Jb(t*i).pow_p_5_8,o=fe(t*n*s,r),a=fe(e*o*o,r),c=o,u=fe(o*s0,r),l=a===t,f=a===fe(-t,r),d=a===fe(-t*s0,r);return l&&(o=c),(f||d)&&(o=u),t0(o,r)&&(o=fe(-o,r)),{isValid:l||f,value:o}}var ar=ks(Ic,void 0,!0),Cc={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:ar,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:gc,randomBytes:kn,adjustScalarBytes:e2,uvRatio:t2},Mn=Us(Cc);function c0(t,e,r){if(e.length>255)throw new Error("Context is too big");return Rs(dc("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var OA=Us({...Cc,domain:c0}),MA=Us({...Cc,domain:c0,prehash:gc});var r2=(ar.ORDER+BigInt(3))/BigInt(8),UA=ar.pow(Ac,r2),FA=ar.sqrt(ar.neg(ar.ONE)),KA=(ar.ORDER-BigInt(5))/BigInt(8),qA=BigInt(486662);var VA=r0(ar,ar.neg(BigInt(486664)));var $A=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),zA=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),HA=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),GA=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var WA=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var Un=32,cr=64,Fs=32;function u0(){let t=Mn.utils.randomPrivateKey(),e=Mn.getPublicKey(t);return{privateKey:d0(t,e),publicKey:e}}function l0(t){if(t.length!==Fs)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=Mn.getPublicKey(e);return{privateKey:d0(e,r),publicKey:r}}function f0(t,e){let r=t.subarray(0,Fs);return Mn.sign(e instanceof Uint8Array?e:e.subarray(),r)}function h0(t,e,r){return Mn.verify(e,r instanceof Uint8Array?r:r.subarray(),t)}function d0(t,e){let r=new Uint8Array(cr);for(let n=0;n<Fs;n++)r[n]=t[n],r[Fs+n]=e[n];return r}var at={get(t=globalThis){let e=t.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var Tc={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Rc(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",s=t?.saltLength??16,o=t?.iterations??32767,a=at.get();r*=8;async function c(f,d){let p=a.getRandomValues(new Uint8Array(s)),h=a.getRandomValues(new Uint8Array(n)),m={name:e,iv:h};typeof d=="string"&&(d=pt(d));let g;if(d.length===0){g=await a.subtle.importKey("jwk",Tc,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,b,{name:e,length:r},!0,["encrypt"])}catch{g=await a.subtle.importKey("jwk",Tc,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,b,{name:e,length:r},!0,["encrypt"])}let y=await a.subtle.encrypt(m,g,f);return Wr([p,m.iv,new Uint8Array(y)])}async function u(f,d){let p=f.subarray(0,s),h=f.subarray(s,s+n),m=f.subarray(s+n),g={name:e,iv:h};typeof d=="string"&&(d=pt(d));let y;if(d.length===0)try{let b={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},I=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(b,I,{name:e,length:r},!0,["decrypt"])}catch{y=await a.subtle.importKey("jwk",Tc,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},I=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(b,I,{name:e,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(g,y,m);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function Fn(t,e){let n=await Rc().encrypt(t,e);return Rn.encode(n)}var Bc=new Float32Array([-0]),Tr=new Uint8Array(Bc.buffer);function m0(t,e,r){Bc[0]=t,e[r]=Tr[0],e[r+1]=Tr[1],e[r+2]=Tr[2],e[r+3]=Tr[3]}function g0(t,e){return Tr[0]=t[e],Tr[1]=t[e+1],Tr[2]=t[e+2],Tr[3]=t[e+3],Bc[0]}var Lc=new Float64Array([-0]),Xe=new Uint8Array(Lc.buffer);function y0(t,e,r){Lc[0]=t,e[r]=Xe[0],e[r+1]=Xe[1],e[r+2]=Xe[2],e[r+3]=Xe[3],e[r+4]=Xe[4],e[r+5]=Xe[5],e[r+6]=Xe[6],e[r+7]=Xe[7]}function x0(t,e){return Xe[0]=t[e],Xe[1]=t[e+1],Xe[2]=t[e+2],Xe[3]=t[e+3],Xe[4]=t[e+4],Xe[5]=t[e+5],Xe[6]=t[e+6],Xe[7]=t[e+7],Lc[0]}var i2=BigInt(Number.MAX_SAFE_INTEGER),s2=BigInt(Number.MIN_SAFE_INTEGER),ct=class t{lo;hi;constructor(e,r){this.lo=e|0,this.hi=r|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,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}static fromBigInt(e){if(e===0n)return Zr;if(e<i2&&e>s2)return this.fromNumber(Number(e));let r=e<0n;r&&(e=-e);let n=e>>32n,i=e-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>b0&&(i=0n,++n>b0&&(n=0n))),new t(Number(i),Number(n))}static fromNumber(e){if(e===0)return Zr;let r=e<0;r&&(e=-e);let 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 t(n,i)}static from(e){return typeof e=="number"?t.fromNumber(e):typeof e=="bigint"?t.fromBigInt(e):typeof e=="string"?t.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new t(e.low>>>0,e.high>>>0):Zr}},Zr=new ct(0,0);Zr.toBigInt=function(){return 0n};Zr.zzEncode=Zr.zzDecode=function(){return this};Zr.length=function(){return 1};var b0=4294967296n;function w0(t){let e=0,r=0;for(let n=0;n<t.length;++n)r=t.charCodeAt(n),r<128?e+=1:r<2048?e+=2:(r&64512)===55296&&(t.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function E0(t,e,r){if(r-e<1)return"";let i,s=[],o=0,a;for(;e<r;)a=t[e++],a<128?s[o++]=a:a>191&&a<224?s[o++]=(a&31)<<6|t[e++]&63:a>239&&a<365?(a=((a&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,s[o++]=55296+(a>>10),s[o++]=56320+(a&1023)):s[o++]=(a&15)<<12|(t[e++]&63)<<6|t[e++]&63,o>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,s)),o=0);return i!=null?(o>0&&i.push(String.fromCharCode.apply(String,s.slice(0,o))),i.join("")):String.fromCharCode.apply(String,s.slice(0,o))}function Pc(t,e,r){let n=r,i,s;for(let o=0;o<t.length;++o)i=t.charCodeAt(o),i<128?e[r++]=i:i<2048?(e[r++]=i>>6|192,e[r++]=i&63|128):(i&64512)===55296&&((s=t.charCodeAt(o+1))&64512)===56320?(i=65536+((i&1023)<<10)+(s&1023),++o,e[r++]=i>>18|240,e[r++]=i>>12&63|128,e[r++]=i>>6&63|128,e[r++]=i&63|128):(e[r++]=i>>12|224,e[r++]=i>>6&63|128,e[r++]=i&63|128);return r-n}function kt(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function Ks(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var Dc=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,kt(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw kt(this,4);return Ks(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw kt(this,4);return Ks(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw kt(this,4);let e=g0(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw kt(this,4);let e=x0(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw kt(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return E0(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw kt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw kt(this);while(this.buf[this.pos++]&128);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new ct(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw kt(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,e}if(this.len-this.pos>4){for(;r<5;++r)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;r<5;++r){if(this.pos>=this.len)throw kt(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw kt(this,8);let e=Ks(this.buf,this.pos+=4),r=Ks(this.buf,this.pos+=4);return new ct(e,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function Nc(t){return new Dc(t instanceof Uint8Array?t:t.subarray())}function ze(t,e){let r=Nc(t);return e.decode(r)}function jr(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function ur(t=0){return globalThis.Buffer?.alloc!=null?jr(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function Ze(t=0){return globalThis.Buffer?.allocUnsafe!=null?jr(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function S0(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var _0=S0("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),kc=S0("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=Ze(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),o2={utf8:_0,"utf-8":_0,hex:de.base16,latin1:kc,ascii:kc,binary:kc,...de},qs=o2;function Ci(t,e="utf8"){let r=qs[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?jr(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function Oc(t){let e=t??8192,r=e>>>1,n,i=e;return function(o){if(o<1||o>r)return Ze(o);i+o>e&&(n=Ze(e),i=0);let a=n.subarray(i,i+=o);return i&7&&(i=(i|7)+1),a}}var Jr=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function Mc(){}var Fc=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},a2=Oc();function c2(t){return globalThis.Buffer!=null?Ze(t):a2(t)}var Bi=class{len;head;tail;states;constructor(){this.len=0,this.head=new Jr(Mc,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new Jr(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Kc((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(Ti,10,ct.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=ct.fromBigInt(e);return this._push(Ti,r.length(),r)}uint64Number(e){let r=ct.fromNumber(e);return this._push(Ti,r.length(),r)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let r=ct.fromBigInt(e).zzEncode();return this._push(Ti,r.length(),r)}sint64Number(e){let r=ct.fromNumber(e).zzEncode();return this._push(Ti,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(Uc,1,e?1:0)}fixed32(e){return this._push(Ri,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=ct.fromBigInt(e);return this._push(Ri,4,r.lo)._push(Ri,4,r.hi)}fixed64Number(e){let r=ct.fromNumber(e);return this._push(Ri,4,r.lo)._push(Ri,4,r.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(m0,4,e)}double(e){return this._push(y0,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(Uc,1,0):this.uint32(r)._push(l2,r,e)}string(e){let r=w0(e);return r!==0?this.uint32(r)._push(Pc,r,e):this._push(Uc,1,0)}fork(){return this.states=new Fc(this),this.head=this.tail=new Jr(Mc,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new Jr(Mc,0,0),this.len=0),this}ldelim(){let e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=r,this.len+=n),this}finish(){let e=this.head.next,r=c2(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function Uc(t,e,r){e[r]=t&255}function u2(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var Kc=class extends Jr{next;constructor(e,r){super(u2,e,r),this.next=void 0}};function Ti(t,e,r){for(;t.hi!==0;)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}function Ri(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 l2(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(Bi.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(f2,e,t),this},Bi.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(h2,e,t),this});function f2(t,e,r){e.set(t,r)}function h2(t,e,r){t.length<40?Pc(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(Ci(t),r)}function qc(){return new Bi}function He(t,e){let r=qc();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var Kn;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(Kn||(Kn={}));function Vs(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function Vc(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(s,o){let a=e(s);o.int32(a)},n=function(s){let o=s.int32();return e(o)};return Vs("enum",Kn.VARINT,r,n)}function Ge(t,e){return Vs("message",Kn.LENGTH_DELIMITED,t,e)}var be;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(be||(be={}));var $c;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})($c||($c={}));(function(t){t.codec=()=>Vc($c)})(be||(be={}));var Yt;(function(t){let e;t.codec=()=>(e==null&&(e=Ge((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),be.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=be.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>He(r,t.codec()),t.decode=r=>ze(r,t.codec())})(Yt||(Yt={}));var Qt;(function(t){let e;t.codec=()=>(e==null&&(e=Ge((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),be.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=be.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>He(r,t.codec()),t.decode=r=>ze(r,t.codec())})(Qt||(Qt={}));var Li=class{_key;constructor(e){this._key=qn(e,Un)}verify(e,r){return h0(this._key,r,e)}marshal(){return this._key}get bytes(){return Yt.encode({Type:be.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Gt(this.bytes,e.bytes)}hash(){let e=$e.digest(this.bytes);return vt(e)?e.then(({bytes:r})=>r):e.bytes}},en=class{_key;_publicKey;constructor(e,r){this._key=qn(e,cr),this._publicKey=qn(r,Un)}sign(e){return f0(this._key,e)}get public(){return new Li(this._publicKey)}marshal(){return this._key}get bytes(){return Qt.encode({Type:be.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Gt(this.bytes,e.bytes)}async hash(){let e=$e.digest(this.bytes),r;return vt(e)?{bytes:r}=await e:r=e.bytes,r}async id(){let e=_r.digest(this.public.bytes);return Ee.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Fn(this.bytes,e);throw new S(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function d2(t){if(t.length>cr){t=qn(t,cr+Un);let n=t.subarray(0,cr),i=t.subarray(cr,t.length);return new en(n,i)}t=qn(t,cr);let e=t.subarray(0,cr),r=t.subarray(Un);return new en(e,r)}function p2(t){return t=qn(t,Un),new Li(t)}async function m2(){let{privateKey:t,publicKey:e}=u0();return new en(t,e)}async function A0(t){let{privateKey:e,publicKey:r}=l0(t);return new en(e,r)}function qn(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new S(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}var g2={"P-256":256,"P-384":384,"P-521":521},y2=Object.keys(g2),e4=y2.join(" / ");var Qc={};ke(Qc,{MAX_KEY_SIZE:()=>ki,RsaPrivateKey:()=>Vn,RsaPublicKey:()=>Ni,fromJwk:()=>T2,generateKeyPair:()=>R2,unmarshalRsaPrivateKey:()=>I2,unmarshalRsaPublicKey:()=>C2});var Di=we(le(),1);var U4=we(B0(),1);function zs(t){if(isNaN(t)||t<=0)throw new S("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return kn(t)}var w4=we(Es(),1),Wc=we(le(),1);function L0(t,e){return e.map(r=>gt(t[r]))}function P0(t){return Wc.default.pki.setRsaPrivateKey(...L0(t,["n","e","d","p","q","dp","dq","qi"]))}function D0(t){return Wc.default.pki.setRsaPublicKey(...L0(t,["n","e"]))}var rn={};ke(rn,{jwkToPkcs1:()=>E2,jwkToPkix:()=>_2,pkcs1ToJwk:()=>w2,pkixToJwk:()=>v2});var _4=we(gi(),1),S4=we(Es(),1);var lr=we(le(),1);function w2(t){let e=lr.default.asn1.fromDer(mt(t,"ascii")),r=lr.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Lt(r.n),e:Lt(r.e),d:Lt(r.d),p:Lt(r.p),q:Lt(r.q),dp:Lt(r.dP),dq:Lt(r.dQ),qi:Lt(r.qInv),alg:"RS256"}}function E2(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new S("JWK was missing components","ERR_INVALID_PARAMETERS");let e=lr.default.pki.privateKeyToAsn1({n:gt(t.n),e:gt(t.e),d:gt(t.d),p:gt(t.p),q:gt(t.q),dP:gt(t.dp),dQ:gt(t.dq),qInv:gt(t.qi)});return pt(lr.default.asn1.toDer(e).getBytes(),"ascii")}function v2(t){let e=lr.default.asn1.fromDer(mt(t,"ascii")),r=lr.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Lt(r.n),e:Lt(r.e)}}function _2(t){if(t.n==null||t.e==null)throw new S("JWK was missing components","ERR_INVALID_PARAMETERS");let e=lr.default.pki.publicKeyToAsn1({n:gt(t.n),e:gt(t.e)});return pt(lr.default.asn1.toDer(e).getBytes(),"ascii")}async function N0(t){let e=await at.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 M0(e);return{privateKey:r[0],publicKey:r[1]}}async function Yc(t){let r=[await at.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await S2(t)],n=await M0({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function k0(t,e){let r=await at.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await at.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,e instanceof Uint8Array?e:e.subarray());return new Uint8Array(n,0,n.byteLength)}async function O0(t,e,r){let n=await at.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return at.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r instanceof Uint8Array?r:r.subarray())}async function M0(t){if(t.privateKey==null||t.publicKey==null)throw new S("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([at.get().subtle.exportKey("jwk",t.privateKey),at.get().subtle.exportKey("jwk",t.publicKey)])}async function S2(t){return at.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function U0(t,e,r,n){let i=e?D0(t):P0(t),s=mt(r instanceof Uint8Array?r:r.subarray(),"ascii"),o=n(s,i);return pt(o,"ascii")}function F0(t,e){return U0(t,!0,e,(r,n)=>n.encrypt(r))}function K0(t,e){return U0(t,!1,e,(r,n)=>n.decrypt(r))}function Hs(t){if(t.kty!=="RSA")throw new S("invalid key type","ERR_INVALID_KEY_TYPE");if(t.n==null)throw new S("invalid key modulus","ERR_INVALID_KEY_MODULUS");return pt(t.n,"base64url").length*8}var ki=8192,Ni=class{_key;constructor(e){this._key=e}verify(e,r){return O0(this._key,r,e)}marshal(){return rn.jwkToPkix(this._key)}get bytes(){return Yt.encode({Type:be.RSA,Data:this.marshal()}).subarray()}encrypt(e){return F0(this._key,e)}equals(e){return Gt(this.bytes,e.bytes)}hash(){let e=$e.digest(this.bytes);return vt(e)?e.then(({bytes:r})=>r):e.bytes}},Vn=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return zs(16)}sign(e){return k0(this._key,e)}get public(){if(this._publicKey==null)throw new S("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Ni(this._publicKey)}decrypt(e){return K0(this._key,e)}marshal(){return rn.jwkToPkcs1(this._key)}get bytes(){return Qt.encode({Type:be.RSA,Data:this.marshal()}).subarray()}equals(e){return Gt(this.bytes,e.bytes)}hash(){let e=$e.digest(this.bytes);return vt(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return mt(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new Di.default.util.ByteBuffer(this.marshal()),i=Di.default.asn1.fromDer(n),s=Di.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Di.default.pki.encryptRsaPrivateKey(s,e,o)}else{if(r==="libp2p-key")return Fn(this.bytes,e);throw new S(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function I2(t){let e=rn.pkcs1ToJwk(t);if(Hs(e)>ki)throw new S("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await Yc(e);return new Vn(r.privateKey,r.publicKey)}function C2(t){let e=rn.pkixToJwk(t);if(Hs(e)>ki)throw new S("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Ni(e)}async function T2(t){if(Hs(t)>ki)throw new S("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Yc(t);return new Vn(e.privateKey,e.publicKey)}async function R2(t){if(t>ki)throw new S("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await N0(t);return new Vn(e.privateKey,e.publicKey)}var tu={};ke(tu,{Secp256k1PrivateKey:()=>Mi,Secp256k1PublicKey:()=>Oi,generateKeyPair:()=>z2,unmarshalSecp256k1PrivateKey:()=>V2,unmarshalSecp256k1PublicKey:()=>$2});var B2=(t,e,r)=>t&e^~t&r,L2=(t,e,r)=>t&e^t&r^e&r,P2=new Uint32Array([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]),Rr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Br=new Uint32Array(64),Xc=class extends On{constructor(){super(64,32,8,!1),this.A=Rr[0]|0,this.B=Rr[1]|0,this.C=Rr[2]|0,this.D=Rr[3]|0,this.E=Rr[4]|0,this.F=Rr[5]|0,this.G=Rr[6]|0,this.H=Rr[7]|0}get(){let{A:e,B:r,C:n,D:i,E:s,F:o,G:a,H:c}=this;return[e,r,n,i,s,o,a,c]}set(e,r,n,i,s,o,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=s|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,r){for(let f=0;f<16;f++,r+=4)Br[f]=e.getUint32(r,!1);for(let f=16;f<64;f++){let d=Br[f-15],p=Br[f-2],h=Pt(d,7)^Pt(d,18)^d>>>3,m=Pt(p,17)^Pt(p,19)^p>>>10;Br[f]=m+Br[f-7]+h+Br[f-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:c,G:u,H:l}=this;for(let f=0;f<64;f++){let d=Pt(a,6)^Pt(a,11)^Pt(a,25),p=l+d+B2(a,c,u)+P2[f]+Br[f]|0,m=(Pt(n,2)^Pt(n,13)^Pt(n,22))+L2(n,i,s)|0;l=u,u=c,c=a,a=o+p|0,o=s,s=i,i=n,n=p+m|0}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(n,i,s,o,a,c,u,l)}roundClean(){Br.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var q0=Bs(()=>new Xc);function D2(t){let e=Ii(t);Wt(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=e;if(r){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:N2,hexToBytes:k2}=Ds,nn={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=nn;if(t.length<2||t[0]!==2)throw new e("Invalid signature integer tag");let r=t[1],n=t.subarray(2,r+2);if(!r||n.length!==r)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:N2(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=nn,r=typeof t=="string"?k2(t):t;if(!Dt(r))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new e("Invalid signature tag");if(r[1]!==n-2)throw new e("Invalid signature: incorrect length");let{d:i,l:s}=nn._parseInt(r.subarray(2)),{d:o,l:a}=nn._parseInt(s);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s:o}},hexFromSig(t){let e=u=>Number.parseInt(u[0],16)&8?"00"+u:u,r=u=>{let l=u.toString(16);return l.length&1?`0${l}`:l},n=e(r(t.s)),i=e(r(t.r)),s=n.length/2,o=i.length/2,a=r(s),c=r(o);return`30${r(o+s+4)}02${c}${i}02${a}${n}`}},fr=BigInt(0),_t=BigInt(1),Y4=BigInt(2),V0=BigInt(3),Q4=BigInt(4);function O2(t){let e=D2(t),{Fp:r}=e,n=e.toBytes||((h,m,g)=>{let y=m.toAffine();return or(Uint8Array.from([4]),r.toBytes(y.x),r.toBytes(y.y))}),i=e.fromBytes||(h=>{let m=h.subarray(1),g=r.fromBytes(m.subarray(0,r.BYTES)),y=r.fromBytes(m.subarray(r.BYTES,2*r.BYTES));return{x:g,y}});function s(h){let{a:m,b:g}=e,y=r.sqr(h),x=r.mul(y,h);return r.add(r.add(x,r.mul(h,m)),g)}if(!r.eql(r.sqr(e.Gy),s(e.Gx)))throw new Error("bad generator point: equation left != right");function o(h){return typeof h=="bigint"&&fr<h&&h<e.n}function a(h){if(!o(h))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(h){let{allowedPrivateKeyLengths:m,nByteLength:g,wrapPrivateKey:y,n:x}=e;if(m&&typeof h!="bigint"){if(Dt(h)&&(h=ir(h)),typeof h!="string"||!m.includes(h.length))throw new Error("Invalid key");h=h.padStart(g*2,"0")}let b;try{b=typeof h=="bigint"?h:sr(Se("private key",h,g))}catch{throw new Error(`private key must be ${g} bytes, hex or bigint, not ${typeof h}`)}return y&&(b=fe(b,x)),a(b),b}let u=new Map;function l(h){if(!(h instanceof f))throw new Error("ProjectivePoint expected")}class f{constructor(m,g,y){if(this.px=m,this.py=g,this.pz=y,m==null||!r.isValid(m))throw new Error("x required");if(g==null||!r.isValid(g))throw new Error("y required");if(y==null||!r.isValid(y))throw new Error("z required")}static fromAffine(m){let{x:g,y}=m||{};if(!m||!r.isValid(g)||!r.isValid(y))throw new Error("invalid affine point");if(m instanceof f)throw new Error("projective point not allowed");let x=b=>r.eql(b,r.ZERO);return x(g)&&x(y)?f.ZERO:new f(g,y,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(m){let g=r.invertBatch(m.map(y=>y.pz));return m.map((y,x)=>y.toAffine(g[x])).map(f.fromAffine)}static fromHex(m){let g=f.fromAffine(i(Se("pointHex",m)));return g.assertValidity(),g}static fromPrivateKey(m){return f.BASE.multiply(c(m))}_setWindowSize(m){this._WINDOW_SIZE=m,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:m,y:g}=this.toAffine();if(!r.isValid(m)||!r.isValid(g))throw new Error("bad point: x or y not FE");let y=r.sqr(g),x=s(m);if(!r.eql(y,x))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:m}=this.toAffine();if(r.isOdd)return!r.isOdd(m);throw new Error("Field doesn't support isOdd")}equals(m){l(m);let{px:g,py:y,pz:x}=this,{px:b,py:I,pz:v}=m,_=r.eql(r.mul(g,v),r.mul(b,x)),P=r.eql(r.mul(y,v),r.mul(I,x));return _&&P}negate(){return new f(this.px,r.neg(this.py),this.pz)}double(){let{a:m,b:g}=e,y=r.mul(g,V0),{px:x,py:b,pz:I}=this,v=r.ZERO,_=r.ZERO,P=r.ZERO,D=r.mul(x,x),H=r.mul(b,b),G=r.mul(I,I),$=r.mul(x,b);return $=r.add($,$),P=r.mul(x,I),P=r.add(P,P),v=r.mul(m,P),_=r.mul(y,G),_=r.add(v,_),v=r.sub(H,_),_=r.add(H,_),_=r.mul(v,_),v=r.mul($,v),P=r.mul(y,P),G=r.mul(m,G),$=r.sub(D,G),$=r.mul(m,$),$=r.add($,P),P=r.add(D,D),D=r.add(P,D),D=r.add(D,G),D=r.mul(D,$),_=r.add(_,D),G=r.mul(b,I),G=r.add(G,G),D=r.mul(G,$),v=r.sub(v,D),P=r.mul(G,H),P=r.add(P,P),P=r.add(P,P),new f(v,_,P)}add(m){l(m);let{px:g,py:y,pz:x}=this,{px:b,py:I,pz:v}=m,_=r.ZERO,P=r.ZERO,D=r.ZERO,H=e.a,G=r.mul(e.b,V0),$=r.mul(g,b),j=r.mul(y,I),ue=r.mul(x,v),Ke=r.add(g,y),R=r.add(b,I);Ke=r.mul(Ke,R),R=r.add($,j),Ke=r.sub(Ke,R),R=r.add(g,x);let k=r.add(b,v);return R=r.mul(R,k),k=r.add($,ue),R=r.sub(R,k),k=r.add(y,x),_=r.add(I,v),k=r.mul(k,_),_=r.add(j,ue),k=r.sub(k,_),D=r.mul(H,R),_=r.mul(G,ue),D=r.add(_,D),_=r.sub(j,D),D=r.add(j,D),P=r.mul(_,D),j=r.add($,$),j=r.add(j,$),ue=r.mul(H,ue),R=r.mul(G,R),j=r.add(j,ue),ue=r.sub($,ue),ue=r.mul(H,ue),R=r.add(R,ue),$=r.mul(j,R),P=r.add(P,$),$=r.mul(k,R),_=r.mul(Ke,_),_=r.sub(_,$),$=r.mul(Ke,j),D=r.mul(k,D),D=r.add(D,$),new f(_,P,D)}subtract(m){return this.add(m.negate())}is0(){return this.equals(f.ZERO)}wNAF(m){return p.wNAFCached(this,u,m,g=>{let y=r.invertBatch(g.map(x=>x.pz));return g.map((x,b)=>x.toAffine(y[b])).map(f.fromAffine)})}multiplyUnsafe(m){let g=f.ZERO;if(m===fr)return g;if(a(m),m===_t)return this;let{endo:y}=e;if(!y)return p.unsafeLadder(this,m);let{k1neg:x,k1:b,k2neg:I,k2:v}=y.splitScalar(m),_=g,P=g,D=this;for(;b>fr||v>fr;)b&_t&&(_=_.add(D)),v&_t&&(P=P.add(D)),D=D.double(),b>>=_t,v>>=_t;return x&&(_=_.negate()),I&&(P=P.negate()),P=new f(r.mul(P.px,y.beta),P.py,P.pz),_.add(P)}multiply(m){a(m);let g=m,y,x,{endo:b}=e;if(b){let{k1neg:I,k1:v,k2neg:_,k2:P}=b.splitScalar(g),{p:D,f:H}=this.wNAF(v),{p:G,f:$}=this.wNAF(P);D=p.constTimeNegate(I,D),G=p.constTimeNegate(_,G),G=new f(r.mul(G.px,b.beta),G.py,G.pz),y=D.add(G),x=H.add($)}else{let{p:I,f:v}=this.wNAF(g);y=I,x=v}return f.normalizeZ([y,x])[0]}multiplyAndAddUnsafe(m,g,y){let x=f.BASE,b=(v,_)=>_===fr||_===_t||!v.equals(x)?v.multiplyUnsafe(_):v.multiply(_),I=b(this,g).add(b(m,y));return I.is0()?void 0:I}toAffine(m){let{px:g,py:y,pz:x}=this,b=this.is0();m==null&&(m=b?r.ONE:r.inv(x));let I=r.mul(g,m),v=r.mul(y,m),_=r.mul(x,m);if(b)return{x:r.ZERO,y:r.ZERO};if(!r.eql(_,r.ONE))throw new Error("invZ was invalid");return{x:I,y:v}}isTorsionFree(){let{h:m,isTorsionFree:g}=e;if(m===_t)return!0;if(g)return g(f,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:m,clearCofactor:g}=e;return m===_t?this:g?g(f,this):this.multiplyUnsafe(e.h)}toRawBytes(m=!0){return this.assertValidity(),n(f,this,m)}toHex(m=!0){return ir(this.toRawBytes(m))}}f.BASE=new f(e.Gx,e.Gy,r.ONE),f.ZERO=new f(r.ZERO,r.ONE,r.ZERO);let d=e.nBitLength,p=Os(f,e.endo?Math.ceil(d/2):d);return{CURVE:e,ProjectivePoint:f,normPrivateKeyToScalar:c,weierstrassEquation:s,isWithinCurveOrder:o}}function M2(t){let e=Ii(t);return Wt(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function $0(t){let e=M2(t),{Fp:r,n}=e,i=r.BYTES+1,s=2*r.BYTES+1;function o(R){return fr<R&&R<r.ORDER}function a(R){return fe(R,n)}function c(R){return Ns(R,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:l,weierstrassEquation:f,isWithinCurveOrder:d}=O2({...e,toBytes(R,k,L){let N=k.toAffine(),C=r.toBytes(N.x),U=or;return L?U(Uint8Array.from([k.hasEvenY()?2:3]),C):U(Uint8Array.from([4]),C,r.toBytes(N.y))},fromBytes(R){let k=R.length,L=R[0],N=R.subarray(1);if(k===i&&(L===2||L===3)){let C=sr(N);if(!o(C))throw new Error("Point is not on curve");let U=f(C),K=r.sqrt(U),z=(K&_t)===_t;return(L&1)===1!==z&&(K=r.neg(K)),{x:C,y:K}}else if(k===s&&L===4){let C=r.fromBytes(N.subarray(0,r.BYTES)),U=r.fromBytes(N.subarray(r.BYTES,2*r.BYTES));return{x:C,y:U}}else throw new Error(`Point of length ${k} was invalid. Expected ${i} compressed bytes or ${s} uncompressed bytes`)}}),p=R=>ir(Cr(R,e.nByteLength));function h(R){let k=n>>_t;return R>k}function m(R){return h(R)?a(-R):R}let g=(R,k,L)=>sr(R.slice(k,L));class y{constructor(k,L,N){this.r=k,this.s=L,this.recovery=N,this.assertValidity()}static fromCompact(k){let L=e.nByteLength;return k=Se("compactSignature",k,L*2),new y(g(k,0,L),g(k,L,2*L))}static fromDER(k){let{r:L,s:N}=nn.toSig(Se("DER",k));return new y(L,N)}assertValidity(){if(!d(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!d(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(k){return new y(this.r,this.s,k)}recoverPublicKey(k){let{r:L,s:N,recovery:C}=this,U=P(Se("msgHash",k));if(C==null||![0,1,2,3].includes(C))throw new Error("recovery id invalid");let K=C===2||C===3?L+e.n:L;if(K>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let z=C&1?"03":"02",X=u.fromHex(z+p(K)),J=c(K),ae=a(-U*J),ee=a(N*J),ne=u.BASE.multiplyAndAddUnsafe(X,ae,ee);if(!ne)throw new Error("point at infinify");return ne.assertValidity(),ne}hasHighS(){return h(this.s)}normalizeS(){return this.hasHighS()?new y(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return Yr(this.toDERHex())}toDERHex(){return nn.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Yr(this.toCompactHex())}toCompactHex(){return p(this.r)+p(this.s)}}let x={isValidPrivateKey(R){try{return l(R),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{let R=_c(e.n);return i0(e.randomBytes(R),e.n)},precompute(R=8,k=u.BASE){return k._setWindowSize(R),k.multiply(BigInt(3)),k}};function b(R,k=!0){return u.fromPrivateKey(R).toRawBytes(k)}function I(R){let k=Dt(R),L=typeof R=="string",N=(k||L)&&R.length;return k?N===i||N===s:L?N===2*i||N===2*s:R instanceof u}function v(R,k,L=!0){if(I(R))throw new Error("first arg must be private key");if(!I(k))throw new Error("second arg must be public key");return u.fromHex(k).multiply(l(R)).toRawBytes(L)}let _=e.bits2int||function(R){let k=sr(R),L=R.length*8-e.nBitLength;return L>0?k>>BigInt(L):k},P=e.bits2int_modN||function(R){return a(_(R))},D=Ai(e.nBitLength);function H(R){if(typeof R!="bigint")throw new Error("bigint expected");if(!(fr<=R&&R<D))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Cr(R,e.nByteLength)}function G(R,k,L=$){if(["recovered","canonical"].some(ve=>ve in L))throw new Error("sign() legacy options not supported");let{hash:N,randomBytes:C}=e,{lowS:U,prehash:K,extraEntropy:z}=L;U==null&&(U=!0),R=Se("msgHash",R),K&&(R=Se("prehashed msgHash",N(R)));let X=P(R),J=l(k),ae=[H(J),H(X)];if(z!=null){let ve=z===!0?C(r.BYTES):z;ae.push(Se("extraEntropy",ve))}let ee=or(...ae),ne=X;function Te(ve){let qe=_(ve);if(!d(qe))return;let Ve=c(qe),Le=u.BASE.multiply(qe).toAffine(),Qe=a(Le.x);if(Qe===fr)return;let jt=a(Ve*a(ne+Qe*J));if(jt===fr)return;let Ur=(Le.x===Qe?0:2)|Number(Le.y&_t),hi=jt;return U&&h(jt)&&(hi=m(jt),Ur^=1),new y(Qe,hi,Ur)}return{seed:ee,k2sig:Te}}let $={lowS:e.lowS,prehash:!1},j={lowS:e.lowS,prehash:!1};function ue(R,k,L=$){let{seed:N,k2sig:C}=G(R,k,L),U=e;return bc(U.hash.outputLen,U.nByteLength,U.hmac)(N,C)}u.BASE._setWindowSize(8);function Ke(R,k,L,N=j){let C=R;if(k=Se("msgHash",k),L=Se("publicKey",L),"strict"in N)throw new Error("options.strict was renamed to lowS");let{lowS:U,prehash:K}=N,z,X;try{if(typeof C=="string"||Dt(C))try{z=y.fromDER(C)}catch(Le){if(!(Le instanceof nn.Err))throw Le;z=y.fromCompact(C)}else if(typeof C=="object"&&typeof C.r=="bigint"&&typeof C.s=="bigint"){let{r:Le,s:Qe}=C;z=new y(Le,Qe)}else throw new Error("PARSE");X=u.fromHex(L)}catch(Le){if(Le.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(U&&z.hasHighS())return!1;K&&(k=e.hash(k));let{r:J,s:ae}=z,ee=P(k),ne=c(ae),Te=a(ee*ne),ve=a(J*ne),qe=u.BASE.multiplyAndAddUnsafe(X,Te,ve)?.toAffine();return qe?a(qe.x)===J:!1}return{CURVE:e,getPublicKey:b,getSharedSecret:v,sign:ue,verify:Ke,ProjectivePoint:u,Signature:y,utils:x}}var Gs=class extends Nn{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,Hh(e);let n=Si(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,s=new Uint8Array(i);s.set(n.length>i?e.create().update(n).digest():n);for(let o=0;o<s.length;o++)s[o]^=54;this.iHash.update(s),this.oHash=e.create();for(let o=0;o<s.length;o++)s[o]^=106;this.oHash.update(s),s.fill(0)}update(e){return Dn(this),this.iHash.update(e),this}digestInto(e){Dn(this),hc(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:s,blockLen:o,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=s,e.blockLen=o,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Zc=(t,e,r)=>new Gs(t,e).update(r).digest();Zc.create=(t,e)=>new Gs(t,e);function U2(t){return{hash:t,hmac:(e,...r)=>Zc(t,e,Rs(...r)),randomBytes:kn}}function z0(t,e){let r=n=>$0({...t,...U2(n)});return Object.freeze({...r(e),create:r})}var W0=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),H0=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),F2=BigInt(1),jc=BigInt(2),G0=(t,e)=>(t+e/jc)/e;function K2(t){let e=W0,r=BigInt(3),n=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,l=u*u*t%e,f=xe(l,r,e)*l%e,d=xe(f,r,e)*l%e,p=xe(d,jc,e)*u%e,h=xe(p,i,e)*p%e,m=xe(h,s,e)*h%e,g=xe(m,a,e)*m%e,y=xe(g,c,e)*g%e,x=xe(y,a,e)*m%e,b=xe(x,r,e)*l%e,I=xe(b,o,e)*h%e,v=xe(I,n,e)*u%e,_=xe(v,jc,e);if(!Jc.eql(Jc.sqr(_),t))throw new Error("Cannot find square root");return _}var Jc=ks(W0,void 0,void 0,{sqrt:K2}),Ot=z0({a:BigInt(0),b:BigInt(7),Fp:Jc,n:H0,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=H0,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-F2*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=G0(s*t,e),c=G0(-n*t,e),u=fe(t-a*r-c*i,e),l=fe(-a*n-c*s,e),f=u>o,d=l>o;if(f&&(u=e-u),d&&(l=e-l),u>o||l>o)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:d,k2:l}}}},q0),a8=BigInt(0);var c8=Ot.ProjectivePoint;function Y0(){return Ot.utils.randomPrivateKey()}function Q0(t,e){let r=$e.digest(e instanceof Uint8Array?e:e.subarray());if(vt(r))return r.then(({digest:n})=>Ot.sign(n,t).toDERRawBytes()).catch(n=>{throw new S(String(n),"ERR_INVALID_INPUT")});try{return Ot.sign(r.digest,t).toDERRawBytes()}catch(n){throw new S(String(n),"ERR_INVALID_INPUT")}}function X0(t,e,r){let n=$e.digest(r instanceof Uint8Array?r:r.subarray());if(vt(n))return n.then(({digest:i})=>Ot.verify(e,i,t)).catch(i=>{throw new S(String(i),"ERR_INVALID_INPUT")});try{return Ot.verify(e,n.digest,t)}catch(i){throw new S(String(i),"ERR_INVALID_INPUT")}}function Z0(t){return Ot.ProjectivePoint.fromHex(t).toRawBytes(!0)}function j0(t){try{Ot.getPublicKey(t,!0)}catch(e){throw new S(String(e),"ERR_INVALID_PRIVATE_KEY")}}function eu(t){try{Ot.ProjectivePoint.fromHex(t)}catch(e){throw new S(String(e),"ERR_INVALID_PUBLIC_KEY")}}function J0(t){try{return Ot.getPublicKey(t,!0)}catch(e){throw new S(String(e),"ERR_INVALID_PRIVATE_KEY")}}var Oi=class{_key;constructor(e){eu(e),this._key=e}verify(e,r){return X0(this._key,r,e)}marshal(){return Z0(this._key)}get bytes(){return Yt.encode({Type:be.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Gt(this.bytes,e.bytes)}async hash(){let e=$e.digest(this.bytes),r;return vt(e)?{bytes:r}=await e:r=e.bytes,r}},Mi=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??J0(e),j0(this._key),eu(this._publicKey)}sign(e){return Q0(this._key,e)}get public(){return new Oi(this._publicKey)}marshal(){return this._key}get bytes(){return Qt.encode({Type:be.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Gt(this.bytes,e.bytes)}hash(){let e=$e.digest(this.bytes);return vt(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return mt(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Fn(this.bytes,e);throw new S(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function V2(t){return new Mi(t)}function $2(t){return new Oi(t)}async function z2(){let t=Y0();return new Mi(t)}var Lr={rsa:Qc,ed25519:zc,secp256k1:tu};function ru(t){let e=Object.keys(Lr).join(" / ");return new S(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function nu(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return Lr[t];throw ru(t)}async function ed(t,e){return nu(t).generateKeyPair(e??2048)}function Ui(t){let e=Yt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case be.RSA:return Lr.rsa.unmarshalRsaPublicKey(r);case be.Ed25519:return Lr.ed25519.unmarshalEd25519PublicKey(r);case be.Secp256k1:return Lr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw ru(e.Type??"unknown")}}function td(t,e){return e=(e??"rsa").toLowerCase(),nu(e),t.bytes}async function iu(t){let e=Qt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case be.RSA:return Lr.rsa.unmarshalRsaPrivateKey(r);case be.Ed25519:return Lr.ed25519.unmarshalEd25519PrivateKey(r);case be.Secp256k1:return Lr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw ru(e.Type??"RSA")}}function rd(t,e){return e=(e??"rsa").toLowerCase(),nu(e),t.bytes}var bt=we(ou(),1);bt.default.formatters.b=t=>t==null?"undefined":Ee.baseEncode(t);bt.default.formatters.t=t=>t==null?"undefined":dt.baseEncode(t);bt.default.formatters.m=t=>t==null?"undefined":Rn.baseEncode(t);bt.default.formatters.p=t=>t==null?"undefined":t.toString();bt.default.formatters.c=t=>t==null?"undefined":t.toString();bt.default.formatters.k=t=>t==null?"undefined":t.toString();bt.default.formatters.a=t=>t==null?"undefined":t.toString();function iw(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function Qs(){return{forComponent(t){return sw(t)}}}function sw(t){let e=iw(`${t}:trace`);return bt.default.enabled(`${t}:trace`)&&bt.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,bt.default)(`${t}:trace`)),Object.assign((0,bt.default)(t),{error:(0,bt.default)(`${t}:error`),trace:e})}function au(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 ow=Symbol.for("nodejs.util.inspect.custom"),od=Object.values(de).map(t=>t.decoder).reduce((t,e)=>t.or(e),de.identity.decoder),ad=114,cu=36,uu=37,Fi=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[Fa]=!0;toString(){return this.string==null&&(this.string=Ee.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Bt.createV1(ad,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return au(this.multihash.bytes,e);if(typeof e=="string")return se(e).equals(this);if(e?.multihash?.bytes!=null)return au(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[ow](){return`PeerId(${this.toString()})`}},on=class extends Fi{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},an=class extends Fi{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},cn=class extends Fi{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function cd(t){if(t.type==="RSA")return new on(t);if(t.type==="Ed25519")return new an(t);if(t.type==="secp256k1")return new cn(t);throw new S("Not a PeerId","ERR_INVALID_PARAMETERS")}function se(t,e){if(e=e??od,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=Hr(Ee.decode(`z${t}`));return t.startsWith("12D")?new an({multihash:r}):t.startsWith("16U")?new cn({multihash:r}):new on({multihash:r})}return Gn(od.decode(t))}function Gn(t){try{let e=Hr(t);if(e.code===_r.code){if(e.digest.length===cu)return new an({multihash:e});if(e.digest.length===uu)return new cn({multihash:e})}if(e.code===$e.code)return new on({multihash:e})}catch{return aw(Bt.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function aw(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==ad)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===$e.code)return new on({multihash:t.multihash});if(e.code===_r.code){if(e.digest.length===cu)return new an({multihash:t.multihash});if(e.digest.length===uu)return new cn({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Xs(t,e){return t.length===cu?new an({multihash:Ht(_r.code,t),privateKey:e}):t.length===uu?new cn({multihash:Ht(_r.code,t),privateKey:e}):new on({multihash:await $e.digest(t),publicKey:t,privateKey:e})}function hr(t,e){let r={[Symbol.iterator]:()=>r,next:()=>{let n=t.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:e(i)}}};return r}var je=class{map;constructor(e){if(this.map=new Map,e!=null)for(let[r,n]of e.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(e){return this.map.delete(e.toString())}entries(){return hr(this.map.entries(),e=>[se(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,se(n),this)})}get(e){return this.map.get(e.toString())}has(e){return this.map.has(e.toString())}set(e,r){this.map.set(e.toString(),r)}keys(){return hr(this.map.keys(),e=>se(e))}values(){return this.map.values()}get size(){return this.map.size}};var St=class t{set;constructor(e){if(this.set=new Set,e!=null)for(let r of e)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(e){this.set.add(e.toString())}clear(){this.set.clear()}delete(e){this.set.delete(e.toString())}entries(){return hr(this.set.entries(),e=>{let r=se(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=se(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return hr(this.set.values(),e=>se(e))}intersection(e){let r=new t;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new t;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new t;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var Zs=class t{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return hr(this.list.entries(),e=>se(e[1]))}concat(e){let r=new t(this);for(let n of e)r.push(n);return r}entries(){return hr(this.list.entries(),e=>[e[0],se(e[1])])}every(e){return this.list.every((r,n)=>e(se(r),n,this))}filter(e){let r=new t;return this.list.forEach((n,i)=>{let s=se(n);e(s,i,this)&&r.push(s)}),r}find(e){let r=this.list.find((n,i)=>e(se(n),i,this));if(r!=null)return se(r)}findIndex(e){return this.list.findIndex((r,n)=>e(se(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(se(r),n,this)})}includes(e){return this.list.includes(e.toString())}indexOf(e){return this.list.indexOf(e.toString())}pop(){let e=this.list.pop();if(e!=null)return se(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return se(e)}unshift(...e){let r=this.list.length;for(let n=e.length-1;n>-1;n--)r=this.list.unshift(e[n].toString());return r}clear(){this.list=[]}get length(){return this.list.length}};function lu(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function ud(t=0){return globalThis.Buffer?.allocUnsafe!=null?lu(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function fd(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var ld=fd("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),fu=fd("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=ud(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),BC={utf8:ld,"utf-8":ld,hex:de.base16,latin1:fu,ascii:fu,binary:fu,...de};var hu;(function(t){let e;t.codec=()=>(e==null&&(e=Ge((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.id!=null&&(n.uint32(10),n.bytes(r.id)),r.pubKey!=null&&(n.uint32(18),n.bytes(r.pubKey)),r.privKey!=null&&(n.uint32(26),n.bytes(r.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.id=r.bytes();break;case 2:i.pubKey=r.bytes();break;case 3:i.privKey=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>He(r,t.codec()),t.decode=r=>ze(r,t.codec())})(hu||(hu={}));var hd=async()=>{let t=await ed("Ed25519"),e=await cw(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function cw(t){return Xs(td(t.public),rd(t))}var uw=Math.pow(2,7),lw=Math.pow(2,14),fw=Math.pow(2,21),du=Math.pow(2,28),pu=Math.pow(2,35),mu=Math.pow(2,42),gu=Math.pow(2,49),oe=128,Je=127;function et(t){if(t<uw)return 1;if(t<lw)return 2;if(t<fw)return 3;if(t<du)return 4;if(t<pu)return 5;if(t<mu)return 6;if(t<gu)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function hw(t,e,r=0){switch(et(t)){case 8:e[r++]=t&255|oe,t/=128;case 7:e[r++]=t&255|oe,t/=128;case 6:e[r++]=t&255|oe,t/=128;case 5:e[r++]=t&255|oe,t/=128;case 4:e[r++]=t&255|oe,t>>>=7;case 3:e[r++]=t&255|oe,t>>>=7;case 2:e[r++]=t&255|oe,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function dw(t,e,r=0){switch(et(t)){case 8:e.set(r++,t&255|oe),t/=128;case 7:e.set(r++,t&255|oe),t/=128;case 6:e.set(r++,t&255|oe),t/=128;case 5:e.set(r++,t&255|oe),t/=128;case 4:e.set(r++,t&255|oe),t>>>=7;case 3:e.set(r++,t&255|oe),t>>>=7;case 2:e.set(r++,t&255|oe),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function pw(t,e){let r=t[e],n=0;if(n+=r&Je,r<oe||(r=t[e+1],n+=(r&Je)<<7,r<oe)||(r=t[e+2],n+=(r&Je)<<14,r<oe)||(r=t[e+3],n+=(r&Je)<<21,r<oe)||(r=t[e+4],n+=(r&Je)*du,r<oe)||(r=t[e+5],n+=(r&Je)*pu,r<oe)||(r=t[e+6],n+=(r&Je)*mu,r<oe)||(r=t[e+7],n+=(r&Je)*gu,r<oe))return n;throw new RangeError("Could not decode varint")}function mw(t,e){let r=t.get(e),n=0;if(n+=r&Je,r<oe||(r=t.get(e+1),n+=(r&Je)<<7,r<oe)||(r=t.get(e+2),n+=(r&Je)<<14,r<oe)||(r=t.get(e+3),n+=(r&Je)<<21,r<oe)||(r=t.get(e+4),n+=(r&Je)*du,r<oe)||(r=t.get(e+5),n+=(r&Je)*pu,r<oe)||(r=t.get(e+6),n+=(r&Je)*mu,r<oe)||(r=t.get(e+7),n+=(r&Je)*gu,r<oe))return n;throw new RangeError("Could not decode varint")}function ut(t,e,r=0){return e==null&&(e=Ze(et(t))),e instanceof Uint8Array?hw(t,e,r):dw(t,e,r)}function Mt(t,e=0){return t instanceof Uint8Array?pw(t,e):mw(t,e)}function At(t,e){e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=Ze(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return jr(r)}function js(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 pd=Symbol.for("@achingbrain/uint8arraylist");function dd(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function Js(t){return!!t?.[pd]}var Fe=class t{bufs;length;[pd]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Js(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Js(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(e){let r=dd(this.bufs,e);return r.buf[r.index]}set(e,r){let n=dd(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(Js(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:i}=this._subList(e,r);return At(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:At(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),s=new t;return s.length=i,s.bufs=[...n],s}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:this.bufs,length:this.length};let n=[],i=0;for(let s=0;s<this.bufs.length;s++){let o=this.bufs[s],a=i,c=a+o.byteLength;if(i=c,e>=c)continue;let u=e>=a&&e<c,l=r>a&&r<=c;if(u&&l){if(e===a&&r===c){n.push(o);break}let f=e-a;n.push(o.subarray(f,f+(r-e)));break}if(u){if(e===0){n.push(o);continue}n.push(o.subarray(e-a));continue}if(l){if(r===c){n.push(o);break}n.push(o.subarray(0,r-a));break}n.push(o)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!Js(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let s=256,o=new Int32Array(s);for(let f=0;f<s;f++)o[f]=-1;for(let f=0;f<i;f++)o[n[f]]=f;let a=o,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=r;f<=c;f+=l){l=0;for(let d=u;d>=0;d--){let p=this.get(f+d);if(n[d]!==p){l=Math.max(1,d-a[p]);break}}if(l===0)return f}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=Ze(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=ur(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=ur(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=ur(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=Ze(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=ur(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=ur(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=ur(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=ur(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=ur(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof t)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!js(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new t;return n.bufs=e,r==null&&(r=e.reduce((i,s)=>i+s.byteLength,0)),n.length=r,n}};function md(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}function eo(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function gd(t=0){return globalThis.Buffer?.allocUnsafe!=null?eo(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function xd(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var yd=xd("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),yu=xd("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=gd(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),gw={utf8:yd,"utf-8":yd,hex:de.base16,latin1:yu,ascii:yu,binary:yu,...de},bd=gw;function wd(t,e="utf8"){let r=bd[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?eo(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var Ed={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var Ki;(function(t){let e;t.codec=()=>(e==null&&(e=Ge((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.publicKey!=null&&r.publicKey.byteLength>0&&(n.uint32(10),n.bytes(r.publicKey)),r.payloadType!=null&&r.payloadType.byteLength>0&&(n.uint32(18),n.bytes(r.payloadType)),r.payload!=null&&r.payload.byteLength>0&&(n.uint32(26),n.bytes(r.payload)),r.signature!=null&&r.signature.byteLength>0&&(n.uint32(42),n.bytes(r.signature)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.publicKey=r.bytes();break;case 2:i.payloadType=r.bytes();break;case 3:i.payload=r.bytes();break;case 5:i.signature=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>He(r,t.codec()),t.decode=r=>ze(r,t.codec())})(Ki||(Ki={}));var Wn=class t{static createFromProtobuf=async e=>{let r=Ki.decode(e),n=await Xs(r.publicKey);return new t({peerId:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})};static seal=async(e,r)=>{if(r.privateKey==null)throw new Error("Missing private key");let n=e.domain,i=e.codec,s=e.marshal(),o=vd(n,i,s),c=await(await iu(r.privateKey)).sign(o.subarray());return new t({peerId:r,payloadType:i,payload:s,signature:c})};static openAndCertify=async(e,r)=>{let n=await t.createFromProtobuf(e);if(!await n.validate(r))throw new S("envelope signature is not valid for the given domain",Ed.ERR_SIGNATURE_NOT_VALID);return n};peerId;payloadType;payload;signature;marshaled;constructor(e){let{peerId:r,payloadType:n,payload:i,signature:s}=e;this.peerId=r,this.payloadType=n,this.payload=i,this.signature=s}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=Ki.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return md(this.marshal(),e.marshal())}async validate(e){let r=vd(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return Ui(this.peerId.publicKey).verify(r.subarray(),this.signature)}},vd=(t,e,r)=>{let n=wd(t),i=ut(n.byteLength),s=ut(e.length),o=ut(r.length);return new Fe(i,n,s,e,o,r)};function _d(t,e){let r=(n,i)=>n.toString().localeCompare(i.toString());return t.length!==e.length?!1:(e.sort(r),t.sort(r).every((n,i)=>e[i].equals(n)))}function lt(t,e="utf8"){let r=qs[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var to=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let s=0,o=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let l=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let d=Number.parseInt(f,e);if(!Number.isNaN(d))return d});if(l===void 0)break;if(s*=e,s+=l,s>u||(o+=1,r!==void 0&&o>r))return}if(o!==0)return!n&&c&&o>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let o=this.readSeparator(":",n,()=>this.readIPv4Addr());if(o!==void 0)return r[i]=o[0],r[i+1]=o[1],r[i+2]=o[2],r[i+3]=o[3],[i+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[i,!1];r[i]=s>>8,r[i+1]=s&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),o=16-(n+2),[a]=e(s.subarray(0,o));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Sd=45,yw=15,Yn=new to;function xu(t){if(!(t.length>yw))return Yn.new(t).parseWith(()=>Yn.readIPv4Addr())}function bu(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>Sd))return Yn.new(t).parseWith(()=>Yn.readIPv6Addr())}function ro(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>Sd))return Yn.new(t).parseWith(()=>Yn.readIPAddr())}var DT=parseInt("0xFFFF",16),NT=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function no(t){return!!xu(t)}function io(t){return!!bu(t)}function Qn(t){return!!ro(t)}var Cd=no,vw=io,wu=function(t){let e=0;if(t=t.toString().trim(),Cd(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(vw(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=Cd(r[n]),o;s&&(o=wu(r[n]),r[n]=lt(o.slice(0,2),"base16")),o!=null&&++n<8&&r.splice(n,0,lt(o.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let s=[n,1];for(n=9-r.length;n>0;n--)s.push("0");r.splice.apply(r,s)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let s=parseInt(r[n],16);i[e++]=s>>8&255,i[e++]=s&255}return i}throw new Error("invalid ip address")},Td=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let s=0;s<r;s++)i.push(t[e+s]);return i.join(".")}if(r===16){let i=[];for(let s=0;s<r;s+=2)i.push(n.getUint16(e+s).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Xn={},Eu={},Sw=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];Sw.forEach(t=>{let e=Aw(...t);Eu[e.code]=e,Xn[e.name]=e});function Aw(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function ce(t){if(typeof t=="number"){if(Eu[t]!=null)return Eu[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(Xn[t]!=null)return Xn[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var yR=ce("ip4"),xR=ce("ip6"),bR=ce("ipcidr");function _u(t,e){switch(ce(t).code){case 4:case 41:return Cw(e);case 42:return Ld(e);case 6:case 273:case 33:case 132:return Dd(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Ld(e);case 421:return Lw(e);case 444:return Pd(e);case 445:return Pd(e);case 466:return Bw(e);default:return lt(e,"base16")}}function Su(t,e){switch(ce(t).code){case 4:return Rd(e);case 41:return Rd(e);case 42:return Bd(e);case 6:case 273:case 33:case 132:return Au(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Bd(e);case 421:return Tw(e);case 444:return Pw(e);case 445:return Dw(e);case 466:return Rw(e);default:return Ci(e,"base16")}}var vu=Object.values(de).map(t=>t.decoder),Iw=function(){let t=vu[0].or(vu[1]);return vu.slice(2).forEach(e=>t=t.or(e)),t}();function Rd(t){if(!Qn(t))throw new Error("invalid ip address");return wu(t)}function Cw(t){let e=Td(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!Qn(e))throw new Error("invalid ip address");return e}function Au(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Dd(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Bd(t){let e=Ci(t),r=Uint8Array.from(ut(e.length));return At([r,e],r.length+e.length)}function Ld(t){let e=Mt(t);if(t=t.slice(et(e)),t.length!==e)throw new Error("inconsistent lengths");return lt(t)}function Tw(t){let e;t[0]==="Q"||t[0]==="1"?e=Hr(Ee.decode(`z${t}`)).bytes:e=Bt.parse(t).multihash.bytes;let r=Uint8Array.from(ut(e.length));return At([r,e],r.length+e.length)}function Rw(t){let e=Iw.decode(t),r=Uint8Array.from(ut(e.length));return At([r,e],r.length+e.length)}function Bw(t){let e=Mt(t),r=t.slice(et(e));if(r.length!==e)throw new Error("inconsistent lengths");return"u"+lt(r,"base64url")}function Lw(t){let e=Mt(t),r=t.slice(et(e));if(r.length!==e)throw new Error("inconsistent lengths");return lt(r,"base58btc")}function Pw(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' 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=dt.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=Au(n);return At([r,i],r.length+i.length)}function Dw(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' 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=dt.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=Au(n);return At([r,i],r.length+i.length)}function Pd(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=lt(e,"base32"),i=Dd(r);return`${n}:${i}`}function Nd(t){t=Iu(t);let e=[],r=[],n=null,i=t.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let s=0;s<i.length;s++){let o=i[s],a=ce(o);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(s++,s>=i.length)throw Od("invalid address: "+t);if(a.path===!0){n=Iu(i.slice(s).join("/")),e.push([a.code,Su(a.code,n)]),r.push([a.code,n]);break}let c=Su(a.code,i[s]);e.push([a.code,c]),r.push([a.code,_u(a.code,c)])}return{string:kd(r),bytes:Tu(e),tuples:e,stringTuples:r,path:n}}function Cu(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let s=Mt(t,i),o=et(s),a=ce(s),c=Nw(a,t.slice(i+o));if(c===0){e.push([s]),r.push([s]),i+=o;continue}let u=t.slice(i+o,i+o+c);if(i+=c+o,i>t.length)throw Od("Invalid address Uint8Array: "+lt(t,"base16"));e.push([s,u]);let l=_u(s,u);if(r.push([s,l]),a.path===!0){n=l;break}}return{bytes:Uint8Array.from(t),string:kd(r),tuples:e,stringTuples:r,path:n}}function kd(t){let e=[];return t.map(r=>{let n=ce(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),Iu(e.join("/"))}function Tu(t){return At(t.map(e=>{let r=ce(e[0]),n=Uint8Array.from(ut(r.code));return e.length>1&&e[1]!=null&&(n=At([n,e[1]])),n}))}function Nw(t,e){if(t.size>0)return t.size/8;if(t.size===0)return 0;{let r=Mt(e instanceof Uint8Array?e:Uint8Array.from(e));return r+et(r)}}function Iu(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function Od(t){return new Error("Error parsing address: "+t)}var kw=Symbol.for("nodejs.util.inspect.custom"),Ru=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Ow=[ce("dns").code,ce("dns4").code,ce("dns6").code,ce("dnsaddr").code],so=class t{bytes;#e;#i;#s;#a;[Ru]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=Cu(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=Nd(e)}else if(Pr(e))r=Cu(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#i=r.tuples,this.#s=r.stringTuples,this.#a=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,s="",o=ce("tcp"),a=ce("udp"),c=ce("ip4"),u=ce("ip6"),l=ce("dns6"),f=ce("ip6zone");for(let[p,h]of this.stringTuples())p===f.code&&(s=`%${h??""}`),Ow.includes(p)&&(r=o.name,i=443,n=`${h??""}${s}`,e=p===l.code?6:4),(p===o.code||p===a.code)&&(r=ce(p).name,i=parseInt(h??"")),(p===c.code||p===u.code)&&(r=ce(p).name,n=`${h??""}${s}`,e=p===u.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.#i.map(([e])=>Object.assign({},ce(e)))}protoCodes(){return this.#i.map(([e])=>e)}protoNames(){return this.#i.map(([e])=>ce(e).name)}tuples(){return this.#i}stringTuples(){return this.#s}encapsulate(e){return e=new t(e),new t(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.toString()} does not contain subaddress: ${e.toString()}`);return new t(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 t(Tu(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===Xn.p2p.code&&e.push([n,i]),n===Xn["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?lt(Ee.decode(`z${n}`),"base58btc"):lt(Bt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#a}equals(e){return js(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=oo.get(r.name);if(n==null)throw new S(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(s=>new t(s))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}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)}[kw](){return`Multiaddr(${this.#e})`}};var oo=new Map;function Pr(t){return!!t?.[Ru]}function De(t){return new so(t)}var Md="libp2p-peer-record",Ud=Uint8Array.from([3,1]);var qi;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=Ge((s,o,a={})=>{a.lengthDelimited!==!1&&o.fork(),s.multiaddr!=null&&s.multiaddr.byteLength>0&&(o.uint32(10),o.bytes(s.multiaddr)),a.lengthDelimited!==!1&&o.ldelim()},(s,o)=>{let a={multiaddr:new Uint8Array(0)},c=o==null?s.len:s.pos+o;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:a.multiaddr=s.bytes();break;default:s.skipType(u&7);break}}return a})),i),n.encode=s=>He(s,n.codec()),n.decode=s=>ze(s,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=Ge((n,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(i.uint32(10),i.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let o of n.addresses)i.uint32(26),t.AddressInfo.codec().encode(o,i);s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={peerId:new Uint8Array(0),seq:0n,addresses:[]},o=i==null?n.len:n.pos+i;for(;n.pos<o;){let a=n.uint32();switch(a>>>3){case 1:s.peerId=n.bytes();break;case 2:s.seq=n.uint64();break;case 3:s.addresses.push(t.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return s})),r),t.encode=n=>He(n,t.codec()),t.decode=n=>ze(n,t.codec())})(qi||(qi={}));var ln=class t{static createFromProtobuf=e=>{let r=qi.decode(e),n=Gn(r.peerId),i=(r.addresses??[]).map(o=>De(o.multiaddr)),s=r.seq;return new t({peerId:n,multiaddrs:i,seqNumber:s})};static DOMAIN=Md;static CODEC=Ud;peerId;multiaddrs;seqNumber;domain=t.DOMAIN;codec=t.CODEC;marshaled;constructor(e){let{peerId:r,multiaddrs:n,seqNumber:i}=e;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=qi.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(e=>({multiaddr:e.bytes}))})),this.marshaled}equals(e){return!(!(e instanceof t)||!this.peerId.equals(e.peerId)||this.seqNumber!==e.seqNumber||!_d(this.multiaddrs,e.multiaddrs))}};function Mw(t){return t[Symbol.asyncIterator]!=null}function Uw(t){if(Mw(t))return(async()=>{let r=[];for await(let n of t)r.push(n);return r})();let e=[];for(let r of t)e.push(r);return e}var Vi=Uw;var fn=we(Kd(),1);var dr=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},Lu=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},qd=t=>globalThis.DOMException===void 0?new Lu(t):new DOMException(t),Vd=t=>{let e=t.reason===void 0?qd("This operation was aborted."):t.reason;return e instanceof Error?e:qd(e)};function pr(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:s={setTimeout,clearTimeout}}=e,o,c=new Promise((u,l)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:d}=e;d.aborted&&l(Vd(d)),d.addEventListener("abort",()=>{l(Vd(d))})}if(r===Number.POSITIVE_INFINITY){t.then(u,l);return}let f=new dr;o=s.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(d){l(d)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?u():i instanceof Error?l(i):(f.message=i??`Promise timed out after ${r} milliseconds`,l(f))},r),(async()=>{try{u(await t)}catch(d){l(d)}})()}).finally(()=>{c.clear()});return c.clear=()=>{s.clearTimeout.call(void 0,o),o=void 0},c}function Pu(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var zi=class{#e=[];enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&this.#e[this.size-1].priority>=r.priority){this.#e.push(n);return}let i=Pu(this.#e,n,(s,o)=>o.priority-s.priority);this.#e.splice(i,0,n)}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}};var Zn=class extends fn.default{#e;#i;#s=0;#a;#c;#p=0;#r;#u;#t;#m;#n=0;#l;#o;#g;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:zi,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${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 \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#i=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#g=e.throwOnTimeout===!0,this.#o=e.autoStart===!1}get#b(){return this.#i||this.#s<this.#a}get#w(){return this.#n<this.#l}#E(){this.#n--,this.#f(),this.emit("next")}#v(){this.#x(),this.#y(),this.#u=void 0}get#_(){let e=Date.now();if(this.#r===void 0){let r=this.#p-e;if(r<0)this.#s=this.#e?this.#n:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#v()},r)),!0}return!1}#f(){if(this.#t.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#o){let e=!this.#_;if(this.#b&&this.#w){let r=this.#t.dequeue();return r?(this.emit("active"),r(),e&&this.#y(),!0):!1}}return!1}#y(){this.#i||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#s===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#s=this.#e?this.#n:0,this.#h()}#h(){for(;this.#f(););}get concurrency(){return this.#l}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.#l=e,this.#h()}async#S(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#g,...r},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#n++,this.#s++;try{r.signal?.throwIfAborted();let s=e({signal:r.signal});r.timeout&&(s=pr(Promise.resolve(s),{milliseconds:r.timeout})),r.signal&&(s=Promise.race([s,this.#S(r.signal)]));let o=await s;n(o),this.emit("completed",o)}catch(s){if(s instanceof dr&&!r.throwOnTimeout){n();return}i(s),this.emit("error",s)}finally{this.#E()}},r),this.emit("add"),this.#f()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#o?(this.#o=!1,this.#h(),this):this}pause(){this.#o=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#d("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.size===0||await this.#d("idle")}async#d(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#o}};var Dr={},jn=t=>{t.addEventListener("message",e=>{jn.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{jn.dispatchEvent("message",t,e)})};jn.addEventListener=(t,e)=>{Dr[t]==null&&(Dr[t]=[]),Dr[t].push(e)};jn.removeEventListener=(t,e)=>{Dr[t]!=null&&(Dr[t]=Dr[t].filter(r=>r===e))};jn.dispatchEvent=function(t,e,r){Dr[t]!=null&&Dr[t].forEach(n=>n(e,r))};var Du=jn;var Nu="lock:worker:request-read",ku="lock:worker:release-read",Ou="lock:master:grant-read",Mu="lock:worker:request-write",Uu="lock:worker:release-write",Fu="lock:master:grant-write";var $d=(t=21)=>Math.random().toString().substring(2);var zd=(t,e,r,n,i)=>(s,o)=>{if(o.data.type!==r)return;let a={type:o.data.type,name:o.data.name,identifier:o.data.identifier};t.dispatchEvent(new MessageEvent(e,{data:{name:a.name,handler:async()=>{s.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=l=>{if(l==null||l.data==null)return;let f={type:l.data.type,name:l.data.name,identifier:l.data.identifier};f.type===n&&f.identifier===a.identifier&&(s.removeEventListener("message",u),c())};s.addEventListener("message",u)})}}}))},Hd=(t,e,r,n)=>async()=>{let i=$d();return globalThis.postMessage({type:e,identifier:i,name:t}),new Promise(s=>{let o=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===r&&c.identifier===i&&(globalThis.removeEventListener("message",o),s(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",o)})},qw={singleProcess:!1},Gd=t=>{if(t=Object.assign({},qw,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return Du.addEventListener("message",zd(r,"requestReadLock",Nu,ku,Ou)),Du.addEventListener("message",zd(r,"requestWriteLock",Mu,Uu,Fu)),r}return{isWorker:!0,readLock:r=>Hd(r,Nu,Ou,ku),writeLock:r=>Hd(r,Mu,Fu,Uu)}};var hn={},Nr;async function Ku(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>pr((async()=>{await new Promise(i=>{r(()=>{i()})})})(),{milliseconds:e.timeout})),n}var Vw=(t,e)=>{if(Nr.isWorker===!0)return{readLock:Nr.readLock(t,e),writeLock:Nr.writeLock(t,e)};let r=new Zn({concurrency:1}),n;return{async readLock(){if(n!=null)return Ku(n,e);n=new Zn({concurrency:e.concurrency,autoStart:!1});let i=n,s=Ku(n,e);return r.add(async()=>{i.start(),await i.onIdle().then(()=>{n===i&&(n=null)})}),s},async writeLock(){return n=null,Ku(r,e)}}},$w={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function qu(t){let e=Object.assign({},$w,t);return Nr==null&&(Nr=Gd(e),Nr.isWorker!==!0&&(Nr.addEventListener("requestReadLock",r=>{hn[r.data.name]!=null&&hn[r.data.name].readLock().then(async n=>r.data.handler().finally(()=>{n()}))}),Nr.addEventListener("requestWriteLock",async r=>{hn[r.data.name]!=null&&hn[r.data.name].writeLock().then(async n=>r.data.handler().finally(()=>{n()}))}))),hn[e.name]==null&&(hn[e.name]=Vw(e.name,e)),hn[e.name]}function co(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 We={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var Jn;(function(t){let e;(function(i){let s;i.codec=()=>(s==null&&(s=Ge((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&o.value.byteLength>0&&(a.uint32(18),a.bytes(o.value)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={key:"",value:new Uint8Array(0)},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:c.key=o.string();break;case 2:c.value=o.bytes();break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>He(o,i.codec()),i.decode=o=>ze(o,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let s;i.codec=()=>(s==null&&(s=Ge((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&(a.uint32(18),lo.codec().encode(o.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={key:""},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:c.key=o.string();break;case 2:c.value=lo.codec().decode(o,o.uint32());break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>He(o,i.codec()),i.decode=o=>ze(o,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=Ge((i,s,o={})=>{if(o.lengthDelimited!==!1&&s.fork(),i.addresses!=null)for(let a of i.addresses)s.uint32(10),uo.codec().encode(a,s);if(i.protocols!=null)for(let a of i.protocols)s.uint32(18),s.string(a);if(i.publicKey!=null&&(s.uint32(34),s.bytes(i.publicKey)),i.peerRecordEnvelope!=null&&(s.uint32(42),s.bytes(i.peerRecordEnvelope)),i.metadata!=null&&i.metadata.size!==0)for(let[a,c]of i.metadata.entries())s.uint32(50),t.Peer$metadataEntry.codec().encode({key:a,value:c},s);if(i.tags!=null&&i.tags.size!==0)for(let[a,c]of i.tags.entries())s.uint32(58),t.Peer$tagsEntry.codec().encode({key:a,value:c},s);o.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let o={addresses:[],protocols:[],metadata:new Map,tags:new Map},a=s==null?i.len:i.pos+s;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:o.addresses.push(uo.codec().decode(i,i.uint32()));break;case 2:o.protocols.push(i.string());break;case 4:o.publicKey=i.bytes();break;case 5:o.peerRecordEnvelope=i.bytes();break;case 6:{let u=t.Peer$metadataEntry.codec().decode(i,i.uint32());o.metadata.set(u.key,u.value);break}case 7:{let u=t.Peer$tagsEntry.codec().decode(i,i.uint32());o.tags.set(u.key,u.value);break}default:i.skipType(c&7);break}}return o})),n),t.encode=i=>He(i,t.codec()),t.decode=i=>ze(i,t.codec())})(Jn||(Jn={}));var uo;(function(t){let e;t.codec=()=>(e==null&&(e=Ge((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.multiaddr!=null&&r.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(r.multiaddr)),r.isCertified!=null&&(n.uint32(16),n.bool(r.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={multiaddr:new Uint8Array(0)},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.multiaddr=r.bytes();break;case 2:i.isCertified=r.bool();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>He(r,t.codec()),t.decode=r=>ze(r,t.codec())})(uo||(uo={}));var lo;(function(t){let e;t.codec=()=>(e==null&&(e=Ge((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.value!=null&&r.value!==0&&(n.uint32(8),n.uint32(r.value)),r.expiry!=null&&(n.uint32(16),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={value:0},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.value=r.uint32();break;case 2:i.expiry=r.uint64();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>He(r,t.codec()),t.decode=r=>ze(r,t.codec())})(lo||(lo={}));function ei(t,e){let r=Jn.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=cd({...t,publicKey:t.publicKey}));let n=new Map,i=BigInt(Date.now());for(let[s,o]of r.tags.entries())o.expiry!=null&&o.expiry<i||n.set(s,o);return{...r,id:t,addresses:r.addresses.map(({multiaddr:s,isCertified:o})=>({multiaddr:De(s),isCertified:o??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}function fo(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Wd(t=0){return globalThis.Buffer?.allocUnsafe!=null?fo(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Qd(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Yd=Qd("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Vu=Qd("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=Wd(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),zw={utf8:Yd,"utf-8":Yd,hex:de.base16,latin1:Vu,ascii:Vu,binary:Vu,...de},ho=zw;function Xd(t,e="utf8"){let r=ho[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?fo(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function Zd(t,e="utf8"){let r=ho[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var mr="/",jd=new TextEncoder().encode(mr),po=jd[0],dn=class t{_buf;constructor(e,r){if(typeof e=="string")this._buf=Xd(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]!==po)throw new Error("Invalid key")}toString(e="utf8"){return Zd(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new t(e.join(mr))}static random(){return new t(Math.random().toString().substring(2))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new t(e):typeof e.uint8Array=="function"?new t(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=jd),this._buf[0]!==po){let e=new Uint8Array(this._buf.byteLength+1);e.fill(po,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===po;)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 t.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(mr).slice(1)}type(){return Hw(this.baseNamespace())}name(){return Gw(this.baseNamespace())}instance(e){return new t(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(mr)||(e+=mr),e+=this.type(),new t(e)}parent(){let e=this.list();return e.length===1?new t(mr):new t(e.slice(0,-1).join(mr))}child(e){return this.toString()===mr?e:e.toString()===mr?this:new t(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 t.withNamespaces([...this.namespaces(),...Ww(e.map(r=>r.namespaces()))])}};function Hw(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function Gw(t){let e=t.split(":");return e[e.length-1]}function Ww(t){return[].concat(...t)}var $u="/peers/";function ti(t){if(!vs(t)||t.type==null)throw new S("Invalid PeerId",We.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new dn(`${$u}${e}`)}async function Jd(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=De(i.multiaddr)),!Pr(i.multiaddr))throw new S("Multiaddr was invalid",We.ERR_INVALID_PARAMETERS);if(!await e(t,i.multiaddr))continue;let s=i.isCertified??!1,o=i.multiaddr.toString(),a=n.get(o);a!=null?i.isCertified=a.isCertified||s:n.set(o,{multiaddr:i.multiaddr,isCertified:s})}return[...n.values()].sort((i,s)=>i.multiaddr.toString().localeCompare(s.multiaddr.toString())).map(({isCertified:i,multiaddr:s})=>({isCertified:i,multiaddr:s.bytes}))}async function go(t,e,r,n){if(e==null)throw new S("Invalid PeerData",We.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!co(e.publicKey,t.publicKey))throw new S("publicKey bytes do not match peer id publicKey bytes",We.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new S("peer id did not match existing peer id",We.ERR_INVALID_PARAMETERS);let s=i?.addresses??[],o=new Set(i?.protocols??[]),a=i?.metadata??new Map,c=i?.tags??new Map,u=i?.peerRecordEnvelope;if(r==="patch"){if((e.multiaddrs!=null||e.addresses!=null)&&(s=[],e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses)),e.protocols!=null&&(o=new Set(e.protocols)),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);a=mo(f,{validate:ep})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=mo(f,{validate:tp,map:rp})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}if(r==="merge"){if(e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses),e.protocols!=null&&(o=new Set([...o,...e.protocols])),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);for(let[d,p]of f)p==null?a.delete(d):a.set(d,p);a=mo([...a.entries()],{validate:ep})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags),d=new Map(c);for(let[p,h]of f)h==null?d.delete(p):d.set(p,h);c=mo([...d.entries()],{validate:tp,map:rp})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await Jd(t,n.addressFilter??(async()=>!0),s),protocols:[...o.values()].sort((f,d)=>f.localeCompare(d)),metadata:a,tags:c,publicKey:i?.id.publicKey??e.publicKey??t.publicKey,peerRecordEnvelope:u};return t.type!=="RSA"&&delete l.publicKey,l}function mo(t,e){let r=new Map;for(let[n,i]of t)i!=null&&e.validate(n,i);for(let[n,i]of t.sort(([s],[o])=>s.localeCompare(o)))i!=null&&r.set(n,e.map?.(n,i)??i);return r}function ep(t,e){if(typeof t!="string")throw new S("Metadata key must be a string",We.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new S("Metadata value must be a Uint8Array",We.ERR_INVALID_PARAMETERS)}function tp(t,e){if(typeof t!="string")throw new S("Tag name must be a string",We.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new S("Tag value must be an integer",We.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new S("Tag value must be between 0-100",We.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new S("Tag ttl must be an integer",We.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new S("Tag ttl must be between greater than 0",We.ERR_INVALID_PARAMETERS)}}function rp(t,e){let r;return e.expiry!=null&&(r=e.expiry),e.ttl!=null&&(r=BigInt(Date.now()+Number(e.ttl))),{value:e.value??0,expiry:r}}function yo(t,e,r){let n=t.toString().split("/")[2],i=dt.decode(n),s=Gn(i),o=r.get(s);if(o!=null)return o;let a=ei(s,e);return r.set(s,a),a}function Yw(t,e){return t==null?{}:{prefix:$u,filters:(t.filters??[]).map(r=>({key:n,value:i})=>r(yo(n,i,e))),orders:(t.orders??[]).map(r=>(n,i)=>r(yo(n.key,n.value,e),yo(i.key,i.value,e)))}}var xo=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=qu({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(ti(e))}async delete(e){if(this.peerId.equals(e))throw new S("Cannot delete self peer",We.ERR_INVALID_PARAMETERS);await this.datastore.delete(ti(e))}async load(e){let r=await this.datastore.get(ti(e));return ei(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await go(e,r,"patch",{addressFilter:this.addressFilter});return this.#i(e,s,n,i)}async patch(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await go(e,r,"patch",{addressFilter:this.addressFilter,existingPeer:i});return this.#i(e,s,n,i)}async merge(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await go(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return this.#i(e,s,n,i)}async*all(e){let r=new je;for await(let{key:n,value:i}of this.datastore.query(Yw(e??{},r))){let s=yo(n,i,r);s.id.equals(this.peerId)||(yield s)}}async#e(e){try{let r=await this.datastore.get(ti(e)),n=ei(e,r);return{existingBuf:r,existingPeer:n}}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}return{}}async#i(e,r,n,i){let s=Jn.encode(r);return n!=null&&co(s,n)?{peer:ei(e,s),previous:i,updated:!1}:(await this.datastore.put(ti(e),s),{peer:ei(e,s),previous:i,updated:!0})}};var bo=class{store;events;peerId;log;constructor(e,r={}){this.log=e.logger.forComponent("libp2p:peer-store"),this.events=e.events,this.peerId=e.peerId,this.store=new xo(e,r)}async forEach(e,r){this.log.trace("forEach await read lock");let n=await this.store.lock.readLock();this.log.trace("forEach got read lock");try{for await(let i of this.store.all(r))e(i)}finally{this.log.trace("forEach release read lock"),n()}}async all(e){this.log.trace("all await read lock");let r=await this.store.lock.readLock();this.log.trace("all got read lock");try{return await Vi(this.store.all(e))}finally{this.log.trace("all release read lock"),r()}}async delete(e){this.log.trace("delete await write lock");let r=await this.store.lock.writeLock();this.log.trace("delete got write lock");try{await this.store.delete(e)}finally{this.log.trace("delete release write lock"),r()}}async has(e){this.log.trace("has await read lock");let r=await this.store.lock.readLock();this.log.trace("has got read lock");try{return await this.store.has(e)}finally{this.log.trace("has release read lock"),r()}}async get(e){this.log.trace("get await read lock");let r=await this.store.lock.readLock();this.log.trace("get got read lock");try{return await this.store.load(e)}finally{this.log.trace("get release read lock"),r()}}async save(e,r){this.log.trace("save await write lock");let n=await this.store.lock.writeLock();this.log.trace("save got write lock");try{let i=await this.store.save(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("save release write lock"),n()}}async patch(e,r){this.log.trace("patch await write lock");let n=await this.store.lock.writeLock();this.log.trace("patch got write lock");try{let i=await this.store.patch(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("patch release write lock"),n()}}async merge(e,r){this.log.trace("merge await write lock");let n=await this.store.lock.writeLock();this.log.trace("merge got write lock");try{let i=await this.store.merge(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("merge release write lock"),n()}}async consumePeerRecord(e,r){let n=await Wn.openAndCertify(e,ln.DOMAIN);if(r?.equals(n.peerId)===!1)return this.log("envelope peer id was not the expected peer id - expected: %p received: %p",r,n.peerId),!1;let i=ln.createFromProtobuf(n.payload),s;try{s=await this.get(n.peerId)}catch(o){if(o.code!=="ERR_NOT_FOUND")throw o}if(s?.peerRecordEnvelope!=null){let o=await Wn.createFromProtobuf(s.peerRecordEnvelope),a=ln.createFromProtobuf(o.payload);if(a.seqNumber>=i.seqNumber)return this.log("sequence number was lower or equal to existing sequence number - stored: %d received: %d",a.seqNumber,i.seqNumber),!1}return await this.patch(i.peerId,{peerRecordEnvelope:e,addresses:i.multiaddrs.map(o=>({isCertified:!0,multiaddr:o}))}),!0}#e(e,r){r.updated&&(this.peerId.equals(e)?this.events.safeDispatchEvent("self:peer:update",{detail:r}):this.events.safeDispatchEvent("peer:update",{detail:r}))}};function Qw(t){return t[Symbol.asyncIterator]!=null}function Xw(t){if(Qw(t))return(async()=>{for await(let e of t);})();for(let e of t);}var zu=Xw;function Zw(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var np=Zw;function jw(t){return t[Symbol.asyncIterator]!=null}function Jw(t,e){if(jw(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=np(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let s=e(n);if(typeof s.then=="function")return async function*(){await s&&(yield n);for await(let a of r)await e(a)&&(yield a)}();let o=e;return function*(){s===!0&&(yield n);for(let a of r)o(a)&&(yield a)}()}var pn=Jw;function eE(t){return t[Symbol.asyncIterator]!=null}function tE(t,e){return eE(t)?async function*(){yield*(await Vi(t)).sort(e)}():function*(){yield*Vi(t).sort(e)}()}var Hu=tE;function rE(t){return t[Symbol.asyncIterator]!=null}function nE(t,e){return rE(t)?async function*(){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}}():function*(){let r=0;if(!(e<1)){for(let n of t)if(yield n,r++,r===e)return}}()}var Gu=nE;var wo=class{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 n}async*getMany(e,r={}){for await(let n of e)yield{key:n,value:await 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 zu(this.putMany(e,n)),e=[],await zu(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){let i=e.prefix;n=pn(n,s=>s.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>pn(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>Hu(i,s),n)),e.offset!=null){let i=0,s=e.offset;n=pn(n,()=>i++>=s)}return e.limit!=null&&(n=Gu(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=pn(n,s=>s.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>pn(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>Hu(i,s),n)),e.offset!=null){let i=e.offset,s=0;n=pn(n,()=>s++>=i)}return e.limit!=null&&(n=Gu(n,e.limit)),n}};var op=we(Wu(),1);function ap(t){return t=t??new Error("Not Found"),(0,op.default)(t,"ERR_NOT_FOUND")}var Eo=class extends wo{data;constructor(){super(),this.data=new Map}put(e,r){return this.data.set(e.toString(),r),e}get(e){let r=this.data.get(e.toString());if(r==null)throw ap();return r}has(e){return this.data.has(e.toString())}delete(e){this.data.delete(e.toString())}*_all(){for(let[e,r]of this.data.entries())yield{key:new dn(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new dn(e)}};function mn(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function vo(t=0){return globalThis.Buffer?.allocUnsafe!=null?mn(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function cp(t,e){if(globalThis.Buffer!=null)return mn(globalThis.Buffer.concat(t,e));e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=vo(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return mn(r)}function lp(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var up=lp("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Yu=lp("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=vo(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),oE={utf8:up,"utf-8":up,hex:de.base16,latin1:Yu,ascii:Yu,binary:Yu,...de},_o=oE;function So(t,e="utf8"){let r=_o[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?mn(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function fp(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var aE=t=>t;function Qu(t,e){let r=t.getPeerId();return r!=null&&se(r).equals(e)&&(t=t.decapsulate(De(`/p2p/${e.toString()}`))),t}var Ao=class{log;components;listen;announce;observed;announceFilter;constructor(e,r={}){let{listen:n=[],announce:i=[]}=r;this.components=e,this.log=e.logger.forComponent("libp2p:address-manager"),this.listen=n.map(s=>s.toString()),this.announce=new Set(i.map(s=>s.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??aE,this._updatePeerStoreAddresses=fp(this._updatePeerStoreAddresses.bind(this),1e3),e.events.addEventListener("transport:listening",()=>{this._updatePeerStoreAddresses()}),e.events.addEventListener("transport:close",()=>{this._updatePeerStoreAddresses()})}_updatePeerStoreAddresses(){let e=this.getAnnounceAddrs().concat(this.components.transportManager.getAddrs()).concat([...this.observed.entries()].filter(([r,n])=>n.confident).map(([r])=>De(r))).map(r=>r.getPeerId()===this.components.peerId.toString()?r.decapsulate(`/p2p/${this.components.peerId.toString()}`):r);this.components.peerStore.patch(this.components.peerId,{multiaddrs:e}).catch(r=>{this.log.error("error updating addresses",r)})}getListenAddrs(){return Array.from(this.listen).map(e=>De(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>De(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>De(e))}addObservedAddr(e){e=Qu(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=Qu(e,this.components.peerId);let r=e.toString(),i=(this.observed.get(r)??{confident:!1}).confident;this.observed.set(r,{confident:!0}),i||this._updatePeerStoreAddresses()}removeObservedAddr(e){e=Qu(e,this.components.peerId);let r=e.toString();this.observed.delete(r)}getAddresses(){let e=this.getAnnounceAddrs().map(n=>n.toString());e.length===0&&(e=this.components.transportManager.getAddrs().map(n=>n.toString())),e=e.concat(Array.from(this.observed).filter(([n,i])=>i.confident).map(([n])=>n));let r=new Set(e);return this.announceFilter(Array.from(r).map(n=>De(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};var Xu=class{components={};_started=!1;constructor(e={}){this.components={};for(let[r,n]of Object.entries(e))this.components[r]=n;this.components.logger==null&&(this.components.logger=Qs())}isStarted(){return this._started}async _invokeStartableMethod(e){await Promise.all(Object.values(this.components).filter(r=>Eh(r)).map(async r=>{await r[e]?.()}))}async beforeStart(){await this._invokeStartableMethod("beforeStart")}async start(){await this._invokeStartableMethod("start"),this._started=!0}async afterStart(){await this._invokeStartableMethod("afterStart")}async beforeStop(){await this._invokeStartableMethod("beforeStop")}async stop(){await this._invokeStartableMethod("stop"),this._started=!1}async afterStop(){await this._invokeStartableMethod("afterStop")}},cE=["metrics","connectionProtector"],uE=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function hp(t={}){let e=new Xu(t);return new Proxy(e,{get(n,i,s){if(typeof i=="string"&&!uE.includes(i)){let o=e.components[i];if(o==null&&!cE.includes(i))throw new S(`${i} not set`,"ERR_SERVICE_MISSING");return o}return Reflect.get(n,i,s)},set(n,i,s){return typeof i=="string"?e.components[i]=s:Reflect.set(n,i,s),!0}})}var bp=we(dp(),1);var pp="[a-fA-F\\d:]",kr=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${pp})|(?<=${pp})(?=\\s|$))`:"",Ut="(?: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}",Be="[a-fA-F\\d]{1,4}",Io=`
|
|
37
|
+
SELECT points, expire FROM ${this._getTableIdentifier()} WHERE key = $1 AND (expire > $2 OR expire IS NULL);`,values:[e,Date.now()]}).then(i=>{i.rowCount===0&&(i=null),r(i)}).catch(i=>{n(i)})}):Promise.reject(Error("Table is not created yet"))}_delete(e){return this.tableCreated?this._query({name:"rlflx-delete",text:`DELETE FROM ${this._getTableIdentifier()} WHERE key = $1`,values:[e]}).then(r=>r.rowCount>0):Promise.reject(Error("Table is not created yet"))}};Pg.exports=af});var kg=q(()=>{});var Ug=q((wN,Og)=>{Og.exports=class{constructor(e,r,n=null){this.value=e,this.expiresAt=r,this.timeoutId=n}get value(){return this._value}set value(e){this._value=parseInt(e)}get expiresAt(){return this._expiresAt}set expiresAt(e){!(e instanceof Date)&&Number.isInteger(e)&&(e=new Date(e)),this._expiresAt=e}get timeoutId(){return this._timeoutId}set timeoutId(e){this._timeoutId=e}}});var Fg=q((vN,Mg)=>{var LS=Ug(),cf=ht();Mg.exports=class{constructor(){this._storage={}}incrby(e,r,n){if(this._storage[e]){let i=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return!this._storage[e].expiresAt||i>0?(this._storage[e].value=this._storage[e].value+r,new cf(0,i,this._storage[e].value,!1)):this.set(e,r,n)}return this.set(e,r,n)}set(e,r,n){let i=n*1e3;return this._storage[e]&&this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),this._storage[e]=new LS(r,i>0?new Date(Date.now()+i):null),i>0&&(this._storage[e].timeoutId=setTimeout(()=>{delete this._storage[e]},i),this._storage[e].timeoutId.unref&&this._storage[e].timeoutId.unref()),new cf(0,i===0?-1:i,this._storage[e].value,!0)}get(e){if(this._storage[e]){let r=this._storage[e].expiresAt?this._storage[e].expiresAt.getTime()-new Date().getTime():-1;return new cf(0,r,this._storage[e].value,!1)}return null}delete(e){return this._storage[e]?(this._storage[e].timeoutId&&clearTimeout(this._storage[e].timeoutId),delete this._storage[e],!0):!1}}});var lf=q((AN,qg)=>{var DS=ls(),PS=Fg(),Kg=ht(),uf=class extends DS{constructor(e={}){super(e),this._memoryStorage=new PS}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=this.getKey(e),a=this._getKeySecDuration(n),c=this._memoryStorage.incrby(o,r,a);if(c.remainingPoints=Math.max(this.points-c.consumedPoints,0),c.consumedPoints>this.points)this.blockDuration>0&&c.consumedPoints<=this.points+r&&(c=this._memoryStorage.set(o,c.consumedPoints,this.blockDuration)),s(c);else if(this.execEvenly&&c.msBeforeNext>0&&!c.isFirstInDuration){let u=Math.ceil(c.msBeforeNext/(c.remainingPoints+2));u<this.execEvenlyMinDelayMs&&(u=c.consumedPoints*this.execEvenlyMinDelayMs),setTimeout(i,u,c)}else i(c)})}penalty(e,r=1,n={}){let i=this.getKey(e);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,r,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}reward(e,r=1,n={}){let i=this.getKey(e);return new Promise(s=>{let o=this._getKeySecDuration(n),a=this._memoryStorage.incrby(i,-r,o);a.remainingPoints=Math.max(this.points-a.consumedPoints,0),s(a)})}block(e,r){let n=r*1e3,i=this.points+1;return this._memoryStorage.set(this.getKey(e),i,r),Promise.resolve(new Kg(0,n===0?-1:n,i))}set(e,r,n){let i=(n>=0?n:this.duration)*1e3;return this._memoryStorage.set(this.getKey(e),r,n),Promise.resolve(new Kg(0,i===0?-1:i,r))}get(e){let r=this._memoryStorage.get(this.getKey(e));return r!==null&&(r.remainingPoints=Math.max(this.points-r.consumedPoints,0)),Promise.resolve(r)}delete(e){return Promise.resolve(this._memoryStorage.delete(this.getKey(e)))}};qg.exports=uf});var Yg=q((SN,Wg)=>{var Vg=kg(),NS=Ti(),kS=ls(),zg=lf(),OS=ht(),Ct="rate_limiter_flexible",bi=null,$g=function(t,e,r,n){let i;n===null||n===!0||n===!1?i=n:i={remainingPoints:n.remainingPoints,msBeforeNext:n.msBeforeNext,consumedPoints:n.consumedPoints,isFirstInDuration:n.isFirstInDuration},t.send({channel:Ct,keyPrefix:e.keyPrefix,promiseId:e.promiseId,type:r,data:i})},Hg=function(t){setTimeout(()=>{this._initiated?process.send(t):typeof this._promises[t.promiseId]<"u"&&Hg.call(this,t)},30)},yi=function(t,e,r,n,i){let s={channel:Ct,keyPrefix:this.keyPrefix,func:t,promiseId:e,data:{key:r,arg:n,opts:i}};this._initiated?process.send(s):Hg.call(this,s)},Gg=function(t,e){if(!e||e.channel!==Ct||typeof this._rateLimiters[e.keyPrefix]>"u")return!1;let r;switch(e.func){case"consume":r=this._rateLimiters[e.keyPrefix].consume(e.data.key,e.data.arg,e.data.opts);break;case"penalty":r=this._rateLimiters[e.keyPrefix].penalty(e.data.key,e.data.arg,e.data.opts);break;case"reward":r=this._rateLimiters[e.keyPrefix].reward(e.data.key,e.data.arg,e.data.opts);break;case"block":r=this._rateLimiters[e.keyPrefix].block(e.data.key,e.data.arg,e.data.opts);break;case"get":r=this._rateLimiters[e.keyPrefix].get(e.data.key,e.data.opts);break;case"delete":r=this._rateLimiters[e.keyPrefix].delete(e.data.key,e.data.opts);break;default:return!1}r&&r.then(n=>{$g(t,e,"resolve",n)}).catch(n=>{$g(t,e,"reject",n)})},US=function(t){if(!t||t.channel!==Ct||t.keyPrefix!==this.keyPrefix)return!1;if(this._promises[t.promiseId]){clearTimeout(this._promises[t.promiseId].timeoutId);let e;switch(t.data===null||t.data===!0||t.data===!1?e=t.data:e=new OS(t.data.remainingPoints,t.data.msBeforeNext,t.data.consumedPoints,t.data.isFirstInDuration),t.type){case"resolve":this._promises[t.promiseId].resolve(e);break;case"reject":this._promises[t.promiseId].reject(e);break;default:throw new Error(`RateLimiterCluster: no such message type '${t.type}'`)}delete this._promises[t.promiseId]}},MS=function(){return{points:this.points,duration:this.duration,blockDuration:this.blockDuration,execEvenly:this.execEvenly,execEvenlyMinDelayMs:this.execEvenlyMinDelayMs,keyPrefix:this.keyPrefix}},xi=function(t,e){let r=process.hrtime(),n=r[0].toString()+r[1].toString();return typeof this._promises[n]<"u"&&(n+=NS.randomBytes(12).toString("base64")),this._promises[n]={resolve:t,reject:e,timeoutId:setTimeout(()=>{delete this._promises[n],e(new Error("RateLimiterCluster timeout: no answer from master in time"))},this.timeoutMs)},n},ff=class{constructor(){if(bi)return bi;this._rateLimiters={},Vg.setMaxListeners(0),Vg.on("message",(e,r)=>{r&&r.channel===Ct&&r.type==="init"?(typeof this._rateLimiters[r.opts.keyPrefix]>"u"&&(this._rateLimiters[r.opts.keyPrefix]=new zg(r.opts)),e.send({channel:Ct,type:"init",keyPrefix:r.opts.keyPrefix})):Gg.call(this,e,r)}),bi=this}},hf=class{constructor(e){if(bi)return bi;this._rateLimiters={},e.launchBus((r,n)=>{n.on("process:msg",i=>{let s=i.raw;if(s&&s.channel===Ct&&s.type==="init")typeof this._rateLimiters[s.opts.keyPrefix]>"u"&&(this._rateLimiters[s.opts.keyPrefix]=new zg(s.opts)),e.sendDataToProcessId(i.process.pm_id,{data:{},topic:Ct,channel:Ct,type:"init",keyPrefix:s.opts.keyPrefix},(o,a)=>{o&&console.log(o,a)});else{let o={send:a=>{let c=a;c.topic=Ct,typeof c.data>"u"&&(c.data={}),e.sendDataToProcessId(i.process.pm_id,c,(u,l)=>{u&&console.log(u,l)})}};Gg.call(this,o,s)}})}),bi=this}},df=class extends kS{get timeoutMs(){return this._timeoutMs}set timeoutMs(e){this._timeoutMs=typeof e>"u"?5e3:Math.abs(parseInt(e))}constructor(e={}){super(e),process.setMaxListeners(0),this.timeoutMs=e.timeoutMs,this._initiated=!1,process.on("message",r=>{r&&r.channel===Ct&&r.type==="init"&&r.keyPrefix===this.keyPrefix?this._initiated=!0:US.call(this,r)}),process.send({channel:Ct,type:"init",opts:MS.call(this)}),this._promises={}}consume(e,r=1,n={}){return new Promise((i,s)=>{let o=xi.call(this,i,s);yi.call(this,"consume",o,e,r,n)})}penalty(e,r=1,n={}){return new Promise((i,s)=>{let o=xi.call(this,i,s);yi.call(this,"penalty",o,e,r,n)})}reward(e,r=1,n={}){return new Promise((i,s)=>{let o=xi.call(this,i,s);yi.call(this,"reward",o,e,r,n)})}block(e,r,n={}){return new Promise((i,s)=>{let o=xi.call(this,i,s);yi.call(this,"block",o,e,r,n)})}get(e,r={}){return new Promise((n,i)=>{let s=xi.call(this,n,i);yi.call(this,"get",s,e,r)})}delete(e,r={}){return new Promise((n,i)=>{let s=xi.call(this,n,i);yi.call(this,"delete",s,e,r)})}};Wg.exports={RateLimiterClusterMaster:ff,RateLimiterClusterMasterPM2:hf,RateLimiterCluster:df}});var Xg=q((_N,Qg)=>{var FS=An(),KS=ht(),pf=class extends FS{constructor(e){super(e),this.client=e.storeClient}_getRateLimiterRes(e,r,n){let i=new KS;return i.consumedPoints=parseInt(n.consumedPoints),i.isFirstInDuration=n.consumedPoints===r,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.msBeforeNext,i}_upsert(e,r,n,i=!1,s={}){return new Promise((o,a)=>{let c=Date.now(),u=Math.floor(n/1e3);i?this.client.set(e,r,u,l=>{l?a(l):this.client.set(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let f={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(f)})}):this.client.incr(e,r,(l,f)=>{l||f===!1?this.client.add(e,r,u,(d,p)=>{if(d||!p)if(typeof s.attemptNumber>"u"||s.attemptNumber<3){let h=Object.assign({},s);h.attemptNumber=h.attemptNumber?h.attemptNumber+1:1,this._upsert(e,r,n,i,h).then(m=>o(m)).catch(m=>a(m))}else a(new Error("Can not add key"));else this.client.add(`${e}_expire`,u>0?c+u*1e3:-1,u,()=>{let h={consumedPoints:r,msBeforeNext:u>0?u*1e3:-1};o(h)})}):this.client.get(`${e}_expire`,(d,p)=>{if(d)a(d);else{let h=p===!1?0:p,m={consumedPoints:f,msBeforeNext:h>=0?Math.max(h-c,0):-1};o(m)}})})})}_get(e){return new Promise((r,n)=>{let i=Date.now();this.client.get(e,(s,o)=>{o?this.client.get(`${e}_expire`,(a,c)=>{if(a)n(a);else{let u=c===!1?0:c,l={consumedPoints:o,msBeforeNext:u>=0?Math.max(u-i,0):-1};r(l)}}):r(null)})})}_delete(e){return new Promise((r,n)=>{this.client.del(e,(i,s)=>{i?n(i):s===!1?r(s):this.client.del(`${e}_expire`,o=>{o?n(o):r(s)})})})}};Qg.exports=pf});var Jg=q((CN,jg)=>{var Zg=ht();jg.exports=class{constructor(e={}){this.limiter=e.limiter,this.blackList=e.blackList,this.whiteList=e.whiteList,this.isBlackListed=e.isBlackListed,this.isWhiteListed=e.isWhiteListed,this.runActionAnyway=e.runActionAnyway}get limiter(){return this._limiter}set limiter(e){if(typeof e>"u")throw new Error("limiter is not set");this._limiter=e}get runActionAnyway(){return this._runActionAnyway}set runActionAnyway(e){this._runActionAnyway=typeof e>"u"?!1:e}get blackList(){return this._blackList}set blackList(e){this._blackList=Array.isArray(e)?e:[]}get isBlackListed(){return this._isBlackListed}set isBlackListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isBlackListed must be function");this._isBlackListed=e}get whiteList(){return this._whiteList}set whiteList(e){this._whiteList=Array.isArray(e)?e:[]}get isWhiteListed(){return this._isWhiteListed}set isWhiteListed(e){if(typeof e>"u"&&(e=()=>!1),typeof e!="function")throw new Error("isWhiteListed must be function");this._isWhiteListed=e}isBlackListedSomewhere(e){return this.blackList.indexOf(e)>=0||this.isBlackListed(e)}isWhiteListedSomewhere(e){return this.whiteList.indexOf(e)>=0||this.isWhiteListed(e)}getBlackRes(){return new Zg(0,Number.MAX_SAFE_INTEGER,0,!1)}getWhiteRes(){return new Zg(Number.MAX_SAFE_INTEGER,0,0,!1)}rejectBlack(){return Promise.reject(this.getBlackRes())}resolveBlack(){return Promise.resolve(this.getBlackRes())}resolveWhite(){return Promise.resolve(this.getWhiteRes())}consume(e,r=1){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.rejectBlack()),typeof n>"u"?this.limiter.consume(e,r):(this.runActionAnyway&&this.limiter.consume(e,r).catch(()=>{}),n)}block(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.block(e,r):(this.runActionAnyway&&this.limiter.block(e,r).catch(()=>{}),n)}penalty(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.penalty(e,r):(this.runActionAnyway&&this.limiter.penalty(e,r).catch(()=>{}),n)}reward(e,r){let n;return this.isWhiteListedSomewhere(e)?n=this.resolveWhite():this.isBlackListedSomewhere(e)&&(n=this.resolveBlack()),typeof n>"u"?this.limiter.reward(e,r):(this.runActionAnyway&&this.limiter.reward(e,r).catch(()=>{}),n)}get(e){let r;return this.isWhiteListedSomewhere(e)?r=this.resolveWhite():this.isBlackListedSomewhere(e)&&(r=this.resolveBlack()),typeof r>"u"||this.runActionAnyway?this.limiter.get(e):r}delete(e){return this.limiter.delete(e)}}});var ty=q((RN,ey)=>{var qS=ls();ey.exports=class{constructor(...e){if(e.length<1)throw new Error("RateLimiterUnion: at least one limiter have to be passed");e.forEach(r=>{if(!(r instanceof qS))throw new Error("RateLimiterUnion: all limiters have to be instance of RateLimiterAbstract")}),this._limiters=e}consume(e,r=1){return new Promise((n,i)=>{let s=[];this._limiters.forEach(o=>{s.push(o.consume(e,r).catch(a=>({rejected:!0,rej:a})))}),Promise.all(s).then(o=>{let a={},c=!1;o.forEach(u=>{u.rejected===!0&&(c=!0)});for(let u=0;u<o.length;u++)c&&o[u].rejected===!0?a[this._limiters[u].keyPrefix]=o[u].rej:c||(a[this._limiters[u].keyPrefix]=o[u]);c?i(a):n(a)})})}}});var ny=q((LN,ry)=>{ry.exports=class extends Error{constructor(e,r){super(),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="CustomError",this.message=e,r&&(this.extra=r)}}});var ay=q((PN,oy)=>{var iy=ny(),sy=4294967295,mf="limiter";oy.exports=class{constructor(e,r={maxQueueSize:sy}){this._queueLimiters={KEY_DEFAULT:new ta(e,r)},this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(e=mf){return this._queueLimiters[e]?this._queueLimiters[e].getTokensRemaining():Promise.resolve(this._limiterFlexible.points)}removeTokens(e,r=mf){return this._queueLimiters[r]||(this._queueLimiters[r]=new ta(this._limiterFlexible,{key:r,maxQueueSize:this._maxQueueSize})),this._queueLimiters[r].removeTokens(e)}};var ta=class{constructor(e,r={maxQueueSize:sy,key:mf}){this._key=r.key,this._waitTimeout=null,this._queue=[],this._limiterFlexible=e,this._maxQueueSize=r.maxQueueSize}getTokensRemaining(){return this._limiterFlexible.get(this._key).then(e=>e!==null?e.remainingPoints:this._limiterFlexible.points)}removeTokens(e){let r=this;return new Promise((n,i)=>{if(e>r._limiterFlexible.points){i(new iy(`Requested tokens ${e} exceeds maximum ${r._limiterFlexible.points} tokens per interval`));return}r._queue.length>0?r._queueRequest.call(r,n,i,e):r._limiterFlexible.consume(r._key,e).then(s=>{n(s.remainingPoints)}).catch(s=>{s instanceof Error?i(s):(r._queueRequest.call(r,n,i,e),r._waitTimeout===null&&(r._waitTimeout=setTimeout(r._processFIFO.bind(r),s.msBeforeNext)))})})}_queueRequest(e,r,n){let i=this;i._queue.length<i._maxQueueSize?i._queue.push({resolve:e,reject:r,tokens:n}):r(new iy(`Number of requests reached it's maximum ${i._maxQueueSize}`))}_processFIFO(){let e=this;if(e._waitTimeout!==null&&(clearTimeout(e._waitTimeout),e._waitTimeout=null),e._queue.length===0)return;let r=e._queue.shift();e._limiterFlexible.consume(e._key,r.tokens).then(n=>{r.resolve(n.remainingPoints),e._processFIFO.call(e)}).catch(n=>{n instanceof Error?(r.reject(n),e._processFIFO.call(e)):(e._queue.unshift(r),e._waitTimeout===null&&(e._waitTimeout=setTimeout(e._processFIFO.bind(e),n.msBeforeNext)))})}}});var uy=q((kN,cy)=>{var gf=ht();cy.exports=class{constructor(e,r){this._rateLimiter=e,this._burstLimiter=r}_combineRes(e,r){return e?new gf(e.remainingPoints,Math.min(e.msBeforeNext,r?r.msBeforeNext:0),e.consumedPoints,e.isFirstInDuration):null}consume(e,r=1,n={}){return this._rateLimiter.consume(e,r,n).catch(i=>i instanceof gf?this._burstLimiter.consume(e,r,n).then(s=>Promise.resolve(this._combineRes(i,s))).catch(s=>s instanceof gf?Promise.reject(this._combineRes(i,s)):Promise.reject(s)):Promise.reject(i))}get(e){return Promise.all([this._rateLimiter.get(e),this._burstLimiter.get(e)]).then(([r,n])=>this._combineRes(r,n))}get points(){return this._rateLimiter.points}}});var fy=q((ON,ly)=>{var VS=ht(),$S=An(),ra=class{constructor(e,r,n){this.key=e,this.points=r,this.expire=n}},zS=25,HS=25,yf=class extends $S{constructor(e,r=null){super(e),this.client=e.storeClient,this.tableName=e.tableName,this.tableCreated=e.tableCreated,this.tableCreated?this._setTTL().finally(()=>{typeof r=="function"&&r()}):this._createTable(e.dynamoTableOpts).then(n=>{this.tableCreated=!0,this._setTTL().finally(()=>{typeof r=="function"&&r()})}).catch(n=>{if(typeof r=="function")r(n);else throw n})}get tableName(){return this._tableName}set tableName(e){this._tableName=typeof e>"u"?"node-rate-limiter-flexible":e}get tableCreated(){return this._tableCreated}set tableCreated(e){this._tableCreated=typeof e>"u"?!1:!!e}async _createTable(e){let r={TableName:this.tableName,AttributeDefinitions:[{AttributeName:"key",AttributeType:"S"}],KeySchema:[{AttributeName:"key",KeyType:"HASH"}],ProvisionedThroughput:{ReadCapacityUnits:e&&e.readCapacityUnits?e.readCapacityUnits:zS,WriteCapacityUnits:e&&e.writeCapacityUnits?e.writeCapacityUnits:HS}};try{return await this.client.createTable(r)}catch(n){if(n.__type&&n.__type.includes("ResourceInUseException"))return null;throw n}}async _get(e){if(!this.tableCreated)throw new Error("Table is not created yet");let r={TableName:this.tableName,Key:{key:{S:e}}},n=await this.client.getItem(r);return n.Item?new ra(n.Item.key.S,Number(n.Item.points.N),Number(n.Item.expire.N)):null}async _delete(e){if(!this.tableCreated)throw new Error("Table is not created yet");let r={TableName:this.tableName,Key:{key:{S:e}},ConditionExpression:"attribute_exists(#k)",ExpressionAttributeNames:{"#k":"key"}};try{return(await this._client.deleteItem(r)).$metadata.httpStatusCode===200}catch(n){if(n.__type&&n.__type.includes("ConditionalCheckFailedException"))return!1;throw n}}async _upsert(e,r,n,i=!1,s={}){if(!this.tableCreated)throw new Error("Table is not created yet");let o=Date.now(),a=o/1e3,c=n>0?(o+n)/1e3:-1;if(i)return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:e}},UpdateExpression:"SET points = :points, expire = :expire",ExpressionAttributeValues:{":points":{N:r.toString()},":expire":{N:c.toString()}},ReturnValues:"ALL_NEW"});try{return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:e}},UpdateExpression:"SET points = :new_points, expire = :new_expire",ExpressionAttributeValues:{":new_points":{N:r.toString()},":new_expire":{N:c.toString()},":where_expire":{N:a.toString()}},ConditionExpression:"expire <= :where_expire OR attribute_not_exists(points)",ReturnValues:"ALL_NEW"})}catch{return await this._baseUpsert({TableName:this.tableName,Key:{key:{S:e}},UpdateExpression:"SET points = points + :new_points",ExpressionAttributeValues:{":new_points":{N:r.toString()},":where_expire":{N:a.toString()}},ConditionExpression:"expire > :where_expire",ReturnValues:"ALL_NEW"})}}async _baseUpsert(e){if(!this.tableCreated)throw new Error("Table is not created yet");try{let r=await this.client.updateItem(e);return new ra(r.Attributes.key.S,Number(r.Attributes.points.N),Number(r.Attributes.expire.N))}catch(r){throw r}}async _setTTL(){if(!this.tableCreated)throw new Error("Table is not created yet");try{if(await this._isTTLSet())return;let r={TableName:this.tableName,TimeToLiveSpecification:{AttributeName:"expire",Enabled:!0}};return await this.client.updateTimeToLive(r)}catch(e){throw e}}async _isTTLSet(){if(!this.tableCreated)throw new Error("Table is not created yet");try{let e=await this.client.describeTimeToLive({TableName:this.tableName});return e.$metadata.httpStatusCode==200&&e.TimeToLiveDescription.TimeToLiveStatus==="ENABLED"&&e.TimeToLiveDescription.AttributeName==="expire"}catch(e){throw e}}_getRateLimiterRes(e,r,n){let i=new VS;return i.isFirstInDuration=r===n.points,i.consumedPoints=i.isFirstInDuration?r:n.points,i.remainingPoints=Math.max(this.points-i.consumedPoints,0),i.msBeforeNext=n.expire!=-1?Math.max(n.expire*1e3-Date.now(),0):-1,i}};ly.exports=yf});var dy=q((UN,hy)=>{var GS=Cg(),WS=Bg(),YS=Dg(),QS=Ng(),{RateLimiterClusterMaster:XS,RateLimiterClusterMasterPM2:ZS,RateLimiterCluster:jS}=Yg(),JS=lf(),e_=Xg(),t_=Jg(),r_=ty(),n_=ay(),i_=uy(),s_=ht(),o_=fy();hy.exports={RateLimiterRedis:GS,RateLimiterMongo:WS,RateLimiterMySQL:YS,RateLimiterPostgres:QS,RateLimiterMemory:JS,RateLimiterMemcache:e_,RateLimiterClusterMaster:XS,RateLimiterClusterMasterPM2:ZS,RateLimiterCluster:jS,RLWrapperBlackAndWhite:t_,RateLimiterUnion:r_,RateLimiterQueue:n_,BurstyRateLimiter:i_,RateLimiterRes:s_,RateLimiterDynamo:o_}});var P_={};ie(P_,{createLibp2p:()=>D_});var WR=Ee(Ci(),1),YR=Ee(c0(),1);var u0=Symbol.for("@libp2p/connection");var ec=Symbol.for("@libp2p/content-routing");var tc=Symbol.for("@libp2p/peer-discovery");var rc=Symbol.for("@libp2p/peer-id");function Us(t){return t!=null&&!!t[rc]}var nc=Symbol.for("@libp2p/peer-routing");var l0="keep-alive";var f0;(function(t){t.Accept="accept",t.Ignore="ignore",t.Reject="reject"})(f0||(f0={}));var pI=Symbol.for("@libp2p/transport");var Sr;(function(t){t[t.FATAL_ALL=0]="FATAL_ALL",t[t.NO_FATAL=1]="NO_FATAL"})(Sr||(Sr={}));var Pn=class t extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=t.code,this.type=t.type}static code="ABORT_ERR";static type="aborted"},_=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var Ms="ERR_TIMEOUT",ic="ERR_INVALID_PARAMETERS";var Li=class extends EventTarget{#e=new Map;listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:s})=>s!==r),this.#e.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new oc(e,r))}},sc=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},oc=globalThis.CustomEvent??sc;var dt=(t,...e)=>{try{[...e]}catch{}};function h0(t){return t!=null&&typeof t.start=="function"&&typeof t.stop=="function"}var Av=Ee(fe(),1);function Yr(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}var fc={};ie(fc,{base10:()=>Sb});var WI=new Uint8Array(0);function 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}function nr(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")}function p0(t){return new TextEncoder().encode(t)}function m0(t){return new TextDecoder().decode(t)}function bb(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 m=0,g=0,y=0,x=h.length;y!==x&&h[y]===0;)y++,m++;for(var b=(x-y)*l+1>>>0,S=new Uint8Array(b);y!==x;){for(var E=h[y],A=0,C=b-1;(E!==0||A<g)&&C!==-1;C--,A++)E+=256*S[C]>>>0,S[C]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");g=A,y++}for(var R=b-g;R!==b&&S[R]===0;)R++;for(var V=c.repeat(m);R<b;++R)V+=t.charAt(S[R]);return V}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var m=0;if(h[m]!==" "){for(var g=0,y=0;h[m]===c;)g++,m++;for(var x=(h.length-m)*u+1>>>0,b=new Uint8Array(x);h[m];){var S=r[h.charCodeAt(m)];if(S===255)return;for(var E=0,A=x-1;(S!==0||E<y)&&A!==-1;A--,E++)S+=a*b[A]>>>0,b[A]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");y=E,m++}if(h[m]!==" "){for(var C=x-y;C!==x&&b[C]===0;)C++;for(var R=new Uint8Array(g+(x-C)),V=g;C!==x;)R[V++]=b[C++];return R}}}function p(h){var m=d(h);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:d,decode:p}}var wb=bb,Eb=wb,y0=Eb;var ac=class{name;prefix;baseEncode;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")}},cc=class{name;prefix;baseDecode;prefixCodePoint;constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return x0(this,e)}},uc=class{decoders;constructor(e){this.decoders=e}or(e){return x0(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n!=null)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}};function x0(t,e){return new uc({...t.decoders??{[t.prefix]:t},...e.decoders??{[e.prefix]:e}})}var lc=class{name;prefix;baseEncode;baseDecode;encoder;decoder;constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new ac(e,r,n),this.decoder=new cc(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}};function Nn({name:t,prefix:e,encode:r,decode:n}){return new lc(t,e,r,n)}function _r({name:t,prefix:e,alphabet:r}){let{encode:n,decode:i}=y0(r,t);return Nn({prefix:e,name:t,encode:n,decode:s=>nr(i(s))})}function vb(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}function Ab(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!==0&&(s+=e[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s}function Ae({name:t,prefix:e,bitsPerChar:r,alphabet:n}){return Nn({prefix:e,name:t,encode(i){return Ab(i,n,r)},decode(i){return vb(i,n,r,t)}})}var Sb=_r({prefix:"9",name:"base10",alphabet:"0123456789"});var hc={};ie(hc,{base16:()=>_b,base16upper:()=>Ib});var _b=Ae({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Ib=Ae({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var dc={};ie(dc,{base2:()=>Cb});var Cb=Ae({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var pc={};ie(pc,{base256emoji:()=>Db});var b0=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),Tb=b0.reduce((t,e,r)=>(t[r]=e,t),[]),Rb=b0.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function Bb(t){return t.reduce((e,r)=>(e+=Tb[r],e),"")}function Lb(t){let e=[];for(let r of t){let n=Rb[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var Db=Nn({prefix:"\u{1F680}",name:"base256emoji",encode:Bb,decode:Lb});var mc={};ie(mc,{base32:()=>pt,base32hex:()=>Ob,base32hexpad:()=>Mb,base32hexpadupper:()=>Fb,base32hexupper:()=>Ub,base32pad:()=>Nb,base32padupper:()=>kb,base32upper:()=>Pb,base32z:()=>Kb});var pt=Ae({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Pb=Ae({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Nb=Ae({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),kb=Ae({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Ob=Ae({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Ub=Ae({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Mb=Ae({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Fb=Ae({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Kb=Ae({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var gc={};ie(gc,{base36:()=>qb,base36upper:()=>Vb});var qb=_r({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Vb=_r({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var yc={};ie(yc,{base58btc:()=>Ce,base58flickr:()=>$b});var Ce=_r({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),$b=_r({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var xc={};ie(xc,{base64:()=>kn,base64pad:()=>zb,base64url:()=>Hb,base64urlpad:()=>Gb});var kn=Ae({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),zb=Ae({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Hb=Ae({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Gb=Ae({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var bc={};ie(bc,{base8:()=>Wb});var Wb=Ae({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var wc={};ie(wc,{identity:()=>Yb});var Yb=Nn({prefix:"\0",name:"identity",encode:t=>m0(t),decode:t=>p0(t)});var u8=new TextEncoder,l8=new TextDecoder;var vc={};ie(vc,{identity:()=>Ir});var Zb=v0,w0=128,jb=127,Jb=~jb,ew=Math.pow(2,31);function v0(t,e,r){e=e||[],r=r||0;for(var n=r;t>=ew;)e[r++]=t&255|w0,t/=128;for(;t&Jb;)e[r++]=t&255|w0,t>>>=7;return e[r]=t|0,v0.bytes=r-n+1,e}var tw=Ec,rw=128,E0=127;function Ec(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a)throw Ec.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&E0)<<i:(o&E0)*Math.pow(2,i),i+=7}while(o>=rw);return Ec.bytes=s-n,r}var nw=Math.pow(2,7),iw=Math.pow(2,14),sw=Math.pow(2,21),ow=Math.pow(2,28),aw=Math.pow(2,35),cw=Math.pow(2,42),uw=Math.pow(2,49),lw=Math.pow(2,56),fw=Math.pow(2,63),hw=function(t){return t<nw?1:t<iw?2:t<sw?3:t<ow?4:t<aw?5:t<cw?6:t<uw?7:t<lw?8:t<fw?9:10},dw={encode:Zb,decode:tw,encodingLength:hw},pw=dw,Di=pw;function Pi(t,e=0){return[Di.decode(t,e),Di.decode.bytes]}function On(t,e,r=0){return Di.encode(t,e,r),e}function Un(t){return Di.encodingLength(t)}function Ht(t,e){let r=e.byteLength,n=Un(t),i=n+Un(r),s=new Uint8Array(i+r);return On(t,s,0),On(r,s,n),s.set(e,i),new Mn(t,r,e,s)}function Qr(t){let e=nr(t),[r,n]=Pi(e),[i,s]=Pi(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new Mn(r,i,o,e)}function A0(t,e){if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&d0(t.bytes,r.bytes)}}var Mn=class{code;size;digest;bytes;constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var S0=0,mw="identity",_0=nr;function gw(t){return Ht(S0,_0(t))}var Ir={code:S0,name:mw,encode:_0,digest:gw};var _c={};ie(_c,{sha256:()=>ze,sha512:()=>yw});function Sc({name:t,code:e,encode:r}){return new Ac(t,e,r)}var Ac=class{name;code;encode;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?Ht(this.code,r):r.then(n=>Ht(this.code,n))}else throw Error("Unknown type, must be binary type")}};function C0(t){return async e=>new Uint8Array(await crypto.subtle.digest(t,e))}var ze=Sc({name:"sha2-256",code:18,encode:C0("SHA-256")}),yw=Sc({name:"sha2-512",code:19,encode:C0("SHA-512")});function T0(t,e){let{bytes:r,version:n}=t;switch(n){case 0:return bw(r,Ic(t),e??Ce.encoder);default:return ww(r,Ic(t),e??pt.encoder)}}var R0=new WeakMap;function Ic(t){let e=R0.get(t);if(e==null){let r=new Map;return R0.set(t,r),r}return e}var Bt=class t{code;version;multihash;bytes;"/";constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Ni)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Ew)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Ht(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n!=null&&e.code===n.code&&e.version===n.version&&A0(e.multihash,n.multihash)}toString(e){return T0(this,e)}toJSON(){return{"/":T0(this)}}link(){return this}[Symbol.toStringTag]="CID";[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:s,bytes:o}=r;return new t(n,i,s,o??B0(n,i,s.bytes))}else if(r[vw]===!0){let{version:n,multihash:i,code:s}=r,o=Qr(i);return t.create(n,s,o)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Ni)throw new Error(`Version 0 CID must use dag-pb (code: ${Ni}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=B0(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Ni,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length!==0)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=nr(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 Mn(r.multihashCode,r.digestSize,s,i);return[r.version===0?t.createV0(o):t.createV1(r.codec,o),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,d]=Pi(e.subarray(r));return r+=d,f},i=n(),s=Ni;if(i===18?(i=0,r=0):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]=xw(e,r),s=t.decode(i);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Ic(s).set(n,e),s}};function xw(t,e){switch(t[0]){case"Q":{let r=e??Ce;return[Ce.prefix,r.decode(`${Ce.prefix}${t}`)]}case Ce.prefix:{let r=e??Ce;return[Ce.prefix,r.decode(t)]}case pt.prefix:{let r=e??pt;return[pt.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)]}}}function bw(t,e,r){let{prefix:n}=r;if(n!==Ce.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}function ww(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}var Ni=112,Ew=18;function B0(t,e,r){let n=Un(t),i=n+Un(e),s=new Uint8Array(i+r.byteLength);return On(t,s,0),On(e,s,n),s.set(r,i),s}var vw=Symbol.for("@ipld/js-cid/CID");var pe={...wc,...dc,...bc,...fc,...hc,...mc,...gc,...yc,...xc,...pc},L8={..._c,...vc};function Ks(t=0){return globalThis.Buffer?.allocUnsafe!=null?Yr(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function D0(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var L0=D0("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Cc=D0("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=Ks(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Aw={utf8:L0,"utf-8":L0,hex:pe.base16,latin1:Cc,ascii:Cc,binary:Cc,...pe},qs=Aw;function mt(t,e="utf8"){let r=qs[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Yr(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var Cu={};ie(Cu,{Ed25519PrivateKey:()=>on,Ed25519PublicKey:()=>Hi,generateKeyPair:()=>WE,generateKeyPairFromSeed:()=>Ud,unmarshalEd25519PrivateKey:()=>HE,unmarshalEd25519PublicKey:()=>GE});function Gt(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 W8=Ee(Le(),1),Y8=Ee(Ps(),1),P0=Ee(fe(),1);function Zr(t,e){if(globalThis.Buffer!=null)return Yr(globalThis.Buffer.concat(t,e));e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=Ks(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Yr(r)}function gt(t,e="utf8"){let r=qs[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}function Lt(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Zr([new Uint8Array(e-r.length),r])}return gt(r,"base64url")}function yt(t){let e=N0(t);return new P0.default.jsbn.BigInteger(gt(e,"base16"),16)}function N0(t,e){let r=mt(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Zr([new Uint8Array(e-r.length),r])}return r}function At(t){return t==null?!1:typeof t.then=="function"&&typeof t.catch=="function"&&typeof t.finally=="function"}function k0(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function Sw(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}function Tc(t,...e){if(!Sw(t))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function O0(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");k0(t.outputLen),k0(t.blockLen)}function Fn(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function U0(t,e){Tc(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Vs=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;function M0(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var $s=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Dt=(t,e)=>t<<32-e|t>>>e,_w=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!_w)throw new Error("Non little-endian hardware is not supported");function Rc(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function ki(t){if(typeof t=="string"&&(t=Rc(t)),!M0(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function zs(...t){let e=0;for(let n=0;n<t.length;n++){let i=t[n];if(!M0(i))throw new Error("Uint8Array expected");e+=i.length}let 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 Kn=class{clone(){return this._cloneInto()}},r4={}.toString;function Hs(t){let e=n=>t().update(ki(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function qn(t=32){if(Vs&&typeof Vs.getRandomValues=="function")return Vs.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function Iw(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let i=BigInt(32),s=BigInt(4294967295),o=Number(r>>i&s),a=Number(r&s),c=n?4:0,u=n?0:4;t.setUint32(e+c,o,n),t.setUint32(e+u,a,n)}var Vn=class extends Kn{constructor(e,r,n,i){super(),this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=$s(this.buffer)}update(e){Fn(this);let{view:r,buffer:n,blockLen:i}=this;e=ki(e);let s=e.length;for(let o=0;o<s;){let a=Math.min(i-this.pos,s-o);if(a===i){let c=$s(e);for(;i<=s-o;o+=i)this.process(c,o);continue}n.set(e.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Fn(this),U0(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:s}=this,{pos:o}=this;r[o++]=128,this.buffer.subarray(o).fill(0),this.padOffset>i-o&&(this.process(n,0),o=0);for(let f=o;f<i;f++)r[f]=0;Iw(n,i-8,BigInt(this.length*8),s),this.process(n,0);let a=$s(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,l=this.get();if(u>l.length)throw new Error("_sha2: outputLen bigger than state");for(let f=0;f<u;f++)a.setUint32(4*f,l[f],s)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:s,destroyed:o,pos:a}=this;return e.length=i,e.pos=a,e.finished=s,e.destroyed=o,i%r&&e.buffer.set(n),e}};var Gs=BigInt(4294967295),Bc=BigInt(32);function F0(t,e=!1){return e?{h:Number(t&Gs),l:Number(t>>Bc&Gs)}:{h:Number(t>>Bc&Gs)|0,l:Number(t&Gs)|0}}function Cw(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;i<t.length;i++){let{h:s,l:o}=F0(t[i],e);[r[i],n[i]]=[s,o]}return[r,n]}var Tw=(t,e)=>BigInt(t>>>0)<<Bc|BigInt(e>>>0),Rw=(t,e,r)=>t>>>r,Bw=(t,e,r)=>t<<32-r|e>>>r,Lw=(t,e,r)=>t>>>r|e<<32-r,Dw=(t,e,r)=>t<<32-r|e>>>r,Pw=(t,e,r)=>t<<64-r|e>>>r-32,Nw=(t,e,r)=>t>>>r-32|e<<64-r,kw=(t,e)=>e,Ow=(t,e)=>t,Uw=(t,e,r)=>t<<r|e>>>32-r,Mw=(t,e,r)=>e<<r|t>>>32-r,Fw=(t,e,r)=>e<<r-32|t>>>64-r,Kw=(t,e,r)=>t<<r-32|e>>>64-r;function qw(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var Vw=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),$w=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,zw=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),Hw=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,Gw=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),Ww=(t,e,r,n,i,s)=>e+r+n+i+s+(t/2**32|0)|0;var Yw={fromBig:F0,split:Cw,toBig:Tw,shrSH:Rw,shrSL:Bw,rotrSH:Lw,rotrSL:Dw,rotrBH:Pw,rotrBL:Nw,rotr32H:kw,rotr32L:Ow,rotlSH:Uw,rotlSL:Mw,rotlBH:Fw,rotlBL:Kw,add:qw,add3L:Vw,add3H:$w,add4L:zw,add4H:Hw,add5H:Ww,add5L:Gw},Q=Yw;var[Qw,Xw]=Q.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))),Cr=new Uint32Array(80),Tr=new Uint32Array(80),Lc=class extends Vn{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:r,Bh:n,Bl:i,Ch:s,Cl:o,Dh:a,Dl:c,Eh:u,El:l,Fh:f,Fl:d,Gh:p,Gl:h,Hh:m,Hl:g}=this;return[e,r,n,i,s,o,a,c,u,l,f,d,p,h,m,g]}set(e,r,n,i,s,o,a,c,u,l,f,d,p,h,m,g){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=s|0,this.Cl=o|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=l|0,this.Fh=f|0,this.Fl=d|0,this.Gh=p|0,this.Gl=h|0,this.Hh=m|0,this.Hl=g|0}process(e,r){for(let b=0;b<16;b++,r+=4)Cr[b]=e.getUint32(r),Tr[b]=e.getUint32(r+=4);for(let b=16;b<80;b++){let S=Cr[b-15]|0,E=Tr[b-15]|0,A=Q.rotrSH(S,E,1)^Q.rotrSH(S,E,8)^Q.shrSH(S,E,7),C=Q.rotrSL(S,E,1)^Q.rotrSL(S,E,8)^Q.shrSL(S,E,7),R=Cr[b-2]|0,V=Tr[b-2]|0,G=Q.rotrSH(R,V,19)^Q.rotrBH(R,V,61)^Q.shrSH(R,V,6),z=Q.rotrSL(R,V,19)^Q.rotrBL(R,V,61)^Q.shrSL(R,V,6),j=Q.add4L(C,z,Tr[b-7],Tr[b-16]),le=Q.add4H(j,A,G,Cr[b-7],Cr[b-16]);Cr[b]=le|0,Tr[b]=j|0}let{Ah:n,Al:i,Bh:s,Bl:o,Ch:a,Cl:c,Dh:u,Dl:l,Eh:f,El:d,Fh:p,Fl:h,Gh:m,Gl:g,Hh:y,Hl:x}=this;for(let b=0;b<80;b++){let S=Q.rotrSH(f,d,14)^Q.rotrSH(f,d,18)^Q.rotrBH(f,d,41),E=Q.rotrSL(f,d,14)^Q.rotrSL(f,d,18)^Q.rotrBL(f,d,41),A=f&p^~f&m,C=d&h^~d&g,R=Q.add5L(x,E,C,Xw[b],Tr[b]),V=Q.add5H(R,y,S,A,Qw[b],Cr[b]),G=R|0,z=Q.rotrSH(n,i,28)^Q.rotrBH(n,i,34)^Q.rotrBH(n,i,39),j=Q.rotrSL(n,i,28)^Q.rotrBL(n,i,34)^Q.rotrBL(n,i,39),le=n&s^n&a^s&a,qe=i&o^i&c^o&c;y=m|0,x=g|0,m=p|0,g=h|0,p=f|0,h=d|0,{h:f,l:d}=Q.add(u|0,l|0,V|0,G|0),u=a|0,l=c|0,a=s|0,c=o|0,s=n|0,o=i|0;let L=Q.add3L(G,j,qe);n=Q.add3H(L,V,z,le),i=L|0}({h:n,l:i}=Q.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:s,l:o}=Q.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:a,l:c}=Q.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l}=Q.add(this.Dh|0,this.Dl|0,u|0,l|0),{h:f,l:d}=Q.add(this.Eh|0,this.El|0,f|0,d|0),{h:p,l:h}=Q.add(this.Fh|0,this.Fl|0,p|0,h|0),{h:m,l:g}=Q.add(this.Gh|0,this.Gl|0,m|0,g|0),{h:y,l:x}=Q.add(this.Hh|0,this.Hl|0,y|0,x|0),this.set(n,i,s,o,a,c,u,l,f,d,p,h,m,g,y,x)}roundClean(){Cr.fill(0),Tr.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var Dc=Hs(()=>new Lc);var Ys={};ie(Ys,{bitGet:()=>n2,bitLen:()=>r2,bitMask:()=>Oi,bitSet:()=>i2,bytesToHex:()=>sr,bytesToNumberBE:()=>or,bytesToNumberLE:()=>Rr,concatBytes:()=>ar,createHmacDrbg:()=>kc,ensureBytes:()=>Se,equalBytes:()=>e2,hexToBytes:()=>jr,hexToNumber:()=>Nc,isBytes:()=>Pt,numberToBytesBE:()=>Br,numberToBytesLE:()=>Jr,numberToHexUnpadded:()=>$0,numberToVarBytesBE:()=>Jw,utf8ToBytes:()=>t2,validateObject:()=>Wt});var V0=BigInt(0),Ws=BigInt(1),Zw=BigInt(2);function Pt(t){return t instanceof Uint8Array||t!=null&&typeof t=="object"&&t.constructor.name==="Uint8Array"}var jw=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function sr(t){if(!Pt(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=jw[t[r]];return e}function $0(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Nc(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}var ir={_0:48,_9:57,_A:65,_F:70,_a:97,_f:102};function K0(t){if(t>=ir._0&&t<=ir._9)return t-ir._0;if(t>=ir._A&&t<=ir._F)return t-(ir._A-10);if(t>=ir._a&&t<=ir._f)return t-(ir._a-10)}function jr(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length,r=e/2;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let n=new Uint8Array(r);for(let i=0,s=0;i<r;i++,s+=2){let o=K0(t.charCodeAt(s)),a=K0(t.charCodeAt(s+1));if(o===void 0||a===void 0){let c=t[s]+t[s+1];throw new Error('hex string expected, got non-hex character "'+c+'" at index '+s)}n[i]=o*16+a}return n}function or(t){return Nc(sr(t))}function Rr(t){if(!Pt(t))throw new Error("Uint8Array expected");return Nc(sr(Uint8Array.from(t).reverse()))}function Br(t,e){return jr(t.toString(16).padStart(e*2,"0"))}function Jr(t,e){return Br(t,e).reverse()}function Jw(t){return jr($0(t))}function Se(t,e,r){let n;if(typeof e=="string")try{n=jr(e)}catch(s){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${s}`)}else if(Pt(e))n=Uint8Array.from(e);else throw new Error(`${t} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${t} expected ${r} bytes, got ${i}`);return n}function ar(...t){let e=0;for(let i=0;i<t.length;i++){let s=t[i];if(!Pt(s))throw new Error("Uint8Array expected");e+=s.length}let r=new Uint8Array(e),n=0;for(let i=0;i<t.length;i++){let s=t[i];r.set(s,n),n+=s.length}return r}function e2(t,e){if(t.length!==e.length)return!1;let r=0;for(let n=0;n<t.length;n++)r|=t[n]^e[n];return r===0}function t2(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function r2(t){let e;for(e=0;t>V0;t>>=Ws,e+=1);return e}function n2(t,e){return t>>BigInt(e)&Ws}var i2=(t,e,r)=>t|(r?Ws:V0)<<BigInt(e),Oi=t=>(Zw<<BigInt(t-1))-Ws,Pc=t=>new Uint8Array(t),q0=t=>Uint8Array.from(t);function kc(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Pc(t),i=Pc(t),s=0,o=()=>{n.fill(1),i.fill(0),s=0},a=(...f)=>r(i,n,...f),c=(f=Pc())=>{i=a(q0([0]),f),n=a(),f.length!==0&&(i=a(q0([1]),f),n=a())},u=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let f=0,d=[];for(;f<e;){n=a();let p=n.slice();d.push(p),f+=n.length}return ar(...d)};return(f,d)=>{o(),c(f);let p;for(;!(p=d(u()));)c();return o(),p}}var s2={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||Pt(t),isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function Wt(t,e,r={}){let n=(i,s,o)=>{let a=s2[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);let c=t[i];if(!(o&&c===void 0)&&!a(c,t))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${s}`)};for(let[i,s]of Object.entries(e))n(i,s,!1);for(let[i,s]of Object.entries(r))n(i,s,!0);return t}var Ne=BigInt(0),xe=BigInt(1),en=BigInt(2),o2=BigInt(3),Oc=BigInt(4),z0=BigInt(5),H0=BigInt(8),a2=BigInt(9),c2=BigInt(16);function he(t,e){let r=t%e;return r>=Ne?r:e+r}function u2(t,e,r){if(r<=Ne||e<Ne)throw new Error("Expected power/modulo > 0");if(r===xe)return Ne;let n=xe;for(;e>Ne;)e&xe&&(n=n*t%r),t=t*t%r,e>>=xe;return n}function be(t,e,r){let n=t;for(;e-- >Ne;)n*=n,n%=r;return n}function Qs(t,e){if(t===Ne||e<=Ne)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=he(t,e),n=e,i=Ne,s=xe,o=xe,a=Ne;for(;r!==Ne;){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!==xe)throw new Error("invert: does not exist");return he(i,e)}function l2(t){let e=(t-xe)/en,r,n,i;for(r=t-xe,n=0;r%en===Ne;r/=en,n++);for(i=en;i<t&&u2(i,e,t)!==t-xe;i++);if(n===1){let o=(t+xe)/Oc;return function(c,u){let l=c.pow(u,o);if(!c.eql(c.sqr(l),u))throw new Error("Cannot find square root");return l}}let s=(r+xe)/en;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,l=a.pow(a.mul(a.ONE,i),r),f=a.pow(c,s),d=a.pow(c,r);for(;!a.eql(d,a.ONE);){if(a.eql(d,a.ZERO))return a.ZERO;let p=1;for(let m=a.sqr(d);p<u&&!a.eql(m,a.ONE);p++)m=a.sqr(m);let h=a.pow(l,xe<<BigInt(u-p-1));l=a.sqr(h),f=a.mul(f,h),d=a.mul(d,l),u=p}return f}}function f2(t){if(t%Oc===o2){let e=(t+xe)/Oc;return function(n,i){let s=n.pow(i,e);if(!n.eql(n.sqr(s),i))throw new Error("Cannot find square root");return s}}if(t%H0===z0){let e=(t-z0)/H0;return function(n,i){let s=n.mul(i,en),o=n.pow(s,e),a=n.mul(i,o),c=n.mul(n.mul(a,en),o),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),i))throw new Error("Cannot find square root");return u}}return t%c2,l2(t)}var G0=(t,e)=>(he(t,e)&xe)===xe,h2=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Uc(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=h2.reduce((n,i)=>(n[i]="function",n),e);return Wt(t,r)}function d2(t,e,r){if(r<Ne)throw new Error("Expected power > 0");if(r===Ne)return t.ONE;if(r===xe)return e;let n=t.ONE,i=e;for(;r>Ne;)r&xe&&(n=t.mul(n,i)),i=t.sqr(i),r>>=xe;return n}function p2(t,e){let r=new Array(e.length),n=e.reduce((s,o,a)=>t.is0(o)?s:(r[a]=s,t.mul(s,o)),t.ONE),i=t.inv(n);return e.reduceRight((s,o,a)=>t.is0(o)?s:(r[a]=t.mul(s,r[a]),t.mul(s,o)),i),r}function Mc(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Xs(t,e,r=!1,n={}){if(t<=Ne)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:s}=Mc(t,e);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=f2(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:s,MASK:Oi(i),ZERO:Ne,ONE:xe,create:c=>he(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Ne<=c&&c<t},is0:c=>c===Ne,isOdd:c=>(c&xe)===xe,neg:c=>he(-c,t),eql:(c,u)=>c===u,sqr:c=>he(c*c,t),add:(c,u)=>he(c+u,t),sub:(c,u)=>he(c-u,t),mul:(c,u)=>he(c*u,t),pow:(c,u)=>d2(a,c,u),div:(c,u)=>he(c*Qs(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Qs(c,t),sqrt:n.sqrt||(c=>o(a,c)),invertBatch:c=>p2(a,c),cmov:(c,u,l)=>l?u:c,toBytes:c=>r?Jr(c,s):Br(c,s),fromBytes:c=>{if(c.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${c.length}`);return r?Rr(c):or(c)}});return Object.freeze(a)}function W0(t,e){if(!t.isOdd)throw new Error("Field doesn't have isOdd");let r=t.sqrt(e);return t.isOdd(r)?t.neg(r):r}function Y0(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function Fc(t){let e=Y0(t);return e+Math.ceil(e/2)}function Q0(t,e,r=!1){let n=t.length,i=Y0(e),s=Fc(e);if(n<16||n<s||n>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);let o=r?or(t):Rr(t),a=he(o,e-xe)+xe;return r?Jr(a,i):Br(a,i)}var g2=BigInt(0),Kc=BigInt(1);function Zs(t,e){let r=(i,s)=>{let o=s.negate();return i?o:s},n=i=>{let s=Math.ceil(e/i)+1,o=2**(i-1);return{windows:s,windowSize:o}};return{constTimeNegate:r,unsafeLadder(i,s){let o=t.ZERO,a=i;for(;s>g2;)s&Kc&&(o=o.add(a)),a=a.double(),s>>=Kc;return o},precomputeWindow(i,s){let{windows:o,windowSize:a}=n(s),c=[],u=i,l=u;for(let f=0;f<o;f++){l=u,c.push(l);for(let d=1;d<a;d++)l=l.add(u),c.push(l);u=l.double()}return c},wNAF(i,s,o){let{windows:a,windowSize:c}=n(i),u=t.ZERO,l=t.BASE,f=BigInt(2**i-1),d=2**i,p=BigInt(i);for(let h=0;h<a;h++){let m=h*c,g=Number(o&f);o>>=p,g>c&&(g-=d,o+=Kc);let y=m,x=m+Math.abs(g)-1,b=h%2!==0,S=g<0;g===0?l=l.add(r(b,s[y])):u=u.add(r(S,s[x]))}return{p:u,f:l}},wNAFCached(i,s,o,a){let c=i._WINDOW_SIZE||1,u=s.get(i);return u||(u=this.precomputeWindow(i,c),c!==1&&s.set(i,a(u))),this.wNAF(c,u,o)}}}function Ui(t){return Uc(t.Fp),Wt(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Mc(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var Nt=BigInt(0),xt=BigInt(1),js=BigInt(2),y2=BigInt(8),x2={zip215:!0};function b2(t){let e=Ui(t);return Wt(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function Js(t){let e=b2(t),{Fp:r,n,prehash:i,hash:s,randomBytes:o,nByteLength:a,h:c}=e,u=js<<BigInt(a*8)-xt,l=r.create,f=e.uvRatio||((N,T)=>{try{return{isValid:!0,value:r.sqrt(N*r.inv(T))}}catch{return{isValid:!1,value:Nt}}}),d=e.adjustScalarBytes||(N=>N),p=e.domain||((N,T,M)=>{if(T.length||M)throw new Error("Contexts/pre-hash are not supported");return N}),h=N=>typeof N=="bigint"&&Nt<N,m=(N,T)=>h(N)&&h(T)&&N<T,g=N=>N===Nt||m(N,u);function y(N,T){if(m(N,T))return N;throw new Error(`Expected valid scalar < ${T}, got ${typeof N} ${N}`)}function x(N){return N===Nt?N:y(N,n)}let b=new Map;function S(N){if(!(N instanceof E))throw new Error("ExtendedPoint expected")}class E{constructor(T,M,K,H){if(this.ex=T,this.ey=M,this.ez=K,this.et=H,!g(T))throw new Error("x required");if(!g(M))throw new Error("y required");if(!g(K))throw new Error("z required");if(!g(H))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(T){if(T instanceof E)throw new Error("extended point not allowed");let{x:M,y:K}=T||{};if(!g(M)||!g(K))throw new Error("invalid affine point");return new E(M,K,xt,l(M*K))}static normalizeZ(T){let M=r.invertBatch(T.map(K=>K.ez));return T.map((K,H)=>K.toAffine(M[H])).map(E.fromAffine)}_setWindowSize(T){this._WINDOW_SIZE=T,b.delete(this)}assertValidity(){let{a:T,d:M}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:K,ey:H,ez:X,et:J}=this,ce=l(K*K),ee=l(H*H),ne=l(X*X),Be=l(ne*ne),ve=l(ce*T),Ve=l(ne*l(ve+ee)),$e=l(Be+l(M*l(ce*ee)));if(Ve!==$e)throw new Error("bad point: equation left != right (1)");let Pe=l(K*H),Xe=l(X*J);if(Pe!==Xe)throw new Error("bad point: equation left != right (2)")}equals(T){S(T);let{ex:M,ey:K,ez:H}=this,{ex:X,ey:J,ez:ce}=T,ee=l(M*ce),ne=l(X*H),Be=l(K*ce),ve=l(J*H);return ee===ne&&Be===ve}is0(){return this.equals(E.ZERO)}negate(){return new E(l(-this.ex),this.ey,this.ez,l(-this.et))}double(){let{a:T}=e,{ex:M,ey:K,ez:H}=this,X=l(M*M),J=l(K*K),ce=l(js*l(H*H)),ee=l(T*X),ne=M+K,Be=l(l(ne*ne)-X-J),ve=ee+J,Ve=ve-ce,$e=ee-J,Pe=l(Be*Ve),Xe=l(ve*$e),Jt=l(Be*$e),Vr=l(Ve*ve);return new E(Pe,Xe,Vr,Jt)}add(T){S(T);let{a:M,d:K}=e,{ex:H,ey:X,ez:J,et:ce}=this,{ex:ee,ey:ne,ez:Be,et:ve}=T;if(M===BigInt(-1)){let Ff=l((X-H)*(ne+ee)),Kf=l((X+H)*(ne-ee)),La=l(Kf-Ff);if(La===Nt)return this.double();let qf=l(J*js*ve),Vf=l(ce*js*Be),$f=Vf+qf,zf=Kf+Ff,Hf=Vf-qf,Fy=l($f*La),Ky=l(zf*Hf),qy=l($f*Hf),Vy=l(La*zf);return new E(Fy,Ky,Vy,qy)}let Ve=l(H*ee),$e=l(X*ne),Pe=l(ce*K*ve),Xe=l(J*Be),Jt=l((H+X)*(ee+ne)-Ve-$e),Vr=Xe-Pe,Ai=Xe+Pe,Mf=l($e-M*Ve),ky=l(Jt*Vr),Oy=l(Ai*Mf),Uy=l(Jt*Mf),My=l(Vr*Ai);return new E(ky,Oy,My,Uy)}subtract(T){return this.add(T.negate())}wNAF(T){return R.wNAFCached(this,b,T,E.normalizeZ)}multiply(T){let{p:M,f:K}=this.wNAF(y(T,n));return E.normalizeZ([M,K])[0]}multiplyUnsafe(T){let M=x(T);return M===Nt?C:this.equals(C)||M===xt?this:this.equals(A)?this.wNAF(M).p:R.unsafeLadder(this,M)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return R.unsafeLadder(this,n).is0()}toAffine(T){let{ex:M,ey:K,ez:H}=this,X=this.is0();T==null&&(T=X?y2:r.inv(H));let J=l(M*T),ce=l(K*T),ee=l(H*T);if(X)return{x:Nt,y:xt};if(ee!==xt)throw new Error("invZ was invalid");return{x:J,y:ce}}clearCofactor(){let{h:T}=e;return T===xt?this:this.multiplyUnsafe(T)}static fromHex(T,M=!1){let{d:K,a:H}=e,X=r.BYTES;T=Se("pointHex",T,X);let J=T.slice(),ce=T[X-1];J[X-1]=ce&-129;let ee=Rr(J);ee===Nt||(M?y(ee,u):y(ee,r.ORDER));let ne=l(ee*ee),Be=l(ne-xt),ve=l(K*ne-H),{isValid:Ve,value:$e}=f(Be,ve);if(!Ve)throw new Error("Point.fromHex: invalid y coordinate");let Pe=($e&xt)===xt,Xe=(ce&128)!==0;if(!M&&$e===Nt&&Xe)throw new Error("Point.fromHex: x=0 and x_0=1");return Xe!==Pe&&($e=l(-$e)),E.fromAffine({x:$e,y:ee})}static fromPrivateKey(T){return z(T).point}toRawBytes(){let{x:T,y:M}=this.toAffine(),K=Jr(M,r.BYTES);return K[K.length-1]|=T&xt?128:0,K}toHex(){return sr(this.toRawBytes())}}E.BASE=new E(e.Gx,e.Gy,xt,l(e.Gx*e.Gy)),E.ZERO=new E(Nt,xt,xt,Nt);let{BASE:A,ZERO:C}=E,R=Zs(E,a*8);function V(N){return he(N,n)}function G(N){return V(Rr(N))}function z(N){let T=a;N=Se("private key",N,T);let M=Se("hashed private key",s(N),2*T),K=d(M.slice(0,T)),H=M.slice(T,2*T),X=G(K),J=A.multiply(X),ce=J.toRawBytes();return{head:K,prefix:H,scalar:X,point:J,pointBytes:ce}}function j(N){return z(N).pointBytes}function le(N=new Uint8Array,...T){let M=ar(...T);return G(s(p(M,Se("context",N),!!i)))}function qe(N,T,M={}){N=Se("message",N),i&&(N=i(N));let{prefix:K,scalar:H,pointBytes:X}=z(T),J=le(M.context,K,N),ce=A.multiply(J).toRawBytes(),ee=le(M.context,ce,X,N),ne=V(J+ee*H);x(ne);let Be=ar(ce,Jr(ne,r.BYTES));return Se("result",Be,a*2)}let L=x2;function k(N,T,M,K=L){let{context:H,zip215:X}=K,J=r.BYTES;N=Se("signature",N,2*J),T=Se("message",T),i&&(T=i(T));let ce=Rr(N.slice(J,2*J)),ee,ne,Be;try{ee=E.fromHex(M,X),ne=E.fromHex(N.slice(0,J),X),Be=A.multiplyUnsafe(ce)}catch{return!1}if(!X&&ee.isSmallOrder())return!1;let ve=le(H,ne.toRawBytes(),ee.toRawBytes(),T);return ne.add(ee.multiplyUnsafe(ve)).subtract(Be).clearCofactor().equals(E.ZERO)}return A._setWindowSize(8),{CURVE:e,getPublicKey:j,sign:qe,verify:k,ExtendedPoint:E,utils:{getExtendedPublicKey:z,randomPrivateKey:()=>o(r.BYTES),precompute(N=8,T=E.BASE){return T._setWindowSize(N),T.multiply(BigInt(3)),T}}}}var Vc=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),X0=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),S4=BigInt(0),w2=BigInt(1),qc=BigInt(2),E2=BigInt(5),Z0=BigInt(10),v2=BigInt(20),A2=BigInt(40),j0=BigInt(80);function S2(t){let e=Vc,n=t*t%e*t%e,i=be(n,qc,e)*n%e,s=be(i,w2,e)*t%e,o=be(s,E2,e)*s%e,a=be(o,Z0,e)*o%e,c=be(a,v2,e)*a%e,u=be(c,A2,e)*c%e,l=be(u,j0,e)*u%e,f=be(l,j0,e)*u%e,d=be(f,Z0,e)*o%e;return{pow_p_5_8:be(d,qc,e)*t%e,b2:n}}function _2(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function I2(t,e){let r=Vc,n=he(e*e*e,r),i=he(n*n*e,r),s=S2(t*i).pow_p_5_8,o=he(t*n*s,r),a=he(e*o*o,r),c=o,u=he(o*X0,r),l=a===t,f=a===he(-t,r),d=a===he(-t*X0,r);return l&&(o=c),(f||d)&&(o=u),G0(o,r)&&(o=he(-o,r)),{isValid:l||f,value:o}}var cr=Xs(Vc,void 0,!0),$c={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:cr,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Dc,randomBytes:qn,adjustScalarBytes:_2,uvRatio:I2},$n=Js($c);function J0(t,e,r){if(e.length>255)throw new Error("Context is too big");return zs(Rc("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var _4=Js({...$c,domain:J0}),I4=Js({...$c,domain:J0,prehash:Dc});var C2=(cr.ORDER+BigInt(3))/BigInt(8),C4=cr.pow(qc,C2),T4=cr.sqrt(cr.neg(cr.ONE)),R4=(cr.ORDER-BigInt(5))/BigInt(8),B4=BigInt(486662);var L4=W0(cr,cr.neg(BigInt(486664)));var D4=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),P4=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),N4=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),k4=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var O4=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var zn=32,ur=64,eo=32;function ed(){let t=$n.utils.randomPrivateKey(),e=$n.getPublicKey(t);return{privateKey:id(t,e),publicKey:e}}function td(t){if(t.length!==eo)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=$n.getPublicKey(e);return{privateKey:id(e,r),publicKey:r}}function rd(t,e){let r=t.subarray(0,eo);return $n.sign(e instanceof Uint8Array?e:e.subarray(),r)}function nd(t,e,r){return $n.verify(e,r instanceof Uint8Array?r:r.subarray(),t)}function id(t,e){let r=new Uint8Array(ur);for(let n=0;n<eo;n++)r[n]=t[n],r[eo+n]=e[n];return r}var at={get(t=globalThis){let e=t.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p/blob/main/packages/crypto/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var zc={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Hc(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",s=t?.saltLength??16,o=t?.iterations??32767,a=at.get();r*=8;async function c(f,d){let p=a.getRandomValues(new Uint8Array(s)),h=a.getRandomValues(new Uint8Array(n)),m={name:e,iv:h};typeof d=="string"&&(d=mt(d));let g;if(d.length===0){g=await a.subtle.importKey("jwk",zc,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,b,{name:e,length:r},!0,["encrypt"])}catch{g=await a.subtle.importKey("jwk",zc,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,b,{name:e,length:r},!0,["encrypt"])}let y=await a.subtle.encrypt(m,g,f);return Zr([p,m.iv,new Uint8Array(y)])}async function u(f,d){let p=f.subarray(0,s),h=f.subarray(s,s+n),m=f.subarray(s+n),g={name:e,iv:h};typeof d=="string"&&(d=mt(d));let y;if(d.length===0)try{let b={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},S=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(b,S,{name:e,length:r},!0,["decrypt"])}catch{y=await a.subtle.importKey("jwk",zc,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:p,iterations:o,hash:{name:i}},S=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(b,S,{name:e,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(g,y,m);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function Hn(t,e){let n=await Hc().encrypt(t,e);return kn.encode(n)}var Gc=new Float32Array([-0]),Lr=new Uint8Array(Gc.buffer);function od(t,e,r){Gc[0]=t,e[r]=Lr[0],e[r+1]=Lr[1],e[r+2]=Lr[2],e[r+3]=Lr[3]}function ad(t,e){return Lr[0]=t[e],Lr[1]=t[e+1],Lr[2]=t[e+2],Lr[3]=t[e+3],Gc[0]}var Wc=new Float64Array([-0]),Ze=new Uint8Array(Wc.buffer);function cd(t,e,r){Wc[0]=t,e[r]=Ze[0],e[r+1]=Ze[1],e[r+2]=Ze[2],e[r+3]=Ze[3],e[r+4]=Ze[4],e[r+5]=Ze[5],e[r+6]=Ze[6],e[r+7]=Ze[7]}function ud(t,e){return Ze[0]=t[e],Ze[1]=t[e+1],Ze[2]=t[e+2],Ze[3]=t[e+3],Ze[4]=t[e+4],Ze[5]=t[e+5],Ze[6]=t[e+6],Ze[7]=t[e+7],Wc[0]}var R2=BigInt(Number.MAX_SAFE_INTEGER),B2=BigInt(Number.MIN_SAFE_INTEGER),ct=class t{lo;hi;constructor(e,r){this.lo=e|0,this.hi=r|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,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}static fromBigInt(e){if(e===0n)return tn;if(e<R2&&e>B2)return this.fromNumber(Number(e));let r=e<0n;r&&(e=-e);let n=e>>32n,i=e-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>ld&&(i=0n,++n>ld&&(n=0n))),new t(Number(i),Number(n))}static fromNumber(e){if(e===0)return tn;let r=e<0;r&&(e=-e);let 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 t(n,i)}static from(e){return typeof e=="number"?t.fromNumber(e):typeof e=="bigint"?t.fromBigInt(e):typeof e=="string"?t.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new t(e.low>>>0,e.high>>>0):tn}},tn=new ct(0,0);tn.toBigInt=function(){return 0n};tn.zzEncode=tn.zzDecode=function(){return this};tn.length=function(){return 1};var ld=4294967296n;function fd(t){let e=0,r=0;for(let n=0;n<t.length;++n)r=t.charCodeAt(n),r<128?e+=1:r<2048?e+=2:(r&64512)===55296&&(t.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function hd(t,e,r){if(r-e<1)return"";let i,s=[],o=0,a;for(;e<r;)a=t[e++],a<128?s[o++]=a:a>191&&a<224?s[o++]=(a&31)<<6|t[e++]&63:a>239&&a<365?(a=((a&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,s[o++]=55296+(a>>10),s[o++]=56320+(a&1023)):s[o++]=(a&15)<<12|(t[e++]&63)<<6|t[e++]&63,o>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,s)),o=0);return i!=null?(o>0&&i.push(String.fromCharCode.apply(String,s.slice(0,o))),i.join("")):String.fromCharCode.apply(String,s.slice(0,o))}function Yc(t,e,r){let n=r,i,s;for(let o=0;o<t.length;++o)i=t.charCodeAt(o),i<128?e[r++]=i:i<2048?(e[r++]=i>>6|192,e[r++]=i&63|128):(i&64512)===55296&&((s=t.charCodeAt(o+1))&64512)===56320?(i=65536+((i&1023)<<10)+(s&1023),++o,e[r++]=i>>18|240,e[r++]=i>>12&63|128,e[r++]=i>>6&63|128,e[r++]=i&63|128):(e[r++]=i>>12|224,e[r++]=i>>6&63|128,e[r++]=i&63|128);return r-n}function kt(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function to(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var Qc=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,kt(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw kt(this,4);return to(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw kt(this,4);return to(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw kt(this,4);let e=ad(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw kt(this,4);let e=ud(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw kt(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return hd(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw kt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw kt(this);while(this.buf[this.pos++]&128);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new ct(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw kt(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,e}if(this.len-this.pos>4){for(;r<5;++r)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;r<5;++r){if(this.pos>=this.len)throw kt(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw kt(this,8);let e=to(this.buf,this.pos+=4),r=to(this.buf,this.pos+=4);return new ct(e,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function Xc(t){return new Qc(t instanceof Uint8Array?t:t.subarray())}function He(t,e){let r=Xc(t);return e.decode(r)}function rn(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function lr(t=0){return globalThis.Buffer?.alloc!=null?rn(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function ut(t=0){return globalThis.Buffer?.allocUnsafe!=null?rn(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}var tu={};ie(tu,{base10:()=>O2});function L2(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 m=0,g=0,y=0,x=h.length;y!==x&&h[y]===0;)y++,m++;for(var b=(x-y)*l+1>>>0,S=new Uint8Array(b);y!==x;){for(var E=h[y],A=0,C=b-1;(E!==0||A<g)&&C!==-1;C--,A++)E+=256*S[C]>>>0,S[C]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");g=A,y++}for(var R=b-g;R!==b&&S[R]===0;)R++;for(var V=c.repeat(m);R<b;++R)V+=t.charAt(S[R]);return V}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var m=0;if(h[m]!==" "){for(var g=0,y=0;h[m]===c;)g++,m++;for(var x=(h.length-m)*u+1>>>0,b=new Uint8Array(x);h[m];){var S=r[h.charCodeAt(m)];if(S===255)return;for(var E=0,A=x-1;(S!==0||E<y)&&A!==-1;A--,E++)S+=a*b[A]>>>0,b[A]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");y=E,m++}if(h[m]!==" "){for(var C=x-y;C!==x&&b[C]===0;)C++;for(var R=new Uint8Array(g+(x-C)),V=g;C!==x;)R[V++]=b[C++];return R}}}function p(h){var m=d(h);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:d,decode:p}}var D2=L2,P2=D2,pd=P2;var rC=new Uint8Array(0);var md=(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},fr=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")};var gd=t=>new TextEncoder().encode(t),yd=t=>new TextDecoder().decode(t);var Zc=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")}},jc=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return bd(this,e)}},Jc=class{constructor(e){this.decoders=e}or(e){return bd(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`)}},bd=(t,e)=>new Jc({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),eu=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Zc(e,r,n),this.decoder=new jc(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Gn=({name:t,prefix:e,encode:r,decode:n})=>new eu(t,e,r,n),Dr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=pd(r,e);return Gn({prefix:t,name:e,encode:n,decode:s=>fr(i(s))})},N2=(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},k2=(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},_e=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Gn({prefix:e,name:t,encode(i){return k2(i,n,r)},decode(i){return N2(i,n,r,t)}});var O2=Dr({prefix:"9",name:"base10",alphabet:"0123456789"});var ru={};ie(ru,{base16:()=>U2,base16upper:()=>M2});var U2=_e({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),M2=_e({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var nu={};ie(nu,{base2:()=>F2});var F2=_e({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var iu={};ie(iu,{base256emoji:()=>z2});var wd=Array.from("\u{1F680}\u{1FA90}\u2604\u{1F6F0}\u{1F30C}\u{1F311}\u{1F312}\u{1F313}\u{1F314}\u{1F315}\u{1F316}\u{1F317}\u{1F318}\u{1F30D}\u{1F30F}\u{1F30E}\u{1F409}\u2600\u{1F4BB}\u{1F5A5}\u{1F4BE}\u{1F4BF}\u{1F602}\u2764\u{1F60D}\u{1F923}\u{1F60A}\u{1F64F}\u{1F495}\u{1F62D}\u{1F618}\u{1F44D}\u{1F605}\u{1F44F}\u{1F601}\u{1F525}\u{1F970}\u{1F494}\u{1F496}\u{1F499}\u{1F622}\u{1F914}\u{1F606}\u{1F644}\u{1F4AA}\u{1F609}\u263A\u{1F44C}\u{1F917}\u{1F49C}\u{1F614}\u{1F60E}\u{1F607}\u{1F339}\u{1F926}\u{1F389}\u{1F49E}\u270C\u2728\u{1F937}\u{1F631}\u{1F60C}\u{1F338}\u{1F64C}\u{1F60B}\u{1F497}\u{1F49A}\u{1F60F}\u{1F49B}\u{1F642}\u{1F493}\u{1F929}\u{1F604}\u{1F600}\u{1F5A4}\u{1F603}\u{1F4AF}\u{1F648}\u{1F447}\u{1F3B6}\u{1F612}\u{1F92D}\u2763\u{1F61C}\u{1F48B}\u{1F440}\u{1F62A}\u{1F611}\u{1F4A5}\u{1F64B}\u{1F61E}\u{1F629}\u{1F621}\u{1F92A}\u{1F44A}\u{1F973}\u{1F625}\u{1F924}\u{1F449}\u{1F483}\u{1F633}\u270B\u{1F61A}\u{1F61D}\u{1F634}\u{1F31F}\u{1F62C}\u{1F643}\u{1F340}\u{1F337}\u{1F63B}\u{1F613}\u2B50\u2705\u{1F97A}\u{1F308}\u{1F608}\u{1F918}\u{1F4A6}\u2714\u{1F623}\u{1F3C3}\u{1F490}\u2639\u{1F38A}\u{1F498}\u{1F620}\u261D\u{1F615}\u{1F33A}\u{1F382}\u{1F33B}\u{1F610}\u{1F595}\u{1F49D}\u{1F64A}\u{1F639}\u{1F5E3}\u{1F4AB}\u{1F480}\u{1F451}\u{1F3B5}\u{1F91E}\u{1F61B}\u{1F534}\u{1F624}\u{1F33C}\u{1F62B}\u26BD\u{1F919}\u2615\u{1F3C6}\u{1F92B}\u{1F448}\u{1F62E}\u{1F646}\u{1F37B}\u{1F343}\u{1F436}\u{1F481}\u{1F632}\u{1F33F}\u{1F9E1}\u{1F381}\u26A1\u{1F31E}\u{1F388}\u274C\u270A\u{1F44B}\u{1F630}\u{1F928}\u{1F636}\u{1F91D}\u{1F6B6}\u{1F4B0}\u{1F353}\u{1F4A2}\u{1F91F}\u{1F641}\u{1F6A8}\u{1F4A8}\u{1F92C}\u2708\u{1F380}\u{1F37A}\u{1F913}\u{1F619}\u{1F49F}\u{1F331}\u{1F616}\u{1F476}\u{1F974}\u25B6\u27A1\u2753\u{1F48E}\u{1F4B8}\u2B07\u{1F628}\u{1F31A}\u{1F98B}\u{1F637}\u{1F57A}\u26A0\u{1F645}\u{1F61F}\u{1F635}\u{1F44E}\u{1F932}\u{1F920}\u{1F927}\u{1F4CC}\u{1F535}\u{1F485}\u{1F9D0}\u{1F43E}\u{1F352}\u{1F617}\u{1F911}\u{1F30A}\u{1F92F}\u{1F437}\u260E\u{1F4A7}\u{1F62F}\u{1F486}\u{1F446}\u{1F3A4}\u{1F647}\u{1F351}\u2744\u{1F334}\u{1F4A3}\u{1F438}\u{1F48C}\u{1F4CD}\u{1F940}\u{1F922}\u{1F445}\u{1F4A1}\u{1F4A9}\u{1F450}\u{1F4F8}\u{1F47B}\u{1F910}\u{1F92E}\u{1F3BC}\u{1F975}\u{1F6A9}\u{1F34E}\u{1F34A}\u{1F47C}\u{1F48D}\u{1F4E3}\u{1F942}"),K2=wd.reduce((t,e,r)=>(t[r]=e,t),[]),q2=wd.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function V2(t){return t.reduce((e,r)=>(e+=K2[r],e),"")}function $2(t){let e=[];for(let r of t){let n=q2[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var z2=Gn({prefix:"\u{1F680}",name:"base256emoji",encode:V2,decode:$2});var su={};ie(su,{base32:()=>Wn,base32hex:()=>Y2,base32hexpad:()=>X2,base32hexpadupper:()=>Z2,base32hexupper:()=>Q2,base32pad:()=>G2,base32padupper:()=>W2,base32upper:()=>H2,base32z:()=>j2});var Wn=_e({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),H2=_e({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),G2=_e({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),W2=_e({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Y2=_e({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Q2=_e({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),X2=_e({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Z2=_e({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),j2=_e({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var ou={};ie(ou,{base36:()=>J2,base36upper:()=>eE});var J2=Dr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),eE=Dr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var au={};ie(au,{base58btc:()=>Yt,base58flickr:()=>tE});var Yt=Dr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),tE=Dr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var cu={};ie(cu,{base64:()=>rE,base64pad:()=>nE,base64url:()=>iE,base64urlpad:()=>sE});var rE=_e({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),nE=_e({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),iE=_e({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),sE=_e({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var uu={};ie(uu,{base8:()=>oE});var oE=_e({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var lu={};ie(lu,{identity:()=>aE});var aE=Gn({prefix:"\0",name:"identity",encode:t=>yd(t),decode:t=>gd(t)});var yC=new TextEncoder,xC=new TextDecoder;var hu={};ie(hu,{identity:()=>BE});var lE=Ad,Ed=128,fE=127,hE=~fE,dE=Math.pow(2,31);function Ad(t,e,r){e=e||[],r=r||0;for(var n=r;t>=dE;)e[r++]=t&255|Ed,t/=128;for(;t&hE;)e[r++]=t&255|Ed,t>>>=7;return e[r]=t|0,Ad.bytes=r-n+1,e}var pE=fu,mE=128,vd=127;function fu(t,n){var r=0,n=n||0,i=0,s=n,o,a=t.length;do{if(s>=a)throw fu.bytes=0,new RangeError("Could not decode varint");o=t[s++],r+=i<28?(o&vd)<<i:(o&vd)*Math.pow(2,i),i+=7}while(o>=mE);return fu.bytes=s-n,r}var gE=Math.pow(2,7),yE=Math.pow(2,14),xE=Math.pow(2,21),bE=Math.pow(2,28),wE=Math.pow(2,35),EE=Math.pow(2,42),vE=Math.pow(2,49),AE=Math.pow(2,56),SE=Math.pow(2,63),_E=function(t){return t<gE?1:t<yE?2:t<xE?3:t<bE?4:t<wE?5:t<EE?6:t<vE?7:t<AE?8:t<SE?9:10},IE={encode:lE,decode:pE,encodingLength:_E},CE=IE,Mi=CE;var Fi=(t,e=0)=>[Mi.decode(t,e),Mi.decode.bytes],Yn=(t,e,r=0)=>(Mi.encode(t,e,r),e),Qn=t=>Mi.encodingLength(t);var nn=(t,e)=>{let r=e.byteLength,n=Qn(t),i=n+Qn(r),s=new Uint8Array(i+r);return Yn(t,s,0),Yn(r,s,n),s.set(e,i),new Xn(t,r,e,s)},Sd=t=>{let e=fr(t),[r,n]=Fi(e),[i,s]=Fi(e.subarray(n)),o=e.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new Xn(r,i,o,e)},_d=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&md(t.bytes,r.bytes)}},Xn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var Id=0,TE="identity",Cd=fr,RE=t=>nn(Id,Cd(t)),BE={code:Id,name:TE,encode:Cd,digest:RE};var mu={};ie(mu,{sha256:()=>LE,sha512:()=>DE});var pu=({name:t,code:e,encode:r})=>new du(t,e,r),du=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?nn(this.code,r):r.then(n=>nn(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Rd=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),LE=pu({name:"sha2-256",code:18,encode:Rd("SHA-256")}),DE=pu({name:"sha2-512",code:19,encode:Rd("SHA-512")});var Bd=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return NE(r,gu(t),e||Yt.encoder);default:return kE(r,gu(t),e||Wn.encoder)}};var Ld=new WeakMap,gu=t=>{let e=Ld.get(t);if(e==null){let r=new Map;return Ld.set(t,r),r}return e},no=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==qi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==OE)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=nn(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&_d(e.multihash,n.multihash)}toString(e){return Bd(this,e)}toJSON(){return{"/":Bd(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:s,bytes:o}=r;return new t(n,i,s,o||Dd(n,i,s.bytes))}else if(r[UE]===!0){let{version:n,multihash:i,code:s}=r,o=Sd(i);return t.create(n,s,o)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==qi)throw new Error(`Version 0 CID must use dag-pb (code: ${qi}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=Dd(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,qi,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=fr(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 Xn(r.multihashCode,r.digestSize,s,i);return[r.version===0?t.createV0(o):t.createV1(r.codec,o),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[f,d]=Fi(e.subarray(r));return r+=d,f},i=n(),s=qi;if(i===18?(i=0,r=0):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]=PE(e,r),s=t.decode(i);if(s.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return gu(s).set(n,e),s}},PE=(t,e)=>{switch(t[0]){case"Q":{let r=e||Yt;return[Yt.prefix,r.decode(`${Yt.prefix}${t}`)]}case Yt.prefix:{let r=e||Yt;return[Yt.prefix,r.decode(t)]}case Wn.prefix:{let r=e||Wn;return[Wn.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)]}}},NE=(t,e,r)=>{let{prefix:n}=r;if(n!==Yt.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},kE=(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},qi=112,OE=18,Dd=(t,e,r)=>{let n=Qn(t),i=n+Qn(e),s=new Uint8Array(i+r.byteLength);return Yn(t,s,0),Yn(e,s,n),s.set(r,i),s},UE=Symbol.for("@ipld/js-cid/CID");var yu={...lu,...nu,...uu,...tu,...ru,...su,...ou,...au,...cu,...iu},NC={...mu,...hu};function Nd(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Pd=Nd("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),xu=Nd("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=ut(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),ME={utf8:Pd,"utf-8":Pd,hex:yu.base16,latin1:xu,ascii:xu,binary:xu,...yu},kd=ME;function Od(t,e="utf8"){let r=kd[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?rn(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function bu(t){let e=t??8192,r=e>>>1,n,i=e;return function(o){if(o<1||o>r)return ut(o);i+o>e&&(n=ut(e),i=0);let a=n.subarray(i,i+=o);return i&7&&(i=(i|7)+1),a}}var sn=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function wu(){}var vu=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},FE=bu();function KE(t){return globalThis.Buffer!=null?ut(t):FE(t)}var zi=class{len;head;tail;states;constructor(){this.len=0,this.head=new sn(wu,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new sn(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Au((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(Vi,10,ct.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=ct.fromBigInt(e);return this._push(Vi,r.length(),r)}uint64Number(e){let r=ct.fromNumber(e);return this._push(Vi,r.length(),r)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let r=ct.fromBigInt(e).zzEncode();return this._push(Vi,r.length(),r)}sint64Number(e){let r=ct.fromNumber(e).zzEncode();return this._push(Vi,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(Eu,1,e?1:0)}fixed32(e){return this._push($i,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=ct.fromBigInt(e);return this._push($i,4,r.lo)._push($i,4,r.hi)}fixed64Number(e){let r=ct.fromNumber(e);return this._push($i,4,r.lo)._push($i,4,r.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(od,4,e)}double(e){return this._push(cd,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(Eu,1,0):this.uint32(r)._push(VE,r,e)}string(e){let r=fd(e);return r!==0?this.uint32(r)._push(Yc,r,e):this._push(Eu,1,0)}fork(){return this.states=new vu(this),this.head=this.tail=new sn(wu,0,0),this.len=0,this}reset(){return this.states!=null?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new sn(wu,0,0),this.len=0),this}ldelim(){let e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=r,this.len+=n),this}finish(){let e=this.head.next,r=KE(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function Eu(t,e,r){e[r]=t&255}function qE(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var Au=class extends sn{next;constructor(e,r){super(qE,e,r),this.next=void 0}};function Vi(t,e,r){for(;t.hi!==0;)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}function $i(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 VE(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(zi.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push($E,e,t),this},zi.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(zE,e,t),this});function $E(t,e,r){e.set(t,r)}function zE(t,e,r){t.length<40?Yc(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(Od(t),r)}function Su(){return new zi}function Ge(t,e){let r=Su();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var Zn;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(Zn||(Zn={}));function io(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function _u(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(s,o){let a=e(s);o.int32(a)},n=function(s){let o=s.int32();return e(o)};return io("enum",Zn.VARINT,r,n)}function We(t,e){return io("message",Zn.LENGTH_DELIMITED,t,e)}var we;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(we||(we={}));var Iu;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(Iu||(Iu={}));(function(t){t.codec=()=>_u(Iu)})(we||(we={}));var Qt;(function(t){let e;t.codec=()=>(e==null&&(e=We((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),we.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=we.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Ge(r,t.codec()),t.decode=r=>He(r,t.codec())})(Qt||(Qt={}));var Xt;(function(t){let e;t.codec=()=>(e==null&&(e=We((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),we.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.Type=we.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Ge(r,t.codec()),t.decode=r=>He(r,t.codec())})(Xt||(Xt={}));var Hi=class{_key;constructor(e){this._key=jn(e,zn)}verify(e,r){return nd(this._key,r,e)}marshal(){return this._key}get bytes(){return Qt.encode({Type:we.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Gt(this.bytes,e.bytes)}hash(){let e=ze.digest(this.bytes);return At(e)?e.then(({bytes:r})=>r):e.bytes}},on=class{_key;_publicKey;constructor(e,r){this._key=jn(e,ur),this._publicKey=jn(r,zn)}sign(e){return rd(this._key,e)}get public(){return new Hi(this._publicKey)}marshal(){return this._key}get bytes(){return Xt.encode({Type:we.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Gt(this.bytes,e.bytes)}async hash(){let e=ze.digest(this.bytes),r;return At(e)?{bytes:r}=await e:r=e.bytes,r}async id(){let e=Ir.digest(this.public.bytes);return Ce.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Hn(this.bytes,e);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function HE(t){if(t.length>ur){t=jn(t,ur+zn);let n=t.subarray(0,ur),i=t.subarray(ur,t.length);return new on(n,i)}t=jn(t,ur);let e=t.subarray(0,ur),r=t.subarray(zn);return new on(e,r)}function GE(t){return t=jn(t,zn),new Hi(t)}async function WE(){let{privateKey:t,publicKey:e}=ed();return new on(t,e)}async function Ud(t){let{privateKey:e,publicKey:r}=td(t);return new on(e,r)}function jn(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new _(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}var YE={"P-256":256,"P-384":384,"P-521":521},QE=Object.keys(YE),ST=QE.join(" / ");var Du={};ie(Du,{MAX_KEY_SIZE:()=>Qi,RsaPrivateKey:()=>Jn,RsaPublicKey:()=>Yi,fromJwk:()=>ov,generateKeyPair:()=>av,unmarshalRsaPrivateKey:()=>iv,unmarshalRsaPublicKey:()=>sv});var Wi=Ee(fe(),1);var cR=Ee(Vd(),1);function oo(t){if(isNaN(t)||t<=0)throw new _("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return qn(t)}var zT=Ee(Os(),1),Bu=Ee(fe(),1);function $d(t,e){return e.map(r=>yt(t[r]))}function zd(t){return Bu.default.pki.setRsaPrivateKey(...$d(t,["n","e","d","p","q","dp","dq","qi"]))}function Hd(t){return Bu.default.pki.setRsaPublicKey(...$d(t,["n","e"]))}var cn={};ie(cn,{jwkToPkcs1:()=>JE,jwkToPkix:()=>tv,pkcs1ToJwk:()=>jE,pkixToJwk:()=>ev});var WT=Ee(Ci(),1),YT=Ee(Os(),1);var hr=Ee(fe(),1);function jE(t){let e=hr.default.asn1.fromDer(gt(t,"ascii")),r=hr.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Lt(r.n),e:Lt(r.e),d:Lt(r.d),p:Lt(r.p),q:Lt(r.q),dp:Lt(r.dP),dq:Lt(r.dQ),qi:Lt(r.qInv),alg:"RS256"}}function JE(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new _("JWK was missing components","ERR_INVALID_PARAMETERS");let e=hr.default.pki.privateKeyToAsn1({n:yt(t.n),e:yt(t.e),d:yt(t.d),p:yt(t.p),q:yt(t.q),dP:yt(t.dp),dQ:yt(t.dq),qInv:yt(t.qi)});return mt(hr.default.asn1.toDer(e).getBytes(),"ascii")}function ev(t){let e=hr.default.asn1.fromDer(gt(t,"ascii")),r=hr.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Lt(r.n),e:Lt(r.e)}}function tv(t){if(t.n==null||t.e==null)throw new _("JWK was missing components","ERR_INVALID_PARAMETERS");let e=hr.default.pki.publicKeyToAsn1({n:yt(t.n),e:yt(t.e)});return mt(hr.default.asn1.toDer(e).getBytes(),"ascii")}async function Gd(t){let e=await at.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 Qd(e);return{privateKey:r[0],publicKey:r[1]}}async function Lu(t){let r=[await at.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await rv(t)],n=await Qd({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Wd(t,e){let r=await at.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await at.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,e instanceof Uint8Array?e:e.subarray());return new Uint8Array(n,0,n.byteLength)}async function Yd(t,e,r){let n=await at.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return at.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r instanceof Uint8Array?r:r.subarray())}async function Qd(t){if(t.privateKey==null||t.publicKey==null)throw new _("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([at.get().subtle.exportKey("jwk",t.privateKey),at.get().subtle.exportKey("jwk",t.publicKey)])}async function rv(t){return at.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Xd(t,e,r,n){let i=e?Hd(t):zd(t),s=gt(r instanceof Uint8Array?r:r.subarray(),"ascii"),o=n(s,i);return mt(o,"ascii")}function Zd(t,e){return Xd(t,!0,e,(r,n)=>n.encrypt(r))}function jd(t,e){return Xd(t,!1,e,(r,n)=>n.decrypt(r))}function ao(t){if(t.kty!=="RSA")throw new _("invalid key type","ERR_INVALID_KEY_TYPE");if(t.n==null)throw new _("invalid key modulus","ERR_INVALID_KEY_MODULUS");return mt(t.n,"base64url").length*8}var Qi=8192,Yi=class{_key;constructor(e){this._key=e}verify(e,r){return Yd(this._key,r,e)}marshal(){return cn.jwkToPkix(this._key)}get bytes(){return Qt.encode({Type:we.RSA,Data:this.marshal()}).subarray()}encrypt(e){return Zd(this._key,e)}equals(e){return Gt(this.bytes,e.bytes)}hash(){let e=ze.digest(this.bytes);return At(e)?e.then(({bytes:r})=>r):e.bytes}},Jn=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return oo(16)}sign(e){return Wd(this._key,e)}get public(){if(this._publicKey==null)throw new _("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Yi(this._publicKey)}decrypt(e){return jd(this._key,e)}marshal(){return cn.jwkToPkcs1(this._key)}get bytes(){return Xt.encode({Type:we.RSA,Data:this.marshal()}).subarray()}equals(e){return Gt(this.bytes,e.bytes)}hash(){let e=ze.digest(this.bytes);return At(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return gt(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new Wi.default.util.ByteBuffer(this.marshal()),i=Wi.default.asn1.fromDer(n),s=Wi.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Wi.default.pki.encryptRsaPrivateKey(s,e,o)}else{if(r==="libp2p-key")return Hn(this.bytes,e);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function iv(t){let e=cn.pkcs1ToJwk(t);if(ao(e)>Qi)throw new _("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await Lu(e);return new Jn(r.privateKey,r.publicKey)}function sv(t){let e=cn.pkixToJwk(t);if(ao(e)>Qi)throw new _("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Yi(e)}async function ov(t){if(ao(t)>Qi)throw new _("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Lu(t);return new Jn(e.privateKey,e.publicKey)}async function av(t){if(t>Qi)throw new _("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Gd(t);return new Jn(e.privateKey,e.publicKey)}var Mu={};ie(Mu,{Secp256k1PrivateKey:()=>Zi,Secp256k1PublicKey:()=>Xi,generateKeyPair:()=>vv,unmarshalSecp256k1PrivateKey:()=>wv,unmarshalSecp256k1PublicKey:()=>Ev});var cv=(t,e,r)=>t&e^~t&r,uv=(t,e,r)=>t&e^t&r^e&r,lv=new Uint32Array([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]),Pr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Nr=new Uint32Array(64),Pu=class extends Vn{constructor(){super(64,32,8,!1),this.A=Pr[0]|0,this.B=Pr[1]|0,this.C=Pr[2]|0,this.D=Pr[3]|0,this.E=Pr[4]|0,this.F=Pr[5]|0,this.G=Pr[6]|0,this.H=Pr[7]|0}get(){let{A:e,B:r,C:n,D:i,E:s,F:o,G:a,H:c}=this;return[e,r,n,i,s,o,a,c]}set(e,r,n,i,s,o,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=s|0,this.F=o|0,this.G=a|0,this.H=c|0}process(e,r){for(let f=0;f<16;f++,r+=4)Nr[f]=e.getUint32(r,!1);for(let f=16;f<64;f++){let d=Nr[f-15],p=Nr[f-2],h=Dt(d,7)^Dt(d,18)^d>>>3,m=Dt(p,17)^Dt(p,19)^p>>>10;Nr[f]=m+Nr[f-7]+h+Nr[f-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:c,G:u,H:l}=this;for(let f=0;f<64;f++){let d=Dt(a,6)^Dt(a,11)^Dt(a,25),p=l+d+cv(a,c,u)+lv[f]+Nr[f]|0,m=(Dt(n,2)^Dt(n,13)^Dt(n,22))+uv(n,i,s)|0;l=u,u=c,c=a,a=o+p|0,o=s,s=i,i=n,n=p+m|0}n=n+this.A|0,i=i+this.B|0,s=s+this.C|0,o=o+this.D|0,a=a+this.E|0,c=c+this.F|0,u=u+this.G|0,l=l+this.H|0,this.set(n,i,s,o,a,c,u,l)}roundClean(){Nr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Jd=Hs(()=>new Pu);function fv(t){let e=Ui(t);Wt(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=e;if(r){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:hv,hexToBytes:dv}=Ys,un={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=un;if(t.length<2||t[0]!==2)throw new e("Invalid signature integer tag");let r=t[1],n=t.subarray(2,r+2);if(!r||n.length!==r)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:hv(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=un,r=typeof t=="string"?dv(t):t;if(!Pt(r))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new e("Invalid signature tag");if(r[1]!==n-2)throw new e("Invalid signature: incorrect length");let{d:i,l:s}=un._parseInt(r.subarray(2)),{d:o,l:a}=un._parseInt(s);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s:o}},hexFromSig(t){let e=u=>Number.parseInt(u[0],16)&8?"00"+u:u,r=u=>{let l=u.toString(16);return l.length&1?`0${l}`:l},n=e(r(t.s)),i=e(r(t.r)),s=n.length/2,o=i.length/2,a=r(s),c=r(o);return`30${r(o+s+4)}02${c}${i}02${a}${n}`}},dr=BigInt(0),St=BigInt(1),xR=BigInt(2),ep=BigInt(3),bR=BigInt(4);function pv(t){let e=fv(t),{Fp:r}=e,n=e.toBytes||((h,m,g)=>{let y=m.toAffine();return ar(Uint8Array.from([4]),r.toBytes(y.x),r.toBytes(y.y))}),i=e.fromBytes||(h=>{let m=h.subarray(1),g=r.fromBytes(m.subarray(0,r.BYTES)),y=r.fromBytes(m.subarray(r.BYTES,2*r.BYTES));return{x:g,y}});function s(h){let{a:m,b:g}=e,y=r.sqr(h),x=r.mul(y,h);return r.add(r.add(x,r.mul(h,m)),g)}if(!r.eql(r.sqr(e.Gy),s(e.Gx)))throw new Error("bad generator point: equation left != right");function o(h){return typeof h=="bigint"&&dr<h&&h<e.n}function a(h){if(!o(h))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(h){let{allowedPrivateKeyLengths:m,nByteLength:g,wrapPrivateKey:y,n:x}=e;if(m&&typeof h!="bigint"){if(Pt(h)&&(h=sr(h)),typeof h!="string"||!m.includes(h.length))throw new Error("Invalid key");h=h.padStart(g*2,"0")}let b;try{b=typeof h=="bigint"?h:or(Se("private key",h,g))}catch{throw new Error(`private key must be ${g} bytes, hex or bigint, not ${typeof h}`)}return y&&(b=he(b,x)),a(b),b}let u=new Map;function l(h){if(!(h instanceof f))throw new Error("ProjectivePoint expected")}class f{constructor(m,g,y){if(this.px=m,this.py=g,this.pz=y,m==null||!r.isValid(m))throw new Error("x required");if(g==null||!r.isValid(g))throw new Error("y required");if(y==null||!r.isValid(y))throw new Error("z required")}static fromAffine(m){let{x:g,y}=m||{};if(!m||!r.isValid(g)||!r.isValid(y))throw new Error("invalid affine point");if(m instanceof f)throw new Error("projective point not allowed");let x=b=>r.eql(b,r.ZERO);return x(g)&&x(y)?f.ZERO:new f(g,y,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(m){let g=r.invertBatch(m.map(y=>y.pz));return m.map((y,x)=>y.toAffine(g[x])).map(f.fromAffine)}static fromHex(m){let g=f.fromAffine(i(Se("pointHex",m)));return g.assertValidity(),g}static fromPrivateKey(m){return f.BASE.multiply(c(m))}_setWindowSize(m){this._WINDOW_SIZE=m,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:m,y:g}=this.toAffine();if(!r.isValid(m)||!r.isValid(g))throw new Error("bad point: x or y not FE");let y=r.sqr(g),x=s(m);if(!r.eql(y,x))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:m}=this.toAffine();if(r.isOdd)return!r.isOdd(m);throw new Error("Field doesn't support isOdd")}equals(m){l(m);let{px:g,py:y,pz:x}=this,{px:b,py:S,pz:E}=m,A=r.eql(r.mul(g,E),r.mul(b,x)),C=r.eql(r.mul(y,E),r.mul(S,x));return A&&C}negate(){return new f(this.px,r.neg(this.py),this.pz)}double(){let{a:m,b:g}=e,y=r.mul(g,ep),{px:x,py:b,pz:S}=this,E=r.ZERO,A=r.ZERO,C=r.ZERO,R=r.mul(x,x),V=r.mul(b,b),G=r.mul(S,S),z=r.mul(x,b);return z=r.add(z,z),C=r.mul(x,S),C=r.add(C,C),E=r.mul(m,C),A=r.mul(y,G),A=r.add(E,A),E=r.sub(V,A),A=r.add(V,A),A=r.mul(E,A),E=r.mul(z,E),C=r.mul(y,C),G=r.mul(m,G),z=r.sub(R,G),z=r.mul(m,z),z=r.add(z,C),C=r.add(R,R),R=r.add(C,R),R=r.add(R,G),R=r.mul(R,z),A=r.add(A,R),G=r.mul(b,S),G=r.add(G,G),R=r.mul(G,z),E=r.sub(E,R),C=r.mul(G,V),C=r.add(C,C),C=r.add(C,C),new f(E,A,C)}add(m){l(m);let{px:g,py:y,pz:x}=this,{px:b,py:S,pz:E}=m,A=r.ZERO,C=r.ZERO,R=r.ZERO,V=e.a,G=r.mul(e.b,ep),z=r.mul(g,b),j=r.mul(y,S),le=r.mul(x,E),qe=r.add(g,y),L=r.add(b,S);qe=r.mul(qe,L),L=r.add(z,j),qe=r.sub(qe,L),L=r.add(g,x);let k=r.add(b,E);return L=r.mul(L,k),k=r.add(z,le),L=r.sub(L,k),k=r.add(y,x),A=r.add(S,E),k=r.mul(k,A),A=r.add(j,le),k=r.sub(k,A),R=r.mul(V,L),A=r.mul(G,le),R=r.add(A,R),A=r.sub(j,R),R=r.add(j,R),C=r.mul(A,R),j=r.add(z,z),j=r.add(j,z),le=r.mul(V,le),L=r.mul(G,L),j=r.add(j,le),le=r.sub(z,le),le=r.mul(V,le),L=r.add(L,le),z=r.mul(j,L),C=r.add(C,z),z=r.mul(k,L),A=r.mul(qe,A),A=r.sub(A,z),z=r.mul(qe,j),R=r.mul(k,R),R=r.add(R,z),new f(A,C,R)}subtract(m){return this.add(m.negate())}is0(){return this.equals(f.ZERO)}wNAF(m){return p.wNAFCached(this,u,m,g=>{let y=r.invertBatch(g.map(x=>x.pz));return g.map((x,b)=>x.toAffine(y[b])).map(f.fromAffine)})}multiplyUnsafe(m){let g=f.ZERO;if(m===dr)return g;if(a(m),m===St)return this;let{endo:y}=e;if(!y)return p.unsafeLadder(this,m);let{k1neg:x,k1:b,k2neg:S,k2:E}=y.splitScalar(m),A=g,C=g,R=this;for(;b>dr||E>dr;)b&St&&(A=A.add(R)),E&St&&(C=C.add(R)),R=R.double(),b>>=St,E>>=St;return x&&(A=A.negate()),S&&(C=C.negate()),C=new f(r.mul(C.px,y.beta),C.py,C.pz),A.add(C)}multiply(m){a(m);let g=m,y,x,{endo:b}=e;if(b){let{k1neg:S,k1:E,k2neg:A,k2:C}=b.splitScalar(g),{p:R,f:V}=this.wNAF(E),{p:G,f:z}=this.wNAF(C);R=p.constTimeNegate(S,R),G=p.constTimeNegate(A,G),G=new f(r.mul(G.px,b.beta),G.py,G.pz),y=R.add(G),x=V.add(z)}else{let{p:S,f:E}=this.wNAF(g);y=S,x=E}return f.normalizeZ([y,x])[0]}multiplyAndAddUnsafe(m,g,y){let x=f.BASE,b=(E,A)=>A===dr||A===St||!E.equals(x)?E.multiplyUnsafe(A):E.multiply(A),S=b(this,g).add(b(m,y));return S.is0()?void 0:S}toAffine(m){let{px:g,py:y,pz:x}=this,b=this.is0();m==null&&(m=b?r.ONE:r.inv(x));let S=r.mul(g,m),E=r.mul(y,m),A=r.mul(x,m);if(b)return{x:r.ZERO,y:r.ZERO};if(!r.eql(A,r.ONE))throw new Error("invZ was invalid");return{x:S,y:E}}isTorsionFree(){let{h:m,isTorsionFree:g}=e;if(m===St)return!0;if(g)return g(f,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:m,clearCofactor:g}=e;return m===St?this:g?g(f,this):this.multiplyUnsafe(e.h)}toRawBytes(m=!0){return this.assertValidity(),n(f,this,m)}toHex(m=!0){return sr(this.toRawBytes(m))}}f.BASE=new f(e.Gx,e.Gy,r.ONE),f.ZERO=new f(r.ZERO,r.ONE,r.ZERO);let d=e.nBitLength,p=Zs(f,e.endo?Math.ceil(d/2):d);return{CURVE:e,ProjectivePoint:f,normPrivateKeyToScalar:c,weierstrassEquation:s,isWithinCurveOrder:o}}function mv(t){let e=Ui(t);return Wt(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function tp(t){let e=mv(t),{Fp:r,n}=e,i=r.BYTES+1,s=2*r.BYTES+1;function o(L){return dr<L&&L<r.ORDER}function a(L){return he(L,n)}function c(L){return Qs(L,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:l,weierstrassEquation:f,isWithinCurveOrder:d}=pv({...e,toBytes(L,k,P){let N=k.toAffine(),T=r.toBytes(N.x),M=ar;return P?M(Uint8Array.from([k.hasEvenY()?2:3]),T):M(Uint8Array.from([4]),T,r.toBytes(N.y))},fromBytes(L){let k=L.length,P=L[0],N=L.subarray(1);if(k===i&&(P===2||P===3)){let T=or(N);if(!o(T))throw new Error("Point is not on curve");let M=f(T),K=r.sqrt(M),H=(K&St)===St;return(P&1)===1!==H&&(K=r.neg(K)),{x:T,y:K}}else if(k===s&&P===4){let T=r.fromBytes(N.subarray(0,r.BYTES)),M=r.fromBytes(N.subarray(r.BYTES,2*r.BYTES));return{x:T,y:M}}else throw new Error(`Point of length ${k} was invalid. Expected ${i} compressed bytes or ${s} uncompressed bytes`)}}),p=L=>sr(Br(L,e.nByteLength));function h(L){let k=n>>St;return L>k}function m(L){return h(L)?a(-L):L}let g=(L,k,P)=>or(L.slice(k,P));class y{constructor(k,P,N){this.r=k,this.s=P,this.recovery=N,this.assertValidity()}static fromCompact(k){let P=e.nByteLength;return k=Se("compactSignature",k,P*2),new y(g(k,0,P),g(k,P,2*P))}static fromDER(k){let{r:P,s:N}=un.toSig(Se("DER",k));return new y(P,N)}assertValidity(){if(!d(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!d(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(k){return new y(this.r,this.s,k)}recoverPublicKey(k){let{r:P,s:N,recovery:T}=this,M=C(Se("msgHash",k));if(T==null||![0,1,2,3].includes(T))throw new Error("recovery id invalid");let K=T===2||T===3?P+e.n:P;if(K>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let H=T&1?"03":"02",X=u.fromHex(H+p(K)),J=c(K),ce=a(-M*J),ee=a(N*J),ne=u.BASE.multiplyAndAddUnsafe(X,ce,ee);if(!ne)throw new Error("point at infinify");return ne.assertValidity(),ne}hasHighS(){return h(this.s)}normalizeS(){return this.hasHighS()?new y(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return jr(this.toDERHex())}toDERHex(){return un.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return jr(this.toCompactHex())}toCompactHex(){return p(this.r)+p(this.s)}}let x={isValidPrivateKey(L){try{return l(L),!0}catch{return!1}},normPrivateKeyToScalar:l,randomPrivateKey:()=>{let L=Fc(e.n);return Q0(e.randomBytes(L),e.n)},precompute(L=8,k=u.BASE){return k._setWindowSize(L),k.multiply(BigInt(3)),k}};function b(L,k=!0){return u.fromPrivateKey(L).toRawBytes(k)}function S(L){let k=Pt(L),P=typeof L=="string",N=(k||P)&&L.length;return k?N===i||N===s:P?N===2*i||N===2*s:L instanceof u}function E(L,k,P=!0){if(S(L))throw new Error("first arg must be private key");if(!S(k))throw new Error("second arg must be public key");return u.fromHex(k).multiply(l(L)).toRawBytes(P)}let A=e.bits2int||function(L){let k=or(L),P=L.length*8-e.nBitLength;return P>0?k>>BigInt(P):k},C=e.bits2int_modN||function(L){return a(A(L))},R=Oi(e.nBitLength);function V(L){if(typeof L!="bigint")throw new Error("bigint expected");if(!(dr<=L&&L<R))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Br(L,e.nByteLength)}function G(L,k,P=z){if(["recovered","canonical"].some(ve=>ve in P))throw new Error("sign() legacy options not supported");let{hash:N,randomBytes:T}=e,{lowS:M,prehash:K,extraEntropy:H}=P;M==null&&(M=!0),L=Se("msgHash",L),K&&(L=Se("prehashed msgHash",N(L)));let X=C(L),J=l(k),ce=[V(J),V(X)];if(H!=null){let ve=H===!0?T(r.BYTES):H;ce.push(Se("extraEntropy",ve))}let ee=ar(...ce),ne=X;function Be(ve){let Ve=A(ve);if(!d(Ve))return;let $e=c(Ve),Pe=u.BASE.multiply(Ve).toAffine(),Xe=a(Pe.x);if(Xe===dr)return;let Jt=a($e*a(ne+Xe*J));if(Jt===dr)return;let Vr=(Pe.x===Xe?0:2)|Number(Pe.y&St),Ai=Jt;return M&&h(Jt)&&(Ai=m(Jt),Vr^=1),new y(Xe,Ai,Vr)}return{seed:ee,k2sig:Be}}let z={lowS:e.lowS,prehash:!1},j={lowS:e.lowS,prehash:!1};function le(L,k,P=z){let{seed:N,k2sig:T}=G(L,k,P),M=e;return kc(M.hash.outputLen,M.nByteLength,M.hmac)(N,T)}u.BASE._setWindowSize(8);function qe(L,k,P,N=j){let T=L;if(k=Se("msgHash",k),P=Se("publicKey",P),"strict"in N)throw new Error("options.strict was renamed to lowS");let{lowS:M,prehash:K}=N,H,X;try{if(typeof T=="string"||Pt(T))try{H=y.fromDER(T)}catch(Pe){if(!(Pe instanceof un.Err))throw Pe;H=y.fromCompact(T)}else if(typeof T=="object"&&typeof T.r=="bigint"&&typeof T.s=="bigint"){let{r:Pe,s:Xe}=T;H=new y(Pe,Xe)}else throw new Error("PARSE");X=u.fromHex(P)}catch(Pe){if(Pe.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(M&&H.hasHighS())return!1;K&&(k=e.hash(k));let{r:J,s:ce}=H,ee=C(k),ne=c(ce),Be=a(ee*ne),ve=a(J*ne),Ve=u.BASE.multiplyAndAddUnsafe(X,Be,ve)?.toAffine();return Ve?a(Ve.x)===J:!1}return{CURVE:e,getPublicKey:b,getSharedSecret:E,sign:le,verify:qe,ProjectivePoint:u,Signature:y,utils:x}}var co=class extends Kn{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,O0(e);let n=ki(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,s=new Uint8Array(i);s.set(n.length>i?e.create().update(n).digest():n);for(let o=0;o<s.length;o++)s[o]^=54;this.iHash.update(s),this.oHash=e.create();for(let o=0;o<s.length;o++)s[o]^=106;this.oHash.update(s),s.fill(0)}update(e){return Fn(this),this.iHash.update(e),this}digestInto(e){Fn(this),Tc(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:s,blockLen:o,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=s,e.blockLen=o,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},Nu=(t,e,r)=>new co(t,e).update(r).digest();Nu.create=(t,e)=>new co(t,e);function gv(t){return{hash:t,hmac:(e,...r)=>Nu(t,e,zs(...r)),randomBytes:qn}}function rp(t,e){let r=n=>tp({...t,...gv(n)});return Object.freeze({...r(e),create:r})}var sp=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),np=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),yv=BigInt(1),ku=BigInt(2),ip=(t,e)=>(t+e/ku)/e;function xv(t){let e=sp,r=BigInt(3),n=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,l=u*u*t%e,f=be(l,r,e)*l%e,d=be(f,r,e)*l%e,p=be(d,ku,e)*u%e,h=be(p,i,e)*p%e,m=be(h,s,e)*h%e,g=be(m,a,e)*m%e,y=be(g,c,e)*g%e,x=be(y,a,e)*m%e,b=be(x,r,e)*l%e,S=be(b,o,e)*h%e,E=be(S,n,e)*u%e,A=be(E,ku,e);if(!Ou.eql(Ou.sqr(A),t))throw new Error("Cannot find square root");return A}var Ou=Xs(sp,void 0,void 0,{sqrt:xv}),Ot=rp({a:BigInt(0),b:BigInt(7),Fp:Ou,n:np,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=np,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-yv*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=ip(s*t,e),c=ip(-n*t,e),u=he(t-a*r-c*i,e),l=he(-a*n-c*s,e),f=u>o,d=l>o;if(f&&(u=e-u),d&&(l=e-l),u>o||l>o)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:f,k1:u,k2neg:d,k2:l}}}},Jd),LR=BigInt(0);var DR=Ot.ProjectivePoint;function op(){return Ot.utils.randomPrivateKey()}function ap(t,e){let r=ze.digest(e instanceof Uint8Array?e:e.subarray());if(At(r))return r.then(({digest:n})=>Ot.sign(n,t).toDERRawBytes()).catch(n=>{throw new _(String(n),"ERR_INVALID_INPUT")});try{return Ot.sign(r.digest,t).toDERRawBytes()}catch(n){throw new _(String(n),"ERR_INVALID_INPUT")}}function cp(t,e,r){let n=ze.digest(r instanceof Uint8Array?r:r.subarray());if(At(n))return n.then(({digest:i})=>Ot.verify(e,i,t)).catch(i=>{throw new _(String(i),"ERR_INVALID_INPUT")});try{return Ot.verify(e,n.digest,t)}catch(i){throw new _(String(i),"ERR_INVALID_INPUT")}}function up(t){return Ot.ProjectivePoint.fromHex(t).toRawBytes(!0)}function lp(t){try{Ot.getPublicKey(t,!0)}catch(e){throw new _(String(e),"ERR_INVALID_PRIVATE_KEY")}}function Uu(t){try{Ot.ProjectivePoint.fromHex(t)}catch(e){throw new _(String(e),"ERR_INVALID_PUBLIC_KEY")}}function fp(t){try{return Ot.getPublicKey(t,!0)}catch(e){throw new _(String(e),"ERR_INVALID_PRIVATE_KEY")}}var Xi=class{_key;constructor(e){Uu(e),this._key=e}verify(e,r){return cp(this._key,r,e)}marshal(){return up(this._key)}get bytes(){return Qt.encode({Type:we.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Gt(this.bytes,e.bytes)}async hash(){let e=ze.digest(this.bytes),r;return At(e)?{bytes:r}=await e:r=e.bytes,r}},Zi=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??fp(e),lp(this._key),Uu(this._publicKey)}sign(e){return ap(this._key,e)}get public(){return new Xi(this._publicKey)}marshal(){return this._key}get bytes(){return Xt.encode({Type:we.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Gt(this.bytes,e.bytes)}hash(){let e=ze.digest(this.bytes);return At(e)?e.then(({bytes:r})=>r):e.bytes}async id(){let e=await this.public.hash();return gt(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return Hn(this.bytes,e);throw new _(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function wv(t){return new Zi(t)}function Ev(t){return new Xi(t)}async function vv(){let t=op();return new Zi(t)}var kr={rsa:Du,ed25519:Cu,secp256k1:Mu};function Fu(t){let e=Object.keys(kr).join(" / ");return new _(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function Ku(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return kr[t];throw Fu(t)}async function hp(t,e){return Ku(t).generateKeyPair(e??2048)}function ji(t){let e=Qt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case we.RSA:return kr.rsa.unmarshalRsaPublicKey(r);case we.Ed25519:return kr.ed25519.unmarshalEd25519PublicKey(r);case we.Secp256k1:return kr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw Fu(e.Type??"unknown")}}function dp(t,e){return e=(e??"rsa").toLowerCase(),Ku(e),t.bytes}async function qu(t){let e=Xt.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case we.RSA:return kr.rsa.unmarshalRsaPrivateKey(r);case we.Ed25519:return kr.ed25519.unmarshalEd25519PrivateKey(r);case we.Secp256k1:return kr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw Fu(e.Type??"RSA")}}function pp(t,e){return e=(e??"rsa").toLowerCase(),Ku(e),t.bytes}var wt=Ee($u(),1);wt.default.formatters.b=t=>t==null?"undefined":Ce.baseEncode(t);wt.default.formatters.t=t=>t==null?"undefined":pt.baseEncode(t);wt.default.formatters.m=t=>t==null?"undefined":kn.baseEncode(t);wt.default.formatters.p=t=>t==null?"undefined":t.toString();wt.default.formatters.c=t=>t==null?"undefined":t.toString();wt.default.formatters.k=t=>t==null?"undefined":t.toString();wt.default.formatters.a=t=>t==null?"undefined":t.toString();function Ov(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function fo(){return{forComponent(t){return Uv(t)}}}function Uv(t){let e=Ov(`${t}:trace`);return wt.default.enabled(`${t}:trace`)&&wt.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,wt.default)(`${t}:trace`)),Object.assign((0,wt.default)(t),{error:(0,wt.default)(`${t}:error`),trace:e})}function zu(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 Mv=Symbol.for("nodejs.util.inspect.custom"),xp=Object.values(pe).map(t=>t.decoder).reduce((t,e)=>t.or(e),pe.identity.decoder),bp=114,Hu=36,Gu=37,Ji=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[rc]=!0;toString(){return this.string==null&&(this.string=Ce.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Bt.createV1(bp,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e==null)return!1;if(e instanceof Uint8Array)return zu(this.multihash.bytes,e);if(typeof e=="string")return oe(e).equals(this);if(e?.multihash?.bytes!=null)return zu(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[Mv](){return`PeerId(${this.toString()})`}},fn=class extends Ji{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},hn=class extends Ji{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},dn=class extends Ji{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function wp(t){if(t.type==="RSA")return new fn(t);if(t.type==="Ed25519")return new hn(t);if(t.type==="secp256k1")return new dn(t);throw new _("Not a PeerId","ERR_INVALID_PARAMETERS")}function oe(t,e){if(e=e??xp,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=Qr(Ce.decode(`z${t}`));return t.startsWith("12D")?new hn({multihash:r}):t.startsWith("16U")?new dn({multihash:r}):new fn({multihash:r})}return ni(xp.decode(t))}function ni(t){try{let e=Qr(t);if(e.code===Ir.code){if(e.digest.length===Hu)return new hn({multihash:e});if(e.digest.length===Gu)return new dn({multihash:e})}if(e.code===ze.code)return new fn({multihash:e})}catch{return Fv(Bt.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function Fv(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==bp)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===ze.code)return new fn({multihash:t.multihash});if(e.code===Ir.code){if(e.digest.length===Hu)return new hn({multihash:t.multihash});if(e.digest.length===Gu)return new dn({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function ho(t,e){return t.length===Hu?new hn({multihash:Ht(Ir.code,t),privateKey:e}):t.length===Gu?new dn({multihash:Ht(Ir.code,t),privateKey:e}):new fn({multihash:await ze.digest(t),publicKey:t,privateKey:e})}function pr(t,e){let r={[Symbol.iterator]:()=>r,next:()=>{let n=t.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:e(i)}}};return r}var je=class{map;constructor(e){if(this.map=new Map,e!=null)for(let[r,n]of e.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(e){return this.map.delete(e.toString())}entries(){return pr(this.map.entries(),e=>[oe(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,oe(n),this)})}get(e){return this.map.get(e.toString())}has(e){return this.map.has(e.toString())}set(e,r){this.map.set(e.toString(),r)}keys(){return pr(this.map.keys(),e=>oe(e))}values(){return this.map.values()}get size(){return this.map.size}};var _t=class t{set;constructor(e){if(this.set=new Set,e!=null)for(let r of e)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(e){this.set.add(e.toString())}clear(){this.set.clear()}delete(e){this.set.delete(e.toString())}entries(){return pr(this.set.entries(),e=>{let r=oe(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=oe(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return pr(this.set.values(),e=>oe(e))}intersection(e){let r=new t;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new t;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new t;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var po=class t{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return pr(this.list.entries(),e=>oe(e[1]))}concat(e){let r=new t(this);for(let n of e)r.push(n);return r}entries(){return pr(this.list.entries(),e=>[e[0],oe(e[1])])}every(e){return this.list.every((r,n)=>e(oe(r),n,this))}filter(e){let r=new t;return this.list.forEach((n,i)=>{let s=oe(n);e(s,i,this)&&r.push(s)}),r}find(e){let r=this.list.find((n,i)=>e(oe(n),i,this));if(r!=null)return oe(r)}findIndex(e){return this.list.findIndex((r,n)=>e(oe(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(oe(r),n,this)})}includes(e){return this.list.includes(e.toString())}indexOf(e){return this.list.indexOf(e.toString())}pop(){let e=this.list.pop();if(e!=null)return oe(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return oe(e)}unshift(...e){let r=this.list.length;for(let n=e.length-1;n>-1;n--)r=this.list.unshift(e[n].toString());return r}clear(){this.list=[]}get length(){return this.list.length}};function Wu(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Ep(t=0){return globalThis.Buffer?.allocUnsafe!=null?Wu(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Ap(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var vp=Ap("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Yu=Ap("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=Ep(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),eB={utf8:vp,"utf-8":vp,hex:pe.base16,latin1:Yu,ascii:Yu,binary:Yu,...pe};var Qu;(function(t){let e;t.codec=()=>(e==null&&(e=We((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.id!=null&&(n.uint32(10),n.bytes(r.id)),r.pubKey!=null&&(n.uint32(18),n.bytes(r.pubKey)),r.privKey!=null&&(n.uint32(26),n.bytes(r.privKey)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.id=r.bytes();break;case 2:i.pubKey=r.bytes();break;case 3:i.privKey=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Ge(r,t.codec()),t.decode=r=>He(r,t.codec())})(Qu||(Qu={}));var Sp=async()=>{let t=await hp("Ed25519"),e=await Kv(t);if(e.type==="Ed25519")return e;throw new Error(`Generated unexpected PeerId type "${e.type}"`)};async function Kv(t){return ho(dp(t.public),pp(t))}function _p(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Ip(t=0){return globalThis.Buffer?.allocUnsafe!=null?_p(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}var qv=Math.pow(2,7),Vv=Math.pow(2,14),$v=Math.pow(2,21),Xu=Math.pow(2,28),Zu=Math.pow(2,35),ju=Math.pow(2,42),Ju=Math.pow(2,49),ae=128,Je=127;function et(t){if(t<qv)return 1;if(t<Vv)return 2;if(t<$v)return 3;if(t<Xu)return 4;if(t<Zu)return 5;if(t<ju)return 6;if(t<Ju)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function zv(t,e,r=0){switch(et(t)){case 8:e[r++]=t&255|ae,t/=128;case 7:e[r++]=t&255|ae,t/=128;case 6:e[r++]=t&255|ae,t/=128;case 5:e[r++]=t&255|ae,t/=128;case 4:e[r++]=t&255|ae,t>>>=7;case 3:e[r++]=t&255|ae,t>>>=7;case 2:e[r++]=t&255|ae,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function Hv(t,e,r=0){switch(et(t)){case 8:e.set(r++,t&255|ae),t/=128;case 7:e.set(r++,t&255|ae),t/=128;case 6:e.set(r++,t&255|ae),t/=128;case 5:e.set(r++,t&255|ae),t/=128;case 4:e.set(r++,t&255|ae),t>>>=7;case 3:e.set(r++,t&255|ae),t>>>=7;case 2:e.set(r++,t&255|ae),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function Gv(t,e){let r=t[e],n=0;if(n+=r&Je,r<ae||(r=t[e+1],n+=(r&Je)<<7,r<ae)||(r=t[e+2],n+=(r&Je)<<14,r<ae)||(r=t[e+3],n+=(r&Je)<<21,r<ae)||(r=t[e+4],n+=(r&Je)*Xu,r<ae)||(r=t[e+5],n+=(r&Je)*Zu,r<ae)||(r=t[e+6],n+=(r&Je)*ju,r<ae)||(r=t[e+7],n+=(r&Je)*Ju,r<ae))return n;throw new RangeError("Could not decode varint")}function Wv(t,e){let r=t.get(e),n=0;if(n+=r&Je,r<ae||(r=t.get(e+1),n+=(r&Je)<<7,r<ae)||(r=t.get(e+2),n+=(r&Je)<<14,r<ae)||(r=t.get(e+3),n+=(r&Je)<<21,r<ae)||(r=t.get(e+4),n+=(r&Je)*Xu,r<ae)||(r=t.get(e+5),n+=(r&Je)*Zu,r<ae)||(r=t.get(e+6),n+=(r&Je)*ju,r<ae)||(r=t.get(e+7),n+=(r&Je)*Ju,r<ae))return n;throw new RangeError("Could not decode varint")}function lt(t,e,r=0){return e==null&&(e=Ip(et(t))),e instanceof Uint8Array?zv(t,e,r):Hv(t,e,r)}function Ut(t,e=0){return t instanceof Uint8Array?Gv(t,e):Wv(t,e)}function el(t,e){e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=ut(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return rn(r)}function Cp(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 Rp=Symbol.for("@achingbrain/uint8arraylist");function Tp(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function mo(t){return!!t?.[Rp]}var Ke=class t{bufs;length;[Rp]=!0;constructor(...e){this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(mo(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(mo(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(e){let r=Tp(this.bufs,e);return r.buf[r.index]}set(e,r){let n=Tp(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(mo(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:i}=this._subList(e,r);return el(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:el(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),s=new t;return s.length=i,s.bufs=[...n],s}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:this.bufs,length:this.length};let n=[],i=0;for(let s=0;s<this.bufs.length;s++){let o=this.bufs[s],a=i,c=a+o.byteLength;if(i=c,e>=c)continue;let u=e>=a&&e<c,l=r>a&&r<=c;if(u&&l){if(e===a&&r===c){n.push(o);break}let f=e-a;n.push(o.subarray(f,f+(r-e)));break}if(u){if(e===0){n.push(o);continue}n.push(o.subarray(e-a));continue}if(l){if(r===c){n.push(o);break}n.push(o.subarray(0,r-a));break}n.push(o)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!mo(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let s=256,o=new Int32Array(s);for(let f=0;f<s;f++)o[f]=-1;for(let f=0;f<i;f++)o[n[f]]=f;let a=o,c=this.byteLength-n.byteLength,u=n.byteLength-1,l;for(let f=r;f<=c;f+=l){l=0;for(let d=u;d>=0;d--){let p=this.get(f+d);if(n[d]!==p){l=Math.max(1,d-a[p]);break}}if(l===0)return f}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=ut(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=lr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=lr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=lr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=ut(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=lr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=lr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=lr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=lr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=lr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof t)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Cp(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new t;return n.bufs=e,r==null&&(r=e.reduce((i,s)=>i+s.byteLength,0)),n.length=r,n}};function Bp(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}function go(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Lp(t=0){return globalThis.Buffer?.allocUnsafe!=null?go(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Pp(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Dp=Pp("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),tl=Pp("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=Lp(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Yv={utf8:Dp,"utf-8":Dp,hex:pe.base16,latin1:tl,ascii:tl,binary:tl,...pe},Np=Yv;function kp(t,e="utf8"){let r=Np[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?go(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var Op={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var es;(function(t){let e;t.codec=()=>(e==null&&(e=We((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.publicKey!=null&&r.publicKey.byteLength>0&&(n.uint32(10),n.bytes(r.publicKey)),r.payloadType!=null&&r.payloadType.byteLength>0&&(n.uint32(18),n.bytes(r.payloadType)),r.payload!=null&&r.payload.byteLength>0&&(n.uint32(26),n.bytes(r.payload)),r.signature!=null&&r.signature.byteLength>0&&(n.uint32(42),n.bytes(r.signature)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={publicKey:new Uint8Array(0),payloadType:new Uint8Array(0),payload:new Uint8Array(0),signature:new Uint8Array(0)},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.publicKey=r.bytes();break;case 2:i.payloadType=r.bytes();break;case 3:i.payload=r.bytes();break;case 5:i.signature=r.bytes();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Ge(r,t.codec()),t.decode=r=>He(r,t.codec())})(es||(es={}));var ii=class t{static createFromProtobuf=async e=>{let r=es.decode(e),n=await ho(r.publicKey);return new t({peerId:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})};static seal=async(e,r)=>{if(r.privateKey==null)throw new Error("Missing private key");let n=e.domain,i=e.codec,s=e.marshal(),o=Up(n,i,s),c=await(await qu(r.privateKey)).sign(o.subarray());return new t({peerId:r,payloadType:i,payload:s,signature:c})};static openAndCertify=async(e,r)=>{let n=await t.createFromProtobuf(e);if(!await n.validate(r))throw new _("envelope signature is not valid for the given domain",Op.ERR_SIGNATURE_NOT_VALID);return n};peerId;payloadType;payload;signature;marshaled;constructor(e){let{peerId:r,payloadType:n,payload:i,signature:s}=e;this.peerId=r,this.payloadType=n,this.payload=i,this.signature=s}marshal(){if(this.peerId.publicKey==null)throw new Error("Missing public key");return this.marshaled==null&&(this.marshaled=es.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(e){return Bp(this.marshal(),e.marshal())}async validate(e){let r=Up(e,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return ji(this.peerId.publicKey).verify(r.subarray(),this.signature)}},Up=(t,e,r)=>{let n=kp(t),i=lt(n.byteLength),s=lt(e.length),o=lt(r.length);return new Ke(i,n,s,e,o,r)};function Mp(t,e){let r=(n,i)=>n.toString().localeCompare(i.toString());return t.length!==e.length?!1:(e.sort(r),t.sort(r).every((n,i)=>e[i].equals(n)))}function Fp(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}function mn(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function yo(t=0){return globalThis.Buffer?.allocUnsafe!=null?mn(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function qp(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Kp=qp("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),rl=qp("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=yo(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Qv={utf8:Kp,"utf-8":Kp,hex:pe.base16,latin1:rl,ascii:rl,binary:rl,...pe},xo=Qv;function ft(t,e="utf8"){let r=xo[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}function mr(t,e){if(globalThis.Buffer!=null)return mn(globalThis.Buffer.concat(t,e));e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=yo(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return mn(r)}var bo=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let s=0,o=0,a=this.peekChar();if(a===void 0)return;let c=a==="0",u=2**(8*i)-1;for(;;){let l=this.readAtomically(()=>{let f=this.readChar();if(f===void 0)return;let d=Number.parseInt(f,e);if(!Number.isNaN(d))return d});if(l===void 0)break;if(s*=e,s+=l,s>u||(o+=1,r!==void 0&&o>r))return}if(o!==0)return!n&&c&&o>1?void 0:s})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let o=this.readSeparator(":",n,()=>this.readIPv4Addr());if(o!==void 0)return r[i]=o[0],r[i+1]=o[1],r[i+2]=o[2],r[i+3]=o[3],[i+4,!0]}let s=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(s===void 0)return[i,!1];r[i]=s>>8,r[i+1]=s&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let s=new Uint8Array(14),o=16-(n+2),[a]=e(s.subarray(0,o));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Vp=45,Xv=15,si=new bo;function nl(t){if(!(t.length>Xv))return si.new(t).parseWith(()=>si.readIPv4Addr())}function il(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>Vp))return si.new(t).parseWith(()=>si.readIPv6Addr())}function wo(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>Vp))return si.new(t).parseWith(()=>si.readIPAddr())}var g6=parseInt("0xFFFF",16),y6=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function sl(t,e="utf8"){let r=xo[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?mn(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function Eo(t){return!!nl(t)}function vo(t){return!!il(t)}function oi(t){return!!wo(t)}var Hp=Eo,tA=vo,ol=function(t){let e=0;if(t=t.toString().trim(),Hp(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(tA(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let s=Hp(r[n]),o;s&&(o=ol(r[n]),r[n]=ft(o.slice(0,2),"base16")),o!=null&&++n<8&&r.splice(n,0,ft(o.slice(2,4),"base16"))}if(r[0]==="")for(;r.length<8;)r.unshift("0");else if(r[r.length-1]==="")for(;r.length<8;)r.push("0");else if(r.length<8){for(n=0;n<r.length&&r[n]!=="";n++);let s=[n,1];for(n=9-r.length;n>0;n--)s.push("0");r.splice.apply(r,s)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let s=parseInt(r[n],16);i[e++]=s>>8&255,i[e++]=s&255}return i}throw new Error("invalid ip address")},Gp=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let s=0;s<r;s++)i.push(t[e+s]);return i.join(".")}if(r===16){let i=[];for(let s=0;s<r;s+=2)i.push(n.getUint16(e+s).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var ai={},al={},nA=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];nA.forEach(t=>{let e=iA(...t);al[e.code]=e,ai[e.name]=e});function iA(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function ue(t){if(typeof t=="number"){if(al[t]!=null)return al[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(ai[t]!=null)return ai[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var nL=ue("ip4"),iL=ue("ip6"),sL=ue("ipcidr");function ul(t,e){switch(ue(t).code){case 4:case 41:return oA(e);case 42:return Qp(e);case 6:case 273:case 33:case 132:return Zp(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Qp(e);case 421:return lA(e);case 444:return Xp(e);case 445:return Xp(e);case 466:return uA(e);default:return ft(e,"base16")}}function ll(t,e){switch(ue(t).code){case 4:return Wp(e);case 41:return Wp(e);case 42:return Yp(e);case 6:case 273:case 33:case 132:return fl(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Yp(e);case 421:return aA(e);case 444:return fA(e);case 445:return hA(e);case 466:return cA(e);default:return sl(e,"base16")}}var cl=Object.values(pe).map(t=>t.decoder),sA=function(){let t=cl[0].or(cl[1]);return cl.slice(2).forEach(e=>t=t.or(e)),t}();function Wp(t){if(!oi(t))throw new Error("invalid ip address");return ol(t)}function oA(t){let e=Gp(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!oi(e))throw new Error("invalid ip address");return e}function fl(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function Zp(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function Yp(t){let e=sl(t),r=Uint8Array.from(lt(e.length));return mr([r,e],r.length+e.length)}function Qp(t){let e=Ut(t);if(t=t.slice(et(e)),t.length!==e)throw new Error("inconsistent lengths");return ft(t)}function aA(t){let e;t[0]==="Q"||t[0]==="1"?e=Qr(Ce.decode(`z${t}`)).bytes:e=Bt.parse(t).multihash.bytes;let r=Uint8Array.from(lt(e.length));return mr([r,e],r.length+e.length)}function cA(t){let e=sA.decode(t),r=Uint8Array.from(lt(e.length));return mr([r,e],r.length+e.length)}function uA(t){let e=Ut(t),r=t.slice(et(e));if(r.length!==e)throw new Error("inconsistent lengths");return"u"+ft(r,"base64url")}function lA(t){let e=Ut(t),r=t.slice(et(e));if(r.length!==e)throw new Error("inconsistent lengths");return ft(r,"base58btc")}function fA(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' 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=pt.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=fl(n);return mr([r,i],r.length+i.length)}function hA(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' 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=pt.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=fl(n);return mr([r,i],r.length+i.length)}function Xp(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=ft(e,"base32"),i=Zp(r);return`${n}:${i}`}function jp(t){t=hl(t);let e=[],r=[],n=null,i=t.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let s=0;s<i.length;s++){let o=i[s],a=ue(o);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(s++,s>=i.length)throw em("invalid address: "+t);if(a.path===!0){n=hl(i.slice(s).join("/")),e.push([a.code,ll(a.code,n)]),r.push([a.code,n]);break}let c=ll(a.code,i[s]);e.push([a.code,c]),r.push([a.code,ul(a.code,c)])}return{string:Jp(r),bytes:pl(e),tuples:e,stringTuples:r,path:n}}function dl(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let s=Ut(t,i),o=et(s),a=ue(s),c=dA(a,t.slice(i+o));if(c===0){e.push([s]),r.push([s]),i+=o;continue}let u=t.slice(i+o,i+o+c);if(i+=c+o,i>t.length)throw em("Invalid address Uint8Array: "+ft(t,"base16"));e.push([s,u]);let l=ul(s,u);if(r.push([s,l]),a.path===!0){n=l;break}}return{bytes:Uint8Array.from(t),string:Jp(r),tuples:e,stringTuples:r,path:n}}function Jp(t){let e=[];return t.map(r=>{let n=ue(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),hl(e.join("/"))}function pl(t){return mr(t.map(e=>{let r=ue(e[0]),n=Uint8Array.from(lt(r.code));return e.length>1&&e[1]!=null&&(n=mr([n,e[1]])),n}))}function dA(t,e){if(t.size>0)return t.size/8;if(t.size===0)return 0;{let r=Ut(e instanceof Uint8Array?e:Uint8Array.from(e));return r+et(r)}}function hl(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function em(t){return new Error("Error parsing address: "+t)}var pA=Symbol.for("nodejs.util.inspect.custom"),ml=Symbol.for("@multiformats/js-multiaddr/multiaddr"),mA=[ue("dns").code,ue("dns4").code,ue("dns6").code,ue("dnsaddr").code],Ao=class t{bytes;#e;#i;#s;#a;[ml]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=dl(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=jp(e)}else if(Or(e))r=dl(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#i=r.tuples,this.#s=r.stringTuples,this.#a=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,s="",o=ue("tcp"),a=ue("udp"),c=ue("ip4"),u=ue("ip6"),l=ue("dns6"),f=ue("ip6zone");for(let[p,h]of this.stringTuples())p===f.code&&(s=`%${h??""}`),mA.includes(p)&&(r=o.name,i=443,n=`${h??""}${s}`,e=p===l.code?6:4),(p===o.code||p===a.code)&&(r=ue(p).name,i=parseInt(h??"")),(p===c.code||p===u.code)&&(r=ue(p).name,n=`${h??""}${s}`,e=p===u.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.#i.map(([e])=>Object.assign({},ue(e)))}protoCodes(){return this.#i.map(([e])=>e)}protoNames(){return this.#i.map(([e])=>ue(e).name)}tuples(){return this.#i}stringTuples(){return this.#s}encapsulate(e){return e=new t(e),new t(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.toString()} does not contain subaddress: ${e.toString()}`);return new t(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 t(pl(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===ai.p2p.code&&e.push([n,i]),n===ai["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?ft(Ce.decode(`z${n}`),"base58btc"):ft(Bt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#a}equals(e){return Fp(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=So.get(r.name);if(n==null)throw new _(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(s=>new t(s))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}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)}[pA](){return`Multiaddr(${this.#e})`}};var So=new Map;function Or(t){return!!t?.[ml]}function ke(t){return new Ao(t)}var tm="libp2p-peer-record",rm=Uint8Array.from([3,1]);var ts;(function(t){let e;(function(n){let i;n.codec=()=>(i==null&&(i=We((s,o,a={})=>{a.lengthDelimited!==!1&&o.fork(),s.multiaddr!=null&&s.multiaddr.byteLength>0&&(o.uint32(10),o.bytes(s.multiaddr)),a.lengthDelimited!==!1&&o.ldelim()},(s,o)=>{let a={multiaddr:new Uint8Array(0)},c=o==null?s.len:s.pos+o;for(;s.pos<c;){let u=s.uint32();switch(u>>>3){case 1:a.multiaddr=s.bytes();break;default:s.skipType(u&7);break}}return a})),i),n.encode=s=>Ge(s,n.codec()),n.decode=s=>He(s,n.codec())})(e=t.AddressInfo||(t.AddressInfo={}));let r;t.codec=()=>(r==null&&(r=We((n,i,s={})=>{if(s.lengthDelimited!==!1&&i.fork(),n.peerId!=null&&n.peerId.byteLength>0&&(i.uint32(10),i.bytes(n.peerId)),n.seq!=null&&n.seq!==0n&&(i.uint32(16),i.uint64(n.seq)),n.addresses!=null)for(let o of n.addresses)i.uint32(26),t.AddressInfo.codec().encode(o,i);s.lengthDelimited!==!1&&i.ldelim()},(n,i)=>{let s={peerId:new Uint8Array(0),seq:0n,addresses:[]},o=i==null?n.len:n.pos+i;for(;n.pos<o;){let a=n.uint32();switch(a>>>3){case 1:s.peerId=n.bytes();break;case 2:s.seq=n.uint64();break;case 3:s.addresses.push(t.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return s})),r),t.encode=n=>Ge(n,t.codec()),t.decode=n=>He(n,t.codec())})(ts||(ts={}));var gn=class t{static createFromProtobuf=e=>{let r=ts.decode(e),n=ni(r.peerId),i=(r.addresses??[]).map(o=>ke(o.multiaddr)),s=r.seq;return new t({peerId:n,multiaddrs:i,seqNumber:s})};static DOMAIN=tm;static CODEC=rm;peerId;multiaddrs;seqNumber;domain=t.DOMAIN;codec=t.CODEC;marshaled;constructor(e){let{peerId:r,multiaddrs:n,seqNumber:i}=e;this.peerId=r,this.multiaddrs=n??[],this.seqNumber=i??BigInt(Date.now())}marshal(){return this.marshaled==null&&(this.marshaled=ts.encode({peerId:this.peerId.toBytes(),seq:BigInt(this.seqNumber),addresses:this.multiaddrs.map(e=>({multiaddr:e.bytes}))})),this.marshaled}equals(e){return!(!(e instanceof t)||!this.peerId.equals(e.peerId)||this.seqNumber!==e.seqNumber||!Mp(this.multiaddrs,e.multiaddrs))}};function gA(t){return t[Symbol.asyncIterator]!=null}function yA(t){if(gA(t))return(async()=>{let r=[];for await(let n of t)r.push(n);return r})();let e=[];for(let r of t)e.push(r);return e}var rs=yA;var yn=Ee(im(),1);var gr=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},yl=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},sm=t=>globalThis.DOMException===void 0?new yl(t):new DOMException(t),om=t=>{let e=t.reason===void 0?sm("This operation was aborted."):t.reason;return e instanceof Error?e:sm(e)};function yr(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:s={setTimeout,clearTimeout}}=e,o,c=new Promise((u,l)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:d}=e;d.aborted&&l(om(d)),d.addEventListener("abort",()=>{l(om(d))})}if(r===Number.POSITIVE_INFINITY){t.then(u,l);return}let f=new gr;o=s.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(d){l(d)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?u():i instanceof Error?l(i):(f.message=i??`Promise timed out after ${r} milliseconds`,l(f))},r),(async()=>{try{u(await t)}catch(d){l(d)}})()}).finally(()=>{c.clear()});return c.clear=()=>{s.clearTimeout.call(void 0,o),o=void 0},c}function xl(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var is=class{#e=[];enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&this.#e[this.size-1].priority>=r.priority){this.#e.push(n);return}let i=xl(this.#e,n,(s,o)=>o.priority-s.priority);this.#e.splice(i,0,n)}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}};var ci=class extends yn.default{#e;#i;#s=0;#a;#c;#p=0;#r;#u;#t;#m;#n=0;#l;#o;#g;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:is,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${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 \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#i=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#g=e.throwOnTimeout===!0,this.#o=e.autoStart===!1}get#b(){return this.#i||this.#s<this.#a}get#w(){return this.#n<this.#l}#E(){this.#n--,this.#f(),this.emit("next")}#v(){this.#x(),this.#y(),this.#u=void 0}get#A(){let e=Date.now();if(this.#r===void 0){let r=this.#p-e;if(r<0)this.#s=this.#e?this.#n:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#v()},r)),!0}return!1}#f(){if(this.#t.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#o){let e=!this.#A;if(this.#b&&this.#w){let r=this.#t.dequeue();return r?(this.emit("active"),r(),e&&this.#y(),!0):!1}}return!1}#y(){this.#i||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#s===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#s=this.#e?this.#n:0,this.#h()}#h(){for(;this.#f(););}get concurrency(){return this.#l}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.#l=e,this.#h()}async#S(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#g,...r},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#n++,this.#s++;try{r.signal?.throwIfAborted();let s=e({signal:r.signal});r.timeout&&(s=yr(Promise.resolve(s),{milliseconds:r.timeout})),r.signal&&(s=Promise.race([s,this.#S(r.signal)]));let o=await s;n(o),this.emit("completed",o)}catch(s){if(s instanceof gr&&!r.throwOnTimeout){n();return}i(s),this.emit("error",s)}finally{this.#E()}},r),this.emit("add"),this.#f()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#o?(this.#o=!1,this.#h(),this):this}pause(){this.#o=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#d("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.size===0||await this.#d("idle")}async#d(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#o}};var Ur={},ui=t=>{t.addEventListener("message",e=>{ui.dispatchEvent("message",t,e)}),t.port!=null&&t.port.addEventListener("message",e=>{ui.dispatchEvent("message",t,e)})};ui.addEventListener=(t,e)=>{Ur[t]==null&&(Ur[t]=[]),Ur[t].push(e)};ui.removeEventListener=(t,e)=>{Ur[t]!=null&&(Ur[t]=Ur[t].filter(r=>r===e))};ui.dispatchEvent=function(t,e,r){Ur[t]!=null&&Ur[t].forEach(n=>n(e,r))};var bl=ui;var wl="lock:worker:request-read",El="lock:worker:release-read",vl="lock:master:grant-read",Al="lock:worker:request-write",Sl="lock:worker:release-write",_l="lock:master:grant-write";var am=(t=21)=>Math.random().toString().substring(2);var cm=(t,e,r,n,i)=>(s,o)=>{if(o.data.type!==r)return;let a={type:o.data.type,name:o.data.name,identifier:o.data.identifier};t.dispatchEvent(new MessageEvent(e,{data:{name:a.name,handler:async()=>{s.postMessage({type:i,name:a.name,identifier:a.identifier}),await new Promise(c=>{let u=l=>{if(l==null||l.data==null)return;let f={type:l.data.type,name:l.data.name,identifier:l.data.identifier};f.type===n&&f.identifier===a.identifier&&(s.removeEventListener("message",u),c())};s.addEventListener("message",u)})}}}))},um=(t,e,r,n)=>async()=>{let i=am();return globalThis.postMessage({type:e,identifier:i,name:t}),new Promise(s=>{let o=a=>{if(a==null||a.data==null)return;let c={type:a.data.type,identifier:a.data.identifier};c.type===r&&c.identifier===i&&(globalThis.removeEventListener("message",o),s(()=>{globalThis.postMessage({type:n,identifier:i,name:t})}))};globalThis.addEventListener("message",o)})},wA={singleProcess:!1},lm=t=>{if(t=Object.assign({},wA,t),!!globalThis.document||t.singleProcess){let r=new EventTarget;return bl.addEventListener("message",cm(r,"requestReadLock",wl,El,vl)),bl.addEventListener("message",cm(r,"requestWriteLock",Al,Sl,_l)),r}return{isWorker:!0,readLock:r=>um(r,wl,vl,El),writeLock:r=>um(r,Al,_l,Sl)}};var xn={},Mr;async function Il(t,e){let r,n=new Promise(i=>{r=i});return t.add(async()=>yr((async()=>{await new Promise(i=>{r(()=>{i()})})})(),{milliseconds:e.timeout})),n}var EA=(t,e)=>{if(Mr.isWorker===!0)return{readLock:Mr.readLock(t,e),writeLock:Mr.writeLock(t,e)};let r=new ci({concurrency:1}),n;return{async readLock(){if(n!=null)return Il(n,e);n=new ci({concurrency:e.concurrency,autoStart:!1});let i=n,s=Il(n,e);return r.add(async()=>{i.start(),await i.onIdle().then(()=>{n===i&&(n=null)})}),s},async writeLock(){return n=null,Il(r,e)}}},vA={name:"lock",concurrency:1/0,timeout:846e5,singleProcess:!1};function Cl(t){let e=Object.assign({},vA,t);return Mr==null&&(Mr=lm(e),Mr.isWorker!==!0&&(Mr.addEventListener("requestReadLock",r=>{xn[r.data.name]!=null&&xn[r.data.name].readLock().then(async n=>r.data.handler().finally(()=>{n()}))}),Mr.addEventListener("requestWriteLock",async r=>{xn[r.data.name]!=null&&xn[r.data.name].writeLock().then(async n=>r.data.handler().finally(()=>{n()}))}))),xn[e.name]==null&&(xn[e.name]=EA(e.name,e)),xn[e.name]}function Io(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 Ye={ERR_INVALID_PARAMETERS:"ERR_INVALID_PARAMETERS"};var li;(function(t){let e;(function(i){let s;i.codec=()=>(s==null&&(s=We((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&o.value.byteLength>0&&(a.uint32(18),a.bytes(o.value)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={key:"",value:new Uint8Array(0)},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:c.key=o.string();break;case 2:c.value=o.bytes();break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>Ge(o,i.codec()),i.decode=o=>He(o,i.codec())})(e=t.Peer$metadataEntry||(t.Peer$metadataEntry={}));let r;(function(i){let s;i.codec=()=>(s==null&&(s=We((o,a,c={})=>{c.lengthDelimited!==!1&&a.fork(),o.key!=null&&o.key!==""&&(a.uint32(10),a.string(o.key)),o.value!=null&&(a.uint32(18),To.codec().encode(o.value,a)),c.lengthDelimited!==!1&&a.ldelim()},(o,a)=>{let c={key:""},u=a==null?o.len:o.pos+a;for(;o.pos<u;){let l=o.uint32();switch(l>>>3){case 1:c.key=o.string();break;case 2:c.value=To.codec().decode(o,o.uint32());break;default:o.skipType(l&7);break}}return c})),s),i.encode=o=>Ge(o,i.codec()),i.decode=o=>He(o,i.codec())})(r=t.Peer$tagsEntry||(t.Peer$tagsEntry={}));let n;t.codec=()=>(n==null&&(n=We((i,s,o={})=>{if(o.lengthDelimited!==!1&&s.fork(),i.addresses!=null)for(let a of i.addresses)s.uint32(10),Co.codec().encode(a,s);if(i.protocols!=null)for(let a of i.protocols)s.uint32(18),s.string(a);if(i.publicKey!=null&&(s.uint32(34),s.bytes(i.publicKey)),i.peerRecordEnvelope!=null&&(s.uint32(42),s.bytes(i.peerRecordEnvelope)),i.metadata!=null&&i.metadata.size!==0)for(let[a,c]of i.metadata.entries())s.uint32(50),t.Peer$metadataEntry.codec().encode({key:a,value:c},s);if(i.tags!=null&&i.tags.size!==0)for(let[a,c]of i.tags.entries())s.uint32(58),t.Peer$tagsEntry.codec().encode({key:a,value:c},s);o.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let o={addresses:[],protocols:[],metadata:new Map,tags:new Map},a=s==null?i.len:i.pos+s;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:o.addresses.push(Co.codec().decode(i,i.uint32()));break;case 2:o.protocols.push(i.string());break;case 4:o.publicKey=i.bytes();break;case 5:o.peerRecordEnvelope=i.bytes();break;case 6:{let u=t.Peer$metadataEntry.codec().decode(i,i.uint32());o.metadata.set(u.key,u.value);break}case 7:{let u=t.Peer$tagsEntry.codec().decode(i,i.uint32());o.tags.set(u.key,u.value);break}default:i.skipType(c&7);break}}return o})),n),t.encode=i=>Ge(i,t.codec()),t.decode=i=>He(i,t.codec())})(li||(li={}));var Co;(function(t){let e;t.codec=()=>(e==null&&(e=We((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.multiaddr!=null&&r.multiaddr.byteLength>0&&(n.uint32(10),n.bytes(r.multiaddr)),r.isCertified!=null&&(n.uint32(16),n.bool(r.isCertified)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={multiaddr:new Uint8Array(0)},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.multiaddr=r.bytes();break;case 2:i.isCertified=r.bool();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Ge(r,t.codec()),t.decode=r=>He(r,t.codec())})(Co||(Co={}));var To;(function(t){let e;t.codec=()=>(e==null&&(e=We((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.value!=null&&r.value!==0&&(n.uint32(8),n.uint32(r.value)),r.expiry!=null&&(n.uint32(16),n.uint64(r.expiry)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={value:0},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.value=r.uint32();break;case 2:i.expiry=r.uint64();break;default:r.skipType(o&7);break}}return i})),e),t.encode=r=>Ge(r,t.codec()),t.decode=r=>He(r,t.codec())})(To||(To={}));function fi(t,e){let r=li.decode(e);r.publicKey!=null&&t.publicKey==null&&(t=wp({...t,publicKey:t.publicKey}));let n=new Map,i=BigInt(Date.now());for(let[s,o]of r.tags.entries())o.expiry!=null&&o.expiry<i||n.set(s,o);return{...r,id:t,addresses:r.addresses.map(({multiaddr:s,isCertified:o})=>({multiaddr:ke(s),isCertified:o??!1})),metadata:r.metadata,peerRecordEnvelope:r.peerRecordEnvelope??void 0,tags:n}}function Ro(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function fm(t=0){return globalThis.Buffer?.allocUnsafe!=null?Ro(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function dm(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var hm=dm("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Tl=dm("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=fm(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),AA={utf8:hm,"utf-8":hm,hex:pe.base16,latin1:Tl,ascii:Tl,binary:Tl,...pe},Bo=AA;function pm(t,e="utf8"){let r=Bo[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Ro(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function mm(t,e="utf8"){let r=Bo[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var xr="/",gm=new TextEncoder().encode(xr),Lo=gm[0],bn=class t{_buf;constructor(e,r){if(typeof e=="string")this._buf=pm(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]!==Lo)throw new Error("Invalid key")}toString(e="utf8"){return mm(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new t(e.join(xr))}static random(){return new t(Math.random().toString().substring(2))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new t(e):typeof e.uint8Array=="function"?new t(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=gm),this._buf[0]!==Lo){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Lo,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Lo;)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 t.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(xr).slice(1)}type(){return SA(this.baseNamespace())}name(){return _A(this.baseNamespace())}instance(e){return new t(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(xr)||(e+=xr),e+=this.type(),new t(e)}parent(){let e=this.list();return e.length===1?new t(xr):new t(e.slice(0,-1).join(xr))}child(e){return this.toString()===xr?e:e.toString()===xr?this:new t(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 t.withNamespaces([...this.namespaces(),...IA(e.map(r=>r.namespaces()))])}};function SA(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function _A(t){let e=t.split(":");return e[e.length-1]}function IA(t){return[].concat(...t)}var Rl="/peers/";function hi(t){if(!Us(t)||t.type==null)throw new _("Invalid PeerId",Ye.ERR_INVALID_PARAMETERS);let e=t.toCID().toString();return new bn(`${Rl}${e}`)}async function ym(t,e,r){let n=new Map;for(let i of r){if(i==null)continue;if(i.multiaddr instanceof Uint8Array&&(i.multiaddr=ke(i.multiaddr)),!Or(i.multiaddr))throw new _("Multiaddr was invalid",Ye.ERR_INVALID_PARAMETERS);if(!await e(t,i.multiaddr))continue;let s=i.isCertified??!1,o=i.multiaddr.toString(),a=n.get(o);a!=null?i.isCertified=a.isCertified||s:n.set(o,{multiaddr:i.multiaddr,isCertified:s})}return[...n.values()].sort((i,s)=>i.multiaddr.toString().localeCompare(s.multiaddr.toString())).map(({isCertified:i,multiaddr:s})=>({isCertified:i,multiaddr:s.bytes}))}async function Po(t,e,r,n){if(e==null)throw new _("Invalid PeerData",Ye.ERR_INVALID_PARAMETERS);if(e.publicKey!=null&&t.publicKey!=null&&!Io(e.publicKey,t.publicKey))throw new _("publicKey bytes do not match peer id publicKey bytes",Ye.ERR_INVALID_PARAMETERS);let i=n.existingPeer;if(i!=null&&!t.equals(i.id))throw new _("peer id did not match existing peer id",Ye.ERR_INVALID_PARAMETERS);let s=i?.addresses??[],o=new Set(i?.protocols??[]),a=i?.metadata??new Map,c=i?.tags??new Map,u=i?.peerRecordEnvelope;if(r==="patch"){if((e.multiaddrs!=null||e.addresses!=null)&&(s=[],e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses)),e.protocols!=null&&(o=new Set(e.protocols)),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);a=Do(f,{validate:xm})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags);c=Do(f,{validate:bm,map:wm})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}if(r==="merge"){if(e.multiaddrs!=null&&s.push(...e.multiaddrs.map(f=>({isCertified:!1,multiaddr:f}))),e.addresses!=null&&s.push(...e.addresses),e.protocols!=null&&(o=new Set([...o,...e.protocols])),e.metadata!=null){let f=e.metadata instanceof Map?[...e.metadata.entries()]:Object.entries(e.metadata);for(let[d,p]of f)p==null?a.delete(d):a.set(d,p);a=Do([...a.entries()],{validate:xm})}if(e.tags!=null){let f=e.tags instanceof Map?[...e.tags.entries()]:Object.entries(e.tags),d=new Map(c);for(let[p,h]of f)h==null?d.delete(p):d.set(p,h);c=Do([...d.entries()],{validate:bm,map:wm})}e.peerRecordEnvelope!=null&&(u=e.peerRecordEnvelope)}let l={addresses:await ym(t,n.addressFilter??(async()=>!0),s),protocols:[...o.values()].sort((f,d)=>f.localeCompare(d)),metadata:a,tags:c,publicKey:i?.id.publicKey??e.publicKey??t.publicKey,peerRecordEnvelope:u};return t.type!=="RSA"&&delete l.publicKey,l}function Do(t,e){let r=new Map;for(let[n,i]of t)i!=null&&e.validate(n,i);for(let[n,i]of t.sort(([s],[o])=>s.localeCompare(o)))i!=null&&r.set(n,e.map?.(n,i)??i);return r}function xm(t,e){if(typeof t!="string")throw new _("Metadata key must be a string",Ye.ERR_INVALID_PARAMETERS);if(!(e instanceof Uint8Array))throw new _("Metadata value must be a Uint8Array",Ye.ERR_INVALID_PARAMETERS)}function bm(t,e){if(typeof t!="string")throw new _("Tag name must be a string",Ye.ERR_INVALID_PARAMETERS);if(e.value!=null){if(parseInt(`${e.value}`,10)!==e.value)throw new _("Tag value must be an integer",Ye.ERR_INVALID_PARAMETERS);if(e.value<0||e.value>100)throw new _("Tag value must be between 0-100",Ye.ERR_INVALID_PARAMETERS)}if(e.ttl!=null){if(parseInt(`${e.ttl}`,10)!==e.ttl)throw new _("Tag ttl must be an integer",Ye.ERR_INVALID_PARAMETERS);if(e.ttl<0)throw new _("Tag ttl must be between greater than 0",Ye.ERR_INVALID_PARAMETERS)}}function wm(t,e){let r;return e.expiry!=null&&(r=e.expiry),e.ttl!=null&&(r=BigInt(Date.now()+Number(e.ttl))),{value:e.value??0,expiry:r}}function No(t,e,r){let n=t.toString().split("/")[2],i=pt.decode(n),s=ni(i),o=r.get(s);if(o!=null)return o;let a=fi(s,e);return r.set(s,a),a}function CA(t,e){return t==null?{}:{prefix:Rl,filters:(t.filters??[]).map(r=>({key:n,value:i})=>r(No(n,i,e))),orders:(t.orders??[]).map(r=>(n,i)=>r(No(n.key,n.value,e),No(i.key,i.value,e)))}}var ko=class{peerId;datastore;lock;addressFilter;constructor(e,r={}){this.peerId=e.peerId,this.datastore=e.datastore,this.addressFilter=r.addressFilter,this.lock=Cl({name:"peer-store",singleProcess:!0})}async has(e){return this.datastore.has(hi(e))}async delete(e){if(this.peerId.equals(e))throw new _("Cannot delete self peer",Ye.ERR_INVALID_PARAMETERS);await this.datastore.delete(hi(e))}async load(e){let r=await this.datastore.get(hi(e));return fi(e,r)}async save(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await Po(e,r,"patch",{addressFilter:this.addressFilter});return this.#i(e,s,n,i)}async patch(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await Po(e,r,"patch",{addressFilter:this.addressFilter,existingPeer:i});return this.#i(e,s,n,i)}async merge(e,r){let{existingBuf:n,existingPeer:i}=await this.#e(e),s=await Po(e,r,"merge",{addressFilter:this.addressFilter,existingPeer:i});return this.#i(e,s,n,i)}async*all(e){let r=new je;for await(let{key:n,value:i}of this.datastore.query(CA(e??{},r))){let s=No(n,i,r);s.id.equals(this.peerId)||(yield s)}}async#e(e){try{let r=await this.datastore.get(hi(e)),n=fi(e,r);return{existingBuf:r,existingPeer:n}}catch(r){if(r.code!=="ERR_NOT_FOUND")throw r}return{}}async#i(e,r,n,i){let s=li.encode(r);return n!=null&&Io(s,n)?{peer:fi(e,s),previous:i,updated:!1}:(await this.datastore.put(hi(e),s),{peer:fi(e,s),previous:i,updated:!0})}};var Oo=class{store;events;peerId;log;constructor(e,r={}){this.log=e.logger.forComponent("libp2p:peer-store"),this.events=e.events,this.peerId=e.peerId,this.store=new ko(e,r)}async forEach(e,r){this.log.trace("forEach await read lock");let n=await this.store.lock.readLock();this.log.trace("forEach got read lock");try{for await(let i of this.store.all(r))e(i)}finally{this.log.trace("forEach release read lock"),n()}}async all(e){this.log.trace("all await read lock");let r=await this.store.lock.readLock();this.log.trace("all got read lock");try{return await rs(this.store.all(e))}finally{this.log.trace("all release read lock"),r()}}async delete(e){this.log.trace("delete await write lock");let r=await this.store.lock.writeLock();this.log.trace("delete got write lock");try{await this.store.delete(e)}finally{this.log.trace("delete release write lock"),r()}}async has(e){this.log.trace("has await read lock");let r=await this.store.lock.readLock();this.log.trace("has got read lock");try{return await this.store.has(e)}finally{this.log.trace("has release read lock"),r()}}async get(e){this.log.trace("get await read lock");let r=await this.store.lock.readLock();this.log.trace("get got read lock");try{return await this.store.load(e)}finally{this.log.trace("get release read lock"),r()}}async save(e,r){this.log.trace("save await write lock");let n=await this.store.lock.writeLock();this.log.trace("save got write lock");try{let i=await this.store.save(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("save release write lock"),n()}}async patch(e,r){this.log.trace("patch await write lock");let n=await this.store.lock.writeLock();this.log.trace("patch got write lock");try{let i=await this.store.patch(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("patch release write lock"),n()}}async merge(e,r){this.log.trace("merge await write lock");let n=await this.store.lock.writeLock();this.log.trace("merge got write lock");try{let i=await this.store.merge(e,r);return this.#e(e,i),i.peer}finally{this.log.trace("merge release write lock"),n()}}async consumePeerRecord(e,r){let n=await ii.openAndCertify(e,gn.DOMAIN);if(r?.equals(n.peerId)===!1)return this.log("envelope peer id was not the expected peer id - expected: %p received: %p",r,n.peerId),!1;let i=gn.createFromProtobuf(n.payload),s;try{s=await this.get(n.peerId)}catch(o){if(o.code!=="ERR_NOT_FOUND")throw o}if(s?.peerRecordEnvelope!=null){let o=await ii.createFromProtobuf(s.peerRecordEnvelope),a=gn.createFromProtobuf(o.payload);if(a.seqNumber>=i.seqNumber)return this.log("sequence number was lower or equal to existing sequence number - stored: %d received: %d",a.seqNumber,i.seqNumber),!1}return await this.patch(i.peerId,{peerRecordEnvelope:e,addresses:i.multiaddrs.map(o=>({isCertified:!0,multiaddr:o}))}),!0}#e(e,r){r.updated&&(this.peerId.equals(e)?this.events.safeDispatchEvent("self:peer:update",{detail:r}):this.events.safeDispatchEvent("peer:update",{detail:r}))}};function TA(t){return t[Symbol.asyncIterator]!=null}function RA(t){if(TA(t))return(async()=>{for await(let e of t);})();for(let e of t);}var Bl=RA;function BA(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var Em=BA;function LA(t){return t[Symbol.asyncIterator]!=null}function DA(t,e){if(LA(t))return async function*(){for await(let a of t)await e(a)&&(yield a)}();let r=Em(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let s=e(n);if(typeof s.then=="function")return async function*(){await s&&(yield n);for await(let a of r)await e(a)&&(yield a)}();let o=e;return function*(){s===!0&&(yield n);for(let a of r)o(a)&&(yield a)}()}var wn=DA;function PA(t){return t[Symbol.asyncIterator]!=null}function NA(t,e){return PA(t)?async function*(){yield*(await rs(t)).sort(e)}():function*(){yield*rs(t).sort(e)}()}var Ll=NA;function kA(t){return t[Symbol.asyncIterator]!=null}function OA(t,e){return kA(t)?async function*(){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}}():function*(){let r=0;if(!(e<1)){for(let n of t)if(yield n,r++,r===e)return}}()}var Dl=OA;var Uo=class{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 n}async*getMany(e,r={}){for await(let n of e)yield{key:n,value:await 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 Bl(this.putMany(e,n)),e=[],await Bl(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){let i=e.prefix;n=wn(n,s=>s.key.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>wn(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>Ll(i,s),n)),e.offset!=null){let i=0,s=e.offset;n=wn(n,()=>i++>=s)}return e.limit!=null&&(n=Dl(n,e.limit)),n}queryKeys(e,r){let n=this._allKeys(e,r);if(e.prefix!=null){let i=e.prefix;n=wn(n,s=>s.toString().startsWith(i))}if(Array.isArray(e.filters)&&(n=e.filters.reduce((i,s)=>wn(i,s),n)),Array.isArray(e.orders)&&(n=e.orders.reduce((i,s)=>Ll(i,s),n)),e.offset!=null){let i=e.offset,s=0;n=wn(n,()=>s++>=i)}return e.limit!=null&&(n=Dl(n,e.limit)),n}};var Sm=Ee(Pl(),1);function _m(t){return t=t??new Error("Not Found"),(0,Sm.default)(t,"ERR_NOT_FOUND")}var Mo=class extends Uo{data;constructor(){super(),this.data=new Map}put(e,r){return this.data.set(e.toString(),r),e}get(e){let r=this.data.get(e.toString());if(r==null)throw _m();return r}has(e){return this.data.has(e.toString())}delete(e){this.data.delete(e.toString())}*_all(){for(let[e,r]of this.data.entries())yield{key:new bn(e),value:r}}*_allKeys(){for(let e of this.data.keys())yield new bn(e)}};function En(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Fo(t=0){return globalThis.Buffer?.allocUnsafe!=null?En(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Im(t,e){if(globalThis.Buffer!=null)return En(globalThis.Buffer.concat(t,e));e==null&&(e=t.reduce((i,s)=>i+s.length,0));let r=Fo(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return En(r)}function Tm(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Cm=Tm("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),Nl=Tm("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=Fo(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),FA={utf8:Cm,"utf-8":Cm,hex:pe.base16,latin1:Nl,ascii:Nl,binary:Nl,...pe},Ko=FA;function qo(t,e="utf8"){let r=Ko[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?En(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function Rm(t,e){let r;return function(){let n=function(){r=void 0,t()};clearTimeout(r),r=setTimeout(n,e)}}var KA=t=>t;function kl(t,e){let r=t.getPeerId();return r!=null&&oe(r).equals(e)&&(t=t.decapsulate(ke(`/p2p/${e.toString()}`))),t}var Vo=class{log;components;listen;announce;observed;announceFilter;constructor(e,r={}){let{listen:n=[],announce:i=[]}=r;this.components=e,this.log=e.logger.forComponent("libp2p:address-manager"),this.listen=n.map(s=>s.toString()),this.announce=new Set(i.map(s=>s.toString())),this.observed=new Map,this.announceFilter=r.announceFilter??KA,this._updatePeerStoreAddresses=Rm(this._updatePeerStoreAddresses.bind(this),1e3),e.events.addEventListener("transport:listening",()=>{this._updatePeerStoreAddresses()}),e.events.addEventListener("transport:close",()=>{this._updatePeerStoreAddresses()})}_updatePeerStoreAddresses(){let e=this.getAnnounceAddrs().concat(this.components.transportManager.getAddrs()).concat([...this.observed.entries()].filter(([r,n])=>n.confident).map(([r])=>ke(r))).map(r=>r.getPeerId()===this.components.peerId.toString()?r.decapsulate(`/p2p/${this.components.peerId.toString()}`):r);this.components.peerStore.patch(this.components.peerId,{multiaddrs:e}).catch(r=>{this.log.error("error updating addresses",r)})}getListenAddrs(){return Array.from(this.listen).map(e=>ke(e))}getAnnounceAddrs(){return Array.from(this.announce).map(e=>ke(e))}getObservedAddrs(){return Array.from(this.observed).map(([e])=>ke(e))}addObservedAddr(e){e=kl(e,this.components.peerId);let r=e.toString();this.observed.has(r)||this.observed.set(r,{confident:!1})}confirmObservedAddr(e){e=kl(e,this.components.peerId);let r=e.toString(),i=(this.observed.get(r)??{confident:!1}).confident;this.observed.set(r,{confident:!0}),i||this._updatePeerStoreAddresses()}removeObservedAddr(e){e=kl(e,this.components.peerId);let r=e.toString();this.observed.delete(r)}getAddresses(){let e=this.getAnnounceAddrs().map(n=>n.toString());e.length===0&&(e=this.components.transportManager.getAddrs().map(n=>n.toString())),e=e.concat(Array.from(this.observed).filter(([n,i])=>i.confident).map(([n])=>n));let r=new Set(e);return this.announceFilter(Array.from(r).map(n=>ke(n))).map(n=>n.protos().pop()?.path===!0||n.getPeerId()===this.components.peerId.toString()?n:n.encapsulate(`/p2p/${this.components.peerId.toString()}`))}};var Ol=class{components={};_started=!1;constructor(e={}){this.components={};for(let[r,n]of Object.entries(e))this.components[r]=n;this.components.logger==null&&(this.components.logger=fo())}isStarted(){return this._started}async _invokeStartableMethod(e){await Promise.all(Object.values(this.components).filter(r=>h0(r)).map(async r=>{await r[e]?.()}))}async beforeStart(){await this._invokeStartableMethod("beforeStart")}async start(){await this._invokeStartableMethod("start"),this._started=!0}async afterStart(){await this._invokeStartableMethod("afterStart")}async beforeStop(){await this._invokeStartableMethod("beforeStop")}async stop(){await this._invokeStartableMethod("stop"),this._started=!1}async afterStop(){await this._invokeStartableMethod("afterStop")}},qA=["metrics","connectionProtector"],VA=["components","isStarted","beforeStart","start","afterStart","beforeStop","stop","afterStop","then","_invokeStartableMethod"];function Bm(t={}){let e=new Ol(t);return new Proxy(e,{get(n,i,s){if(typeof i=="string"&&!VA.includes(i)){let o=e.components[i];if(o==null&&!qA.includes(i))throw new _(`${i} not set`,"ERR_SERVICE_MISSING");return o}return Reflect.get(n,i,s)},set(n,i,s){return typeof i=="string"?e.components[i]=s:Reflect.set(n,i,s),!0}})}var Um=Ee(Lm(),1);var Dm="[a-fA-F\\d:]",Fr=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${Dm})|(?<=${Dm})(?=\\s|$))`:"",Mt="(?: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}",De="[a-fA-F\\d]{1,4}",$o=`
|
|
38
38
|
(?:
|
|
39
|
-
(?:${
|
|
40
|
-
(?:${
|
|
41
|
-
(?:${
|
|
42
|
-
(?:${
|
|
43
|
-
(?:${
|
|
44
|
-
(?:${
|
|
45
|
-
(?:${
|
|
46
|
-
(?::(?:(?::${
|
|
39
|
+
(?:${De}:){7}(?:${De}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
40
|
+
(?:${De}:){6}(?:${Mt}|:${De}|:)| // 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
|
|
41
|
+
(?:${De}:){5}(?::${Mt}|(?::${De}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
|
|
42
|
+
(?:${De}:){4}(?:(?::${De}){0,1}:${Mt}|(?::${De}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
|
|
43
|
+
(?:${De}:){3}(?:(?::${De}){0,2}:${Mt}|(?::${De}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
|
|
44
|
+
(?:${De}:){2}(?:(?::${De}){0,3}:${Mt}|(?::${De}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
|
|
45
|
+
(?:${De}:){1}(?:(?::${De}){0,4}:${Mt}|(?::${De}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
46
|
+
(?::(?:(?::${De}){0,5}:${Mt}|(?::${De}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
|
|
47
47
|
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
|
|
48
|
-
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),lE=new RegExp(`(?:^${Ut}$)|(?:^${Io}$)`),fE=new RegExp(`^${Ut}$`),hE=new RegExp(`^${Io}$`),Zu=t=>t&&t.exact?lE:new RegExp(`(?:${kr(t)}${Ut}${kr(t)})|(?:${kr(t)}${Io}${kr(t)})`,"g");Zu.v4=t=>t&&t.exact?fE:new RegExp(`${kr(t)}${Ut}${kr(t)}`,"g");Zu.v6=t=>t&&t.exact?hE:new RegExp(`${kr(t)}${Io}${kr(t)}`,"g");var mp=Zu;var wp=we(yp(),1),{isValid:dE,parse:pE}=wp.default,mE=["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"],gE=mE.map(t=>new bp.Netmask(t));function yE(t){for(let e of gE)if(e.contains(t))return!0;return!1}function xp(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)}var Ep=t=>{if(dE(t)){let e=pE(t);if(e.kind()==="ipv4")return yE(e.toNormalizedString());if(e.kind()==="ipv6")return xp(t)}else if(Qn(t)&&mp.v6().test(t))return xp(t)};var To=Ep;function vp(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!To(`${r[0][1]}`):!1},denyInboundConnection:async()=>!1,denyOutboundConnection:async()=>!1,denyInboundEncryptedConnection:async()=>!1,denyOutboundEncryptedConnection:async()=>!1,denyInboundUpgradedConnection:async()=>!1,denyOutboundUpgradedConnection:async()=>!1,filterMultiaddrForPeer:async()=>!0,...t}}var xE=t=>t.toString().split("/").slice(1),Gi=t=>({match:e=>e.length<1?!1:t(e[0])?e.slice(1):!1,pattern:"fn"}),Ie=t=>({match:e=>Gi(r=>r===t).match(e),pattern:t}),Lo=()=>({match:t=>Gi(e=>typeof e=="string").match(t),pattern:"{string}"}),_p=()=>({match:t=>Gi(e=>!isNaN(parseInt(e))).match(t),pattern:"{number}"}),It=()=>({match:t=>{if(t.length<2||t[0]!=="p2p"&&t[0]!=="ipfs")return!1;if(t[1].startsWith("Q")||t[1].startsWith("1"))try{Ee.decode(`z${t[1]}`)}catch{return!1}else return!1;return t.slice(2)},pattern:"/p2p/{peerid}"}),Ro=()=>({match:t=>{if(t.length<2||t[0]!=="certhash")return!1;try{tc.decode(t[1])}catch{return!1}return t.slice(2)},pattern:"/certhash/{certhash}"}),Xt=t=>({match:e=>{let r=t.match(e);return r===!1?e:r},pattern:`optional(${t.pattern})`}),Zt=(...t)=>({match:e=>{let r;for(let n of t){let i=n.match(e);i!==!1&&(r==null||i.length<r.length)&&(r=i)}return r??!1},pattern:`or(${t.map(e=>e.pattern).join(", ")})`}),Ce=(...t)=>({match:e=>{for(let r of t){let n=r.match(e);if(n===!1)return!1;e=n}return e},pattern:`and(${t.map(e=>e.pattern).join(", ")})`});function Ne(...t){function e(i){let s=xE(i);for(let o of t){let a=o.match(s);if(a===!1)return!1;s=a}return s}function r(i){return e(i)!==!1}function n(i){let s=e(i);return s===!1?!1:s.length===0}return{matches:r,exactMatch:n}}var Ju=Ce(Ie("dns4"),Lo()),el=Ce(Ie("dns6"),Lo()),tl=Ce(Ie("dnsaddr"),Lo()),Sp=Ce(Ie("dns"),Lo()),xL=Ne(Ju),bL=Ne(el),wL=Ne(tl),EL=Ne(Zt(Sp,tl,Ju,el)),Ap=Ce(Ie("ip4"),Gi(no)),Ip=Ce(Ie("ip6"),Gi(io)),Cp=Zt(Ap,Ip),Wi=Zt(Cp,Sp,Ju,el,tl),vL=Ne(Wi),_L=Ne(Ap),SL=Ne(Ip),AL=Ne(Cp),Po=Ce(Wi,Ie("tcp"),_p()),Yi=Ce(Wi,Ie("udp"),_p()),bE=Zt(Po,Yi),IL=Ne(Po),CL=Ne(Yi),rl=Ce(Yi,Ie("quic")),Do=Ce(Yi,Ie("quic-v1")),wE=Zt(rl,Do),TL=Ne(rl),RL=Ne(Do),ju=Zt(Wi,Po,Yi,rl,Do),Tp=Zt(Ce(ju,Ie("ws"),Xt(It()))),BL=Ne(Tp),Rp=Zt(Ce(ju,Ie("wss"),Xt(It())),Ce(ju,Ie("tls"),Ie("ws"),Xt(It()))),LL=Ne(Rp),Bp=Ce(bE,Ie("webrtc-direct"),Ro(),Xt(Ro()),Xt(It())),PL=Ne(Bp),Lp=Ce(Do,Ie("webtransport"),Ro(),Ro(),Xt(It())),DL=Ne(Lp),Bo=Zt(Tp,Rp,Ce(Po,Xt(It())),Ce(wE,Xt(It())),Ce(Wi,Xt(It())),Bp,Lp,It()),NL=Ne(Bo),EE=Ce(Bo,Ie("p2p-circuit"),It()),nl=Ne(EE),vE=Zt(Ce(Bo,Ie("p2p-circuit"),Ie("webrtc"),It()),Ce(Bo,Ie("webrtc"),Xt(It())),Ie("webrtc")),kL=Ne(vE);function il(t){try{let{address:e}=t.nodeAddress();return!!To(e)}catch{return!0}}function _E(t,e){let r=il(t.multiaddr),n=il(e.multiaddr);return r&&!n?1:!r&&n?-1:0}function SE(t,e){return t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}function AE(t,e){let r=nl.exactMatch(t.multiaddr),n=nl.exactMatch(e.multiaddr);return r&&!n?1:!r&&n?-1:0}function ri(t,e){let r=_E(t,e);if(r!==0)return r;let n=AE(t,e);return n!==0?n:SE(t,e)}var ol=we(ou(),1),al=we(Np(),1);function No(t,e,r){return`${t}?name=${e}&type=${r}`}async function kp(t,e){return await(await fetch(t,{headers:new Headers({accept:"application/dns-json"}),signal:e})).json()}function gn(t,e){return`${e}_${t}`}var sl=Object.assign((0,ol.default)("dns-over-http-resolver"),{error:(0,ol.default)("dns-over-http-resolver:error")}),cl=class{_cache;_TXTcache;_servers;_request;_abortControllers;constructor(e={}){this._cache=new al.default({max:e?.maxCache??100}),this._TXTcache=new al.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??kp,this._abortControllers=[]}cancel(){this._abortControllers.forEach(e=>{e.abort()})}getServers(){return this._servers}_getShuffledServers(){let e=[...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}async 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(gn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(No(s,e,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(gn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),sl.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolve6(e){let r="AAAA",n=this._cache.get(gn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(No(s,e,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(gn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),sl.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolveTxt(e){let r="TXT",n=this._TXTcache.get(gn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(No(s,e,r),o.signal),c=a.Answer.map(l=>[l.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(l=>l.TTL));return this._TXTcache.set(gn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),sl.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},Op=cl;var Mp=Op;var{code:BE}=ce("dnsaddr");async function ni(t,e={}){let r=new Mp;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===BE)??[];if(i==null)throw new Error("No hostname found in multiaddr");let o=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]).filter(Boolean);return n!=null&&(o=o.filter(a=>a.includes(n))),o}var Gp=we(Hp(),1),Mo=Gp.default;var gr;(function(t){t.NOT_STARTED_YET="The libp2p node is not started yet",t.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",t.NOT_FOUND="Not found"})(gr||(gr={}));var F;(function(t){t.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",t.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",t.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",t.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",t.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",t.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",t.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",t.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",t.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",t.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",t.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",t.ERR_DIALED_SELF="ERR_DIALED_SELF",t.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",t.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",t.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",t.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",t.ERR_INVALID_KEY="ERR_INVALID_KEY",t.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_PEER="ERR_INVALID_PEER",t.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",t.ERR_NOT_FOUND="ERR_NOT_FOUND",t.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",t.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",t.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",t.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",t.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",t.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",t.ERR_FIND_SELF="ERR_FIND_SELF",t.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",t.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",t.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",t.ERR_INVALID_CMS="ERR_INVALID_CMS",t.ERR_MISSING_KEYS="ERR_MISSING_KEYS",t.ERR_NO_KEY="ERR_NO_KEY",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",t.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",t.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",t.ERR_INVALID_RECORD="ERR_INVALID_RECORD",t.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",t.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",t.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",t.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",t.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",t.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(F||(F={}));var OE={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:ni},addressSorter:ri},transportManager:{faultTolerance:Er.FATAL_ALL}};function Wp(t){let e=Mo(OE,t);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new S(gr.ERR_PROTECTOR_REQUIRED,F.ERR_PROTECTOR_REQUIRED);return e}var Ym=we($m(),1);function Ko(t){if(vs(t))return{peerId:t,multiaddrs:[]};Array.isArray(t)||(t=[t]);let e;if(t.length>0){let r=t[0].getPeerId();e=r==null?void 0:se(r),t.forEach(n=>{if(!Pr(n))throw new S("Invalid Multiaddr",F.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new S("Multiaddrs must all have the same peer id or have no peer id",F.ERR_INVALID_PARAMETERS)}else{let s=se(i);if(e==null||!e.equals(s))throw new S("Multiaddrs must all have the same peer id or have no peer id",F.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function Ae(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}function Il(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var Xi=class{#e=[];enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&this.#e[this.size-1].priority>=r.priority){this.#e.push(n);return}let i=Il(this.#e,n,(s,o)=>o.priority-s.priority);this.#e.splice(i,0,n)}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}};var Zi=class extends fn.default{#e;#i;#s=0;#a;#c;#p=0;#r;#u;#t;#m;#n=0;#l;#o;#g;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Xi,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${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 \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#i=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#g=e.throwOnTimeout===!0,this.#o=e.autoStart===!1}get#b(){return this.#i||this.#s<this.#a}get#w(){return this.#n<this.#l}#E(){this.#n--,this.#f(),this.emit("next")}#v(){this.#x(),this.#y(),this.#u=void 0}get#_(){let e=Date.now();if(this.#r===void 0){let r=this.#p-e;if(r<0)this.#s=this.#e?this.#n:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#v()},r)),!0}return!1}#f(){if(this.#t.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#o){let e=!this.#_;if(this.#b&&this.#w){let r=this.#t.dequeue();return r?(this.emit("active"),r(),e&&this.#y(),!0):!1}}return!1}#y(){this.#i||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#s===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#s=this.#e?this.#n:0,this.#h()}#h(){for(;this.#f(););}get concurrency(){return this.#l}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.#l=e,this.#h()}async#S(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#g,...r},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#n++,this.#s++;try{r.signal?.throwIfAborted();let s=e({signal:r.signal});r.timeout&&(s=pr(Promise.resolve(s),{milliseconds:r.timeout})),r.signal&&(s=Promise.race([s,this.#S(r.signal)]));let o=await s;n(o),this.emit("completed",o)}catch(s){if(s instanceof dr&&!r.throwOnTimeout){n();return}i(s),this.emit("error",s)}finally{this.#E()}},r),this.emit("add"),this.#f()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#o?(this.#o=!1,this.#h(),this):this}pause(){this.#o=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#d("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.size===0||await this.#d("idle")}async#d(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#o}};function _v(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var Cl=class{#e=[];enqueue(e,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new S("missing peer id",qa);let s={priority:i,peerId:n,run:e};if(this.size>0&&this.#e[this.size-1].priority>=i){this.#e.push(s);return}let o=_v(this.#e,s,(a,c)=>c.priority-a.priority);this.#e.splice(o,0,s)}dequeue(){return this.#e.shift()?.run}filter(e){if(e.peerId!=null){let r=e.peerId;return this.#e.filter(n=>r.equals(n.peerId)).map(n=>n.run)}return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}},qo=class extends Zi{results;constructor(e={}){super({...e,queueClass:Cl}),this.results=new je}hasJob(e){return this.sizeBy({peerId:e})>0}async joinJob(e){let r=this.results.get(e);if(r==null)throw new S("No job found for peer id","ERR_NO_JOB_FOR_PEER_ID");return r===!0&&(r=Ae(),this.results.set(e,r)),r.promise}async add(e,r){let n=r?.peerId;if(n==null)throw new S("missing peer id",qa);return this.results.set(r.peerId,!0),super.add(async i=>{try{let s=await e(i),o=this.results.get(n);return o!=null&&o!==!0&&o.resolve(s),s}catch(s){let o=this.results.get(n);throw o!=null&&o!==!0&&o.reject(s),s}finally{this.results.delete(n)}},r)}clear(){this.results.clear(),super.clear()}};function zm(t,e="utf8"){let r=_o[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var Vo="last-dial-failure";var $o=5,zo=100,Ho=50,Hm=1e3*60*7;var xn={minConnections:$o,maxQueueLength:100,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3,autoDialPeerRetryThreshold:Hm,autoDialDiscoveredPeersDebounce:10},Go=class{connectionManager;peerStore;queue;minConnections;autoDialPriority;autoDialIntervalMs;autoDialMaxQueueLength;autoDialPeerRetryThresholdMs;autoDialDiscoveredPeersDebounce;autoDialInterval;started;running;log;constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??xn.minConnections,this.autoDialPriority=r.autoDialPriority??xn.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??xn.autoDialInterval,this.autoDialMaxQueueLength=r.maxQueueLength??xn.maxQueueLength,this.autoDialPeerRetryThresholdMs=r.autoDialPeerRetryThreshold??xn.autoDialPeerRetryThreshold,this.autoDialDiscoveredPeersDebounce=r.autoDialDiscoveredPeersDebounce??xn.autoDialDiscoveredPeersDebounce,this.log=e.logger.forComponent("libp2p:connection-manager:auto-dial"),this.started=!1,this.running=!1,this.queue=new qo({concurrency:r.autoDialConcurrency??xn.autoDialConcurrency}),this.queue.addListener("error",i=>{this.log.error("error during auto-dial",i)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(i=>{this.log.error(i)})});let n;e.events.addEventListener("peer:discovery",()=>{clearTimeout(n),n=setTimeout(()=>{this.autoDial().catch(i=>{this.log.error(i)})},this.autoDialDiscoveredPeersDebounce)})}isStarted(){return this.started}start(){this.started=!0}afterStart(){this.autoDial().catch(e=>{this.log.error("error while autodialing",e)})}stop(){this.queue.clear(),clearTimeout(this.autoDialInterval),this.started=!1,this.running=!1}async autoDial(){if(!this.started||this.running)return;let e=this.connectionManager.getConnectionsMap(),r=e.size;if(r>=this.minConnections){this.minConnections>0&&this.log.trace("have enough connections %d/%d",r,this.minConnections);return}if(this.queue.size>this.autoDialMaxQueueLength){this.log("not enough connections %d/%d but auto dial queue is full",r,this.minConnections),this.sheduleNextAutodial();return}this.running=!0,this.log("not enough connections %d/%d - will dial peers to increase the number of connections",r,this.minConnections);let n=new St(this.connectionManager.getDialQueue().map(u=>u.peerId).filter(Boolean)),i=await this.peerStore.all({filters:[u=>u.addresses.length===0?(this.log.trace("not autodialing %p because they have no addresses",u.id),!1):e.has(u.id)?(this.log.trace("not autodialing %p because they are already connected",u.id),!1):n.has(u.id)?(this.log.trace("not autodialing %p because they are already being dialed",u.id),!1):this.queue.hasJob(u.id)?(this.log.trace("not autodialing %p because they are already being autodialed",u.id),!1):!0]}),s=i.sort(()=>Math.random()>.5?1:-1),o=new je;for(let u of s)o.has(u.id)||o.set(u.id,[...u.tags.values()].reduce((l,f)=>l+f.value,0));let c=s.sort((u,l)=>{let f=o.get(u.id)??0,d=o.get(l.id)??0;return f>d?-1:f<d?1:0}).filter(u=>{let l=u.metadata.get(Vo);if(l==null)return!0;let f=parseInt(zm(l));return isNaN(f)?!0:Date.now()-f>this.autoDialPeerRetryThresholdMs});this.log("selected %d/%d peers to dial",c.length,i.length);for(let u of c)this.queue.add(async()=>{let l=this.connectionManager.getConnectionsMap().size;if(l>=this.minConnections){this.log("got enough connections now %d/%d",l,this.minConnections),this.queue.clear();return}this.log("connecting to a peerStore stored peer %p",u.id),await this.connectionManager.openConnection(u.id,{priority:this.autoDialPriority})},{peerId:u.id}).catch(l=>{this.log.error("could not connect to peerStore stored peer",l)});this.running=!1,this.sheduleNextAutodial()}sheduleNextAutodial(){this.started&&(this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(e=>{this.log.error("error while autodialing",e)})},this.autoDialIntervalMs))}};var Gm={maxConnections:zo,allow:[]},Wo=class{maxConnections;connectionManager;peerStore;allow;events;log;constructor(e,r={}){this.maxConnections=r.maxConnections??Gm.maxConnections,this.allow=r.allow??Gm.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,this.log=e.logger.forComponent("libp2p:connection-manager:connection-pruner"),e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{this.log.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(this.log("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;this.log("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new je;for(let a of e){let c=a.remotePeer;if(!i.has(c)){i.set(c,0);try{let u=await this.peerStore.get(c);i.set(c,[...u.tags.values()].reduce((l,f)=>l+f.value,0))}catch(u){u.code!=="ERR_NOT_FOUND"&&this.log.error("error loading peer tags",u)}}}let s=e.sort((a,c)=>{let u=i.get(a.remotePeer)??0,l=i.get(c.remotePeer)??0;if(u>l)return 1;if(u<l)return-1;let f=a.timeline.open,d=c.timeline.open;return f<d?1:f>d?-1:0}),o=[];for(let a of s)if(this.log("too many connections open - closing a connection to %p",a.remotePeer),this.allow.some(u=>a.remoteAddr.toString().startsWith(u.toString()))||o.push(a),o.length===n)break;await Promise.all(o.map(async a=>{try{await a.close()}catch(c){this.log.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:o})}};function Yo(t){let e=new globalThis.AbortController;function r(){e.abort();for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}for(let s of t){if(s?.aborted===!0){r();break}s?.addEventListener!=null&&s.addEventListener("abort",r)}function n(){for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}let i=e.signal;return i.clear=n,i}function Ll(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var ji=class{#e=[];enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&this.#e[this.size-1].priority>=r.priority){this.#e.push(n);return}let i=Ll(this.#e,n,(s,o)=>o.priority-s.priority);this.#e.splice(i,0,n)}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}};var ui=class extends fn.default{#e;#i;#s=0;#a;#c;#p=0;#r;#u;#t;#m;#n=0;#l;#o;#g;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:ji,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${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 \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#i=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#g=e.throwOnTimeout===!0,this.#o=e.autoStart===!1}get#b(){return this.#i||this.#s<this.#a}get#w(){return this.#n<this.#l}#E(){this.#n--,this.#f(),this.emit("next")}#v(){this.#x(),this.#y(),this.#u=void 0}get#_(){let e=Date.now();if(this.#r===void 0){let r=this.#p-e;if(r<0)this.#s=this.#e?this.#n:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#v()},r)),!0}return!1}#f(){if(this.#t.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#o){let e=!this.#_;if(this.#b&&this.#w){let r=this.#t.dequeue();return r?(this.emit("active"),r(),e&&this.#y(),!0):!1}}return!1}#y(){this.#i||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#s===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#s=this.#e?this.#n:0,this.#h()}#h(){for(;this.#f(););}get concurrency(){return this.#l}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.#l=e,this.#h()}async#S(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#g,...r},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#n++,this.#s++;try{r.signal?.throwIfAborted();let s=e({signal:r.signal});r.timeout&&(s=pr(Promise.resolve(s),{milliseconds:r.timeout})),r.signal&&(s=Promise.race([s,this.#S(r.signal)]));let o=await s;n(o),this.emit("completed",o)}catch(s){if(s instanceof dr&&!r.throwOnTimeout){n();return}i(s),this.emit("error",s)}finally{this.#E()}},r),this.emit("add"),this.#f()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#o?(this.#o=!1,this.#h(),this):this}pause(){this.#o=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#d("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.size===0||await this.#d("idle")}async#d(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#o}};async function Pl(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await Iv(t,e),o=(await Promise.all(n.map(async a=>Pl(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return e.log("resolved %s to",t,o.map(a=>a.toString())),o}async function Iv(t,e){try{return t=De(t.toString()),await t.resolve(e)}catch(r){return e.log.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function Wm(...t){let e=[];for(let n of t)n!=null&&(ht(1/0,n),e.push(n));let r=Yo(e);return ht(1/0,r),r}var Qo={addressSorter:ri,maxParallelDials:Ho,maxPeerAddrsToDial:25,dialTimeout:3e4,resolvers:{dnsaddr:ni}},Xo=class{pendingDials;queue;peerId;peerStore;connectionGater;transportManager;addressSorter;maxPeerAddrsToDial;dialTimeout;inProgressDialCount;pendingDialCount;shutDownController;connections;log;constructor(e,r={}){this.addressSorter=r.addressSorter??Qo.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??Qo.maxPeerAddrsToDial,this.dialTimeout=r.dialTimeout??Qo.dialTimeout,this.connections=r.connections??new je,this.log=e.logger.forComponent("libp2p:connection-manager:dial-queue"),this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController,ht(1/0,this.shutDownController.signal),this.pendingDialCount=e.metrics?.registerMetric("libp2p_dial_queue_pending_dials"),this.inProgressDialCount=e.metrics?.registerMetric("libp2p_dial_queue_in_progress_dials"),this.pendingDials=[];for(let[n,i]of Object.entries(r.resolvers??{}))oo.set(n,i);this.queue=new ui({concurrency:r.maxParallelDials??Qo.maxParallelDials}),this.queue.on("add",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("active",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("completed",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("error",n=>{this.log.error("error in dial queue",n),this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("empty",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("idle",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)})}start(){this.shutDownController=new AbortController}stop(){this.shutDownController.abort(),this.queue.clear()}async dial(e,r={}){let{peerId:n,multiaddrs:i}=Ko(e),s=i.map(d=>({multiaddr:d,isCertified:!1})),o=this.createDialAbortControllers(r.signal),a;try{a=await this.calculateMultiaddrs(n,s,{...r,signal:o})}catch(d){throw o.clear(),d}let c=Array.from(this.connections.values()).flat().find(d=>r.force===!0?!1:a.find(p=>p.multiaddr.equals(d.remoteAddr)));if(c!=null)return this.log("already connected to %a",c.remoteAddr),c;let u=this.pendingDials.find(d=>!!(d.peerId!=null&&n!=null&&d.peerId.equals(n)||a.map(({multiaddr:p})=>p.toString()).join()===d.multiaddrs.map(p=>p.toString()).join()));if(u!=null)return this.log("joining existing dial target for %p",n),o.clear(),u.promise;this.log("creating dial target for",a.map(({multiaddr:d})=>d.toString()));let l={id:Cv(),status:"queued",peerId:n,multiaddrs:a.map(({multiaddr:d})=>d)};l.promise=this.performDial(l,{...r,signal:o}).finally(()=>{this.pendingDials=this.pendingDials.filter(d=>d.id!==l.id),o.clear()}).catch(async d=>{if(this.log.error("dial failed to %s",l.multiaddrs.map(p=>p.toString()).join(", "),d),n!=null)try{await this.peerStore.patch(n,{metadata:{[Vo]:So(Date.now().toString())}})}catch(p){this.log.error("could not update last dial failure key for %p",n,p)}throw o.aborted?new S(d.message,_s):d}),this.pendingDials.push(l);let f=await l.promise;return c=Array.from(this.connections.values()).flat().find(d=>r.force===!0?!1:d.id!==f.id&&d.remoteAddr.equals(f.remoteAddr)),c!=null?(this.log("already connected to %a",c.remoteAddr),await f.close(),c):(this.log("connection opened to %a",f.remoteAddr),f)}createDialAbortControllers(e){let r=Yo([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);return ht(1/0,r),r}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new S("Tried to dial self",F.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new S("The dial request is blocked by gater.allowDialPeer",F.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){this.log("loading multiaddrs for %p",e);try{let l=await this.peerStore.get(e);r.push(...l.addresses),this.log("loaded multiaddrs for %p",e,r.map(({multiaddr:f})=>f.toString()))}catch(l){if(l.code!==F.ERR_NOT_FOUND)throw l}}}let i=(await Promise.all(r.map(async l=>{let f=await Pl(l.multiaddr,{...n,log:this.log});return f.length===1&&f[0].equals(l.multiaddr)?l:f.map(d=>({multiaddr:d,isCertified:!1}))}))).flat();if(e!=null){let l=`/p2p/${e.toString()}`;i=i.map(f=>f.multiaddr.protos().pop()?.path===!0?f:f.multiaddr.getPeerId()==null?{multiaddr:f.multiaddr.encapsulate(l),isCertified:f.isCertified}:f)}let s=i.filter(l=>{if(this.transportManager.transportForMultiaddr(l.multiaddr)==null)return!1;let f=l.multiaddr.getPeerId();return e!=null&&f!=null?e.equals(f):!0}),o=new Map;for(let l of s){let f=l.multiaddr.toString(),d=o.get(f);if(d!=null){d.isCertified=d.isCertified||l.isCertified||!1;continue}o.set(f,l)}let a=[...o.values()];if((a.length===0||a.length>this.maxPeerAddrsToDial)&&(this.log("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:l})=>l.toString())),this.log("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:l})=>l.toString()))),a.length===0)throw new S("The dial request has no valid addresses",F.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new S("dial with more addresses than allowed",F.ERR_TOO_MANY_ADDRESSES);let c=[];for(let l of a)this.connectionGater.denyDialMultiaddr!=null&&await this.connectionGater.denyDialMultiaddr(l.multiaddr)||c.push(l);let u=c.sort(this.addressSorter);if(u.length===0)throw new S("The connection gater denied all addresses in the dial request",F.ERR_NO_VALID_ADDRESSES);return u}async performDial(e,r={}){let n=e.multiaddrs.map(()=>new AbortController);try{let i=new ui({concurrency:1});i.on("error",o=>{this.log.error("error dialing %s %o",e.multiaddrs,o)});let s=await Promise.any(e.multiaddrs.map(async(o,a)=>{let c=n[a];if(c==null)throw new S("dialAction did not come with an AbortController",F.ERR_INVALID_PARAMETERS);let u=Wm(c.signal,r.signal);u.addEventListener("abort",()=>{this.log("dial to %a aborted",o)});let l=Ae();return await i.add(async()=>{if(u.aborted){this.log("dial to %a was aborted before reaching the head of the peer dial queue",o),l.reject(new Cn);return}await this.queue.add(async()=>{try{if(u.aborted){this.log("dial to %a was aborted before reaching the head of the dial queue",o),l.reject(new Cn);return}e.status="active";let f=await this.transportManager.dial(o,{...r,signal:u});if(c.signal.aborted){this.log("multiple dials succeeded, closing superfluous connection"),f.close().catch(d=>{this.log.error("error closing superfluous connection",d)}),l.reject(new Cn);return}n[a]=void 0,n.forEach(d=>{d!==void 0&&d.abort()}),this.log("dial to %a succeeded",o),l.resolve(f)}catch(f){this.log.error("error during dial of %a",o,f),l.reject(f)}},{...r,signal:u}).catch(f=>{l.reject(f)})},{signal:u}).catch(f=>{l.reject(f)}).finally(()=>{u.clear()}),l.promise}));if(s==null)throw new S("successful dial led to empty object returned from peer dial queue",F.ERR_TRANSPORT_DIAL_FAILED);return e.status="success",s}catch(i){throw e.status="error",e.multiaddrs.length===1&&i.name==="AggregateError"?i.errors[0]:i}}};function Cv(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var Bv=50,bn={minConnections:$o,maxConnections:zo,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0,autoDialMaxQueueLength:100},Zo=class{started;connections;allow;deny;maxIncomingPendingConnections;incomingPendingConnections;maxConnections;dialQueue;autoDial;connectionPruner;inboundConnectionRateLimiter;peerStore;metrics;events;log;constructor(e,r={}){this.maxConnections=r.maxConnections??bn.maxConnections;let n=r.minConnections??bn.minConnections;if(this.maxConnections<n)throw new S("Connection Manager maxConnections must be greater than minConnections",F.ERR_INVALID_PARAMETERS);this.connections=new je,this.started=!1,this.peerStore=e.peerStore,this.metrics=e.metrics,this.events=e.events,this.log=e.logger.forComponent("libp2p:connection-manager"),this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.events.addEventListener("connection:open",this.onConnect),this.events.addEventListener("connection:close",this.onDisconnect),this.allow=(r.allow??[]).map(i=>De(i)),this.deny=(r.deny??[]).map(i=>De(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??bn.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new Ym.RateLimiterMemory({points:r.inboundConnectionThreshold??bn.inboundConnectionThreshold,duration:1}),this.autoDial=new Go({connectionManager:this,peerStore:e.peerStore,events:e.events,logger:e.logger},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??bn.autoDialConcurrency,autoDialPriority:r.autoDialPriority??bn.autoDialPriority,maxQueueLength:r.autoDialMaxQueueLength??bn.autoDialMaxQueueLength}),this.connectionPruner=new Wo({connectionManager:this,peerStore:e.peerStore,events:e.events,logger:e.logger},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new Xo({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater,logger:e.logger},{addressSorter:r.addressSorter??ri,maxParallelDials:r.maxParallelDials??Ho,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:ni},connections:this.connections})}isStarted(){return this.started}async start(){this.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let e={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.direction==="inbound"?e.inbound++:e.outbound++;return e}}),this.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let e={};for(let r of this.connections.values())for(let n of r)for(let i of n.streams){let s=`${i.direction} ${i.protocol??"unnegotiated"}`;e[s]=(e[s]??0)+1}return e}}),this.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let e={};for(let n of this.connections.values())for(let i of n){let s={};for(let o of i.streams){let a=`${o.direction} ${o.protocol??"unnegotiated"}`;s[a]=(s[a]??0)+1}for(let[o,a]of Object.entries(s))e[o]=e[o]??[],e[o].push(a)}let r={};for(let[n,i]of Object.entries(e)){i=i.sort((o,a)=>o-a);let s=Math.floor(i.length*.9);r[n]=i[s]}return r}}),this.dialQueue.start(),this.autoDial.start(),this.started=!0,this.log("started")}async afterStart(){Promise.resolve().then(async()=>{let e=await this.peerStore.all({filters:[r=>r.tags.has(bh)]});await Promise.all(e.map(async r=>{await this.openConnection(r.id).catch(n=>{this.log.error(n)})}))}).catch(e=>{this.log.error(e)}),this.autoDial.afterStart()}async stop(){this.dialQueue.stop(),this.autoDial.stop();let e=[];for(let r of this.connections.values())for(let n of r)e.push((async()=>{try{await n.close()}catch(i){this.log.error(i)}})());this.log("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),this.log("stopped")}onConnect(e){this._onConnect(e).catch(r=>{this.log.error(r)})}async _onConnect(e){let{detail:r}=e;if(!this.started){await r.close();return}let n=r.remotePeer,i=this.connections.get(n),s=!1;i!=null?i.push(r):(s=!0,this.connections.set(n,[r])),n.publicKey!=null&&n.type==="RSA"&&await this.peerStore.patch(n,{publicKey:n.publicKey}),s&&this.events.safeDispatchEvent("peer:connect",{detail:r.remotePeer})}onDisconnect(e){let{detail:r}=e;if(!this.started)return;let n=r.remotePeer,i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(s=>s.id!==r.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.events.safeDispatchEvent("peer:disconnect",{detail:r.remotePeer}))}getConnections(e){if(e!=null)return this.connections.get(e)??[];let r=[];for(let n of this.connections.values())r=r.concat(n);return r}getConnectionsMap(){return this.connections}async openConnection(e,r={}){if(!this.isStarted())throw new S("Not started",F.ERR_NODE_NOT_STARTED);r.signal?.throwIfAborted();let{peerId:n}=Ko(e);if(n!=null&&r.force!==!0){this.log("dial %p",n);let a=this.getConnections(n).find(c=>!c.transient);if(a!=null)return this.log("had an existing non-transient connection to %p",n),a}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??Bv}),s=this.connections.get(i.remotePeer);s==null&&(s=[],this.connections.set(i.remotePeer,s));let o=!1;for(let a of s)a.id===i.id&&(o=!0);return o||s.push(i),i}async closeConnections(e,r={}){let n=this.connections.get(e)??[];await Promise.all(n.map(async i=>{try{await i.close(r)}catch(s){i.abort(s)}}))}async acceptIncomingConnection(e){if(this.deny.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.log("connection from %a refused - connection remote address was in deny list",e.remoteAddr),!1;if(this.allow.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.maxIncomingPendingConnections)return this.log("connection from %a refused - incomingPendingConnections exceeded by host",e.remoteAddr),!1;if(e.remoteAddr.isThinWaistAddress()){let i=e.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return this.log("connection from %a refused - inboundConnectionThreshold exceeded by host %s",e.remoteAddr,i),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(this.log("connection from %a refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var jo=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||e-1&e)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}isEmpty(){return this.buffer[this.btm]===void 0}},li=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new jo(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new jo(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var kl=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Qm(t={}){return Lv(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function Lv(t,e){e=e??{};let r=e.onEnd,n=new li,i,s,o,a=Ae(),c=async()=>{try{return n.isEmpty()?o?{done:!0}:await new Promise((g,y)=>{s=x=>{s=null,n.push(x);try{g(t(n))}catch(b){y(b)}return i}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=Ae()})}},u=g=>s!=null?s(g):(n.push(g),i),l=g=>(n=new li,s!=null?s({error:g}):(n.push({error:g}),i)),f=g=>{if(o)return i;if(e?.objectMode!==!0&&g?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:g})},d=g=>o?i:(o=!0,g!=null?l(g):u({done:!0})),p=()=>(n=new li,d(),{done:!0}),h=g=>(d(g),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:p,throw:h,push:f,end:d,get readableLength(){return n.size},onEmpty:async g=>{let y=g?.signal;if(y?.throwIfAborted(),n.isEmpty())return;let x,b;y!=null&&(x=new Promise((I,v)=>{b=()=>{v(new kl)},y.addEventListener("abort",b)}));try{await Promise.race([a.promise,x])}finally{b!=null&&y!=null&&y?.removeEventListener("abort",b)}}},r==null)return i;let m=i;return i={[Symbol.asyncIterator](){return this},next(){return m.next()},throw(g){return m.throw(g),r!=null&&(r(g),r=void 0),{done:!0}},return(){return m.return(),r!=null&&(r(),r=void 0),{done:!0}},push:f,end(g){return m.end(g),r!=null&&(r(g),r=void 0),i},get readableLength(){return m.readableLength},onEmpty:g=>m.onEmpty(g)},i}function Pv(t){return t[Symbol.asyncIterator]!=null}function Dv(...t){let e=[];for(let r of t)Pv(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=Qm({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var Ji=Dv;var Jo=globalThis.CustomEvent??Event;async function*es(t,e={}){let r=e.concurrency??1/0;r<1&&(r=1/0);let n=e.ordered==null?!1:e.ordered,i=new EventTarget,s=[],o=Ae(),a=Ae(),c=!1,u,l=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let h of t){if(s.length===r&&(o=Ae(),await o.promise),l)break;let m={done:!1};s.push(m),h().then(g=>{m.done=!0,m.ok=!0,m.value=g,i.dispatchEvent(new Jo("task-complete"))},g=>{m.done=!0,m.err=g,i.dispatchEvent(new Jo("task-complete"))})}c=!0,i.dispatchEvent(new Jo("task-complete"))}catch(h){u=h,i.dispatchEvent(new Jo("task-complete"))}});function f(){return n?s[0]?.done:!!s.find(h=>h.done)}function*d(){for(;s.length>0&&s[0].done;){let h=s[0];if(s.shift(),h.ok)yield h.value;else throw l=!0,o.resolve(),h.err;o.resolve()}}function*p(){for(;f();)for(let h=0;h<s.length;h++)if(s[h].done){let m=s[h];if(s.splice(h,1),h--,m.ok)yield m.value;else throw l=!0,o.resolve(),m.err;o.resolve()}}for(;;){if(f()||(a=Ae(),await a.promise),u!=null)throw u;if(n?yield*d():yield*p(),c&&s.length===0)break}}var ea=class{log;routers;started;components;constructor(e,r){this.log=e.logger.forComponent("libp2p:content-routing"),this.routers=r.routers??[],this.started=!1,this.components=e}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(e,r={}){if(this.routers.length===0)throw new S("No content routers available",F.ERR_NO_ROUTERS_AVAILABLE);let n=this,i=new St;for await(let s of es(async function*(){let o=Ji(...n.routers.map(a=>a.findProviders(e,r)));for await(let a of o)yield async()=>{if(a.multiaddrs.length===0)try{a=await n.components.peerRouting.findPeer(a.id,{...r,useCache:!1})}catch(c){n.log.error("could not find peer multiaddrs",c);return}return a}}()))s!=null&&s.multiaddrs.length!==0&&(await this.components.peerStore.merge(s.id,{multiaddrs:s.multiaddrs}),!i.has(s.id)&&(i.add(s.id),yield s))}async provide(e,r={}){if(this.routers.length===0)throw new S("No content routers available",F.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>{await n.provide(e,r)}))}async put(e,r,n){if(!this.isStarted())throw new S(gr.NOT_STARTED_YET,F.ERR_NODE_NOT_STARTED);await Promise.all(this.routers.map(async i=>{await i.put(e,r,n)}))}async get(e,r){if(!this.isStarted())throw new S(gr.NOT_STARTED_YET,F.ERR_NODE_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(e,r)))}};var ta=class{log;peerId;peerStore;routers;constructor(e,r){this.log=e.logger.forComponent("libp2p:peer-routing"),this.peerId=e.peerId,this.peerStore=e.peerStore,this.routers=r.routers??[]}async findPeer(e,r){if(this.routers.length===0)throw new S("No peer routers available",F.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.peerId.toString())throw new S("Should not try to find self",F.ERR_FIND_SELF);let n=this,i=Ji(...this.routers.map(s=>async function*(){try{yield await s.findPeer(e,r)}catch(o){n.log.error(o)}}()));for await(let s of i)if(s!=null)return await this.peerStore.merge(s.id,{multiaddrs:s.multiaddrs}),s;throw new S(gr.NOT_FOUND,F.ERR_NOT_FOUND)}async*getClosestPeers(e,r={}){if(this.routers.length===0)throw new S("No peer routers available",F.ERR_NO_ROUTERS_AVAILABLE);let n=this,i=new St;for await(let s of es(async function*(){let o=Ji(...n.routers.map(a=>a.getClosestPeers(e,r)));for await(let a of o)yield async()=>{if(a.multiaddrs.length===0)try{a=await n.findPeer(a.id,{...r,useCache:!1})}catch(c){n.log.error("could not find peer multiaddrs",c);return}return a}}()))s!=null&&s.multiaddrs.length!==0&&(await this.peerStore.merge(s.id,{multiaddrs:s.multiaddrs}),!i.has(s.id)&&(i.add(s.id),yield s))}};var Ol=32,Ml=64,ra=class{log;topologies;handlers;components;constructor(e){this.log=e.logger.forComponent("libp2p:registrar"),this.topologies=new Map,this.handlers=new Map,this.components=e,this._onDisconnect=this._onDisconnect.bind(this),this._onPeerUpdate=this._onPeerUpdate.bind(this),this._onPeerIdentify=this._onPeerIdentify.bind(this),this.components.events.addEventListener("peer:disconnect",this._onDisconnect),this.components.events.addEventListener("peer:update",this._onPeerUpdate),this.components.events.addEventListener("peer:identify",this._onPeerIdentify)}getProtocols(){return Array.from(new Set([...this.handlers.keys()])).sort()}getHandler(e){let r=this.handlers.get(e);if(r==null)throw new S(`No handler registered for protocol ${e}`,F.ERR_NO_HANDLER_FOR_PROTOCOL);return r}getTopologies(e){let r=this.topologies.get(e);return r==null?[]:[...r.values()]}async handle(e,r,n){if(this.handlers.has(e))throw new S(`Handler already registered for protocol ${e}`,F.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=Mo.bind({ignoreUndefined:!0})({maxInboundStreams:Ol,maxOutboundStreams:Ml},n);this.handlers.set(e,{handler:r,options:i}),await this.components.peerStore.merge(this.components.peerId,{protocols:[e]})}async unhandle(e){(Array.isArray(e)?e:[e]).forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.patch(this.components.peerId,{protocols:this.getProtocols()})}async register(e,r){if(r==null)throw new S("invalid topology",F.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(e);return i==null&&(i=new Map,this.topologies.set(e,i)),i.set(n,r),n}unregister(e){for(let[r,n]of this.topologies.entries())n.has(e)&&(n.delete(e),n.size===0&&this.topologies.delete(r))}_onDisconnect(e){let r=e.detail;this.components.peerStore.get(r).then(n=>{for(let i of n.protocols){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onDisconnect?.(r)}}).catch(n=>{n.code!==F.ERR_NOT_FOUND&&this.log.error("could not inform topologies of disconnecting peer %p",r,n)})}_onPeerUpdate(e){let{peer:r,previous:n}=e.detail,i=(n?.protocols??[]).filter(s=>!r.protocols.includes(s));for(let s of i){let o=this.topologies.get(s);if(o!=null)for(let a of o.values())a.onDisconnect?.(r.id)}}_onPeerIdentify(e){let r=e.detail.protocols,n=e.detail.connection,i=e.detail.peerId;for(let s of r){let o=this.topologies.get(s);if(o!=null)for(let a of o.values())n.transient&&a.notifyOnTransient!==!0||a.onConnect?.(i,n)}}};var Ul=class extends Map{metric;constructor(e){super();let{name:r,metrics:n}=e;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(e,r){return super.set(e,r),this.updateComponentMetric(),this}delete(e){let r=super.delete(e);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function Xm(t){let{name:e,metrics:r}=t,n;return r!=null?n=new Ul({name:e,metrics:r}):n=new Map,n}var na=class{log;components;transports;listeners;faultTolerance;started;constructor(e,r={}){this.log=e.logger.forComponent("libp2p:transports"),this.components=e,this.started=!1,this.transports=new Map,this.listeners=Xm({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??Er.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new S("Transport must have a valid tag",F.ERR_INVALID_KEY);if(this.transports.has(r))throw new S(`There is already a transport with the tag ${r}`,F.ERR_DUPLICATE_TRANSPORT);this.log("adding transport %s",r),this.transports.set(r,e),this.listeners.has(r)||this.listeners.set(r,[])}isStarted(){return this.started}start(){this.started=!0}async afterStart(){let e=this.components.addressManager.getListenAddrs();await this.listen(e)}async stop(){let e=[];for(let[r,n]of this.listeners)for(this.log("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),this.log("all listeners closed");for(let r of this.listeners.keys())this.listeners.set(r,[]);this.started=!1}async dial(e,r){let n=this.transportForMultiaddr(e);if(n==null)throw new S(`No transport available for address ${String(e)}`,F.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=F.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 Array.of(...this.transports.values())}getListeners(){return Array.of(...this.listeners.values()).flat()}transportForMultiaddr(e){for(let r of this.transports.values())if(r.filter([e]).length>0)return r}async listen(e){if(!this.isStarted())throw new S("Not started",F.ERR_NODE_NOT_STARTED);if(e==null||e.length===0){this.log("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){this.log("creating listener for %s on %a",n,u);let l=i.createListener({upgrader:this.components.upgrader}),f=this.listeners.get(n)??[];f==null&&(f=[],this.listeners.set(n,f)),f.push(l),l.addEventListener("listening",()=>{this.components.events.safeDispatchEvent("transport:listening",{detail:l})}),l.addEventListener("close",()=>{let d=f.findIndex(p=>p===l);f.splice(d,1),this.components.events.safeDispatchEvent("transport:close",{detail:l})}),o.push(l.listen(u))}if(o.length===0){r.push(n);continue}if((await Promise.allSettled(o)).find(u=>u.status==="fulfilled")==null&&this.faultTolerance!==Er.NO_FATAL)throw new S(`Transport (${n}) could not listen on any available address`,F.ERR_NO_VALID_ADDRESSES)}if(r.length===this.transports.size){let n=`no valid addresses were provided for transports [${r.join(", ")}]`;if(this.faultTolerance===Er.FATAL_ALL)throw new S(n,F.ERR_NO_VALID_ADDRESSES);this.log(`libp2p in dial mode only: ${n}`)}}async remove(e){let r=this.listeners.get(e)??[];this.log.trace("removing transport %s",e);let n=[];for(this.log.trace("closing listeners for %s",e);r.length>0;){let i=r.pop();i!=null&&n.push(i.close())}await Promise.all(n),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)}};var Ye="/multistream/1.0.0";var ia=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=r??"ABORT_ERR"}};async function sa(t,e,r){if(e==null)return t;if(e.aborted)return Promise.reject(new ia(r?.errorMessage,r?.errorCode));let n,i=new ia(r?.errorMessage,r?.errorCode);try{return await Promise.race([t,new Promise((s,o)=>{n=()=>{o(i)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var Fl=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=Ae(),this.haveNext=Ae()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let e=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=Ae(),e}async throw(e){return this.ended=!0,e!=null&&this.haveNext.reject(e),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return await this._push(void 0),e}async push(e,r){await this._push(e,r)}async end(e,r){e!=null?await this.throw(e):await this._push(void 0,r)}async _push(e,r){if(e!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");this.nextResult!=null&&await this.needNext.promise,e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=Ae(),await sa(this.needNext.promise,r?.signal,r)}};function Zm(){return new Fl}var oa=class extends Error{code;constructor(e,r){super(e),this.code=r}},Kl=class extends oa{type;constructor(e){super(e,"ABORT_ERR"),this.type="aborted"}};function jm(t,e){let r=Zm();t.sink(r).catch(async o=>{await r.end(o)}),t.sink=async o=>{for await(let a of o)await r.push(a);await r.end()};let n=t.source;t.source[Symbol.iterator]!=null?n=t.source[Symbol.iterator]():t.source[Symbol.asyncIterator]!=null&&(n=t.source[Symbol.asyncIterator]());let i=new Fe;return{read:async(o,a)=>{a?.signal?.throwIfAborted();let c,u=new Promise((l,f)=>{c=()=>{f(new Kl("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(o==null){let{done:f,value:d}=await Promise.race([n.next(),u]);return f===!0?new Fe:d}for(;i.byteLength<o;){let{value:f,done:d}=await Promise.race([n.next(),u]);if(d===!0)throw new oa("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(f)}let l=i.sublist(0,o);return i.consume(o),l}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(o,a)=>{a?.signal?.throwIfAborted(),o instanceof Uint8Array?await r.push(o,a):await r.push(o.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let o=t.source;t.source=async function*(){e?.yieldBytes===!1?yield i:yield*i,yield*o}()}return t}}}function aa(t){return t[Symbol.asyncIterator]!=null}var ca=t=>{let e=et(t),r=Ze(e);return ut(t,r),ca.bytes=e,r};ca.bytes=0;function wn(t,e){e=e??{};let r=e.lengthEncoder??ca;function*n(i){let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return aa(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}wn.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??ca;return new Fe(r(t.byteLength),t)};var fi=we(Wu(),1);var Nv=8,kv=1024*1024*4,En;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(En||(En={}));var Vl=t=>{let e=Mt(t);return Vl.bytes=et(e),e};Vl.bytes=0;function ql(t,e){let r=new Fe,n=En.LENGTH,i=-1,s=e?.lengthDecoder??Vl,o=e?.maxLengthLength??Nv,a=e?.maxDataLength??kv;function*c(){for(;r.byteLength>0;){if(n===En.LENGTH)try{if(i=s(r),i<0)throw(0,fi.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,fi.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=s.bytes;r.consume(u),e?.onLength!=null&&e.onLength(i),n=En.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>o)throw(0,fi.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===En.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=En.LENGTH}}}return aa(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,fi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,fi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}ql.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:s,value:o}=await t.next(r);if(s===!0)return;o!=null&&(yield o)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{r=1}}();return ql(n,{...e??{},onLength:s=>{r=s}})};var ua=class extends Error{code;constructor(e,r){super(e),this.code=r}},Jm=t=>Mt(t);Jm.bytes=0;function ts(t,e={}){let r=jm(t,e);return e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=et(e.maxDataLength)),{read:async i=>{let s=-1,o=new Fe,a=e?.lengthDecoder??Jm;for(;;){o.append(await r.read(1,i));try{s=a(o)}catch(c){if(c instanceof RangeError)continue;throw c}if(e?.maxLengthLength!=null&&o.byteLength>e.maxLengthLength)throw new ua("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(s>-1)break}if(e?.maxDataLength!=null&&s>e.maxDataLength)throw new ua("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(s,i)},write:async(i,s)=>{await r.write(wn.single(i,e),s)},writeV:async(i,s)=>{let o=new Fe(...i.map(a=>wn.single(a,e)));await r.write(o,s)},unwrap:()=>r.unwrap()}}function la(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function eg(t=0){return globalThis.Buffer?.allocUnsafe!=null?la(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function rg(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var tg=rg("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),$l=rg("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=eg(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),Mv={utf8:tg,"utf-8":tg,hex:de.base16,latin1:$l,ascii:$l,binary:$l,...de},fa=Mv;function rt(t,e="utf8"){let r=fa[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?la(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function ng(t,e="utf8"){let r=fa[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var Uv=rt(`
|
|
49
|
-
`);async function
|
|
48
|
+
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),$A=new RegExp(`(?:^${Mt}$)|(?:^${$o}$)`),zA=new RegExp(`^${Mt}$`),HA=new RegExp(`^${$o}$`),Ul=t=>t&&t.exact?$A:new RegExp(`(?:${Fr(t)}${Mt}${Fr(t)})|(?:${Fr(t)}${$o}${Fr(t)})`,"g");Ul.v4=t=>t&&t.exact?zA:new RegExp(`${Fr(t)}${Mt}${Fr(t)}`,"g");Ul.v6=t=>t&&t.exact?HA:new RegExp(`${Fr(t)}${$o}${Fr(t)}`,"g");var Pm=Ul;var Mm=Ee(km(),1),{isValid:GA,parse:WA}=Mm.default,YA=["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"],QA=YA.map(t=>new Um.Netmask(t));function XA(t){for(let e of QA)if(e.contains(t))return!0;return!1}function Om(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)}var Fm=t=>{if(GA(t)){let e=WA(t);if(e.kind()==="ipv4")return XA(e.toNormalizedString());if(e.kind()==="ipv6")return Om(t)}else if(oi(t)&&Pm.v6().test(t))return Om(t)};var Ho=Fm;function Km(t={}){return{denyDialPeer:async()=>!1,denyDialMultiaddr:async e=>{let r=e.stringTuples();return r[0][0]===4||r[0][0]===41?!!Ho(`${r[0][1]}`):!1},denyInboundConnection:async()=>!1,denyOutboundConnection:async()=>!1,denyInboundEncryptedConnection:async()=>!1,denyOutboundEncryptedConnection:async()=>!1,denyInboundUpgradedConnection:async()=>!1,denyOutboundUpgradedConnection:async()=>!1,filterMultiaddrForPeer:async()=>!0,...t}}function ZA(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 m=0,g=0,y=0,x=h.length;y!==x&&h[y]===0;)y++,m++;for(var b=(x-y)*l+1>>>0,S=new Uint8Array(b);y!==x;){for(var E=h[y],A=0,C=b-1;(E!==0||A<g)&&C!==-1;C--,A++)E+=256*S[C]>>>0,S[C]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");g=A,y++}for(var R=b-g;R!==b&&S[R]===0;)R++;for(var V=c.repeat(m);R<b;++R)V+=t.charAt(S[R]);return V}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var m=0;if(h[m]!==" "){for(var g=0,y=0;h[m]===c;)g++,m++;for(var x=(h.length-m)*u+1>>>0,b=new Uint8Array(x);h[m];){var S=r[h.charCodeAt(m)];if(S===255)return;for(var E=0,A=x-1;(S!==0||E<y)&&A!==-1;A--,E++)S+=a*b[A]>>>0,b[A]=S%256>>>0,S=S/256>>>0;if(S!==0)throw new Error("Non-zero carry");y=E,m++}if(h[m]!==" "){for(var C=x-y;C!==x&&b[C]===0;)C++;for(var R=new Uint8Array(g+(x-C)),V=g;C!==x;)R[V++]=b[C++];return R}}}function p(h){var m=d(h);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:f,decodeUnsafe:d,decode:p}}var jA=ZA,JA=jA,qm=JA;var tP=new Uint8Array(0);var Vm=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")};var Ml=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")}},Fl=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return $m(this,e)}},Kl=class{constructor(e){this.decoders=e}or(e){return $m(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`)}},$m=(t,e)=>new Kl({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),ql=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Ml(e,r,n),this.decoder=new Fl(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},zm=({name:t,prefix:e,encode:r,decode:n})=>new ql(t,e,r,n),Vl=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=qm(r,e);return zm({prefix:t,name:e,encode:n,decode:s=>Vm(i(s))})},eS=(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},tS=(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},os=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>zm({prefix:e,name:t,encode(i){return tS(i,n,r)},decode(i){return eS(i,n,r,t)}});var Hm=Vl({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),aP=Vl({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var lP=os({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),fP=os({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Gm=os({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),hP=os({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var rS=t=>t.toString().split("/").slice(1),as=t=>({match:e=>e.length<1?!1:t(e[0])?e.slice(1):!1,pattern:"fn"}),Te=t=>({match:e=>as(r=>r===t).match(e),pattern:t}),Yo=()=>({match:t=>as(e=>typeof e=="string").match(t),pattern:"{string}"}),Wm=()=>({match:t=>as(e=>!isNaN(parseInt(e))).match(t),pattern:"{number}"}),It=()=>({match:t=>{if(t.length<2||t[0]!=="p2p"&&t[0]!=="ipfs")return!1;if(t[1].startsWith("Q")||t[1].startsWith("1"))try{Hm.decode(`z${t[1]}`)}catch{return!1}else return!1;return t.slice(2)},pattern:"/p2p/{peerid}"}),Go=()=>({match:t=>{if(t.length<2||t[0]!=="certhash")return!1;try{Gm.decode(t[1])}catch{return!1}return t.slice(2)},pattern:"/certhash/{certhash}"}),Zt=t=>({match:e=>{let r=t.match(e);return r===!1?e:r},pattern:`optional(${t.pattern})`}),jt=(...t)=>({match:e=>{let r;for(let n of t){let i=n.match(e);i!==!1&&(r==null||i.length<r.length)&&(r=i)}return r??!1},pattern:`or(${t.map(e=>e.pattern).join(", ")})`}),Re=(...t)=>({match:e=>{for(let r of t){let n=r.match(e);if(n===!1)return!1;e=n}return e},pattern:`and(${t.map(e=>e.pattern).join(", ")})`});function Oe(...t){function e(i){let s=rS(i);for(let o of t){let a=o.match(s);if(a===!1)return!1;s=a}return s}function r(i){return e(i)!==!1}function n(i){let s=e(i);return s===!1?!1:s.length===0}return{matches:r,exactMatch:n}}var zl=Re(Te("dns4"),Yo()),Hl=Re(Te("dns6"),Yo()),Gl=Re(Te("dnsaddr"),Yo()),Ym=Re(Te("dns"),Yo()),xP=Oe(zl),bP=Oe(Hl),wP=Oe(Gl),EP=Oe(jt(Ym,Gl,zl,Hl)),Qm=Re(Te("ip4"),as(Eo)),Xm=Re(Te("ip6"),as(vo)),Zm=jt(Qm,Xm),cs=jt(Zm,Ym,zl,Hl,Gl),vP=Oe(cs),AP=Oe(Qm),SP=Oe(Xm),_P=Oe(Zm),Qo=Re(cs,Te("tcp"),Wm()),us=Re(cs,Te("udp"),Wm()),nS=jt(Qo,us),IP=Oe(Qo),CP=Oe(us),Wl=Re(us,Te("quic")),Xo=Re(us,Te("quic-v1")),iS=jt(Wl,Xo),TP=Oe(Wl),RP=Oe(Xo),$l=jt(cs,Qo,us,Wl,Xo),jm=jt(Re($l,Te("ws"),Zt(It()))),BP=Oe(jm),Jm=jt(Re($l,Te("wss"),Zt(It())),Re($l,Te("tls"),Te("ws"),Zt(It()))),LP=Oe(Jm),eg=Re(nS,Te("webrtc-direct"),Go(),Zt(Go()),Zt(It())),DP=Oe(eg),tg=Re(Xo,Te("webtransport"),Go(),Go(),Zt(It())),PP=Oe(tg),Wo=jt(jm,Jm,Re(Qo,Zt(It())),Re(iS,Zt(It())),Re(cs,Zt(It())),eg,tg,It()),NP=Oe(Wo),sS=Re(Wo,Te("p2p-circuit"),It()),Yl=Oe(sS),oS=jt(Re(Wo,Te("p2p-circuit"),Te("webrtc"),It()),Re(Wo,Te("webrtc"),Zt(It())),Te("webrtc")),kP=Oe(oS);function Ql(t){try{let{address:e}=t.nodeAddress();return!!Ho(e)}catch{return!0}}function aS(t,e){let r=Ql(t.multiaddr),n=Ql(e.multiaddr);return r&&!n?1:!r&&n?-1:0}function cS(t,e){return t.isCertified&&!e.isCertified?-1:!t.isCertified&&e.isCertified?1:0}function uS(t,e){let r=Yl.exactMatch(t.multiaddr),n=Yl.exactMatch(e.multiaddr);return r&&!n?1:!r&&n?-1:0}function di(t,e){let r=aS(t,e);if(r!==0)return r;let n=uS(t,e);return n!==0?n:cS(t,e)}var Zl=Ee($u(),1),jl=Ee(ig(),1);function Zo(t,e,r){return`${t}?name=${e}&type=${r}`}async function sg(t,e){return await(await fetch(t,{headers:new Headers({accept:"application/dns-json"}),signal:e})).json()}function vn(t,e){return`${e}_${t}`}var Xl=Object.assign((0,Zl.default)("dns-over-http-resolver"),{error:(0,Zl.default)("dns-over-http-resolver:error")}),Jl=class{_cache;_TXTcache;_servers;_request;_abortControllers;constructor(e={}){this._cache=new jl.default({max:e?.maxCache??100}),this._TXTcache=new jl.default({max:e?.maxCache??100}),this._servers=["https://cloudflare-dns.com/dns-query","https://dns.google/resolve"],this._request=e.request??sg,this._abortControllers=[]}cancel(){this._abortControllers.forEach(e=>{e.abort()})}getServers(){return this._servers}_getShuffledServers(){let e=[...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}async 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(vn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(Zo(s,e,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(vn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),Xl.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryA ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolve6(e){let r="AAAA",n=this._cache.get(vn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(Zo(s,e,r),o.signal),c=a.Answer.map(l=>l.data),u=Math.min(...a.Answer.map(l=>l.TTL));return this._cache.set(vn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),Xl.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryAaaa ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}async resolveTxt(e){let r="TXT",n=this._TXTcache.get(vn(e,r));if(n!=null)return n;let i=!1;for(let s of this._getShuffledServers()){let o=new AbortController;this._abortControllers.push(o);try{let a=await this._request(Zo(s,e,r),o.signal),c=a.Answer.map(l=>[l.data.replace(/['"]+/g,"")]),u=Math.min(...a.Answer.map(l=>l.TTL));return this._TXTcache.set(vn(e,r),c,{ttl:u}),c}catch{o.signal.aborted&&(i=!0),Xl.error(`${s} could not resolve ${e} record ${r}`)}finally{this._abortControllers=this._abortControllers.filter(a=>a!==o)}}throw i?Object.assign(new Error("queryTxt ECANCELLED"),{code:"ECANCELLED"}):new Error(`Could not resolve ${e} record ${r}`)}clearCache(){this._cache.clear(),this._TXTcache.clear()}},og=Jl;var ag=og;var{code:pS}=ue("dnsaddr");async function pi(t,e={}){let r=new ag;e.signal!=null&&e.signal.addEventListener("abort",()=>{r.cancel()});let n=t.getPeerId(),[,i]=t.stringTuples().find(([a])=>a===pS)??[];if(i==null)throw new Error("No hostname found in multiaddr");let o=(await r.resolveTxt(`_dnsaddr.${i}`)).flat().map(a=>a.split("=")[1]).filter(Boolean);return n!=null&&(o=o.filter(a=>a.includes(n))),o}var gg=Ee(mg(),1),ea=gg.default;var br;(function(t){t.NOT_STARTED_YET="The libp2p node is not started yet",t.ERR_PROTECTOR_REQUIRED="Private network is enforced, but no protector was provided",t.NOT_FOUND="Not found"})(br||(br={}));var F;(function(t){t.ERR_PROTECTOR_REQUIRED="ERR_PROTECTOR_REQUIRED",t.ERR_PEER_DIAL_INTERCEPTED="ERR_PEER_DIAL_INTERCEPTED",t.ERR_CONNECTION_INTERCEPTED="ERR_CONNECTION_INTERCEPTED",t.ERR_INVALID_PROTOCOLS_FOR_STREAM="ERR_INVALID_PROTOCOLS_FOR_STREAM",t.ERR_CONNECTION_ENDED="ERR_CONNECTION_ENDED",t.ERR_CONNECTION_FAILED="ERR_CONNECTION_FAILED",t.ERR_NODE_NOT_STARTED="ERR_NODE_NOT_STARTED",t.ERR_ALREADY_ABORTED="ERR_ALREADY_ABORTED",t.ERR_TOO_MANY_ADDRESSES="ERR_TOO_MANY_ADDRESSES",t.ERR_NO_VALID_ADDRESSES="ERR_NO_VALID_ADDRESSES",t.ERR_RELAYED_DIAL="ERR_RELAYED_DIAL",t.ERR_DIALED_SELF="ERR_DIALED_SELF",t.ERR_DISCOVERED_SELF="ERR_DISCOVERED_SELF",t.ERR_DUPLICATE_TRANSPORT="ERR_DUPLICATE_TRANSPORT",t.ERR_ENCRYPTION_FAILED="ERR_ENCRYPTION_FAILED",t.ERR_HOP_REQUEST_FAILED="ERR_HOP_REQUEST_FAILED",t.ERR_INVALID_KEY="ERR_INVALID_KEY",t.ERR_INVALID_MESSAGE="ERR_INVALID_MESSAGE",t.ERR_INVALID_PARAMETERS="ERR_INVALID_PARAMETERS",t.ERR_INVALID_PEER="ERR_INVALID_PEER",t.ERR_MUXER_UNAVAILABLE="ERR_MUXER_UNAVAILABLE",t.ERR_NOT_FOUND="ERR_NOT_FOUND",t.ERR_TRANSPORT_UNAVAILABLE="ERR_TRANSPORT_UNAVAILABLE",t.ERR_TRANSPORT_DIAL_FAILED="ERR_TRANSPORT_DIAL_FAILED",t.ERR_UNSUPPORTED_PROTOCOL="ERR_UNSUPPORTED_PROTOCOL",t.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED="ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED",t.ERR_INVALID_MULTIADDR="ERR_INVALID_MULTIADDR",t.ERR_SIGNATURE_NOT_VALID="ERR_SIGNATURE_NOT_VALID",t.ERR_FIND_SELF="ERR_FIND_SELF",t.ERR_NO_ROUTERS_AVAILABLE="ERR_NO_ROUTERS_AVAILABLE",t.ERR_CONNECTION_NOT_MULTIPLEXED="ERR_CONNECTION_NOT_MULTIPLEXED",t.ERR_NO_DIAL_TOKENS="ERR_NO_DIAL_TOKENS",t.ERR_INVALID_CMS="ERR_INVALID_CMS",t.ERR_MISSING_KEYS="ERR_MISSING_KEYS",t.ERR_NO_KEY="ERR_NO_KEY",t.ERR_INVALID_KEY_NAME="ERR_INVALID_KEY_NAME",t.ERR_INVALID_KEY_TYPE="ERR_INVALID_KEY_TYPE",t.ERR_KEY_ALREADY_EXISTS="ERR_KEY_ALREADY_EXISTS",t.ERR_INVALID_KEY_SIZE="ERR_INVALID_KEY_SIZE",t.ERR_KEY_NOT_FOUND="ERR_KEY_NOT_FOUND",t.ERR_OLD_KEY_NAME_INVALID="ERR_OLD_KEY_NAME_INVALID",t.ERR_NEW_KEY_NAME_INVALID="ERR_NEW_KEY_NAME_INVALID",t.ERR_PASSWORD_REQUIRED="ERR_PASSWORD_REQUIRED",t.ERR_PEM_REQUIRED="ERR_PEM_REQUIRED",t.ERR_CANNOT_READ_KEY="ERR_CANNOT_READ_KEY",t.ERR_MISSING_PRIVATE_KEY="ERR_MISSING_PRIVATE_KEY",t.ERR_MISSING_PUBLIC_KEY="ERR_MISSING_PUBLIC_KEY",t.ERR_INVALID_OLD_PASS_TYPE="ERR_INVALID_OLD_PASS_TYPE",t.ERR_INVALID_NEW_PASS_TYPE="ERR_INVALID_NEW_PASS_TYPE",t.ERR_INVALID_PASS_LENGTH="ERR_INVALID_PASS_LENGTH",t.ERR_NOT_IMPLEMENTED="ERR_NOT_IMPLEMENTED",t.ERR_WRONG_PING_ACK="ERR_WRONG_PING_ACK",t.ERR_INVALID_RECORD="ERR_INVALID_RECORD",t.ERR_ALREADY_SUCCEEDED="ERR_ALREADY_SUCCEEDED",t.ERR_NO_HANDLER_FOR_PROTOCOL="ERR_NO_HANDLER_FOR_PROTOCOL",t.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS",t.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS="ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS",t.ERR_CONNECTION_DENIED="ERR_CONNECTION_DENIED",t.ERR_TRANSFER_LIMIT_EXCEEDED="ERR_TRANSFER_LIMIT_EXCEEDED"})(F||(F={}));var wS={addresses:{listen:[],announce:[],noAnnounce:[],announceFilter:t=>t},connectionManager:{resolvers:{dnsaddr:pi},addressSorter:di},transportManager:{faultTolerance:Sr.FATAL_ALL}};function yg(t){let e=ea(wS,t);if(e.connectionProtector===null&&globalThis.process?.env?.LIBP2P_FORCE_PNET!=null)throw new _(br.ERR_PROTECTOR_REQUIRED,F.ERR_PROTECTOR_REQUIRED);return e}var xy=Ee(dy(),1);function na(t){if(Us(t))return{peerId:t,multiaddrs:[]};Array.isArray(t)||(t=[t]);let e;if(t.length>0){let r=t[0].getPeerId();e=r==null?void 0:oe(r),t.forEach(n=>{if(!Or(n))throw new _("Invalid Multiaddr",F.ERR_INVALID_MULTIADDR);let i=n.getPeerId();if(i==null){if(e!=null)throw new _("Multiaddrs must all have the same peer id or have no peer id",F.ERR_INVALID_PARAMETERS)}else{let s=oe(i);if(e==null||!e.equals(s))throw new _("Multiaddrs must all have the same peer id or have no peer id",F.ERR_INVALID_PARAMETERS)}})}return{peerId:e,multiaddrs:t}}function Ie(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}function xf(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var fs=class{#e=[];enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&this.#e[this.size-1].priority>=r.priority){this.#e.push(n);return}let i=xf(this.#e,n,(s,o)=>o.priority-s.priority);this.#e.splice(i,0,n)}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}};var hs=class extends yn.default{#e;#i;#s=0;#a;#c;#p=0;#r;#u;#t;#m;#n=0;#l;#o;#g;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:fs,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${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 \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#i=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#g=e.throwOnTimeout===!0,this.#o=e.autoStart===!1}get#b(){return this.#i||this.#s<this.#a}get#w(){return this.#n<this.#l}#E(){this.#n--,this.#f(),this.emit("next")}#v(){this.#x(),this.#y(),this.#u=void 0}get#A(){let e=Date.now();if(this.#r===void 0){let r=this.#p-e;if(r<0)this.#s=this.#e?this.#n:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#v()},r)),!0}return!1}#f(){if(this.#t.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#o){let e=!this.#A;if(this.#b&&this.#w){let r=this.#t.dequeue();return r?(this.emit("active"),r(),e&&this.#y(),!0):!1}}return!1}#y(){this.#i||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#s===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#s=this.#e?this.#n:0,this.#h()}#h(){for(;this.#f(););}get concurrency(){return this.#l}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.#l=e,this.#h()}async#S(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#g,...r},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#n++,this.#s++;try{r.signal?.throwIfAborted();let s=e({signal:r.signal});r.timeout&&(s=yr(Promise.resolve(s),{milliseconds:r.timeout})),r.signal&&(s=Promise.race([s,this.#S(r.signal)]));let o=await s;n(o),this.emit("completed",o)}catch(s){if(s instanceof gr&&!r.throwOnTimeout){n();return}i(s),this.emit("error",s)}finally{this.#E()}},r),this.emit("add"),this.#f()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#o?(this.#o=!1,this.#h(),this):this}pause(){this.#o=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#d("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.size===0||await this.#d("idle")}async#d(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#o}};function a_(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var bf=class{#e=[];enqueue(e,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new _("missing peer id",ic);let s={priority:i,peerId:n,run:e};if(this.size>0&&this.#e[this.size-1].priority>=i){this.#e.push(s);return}let o=a_(this.#e,s,(a,c)=>c.priority-a.priority);this.#e.splice(o,0,s)}dequeue(){return this.#e.shift()?.run}filter(e){if(e.peerId!=null){let r=e.peerId;return this.#e.filter(n=>r.equals(n.peerId)).map(n=>n.run)}return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}},ia=class extends hs{results;constructor(e={}){super({...e,queueClass:bf}),this.results=new je}hasJob(e){return this.sizeBy({peerId:e})>0}async joinJob(e){let r=this.results.get(e);if(r==null)throw new _("No job found for peer id","ERR_NO_JOB_FOR_PEER_ID");return r===!0&&(r=Ie(),this.results.set(e,r)),r.promise}async add(e,r){let n=r?.peerId;if(n==null)throw new _("missing peer id",ic);return this.results.set(r.peerId,!0),super.add(async i=>{try{let s=await e(i),o=this.results.get(n);return o!=null&&o!==!0&&o.resolve(s),s}catch(s){let o=this.results.get(n);throw o!=null&&o!==!0&&o.reject(s),s}finally{this.results.delete(n)}},r)}clear(){this.results.clear(),super.clear()}};function py(t,e="utf8"){let r=Ko[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var sa="last-dial-failure";var oa=5,aa=100,ca=50,my=1e3*60*7;var Sn={minConnections:oa,maxQueueLength:100,autoDialConcurrency:25,autoDialPriority:0,autoDialInterval:5e3,autoDialPeerRetryThreshold:my,autoDialDiscoveredPeersDebounce:10},ua=class{connectionManager;peerStore;queue;minConnections;autoDialPriority;autoDialIntervalMs;autoDialMaxQueueLength;autoDialPeerRetryThresholdMs;autoDialDiscoveredPeersDebounce;autoDialInterval;started;running;log;constructor(e,r){this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.minConnections=r.minConnections??Sn.minConnections,this.autoDialPriority=r.autoDialPriority??Sn.autoDialPriority,this.autoDialIntervalMs=r.autoDialInterval??Sn.autoDialInterval,this.autoDialMaxQueueLength=r.maxQueueLength??Sn.maxQueueLength,this.autoDialPeerRetryThresholdMs=r.autoDialPeerRetryThreshold??Sn.autoDialPeerRetryThreshold,this.autoDialDiscoveredPeersDebounce=r.autoDialDiscoveredPeersDebounce??Sn.autoDialDiscoveredPeersDebounce,this.log=e.logger.forComponent("libp2p:connection-manager:auto-dial"),this.started=!1,this.running=!1,this.queue=new ia({concurrency:r.autoDialConcurrency??Sn.autoDialConcurrency}),this.queue.addListener("error",i=>{this.log.error("error during auto-dial",i)}),e.events.addEventListener("connection:close",()=>{this.autoDial().catch(i=>{this.log.error(i)})});let n;e.events.addEventListener("peer:discovery",()=>{clearTimeout(n),n=setTimeout(()=>{this.autoDial().catch(i=>{this.log.error(i)})},this.autoDialDiscoveredPeersDebounce)})}isStarted(){return this.started}start(){this.started=!0}afterStart(){this.autoDial().catch(e=>{this.log.error("error while autodialing",e)})}stop(){this.queue.clear(),clearTimeout(this.autoDialInterval),this.started=!1,this.running=!1}async autoDial(){if(!this.started||this.running)return;let e=this.connectionManager.getConnectionsMap(),r=e.size;if(r>=this.minConnections){this.minConnections>0&&this.log.trace("have enough connections %d/%d",r,this.minConnections);return}if(this.queue.size>this.autoDialMaxQueueLength){this.log("not enough connections %d/%d but auto dial queue is full",r,this.minConnections),this.sheduleNextAutodial();return}this.running=!0,this.log("not enough connections %d/%d - will dial peers to increase the number of connections",r,this.minConnections);let n=new _t(this.connectionManager.getDialQueue().map(u=>u.peerId).filter(Boolean)),i=await this.peerStore.all({filters:[u=>u.addresses.length===0?(this.log.trace("not autodialing %p because they have no addresses",u.id),!1):e.has(u.id)?(this.log.trace("not autodialing %p because they are already connected",u.id),!1):n.has(u.id)?(this.log.trace("not autodialing %p because they are already being dialed",u.id),!1):this.queue.hasJob(u.id)?(this.log.trace("not autodialing %p because they are already being autodialed",u.id),!1):!0]}),s=i.sort(()=>Math.random()>.5?1:-1),o=new je;for(let u of s)o.has(u.id)||o.set(u.id,[...u.tags.values()].reduce((l,f)=>l+f.value,0));let c=s.sort((u,l)=>{let f=o.get(u.id)??0,d=o.get(l.id)??0;return f>d?-1:f<d?1:0}).filter(u=>{let l=u.metadata.get(sa);if(l==null)return!0;let f=parseInt(py(l));return isNaN(f)?!0:Date.now()-f>this.autoDialPeerRetryThresholdMs});this.log("selected %d/%d peers to dial",c.length,i.length);for(let u of c)this.queue.add(async()=>{let l=this.connectionManager.getConnectionsMap().size;if(l>=this.minConnections){this.log("got enough connections now %d/%d",l,this.minConnections),this.queue.clear();return}this.log("connecting to a peerStore stored peer %p",u.id),await this.connectionManager.openConnection(u.id,{priority:this.autoDialPriority})},{peerId:u.id}).catch(l=>{this.log.error("could not connect to peerStore stored peer",l)});this.running=!1,this.sheduleNextAutodial()}sheduleNextAutodial(){this.started&&(this.autoDialInterval=setTimeout(()=>{this.autoDial().catch(e=>{this.log.error("error while autodialing",e)})},this.autoDialIntervalMs))}};var gy={maxConnections:aa,allow:[]},la=class{maxConnections;connectionManager;peerStore;allow;events;log;constructor(e,r={}){this.maxConnections=r.maxConnections??gy.maxConnections,this.allow=r.allow??gy.allow,this.connectionManager=e.connectionManager,this.peerStore=e.peerStore,this.events=e.events,this.log=e.logger.forComponent("libp2p:connection-manager:connection-pruner"),e.events.addEventListener("connection:open",()=>{this.maybePruneConnections().catch(n=>{this.log.error(n)})})}async maybePruneConnections(){let e=this.connectionManager.getConnections(),r=e.length,n=Math.max(r-this.maxConnections,0);if(this.log("checking max connections limit %d/%d",r,this.maxConnections),r<=this.maxConnections)return;this.log("max connections limit exceeded %d/%d, pruning %d connection(s)",r,this.maxConnections,n);let i=new je;for(let a of e){let c=a.remotePeer;if(!i.has(c)){i.set(c,0);try{let u=await this.peerStore.get(c);i.set(c,[...u.tags.values()].reduce((l,f)=>l+f.value,0))}catch(u){u.code!=="ERR_NOT_FOUND"&&this.log.error("error loading peer tags",u)}}}let s=e.sort((a,c)=>{let u=i.get(a.remotePeer)??0,l=i.get(c.remotePeer)??0;if(u>l)return 1;if(u<l)return-1;let f=a.timeline.open,d=c.timeline.open;return f<d?1:f>d?-1:0}),o=[];for(let a of s)if(this.log("too many connections open - closing a connection to %p",a.remotePeer),this.allow.some(u=>a.remoteAddr.toString().startsWith(u.toString()))||o.push(a),o.length===n)break;await Promise.all(o.map(async a=>{try{await a.close()}catch(c){this.log.error(c)}})),this.events.safeDispatchEvent("connection:prune",{detail:o})}};function fa(t){let e=new globalThis.AbortController;function r(){e.abort();for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}for(let s of t){if(s?.aborted===!0){r();break}s?.addEventListener!=null&&s.addEventListener("abort",r)}function n(){for(let s of t)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}let i=e.signal;return i.clear=n,i}function Af(t,e,r){let n=0,i=t.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(t[o],e)<=0?(n=++o,i-=s+1):i=s}return n}var ds=class{#e=[];enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&this.#e[this.size-1].priority>=r.priority){this.#e.push(n);return}let i=Af(this.#e,n,(s,o)=>o.priority-s.priority);this.#e.splice(i,0,n)}dequeue(){return this.#e.shift()?.run}filter(e){return this.#e.filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return this.#e.length}};var wi=class extends yn.default{#e;#i;#s=0;#a;#c;#p=0;#r;#u;#t;#m;#n=0;#l;#o;#g;timeout;constructor(e){if(super(),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:ds,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${e.intervalCap?.toString()??""}\` (${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 \`${e.interval?.toString()??""}\` (${typeof e.interval})`);this.#e=e.carryoverConcurrencyCount,this.#i=e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,this.#a=e.intervalCap,this.#c=e.interval,this.#t=new e.queueClass,this.#m=e.queueClass,this.concurrency=e.concurrency,this.timeout=e.timeout,this.#g=e.throwOnTimeout===!0,this.#o=e.autoStart===!1}get#b(){return this.#i||this.#s<this.#a}get#w(){return this.#n<this.#l}#E(){this.#n--,this.#f(),this.emit("next")}#v(){this.#x(),this.#y(),this.#u=void 0}get#A(){let e=Date.now();if(this.#r===void 0){let r=this.#p-e;if(r<0)this.#s=this.#e?this.#n:0;else return this.#u===void 0&&(this.#u=setTimeout(()=>{this.#v()},r)),!0}return!1}#f(){if(this.#t.size===0)return this.#r&&clearInterval(this.#r),this.#r=void 0,this.emit("empty"),this.#n===0&&this.emit("idle"),!1;if(!this.#o){let e=!this.#A;if(this.#b&&this.#w){let r=this.#t.dequeue();return r?(this.emit("active"),r(),e&&this.#y(),!0):!1}}return!1}#y(){this.#i||this.#r!==void 0||(this.#r=setInterval(()=>{this.#x()},this.#c),this.#p=Date.now()+this.#c)}#x(){this.#s===0&&this.#n===0&&this.#r&&(clearInterval(this.#r),this.#r=void 0),this.#s=this.#e?this.#n:0,this.#h()}#h(){for(;this.#f(););}get concurrency(){return this.#l}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.#l=e,this.#h()}async#S(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(e.reason)},{once:!0})})}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:this.#g,...r},new Promise((n,i)=>{this.#t.enqueue(async()=>{this.#n++,this.#s++;try{r.signal?.throwIfAborted();let s=e({signal:r.signal});r.timeout&&(s=yr(Promise.resolve(s),{milliseconds:r.timeout})),r.signal&&(s=Promise.race([s,this.#S(r.signal)]));let o=await s;n(o),this.emit("completed",o)}catch(s){if(s instanceof gr&&!r.throwOnTimeout){n();return}i(s),this.emit("error",s)}finally{this.#E()}},r),this.emit("add"),this.#f()})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return this.#o?(this.#o=!1,this.#h(),this):this}pause(){this.#o=!0}clear(){this.#t=new this.#m}async onEmpty(){this.#t.size!==0&&await this.#d("empty")}async onSizeLessThan(e){this.#t.size<e||await this.#d("next",()=>this.#t.size<e)}async onIdle(){this.#n===0&&this.#t.size===0||await this.#d("idle")}async#d(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})}get size(){return this.#t.size}sizeBy(e){return this.#t.filter(e).length}get pending(){return this.#n}get isPaused(){return this.#o}};async function Sf(t,e){if(!t.protoNames().includes("dnsaddr"))return[t];let n=await l_(t,e),o=(await Promise.all(n.map(async a=>Sf(a,e)))).flat().reduce((a,c)=>(a.find(u=>u.equals(c))==null&&a.push(c),a),[]);return e.log("resolved %s to",t,o.map(a=>a.toString())),o}async function l_(t,e){try{return t=ke(t.toString()),await t.resolve(e)}catch(r){return e.log.error(`multiaddr ${t.toString()} could not be resolved`,r),[]}}function yy(...t){let e=[];for(let n of t)n!=null&&(dt(1/0,n),e.push(n));let r=fa(e);return dt(1/0,r),r}var ha={addressSorter:di,maxParallelDials:ca,maxPeerAddrsToDial:25,dialTimeout:3e4,resolvers:{dnsaddr:pi}},da=class{pendingDials;queue;peerId;peerStore;connectionGater;transportManager;addressSorter;maxPeerAddrsToDial;dialTimeout;inProgressDialCount;pendingDialCount;shutDownController;connections;log;constructor(e,r={}){this.addressSorter=r.addressSorter??ha.addressSorter,this.maxPeerAddrsToDial=r.maxPeerAddrsToDial??ha.maxPeerAddrsToDial,this.dialTimeout=r.dialTimeout??ha.dialTimeout,this.connections=r.connections??new je,this.log=e.logger.forComponent("libp2p:connection-manager:dial-queue"),this.peerId=e.peerId,this.peerStore=e.peerStore,this.connectionGater=e.connectionGater,this.transportManager=e.transportManager,this.shutDownController=new AbortController,dt(1/0,this.shutDownController.signal),this.pendingDialCount=e.metrics?.registerMetric("libp2p_dial_queue_pending_dials"),this.inProgressDialCount=e.metrics?.registerMetric("libp2p_dial_queue_in_progress_dials"),this.pendingDials=[];for(let[n,i]of Object.entries(r.resolvers??{}))So.set(n,i);this.queue=new wi({concurrency:r.maxParallelDials??ha.maxParallelDials}),this.queue.on("add",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("active",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("completed",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("error",n=>{this.log.error("error in dial queue",n),this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("empty",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)}),this.queue.on("idle",()=>{this.pendingDialCount?.update(this.queue.size),this.inProgressDialCount?.update(this.queue.pending)})}start(){this.shutDownController=new AbortController}stop(){this.shutDownController.abort(),this.queue.clear()}async dial(e,r={}){let{peerId:n,multiaddrs:i}=na(e),s=i.map(d=>({multiaddr:d,isCertified:!1})),o=this.createDialAbortControllers(r.signal),a;try{a=await this.calculateMultiaddrs(n,s,{...r,signal:o})}catch(d){throw o.clear(),d}let c=Array.from(this.connections.values()).flat().find(d=>r.force===!0?!1:a.find(p=>p.multiaddr.equals(d.remoteAddr)));if(c!=null)return this.log("already connected to %a",c.remoteAddr),c;let u=this.pendingDials.find(d=>!!(d.peerId!=null&&n!=null&&d.peerId.equals(n)||a.map(({multiaddr:p})=>p.toString()).join()===d.multiaddrs.map(p=>p.toString()).join()));if(u!=null)return this.log("joining existing dial target for %p",n),o.clear(),u.promise;this.log("creating dial target for",a.map(({multiaddr:d})=>d.toString()));let l={id:f_(),status:"queued",peerId:n,multiaddrs:a.map(({multiaddr:d})=>d)};l.promise=this.performDial(l,{...r,signal:o}).finally(()=>{this.pendingDials=this.pendingDials.filter(d=>d.id!==l.id),o.clear()}).catch(async d=>{if(this.log.error("dial failed to %s",l.multiaddrs.map(p=>p.toString()).join(", "),d),n!=null)try{await this.peerStore.patch(n,{metadata:{[sa]:qo(Date.now().toString())}})}catch(p){this.log.error("could not update last dial failure key for %p",n,p)}throw o.aborted?new _(d.message,Ms):d}),this.pendingDials.push(l);let f=await l.promise;return c=Array.from(this.connections.values()).flat().find(d=>r.force===!0?!1:d.id!==f.id&&d.remoteAddr.equals(f.remoteAddr)),c!=null?(this.log("already connected to %a",c.remoteAddr),await f.close(),c):(this.log("connection opened to %a",f.remoteAddr),f)}createDialAbortControllers(e){let r=fa([AbortSignal.timeout(this.dialTimeout),this.shutDownController.signal,e]);return dt(1/0,r),r}async calculateMultiaddrs(e,r=[],n={}){if(e!=null){if(this.peerId.equals(e))throw new _("Tried to dial self",F.ERR_DIALED_SELF);if(await this.connectionGater.denyDialPeer?.(e)===!0)throw new _("The dial request is blocked by gater.allowDialPeer",F.ERR_PEER_DIAL_INTERCEPTED);if(r.length===0){this.log("loading multiaddrs for %p",e);try{let l=await this.peerStore.get(e);r.push(...l.addresses),this.log("loaded multiaddrs for %p",e,r.map(({multiaddr:f})=>f.toString()))}catch(l){if(l.code!==F.ERR_NOT_FOUND)throw l}}}let i=(await Promise.all(r.map(async l=>{let f=await Sf(l.multiaddr,{...n,log:this.log});return f.length===1&&f[0].equals(l.multiaddr)?l:f.map(d=>({multiaddr:d,isCertified:!1}))}))).flat();if(e!=null){let l=`/p2p/${e.toString()}`;i=i.map(f=>f.multiaddr.protos().pop()?.path===!0?f:f.multiaddr.getPeerId()==null?{multiaddr:f.multiaddr.encapsulate(l),isCertified:f.isCertified}:f)}let s=i.filter(l=>{if(this.transportManager.transportForMultiaddr(l.multiaddr)==null)return!1;let f=l.multiaddr.getPeerId();return e!=null&&f!=null?e.equals(f):!0}),o=new Map;for(let l of s){let f=l.multiaddr.toString(),d=o.get(f);if(d!=null){d.isCertified=d.isCertified||l.isCertified||!1;continue}o.set(f,l)}let a=[...o.values()];if((a.length===0||a.length>this.maxPeerAddrsToDial)&&(this.log("addresses for %p before filtering",e??"unknown peer",i.map(({multiaddr:l})=>l.toString())),this.log("addresses for %p after filtering",e??"unknown peer",a.map(({multiaddr:l})=>l.toString()))),a.length===0)throw new _("The dial request has no valid addresses",F.ERR_NO_VALID_ADDRESSES);if(a.length>this.maxPeerAddrsToDial)throw new _("dial with more addresses than allowed",F.ERR_TOO_MANY_ADDRESSES);let c=[];for(let l of a)this.connectionGater.denyDialMultiaddr!=null&&await this.connectionGater.denyDialMultiaddr(l.multiaddr)||c.push(l);let u=c.sort(this.addressSorter);if(u.length===0)throw new _("The connection gater denied all addresses in the dial request",F.ERR_NO_VALID_ADDRESSES);return u}async performDial(e,r={}){let n=e.multiaddrs.map(()=>new AbortController);try{let i=new wi({concurrency:1});i.on("error",o=>{this.log.error("error dialing %s %o",e.multiaddrs,o)});let s=await Promise.any(e.multiaddrs.map(async(o,a)=>{let c=n[a];if(c==null)throw new _("dialAction did not come with an AbortController",F.ERR_INVALID_PARAMETERS);let u=yy(c.signal,r.signal);u.addEventListener("abort",()=>{this.log("dial to %a aborted",o)});let l=Ie();return await i.add(async()=>{if(u.aborted){this.log("dial to %a was aborted before reaching the head of the peer dial queue",o),l.reject(new Pn);return}await this.queue.add(async()=>{try{if(u.aborted){this.log("dial to %a was aborted before reaching the head of the dial queue",o),l.reject(new Pn);return}e.status="active";let f=await this.transportManager.dial(o,{...r,signal:u});if(c.signal.aborted){this.log("multiple dials succeeded, closing superfluous connection"),f.close().catch(d=>{this.log.error("error closing superfluous connection",d)}),l.reject(new Pn);return}n[a]=void 0,n.forEach(d=>{d!==void 0&&d.abort()}),this.log("dial to %a succeeded",o),l.resolve(f)}catch(f){this.log.error("error during dial of %a",o,f),l.reject(f)}},{...r,signal:u}).catch(f=>{l.reject(f)})},{signal:u}).catch(f=>{l.reject(f)}).finally(()=>{u.clear()}),l.promise}));if(s==null)throw new _("successful dial led to empty object returned from peer dial queue",F.ERR_TRANSPORT_DIAL_FAILED);return e.status="success",s}catch(i){throw e.status="error",e.multiaddrs.length===1&&i.name==="AggregateError"?i.errors[0]:i}}};function f_(){return`${parseInt(String(Math.random()*1e9),10).toString()}${Date.now()}`}var p_=50,_n={minConnections:oa,maxConnections:aa,inboundConnectionThreshold:5,maxIncomingPendingConnections:10,autoDialConcurrency:25,autoDialPriority:0,autoDialMaxQueueLength:100},pa=class{started;connections;allow;deny;maxIncomingPendingConnections;incomingPendingConnections;maxConnections;dialQueue;autoDial;connectionPruner;inboundConnectionRateLimiter;peerStore;metrics;events;log;constructor(e,r={}){this.maxConnections=r.maxConnections??_n.maxConnections;let n=r.minConnections??_n.minConnections;if(this.maxConnections<n)throw new _("Connection Manager maxConnections must be greater than minConnections",F.ERR_INVALID_PARAMETERS);this.connections=new je,this.started=!1,this.peerStore=e.peerStore,this.metrics=e.metrics,this.events=e.events,this.log=e.logger.forComponent("libp2p:connection-manager"),this.onConnect=this.onConnect.bind(this),this.onDisconnect=this.onDisconnect.bind(this),this.events.addEventListener("connection:open",this.onConnect),this.events.addEventListener("connection:close",this.onDisconnect),this.allow=(r.allow??[]).map(i=>ke(i)),this.deny=(r.deny??[]).map(i=>ke(i)),this.incomingPendingConnections=0,this.maxIncomingPendingConnections=r.maxIncomingPendingConnections??_n.maxIncomingPendingConnections,this.inboundConnectionRateLimiter=new xy.RateLimiterMemory({points:r.inboundConnectionThreshold??_n.inboundConnectionThreshold,duration:1}),this.autoDial=new ua({connectionManager:this,peerStore:e.peerStore,events:e.events,logger:e.logger},{minConnections:n,autoDialConcurrency:r.autoDialConcurrency??_n.autoDialConcurrency,autoDialPriority:r.autoDialPriority??_n.autoDialPriority,maxQueueLength:r.autoDialMaxQueueLength??_n.autoDialMaxQueueLength}),this.connectionPruner=new la({connectionManager:this,peerStore:e.peerStore,events:e.events,logger:e.logger},{maxConnections:this.maxConnections,allow:this.allow}),this.dialQueue=new da({peerId:e.peerId,metrics:e.metrics,peerStore:e.peerStore,transportManager:e.transportManager,connectionGater:e.connectionGater,logger:e.logger},{addressSorter:r.addressSorter??di,maxParallelDials:r.maxParallelDials??ca,maxPeerAddrsToDial:r.maxPeerAddrsToDial??25,dialTimeout:r.dialTimeout??3e4,resolvers:r.resolvers??{dnsaddr:pi},connections:this.connections})}isStarted(){return this.started}async start(){this.metrics?.registerMetricGroup("libp2p_connection_manager_connections",{calculate:()=>{let e={inbound:0,outbound:0};for(let r of this.connections.values())for(let n of r)n.direction==="inbound"?e.inbound++:e.outbound++;return e}}),this.metrics?.registerMetricGroup("libp2p_protocol_streams_total",{label:"protocol",calculate:()=>{let e={};for(let r of this.connections.values())for(let n of r)for(let i of n.streams){let s=`${i.direction} ${i.protocol??"unnegotiated"}`;e[s]=(e[s]??0)+1}return e}}),this.metrics?.registerMetricGroup("libp2p_connection_manager_protocol_streams_per_connection_90th_percentile",{label:"protocol",calculate:()=>{let e={};for(let n of this.connections.values())for(let i of n){let s={};for(let o of i.streams){let a=`${o.direction} ${o.protocol??"unnegotiated"}`;s[a]=(s[a]??0)+1}for(let[o,a]of Object.entries(s))e[o]=e[o]??[],e[o].push(a)}let r={};for(let[n,i]of Object.entries(e)){i=i.sort((o,a)=>o-a);let s=Math.floor(i.length*.9);r[n]=i[s]}return r}}),this.dialQueue.start(),this.autoDial.start(),this.started=!0,this.log("started")}async afterStart(){Promise.resolve().then(async()=>{let e=await this.peerStore.all({filters:[r=>r.tags.has(l0)]});await Promise.all(e.map(async r=>{await this.openConnection(r.id).catch(n=>{this.log.error(n)})}))}).catch(e=>{this.log.error(e)}),this.autoDial.afterStart()}async stop(){this.dialQueue.stop(),this.autoDial.stop();let e=[];for(let r of this.connections.values())for(let n of r)e.push((async()=>{try{await n.close()}catch(i){this.log.error(i)}})());this.log("closing %d connections",e.length),await Promise.all(e),this.connections.clear(),this.log("stopped")}onConnect(e){this._onConnect(e).catch(r=>{this.log.error(r)})}async _onConnect(e){let{detail:r}=e;if(!this.started){await r.close();return}let n=r.remotePeer,i=this.connections.get(n),s=!1;i!=null?i.push(r):(s=!0,this.connections.set(n,[r])),n.publicKey!=null&&n.type==="RSA"&&await this.peerStore.patch(n,{publicKey:n.publicKey}),s&&this.events.safeDispatchEvent("peer:connect",{detail:r.remotePeer})}onDisconnect(e){let{detail:r}=e;if(!this.started)return;let n=r.remotePeer,i=this.connections.get(n);i!=null&&i.length>1?(i=i.filter(s=>s.id!==r.id),this.connections.set(n,i)):i!=null&&(this.connections.delete(n),this.events.safeDispatchEvent("peer:disconnect",{detail:r.remotePeer}))}getConnections(e){if(e!=null)return this.connections.get(e)??[];let r=[];for(let n of this.connections.values())r=r.concat(n);return r}getConnectionsMap(){return this.connections}async openConnection(e,r={}){if(!this.isStarted())throw new _("Not started",F.ERR_NODE_NOT_STARTED);r.signal?.throwIfAborted();let{peerId:n}=na(e);if(n!=null&&r.force!==!0){this.log("dial %p",n);let a=this.getConnections(n).find(c=>!c.transient);if(a!=null)return this.log("had an existing non-transient connection to %p",n),a}let i=await this.dialQueue.dial(e,{...r,priority:r.priority??p_}),s=this.connections.get(i.remotePeer);s==null&&(s=[],this.connections.set(i.remotePeer,s));let o=!1;for(let a of s)a.id===i.id&&(o=!0);return o||s.push(i),i}async closeConnections(e,r={}){let n=this.connections.get(e)??[];await Promise.all(n.map(async i=>{try{await i.close(r)}catch(s){i.abort(s)}}))}async acceptIncomingConnection(e){if(this.deny.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.log("connection from %a refused - connection remote address was in deny list",e.remoteAddr),!1;if(this.allow.some(i=>e.remoteAddr.toString().startsWith(i.toString())))return this.incomingPendingConnections++,!0;if(this.incomingPendingConnections===this.maxIncomingPendingConnections)return this.log("connection from %a refused - incomingPendingConnections exceeded by host",e.remoteAddr),!1;if(e.remoteAddr.isThinWaistAddress()){let i=e.remoteAddr.nodeAddress().address;try{await this.inboundConnectionRateLimiter.consume(i,1)}catch{return this.log("connection from %a refused - inboundConnectionThreshold exceeded by host %s",e.remoteAddr,i),!1}}return this.getConnections().length<this.maxConnections?(this.incomingPendingConnections++,!0):(this.log("connection from %a refused - maxConnections exceeded",e.remoteAddr),!1)}afterUpgradeInbound(){this.incomingPendingConnections--}getDialQueue(){return this.dialQueue.pendingDials}};var ma=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||e-1&e)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}isEmpty(){return this.buffer[this.btm]===void 0}},Ei=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new ma(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new ma(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var Cf=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function by(t={}){return m_(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function m_(t,e){e=e??{};let r=e.onEnd,n=new Ei,i,s,o,a=Ie(),c=async()=>{try{return n.isEmpty()?o?{done:!0}:await new Promise((g,y)=>{s=x=>{s=null,n.push(x);try{g(t(n))}catch(b){y(b)}return i}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=Ie()})}},u=g=>s!=null?s(g):(n.push(g),i),l=g=>(n=new Ei,s!=null?s({error:g}):(n.push({error:g}),i)),f=g=>{if(o)return i;if(e?.objectMode!==!0&&g?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:g})},d=g=>o?i:(o=!0,g!=null?l(g):u({done:!0})),p=()=>(n=new Ei,d(),{done:!0}),h=g=>(d(g),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:p,throw:h,push:f,end:d,get readableLength(){return n.size},onEmpty:async g=>{let y=g?.signal;if(y?.throwIfAborted(),n.isEmpty())return;let x,b;y!=null&&(x=new Promise((S,E)=>{b=()=>{E(new Cf)},y.addEventListener("abort",b)}));try{await Promise.race([a.promise,x])}finally{b!=null&&y!=null&&y?.removeEventListener("abort",b)}}},r==null)return i;let m=i;return i={[Symbol.asyncIterator](){return this},next(){return m.next()},throw(g){return m.throw(g),r!=null&&(r(g),r=void 0),{done:!0}},return(){return m.return(),r!=null&&(r(),r=void 0),{done:!0}},push:f,end(g){return m.end(g),r!=null&&(r(g),r=void 0),i},get readableLength(){return m.readableLength},onEmpty:g=>m.onEmpty(g)},i}function g_(t){return t[Symbol.asyncIterator]!=null}function y_(...t){let e=[];for(let r of t)g_(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=by({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var ps=y_;var ga=globalThis.CustomEvent??Event;async function*ms(t,e={}){let r=e.concurrency??1/0;r<1&&(r=1/0);let n=e.ordered==null?!1:e.ordered,i=new EventTarget,s=[],o=Ie(),a=Ie(),c=!1,u,l=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let h of t){if(s.length===r&&(o=Ie(),await o.promise),l)break;let m={done:!1};s.push(m),h().then(g=>{m.done=!0,m.ok=!0,m.value=g,i.dispatchEvent(new ga("task-complete"))},g=>{m.done=!0,m.err=g,i.dispatchEvent(new ga("task-complete"))})}c=!0,i.dispatchEvent(new ga("task-complete"))}catch(h){u=h,i.dispatchEvent(new ga("task-complete"))}});function f(){return n?s[0]?.done:!!s.find(h=>h.done)}function*d(){for(;s.length>0&&s[0].done;){let h=s[0];if(s.shift(),h.ok)yield h.value;else throw l=!0,o.resolve(),h.err;o.resolve()}}function*p(){for(;f();)for(let h=0;h<s.length;h++)if(s[h].done){let m=s[h];if(s.splice(h,1),h--,m.ok)yield m.value;else throw l=!0,o.resolve(),m.err;o.resolve()}}for(;;){if(f()||(a=Ie(),await a.promise),u!=null)throw u;if(n?yield*d():yield*p(),c&&s.length===0)break}}var ya=class{log;routers;started;components;constructor(e,r){this.log=e.logger.forComponent("libp2p:content-routing"),this.routers=r.routers??[],this.started=!1,this.components=e}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.started=!1}async*findProviders(e,r={}){if(this.routers.length===0)throw new _("No content routers available",F.ERR_NO_ROUTERS_AVAILABLE);let n=this,i=new _t;for await(let s of ms(async function*(){let o=ps(...n.routers.map(a=>a.findProviders(e,r)));for await(let a of o)yield async()=>{if(a.multiaddrs.length===0)try{a=await n.components.peerRouting.findPeer(a.id,{...r,useCache:!1})}catch(c){n.log.error("could not find peer multiaddrs",c);return}return a}}()))s!=null&&s.multiaddrs.length!==0&&(await this.components.peerStore.merge(s.id,{multiaddrs:s.multiaddrs}),!i.has(s.id)&&(i.add(s.id),yield s))}async provide(e,r={}){if(this.routers.length===0)throw new _("No content routers available",F.ERR_NO_ROUTERS_AVAILABLE);await Promise.all(this.routers.map(async n=>{await n.provide(e,r)}))}async put(e,r,n){if(!this.isStarted())throw new _(br.NOT_STARTED_YET,F.ERR_NODE_NOT_STARTED);await Promise.all(this.routers.map(async i=>{await i.put(e,r,n)}))}async get(e,r){if(!this.isStarted())throw new _(br.NOT_STARTED_YET,F.ERR_NODE_NOT_STARTED);return Promise.any(this.routers.map(async n=>n.get(e,r)))}};var xa=class{log;peerId;peerStore;routers;constructor(e,r){this.log=e.logger.forComponent("libp2p:peer-routing"),this.peerId=e.peerId,this.peerStore=e.peerStore,this.routers=r.routers??[]}async findPeer(e,r){if(this.routers.length===0)throw new _("No peer routers available",F.ERR_NO_ROUTERS_AVAILABLE);if(e.toString()===this.peerId.toString())throw new _("Should not try to find self",F.ERR_FIND_SELF);let n=this,i=ps(...this.routers.map(s=>async function*(){try{yield await s.findPeer(e,r)}catch(o){n.log.error(o)}}()));for await(let s of i)if(s!=null)return await this.peerStore.merge(s.id,{multiaddrs:s.multiaddrs}),s;throw new _(br.NOT_FOUND,F.ERR_NOT_FOUND)}async*getClosestPeers(e,r={}){if(this.routers.length===0)throw new _("No peer routers available",F.ERR_NO_ROUTERS_AVAILABLE);let n=this,i=new _t;for await(let s of ms(async function*(){let o=ps(...n.routers.map(a=>a.getClosestPeers(e,r)));for await(let a of o)yield async()=>{if(a.multiaddrs.length===0)try{a=await n.findPeer(a.id,{...r,useCache:!1})}catch(c){n.log.error("could not find peer multiaddrs",c);return}return a}}()))s!=null&&s.multiaddrs.length!==0&&(await this.peerStore.merge(s.id,{multiaddrs:s.multiaddrs}),!i.has(s.id)&&(i.add(s.id),yield s))}};var Tf=32,Rf=64,ba=class{log;topologies;handlers;components;constructor(e){this.log=e.logger.forComponent("libp2p:registrar"),this.topologies=new Map,this.handlers=new Map,this.components=e,this._onDisconnect=this._onDisconnect.bind(this),this._onPeerUpdate=this._onPeerUpdate.bind(this),this._onPeerIdentify=this._onPeerIdentify.bind(this),this.components.events.addEventListener("peer:disconnect",this._onDisconnect),this.components.events.addEventListener("peer:update",this._onPeerUpdate),this.components.events.addEventListener("peer:identify",this._onPeerIdentify)}getProtocols(){return Array.from(new Set([...this.handlers.keys()])).sort()}getHandler(e){let r=this.handlers.get(e);if(r==null)throw new _(`No handler registered for protocol ${e}`,F.ERR_NO_HANDLER_FOR_PROTOCOL);return r}getTopologies(e){let r=this.topologies.get(e);return r==null?[]:[...r.values()]}async handle(e,r,n){if(this.handlers.has(e))throw new _(`Handler already registered for protocol ${e}`,F.ERR_PROTOCOL_HANDLER_ALREADY_REGISTERED);let i=ea.bind({ignoreUndefined:!0})({maxInboundStreams:Tf,maxOutboundStreams:Rf},n);this.handlers.set(e,{handler:r,options:i}),await this.components.peerStore.merge(this.components.peerId,{protocols:[e]})}async unhandle(e){(Array.isArray(e)?e:[e]).forEach(n=>{this.handlers.delete(n)}),await this.components.peerStore.patch(this.components.peerId,{protocols:this.getProtocols()})}async register(e,r){if(r==null)throw new _("invalid topology",F.ERR_INVALID_PARAMETERS);let n=`${(Math.random()*1e9).toString(36)}${Date.now()}`,i=this.topologies.get(e);return i==null&&(i=new Map,this.topologies.set(e,i)),i.set(n,r),n}unregister(e){for(let[r,n]of this.topologies.entries())n.has(e)&&(n.delete(e),n.size===0&&this.topologies.delete(r))}_onDisconnect(e){let r=e.detail;this.components.peerStore.get(r).then(n=>{for(let i of n.protocols){let s=this.topologies.get(i);if(s!=null)for(let o of s.values())o.onDisconnect?.(r)}}).catch(n=>{n.code!==F.ERR_NOT_FOUND&&this.log.error("could not inform topologies of disconnecting peer %p",r,n)})}_onPeerUpdate(e){let{peer:r,previous:n}=e.detail,i=(n?.protocols??[]).filter(s=>!r.protocols.includes(s));for(let s of i){let o=this.topologies.get(s);if(o!=null)for(let a of o.values())a.onDisconnect?.(r.id)}}_onPeerIdentify(e){let r=e.detail.protocols,n=e.detail.connection,i=e.detail.peerId;for(let s of r){let o=this.topologies.get(s);if(o!=null)for(let a of o.values())n.transient&&a.notifyOnTransient!==!0||a.onConnect?.(i,n)}}};var Bf=class extends Map{metric;constructor(e){super();let{name:r,metrics:n}=e;this.metric=n.registerMetric(r),this.updateComponentMetric()}set(e,r){return super.set(e,r),this.updateComponentMetric(),this}delete(e){let r=super.delete(e);return this.updateComponentMetric(),r}clear(){super.clear(),this.updateComponentMetric()}updateComponentMetric(){this.metric.update(this.size)}};function wy(t){let{name:e,metrics:r}=t,n;return r!=null?n=new Bf({name:e,metrics:r}):n=new Map,n}var wa=class{log;components;transports;listeners;faultTolerance;started;constructor(e,r={}){this.log=e.logger.forComponent("libp2p:transports"),this.components=e,this.started=!1,this.transports=new Map,this.listeners=wy({name:"libp2p_transport_manager_listeners",metrics:this.components.metrics}),this.faultTolerance=r.faultTolerance??Sr.FATAL_ALL}add(e){let r=e[Symbol.toStringTag];if(r==null)throw new _("Transport must have a valid tag",F.ERR_INVALID_KEY);if(this.transports.has(r))throw new _(`There is already a transport with the tag ${r}`,F.ERR_DUPLICATE_TRANSPORT);this.log("adding transport %s",r),this.transports.set(r,e),this.listeners.has(r)||this.listeners.set(r,[])}isStarted(){return this.started}start(){this.started=!0}async afterStart(){let e=this.components.addressManager.getListenAddrs();await this.listen(e)}async stop(){let e=[];for(let[r,n]of this.listeners)for(this.log("closing listeners for %s",r);n.length>0;){let i=n.pop();i!=null&&e.push(i.close())}await Promise.all(e),this.log("all listeners closed");for(let r of this.listeners.keys())this.listeners.set(r,[]);this.started=!1}async dial(e,r){let n=this.transportForMultiaddr(e);if(n==null)throw new _(`No transport available for address ${String(e)}`,F.ERR_TRANSPORT_UNAVAILABLE);try{return await n.dial(e,{...r,upgrader:this.components.upgrader})}catch(i){throw i.code==null&&(i.code=F.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 Array.of(...this.transports.values())}getListeners(){return Array.of(...this.listeners.values()).flat()}transportForMultiaddr(e){for(let r of this.transports.values())if(r.filter([e]).length>0)return r}async listen(e){if(!this.isStarted())throw new _("Not started",F.ERR_NODE_NOT_STARTED);if(e==null||e.length===0){this.log("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){this.log("creating listener for %s on %a",n,u);let l=i.createListener({upgrader:this.components.upgrader}),f=this.listeners.get(n)??[];f==null&&(f=[],this.listeners.set(n,f)),f.push(l),l.addEventListener("listening",()=>{this.components.events.safeDispatchEvent("transport:listening",{detail:l})}),l.addEventListener("close",()=>{let d=f.findIndex(p=>p===l);f.splice(d,1),this.components.events.safeDispatchEvent("transport:close",{detail:l})}),o.push(l.listen(u))}if(o.length===0){r.push(n);continue}if((await Promise.allSettled(o)).find(u=>u.status==="fulfilled")==null&&this.faultTolerance!==Sr.NO_FATAL)throw new _(`Transport (${n}) could not listen on any available address`,F.ERR_NO_VALID_ADDRESSES)}if(r.length===this.transports.size){let n=`no valid addresses were provided for transports [${r.join(", ")}]`;if(this.faultTolerance===Sr.FATAL_ALL)throw new _(n,F.ERR_NO_VALID_ADDRESSES);this.log(`libp2p in dial mode only: ${n}`)}}async remove(e){let r=this.listeners.get(e)??[];this.log.trace("removing transport %s",e);let n=[];for(this.log.trace("closing listeners for %s",e);r.length>0;){let i=r.pop();i!=null&&n.push(i.close())}await Promise.all(n),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)}};var Qe="/multistream/1.0.0";var Ea=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=r??"ABORT_ERR"}};async function va(t,e,r){if(e==null)return t;if(e.aborted)return Promise.reject(new Ea(r?.errorMessage,r?.errorCode));let n,i=new Ea(r?.errorMessage,r?.errorCode);try{return await Promise.race([t,new Promise((s,o)=>{n=()=>{o(i)},e.addEventListener("abort",n)})])}finally{n!=null&&e.removeEventListener("abort",n)}}var Lf=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=Ie(),this.haveNext=Ie()}[Symbol.asyncIterator](){return this}async next(){if(this.nextResult==null&&await this.haveNext.promise,this.nextResult==null)throw new Error("Have next but next was undefined");let e=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=Ie(),e}async throw(e){return this.ended=!0,e!=null&&this.haveNext.reject(e),{done:!0,value:void 0}}async return(){let e={done:!0,value:void 0};return await this._push(void 0),e}async push(e,r){await this._push(e,r)}async end(e,r){e!=null?await this.throw(e):await this._push(void 0,r)}async _push(e,r){if(e!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");this.nextResult!=null&&await this.needNext.promise,e!=null?this.nextResult={done:!1,value:e}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=Ie(),await va(this.needNext.promise,r?.signal,r)}};function Ey(){return new Lf}var Aa=class extends Error{code;constructor(e,r){super(e),this.code=r}},Df=class extends Aa{type;constructor(e){super(e,"ABORT_ERR"),this.type="aborted"}};function vy(t,e){let r=Ey();t.sink(r).catch(async o=>{await r.end(o)}),t.sink=async o=>{for await(let a of o)await r.push(a);await r.end()};let n=t.source;t.source[Symbol.iterator]!=null?n=t.source[Symbol.iterator]():t.source[Symbol.asyncIterator]!=null&&(n=t.source[Symbol.asyncIterator]());let i=new Ke;return{read:async(o,a)=>{a?.signal?.throwIfAborted();let c,u=new Promise((l,f)=>{c=()=>{f(new Df("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(o==null){let{done:f,value:d}=await Promise.race([n.next(),u]);return f===!0?new Ke:d}for(;i.byteLength<o;){let{value:f,done:d}=await Promise.race([n.next(),u]);if(d===!0)throw new Aa("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(f)}let l=i.sublist(0,o);return i.consume(o),l}finally{c!=null&&a?.signal?.removeEventListener("abort",c)}},write:async(o,a)=>{a?.signal?.throwIfAborted(),o instanceof Uint8Array?await r.push(o,a):await r.push(o.subarray(),a)},unwrap:()=>{if(i.byteLength>0){let o=t.source;t.source=async function*(){e?.yieldBytes===!1?yield i:yield*i,yield*o}()}return t}}}function Sa(t){return t[Symbol.asyncIterator]!=null}var _a=t=>{let e=et(t),r=ut(e);return lt(t,r),_a.bytes=e,r};_a.bytes=0;function In(t,e){e=e??{};let r=e.lengthEncoder??_a;function*n(i){let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return Sa(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}In.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??_a;return new Ke(r(t.byteLength),t)};var vi=Ee(Pl(),1);var x_=8,b_=1024*1024*4,Cn;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(Cn||(Cn={}));var Nf=t=>{let e=Ut(t);return Nf.bytes=et(e),e};Nf.bytes=0;function Pf(t,e){let r=new Ke,n=Cn.LENGTH,i=-1,s=e?.lengthDecoder??Nf,o=e?.maxLengthLength??x_,a=e?.maxDataLength??b_;function*c(){for(;r.byteLength>0;){if(n===Cn.LENGTH)try{if(i=s(r),i<0)throw(0,vi.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,vi.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=s.bytes;r.consume(u),e?.onLength!=null&&e.onLength(i),n=Cn.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>o)throw(0,vi.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===Cn.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=Cn.LENGTH}}}return Sa(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,vi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,vi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Pf.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:s,value:o}=await t.next(r);if(s===!0)return;o!=null&&(yield o)}catch(s){if(s.code==="ERR_UNDER_READ")return{done:!0,value:null};throw s}finally{r=1}}();return Pf(n,{...e??{},onLength:s=>{r=s}})};var Ia=class extends Error{code;constructor(e,r){super(e),this.code=r}},Ay=t=>Ut(t);Ay.bytes=0;function gs(t,e={}){let r=vy(t,e);return e.maxDataLength!=null&&e.maxLengthLength==null&&(e.maxLengthLength=et(e.maxDataLength)),{read:async i=>{let s=-1,o=new Ke,a=e?.lengthDecoder??Ay;for(;;){o.append(await r.read(1,i));try{s=a(o)}catch(c){if(c instanceof RangeError)continue;throw c}if(e?.maxLengthLength!=null&&o.byteLength>e.maxLengthLength)throw new Ia("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(s>-1)break}if(e?.maxDataLength!=null&&s>e.maxDataLength)throw new Ia("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(s,i)},write:async(i,s)=>{await r.write(In.single(i,e),s)},writeV:async(i,s)=>{let o=new Ke(...i.map(a=>In.single(a,e)));await r.write(o,s)},unwrap:()=>r.unwrap()}}function Ca(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Sy(t=0){return globalThis.Buffer?.allocUnsafe!=null?Ca(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function Iy(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var _y=Iy("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),kf=Iy("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=Sy(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),E_={utf8:_y,"utf-8":_y,hex:pe.base16,latin1:kf,ascii:kf,binary:kf,...pe},Ta=E_;function rt(t,e="utf8"){let r=Ta[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Ca(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}function Cy(t,e="utf8"){let r=Ta[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var v_=rt(`
|
|
49
|
+
`);async function Tn(t,e,r){await t.write(e,r)}async function Ty(t,e,r){await t.writeV(e,r)}async function A_(t,e){let r=await t.read(e);if(r.byteLength===0||r.get(r.byteLength-1)!==v_[0])throw e.log.error("Invalid mss message - missing newline",r),new _("missing newline","ERR_INVALID_MULTISTREAM_SELECT_MESSAGE");return r.sublist(0,-1)}async function qr(t,e){let r=await A_(t,e);return Cy(r.subarray())}async function ys(t,e,r){if(e=Array.isArray(e)?[...e]:[e],e.length===1&&r.negotiateFully===!1)return S_(t,e[0],r);let n=gs(t,{...r,maxDataLength:1024}),i=e.shift();if(i==null)throw new Error("At least one protocol must be specified");r.log.trace('select: write ["%s", "%s"]',Qe,i);let s=rt(`${Qe}
|
|
50
50
|
`),o=rt(`${i}
|
|
51
|
-
`);await
|
|
52
|
-
`),r),r.log.trace("select: reading protocol response");let u=await
|
|
53
|
-
`;yield new
|
|
54
|
-
`),
|
|
51
|
+
`);await Ty(n,[s,o],r),r.log.trace("select: reading multistream-select header");let a=await qr(n,r);if(r.log.trace('select: read "%s"',a),a===Qe&&(r.log.trace("select: reading protocol response"),a=await qr(n,r),r.log.trace('select: read "%s"',a)),a===i)return{stream:n.unwrap(),protocol:i};for(let c of e){r.log.trace('select: write "%s"',c),await Tn(n,rt(`${c}
|
|
52
|
+
`),r),r.log.trace("select: reading protocol response");let u=await qr(n,r);if(r.log.trace('select: read "%s" for "%s"',u,c),u===c)return{stream:n.unwrap(),protocol:c}}throw new _("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}function S_(t,e,r){let n=t.sink.bind(t),i=t.source,s=!1,o=!1,a=Ie(),c=!1,u=!1,l=Ie(),f=!1,d=!1,p=Ie(),h=gs({sink:n,source:i},{...r,maxDataLength:1024});t.sink=async x=>{let{sink:b}=h.unwrap();await b(async function*(){let S=!1;for await(let E of x){if(u&&await l.promise,c)yield E;else{u=!0,r.log.trace('optimistic: write ["%s", "%s", data(%d)] in sink',Qe,e,E.byteLength);let A=`${e}
|
|
53
|
+
`;yield new Ke(Uint8Array.from([19]),rt(`${Qe}
|
|
54
|
+
`),lt(A.length),rt(A),E).subarray(),r.log.trace('optimistic: wrote ["%s", "%s", data(%d)] in sink',Qe,e,E.byteLength),c=!0,u=!1,l.resolve(),m().catch(C=>{r.log.error("could not finish optimistic protocol negotiation of %s",e,C)})}S=!0}S||await m()}())};async function m(){if(o){r.log.trace("optimistic: already negotiating %s stream",e),await a.promise;return}o=!0;try{c||(r.log.trace("optimistic: doing send protocol for %s stream",e),await g()),f||(r.log.trace("optimistic: doing read protocol for %s stream",e),await y())}finally{o=!1,s=!0,a.resolve()}}async function g(){if(u){await l.promise;return}u=!0;try{r.log.trace('optimistic: write ["%s", "%s", data] in source',Qe,e),await h.writeV([rt(`${Qe}
|
|
55
55
|
`),rt(`${e}
|
|
56
|
-
`)]),r.log.trace('optimistic: wrote ["%s", "%s", data] in source',
|
|
57
|
-
`),r),r.log.trace('handle: responded with "%s" for "%s"',
|
|
58
|
-
`),r),r.log.trace('handle: responded with "%s" for "%s"',i,i),{stream:n.unwrap(),protocol:i};if(i==="ls"){let s=new
|
|
56
|
+
`)]),r.log.trace('optimistic: wrote ["%s", "%s", data] in source',Qe,e)}finally{c=!0,u=!1,l.resolve()}}async function y(){if(d){await p.promise;return}d=!0;try{r.log.trace("optimistic: reading multistream select header");let x=await qr(h,r);if(r.log.trace('optimistic: read multistream select header "%s"',x),x===Qe&&(x=await qr(h,r)),r.log.trace('optimistic: read protocol "%s", expecting "%s"',x,e),x!==e)throw new _("protocol selection failed","ERR_UNSUPPORTED_PROTOCOL")}finally{f=!0,d=!1,p.resolve()}}if(t.source=async function*(){await m(),r.log.trace('optimistic: reading data from "%s" stream',e),yield*h.unwrap().source}(),t.closeRead!=null){let x=t.closeRead.bind(t);t.closeRead=async b=>{s||await m().catch(S=>{r.log.error("could not negotiate protocol before close read",S)}),await x(b)}}if(t.closeWrite!=null){let x=t.closeWrite.bind(t);t.closeWrite=async b=>{s||await m().catch(S=>{r.log.error("could not negotiate protocol before close write",S)}),await x(b)}}if(t.close!=null){let x=t.close.bind(t);t.close=async b=>{let S=[];u&&S.push(l.promise),d&&S.push(p.promise),S.length>0?await va(Promise.all(S),b?.signal):(s=!0,o=!1,a.resolve()),await x(b)}}return{stream:t,protocol:e}}async function xs(t,e,r){e=Array.isArray(e)?e:[e],r.log.trace("handle: available protocols %s",e);let n=gs(t,{...r,maxDataLength:1024,maxLengthLength:2});for(;;){r.log.trace("handle: reading incoming string");let i=await qr(n,r);if(r.log.trace('handle: read "%s"',i),i===Qe){r.log.trace('handle: respond with "%s" for "%s"',Qe,i),await Tn(n,rt(`${Qe}
|
|
57
|
+
`),r),r.log.trace('handle: responded with "%s" for "%s"',Qe,i);continue}if(e.includes(i))return r.log.trace('handle: respond with "%s" for "%s"',i,i),await Tn(n,rt(`${i}
|
|
58
|
+
`),r),r.log.trace('handle: responded with "%s" for "%s"',i,i),{stream:n.unwrap(),protocol:i};if(i==="ls"){let s=new Ke(...e.map(o=>In.single(rt(`${o}
|
|
59
59
|
`))),rt(`
|
|
60
|
-
`));r.log.trace('handle: respond with "%s" for %s',e,i),await
|
|
61
|
-
`),r),r.log('handle: responded with "na" for "%s"',i)}}var Vv=500,zl=class{id;remoteAddr;remotePeer;direction;timeline;multiplexer;encryption;status;transient;log;tags;_newStream;_close;_abort;_getStreams;constructor(e){let{remoteAddr:r,remotePeer:n,newStream:i,close:s,abort:o,getStreams:a}=e;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.direction=e.direction,this.status="open",this.timeline=e.timeline,this.multiplexer=e.multiplexer,this.encryption=e.encryption,this.transient=e.transient??!1,this.log=e.logger.forComponent(`libp2p:connection:${this.direction}:${this.id}`),this.remoteAddr.getPeerId()==null&&(this.remoteAddr=this.remoteAddr.encapsulate(`/p2p/${this.remotePeer}`)),this._newStream=i,this._close=s,this._abort=o,this._getStreams=a,this.tags=[]}[Symbol.toStringTag]="Connection";[xh]=!0;get streams(){return this._getStreams()}async newStream(e,r){if(this.status==="closing")throw new S("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.status==="closed")throw new S("the connection is closed","ERR_CONNECTION_CLOSED");if(Array.isArray(e)||(e=[e]),this.transient&&r?.runOnTransientConnection!==!0)throw new S("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");let n=await this._newStream(e,r);return n.direction="outbound",n}async close(e={}){if(!(this.status==="closed"||this.status==="closing")){if(this.log("closing connection to %a",this.remoteAddr),this.status="closing",e.signal==null){let r=AbortSignal.timeout(Vv);ht(1/0,r),e={...e,signal:r}}try{this.log.trace("closing all streams"),await Promise.all(this.streams.map(async r=>r.close(e))),this.log.trace("closing underlying transport"),await this._close(e),this.log.trace("updating timeline with close time"),this.status="closed",this.timeline.close=Date.now()}catch(r){this.log.error("error encountered during graceful close of connection to %a",this.remoteAddr,r),this.abort(r)}}}abort(e){this.log.error("aborting connection to %a due to error",this.remoteAddr,e),this.status="closing",this.streams.forEach(r=>{r.abort(e)}),this.log.error("all streams aborted",this.streams.length),this._abort(e),this.timeline.close=Date.now(),this.status="closed"}};function og(t){return new zl(t)}var zv=3e4;function Hv(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==F.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return Ol}function Gv(t,e,r={}){try{let{options:n}=e.getHandler(t);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.code!==F.ERR_NO_HANDLER_FOR_PROTOCOL)throw n}return r.maxOutboundStreams??Ml}function ag(t,e,r){let n=0;return r.streams.forEach(i=>{i.direction===e&&i.protocol===t&&n++}),n}var da=class{components;connectionEncryption;muxers;inboundUpgradeTimeout;events;constructor(e,r){this.components=e,this.connectionEncryption=new Map,r.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,r.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=r.inboundUpgradeTimeout??3e4,this.events=e.events}async shouldBlockConnection(e,r,n){let i=this.components.connectionGater[n];if(i!==void 0&&await i(e,r))throw new S(`The multiaddr connection is blocked by gater.${n}`,F.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new S("connection denied",F.ERR_CONNECTION_DENIED);let i,s,o,a,c,u=AbortSignal.timeout(this.inboundUpgradeTimeout),l=()=>{e.abort(new S("inbound upgrade timeout",_s))};u.addEventListener("abort",l,{once:!0}),ht(1/0,u);try{if(await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new S("The multiaddr connection is blocked by gater.acceptConnection",F.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),e.log("starting the inbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let d=this.components.connectionProtector;d!=null&&(e.log("protecting the inbound connection"),f=await d.protect(e))}try{if(i=f,r?.skipEncryption!==!0){({conn:i,remotePeer:s,protocol:c}=await this._encryptInbound(f));let d={...f,...i};await this.shouldBlockConnection(s,d,"denyInboundEncryptedConnection")}else{let d=e.remoteAddr.getPeerId();if(d==null)throw new S("inbound connection that skipped encryption must have a peer id",F.ERR_INVALID_MULTIADDR);let p=se(d);c="native",s=p}if(o=i,r?.muxerFactory!=null)a=r.muxerFactory;else if(this.muxers.size>0){let d=await this._multiplexInbound({...f,...i},this.muxers);a=d.muxerFactory,o=d.stream}}catch(d){throw e.log.error("failed to upgrade inbound connection",d),d}return await this.shouldBlockConnection(s,e,"denyInboundUpgradedConnection"),e.log("successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:e,upgradedConn:o,muxerFactory:a,remotePeer:s,transient:r?.transient})}finally{u.removeEventListener("abort",l),this.components.connectionManager.afterUpgradeInbound()}}async upgradeOutbound(e,r){let n=e.remoteAddr.getPeerId(),i;n!=null&&(i=se(n),await this.shouldBlockConnection(i,e,"denyOutboundConnection"));let s,o,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),e.log("starting the outbound connection upgrade");let l=e;if(r?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(l=await f.protect(e))}try{if(s=l,r?.skipEncryption!==!0){({conn:s,remotePeer:o,protocol:c}=await this._encryptOutbound(l,i));let f={...l,...s};await this.shouldBlockConnection(o,f,"denyOutboundEncryptedConnection")}else{if(i==null)throw new S("Encryption was skipped but no peer id was passed",F.ERR_INVALID_PEER);c="native",o=i}if(a=s,r?.muxerFactory!=null)u=r.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...l,...s},this.muxers);u=f.muxerFactory,a=f.stream}}catch(f){throw e.log.error("failed to upgrade outbound connection",f),await e.close(f),f}return await this.shouldBlockConnection(o,e,"denyOutboundUpgradedConnection"),e.log("successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:e,upgradedConn:a,muxerFactory:u,remotePeer:o,transient:r?.transient})}_createConnection(e){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:s,remotePeer:o,muxerFactory:a,transient:c}=e,u,l,f;a!=null&&(u=a.createStreamMuxer({direction:n,onIncomingStream:h=>{f!=null&&Promise.resolve().then(async()=>{let m=this.components.registrar.getProtocols(),{stream:g,protocol:y}=await ns(h,m,{log:h.log,yieldBytes:!1});if(f==null)return;f.log("incoming stream opened on %s",y);let x=Hv(y,this.components.registrar);if(ag(y,"inbound",f)===x){let I=new S(`Too many inbound protocol streams for protocol "${y}" - limit ${x}`,F.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS);throw h.abort(I),I}h.source=g.source,h.sink=g.sink,h.protocol=y,g.closeWrite!=null&&(h.closeWrite=g.closeWrite),g.closeRead!=null&&(h.closeRead=g.closeRead),g.close!=null&&(h.close=g.close),await this.components.peerStore.merge(o,{protocols:[y]}),this.components.metrics?.trackProtocolStream(h,f),this._onStream({connection:f,stream:h,protocol:y})}).catch(async m=>{f.log.error("error handling incoming stream id %s",h.id,m.message,m.code,m.stack),h.timeline.close==null&&await h.close()})}}),l=async(h,m={})=>{if(u==null)throw new S("Stream is not multiplexed",F.ERR_MUXER_UNAVAILABLE);f.log("starting new stream for protocols %s",h);let g=await u.newStream();f.log.trace("started new stream %s for protocols %s",g.id,h);try{if(m.signal==null){g.log("no abort signal was passed while trying to negotiate protocols %s falling back to default timeout",h);let v=AbortSignal.timeout(zv);ht(1/0,v),m={...m,signal:v}}g.log.trace("selecting protocol from protocols %s",h);let{stream:y,protocol:x}=await rs(g,h,{...m,log:g.log,yieldBytes:!0});g.log("selected protocol %s",x);let b=Gv(x,this.components.registrar,m);if(ag(x,"outbound",f)>=b){let v=new S(`Too many outbound protocol streams for protocol "${x}" - limit ${b}`,F.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw g.abort(v),v}return await this.components.peerStore.merge(o,{protocols:[x]}),g.source=y.source,g.sink=y.sink,g.protocol=x,y.closeWrite!=null&&(g.closeWrite=y.closeWrite),y.closeRead!=null&&(g.closeRead=y.closeRead),y.close!=null&&(g.close=y.close),this.components.metrics?.trackProtocolStream(g,f),g}catch(y){throw f.log.error("could not create new stream for protocols %s",h,y),g.timeline.close==null&&g.abort(y),y.code!=null?y:new S(String(y),F.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([u.sink(s.source),s.sink(u.source)]).catch(h=>{f.log.error("error piping data through muxer",h)}));let d=i.timeline;i.timeline=new Proxy(d,{set:(...h)=>(f!=null&&h[1]==="close"&&h[2]!=null&&d.close==null&&(async()=>{try{f.status==="open"&&await f.close()}catch(m){f.log.error("error closing connection after timeline close",m)}finally{this.events.safeDispatchEvent("connection:close",{detail:f})}})().catch(m=>{f.log.error("error thrown while dispatching connection:close event",m)}),Reflect.set(...h))}),i.timeline.upgraded=Date.now();let p=()=>{throw new S("connection is not multiplexed",F.ERR_CONNECTION_NOT_MULTIPLEXED)};return f=og({remoteAddr:i.remoteAddr,remotePeer:o,status:"open",direction:n,timeline:i.timeline,multiplexer:u?.protocol,encryption:r,transient:c,logger:this.components.logger,newStream:l??p,getStreams:()=>u!=null?u.streams:[],close:async h=>{u!=null&&(f.log.trace("close muxer"),await u.close(h)),f.log.trace("close maconn"),await i.close(h),f.log.trace("closed maconn")},abort:h=>{i.abort(h),u?.abort(h)}}),this.events.safeDispatchEvent("connection:open",{detail:f}),f}_onStream(e){let{connection:r,stream:n,protocol:i}=e,{handler:s,options:o}=this.components.registrar.getHandler(i);if(r.transient&&o.runOnTransientConnection!==!0)throw new S("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");s({connection:r,stream:n})}async _encryptInbound(e){let r=Array.from(this.connectionEncryption.keys());e.log("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await ns(e,r,{log:e.log}),s=this.connectionEncryption.get(i);if(s==null)throw new Error(`no crypto module found for ${i}`);return e.log("encrypting inbound connection using",i),{...await s.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw e.log.error("encrypting inbound connection to %p failed",n),new S(n.message,F.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r){let n=Array.from(this.connectionEncryption.keys());e.log("selecting outbound crypto protocol",n);try{e.log.trace("selecting encrypter from %s",n);let{stream:i,protocol:s}=await rs(e,n,{log:e.log,yieldBytes:!0}),o=this.connectionEncryption.get(s);if(o==null)throw new Error(`no crypto module found for ${s}`);return e.log("encrypting outbound connection to %p using %p",r),{...await o.secureOutbound(this.components.peerId,i,r),protocol:s}}catch(i){throw e.log.error("encrypting outbound connection to %p failed",i),new S(i.message,F.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());e.log("outbound selecting muxer %s",n);try{e.log.trace("selecting stream muxer from %s",n);let{stream:i,protocol:s}=await rs(e,n,{log:e.log,yieldBytes:!0});e.log("selected %s as muxer protocol",s);let o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw e.log.error("error multiplexing outbound connection",i),new S(String(i),F.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());e.log("inbound handling muxers %s",n);try{let{stream:i,protocol:s}=await ns(e,n,{log:e.log}),o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw e.log.error("error multiplexing inbound connection",i),new S(String(i),F.ERR_MUXER_UNAVAILABLE)}}};var cg="1.0.11-cd8cafcd5",ug="libp2p";var Hl=class extends wi{peerId;peerStore;contentRouting;peerRouting;metrics;services;logger;status;components;log;constructor(e){super(),this.status="stopped";let r=new wi,n=r.dispatchEvent.bind(r);r.dispatchEvent=a=>{let c=n(a),u=this.dispatchEvent(new $a(a.type,{detail:a.detail}));return c||u},ht(1/0,r),this.peerId=e.peerId,this.logger=e.logger??Qs(),this.log=this.logger.forComponent("libp2p"),this.services={};let i=this.components=hp({peerId:e.peerId,nodeInfo:e.nodeInfo??{name:ug,version:cg},logger:this.logger,events:r,datastore:e.datastore??new Eo,connectionGater:vp(e.connectionGater)});this.peerStore=this.configureComponent("peerStore",new bo(i,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...e.peerStore})),e.metrics!=null&&(this.metrics=this.configureComponent("metrics",e.metrics(this.components))),i.events.addEventListener("peer:update",a=>{if(a.detail.previous==null){let c={id:a.detail.peer.id,multiaddrs:a.detail.peer.addresses.map(u=>u.multiaddr)};i.events.safeDispatchEvent("peer:discovery",{detail:c})}}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new da(this.components,{connectionEncryption:(e.connectionEncryption??[]).map((a,c)=>this.configureComponent(`connection-encryption-${c}`,a(this.components))),muxers:(e.streamMuxers??[]).map((a,c)=>this.configureComponent(`stream-muxers-${c}`,a(this.components))),inboundUpgradeTimeout:e.connectionManager.inboundUpgradeTimeout}),this.configureComponent("transportManager",new na(this.components,e.transportManager)),this.configureComponent("connectionManager",new Zo(this.components,e.connectionManager)),this.configureComponent("registrar",new ra(this.components)),this.configureComponent("addressManager",new Ao(this.components,e.addresses));let s=(e.peerRouters??[]).map((a,c)=>this.configureComponent(`peer-router-${c}`,a(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new ta(this.components,{routers:s}));let o=(e.contentRouters??[]).map((a,c)=>this.configureComponent(`content-router-${c}`,a(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new ea(this.components,{routers:o})),(e.peerDiscovery??[]).forEach((a,c)=>{this.configureComponent(`peer-discovery-${c}`,a(this.components)).addEventListener("peer",l=>{this.#e(l)})}),e.transports?.forEach((a,c)=>{this.components.transportManager.add(this.configureComponent(`transport-${c}`,a(this.components)))}),e.services!=null)for(let a of Object.keys(e.services)){let c=e.services[a],u=c(this.components);if(u==null){this.log.error("service factory %s returned null or undefined instance",a);continue}this.services[a]=u,this.configureComponent(a,u),u[Ma]!=null&&(this.log("registering service %s for content routing",a),o.push(u[Ma])),u[Ka]!=null&&(this.log("registering service %s for peer routing",a),s.push(u[Ka])),u[Ua]!=null&&(this.log("registering service %s for peer discovery",a),u[Ua].addEventListener?.("peer",l=>{this.#e(l)}))}}configureComponent(e,r){return r==null&&this.log.error("component %s was null or undefined",e),this.components[e]=r,r}async start(){if(this.status==="stopped"){this.status="starting",this.log("libp2p is starting");try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),this.status="started",this.safeDispatchEvent("start",{detail:this}),this.log("libp2p has started")}catch(e){throw this.log.error("An error occurred starting libp2p",e),this.status="started",await this.stop(),e}}}async stop(){this.status==="started"&&(this.log("libp2p is stopping"),this.status="stopping",await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.status="stopped",this.safeDispatchEvent("stop",{detail:this}),this.log("libp2p has stopped"))}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new St;for(let r of this.components.connectionManager.getConnections())e.add(r.remotePeer);return Array.from(e)}async dial(e,r={}){return this.components.connectionManager.openConnection(e,{priority:75,...r})}async dialProtocol(e,r,n={}){if(r==null)throw new S("no protocols were provided to open a stream",F.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw new S("no protocols were provided to open a stream",F.ERR_INVALID_PROTOCOLS_FOR_STREAM);return(await this.dial(e,n)).newStream(r,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(e,r={}){Pr(e)&&(e=se(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e,r)}async getPublicKey(e,r={}){if(this.log("getPublicKey %p",e),e.publicKey!=null)return e.publicKey;let n=await this.peerStore.get(e);if(n.id.publicKey!=null)return n.id.publicKey;let i=cp([So("/pk/"),e.multihash.digest]),s=await this.contentRouting.get(i,r);return Ui(s),await this.peerStore.patch(e,{publicKey:s}),s}async handle(e,r,n){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async i=>{await this.components.registrar.handle(i,r,n)}))}async unhandle(e){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async r=>{await this.components.registrar.unhandle(r)}))}async register(e,r){return this.components.registrar.register(e,r)}unregister(e){this.components.registrar.unregister(e)}#e(e){let{detail:r}=e;if(r.id.toString()===this.peerId.toString()){this.log.error(new Error(F.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs}).catch(n=>{this.log.error(n)})}};async function lg(t={}){return t.peerId??=await hd(),new Hl(Wp(t))}async function Yv(t={}){let e=await lg(t);return t.start!==!1&&await e.start(),e}return Sg(Qv);})();
|
|
60
|
+
`));r.log.trace('handle: respond with "%s" for %s',e,i),await Tn(n,s,r),r.log.trace('handle: responded with "%s" for %s',e,i);continue}r.log('handle: respond with "na" for "%s"',i),await Tn(n,rt(`na
|
|
61
|
+
`),r),r.log('handle: responded with "na" for "%s"',i)}}var I_=500,Of=class{id;remoteAddr;remotePeer;direction;timeline;multiplexer;encryption;status;transient;log;tags;_newStream;_close;_abort;_getStreams;constructor(e){let{remoteAddr:r,remotePeer:n,newStream:i,close:s,abort:o,getStreams:a}=e;this.id=`${parseInt(String(Math.random()*1e9)).toString(36)}${Date.now()}`,this.remoteAddr=r,this.remotePeer=n,this.direction=e.direction,this.status="open",this.timeline=e.timeline,this.multiplexer=e.multiplexer,this.encryption=e.encryption,this.transient=e.transient??!1,this.log=e.logger.forComponent(`libp2p:connection:${this.direction}:${this.id}`),this.remoteAddr.getPeerId()==null&&(this.remoteAddr=this.remoteAddr.encapsulate(`/p2p/${this.remotePeer}`)),this._newStream=i,this._close=s,this._abort=o,this._getStreams=a,this.tags=[]}[Symbol.toStringTag]="Connection";[u0]=!0;get streams(){return this._getStreams()}async newStream(e,r){if(this.status==="closing")throw new _("the connection is being closed","ERR_CONNECTION_BEING_CLOSED");if(this.status==="closed")throw new _("the connection is closed","ERR_CONNECTION_CLOSED");if(Array.isArray(e)||(e=[e]),this.transient&&r?.runOnTransientConnection!==!0)throw new _("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");let n=await this._newStream(e,r);return n.direction="outbound",n}async close(e={}){if(!(this.status==="closed"||this.status==="closing")){if(this.log("closing connection to %a",this.remoteAddr),this.status="closing",e.signal==null){let r=AbortSignal.timeout(I_);dt(1/0,r),e={...e,signal:r}}try{this.log.trace("closing all streams"),await Promise.all(this.streams.map(async r=>r.close(e))),this.log.trace("closing underlying transport"),await this._close(e),this.log.trace("updating timeline with close time"),this.status="closed",this.timeline.close=Date.now()}catch(r){this.log.error("error encountered during graceful close of connection to %a",this.remoteAddr,r),this.abort(r)}}}abort(e){this.log.error("aborting connection to %a due to error",this.remoteAddr,e),this.status="closing",this.streams.forEach(r=>{r.abort(e)}),this.log.error("all streams aborted",this.streams.length),this._abort(e),this.timeline.close=Date.now(),this.status="closed"}};function By(t){return new Of(t)}var T_=3e4;function R_(t,e){try{let{options:r}=e.getHandler(t);return r.maxInboundStreams}catch(r){if(r.code!==F.ERR_NO_HANDLER_FOR_PROTOCOL)throw r}return Tf}function B_(t,e,r={}){try{let{options:n}=e.getHandler(t);if(n.maxOutboundStreams!=null)return n.maxOutboundStreams}catch(n){if(n.code!==F.ERR_NO_HANDLER_FOR_PROTOCOL)throw n}return r.maxOutboundStreams??Rf}function Ly(t,e,r){let n=0;return r.streams.forEach(i=>{i.direction===e&&i.protocol===t&&n++}),n}var Ba=class{components;connectionEncryption;muxers;inboundUpgradeTimeout;events;constructor(e,r){this.components=e,this.connectionEncryption=new Map,r.connectionEncryption.forEach(n=>{this.connectionEncryption.set(n.protocol,n)}),this.muxers=new Map,r.muxers.forEach(n=>{this.muxers.set(n.protocol,n)}),this.inboundUpgradeTimeout=r.inboundUpgradeTimeout??3e4,this.events=e.events}async shouldBlockConnection(e,r,n){let i=this.components.connectionGater[n];if(i!==void 0&&await i(e,r))throw new _(`The multiaddr connection is blocked by gater.${n}`,F.ERR_CONNECTION_INTERCEPTED)}async upgradeInbound(e,r){if(!await this.components.connectionManager.acceptIncomingConnection(e))throw new _("connection denied",F.ERR_CONNECTION_DENIED);let i,s,o,a,c,u=AbortSignal.timeout(this.inboundUpgradeTimeout),l=()=>{e.abort(new _("inbound upgrade timeout",Ms))};u.addEventListener("abort",l,{once:!0}),dt(1/0,u);try{if(await this.components.connectionGater.denyInboundConnection?.(e)===!0)throw new _("The multiaddr connection is blocked by gater.acceptConnection",F.ERR_CONNECTION_INTERCEPTED);this.components.metrics?.trackMultiaddrConnection(e),e.log("starting the inbound connection upgrade");let f=e;if(r?.skipProtection!==!0){let d=this.components.connectionProtector;d!=null&&(e.log("protecting the inbound connection"),f=await d.protect(e))}try{if(i=f,r?.skipEncryption!==!0){({conn:i,remotePeer:s,protocol:c}=await this._encryptInbound(f));let d={...f,...i};await this.shouldBlockConnection(s,d,"denyInboundEncryptedConnection")}else{let d=e.remoteAddr.getPeerId();if(d==null)throw new _("inbound connection that skipped encryption must have a peer id",F.ERR_INVALID_MULTIADDR);let p=oe(d);c="native",s=p}if(o=i,r?.muxerFactory!=null)a=r.muxerFactory;else if(this.muxers.size>0){let d=await this._multiplexInbound({...f,...i},this.muxers);a=d.muxerFactory,o=d.stream}}catch(d){throw e.log.error("failed to upgrade inbound connection",d),d}return await this.shouldBlockConnection(s,e,"denyInboundUpgradedConnection"),e.log("successfully upgraded inbound connection"),this._createConnection({cryptoProtocol:c,direction:"inbound",maConn:e,upgradedConn:o,muxerFactory:a,remotePeer:s,transient:r?.transient})}finally{u.removeEventListener("abort",l),this.components.connectionManager.afterUpgradeInbound()}}async upgradeOutbound(e,r){let n=e.remoteAddr.getPeerId(),i;n!=null&&(i=oe(n),await this.shouldBlockConnection(i,e,"denyOutboundConnection"));let s,o,a,c,u;this.components.metrics?.trackMultiaddrConnection(e),e.log("starting the outbound connection upgrade");let l=e;if(r?.skipProtection!==!0){let f=this.components.connectionProtector;f!=null&&(l=await f.protect(e))}try{if(s=l,r?.skipEncryption!==!0){({conn:s,remotePeer:o,protocol:c}=await this._encryptOutbound(l,i));let f={...l,...s};await this.shouldBlockConnection(o,f,"denyOutboundEncryptedConnection")}else{if(i==null)throw new _("Encryption was skipped but no peer id was passed",F.ERR_INVALID_PEER);c="native",o=i}if(a=s,r?.muxerFactory!=null)u=r.muxerFactory;else if(this.muxers.size>0){let f=await this._multiplexOutbound({...l,...s},this.muxers);u=f.muxerFactory,a=f.stream}}catch(f){throw e.log.error("failed to upgrade outbound connection",f),await e.close(f),f}return await this.shouldBlockConnection(o,e,"denyOutboundUpgradedConnection"),e.log("successfully upgraded outbound connection"),this._createConnection({cryptoProtocol:c,direction:"outbound",maConn:e,upgradedConn:a,muxerFactory:u,remotePeer:o,transient:r?.transient})}_createConnection(e){let{cryptoProtocol:r,direction:n,maConn:i,upgradedConn:s,remotePeer:o,muxerFactory:a,transient:c}=e,u,l,f;a!=null&&(u=a.createStreamMuxer({direction:n,onIncomingStream:h=>{f!=null&&Promise.resolve().then(async()=>{let m=this.components.registrar.getProtocols(),{stream:g,protocol:y}=await xs(h,m,{log:h.log,yieldBytes:!1});if(f==null)return;f.log("incoming stream opened on %s",y);let x=R_(y,this.components.registrar);if(Ly(y,"inbound",f)===x){let S=new _(`Too many inbound protocol streams for protocol "${y}" - limit ${x}`,F.ERR_TOO_MANY_INBOUND_PROTOCOL_STREAMS);throw h.abort(S),S}h.source=g.source,h.sink=g.sink,h.protocol=y,g.closeWrite!=null&&(h.closeWrite=g.closeWrite),g.closeRead!=null&&(h.closeRead=g.closeRead),g.close!=null&&(h.close=g.close),await this.components.peerStore.merge(o,{protocols:[y]}),this.components.metrics?.trackProtocolStream(h,f),this._onStream({connection:f,stream:h,protocol:y})}).catch(async m=>{f.log.error("error handling incoming stream id %s",h.id,m.message,m.code,m.stack),h.timeline.close==null&&await h.close()})}}),l=async(h,m={})=>{if(u==null)throw new _("Stream is not multiplexed",F.ERR_MUXER_UNAVAILABLE);f.log("starting new stream for protocols %s",h);let g=await u.newStream();f.log.trace("started new stream %s for protocols %s",g.id,h);try{if(m.signal==null){g.log("no abort signal was passed while trying to negotiate protocols %s falling back to default timeout",h);let E=AbortSignal.timeout(T_);dt(1/0,E),m={...m,signal:E}}g.log.trace("selecting protocol from protocols %s",h);let{stream:y,protocol:x}=await ys(g,h,{...m,log:g.log,yieldBytes:!0});g.log("selected protocol %s",x);let b=B_(x,this.components.registrar,m);if(Ly(x,"outbound",f)>=b){let E=new _(`Too many outbound protocol streams for protocol "${x}" - limit ${b}`,F.ERR_TOO_MANY_OUTBOUND_PROTOCOL_STREAMS);throw g.abort(E),E}return await this.components.peerStore.merge(o,{protocols:[x]}),g.source=y.source,g.sink=y.sink,g.protocol=x,y.closeWrite!=null&&(g.closeWrite=y.closeWrite),y.closeRead!=null&&(g.closeRead=y.closeRead),y.close!=null&&(g.close=y.close),this.components.metrics?.trackProtocolStream(g,f),g}catch(y){throw f.log.error("could not create new stream for protocols %s",h,y),g.timeline.close==null&&g.abort(y),y.code!=null?y:new _(String(y),F.ERR_UNSUPPORTED_PROTOCOL)}},Promise.all([u.sink(s.source),s.sink(u.source)]).catch(h=>{f.log.error("error piping data through muxer",h)}));let d=i.timeline;i.timeline=new Proxy(d,{set:(...h)=>(f!=null&&h[1]==="close"&&h[2]!=null&&d.close==null&&(async()=>{try{f.status==="open"&&await f.close()}catch(m){f.log.error("error closing connection after timeline close",m)}finally{this.events.safeDispatchEvent("connection:close",{detail:f})}})().catch(m=>{f.log.error("error thrown while dispatching connection:close event",m)}),Reflect.set(...h))}),i.timeline.upgraded=Date.now();let p=()=>{throw new _("connection is not multiplexed",F.ERR_CONNECTION_NOT_MULTIPLEXED)};return f=By({remoteAddr:i.remoteAddr,remotePeer:o,status:"open",direction:n,timeline:i.timeline,multiplexer:u?.protocol,encryption:r,transient:c,logger:this.components.logger,newStream:l??p,getStreams:()=>u!=null?u.streams:[],close:async h=>{u!=null&&(f.log.trace("close muxer"),await u.close(h)),f.log.trace("close maconn"),await i.close(h),f.log.trace("closed maconn")},abort:h=>{i.abort(h),u?.abort(h)}}),this.events.safeDispatchEvent("connection:open",{detail:f}),f}_onStream(e){let{connection:r,stream:n,protocol:i}=e,{handler:s,options:o}=this.components.registrar.getHandler(i);if(r.transient&&o.runOnTransientConnection!==!0)throw new _("Cannot open protocol stream on transient connection","ERR_TRANSIENT_CONNECTION");s({connection:r,stream:n})}async _encryptInbound(e){let r=Array.from(this.connectionEncryption.keys());e.log("handling inbound crypto protocol selection",r);try{let{stream:n,protocol:i}=await xs(e,r,{log:e.log}),s=this.connectionEncryption.get(i);if(s==null)throw new Error(`no crypto module found for ${i}`);return e.log("encrypting inbound connection using",i),{...await s.secureInbound(this.components.peerId,n),protocol:i}}catch(n){throw e.log.error("encrypting inbound connection to %p failed",n),new _(n.message,F.ERR_ENCRYPTION_FAILED)}}async _encryptOutbound(e,r){let n=Array.from(this.connectionEncryption.keys());e.log("selecting outbound crypto protocol",n);try{e.log.trace("selecting encrypter from %s",n);let{stream:i,protocol:s}=await ys(e,n,{log:e.log,yieldBytes:!0}),o=this.connectionEncryption.get(s);if(o==null)throw new Error(`no crypto module found for ${s}`);return e.log("encrypting outbound connection to %p using %p",r),{...await o.secureOutbound(this.components.peerId,i,r),protocol:s}}catch(i){throw e.log.error("encrypting outbound connection to %p failed",i),new _(i.message,F.ERR_ENCRYPTION_FAILED)}}async _multiplexOutbound(e,r){let n=Array.from(r.keys());e.log("outbound selecting muxer %s",n);try{e.log.trace("selecting stream muxer from %s",n);let{stream:i,protocol:s}=await ys(e,n,{log:e.log,yieldBytes:!0});e.log("selected %s as muxer protocol",s);let o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw e.log.error("error multiplexing outbound connection",i),new _(String(i),F.ERR_MUXER_UNAVAILABLE)}}async _multiplexInbound(e,r){let n=Array.from(r.keys());e.log("inbound handling muxers %s",n);try{let{stream:i,protocol:s}=await xs(e,n,{log:e.log}),o=r.get(s);return{stream:i,muxerFactory:o}}catch(i){throw e.log.error("error multiplexing inbound connection",i),new _(String(i),F.ERR_MUXER_UNAVAILABLE)}}};var Dy="1.0.12-28587d24f",Py="libp2p";var Uf=class extends Li{peerId;peerStore;contentRouting;peerRouting;metrics;services;logger;status;components;log;constructor(e){super(),this.status="stopped";let r=new Li,n=r.dispatchEvent.bind(r);r.dispatchEvent=a=>{let c=n(a),u=this.dispatchEvent(new oc(a.type,{detail:a.detail}));return c||u},dt(1/0,r),this.peerId=e.peerId,this.logger=e.logger??fo(),this.log=this.logger.forComponent("libp2p"),this.services={};let i=this.components=Bm({peerId:e.peerId,nodeInfo:e.nodeInfo??{name:Py,version:Dy},logger:this.logger,events:r,datastore:e.datastore??new Mo,connectionGater:Km(e.connectionGater)});this.peerStore=this.configureComponent("peerStore",new Oo(i,{addressFilter:this.components.connectionGater.filterMultiaddrForPeer,...e.peerStore})),e.metrics!=null&&(this.metrics=this.configureComponent("metrics",e.metrics(this.components))),i.events.addEventListener("peer:update",a=>{if(a.detail.previous==null){let c={id:a.detail.peer.id,multiaddrs:a.detail.peer.addresses.map(u=>u.multiaddr)};i.events.safeDispatchEvent("peer:discovery",{detail:c})}}),e.connectionProtector!=null&&this.configureComponent("connectionProtector",e.connectionProtector(i)),this.components.upgrader=new Ba(this.components,{connectionEncryption:(e.connectionEncryption??[]).map((a,c)=>this.configureComponent(`connection-encryption-${c}`,a(this.components))),muxers:(e.streamMuxers??[]).map((a,c)=>this.configureComponent(`stream-muxers-${c}`,a(this.components))),inboundUpgradeTimeout:e.connectionManager.inboundUpgradeTimeout}),this.configureComponent("transportManager",new wa(this.components,e.transportManager)),this.configureComponent("connectionManager",new pa(this.components,e.connectionManager)),this.configureComponent("registrar",new ba(this.components)),this.configureComponent("addressManager",new Vo(this.components,e.addresses));let s=(e.peerRouters??[]).map((a,c)=>this.configureComponent(`peer-router-${c}`,a(this.components)));this.peerRouting=this.components.peerRouting=this.configureComponent("peerRouting",new xa(this.components,{routers:s}));let o=(e.contentRouters??[]).map((a,c)=>this.configureComponent(`content-router-${c}`,a(this.components)));if(this.contentRouting=this.components.contentRouting=this.configureComponent("contentRouting",new ya(this.components,{routers:o})),(e.peerDiscovery??[]).forEach((a,c)=>{this.configureComponent(`peer-discovery-${c}`,a(this.components)).addEventListener("peer",l=>{this.#e(l)})}),e.transports?.forEach((a,c)=>{this.components.transportManager.add(this.configureComponent(`transport-${c}`,a(this.components)))}),e.services!=null)for(let a of Object.keys(e.services)){let c=e.services[a],u=c(this.components);if(u==null){this.log.error("service factory %s returned null or undefined instance",a);continue}this.services[a]=u,this.configureComponent(a,u),u[ec]!=null&&(this.log("registering service %s for content routing",a),o.push(u[ec])),u[nc]!=null&&(this.log("registering service %s for peer routing",a),s.push(u[nc])),u[tc]!=null&&(this.log("registering service %s for peer discovery",a),u[tc].addEventListener?.("peer",l=>{this.#e(l)}))}}configureComponent(e,r){return r==null&&this.log.error("component %s was null or undefined",e),this.components[e]=r,r}async start(){if(this.status==="stopped"){this.status="starting",this.log("libp2p is starting");try{await this.components.beforeStart?.(),await this.components.start(),await this.components.afterStart?.(),this.status="started",this.safeDispatchEvent("start",{detail:this}),this.log("libp2p has started")}catch(e){throw this.log.error("An error occurred starting libp2p",e),this.status="started",await this.stop(),e}}}async stop(){this.status==="started"&&(this.log("libp2p is stopping"),this.status="stopping",await this.components.beforeStop?.(),await this.components.stop(),await this.components.afterStop?.(),this.status="stopped",this.safeDispatchEvent("stop",{detail:this}),this.log("libp2p has stopped"))}getConnections(e){return this.components.connectionManager.getConnections(e)}getDialQueue(){return this.components.connectionManager.getDialQueue()}getPeers(){let e=new _t;for(let r of this.components.connectionManager.getConnections())e.add(r.remotePeer);return Array.from(e)}async dial(e,r={}){return this.components.connectionManager.openConnection(e,{priority:75,...r})}async dialProtocol(e,r,n={}){if(r==null)throw new _("no protocols were provided to open a stream",F.ERR_INVALID_PROTOCOLS_FOR_STREAM);if(r=Array.isArray(r)?r:[r],r.length===0)throw new _("no protocols were provided to open a stream",F.ERR_INVALID_PROTOCOLS_FOR_STREAM);return(await this.dial(e,n)).newStream(r,n)}getMultiaddrs(){return this.components.addressManager.getAddresses()}getProtocols(){return this.components.registrar.getProtocols()}async hangUp(e,r={}){Or(e)&&(e=oe(e.getPeerId()??"")),await this.components.connectionManager.closeConnections(e,r)}async getPublicKey(e,r={}){if(this.log("getPublicKey %p",e),e.publicKey!=null)return e.publicKey;let n=await this.peerStore.get(e);if(n.id.publicKey!=null)return n.id.publicKey;let i=Im([qo("/pk/"),e.multihash.digest]),s=await this.contentRouting.get(i,r);return ji(s),await this.peerStore.patch(e,{publicKey:s}),s}async handle(e,r,n){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async i=>{await this.components.registrar.handle(i,r,n)}))}async unhandle(e){Array.isArray(e)||(e=[e]),await Promise.all(e.map(async r=>{await this.components.registrar.unhandle(r)}))}async register(e,r){return this.components.registrar.register(e,r)}unregister(e){this.components.registrar.unregister(e)}#e(e){let{detail:r}=e;if(r.id.toString()===this.peerId.toString()){this.log.error(new Error(F.ERR_DISCOVERED_SELF));return}this.components.peerStore.merge(r.id,{multiaddrs:r.multiaddrs}).catch(n=>{this.log.error(n)})}};async function Ny(t={}){return t.peerId??=await Sp(),new Uf(yg(t))}async function D_(t={}){let e=await Ny(t);return t.start!==!1&&await e.start(),e}return Yy(P_);})();
|
|
62
62
|
/*! Bundled license information:
|
|
63
63
|
|
|
64
64
|
@noble/hashes/esm/utils.js:
|