@libp2p/circuit-relay-v2 0.0.0-6b6ba9ab7 → 0.0.0-74e84bc29
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 +9 -9
- package/dist/src/pb/index.js.map +1 -1
- package/dist/src/server/advert-service.js.map +1 -1
- package/dist/src/server/index.js.map +1 -1
- package/dist/src/server/reservation-store.js.map +1 -1
- package/dist/src/server/reservation-voucher.js.map +1 -1
- package/dist/src/transport/discovery.js.map +1 -1
- package/dist/src/transport/listener.js.map +1 -1
- package/dist/src/transport/reservation-store.js.map +1 -1
- package/dist/src/transport/transport.js.map +1 -1
- package/dist/src/utils.js.map +1 -1
- package/package.json +14 -10
package/dist/index.min.js
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PCircuitRelayV2 = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
2
|
-
"use strict";var Libp2PCircuitRelayV2=(()=>{var
|
3
|
-
`)}return n};eo.decode=function(e,t){if(typeof e!="string")throw new TypeError('"input" must be a string.');if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');var r=V0[t];if(!r){r=V0[t]=[];for(var n=0;n<t.length;++n)r[t.charCodeAt(n)]=n}e=e.replace(/\s/g,"");for(var i=t.length,s=t.charAt(0),o=[0],n=0;n<e.length;n++){var a=r[e.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 f=0;e[f]===s&&f<e.length-1;++f)o.push(0);return typeof Buffer<"u"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function nd(e,t){var r=0,n=t.length,i=t.charAt(0),s=[0];for(r=0;r<e.length();++r){for(var o=0,a=e.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;e.at(r)===0&&r<e.length()-1;++r)c+=i;for(r=s.length-1;r>=0;--r)c+=t[s[r]];return c}});var Dt=ot((w2,Y0)=>{var z0=ht(),G0=H0(),g=Y0.exports=z0.util=z0.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){g.nextTick=process.nextTick,typeof setImmediate=="function"?g.setImmediate=setImmediate:g.setImmediate=g.nextTick;return}if(typeof setImmediate=="function"){g.setImmediate=function(){return setImmediate.apply(void 0,arguments)},g.nextTick=function(a){return setImmediate(a)};return}if(g.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===e){c.stopPropagation();var u=t.slice();t.length=0,u.forEach(function(f){f()})}};var o=a,e="forge.setImmediate",t=[];g.setImmediate=function(c){t.push(c),t.length===1&&window.postMessage(e,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var c=t.slice();t.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var s=g.setImmediate;g.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(c)):(t.push(c),t.length===1&&i.setAttribute("a",n=!n))}}g.nextTick=g.setImmediate})();g.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;g.globalScope=function(){return g.isNodejs?globalThis:typeof self>"u"?window:self}();g.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};g.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};g.isArrayBufferView=function(e){return e&&g.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function Dn(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}g.ByteBuffer=ro;function ro(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(g.isArrayBuffer(e)||g.isArrayBufferView(e))if(typeof Buffer<"u"&&e instanceof Buffer)this.data=e.toString("binary");else{var t=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,t)}catch{for(var r=0;r<t.length;++r)this.putByte(t[r])}}else(e instanceof ro||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}g.ByteStringBuffer=ro;var id=4096;g.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>id&&(this.data.substr(0,1),this._constructedStringLength=0)};g.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};g.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};g.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))};g.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this};g.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};g.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(g.encodeUtf8(e))};g.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};g.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};g.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};g.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};g.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};g.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))};g.ByteStringBuffer.prototype.putInt=function(e,t){Dn(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};g.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};g.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};g.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};g.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};g.ByteStringBuffer.prototype.getInt24=function(){var e=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,e};g.ByteStringBuffer.prototype.getInt32=function(){var e=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,e};g.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};g.ByteStringBuffer.prototype.getInt24Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,e};g.ByteStringBuffer.prototype.getInt32Le=function(){var e=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,e};g.ByteStringBuffer.prototype.getInt=function(e){Dn(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};g.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};g.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};g.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};g.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};g.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this};g.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};g.ByteStringBuffer.prototype.copy=function(){var e=g.createBuffer(this.data);return e.read=this.read,e};g.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};g.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};g.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this};g.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.length;++t){var r=this.data.charCodeAt(t);r<16&&(e+="0"),e+=r.toString(16)}return e};g.ByteStringBuffer.prototype.toString=function(){return g.decodeUtf8(this.bytes())};function sd(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=g.isArrayBuffer(e),n=g.isArrayBufferView(e);if(r||n){r?this.data=new DataView(e):this.data=new DataView(e.buffer,e.byteOffset,e.byteLength),this.write="writeOffset"in t?t.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,e!=null&&this.putBytes(e),"writeOffset"in t&&(this.write=t.writeOffset)}g.DataBuffer=sd;g.DataBuffer.prototype.length=function(){return this.write-this.read};g.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};g.DataBuffer.prototype.accommodate=function(e,t){if(this.length()>=e)return this;t=Math.max(t||this.growSize,e);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(r),this.data=new DataView(n.buffer),this};g.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};g.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};g.DataBuffer.prototype.putBytes=function(e,t){if(g.isArrayBufferView(e)){var r=new Uint8Array(e.buffer,e.byteOffset,e.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(g.isArrayBuffer(e)){var r=new Uint8Array(e);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(e instanceof g.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&g.isArrayBufferView(e.data)){var r=new Uint8Array(e.data.byteLength,e.read,e.length());this.accommodate(r.byteLength);var i=new Uint8Array(e.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(e instanceof g.ByteStringBuffer&&(e=e.data,t="binary"),t=t||"binary",typeof e=="string"){var s;if(t==="hex")return this.accommodate(Math.ceil(e.length/2)),s=new Uint8Array(this.data.buffer,this.write),this.write+=g.binary.hex.decode(e,s,this.write),this;if(t==="base64")return this.accommodate(Math.ceil(e.length/4)*3),s=new Uint8Array(this.data.buffer,this.write),this.write+=g.binary.base64.decode(e,s,this.write),this;if(t==="utf8"&&(e=g.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=g.binary.raw.decode(s),this;if(t==="utf16")return this.accommodate(e.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=g.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};g.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};g.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};g.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};g.DataBuffer.prototype.putInt24=function(e){return this.accommodate(3),this.data.setInt16(this.write,e>>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this};g.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};g.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};g.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this};g.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};g.DataBuffer.prototype.putInt=function(e,t){Dn(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};g.DataBuffer.prototype.putSignedInt=function(e,t){return Dn(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};g.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};g.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};g.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};g.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};g.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};g.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};g.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};g.DataBuffer.prototype.getInt=function(e){Dn(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};g.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};g.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};g.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};g.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};g.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this};g.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};g.DataBuffer.prototype.copy=function(){return new g.DataBuffer(this)};g.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this};g.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};g.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};g.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.byteLength;++t){var r=this.data.getUint8(t);r<16&&(e+="0"),e+=r.toString(16)}return e};g.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return g.binary.raw.encode(t);if(e==="hex")return g.binary.hex.encode(t);if(e==="base64")return g.binary.base64.encode(t);if(e==="utf8")return g.text.utf8.decode(t);if(e==="utf16")return g.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};g.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=g.encodeUtf8(e)),new g.ByteBuffer(e)};g.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};g.xorBytes=function(e,t,r){for(var n="",i="",s="",o=0,a=0;r>0;--r,++o)i=e.charCodeAt(o)^t.charCodeAt(o),a>=10&&(n+=s,s="",a=0),s+=String.fromCharCode(i),++a;return n+=s,n};g.hexToBytes=function(e){var t="",r=0;for(e.length&!0&&(r=1,t+=String.fromCharCode(parseInt(e[0],16)));r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t};g.bytesToHex=function(e){return g.createBuffer(e).toHex()};g.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var ur="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",fr=[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],W0="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";g.encode64=function(e,t){for(var r="",n="",i,s,o,a=0;a<e.length;)i=e.charCodeAt(a++),s=e.charCodeAt(a++),o=e.charCodeAt(a++),r+=ur.charAt(i>>2),r+=ur.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=ur.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":ur.charAt(o&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
4
|
-
`,r=r.substr(t));return n+=r,n};g.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",r,n,i,s,o=0;o<e.length;)r=
|
5
|
-
`,r=r.substr(t));return n+=r,n};g.binary.base64.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/4)*3)),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,s,o,a,c=0,u=r;c<e.length;)i=fr[e.charCodeAt(c++)-43],s=fr[e.charCodeAt(c++)-43],o=fr[e.charCodeAt(c++)-43],a=fr[e.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 t?u-r:n.subarray(0,u)};g.binary.base58.encode=function(e,t){return g.binary.baseN.encode(e,W0,t)};g.binary.base58.decode=function(e,t){return g.binary.baseN.decode(e,W0,t)};g.text={utf8:{},utf16:{}};g.text.utf8.encode=function(e,t,r){e=g.encodeUtf8(e);var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,s=0;s<e.length;++s)n[i++]=e.charCodeAt(s);return t?i-r:n};g.text.utf8.decode=function(e){return g.decodeUtf8(String.fromCharCode.apply(null,e))};g.text.utf16.encode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var s=r,o=r,a=0;a<e.length;++a)i[o++]=e.charCodeAt(a),s+=2;return t?s-r:n};g.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};g.deflate=function(e,t,r){if(t=g.decode64(e.deflate(g.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};g.inflate=function(e,t,r){var n=e.inflate(g.encode64(t)).rval;return n===null?null:g.decode64(n)};var no=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=g.encode64(JSON.stringify(r)),n=e.setItem(t,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}},io=function(e,t){if(!e)throw new Error("WebStorage not available.");var r=e.getItem(t);if(e.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(g.decode64(r))),r},od=function(e,t,r,n){var i=io(e,t);i===null&&(i={}),i[r]=n,no(e,t,i)},ad=function(e,t,r){var n=io(e,t);return n!==null&&(n=r in n?n[r]:null),n},cd=function(e,t,r){var n=io(e,t);if(n!==null&&r in n){delete n[r];var i=!0;for(var s in n){i=!1;break}i&&(n=null),no(e,t,n)}},ud=function(e,t){no(e,t,null)},li=function(e,t,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(t[0]===null)throw new Error("Flash local storage not available.");n=e.apply(this,t),s=i==="flash"}(i==="web"||i==="both")&&(t[0]=localStorage,n=e.apply(this,t),s=!0)}catch(c){o=c}if(s)break}if(!s)throw o;return n};g.setItem=function(e,t,r,n,i){li(od,arguments,i)};g.getItem=function(e,t,r,n){return li(ad,arguments,n)};g.removeItem=function(e,t,r,n){li(cd,arguments,n)};g.clearItems=function(e,t,r){li(ud,arguments,r)};g.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};g.format=function(e){for(var t=/%./g,r,n,i=0,s=[],o=0;r=t.exec(e);){n=e.substring(o,t.lastIndex-2),n.length>0&&s.push(n),o=t.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(e.substring(o)),s.join("")};g.formatNumber=function(e,t,r,n){var i=e,s=isNaN(t=Math.abs(t))?2:t,o=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(s),10)+"",f=u.length>3?u.length%3:0;return c+(f?u.substr(0,f)+a:"")+u.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+a)+(s?o+Math.abs(i-u).toFixed(s).slice(2):"")};g.formatSize=function(e){return e>=1073741824?e=g.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=g.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=g.formatNumber(e/1024,0)+" KiB":e=g.formatNumber(e,0)+" bytes",e};g.bytesFromIP=function(e){return e.indexOf(".")!==-1?g.bytesFromIPv4(e):e.indexOf(":")!==-1?g.bytesFromIPv6(e):null};g.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=g.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};g.bytesFromIPv6=function(e){var t=0;e=e.split(":").filter(function(o){return o.length===0&&++t,!0});for(var r=(8-e.length+t)*2,n=g.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=g.hexToBytes(e[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};g.bytesToIP=function(e){return e.length===4?g.bytesToIPv4(e):e.length===16?g.bytesToIPv6(e):null};g.bytesToIPv4=function(e){if(e.length!==4)return null;for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t.join(".")};g.bytesToIPv6=function(e){if(e.length!==16)return null;for(var t=[],r=[],n=0,i=0;i<e.length;i+=2){for(var s=g.bytesToHex(e[i]+e[i+1]);s[0]==="0"&&s!=="0";)s=s.substr(1);if(s==="0"){var o=r[r.length-1],a=t.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))}t.push(s)}if(r.length>0){var c=r[n];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),c.start===0&&t.unshift(""),c.end===7&&t.push(""))}return t.join(":")};g.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in g&&!e.update)return t(null,g.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return g.cores=navigator.hardwareConcurrency,t(null,g.cores);if(typeof Worker>"u")return g.cores=1,t(null,g.cores);if(typeof Blob>"u")return g.cores=2,t(null,g.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(f,l){return f+l},0)/o.length);return g.cores=Math.max(1,u),URL.revokeObjectURL(r),t(null,g.cores)}i(c,function(f,l){o.push(s(c,l)),n(o,a-1,c)})}function i(o,a){for(var c=[],u=[],f=0;f<o;++f){var l=new Worker(r);l.addEventListener("message",function(h){if(u.push(h.data),u.length===o){for(var y=0;y<o;++y)c[y].terminate();a(null,u)}}),c.push(l)}for(var f=0;f<o;++f)c[f].postMessage(f)}function s(o,a){for(var c=[],u=0;u<o;++u)for(var f=a[u],l=c[u]=[],h=0;h<o;++h)if(u!==h){var y=a[h];(f.st>y.st&&f.st<y.et||y.st>f.st&&y.st<f.et)&&l.push(h)}return c.reduce(function(d,p){return Math.max(d,p.length)},0)}}});var hi=ot((S2,$0)=>{var Nn=ht();Nn.pki=Nn.pki||{};var so=$0.exports=Nn.pki.oids=Nn.oids=Nn.oids||{};function C(e,t){so[e]=t,so[t]=e}function at(e,t){so[e]=t}C("1.2.840.113549.1.1.1","rsaEncryption");C("1.2.840.113549.1.1.4","md5WithRSAEncryption");C("1.2.840.113549.1.1.5","sha1WithRSAEncryption");C("1.2.840.113549.1.1.7","RSAES-OAEP");C("1.2.840.113549.1.1.8","mgf1");C("1.2.840.113549.1.1.9","pSpecified");C("1.2.840.113549.1.1.10","RSASSA-PSS");C("1.2.840.113549.1.1.11","sha256WithRSAEncryption");C("1.2.840.113549.1.1.12","sha384WithRSAEncryption");C("1.2.840.113549.1.1.13","sha512WithRSAEncryption");C("1.3.101.112","EdDSA25519");C("1.2.840.10040.4.3","dsa-with-sha1");C("1.3.14.3.2.7","desCBC");C("1.3.14.3.2.26","sha1");C("1.3.14.3.2.29","sha1WithRSASignature");C("2.16.840.1.101.3.4.2.1","sha256");C("2.16.840.1.101.3.4.2.2","sha384");C("2.16.840.1.101.3.4.2.3","sha512");C("2.16.840.1.101.3.4.2.4","sha224");C("2.16.840.1.101.3.4.2.5","sha512-224");C("2.16.840.1.101.3.4.2.6","sha512-256");C("1.2.840.113549.2.2","md2");C("1.2.840.113549.2.5","md5");C("1.2.840.113549.1.7.1","data");C("1.2.840.113549.1.7.2","signedData");C("1.2.840.113549.1.7.3","envelopedData");C("1.2.840.113549.1.7.4","signedAndEnvelopedData");C("1.2.840.113549.1.7.5","digestedData");C("1.2.840.113549.1.7.6","encryptedData");C("1.2.840.113549.1.9.1","emailAddress");C("1.2.840.113549.1.9.2","unstructuredName");C("1.2.840.113549.1.9.3","contentType");C("1.2.840.113549.1.9.4","messageDigest");C("1.2.840.113549.1.9.5","signingTime");C("1.2.840.113549.1.9.6","counterSignature");C("1.2.840.113549.1.9.7","challengePassword");C("1.2.840.113549.1.9.8","unstructuredAddress");C("1.2.840.113549.1.9.14","extensionRequest");C("1.2.840.113549.1.9.20","friendlyName");C("1.2.840.113549.1.9.21","localKeyId");C("1.2.840.113549.1.9.22.1","x509Certificate");C("1.2.840.113549.1.12.10.1.1","keyBag");C("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");C("1.2.840.113549.1.12.10.1.3","certBag");C("1.2.840.113549.1.12.10.1.4","crlBag");C("1.2.840.113549.1.12.10.1.5","secretBag");C("1.2.840.113549.1.12.10.1.6","safeContentsBag");C("1.2.840.113549.1.5.13","pkcs5PBES2");C("1.2.840.113549.1.5.12","pkcs5PBKDF2");C("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");C("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");C("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");C("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");C("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");C("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");C("1.2.840.113549.2.7","hmacWithSHA1");C("1.2.840.113549.2.8","hmacWithSHA224");C("1.2.840.113549.2.9","hmacWithSHA256");C("1.2.840.113549.2.10","hmacWithSHA384");C("1.2.840.113549.2.11","hmacWithSHA512");C("1.2.840.113549.3.7","des-EDE3-CBC");C("2.16.840.1.101.3.4.1.2","aes128-CBC");C("2.16.840.1.101.3.4.1.22","aes192-CBC");C("2.16.840.1.101.3.4.1.42","aes256-CBC");C("2.5.4.3","commonName");C("2.5.4.4","surname");C("2.5.4.5","serialNumber");C("2.5.4.6","countryName");C("2.5.4.7","localityName");C("2.5.4.8","stateOrProvinceName");C("2.5.4.9","streetAddress");C("2.5.4.10","organizationName");C("2.5.4.11","organizationalUnitName");C("2.5.4.12","title");C("2.5.4.13","description");C("2.5.4.15","businessCategory");C("2.5.4.17","postalCode");C("2.5.4.42","givenName");C("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");C("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");C("2.16.840.1.113730.1.1","nsCertType");C("2.16.840.1.113730.1.13","nsComment");at("2.5.29.1","authorityKeyIdentifier");at("2.5.29.2","keyAttributes");at("2.5.29.3","certificatePolicies");at("2.5.29.4","keyUsageRestriction");at("2.5.29.5","policyMapping");at("2.5.29.6","subtreesConstraint");at("2.5.29.7","subjectAltName");at("2.5.29.8","issuerAltName");at("2.5.29.9","subjectDirectoryAttributes");at("2.5.29.10","basicConstraints");at("2.5.29.11","nameConstraints");at("2.5.29.12","policyConstraints");at("2.5.29.13","basicConstraints");C("2.5.29.14","subjectKeyIdentifier");C("2.5.29.15","keyUsage");at("2.5.29.16","privateKeyUsagePeriod");C("2.5.29.17","subjectAltName");C("2.5.29.18","issuerAltName");C("2.5.29.19","basicConstraints");at("2.5.29.20","cRLNumber");at("2.5.29.21","cRLReason");at("2.5.29.22","expirationDate");at("2.5.29.23","instructionCode");at("2.5.29.24","invalidityDate");at("2.5.29.25","cRLDistributionPoints");at("2.5.29.26","issuingDistributionPoint");at("2.5.29.27","deltaCRLIndicator");at("2.5.29.28","issuingDistributionPoint");at("2.5.29.29","certificateIssuer");at("2.5.29.30","nameConstraints");C("2.5.29.31","cRLDistributionPoints");C("2.5.29.32","certificatePolicies");at("2.5.29.33","policyMappings");at("2.5.29.34","policyConstraints");C("2.5.29.35","authorityKeyIdentifier");at("2.5.29.36","policyConstraints");C("2.5.29.37","extKeyUsage");at("2.5.29.46","freshestCRL");at("2.5.29.54","inhibitAnyPolicy");C("1.3.6.1.4.1.11129.2.4.2","timestampList");C("1.3.6.1.5.5.7.1.1","authorityInfoAccess");C("1.3.6.1.5.5.7.3.1","serverAuth");C("1.3.6.1.5.5.7.3.2","clientAuth");C("1.3.6.1.5.5.7.3.3","codeSigning");C("1.3.6.1.5.5.7.3.4","emailProtection");C("1.3.6.1.5.5.7.3.8","timeStamping")});var kn=ot((A2,Z0)=>{var gt=ht();Dt();hi();var k=Z0.exports=gt.asn1=gt.asn1||{};k.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};k.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};k.create=function(e,t,r,n,i){if(gt.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:e,type:t,constructed:r,composed:r||gt.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=k.copy(a)),a};k.copy=function(e,t){var r;if(gt.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(k.copy(e[n],t));return r}return typeof e=="string"?e:(r={tagClass:e.tagClass,type:e.type,constructed:e.constructed,composed:e.composed,value:k.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};k.equals=function(e,t,r){if(gt.util.isArray(e)){if(!gt.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!k.equals(e[n],t[n]))return!1;return!0}if(typeof e!=typeof t)return!1;if(typeof e=="string")return e===t;var i=e.tagClass===t.tagClass&&e.type===t.type&&e.constructed===t.constructed&&e.composed===t.composed&&k.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};k.getBerValueLength=function(e){var t=e.getByte();if(t!==128){var r,n=t&128;return n?r=e.getInt((t&127)<<3):r=t,r}};function Pn(e,t,r){if(r>t){var n=new Error("Too few bytes to parse DER.");throw n.available=e.length(),n.remaining=t,n.requested=r,n}}var fd=function(e,t){var r=e.getByte();if(t--,r!==128){var n,i=r&128;if(!i)n=r;else{var s=r&127;Pn(e,t,s),n=e.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};k.fromDer=function(e,t){t===void 0&&(t={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof t=="boolean"&&(t={strict:t,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in t||(t.strict=!0),"parseAllBytes"in t||(t.parseAllBytes=!0),"decodeBitStrings"in t||(t.decodeBitStrings=!0),typeof e=="string"&&(e=gt.util.createBuffer(e));var r=e.length(),n=di(e,e.length(),0,t);if(t.parseAllBytes&&e.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=e.length(),i}return n};function di(e,t,r,n){var i;Pn(e,t,2);var s=e.getByte();t--;var o=s&192,a=s&31;i=e.length();var c=fd(e,t);if(t-=i-e.length(),c!==void 0&&c>t){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=e.length(),u.remaining=t,u.requested=c,u}c=t}var f,l,h=(s&32)===32;if(h)if(f=[],c===void 0)for(;;){if(Pn(e,t,2),e.bytes(2)==="\0\0"){e.getBytes(2),t-=2;break}i=e.length(),f.push(di(e,t,r+1,n)),t-=i-e.length()}else for(;c>0;)i=e.length(),f.push(di(e,c,r+1,n)),t-=i-e.length(),c-=i-e.length();if(f===void 0&&o===k.Class.UNIVERSAL&&a===k.Type.BITSTRING&&(l=e.bytes(c)),f===void 0&&n.decodeBitStrings&&o===k.Class.UNIVERSAL&&a===k.Type.BITSTRING&&c>1){var y=e.read,d=t,p=0;if(a===k.Type.BITSTRING&&(Pn(e,t,1),p=e.getByte(),t--),p===0)try{i=e.length();var m={strict:!0,decodeBitStrings:!0},x=di(e,t,r+1,m),E=i-e.length();t-=E,a==k.Type.BITSTRING&&E++;var b=x.tagClass;E===c&&(b===k.Class.UNIVERSAL||b===k.Class.CONTEXT_SPECIFIC)&&(f=[x])}catch{}f===void 0&&(e.read=y,t=d)}if(f===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=t}if(a===k.Type.BMPSTRING)for(f="";c>0;c-=2)Pn(e,t,2),f+=String.fromCharCode(e.getInt16()),t-=2;else f=e.getBytes(c),t-=c}var R=l===void 0?null:{bitStringContents:l};return k.create(o,a,h,f,R)}k.toDer=function(e){var t=gt.util.createBuffer(),r=e.tagClass|e.type,n=gt.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=k.equals(e,e.original))),i)n.putBytes(e.bitStringContents);else if(e.composed){e.constructed?r|=32:n.putByte(0);for(var s=0;s<e.value.length;++s)e.value[s]!==void 0&&n.putBuffer(k.toDer(e.value[s]))}else if(e.type===k.Type.BMPSTRING)for(var s=0;s<e.value.length;++s)n.putInt16(e.value.charCodeAt(s));else e.type===k.Type.INTEGER&&e.value.length>1&&(e.value.charCodeAt(0)===0&&!(e.value.charCodeAt(1)&128)||e.value.charCodeAt(0)===255&&(e.value.charCodeAt(1)&128)===128)?n.putBytes(e.value.substr(1)):n.putBytes(e.value);if(t.putByte(r),n.length()<=127)t.putByte(n.length()&127);else{var o=n.length(),a="";do a+=String.fromCharCode(o&255),o=o>>>8;while(o>0);t.putByte(a.length|128);for(var s=a.length-1;s>=0;--s)t.putByte(a.charCodeAt(s))}return t.putBuffer(n),t};k.oidToDer=function(e){var t=e.split("."),r=gt.util.createBuffer();r.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var n,i,s,o,a=2;a<t.length;++a){n=!0,i=[],s=parseInt(t[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};k.derToOid=function(e){var t;typeof e=="string"&&(e=gt.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var n=0;e.length()>0;)r=e.getByte(),n=n<<7,r&128?n+=r&127:(t+="."+(n+r),n=0);return t};k.utcTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),s=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),a=0;if(e.length>11){var c=e.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(e.substr(10,2),10),u+=2)}if(t.setUTCFullYear(r,n,i),t.setUTCHours(s,o,a,0),u&&(c=e.charAt(u),c==="+"||c==="-")){var f=parseInt(e.substr(u+1,2),10),l=parseInt(e.substr(u+4,2),10),h=f*60+l;h*=6e4,c==="+"?t.setTime(+t-h):t.setTime(+t+h)}return t};k.generalizedTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,4),10),n=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),s=parseInt(e.substr(8,2),10),o=parseInt(e.substr(10,2),10),a=parseInt(e.substr(12,2),10),c=0,u=0,f=!1;e.charAt(e.length-1)==="Z"&&(f=!0);var l=e.length-5,h=e.charAt(l);if(h==="+"||h==="-"){var y=parseInt(e.substr(l+1,2),10),d=parseInt(e.substr(l+4,2),10);u=y*60+d,u*=6e4,h==="+"&&(u*=-1),f=!0}return e.charAt(14)==="."&&(c=parseFloat(e.substr(14),10)*1e3),f?(t.setUTCFullYear(r,n,i),t.setUTCHours(s,o,a,c),t.setTime(+t+u)):(t.setFullYear(r,n,i),t.setHours(s,o,a,c)),t};k.dateToUtcTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push((""+e.getUTCFullYear()).substr(2)),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};k.dateToGeneralizedTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push(""+e.getUTCFullYear()),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};k.integerToDer=function(e){var t=gt.util.createBuffer();if(e>=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=e,r};k.derToInteger=function(e){typeof e=="string"&&(e=gt.util.createBuffer(e));var t=e.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)};k.validate=function(e,t,r,n){var i=!1;if((e.tagClass===t.tagClass||typeof t.tagClass>"u")&&(e.type===t.type||typeof t.type>"u"))if(e.constructed===t.constructed||typeof t.constructed>"u"){if(i=!0,t.value&>.util.isArray(t.value))for(var s=0,o=0;i&&o<t.value.length;++o)i=t.value[o].optional||!1,e.value[s]&&(i=k.validate(e.value[s],t.value[o],r,n),i?++s:t.value[o].optional&&(i=!0)),!i&&n&&n.push("["+t.name+'] Tag class "'+t.tagClass+'", type "'+t.type+'" expected value length "'+t.value.length+'", got "'+e.value.length+'"');if(i&&r&&(t.capture&&(r[t.capture]=e.value),t.captureAsn1&&(r[t.captureAsn1]=e),t.captureBitStringContents&&"bitStringContents"in e&&(r[t.captureBitStringContents]=e.bitStringContents),t.captureBitStringValue&&"bitStringContents"in e)){var a;if(e.bitStringContents.length<2)r[t.captureBitStringValue]="";else{var c=e.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[t.captureBitStringValue]=e.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+e.constructed+'"');else n&&(e.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));return i};var Q0=/[^\\u0000-\\u00ff]/;k.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
|
2
|
+
"use strict";var Libp2PCircuitRelayV2=(()=>{var Gl=Object.create;var ui=Object.defineProperty;var Wl=Object.getOwnPropertyDescriptor;var Yl=Object.getOwnPropertyNames;var $l=Object.getPrototypeOf,Ql=Object.prototype.hasOwnProperty;var ot=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Kt=(e,t)=>{for(var r in t)ui(e,r,{get:t[r],enumerable:!0})},m0=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Yl(t))!Ql.call(e,i)&&i!==r&&ui(e,i,{get:()=>t[i],enumerable:!(n=Wl(t,i))||n.enumerable});return e};var Yt=(e,t,r)=>(r=e!=null?Gl($l(e)):{},m0(t||!e||!e.__esModule?ui(r,"default",{value:e,enumerable:!0}):r,e)),Zl=e=>m0(ui({},"__esModule",{value:!0}),e);var ht=ot((E2,V0)=>{V0.exports={options:{usePureJavaScript:!1}}});var z0=ot((w2,H0)=>{var ro={};H0.exports=ro;var q0={};ro.encode=function(e,t,r){if(typeof t!="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(!(e instanceof Uint8Array))n=id(e,t);else{var i=0,s=t.length,o=t.charAt(0),a=[0];for(i=0;i<e.length;++i){for(var c=0,u=e[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;e[i]===0&&i<e.length-1;++i)n+=o;for(i=a.length-1;i>=0;--i)n+=t[a[i]]}if(r){var f=new RegExp(".{1,"+r+"}","g");n=n.match(f).join(`\r
|
3
|
+
`)}return n};ro.decode=function(e,t){if(typeof e!="string")throw new TypeError('"input" must be a string.');if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');var r=q0[t];if(!r){r=q0[t]=[];for(var n=0;n<t.length;++n)r[t.charCodeAt(n)]=n}e=e.replace(/\s/g,"");for(var i=t.length,s=t.charAt(0),o=[0],n=0;n<e.length;n++){var a=r[e.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 f=0;e[f]===s&&f<e.length-1;++f)o.push(0);return typeof Buffer<"u"?Buffer.from(o.reverse()):new Uint8Array(o.reverse())};function id(e,t){var r=0,n=t.length,i=t.charAt(0),s=[0];for(r=0;r<e.length();++r){for(var o=0,a=e.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;e.at(r)===0&&r<e.length()-1;++r)c+=i;for(r=s.length-1;r>=0;--r)c+=t[s[r]];return c}});var Dt=ot((S2,$0)=>{var G0=ht(),W0=z0(),g=$0.exports=G0.util=G0.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){g.nextTick=process.nextTick,typeof setImmediate=="function"?g.setImmediate=setImmediate:g.setImmediate=g.nextTick;return}if(typeof setImmediate=="function"){g.setImmediate=function(){return setImmediate.apply(void 0,arguments)},g.nextTick=function(a){return setImmediate(a)};return}if(g.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===e){c.stopPropagation();var u=t.slice();t.length=0,u.forEach(function(f){f()})}};var o=a,e="forge.setImmediate",t=[];g.setImmediate=function(c){t.push(c),t.length===1&&window.postMessage(e,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var c=t.slice();t.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var s=g.setImmediate;g.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),s(c)):(t.push(c),t.length===1&&i.setAttribute("a",n=!n))}}g.nextTick=g.setImmediate})();g.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;g.globalScope=function(){return g.isNodejs?globalThis:typeof self>"u"?window:self}();g.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};g.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};g.isArrayBufferView=function(e){return e&&g.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function Nn(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}g.ByteBuffer=no;function no(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(g.isArrayBuffer(e)||g.isArrayBufferView(e))if(typeof Buffer<"u"&&e instanceof Buffer)this.data=e.toString("binary");else{var t=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,t)}catch{for(var r=0;r<t.length;++r)this.putByte(t[r])}}else(e instanceof no||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}g.ByteStringBuffer=no;var sd=4096;g.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>sd&&(this.data.substr(0,1),this._constructedStringLength=0)};g.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};g.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};g.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))};g.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this};g.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};g.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(g.encodeUtf8(e))};g.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};g.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};g.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};g.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};g.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};g.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))};g.ByteStringBuffer.prototype.putInt=function(e,t){Nn(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};g.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};g.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};g.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};g.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};g.ByteStringBuffer.prototype.getInt24=function(){var e=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,e};g.ByteStringBuffer.prototype.getInt32=function(){var e=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,e};g.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};g.ByteStringBuffer.prototype.getInt24Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,e};g.ByteStringBuffer.prototype.getInt32Le=function(){var e=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,e};g.ByteStringBuffer.prototype.getInt=function(e){Nn(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};g.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};g.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};g.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};g.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};g.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this};g.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};g.ByteStringBuffer.prototype.copy=function(){var e=g.createBuffer(this.data);return e.read=this.read,e};g.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};g.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};g.ByteStringBuffer.prototype.truncate=function(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this};g.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.length;++t){var r=this.data.charCodeAt(t);r<16&&(e+="0"),e+=r.toString(16)}return e};g.ByteStringBuffer.prototype.toString=function(){return g.decodeUtf8(this.bytes())};function od(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=g.isArrayBuffer(e),n=g.isArrayBufferView(e);if(r||n){r?this.data=new DataView(e):this.data=new DataView(e.buffer,e.byteOffset,e.byteLength),this.write="writeOffset"in t?t.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,e!=null&&this.putBytes(e),"writeOffset"in t&&(this.write=t.writeOffset)}g.DataBuffer=od;g.DataBuffer.prototype.length=function(){return this.write-this.read};g.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};g.DataBuffer.prototype.accommodate=function(e,t){if(this.length()>=e)return this;t=Math.max(t||this.growSize,e);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(r),this.data=new DataView(n.buffer),this};g.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};g.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};g.DataBuffer.prototype.putBytes=function(e,t){if(g.isArrayBufferView(e)){var r=new Uint8Array(e.buffer,e.byteOffset,e.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(g.isArrayBuffer(e)){var r=new Uint8Array(e);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(e instanceof g.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&g.isArrayBufferView(e.data)){var r=new Uint8Array(e.data.byteLength,e.read,e.length());this.accommodate(r.byteLength);var i=new Uint8Array(e.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(e instanceof g.ByteStringBuffer&&(e=e.data,t="binary"),t=t||"binary",typeof e=="string"){var s;if(t==="hex")return this.accommodate(Math.ceil(e.length/2)),s=new Uint8Array(this.data.buffer,this.write),this.write+=g.binary.hex.decode(e,s,this.write),this;if(t==="base64")return this.accommodate(Math.ceil(e.length/4)*3),s=new Uint8Array(this.data.buffer,this.write),this.write+=g.binary.base64.decode(e,s,this.write),this;if(t==="utf8"&&(e=g.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),s=new Uint8Array(this.data.buffer,this.write),this.write+=g.binary.raw.decode(s),this;if(t==="utf16")return this.accommodate(e.length*2),s=new Uint16Array(this.data.buffer,this.write),this.write+=g.text.utf16.encode(s),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};g.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};g.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};g.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};g.DataBuffer.prototype.putInt24=function(e){return this.accommodate(3),this.data.setInt16(this.write,e>>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this};g.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};g.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};g.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this};g.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};g.DataBuffer.prototype.putInt=function(e,t){Nn(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};g.DataBuffer.prototype.putSignedInt=function(e,t){return Nn(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};g.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};g.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};g.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};g.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};g.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};g.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};g.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};g.DataBuffer.prototype.getInt=function(e){Nn(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};g.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};g.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};g.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};g.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};g.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this};g.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};g.DataBuffer.prototype.copy=function(){return new g.DataBuffer(this)};g.DataBuffer.prototype.compact=function(){if(this.read>0){var e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this};g.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};g.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};g.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.byteLength;++t){var r=this.data.getUint8(t);r<16&&(e+="0"),e+=r.toString(16)}return e};g.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return g.binary.raw.encode(t);if(e==="hex")return g.binary.hex.encode(t);if(e==="base64")return g.binary.base64.encode(t);if(e==="utf8")return g.text.utf8.decode(t);if(e==="utf16")return g.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};g.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=g.encodeUtf8(e)),new g.ByteBuffer(e)};g.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};g.xorBytes=function(e,t,r){for(var n="",i="",s="",o=0,a=0;r>0;--r,++o)i=e.charCodeAt(o)^t.charCodeAt(o),a>=10&&(n+=s,s="",a=0),s+=String.fromCharCode(i),++a;return n+=s,n};g.hexToBytes=function(e){var t="",r=0;for(e.length&!0&&(r=1,t+=String.fromCharCode(parseInt(e[0],16)));r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t};g.bytesToHex=function(e){return g.createBuffer(e).toHex()};g.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var fr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",lr=[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],Y0="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";g.encode64=function(e,t){for(var r="",n="",i,s,o,a=0;a<e.length;)i=e.charCodeAt(a++),s=e.charCodeAt(a++),o=e.charCodeAt(a++),r+=fr.charAt(i>>2),r+=fr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=fr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":fr.charAt(o&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
4
|
+
`,r=r.substr(t));return n+=r,n};g.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",r,n,i,s,o=0;o<e.length;)r=lr[e.charCodeAt(o++)-43],n=lr[e.charCodeAt(o++)-43],i=lr[e.charCodeAt(o++)-43],s=lr[e.charCodeAt(o++)-43],t+=String.fromCharCode(r<<2|n>>4),i!==64&&(t+=String.fromCharCode((n&15)<<4|i>>2),s!==64&&(t+=String.fromCharCode((i&3)<<6|s)));return t};g.encodeUtf8=function(e){return unescape(encodeURIComponent(e))};g.decodeUtf8=function(e){return decodeURIComponent(escape(e))};g.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:W0.encode,decode:W0.decode}};g.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)};g.binary.raw.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,s=0;s<e.length;++s)n[i++]=e.charCodeAt(s);return t?i-r:n};g.binary.hex.encode=g.bytesToHex;g.binary.hex.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/2))),r=r||0;var i=0,s=r;for(e.length&1&&(i=1,n[s++]=parseInt(e[0],16));i<e.length;i+=2)n[s++]=parseInt(e.substr(i,2),16);return t?s-r:n};g.binary.base64.encode=function(e,t){for(var r="",n="",i,s,o,a=0;a<e.byteLength;)i=e[a++],s=e[a++],o=e[a++],r+=fr.charAt(i>>2),r+=fr.charAt((i&3)<<4|s>>4),isNaN(s)?r+="==":(r+=fr.charAt((s&15)<<2|o>>6),r+=isNaN(o)?"=":fr.charAt(o&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
5
|
+
`,r=r.substr(t));return n+=r,n};g.binary.base64.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/4)*3)),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,s,o,a,c=0,u=r;c<e.length;)i=lr[e.charCodeAt(c++)-43],s=lr[e.charCodeAt(c++)-43],o=lr[e.charCodeAt(c++)-43],a=lr[e.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 t?u-r:n.subarray(0,u)};g.binary.base58.encode=function(e,t){return g.binary.baseN.encode(e,Y0,t)};g.binary.base58.decode=function(e,t){return g.binary.baseN.decode(e,Y0,t)};g.text={utf8:{},utf16:{}};g.text.utf8.encode=function(e,t,r){e=g.encodeUtf8(e);var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,s=0;s<e.length;++s)n[i++]=e.charCodeAt(s);return t?i-r:n};g.text.utf8.decode=function(e){return g.decodeUtf8(String.fromCharCode.apply(null,e))};g.text.utf16.encode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var s=r,o=r,a=0;a<e.length;++a)i[o++]=e.charCodeAt(a),s+=2;return t?s-r:n};g.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};g.deflate=function(e,t,r){if(t=g.decode64(e.deflate(g.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};g.inflate=function(e,t,r){var n=e.inflate(g.encode64(t)).rval;return n===null?null:g.decode64(n)};var io=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=g.encode64(JSON.stringify(r)),n=e.setItem(t,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}},so=function(e,t){if(!e)throw new Error("WebStorage not available.");var r=e.getItem(t);if(e.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(g.decode64(r))),r},ad=function(e,t,r,n){var i=so(e,t);i===null&&(i={}),i[r]=n,io(e,t,i)},cd=function(e,t,r){var n=so(e,t);return n!==null&&(n=r in n?n[r]:null),n},ud=function(e,t,r){var n=so(e,t);if(n!==null&&r in n){delete n[r];var i=!0;for(var s in n){i=!1;break}i&&(n=null),io(e,t,n)}},fd=function(e,t){io(e,t,null)},hi=function(e,t,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(t[0]===null)throw new Error("Flash local storage not available.");n=e.apply(this,t),s=i==="flash"}(i==="web"||i==="both")&&(t[0]=localStorage,n=e.apply(this,t),s=!0)}catch(c){o=c}if(s)break}if(!s)throw o;return n};g.setItem=function(e,t,r,n,i){hi(ad,arguments,i)};g.getItem=function(e,t,r,n){return hi(cd,arguments,n)};g.removeItem=function(e,t,r,n){hi(ud,arguments,n)};g.clearItems=function(e,t,r){hi(fd,arguments,r)};g.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};g.format=function(e){for(var t=/%./g,r,n,i=0,s=[],o=0;r=t.exec(e);){n=e.substring(o,t.lastIndex-2),n.length>0&&s.push(n),o=t.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(e.substring(o)),s.join("")};g.formatNumber=function(e,t,r,n){var i=e,s=isNaN(t=Math.abs(t))?2:t,o=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(s),10)+"",f=u.length>3?u.length%3:0;return c+(f?u.substr(0,f)+a:"")+u.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+a)+(s?o+Math.abs(i-u).toFixed(s).slice(2):"")};g.formatSize=function(e){return e>=1073741824?e=g.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=g.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=g.formatNumber(e/1024,0)+" KiB":e=g.formatNumber(e,0)+" bytes",e};g.bytesFromIP=function(e){return e.indexOf(".")!==-1?g.bytesFromIPv4(e):e.indexOf(":")!==-1?g.bytesFromIPv6(e):null};g.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=g.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};g.bytesFromIPv6=function(e){var t=0;e=e.split(":").filter(function(o){return o.length===0&&++t,!0});for(var r=(8-e.length+t)*2,n=g.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var s=g.hexToBytes(e[i]);s.length<2&&n.putByte(0),n.putBytes(s)}return n.getBytes()};g.bytesToIP=function(e){return e.length===4?g.bytesToIPv4(e):e.length===16?g.bytesToIPv6(e):null};g.bytesToIPv4=function(e){if(e.length!==4)return null;for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t.join(".")};g.bytesToIPv6=function(e){if(e.length!==16)return null;for(var t=[],r=[],n=0,i=0;i<e.length;i+=2){for(var s=g.bytesToHex(e[i]+e[i+1]);s[0]==="0"&&s!=="0";)s=s.substr(1);if(s==="0"){var o=r[r.length-1],a=t.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))}t.push(s)}if(r.length>0){var c=r[n];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),c.start===0&&t.unshift(""),c.end===7&&t.push(""))}return t.join(":")};g.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in g&&!e.update)return t(null,g.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return g.cores=navigator.hardwareConcurrency,t(null,g.cores);if(typeof Worker>"u")return g.cores=1,t(null,g.cores);if(typeof Blob>"u")return g.cores=2,t(null,g.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(f,l){return f+l},0)/o.length);return g.cores=Math.max(1,u),URL.revokeObjectURL(r),t(null,g.cores)}i(c,function(f,l){o.push(s(c,l)),n(o,a-1,c)})}function i(o,a){for(var c=[],u=[],f=0;f<o;++f){var l=new Worker(r);l.addEventListener("message",function(h){if(u.push(h.data),u.length===o){for(var y=0;y<o;++y)c[y].terminate();a(null,u)}}),c.push(l)}for(var f=0;f<o;++f)c[f].postMessage(f)}function s(o,a){for(var c=[],u=0;u<o;++u)for(var f=a[u],l=c[u]=[],h=0;h<o;++h)if(u!==h){var y=a[h];(f.st>y.st&&f.st<y.et||y.st>f.st&&y.st<f.et)&&l.push(h)}return c.reduce(function(d,p){return Math.max(d,p.length)},0)}}});var di=ot((A2,Q0)=>{var Pn=ht();Pn.pki=Pn.pki||{};var oo=Q0.exports=Pn.pki.oids=Pn.oids=Pn.oids||{};function C(e,t){oo[e]=t,oo[t]=e}function at(e,t){oo[e]=t}C("1.2.840.113549.1.1.1","rsaEncryption");C("1.2.840.113549.1.1.4","md5WithRSAEncryption");C("1.2.840.113549.1.1.5","sha1WithRSAEncryption");C("1.2.840.113549.1.1.7","RSAES-OAEP");C("1.2.840.113549.1.1.8","mgf1");C("1.2.840.113549.1.1.9","pSpecified");C("1.2.840.113549.1.1.10","RSASSA-PSS");C("1.2.840.113549.1.1.11","sha256WithRSAEncryption");C("1.2.840.113549.1.1.12","sha384WithRSAEncryption");C("1.2.840.113549.1.1.13","sha512WithRSAEncryption");C("1.3.101.112","EdDSA25519");C("1.2.840.10040.4.3","dsa-with-sha1");C("1.3.14.3.2.7","desCBC");C("1.3.14.3.2.26","sha1");C("1.3.14.3.2.29","sha1WithRSASignature");C("2.16.840.1.101.3.4.2.1","sha256");C("2.16.840.1.101.3.4.2.2","sha384");C("2.16.840.1.101.3.4.2.3","sha512");C("2.16.840.1.101.3.4.2.4","sha224");C("2.16.840.1.101.3.4.2.5","sha512-224");C("2.16.840.1.101.3.4.2.6","sha512-256");C("1.2.840.113549.2.2","md2");C("1.2.840.113549.2.5","md5");C("1.2.840.113549.1.7.1","data");C("1.2.840.113549.1.7.2","signedData");C("1.2.840.113549.1.7.3","envelopedData");C("1.2.840.113549.1.7.4","signedAndEnvelopedData");C("1.2.840.113549.1.7.5","digestedData");C("1.2.840.113549.1.7.6","encryptedData");C("1.2.840.113549.1.9.1","emailAddress");C("1.2.840.113549.1.9.2","unstructuredName");C("1.2.840.113549.1.9.3","contentType");C("1.2.840.113549.1.9.4","messageDigest");C("1.2.840.113549.1.9.5","signingTime");C("1.2.840.113549.1.9.6","counterSignature");C("1.2.840.113549.1.9.7","challengePassword");C("1.2.840.113549.1.9.8","unstructuredAddress");C("1.2.840.113549.1.9.14","extensionRequest");C("1.2.840.113549.1.9.20","friendlyName");C("1.2.840.113549.1.9.21","localKeyId");C("1.2.840.113549.1.9.22.1","x509Certificate");C("1.2.840.113549.1.12.10.1.1","keyBag");C("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");C("1.2.840.113549.1.12.10.1.3","certBag");C("1.2.840.113549.1.12.10.1.4","crlBag");C("1.2.840.113549.1.12.10.1.5","secretBag");C("1.2.840.113549.1.12.10.1.6","safeContentsBag");C("1.2.840.113549.1.5.13","pkcs5PBES2");C("1.2.840.113549.1.5.12","pkcs5PBKDF2");C("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");C("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");C("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");C("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");C("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");C("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");C("1.2.840.113549.2.7","hmacWithSHA1");C("1.2.840.113549.2.8","hmacWithSHA224");C("1.2.840.113549.2.9","hmacWithSHA256");C("1.2.840.113549.2.10","hmacWithSHA384");C("1.2.840.113549.2.11","hmacWithSHA512");C("1.2.840.113549.3.7","des-EDE3-CBC");C("2.16.840.1.101.3.4.1.2","aes128-CBC");C("2.16.840.1.101.3.4.1.22","aes192-CBC");C("2.16.840.1.101.3.4.1.42","aes256-CBC");C("2.5.4.3","commonName");C("2.5.4.4","surname");C("2.5.4.5","serialNumber");C("2.5.4.6","countryName");C("2.5.4.7","localityName");C("2.5.4.8","stateOrProvinceName");C("2.5.4.9","streetAddress");C("2.5.4.10","organizationName");C("2.5.4.11","organizationalUnitName");C("2.5.4.12","title");C("2.5.4.13","description");C("2.5.4.15","businessCategory");C("2.5.4.17","postalCode");C("2.5.4.42","givenName");C("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");C("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");C("2.16.840.1.113730.1.1","nsCertType");C("2.16.840.1.113730.1.13","nsComment");at("2.5.29.1","authorityKeyIdentifier");at("2.5.29.2","keyAttributes");at("2.5.29.3","certificatePolicies");at("2.5.29.4","keyUsageRestriction");at("2.5.29.5","policyMapping");at("2.5.29.6","subtreesConstraint");at("2.5.29.7","subjectAltName");at("2.5.29.8","issuerAltName");at("2.5.29.9","subjectDirectoryAttributes");at("2.5.29.10","basicConstraints");at("2.5.29.11","nameConstraints");at("2.5.29.12","policyConstraints");at("2.5.29.13","basicConstraints");C("2.5.29.14","subjectKeyIdentifier");C("2.5.29.15","keyUsage");at("2.5.29.16","privateKeyUsagePeriod");C("2.5.29.17","subjectAltName");C("2.5.29.18","issuerAltName");C("2.5.29.19","basicConstraints");at("2.5.29.20","cRLNumber");at("2.5.29.21","cRLReason");at("2.5.29.22","expirationDate");at("2.5.29.23","instructionCode");at("2.5.29.24","invalidityDate");at("2.5.29.25","cRLDistributionPoints");at("2.5.29.26","issuingDistributionPoint");at("2.5.29.27","deltaCRLIndicator");at("2.5.29.28","issuingDistributionPoint");at("2.5.29.29","certificateIssuer");at("2.5.29.30","nameConstraints");C("2.5.29.31","cRLDistributionPoints");C("2.5.29.32","certificatePolicies");at("2.5.29.33","policyMappings");at("2.5.29.34","policyConstraints");C("2.5.29.35","authorityKeyIdentifier");at("2.5.29.36","policyConstraints");C("2.5.29.37","extKeyUsage");at("2.5.29.46","freshestCRL");at("2.5.29.54","inhibitAnyPolicy");C("1.3.6.1.4.1.11129.2.4.2","timestampList");C("1.3.6.1.5.5.7.1.1","authorityInfoAccess");C("1.3.6.1.5.5.7.3.1","serverAuth");C("1.3.6.1.5.5.7.3.2","clientAuth");C("1.3.6.1.5.5.7.3.3","codeSigning");C("1.3.6.1.5.5.7.3.4","emailProtection");C("1.3.6.1.5.5.7.3.8","timeStamping")});var Un=ot((T2,X0)=>{var gt=ht();Dt();di();var k=X0.exports=gt.asn1=gt.asn1||{};k.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};k.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};k.create=function(e,t,r,n,i){if(gt.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:e,type:t,constructed:r,composed:r||gt.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=k.copy(a)),a};k.copy=function(e,t){var r;if(gt.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(k.copy(e[n],t));return r}return typeof e=="string"?e:(r={tagClass:e.tagClass,type:e.type,constructed:e.constructed,composed:e.composed,value:k.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};k.equals=function(e,t,r){if(gt.util.isArray(e)){if(!gt.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!k.equals(e[n],t[n]))return!1;return!0}if(typeof e!=typeof t)return!1;if(typeof e=="string")return e===t;var i=e.tagClass===t.tagClass&&e.type===t.type&&e.constructed===t.constructed&&e.composed===t.composed&&k.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};k.getBerValueLength=function(e){var t=e.getByte();if(t!==128){var r,n=t&128;return n?r=e.getInt((t&127)<<3):r=t,r}};function kn(e,t,r){if(r>t){var n=new Error("Too few bytes to parse DER.");throw n.available=e.length(),n.remaining=t,n.requested=r,n}}var ld=function(e,t){var r=e.getByte();if(t--,r!==128){var n,i=r&128;if(!i)n=r;else{var s=r&127;kn(e,t,s),n=e.getInt(s<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};k.fromDer=function(e,t){t===void 0&&(t={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof t=="boolean"&&(t={strict:t,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in t||(t.strict=!0),"parseAllBytes"in t||(t.parseAllBytes=!0),"decodeBitStrings"in t||(t.decodeBitStrings=!0),typeof e=="string"&&(e=gt.util.createBuffer(e));var r=e.length(),n=pi(e,e.length(),0,t);if(t.parseAllBytes&&e.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=e.length(),i}return n};function pi(e,t,r,n){var i;kn(e,t,2);var s=e.getByte();t--;var o=s&192,a=s&31;i=e.length();var c=ld(e,t);if(t-=i-e.length(),c!==void 0&&c>t){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=e.length(),u.remaining=t,u.requested=c,u}c=t}var f,l,h=(s&32)===32;if(h)if(f=[],c===void 0)for(;;){if(kn(e,t,2),e.bytes(2)==="\0\0"){e.getBytes(2),t-=2;break}i=e.length(),f.push(pi(e,t,r+1,n)),t-=i-e.length()}else for(;c>0;)i=e.length(),f.push(pi(e,c,r+1,n)),t-=i-e.length(),c-=i-e.length();if(f===void 0&&o===k.Class.UNIVERSAL&&a===k.Type.BITSTRING&&(l=e.bytes(c)),f===void 0&&n.decodeBitStrings&&o===k.Class.UNIVERSAL&&a===k.Type.BITSTRING&&c>1){var y=e.read,d=t,p=0;if(a===k.Type.BITSTRING&&(kn(e,t,1),p=e.getByte(),t--),p===0)try{i=e.length();var m={strict:!0,decodeBitStrings:!0},x=pi(e,t,r+1,m),E=i-e.length();t-=E,a==k.Type.BITSTRING&&E++;var b=x.tagClass;E===c&&(b===k.Class.UNIVERSAL||b===k.Class.CONTEXT_SPECIFIC)&&(f=[x])}catch{}f===void 0&&(e.read=y,t=d)}if(f===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=t}if(a===k.Type.BMPSTRING)for(f="";c>0;c-=2)kn(e,t,2),f+=String.fromCharCode(e.getInt16()),t-=2;else f=e.getBytes(c),t-=c}var R=l===void 0?null:{bitStringContents:l};return k.create(o,a,h,f,R)}k.toDer=function(e){var t=gt.util.createBuffer(),r=e.tagClass|e.type,n=gt.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=k.equals(e,e.original))),i)n.putBytes(e.bitStringContents);else if(e.composed){e.constructed?r|=32:n.putByte(0);for(var s=0;s<e.value.length;++s)e.value[s]!==void 0&&n.putBuffer(k.toDer(e.value[s]))}else if(e.type===k.Type.BMPSTRING)for(var s=0;s<e.value.length;++s)n.putInt16(e.value.charCodeAt(s));else e.type===k.Type.INTEGER&&e.value.length>1&&(e.value.charCodeAt(0)===0&&!(e.value.charCodeAt(1)&128)||e.value.charCodeAt(0)===255&&(e.value.charCodeAt(1)&128)===128)?n.putBytes(e.value.substr(1)):n.putBytes(e.value);if(t.putByte(r),n.length()<=127)t.putByte(n.length()&127);else{var o=n.length(),a="";do a+=String.fromCharCode(o&255),o=o>>>8;while(o>0);t.putByte(a.length|128);for(var s=a.length-1;s>=0;--s)t.putByte(a.charCodeAt(s))}return t.putBuffer(n),t};k.oidToDer=function(e){var t=e.split("."),r=gt.util.createBuffer();r.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var n,i,s,o,a=2;a<t.length;++a){n=!0,i=[],s=parseInt(t[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};k.derToOid=function(e){var t;typeof e=="string"&&(e=gt.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var n=0;e.length()>0;)r=e.getByte(),n=n<<7,r&128?n+=r&127:(t+="."+(n+r),n=0);return t};k.utcTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),s=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),a=0;if(e.length>11){var c=e.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(e.substr(10,2),10),u+=2)}if(t.setUTCFullYear(r,n,i),t.setUTCHours(s,o,a,0),u&&(c=e.charAt(u),c==="+"||c==="-")){var f=parseInt(e.substr(u+1,2),10),l=parseInt(e.substr(u+4,2),10),h=f*60+l;h*=6e4,c==="+"?t.setTime(+t-h):t.setTime(+t+h)}return t};k.generalizedTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,4),10),n=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),s=parseInt(e.substr(8,2),10),o=parseInt(e.substr(10,2),10),a=parseInt(e.substr(12,2),10),c=0,u=0,f=!1;e.charAt(e.length-1)==="Z"&&(f=!0);var l=e.length-5,h=e.charAt(l);if(h==="+"||h==="-"){var y=parseInt(e.substr(l+1,2),10),d=parseInt(e.substr(l+4,2),10);u=y*60+d,u*=6e4,h==="+"&&(u*=-1),f=!0}return e.charAt(14)==="."&&(c=parseFloat(e.substr(14),10)*1e3),f?(t.setUTCFullYear(r,n,i),t.setUTCHours(s,o,a,c),t.setTime(+t+u)):(t.setFullYear(r,n,i),t.setHours(s,o,a,c)),t};k.dateToUtcTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push((""+e.getUTCFullYear()).substr(2)),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};k.dateToGeneralizedTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push(""+e.getUTCFullYear()),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};k.integerToDer=function(e){var t=gt.util.createBuffer();if(e>=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=e,r};k.derToInteger=function(e){typeof e=="string"&&(e=gt.util.createBuffer(e));var t=e.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)};k.validate=function(e,t,r,n){var i=!1;if((e.tagClass===t.tagClass||typeof t.tagClass>"u")&&(e.type===t.type||typeof t.type>"u"))if(e.constructed===t.constructed||typeof t.constructed>"u"){if(i=!0,t.value&>.util.isArray(t.value))for(var s=0,o=0;i&&o<t.value.length;++o)i=t.value[o].optional||!1,e.value[s]&&(i=k.validate(e.value[s],t.value[o],r,n),i?++s:t.value[o].optional&&(i=!0)),!i&&n&&n.push("["+t.name+'] Tag class "'+t.tagClass+'", type "'+t.type+'" expected value length "'+t.value.length+'", got "'+e.value.length+'"');if(i&&r&&(t.capture&&(r[t.capture]=e.value),t.captureAsn1&&(r[t.captureAsn1]=e),t.captureBitStringContents&&"bitStringContents"in e&&(r[t.captureBitStringContents]=e.bitStringContents),t.captureBitStringValue&&"bitStringContents"in e)){var a;if(e.bitStringContents.length<2)r[t.captureBitStringValue]="";else{var c=e.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[t.captureBitStringValue]=e.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+e.constructed+'"');else n&&(e.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));return i};var Z0=/[^\\u0000-\\u00ff]/;k.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
|
6
6
|
`);for(var i="",s=0;s<t*r;++s)i+=" ";switch(n+=i+"Tag: ",e.tagClass){case k.Class.UNIVERSAL:n+="Universal:";break;case k.Class.APPLICATION:n+="Application:";break;case k.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case k.Class.PRIVATE:n+="Private:";break}if(e.tagClass===k.Class.UNIVERSAL)switch(n+=e.type,e.type){case k.Type.NONE:n+=" (None)";break;case k.Type.BOOLEAN:n+=" (Boolean)";break;case k.Type.INTEGER:n+=" (Integer)";break;case k.Type.BITSTRING:n+=" (Bit string)";break;case k.Type.OCTETSTRING:n+=" (Octet string)";break;case k.Type.NULL:n+=" (Null)";break;case k.Type.OID:n+=" (Object Identifier)";break;case k.Type.ODESC:n+=" (Object Descriptor)";break;case k.Type.EXTERNAL:n+=" (External or Instance of)";break;case k.Type.REAL:n+=" (Real)";break;case k.Type.ENUMERATED:n+=" (Enumerated)";break;case k.Type.EMBEDDED:n+=" (Embedded PDV)";break;case k.Type.UTF8:n+=" (UTF8)";break;case k.Type.ROID:n+=" (Relative Object Identifier)";break;case k.Type.SEQUENCE:n+=" (Sequence)";break;case k.Type.SET:n+=" (Set)";break;case k.Type.PRINTABLESTRING:n+=" (Printable String)";break;case k.Type.IA5String:n+=" (IA5String (ASCII))";break;case k.Type.UTCTIME:n+=" (UTC time)";break;case k.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case k.Type.BMPSTRING:n+=" (BMP String)";break}else n+=e.type;if(n+=`
|
7
7
|
`,n+=i+"Constructed: "+e.constructed+`
|
8
|
-
`,e.composed){for(var o=0,a="",s=0;s<e.value.length;++s)e.value[s]!==void 0&&(o+=1,a+=k.prettyPrint(e.value[s],t+1,r),s+1<e.value.length&&(a+=","));n+=i+"Sub values: "+o+a}else{if(n+=i+"Value: ",e.type===k.Type.OID){var c=k.derToOid(e.value);n+=c,gt.pki&>.pki.oids&&c in gt.pki.oids&&(n+=" ("+gt.pki.oids[c]+") ")}if(e.type===k.Type.INTEGER)try{n+=k.derToInteger(e.value)}catch{n+="0x"+gt.util.bytesToHex(e.value)}else if(e.type===k.Type.BITSTRING){if(e.value.length>1?n+="0x"+gt.util.bytesToHex(e.value.slice(1)):n+="(none)",e.value.length>0){var u=e.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(e.type===k.Type.OCTETSTRING)Q0.test(e.value)||(n+="("+e.value+") "),n+="0x"+gt.util.bytesToHex(e.value);else if(e.type===k.Type.UTF8)try{n+=gt.util.decodeUtf8(e.value)}catch(f){if(f.message==="URI malformed")n+="0x"+gt.util.bytesToHex(e.value)+" (malformed UTF8)";else throw f}else e.type===k.Type.PRINTABLESTRING||e.type===k.Type.IA5String?n+=e.value:Q0.test(e.value)?n+="0x"+gt.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var ao=ot((T2,X0)=>{var Ft=ht();Dt();X0.exports=Ft.cipher=Ft.cipher||{};Ft.cipher.algorithms=Ft.cipher.algorithms||{};Ft.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ft.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ft.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};Ft.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ft.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ft.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};Ft.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),Ft.cipher.algorithms[e]=t};Ft.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in Ft.cipher.algorithms?Ft.cipher.algorithms[e]:null};var oo=Ft.cipher.BlockCipher=function(e){this.algorithm=e.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=e.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=e.decrypt,this.algorithm.initialize(e)};oo.prototype.start=function(e){e=e||{};var t={};for(var r in e)t[r]=e[r];t.decrypt=this._decrypt,this._finish=!1,this._input=Ft.util.createBuffer(),this.output=e.output||Ft.util.createBuffer(),this.mode.start(t)};oo.prototype.update=function(e){for(e&&this._input.putBuffer(e);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};oo.prototype.finish=function(e){e&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return e(this.blockSize,r,!1)},this.mode.unpad=function(r){return e(this.blockSize,r,!0)});var t={};return t.decrypt=this._decrypt,t.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,t)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,t))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,t))}});var uo=ot((B2,J0)=>{var Vt=ht();Dt();Vt.cipher=Vt.cipher||{};var J=J0.exports=Vt.cipher.modes=Vt.cipher.modes||{};J.ecb=function(e){e=e||{},this.name="ECB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};J.ecb.prototype.start=function(e){};J.ecb.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};J.ecb.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};J.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};J.ecb.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};J.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};J.cbc.prototype.start=function(e){if(e.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in e)this._iv=pi(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};J.cbc.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n]);this._prev=this._outBlock};J.cbc.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};J.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};J.cbc.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};J.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Vt.util.createBuffer(),this._partialBytes=0};J.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=pi(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};J.cfb.prototype.encrypt=function(e,t,r){var n=e.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]=e.getInt32()^this._outBlock[i],t.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]=e.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(s>0)e.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 t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};J.cfb.prototype.decrypt=function(e,t,r){var n=e.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]=e.getInt32(),t.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]=e.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(s>0)e.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 t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};J.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Vt.util.createBuffer(),this._partialBytes=0};J.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=pi(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};J.ofb.prototype.encrypt=function(e,t,r){var n=e.length();if(e.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)t.putInt32(e.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(e.getInt32()^this._outBlock[i]);if(s>0)e.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 t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};J.ofb.prototype.decrypt=J.ofb.prototype.encrypt;J.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Vt.util.createBuffer(),this._partialBytes=0};J.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=pi(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};J.ctr.prototype.encrypt=function(e,t,r){var n=e.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)t.putInt32(e.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(e.getInt32()^this._outBlock[i]);if(s>0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}yi(this._inBlock)};J.ctr.prototype.decrypt=J.ctr.prototype.encrypt;J.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Vt.util.createBuffer(),this._partialBytes=0,this._R=3774873600};J.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=Vt.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=Vt.util.createBuffer(e.additionalData):r=Vt.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=Vt.util.createBuffer(e.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=t.length();if(n===12)this._j0=[t.getInt32(),t.getInt32(),t.getInt32(),1];else{for(this._j0=[0,0,0,0];t.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(co(n*8)))}this._inBlock=this._j0.slice(0),yi(this._inBlock),this._partialBytes=0,r=Vt.util.createBuffer(r),this._aDataLength=co(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()])};J.gcm.prototype.encrypt=function(e,t,r){var n=e.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)t.putInt32(this._outBlock[i]^=e.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(e.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 e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),yi(this._inBlock)};J.gcm.prototype.decrypt=function(e,t,r){var n=e.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),yi(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};J.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=Vt.util.createBuffer();var n=this._aDataLength.concat(co(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)),t.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};J.gcm.prototype.multiply=function(e,t){for(var r=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){var s=e[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};J.gcm.prototype.pow=function(e,t){for(var r=e[3]&1,n=3;n>0;--n)t[n]=e[n]>>>1|(e[n-1]&1)<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)};J.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=e[n]>>>(7-r%8)*4&15,s=this._m[r][i];t[0]^=s[0],t[1]^=s[1],t[2]^=s[2],t[3]^=s[3]}return t};J.gcm.prototype.ghash=function(e,t,r){return t[0]^=r[0],t[1]^=r[1],t[2]^=r[2],t[3]^=r[3],this.tableMultiply(t)};J.gcm.prototype.generateHashTable=function(e,t){for(var r=8/t,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)*t;a[c]=1<<t-1<<u,s[o]=this.generateSubHashTable(this.multiply(a,e),t)}return s};J.gcm.prototype.generateSubHashTable=function(e,t){var r=1<<t,n=r>>>1,i=new Array(r);i[n]=e.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]=[e[0]^u[0],e[1]^u[1],e[2]^u[2],e[3]^u[3]]}return i};function pi(e,t){if(typeof e=="string"&&(e=Vt.util.createBuffer(e)),Vt.util.isArray(e)&&e.length>4){var r=e;e=Vt.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(e.length()<t)throw new Error("Invalid IV length; got "+e.length()+" bytes and expected "+t+" bytes.");if(!Vt.util.isArray(e)){for(var i=[],s=t/4,n=0;n<s;++n)i.push(e.getInt32());e=i}return e}function yi(e){e[e.length-1]=e[e.length-1]+1&4294967295}function co(e){return[e/4294967296|0,e&4294967295]}});var po=ot((I2,rc)=>{var mt=ht();ao();uo();Dt();rc.exports=mt.aes=mt.aes||{};mt.aes.startEncrypting=function(e,t,r,n){var i=mi({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};mt.aes.createEncryptionCipher=function(e,t){return mi({key:e,output:null,decrypt:!1,mode:t})};mt.aes.startDecrypting=function(e,t,r,n){var i=mi({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};mt.aes.createDecryptionCipher=function(e,t){return mi({key:e,output:null,decrypt:!0,mode:t})};mt.aes.Algorithm=function(e,t){ho||tc();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return lo(r._w,n,i,!1)},decrypt:function(n,i){return lo(r._w,n,i,!0)}}}),r._init=!1};mt.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t=e.key,r;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=mt.util.createBuffer(t);else if(mt.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=mt.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!mt.util.isArray(t)){r=t,t=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)t.push(r.getInt32())}}if(!mt.util.isArray(t)||!(t.length===4||t.length===6||t.length===8))throw new Error("Invalid key parameter.");var s=this.mode.name,o=["CFB","OFB","CTR","GCM"].indexOf(s)!==-1;this._w=ec(t,e.decrypt&&!o),this._init=!0}};mt.aes._expandKey=function(e,t){return ho||tc(),ec(e,t)};mt.aes._updateBlock=lo;an("AES-ECB",mt.cipher.modes.ecb);an("AES-CBC",mt.cipher.modes.cbc);an("AES-CFB",mt.cipher.modes.cfb);an("AES-OFB",mt.cipher.modes.ofb);an("AES-CTR",mt.cipher.modes.ctr);an("AES-GCM",mt.cipher.modes.gcm);function an(e,t){var r=function(){return new mt.aes.Algorithm(e,t)};mt.cipher.registerAlgorithm(e,r)}var ho=!1,on=4,ne,fo,j0,Cr,Se;function tc(){ho=!0,j0=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),t=0;t<128;++t)e[t]=t<<1,e[t+128]=t+128<<1^283;ne=new Array(256),fo=new Array(256),Cr=new Array(4),Se=new Array(4);for(var t=0;t<4;++t)Cr[t]=new Array(256),Se[t]=new Array(256);for(var r=0,n=0,i,s,o,a,c,u,f,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,ne[r]=a,fo[a]=r,c=e[a],i=e[r],s=e[i],o=e[s],u=c<<24^a<<16^a<<8^(a^c),f=(i^s^o)<<24^(r^o)<<16^(r^s^o)<<8^(r^i^o);for(var l=0;l<4;++l)Cr[l][r]=u,Se[l][a]=f,u=u<<24|u>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^e[e[e[i^o]]],n^=e[e[n]])}}function ec(e,t){for(var r=e.slice(0),n,i=1,s=r.length,o=s+6+1,a=on*o,c=s;c<a;++c)n=r[c-1],c%s===0?(n=ne[n>>>16&255]<<24^ne[n>>>8&255]<<16^ne[n&255]<<8^ne[n>>>24]^j0[i]<<24,i++):s>6&&c%s===4&&(n=ne[n>>>24]<<24^ne[n>>>16&255]<<16^ne[n>>>8&255]<<8^ne[n&255]),r[c]=r[c-s]^n;if(t){var u,f=Se[0],l=Se[1],h=Se[2],y=Se[3],d=r.slice(0);a=r.length;for(var c=0,p=a-on;c<a;c+=on,p-=on)if(c===0||c===a-on)d[c]=r[p],d[c+1]=r[p+3],d[c+2]=r[p+2],d[c+3]=r[p+1];else for(var m=0;m<on;++m)u=r[p+m],d[c+(3&-m)]=f[ne[u>>>24]]^l[ne[u>>>16&255]]^h[ne[u>>>8&255]]^y[ne[u&255]];r=d}return r}function lo(e,t,r,n){var i=e.length/4-1,s,o,a,c,u;n?(s=Se[0],o=Se[1],a=Se[2],c=Se[3],u=fo):(s=Cr[0],o=Cr[1],a=Cr[2],c=Cr[3],u=ne);var f,l,h,y,d,p,m;f=t[0]^e[0],l=t[n?3:1]^e[1],h=t[2]^e[2],y=t[n?1:3]^e[3];for(var x=3,E=1;E<i;++E)d=s[f>>>24]^o[l>>>16&255]^a[h>>>8&255]^c[y&255]^e[++x],p=s[l>>>24]^o[h>>>16&255]^a[y>>>8&255]^c[f&255]^e[++x],m=s[h>>>24]^o[y>>>16&255]^a[f>>>8&255]^c[l&255]^e[++x],y=s[y>>>24]^o[f>>>16&255]^a[l>>>8&255]^c[h&255]^e[++x],f=d,l=p,h=m;r[0]=u[f>>>24]<<24^u[l>>>16&255]<<16^u[h>>>8&255]<<8^u[y&255]^e[++x],r[n?3:1]=u[l>>>24]<<24^u[h>>>16&255]<<16^u[y>>>8&255]<<8^u[f&255]^e[++x],r[2]=u[h>>>24]<<24^u[y>>>16&255]<<16^u[f>>>8&255]<<8^u[l&255]^e[++x],r[n?1:3]=u[y>>>24]<<24^u[f>>>16&255]<<16^u[l>>>8&255]<<8^u[h&255]^e[++x]}function mi(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=mt.cipher.createDecipher(r,e.key):n=mt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof mt.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var sc=ot((C2,ic)=>{var vt=ht();ao();uo();Dt();ic.exports=vt.des=vt.des||{};vt.des.startEncrypting=function(e,t,r,n){var i=gi({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};vt.des.createEncryptionCipher=function(e,t){return gi({key:e,output:null,decrypt:!1,mode:t})};vt.des.startDecrypting=function(e,t,r,n){var i=gi({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};vt.des.createDecryptionCipher=function(e,t){return gi({key:e,output:null,decrypt:!0,mode:t})};vt.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return nc(r._keys,n,i,!1)},decrypt:function(n,i){return nc(r._keys,n,i,!0)}}}),r._init=!1};vt.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=vt.util.createBuffer(e.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=vd(t),this._init=!0}};De("DES-ECB",vt.cipher.modes.ecb);De("DES-CBC",vt.cipher.modes.cbc);De("DES-CFB",vt.cipher.modes.cfb);De("DES-OFB",vt.cipher.modes.ofb);De("DES-CTR",vt.cipher.modes.ctr);De("3DES-ECB",vt.cipher.modes.ecb);De("3DES-CBC",vt.cipher.modes.cbc);De("3DES-CFB",vt.cipher.modes.cfb);De("3DES-OFB",vt.cipher.modes.ofb);De("3DES-CTR",vt.cipher.modes.ctr);function De(e,t){var r=function(){return new vt.des.Algorithm(e,t)};vt.cipher.registerAlgorithm(e,r)}var ld=[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],hd=[-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],dd=[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],pd=[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],yd=[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],md=[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],gd=[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],xd=[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 vd(e){for(var t=[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],f=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],l=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],h=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],y=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],d=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],p=e.length()>8?3:1,m=[],x=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],E=0,b,R=0;R<p;R++){var w=e.getInt32(),S=e.getInt32();b=(w>>>4^S)&252645135,S^=b,w^=b<<4,b=(S>>>-16^w)&65535,w^=b,S^=b<<-16,b=(w>>>2^S)&858993459,S^=b,w^=b<<2,b=(S>>>-16^w)&65535,w^=b,S^=b<<-16,b=(w>>>1^S)&1431655765,S^=b,w^=b<<1,b=(S>>>8^w)&16711935,w^=b,S^=b<<8,b=(w>>>1^S)&1431655765,S^=b,w^=b<<1,b=w<<8|S>>>20&240,w=S<<24|S<<8&16711680|S>>>8&65280|S>>>24&240,S=b;for(var L=0;L<x.length;++L){x[L]?(w=w<<2|w>>>26,S=S<<2|S>>>26):(w=w<<1|w>>>27,S=S<<1|S>>>27),w&=-15,S&=-15;var D=t[w>>>28]|r[w>>>24&15]|n[w>>>20&15]|i[w>>>16&15]|s[w>>>12&15]|o[w>>>8&15]|a[w>>>4&15],Y=c[S>>>28]|u[S>>>24&15]|f[S>>>20&15]|l[S>>>16&15]|h[S>>>12&15]|y[S>>>8&15]|d[S>>>4&15];b=(Y>>>16^D)&65535,m[E++]=D^b,m[E++]=Y^b<<16}}return m}function nc(e,t,r,n){var i=e.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=t[0],c=t[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 f=s[u+1],l=s[u+2],h=s[u];h!=f;h+=l){var y=c^e[h],d=(c>>>4|c<<28)^e[h+1];o=a,a=c,c=o^(hd[y>>>24&63]|pd[y>>>16&63]|md[y>>>8&63]|xd[y&63]|ld[d>>>24&63]|dd[d>>>16&63]|yd[d>>>8&63]|gd[d&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 gi(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=vt.cipher.createDecipher(r,e.key):n=vt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof vt.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var _r=ot((_2,oc)=>{var xi=ht();oc.exports=xi.md=xi.md||{};xi.md.algorithms=xi.md.algorithms||{}});var cc=ot((R2,ac)=>{var ze=ht();_r();Dt();var bd=ac.exports=ze.hmac=ze.hmac||{};bd.create=function(){var e=null,t=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 ze.md.algorithms)t=ze.md.algorithms[s].create();else throw new Error('Unknown hash algorithm "'+s+'"');else t=s;if(o===null)o=e;else{if(typeof o=="string")o=ze.util.createBuffer(o);else if(ze.util.isArray(o)){var a=o;o=ze.util.createBuffer();for(var c=0;c<a.length;++c)o.putByte(a[c])}var u=o.length();u>t.blockLength&&(t.start(),t.update(o.bytes()),o=t.digest()),r=ze.util.createBuffer(),n=ze.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<t.blockLength)for(var a=t.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);e=o,r=r.bytes(),n=n.bytes()}t.start(),t.update(r)},i.update=function(s){t.update(s)},i.getMac=function(){var s=t.digest().bytes();return t.start(),t.update(n),t.update(s),t.digest()},i.digest=i.getMac,i}});var vi=ot(()=>{});var fc=ot((N2,uc)=>{var ie=ht();cc();_r();Dt();var Ed=ie.pkcs5=ie.pkcs5||{},Ge;ie.util.isNodejs&&!ie.options.usePureJavaScript&&(Ge=vi());uc.exports=ie.pbkdf2=Ed.pbkdf2=function(e,t,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),ie.util.isNodejs&&!ie.options.usePureJavaScript&&Ge.pbkdf2&&(i===null||typeof i!="object")&&(Ge.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),s?Ge.pbkdf2Sync.length===4?Ge.pbkdf2(e,t,r,n,function(b,R){if(b)return s(b);s(null,R.toString("binary"))}):Ge.pbkdf2(e,t,r,n,i,function(b,R){if(b)return s(b);s(null,R.toString("binary"))}):Ge.pbkdf2Sync.length===4?Ge.pbkdf2Sync(e,t,r,n).toString("binary"):Ge.pbkdf2Sync(e,t,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in ie.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=ie.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,f=ie.hmac.create();f.start(i,e);var l="",h,y,d;if(!s){for(var p=1;p<=c;++p){f.start(null,null),f.update(t),f.update(ie.util.int32ToBytes(p)),h=d=f.digest().getBytes();for(var m=2;m<=r;++m)f.start(null,null),f.update(d),y=f.digest().getBytes(),h=ie.util.xorBytes(h,y,o),d=y;l+=p<c?h:h.substr(0,u)}return l}var p=1,m;function x(){if(p>c)return s(null,l);f.start(null,null),f.update(t),f.update(ie.util.int32ToBytes(p)),h=d=f.digest().getBytes(),m=2,E()}function E(){if(m<=r)return f.start(null,null),f.update(d),y=f.digest().getBytes(),h=ie.util.xorBytes(h,y,o),d=y,++m,ie.util.setImmediate(E);l+=p<c?h:h.substr(0,u),++p,x()}x()}});var dc=ot((P2,hc)=>{var Ei=ht();Dt();var lc=hc.exports=Ei.pem=Ei.pem||{};lc.encode=function(e,t){t=t||{};var r="-----BEGIN "+e.type+`-----\r
|
9
|
-
`,n;if(e.procType&&(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]},r+=
|
10
|
-
`),r+=
|
8
|
+
`,e.composed){for(var o=0,a="",s=0;s<e.value.length;++s)e.value[s]!==void 0&&(o+=1,a+=k.prettyPrint(e.value[s],t+1,r),s+1<e.value.length&&(a+=","));n+=i+"Sub values: "+o+a}else{if(n+=i+"Value: ",e.type===k.Type.OID){var c=k.derToOid(e.value);n+=c,gt.pki&>.pki.oids&&c in gt.pki.oids&&(n+=" ("+gt.pki.oids[c]+") ")}if(e.type===k.Type.INTEGER)try{n+=k.derToInteger(e.value)}catch{n+="0x"+gt.util.bytesToHex(e.value)}else if(e.type===k.Type.BITSTRING){if(e.value.length>1?n+="0x"+gt.util.bytesToHex(e.value.slice(1)):n+="(none)",e.value.length>0){var u=e.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(e.type===k.Type.OCTETSTRING)Z0.test(e.value)||(n+="("+e.value+") "),n+="0x"+gt.util.bytesToHex(e.value);else if(e.type===k.Type.UTF8)try{n+=gt.util.decodeUtf8(e.value)}catch(f){if(f.message==="URI malformed")n+="0x"+gt.util.bytesToHex(e.value)+" (malformed UTF8)";else throw f}else e.type===k.Type.PRINTABLESTRING||e.type===k.Type.IA5String?n+=e.value:Z0.test(e.value)?n+="0x"+gt.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var co=ot((B2,J0)=>{var Ft=ht();Dt();J0.exports=Ft.cipher=Ft.cipher||{};Ft.cipher.algorithms=Ft.cipher.algorithms||{};Ft.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ft.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ft.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};Ft.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ft.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ft.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};Ft.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),Ft.cipher.algorithms[e]=t};Ft.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in Ft.cipher.algorithms?Ft.cipher.algorithms[e]:null};var ao=Ft.cipher.BlockCipher=function(e){this.algorithm=e.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=e.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=e.decrypt,this.algorithm.initialize(e)};ao.prototype.start=function(e){e=e||{};var t={};for(var r in e)t[r]=e[r];t.decrypt=this._decrypt,this._finish=!1,this._input=Ft.util.createBuffer(),this.output=e.output||Ft.util.createBuffer(),this.mode.start(t)};ao.prototype.update=function(e){for(e&&this._input.putBuffer(e);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};ao.prototype.finish=function(e){e&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return e(this.blockSize,r,!1)},this.mode.unpad=function(r){return e(this.blockSize,r,!0)});var t={};return t.decrypt=this._decrypt,t.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,t)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,t))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,t))}});var fo=ot((I2,j0)=>{var Vt=ht();Dt();Vt.cipher=Vt.cipher||{};var J=j0.exports=Vt.cipher.modes=Vt.cipher.modes||{};J.ecb=function(e){e=e||{},this.name="ECB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};J.ecb.prototype.start=function(e){};J.ecb.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};J.ecb.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};J.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};J.ecb.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};J.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};J.cbc.prototype.start=function(e){if(e.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in e)this._iv=yi(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};J.cbc.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n]);this._prev=this._outBlock};J.cbc.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};J.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};J.cbc.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};J.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Vt.util.createBuffer(),this._partialBytes=0};J.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=yi(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};J.cfb.prototype.encrypt=function(e,t,r){var n=e.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]=e.getInt32()^this._outBlock[i],t.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]=e.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(s>0)e.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 t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};J.cfb.prototype.decrypt=function(e,t,r){var n=e.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]=e.getInt32(),t.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]=e.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(s>0)e.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 t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};J.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Vt.util.createBuffer(),this._partialBytes=0};J.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=yi(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};J.ofb.prototype.encrypt=function(e,t,r){var n=e.length();if(e.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)t.putInt32(e.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(e.getInt32()^this._outBlock[i]);if(s>0)e.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 t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};J.ofb.prototype.decrypt=J.ofb.prototype.encrypt;J.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Vt.util.createBuffer(),this._partialBytes=0};J.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=yi(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};J.ctr.prototype.encrypt=function(e,t,r){var n=e.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)t.putInt32(e.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(e.getInt32()^this._outBlock[i]);if(s>0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),s>0&&!r)return t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}mi(this._inBlock)};J.ctr.prototype.decrypt=J.ctr.prototype.encrypt;J.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Vt.util.createBuffer(),this._partialBytes=0,this._R=3774873600};J.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=Vt.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=Vt.util.createBuffer(e.additionalData):r=Vt.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=Vt.util.createBuffer(e.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=t.length();if(n===12)this._j0=[t.getInt32(),t.getInt32(),t.getInt32(),1];else{for(this._j0=[0,0,0,0];t.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(uo(n*8)))}this._inBlock=this._j0.slice(0),mi(this._inBlock),this._partialBytes=0,r=Vt.util.createBuffer(r),this._aDataLength=uo(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()])};J.gcm.prototype.encrypt=function(e,t,r){var n=e.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)t.putInt32(this._outBlock[i]^=e.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(e.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 e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(s-this._partialBytes)),this._partialBytes=s,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),mi(this._inBlock)};J.gcm.prototype.decrypt=function(e,t,r){var n=e.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),mi(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};J.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=Vt.util.createBuffer();var n=this._aDataLength.concat(uo(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)),t.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};J.gcm.prototype.multiply=function(e,t){for(var r=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){var s=e[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};J.gcm.prototype.pow=function(e,t){for(var r=e[3]&1,n=3;n>0;--n)t[n]=e[n]>>>1|(e[n-1]&1)<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)};J.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=e[n]>>>(7-r%8)*4&15,s=this._m[r][i];t[0]^=s[0],t[1]^=s[1],t[2]^=s[2],t[3]^=s[3]}return t};J.gcm.prototype.ghash=function(e,t,r){return t[0]^=r[0],t[1]^=r[1],t[2]^=r[2],t[3]^=r[3],this.tableMultiply(t)};J.gcm.prototype.generateHashTable=function(e,t){for(var r=8/t,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)*t;a[c]=1<<t-1<<u,s[o]=this.generateSubHashTable(this.multiply(a,e),t)}return s};J.gcm.prototype.generateSubHashTable=function(e,t){var r=1<<t,n=r>>>1,i=new Array(r);i[n]=e.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]=[e[0]^u[0],e[1]^u[1],e[2]^u[2],e[3]^u[3]]}return i};function yi(e,t){if(typeof e=="string"&&(e=Vt.util.createBuffer(e)),Vt.util.isArray(e)&&e.length>4){var r=e;e=Vt.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(e.length()<t)throw new Error("Invalid IV length; got "+e.length()+" bytes and expected "+t+" bytes.");if(!Vt.util.isArray(e)){for(var i=[],s=t/4,n=0;n<s;++n)i.push(e.getInt32());e=i}return e}function mi(e){e[e.length-1]=e[e.length-1]+1&4294967295}function uo(e){return[e/4294967296|0,e&4294967295]}});var yo=ot((C2,nc)=>{var mt=ht();co();fo();Dt();nc.exports=mt.aes=mt.aes||{};mt.aes.startEncrypting=function(e,t,r,n){var i=gi({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};mt.aes.createEncryptionCipher=function(e,t){return gi({key:e,output:null,decrypt:!1,mode:t})};mt.aes.startDecrypting=function(e,t,r,n){var i=gi({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};mt.aes.createDecryptionCipher=function(e,t){return gi({key:e,output:null,decrypt:!0,mode:t})};mt.aes.Algorithm=function(e,t){po||ec();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return ho(r._w,n,i,!1)},decrypt:function(n,i){return ho(r._w,n,i,!0)}}}),r._init=!1};mt.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t=e.key,r;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=mt.util.createBuffer(t);else if(mt.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=mt.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!mt.util.isArray(t)){r=t,t=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)t.push(r.getInt32())}}if(!mt.util.isArray(t)||!(t.length===4||t.length===6||t.length===8))throw new Error("Invalid key parameter.");var s=this.mode.name,o=["CFB","OFB","CTR","GCM"].indexOf(s)!==-1;this._w=rc(t,e.decrypt&&!o),this._init=!0}};mt.aes._expandKey=function(e,t){return po||ec(),rc(e,t)};mt.aes._updateBlock=ho;cn("AES-ECB",mt.cipher.modes.ecb);cn("AES-CBC",mt.cipher.modes.cbc);cn("AES-CFB",mt.cipher.modes.cfb);cn("AES-OFB",mt.cipher.modes.ofb);cn("AES-CTR",mt.cipher.modes.ctr);cn("AES-GCM",mt.cipher.modes.gcm);function cn(e,t){var r=function(){return new mt.aes.Algorithm(e,t)};mt.cipher.registerAlgorithm(e,r)}var po=!1,an=4,ne,lo,tc,Rr,Ae;function ec(){po=!0,tc=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),t=0;t<128;++t)e[t]=t<<1,e[t+128]=t+128<<1^283;ne=new Array(256),lo=new Array(256),Rr=new Array(4),Ae=new Array(4);for(var t=0;t<4;++t)Rr[t]=new Array(256),Ae[t]=new Array(256);for(var r=0,n=0,i,s,o,a,c,u,f,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,ne[r]=a,lo[a]=r,c=e[a],i=e[r],s=e[i],o=e[s],u=c<<24^a<<16^a<<8^(a^c),f=(i^s^o)<<24^(r^o)<<16^(r^s^o)<<8^(r^i^o);for(var l=0;l<4;++l)Rr[l][r]=u,Ae[l][a]=f,u=u<<24|u>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^e[e[e[i^o]]],n^=e[e[n]])}}function rc(e,t){for(var r=e.slice(0),n,i=1,s=r.length,o=s+6+1,a=an*o,c=s;c<a;++c)n=r[c-1],c%s===0?(n=ne[n>>>16&255]<<24^ne[n>>>8&255]<<16^ne[n&255]<<8^ne[n>>>24]^tc[i]<<24,i++):s>6&&c%s===4&&(n=ne[n>>>24]<<24^ne[n>>>16&255]<<16^ne[n>>>8&255]<<8^ne[n&255]),r[c]=r[c-s]^n;if(t){var u,f=Ae[0],l=Ae[1],h=Ae[2],y=Ae[3],d=r.slice(0);a=r.length;for(var c=0,p=a-an;c<a;c+=an,p-=an)if(c===0||c===a-an)d[c]=r[p],d[c+1]=r[p+3],d[c+2]=r[p+2],d[c+3]=r[p+1];else for(var m=0;m<an;++m)u=r[p+m],d[c+(3&-m)]=f[ne[u>>>24]]^l[ne[u>>>16&255]]^h[ne[u>>>8&255]]^y[ne[u&255]];r=d}return r}function ho(e,t,r,n){var i=e.length/4-1,s,o,a,c,u;n?(s=Ae[0],o=Ae[1],a=Ae[2],c=Ae[3],u=lo):(s=Rr[0],o=Rr[1],a=Rr[2],c=Rr[3],u=ne);var f,l,h,y,d,p,m;f=t[0]^e[0],l=t[n?3:1]^e[1],h=t[2]^e[2],y=t[n?1:3]^e[3];for(var x=3,E=1;E<i;++E)d=s[f>>>24]^o[l>>>16&255]^a[h>>>8&255]^c[y&255]^e[++x],p=s[l>>>24]^o[h>>>16&255]^a[y>>>8&255]^c[f&255]^e[++x],m=s[h>>>24]^o[y>>>16&255]^a[f>>>8&255]^c[l&255]^e[++x],y=s[y>>>24]^o[f>>>16&255]^a[l>>>8&255]^c[h&255]^e[++x],f=d,l=p,h=m;r[0]=u[f>>>24]<<24^u[l>>>16&255]<<16^u[h>>>8&255]<<8^u[y&255]^e[++x],r[n?3:1]=u[l>>>24]<<24^u[h>>>16&255]<<16^u[y>>>8&255]<<8^u[f&255]^e[++x],r[2]=u[h>>>24]<<24^u[y>>>16&255]<<16^u[f>>>8&255]<<8^u[l&255]^e[++x],r[n?1:3]=u[y>>>24]<<24^u[f>>>16&255]<<16^u[l>>>8&255]<<8^u[h&255]^e[++x]}function gi(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=mt.cipher.createDecipher(r,e.key):n=mt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof mt.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var oc=ot((_2,sc)=>{var vt=ht();co();fo();Dt();sc.exports=vt.des=vt.des||{};vt.des.startEncrypting=function(e,t,r,n){var i=xi({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};vt.des.createEncryptionCipher=function(e,t){return xi({key:e,output:null,decrypt:!1,mode:t})};vt.des.startDecrypting=function(e,t,r,n){var i=xi({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};vt.des.createDecryptionCipher=function(e,t){return xi({key:e,output:null,decrypt:!0,mode:t})};vt.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return ic(r._keys,n,i,!1)},decrypt:function(n,i){return ic(r._keys,n,i,!0)}}}),r._init=!1};vt.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=vt.util.createBuffer(e.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=bd(t),this._init=!0}};Pe("DES-ECB",vt.cipher.modes.ecb);Pe("DES-CBC",vt.cipher.modes.cbc);Pe("DES-CFB",vt.cipher.modes.cfb);Pe("DES-OFB",vt.cipher.modes.ofb);Pe("DES-CTR",vt.cipher.modes.ctr);Pe("3DES-ECB",vt.cipher.modes.ecb);Pe("3DES-CBC",vt.cipher.modes.cbc);Pe("3DES-CFB",vt.cipher.modes.cfb);Pe("3DES-OFB",vt.cipher.modes.ofb);Pe("3DES-CTR",vt.cipher.modes.ctr);function Pe(e,t){var r=function(){return new vt.des.Algorithm(e,t)};vt.cipher.registerAlgorithm(e,r)}var hd=[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],dd=[-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],pd=[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],yd=[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],md=[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],gd=[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],xd=[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],vd=[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 bd(e){for(var t=[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],f=[0,268435456,8,268435464,0,268435456,8,268435464,1024,268436480,1032,268436488,1024,268436480,1032,268436488],l=[0,32,0,32,1048576,1048608,1048576,1048608,8192,8224,8192,8224,1056768,1056800,1056768,1056800],h=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],y=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],d=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],p=e.length()>8?3:1,m=[],x=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],E=0,b,R=0;R<p;R++){var w=e.getInt32(),S=e.getInt32();b=(w>>>4^S)&252645135,S^=b,w^=b<<4,b=(S>>>-16^w)&65535,w^=b,S^=b<<-16,b=(w>>>2^S)&858993459,S^=b,w^=b<<2,b=(S>>>-16^w)&65535,w^=b,S^=b<<-16,b=(w>>>1^S)&1431655765,S^=b,w^=b<<1,b=(S>>>8^w)&16711935,w^=b,S^=b<<8,b=(w>>>1^S)&1431655765,S^=b,w^=b<<1,b=w<<8|S>>>20&240,w=S<<24|S<<8&16711680|S>>>8&65280|S>>>24&240,S=b;for(var L=0;L<x.length;++L){x[L]?(w=w<<2|w>>>26,S=S<<2|S>>>26):(w=w<<1|w>>>27,S=S<<1|S>>>27),w&=-15,S&=-15;var D=t[w>>>28]|r[w>>>24&15]|n[w>>>20&15]|i[w>>>16&15]|s[w>>>12&15]|o[w>>>8&15]|a[w>>>4&15],Y=c[S>>>28]|u[S>>>24&15]|f[S>>>20&15]|l[S>>>16&15]|h[S>>>12&15]|y[S>>>8&15]|d[S>>>4&15];b=(Y>>>16^D)&65535,m[E++]=D^b,m[E++]=Y^b<<16}}return m}function ic(e,t,r,n){var i=e.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=t[0],c=t[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 f=s[u+1],l=s[u+2],h=s[u];h!=f;h+=l){var y=c^e[h],d=(c>>>4|c<<28)^e[h+1];o=a,a=c,c=o^(dd[y>>>24&63]|yd[y>>>16&63]|gd[y>>>8&63]|vd[y&63]|hd[d>>>24&63]|pd[d>>>16&63]|md[d>>>8&63]|xd[d&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 xi(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=vt.cipher.createDecipher(r,e.key):n=vt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(s,o){var a=null;o instanceof vt.util.ByteBuffer&&(a=o,o={}),o=o||{},o.output=a,o.iv=s,i.call(n,o)},n}});var Lr=ot((R2,ac)=>{var vi=ht();ac.exports=vi.md=vi.md||{};vi.md.algorithms=vi.md.algorithms||{}});var uc=ot((L2,cc)=>{var We=ht();Lr();Dt();var Ed=cc.exports=We.hmac=We.hmac||{};Ed.create=function(){var e=null,t=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 We.md.algorithms)t=We.md.algorithms[s].create();else throw new Error('Unknown hash algorithm "'+s+'"');else t=s;if(o===null)o=e;else{if(typeof o=="string")o=We.util.createBuffer(o);else if(We.util.isArray(o)){var a=o;o=We.util.createBuffer();for(var c=0;c<a.length;++c)o.putByte(a[c])}var u=o.length();u>t.blockLength&&(t.start(),t.update(o.bytes()),o=t.digest()),r=We.util.createBuffer(),n=We.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<t.blockLength)for(var a=t.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);e=o,r=r.bytes(),n=n.bytes()}t.start(),t.update(r)},i.update=function(s){t.update(s)},i.getMac=function(){var s=t.digest().bytes();return t.start(),t.update(n),t.update(s),t.digest()},i.digest=i.getMac,i}});var bi=ot(()=>{});var lc=ot((P2,fc)=>{var ie=ht();uc();Lr();Dt();var wd=ie.pkcs5=ie.pkcs5||{},Ye;ie.util.isNodejs&&!ie.options.usePureJavaScript&&(Ye=bi());fc.exports=ie.pbkdf2=wd.pbkdf2=function(e,t,r,n,i,s){if(typeof i=="function"&&(s=i,i=null),ie.util.isNodejs&&!ie.options.usePureJavaScript&&Ye.pbkdf2&&(i===null||typeof i!="object")&&(Ye.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),s?Ye.pbkdf2Sync.length===4?Ye.pbkdf2(e,t,r,n,function(b,R){if(b)return s(b);s(null,R.toString("binary"))}):Ye.pbkdf2(e,t,r,n,i,function(b,R){if(b)return s(b);s(null,R.toString("binary"))}):Ye.pbkdf2Sync.length===4?Ye.pbkdf2Sync(e,t,r,n).toString("binary"):Ye.pbkdf2Sync(e,t,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in ie.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=ie.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,f=ie.hmac.create();f.start(i,e);var l="",h,y,d;if(!s){for(var p=1;p<=c;++p){f.start(null,null),f.update(t),f.update(ie.util.int32ToBytes(p)),h=d=f.digest().getBytes();for(var m=2;m<=r;++m)f.start(null,null),f.update(d),y=f.digest().getBytes(),h=ie.util.xorBytes(h,y,o),d=y;l+=p<c?h:h.substr(0,u)}return l}var p=1,m;function x(){if(p>c)return s(null,l);f.start(null,null),f.update(t),f.update(ie.util.int32ToBytes(p)),h=d=f.digest().getBytes(),m=2,E()}function E(){if(m<=r)return f.start(null,null),f.update(d),y=f.digest().getBytes(),h=ie.util.xorBytes(h,y,o),d=y,++m,ie.util.setImmediate(E);l+=p<c?h:h.substr(0,u),++p,x()}x()}});var pc=ot((k2,dc)=>{var wi=ht();Dt();var hc=dc.exports=wi.pem=wi.pem||{};hc.encode=function(e,t){t=t||{};var r="-----BEGIN "+e.type+`-----\r
|
9
|
+
`,n;if(e.procType&&(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]},r+=Ei(n)),e.contentDomain&&(n={name:"Content-Domain",values:[e.contentDomain]},r+=Ei(n)),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),r+=Ei(n)),e.headers)for(var i=0;i<e.headers.length;++i)r+=Ei(e.headers[i]);return e.procType&&(r+=`\r
|
10
|
+
`),r+=wi.util.encode64(e.body,t.maxline||64)+`\r
|
11
11
|
`,r+="-----END "+e.type+`-----\r
|
12
|
-
`,r};
|
12
|
+
`,r};hc.decode=function(e){for(var t=[],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(e),!!s;){var o=s[1];o==="NEW CERTIFICATE REQUEST"&&(o="CERTIFICATE REQUEST");var a={type:o,procType:null,contentDomain:null,dekInfo:null,headers:[],body:wi.util.decode64(s[3])};if(t.push(a),!!s[2]){for(var c=s[2].split(i),u=0;s&&u<c.length;){for(var f=c[u].replace(/\s+$/,""),l=u+1;l<c.length;++l){var h=c[l];if(!/\s/.test(h[0]))break;f+=h,u=l}if(s=f.match(n),s){for(var y={name:s[1],values:[]},d=s[2].split(","),p=0;p<d.length;++p)y.values.push(Sd(d[p]));if(a.procType)if(!a.contentDomain&&y.name==="Content-Domain")a.contentDomain=d[0]||"";else if(!a.dekInfo&&y.name==="DEK-Info"){if(y.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:d[0],parameters:d[1]||null}}else a.headers.push(y);else{if(y.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(y.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:d[0],type:d[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(t.length===0)throw new Error("Invalid PEM formatted message.");return t};function Ei(e){for(var t=e.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<e.values.length;++i)r.push(e.values[i].replace(/^(\S+\r\n)/,n));t+=r.join(",")+`\r
|
13
13
|
`;for(var s=0,o=-1,i=0;i<t.length;++i,++s)if(s>65&&o!==-1){var a=t[o];a===","?(++o,t=t.substr(0,o)+`\r
|
14
14
|
`+t.substr(o)):t=t.substr(0,o)+`\r
|
15
|
-
`+a+t.substr(o+1),s=i-o-1,o=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(o=i);return t}function wd(e){return e.replace(/^\s+/,"")}});var vc=ot((k2,xc)=>{var Ne=ht();_r();Dt();var yc=xc.exports=Ne.sha256=Ne.sha256||{};Ne.md.sha256=Ne.md.algorithms.sha256=yc;yc.create=function(){mc||Sd();var e=null,t=Ne.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 t=Ne.util.createBuffer(),e={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=Ne.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 t.putBytes(i),pc(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Ne.util.createBuffer();i.putBytes(t.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(yo.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};pc(l,r,i);var h=Ne.util.createBuffer();return h.putInt32(l.h0),h.putInt32(l.h1),h.putInt32(l.h2),h.putInt32(l.h3),h.putInt32(l.h4),h.putInt32(l.h5),h.putInt32(l.h6),h.putInt32(l.h7),h},n};var yo=null,mc=!1,gc=null;function Sd(){yo="\x80",yo+=Ne.util.fillString("\0",64),gc=[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],mc=!0}function pc(e,t,r){for(var n,i,s,o,a,c,u,f,l,h,y,d,p,m,x,E=r.length();E>=64;){for(u=0;u<16;++u)t[u]=r.getInt32();for(;u<64;++u)n=t[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[u]=n+t[u-7]+i+t[u-16]|0;for(f=e.h0,l=e.h1,h=e.h2,y=e.h3,d=e.h4,p=e.h5,m=e.h6,x=e.h7,u=0;u<64;++u)o=(d>>>6|d<<26)^(d>>>11|d<<21)^(d>>>25|d<<7),a=m^d&(p^m),s=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),c=f&l|h&(f^l),n=x+o+a+gc[u]+t[u],i=s+c,x=m,m=p,p=d,d=y+n>>>0,y=h,h=l,l=f,f=n+i>>>0;e.h0=e.h0+f|0,e.h1=e.h1+l|0,e.h2=e.h2+h|0,e.h3=e.h3+y|0,e.h4=e.h4+d|0,e.h5=e.h5+p|0,e.h6=e.h6+m|0,e.h7=e.h7+x|0,E-=64}}});var Ec=ot((U2,bc)=>{var Pe=ht();Dt();var wi=null;Pe.util.isNodejs&&!Pe.options.usePureJavaScript&&!process.versions["node-webkit"]&&(wi=vi());var Ad=bc.exports=Pe.prng=Pe.prng||{};Ad.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(u,f){if(!f)return t.generateSync(u);var l=t.plugin.cipher,h=t.plugin.increment,y=t.plugin.formatKey,d=t.plugin.formatSeed,p=Pe.util.createBuffer();t.key=null,m();function m(x){if(x)return f(x);if(p.length()>=u)return f(null,p.getBytes(u));if(t.generated>1048575&&(t.key=null),t.key===null)return Pe.util.nextTick(function(){s(m)});var E=l(t.key,t.seed);t.generated+=E.length,p.putBytes(E),t.key=y(l(t.key,h(t.seed))),t.seed=d(l(t.key,t.seed)),Pe.util.setImmediate(m)}},t.generateSync=function(u){var f=t.plugin.cipher,l=t.plugin.increment,h=t.plugin.formatKey,y=t.plugin.formatSeed;t.key=null;for(var d=Pe.util.createBuffer();d.length()<u;){t.generated>1048575&&(t.key=null),t.key===null&&o();var p=f(t.key,t.seed);t.generated+=p.length,d.putBytes(p),t.key=h(f(t.key,l(t.seed))),t.seed=y(f(t.key,t.seed))}return d.getBytes(u)};function s(u){if(t.pools[0].messageLength>=32)return a(),u();var f=32-t.pools[0].messageLength<<5;t.seedFile(f,function(l,h){if(l)return u(l);t.collect(h),a(),u()})}function o(){if(t.pools[0].messageLength>=32)return a();var u=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(u)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var u=t.plugin.md.create();u.update(t.keyBytes);for(var f=1,l=0;l<32;++l)t.reseeds%f===0&&(u.update(t.pools[l].digest().getBytes()),t.pools[l].start()),f=f<<1;t.keyBytes=u.digest().getBytes(),u.start(),u.update(t.keyBytes);var h=u.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(h),t.generated=0}function c(u){var f=null,l=Pe.util.globalScope,h=l.crypto||l.msCrypto;h&&h.getRandomValues&&(f=function(w){return h.getRandomValues(w)});var y=Pe.util.createBuffer();if(f)for(;y.length()<u;){var d=Math.max(1,Math.min(u-y.length(),65536)/4),p=new Uint32Array(Math.floor(d));try{f(p);for(var m=0;m<p.length;++m)y.putInt32(p[m])}catch(w){if(!(typeof QuotaExceededError<"u"&&w instanceof QuotaExceededError))throw w}}if(y.length()<u)for(var x,E,b,R=Math.floor(Math.random()*65536);y.length()<u;){E=16807*(R&65535),x=16807*(R>>16),E+=(x&32767)<<16,E+=x>>15,E=(E&2147483647)+(E>>31),R=E&4294967295;for(var m=0;m<3;++m)b=R>>>(m<<3),b^=Math.floor(Math.random()*256),y.putByte(b&255)}return y.getBytes(u)}return wi?(t.seedFile=function(u,f){wi.randomBytes(u,function(l,h){if(l)return f(l);f(null,h.toString())})},t.seedFileSync=function(u){return wi.randomBytes(u).toString()}):(t.seedFile=function(u,f){try{f(null,c(u))}catch(l){f(l)}},t.seedFileSync=c),t.collect=function(u){for(var f=u.length,l=0;l<f;++l)t.pools[t.pool].update(u.substr(l,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(u,f){for(var l="",h=0;h<f;h+=8)l+=String.fromCharCode(u>>h&255);t.collect(l)},t.registerWorker=function(u){if(u===self)t.seedFile=function(l,h){function y(d){var p=d.data;p.forge&&p.forge.prng&&(self.removeEventListener("message",y),h(p.forge.prng.err,p.forge.prng.bytes))}self.addEventListener("message",y),self.postMessage({forge:{prng:{needed:l}}})};else{var f=function(l){var h=l.data;h.forge&&h.forge.prng&&t.seedFile(h.forge.prng.needed,function(y,d){u.postMessage({forge:{prng:{err:y,bytes:d}}})})};u.addEventListener("message",f)}},t}});var Un=ot((O2,mo)=>{var qt=ht();po();vc();Ec();Dt();(function(){if(qt.random&&qt.random.getBytes){mo.exports=qt.random;return}(function(e){var t={},r=new Array(4),n=qt.util.createBuffer();t.formatKey=function(l){var h=qt.util.createBuffer(l);return l=new Array(4),l[0]=h.getInt32(),l[1]=h.getInt32(),l[2]=h.getInt32(),l[3]=h.getInt32(),qt.aes._expandKey(l,!1)},t.formatSeed=function(l){var h=qt.util.createBuffer(l);return l=new Array(4),l[0]=h.getInt32(),l[1]=h.getInt32(),l[2]=h.getInt32(),l[3]=h.getInt32(),l},t.cipher=function(l,h){return qt.aes._updateBlock(l,h,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},t.increment=function(l){return++l[3],l},t.md=qt.md.sha256;function i(){var l=qt.prng.create(t);return l.getBytes=function(h,y){return l.generate(h,y)},l.getBytesSync=function(h){return l.generate(h)},l}var s=i(),o=null,a=qt.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(l){return c.getRandomValues(l)}),qt.options.usePureJavaScript||!qt.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var f in navigator)try{typeof navigator[f]=="string"&&(u+=navigator[f])}catch{}s.collect(u),u=null}e&&(e().mousemove(function(l){s.collectInt(l.clientX,16),s.collectInt(l.clientY,16)}),e().keypress(function(l){s.collectInt(l.charCode,8)}))}if(!qt.random)qt.random=s;else for(var f in s)qt.random[f]=s[f];qt.random.createInstance=i,mo.exports=qt.random})(typeof jQuery<"u"?jQuery:null)})()});var Tc=ot((M2,Ac)=>{var oe=ht();Dt();var go=[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],wc=[1,2,3,5],Td=function(e,t){return e<<t&65535|(e&65535)>>16-t},Bd=function(e,t){return(e&65535)>>t|e<<16-t&65535};Ac.exports=oe.rc2=oe.rc2||{};oe.rc2.expandKey=function(e,t){typeof e=="string"&&(e=oe.util.createBuffer(e)),t=t||128;var r=e,n=e.length(),i=t,s=Math.ceil(i/8),o=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(go[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,go[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,go[r.at(a+1)^r.at(a+s)]);return r};var Sc=function(e,t,r){var n=!1,i=null,s=null,o=null,a,c,u,f,l=[];for(e=oe.rc2.expandKey(e,t),u=0;u<64;u++)l.push(e.getInt16Le());r?(a=function(d){for(u=0;u<4;u++)d[u]+=l[f]+(d[(u+3)%4]&d[(u+2)%4])+(~d[(u+3)%4]&d[(u+1)%4]),d[u]=Td(d[u],wc[u]),f++},c=function(d){for(u=0;u<4;u++)d[u]+=l[d[(u+3)%4]&63]}):(a=function(d){for(u=3;u>=0;u--)d[u]=Bd(d[u],wc[u]),d[u]-=l[f]+(d[(u+3)%4]&d[(u+2)%4])+(~d[(u+3)%4]&d[(u+1)%4]),f--},c=function(d){for(u=3;u>=0;u--)d[u]-=l[d[(u+3)%4]&63]});var h=function(d){var p=[];for(u=0;u<4;u++){var m=i.getInt16Le();o!==null&&(r?m^=o.getInt16Le():o.putInt16Le(m)),p.push(m&65535)}f=r?0:63;for(var x=0;x<d.length;x++)for(var E=0;E<d[x][0];E++)d[x][1](p);for(u=0;u<4;u++)o!==null&&(r?o.putInt16Le(p[u]):p[u]^=o.getInt16Le()),s.putInt16Le(p[u])},y=null;return y={start:function(d,p){d&&typeof d=="string"&&(d=oe.util.createBuffer(d)),n=!1,i=oe.util.createBuffer(),s=p||new oe.util.createBuffer,o=d,y.output=s},update:function(d){for(n||i.putBuffer(d);i.length()>=8;)h([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(d){var p=!0;if(r)if(d)p=d(8,i,!r);else{var m=i.length()===8?8:8-i.length();i.fillWithByte(m,m)}if(p&&(n=!0,y.update()),!r&&(p=i.length()===0,p))if(d)p=d(8,s,!r);else{var x=s.length(),E=s.at(x-1);E>x?p=!1:s.truncate(E)}return p}},y};oe.rc2.startEncrypting=function(e,t,r){var n=oe.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};oe.rc2.createEncryptionCipher=function(e,t){return Sc(e,t,!0)};oe.rc2.startDecrypting=function(e,t,r){var n=oe.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};oe.rc2.createDecryptionCipher=function(e,t){return Sc(e,t,!1)}});var Ti=ot((K2,Nc)=>{var xo=ht();Nc.exports=xo.jsbn=xo.jsbn||{};var We,Id=0xdeadbeefcafe,Bc=(Id&16777215)==15715070;function B(e,t,r){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,t,r):t==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,t))}xo.jsbn.BigInteger=B;function it(){return new B(null)}function Cd(e,t,r,n,i,s){for(;--s>=0;){var o=t*this.data[e++]+r.data[n]+i;i=Math.floor(o/67108864),r.data[n++]=o&67108863}return i}function _d(e,t,r,n,i,s){for(var o=t&32767,a=t>>15;--s>=0;){var c=this.data[e]&32767,u=this.data[e++]>>15,f=a*c+u*o;c=o*c+((f&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(f>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function Ic(e,t,r,n,i,s){for(var o=t&16383,a=t>>14;--s>=0;){var c=this.data[e]&16383,u=this.data[e++]>>14,f=a*c+u*o;c=o*c+((f&16383)<<14)+r.data[n]+i,i=(c>>28)+(f>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(B.prototype.am=Ic,We=28):Bc&&navigator.appName=="Microsoft Internet Explorer"?(B.prototype.am=_d,We=30):Bc&&navigator.appName!="Netscape"?(B.prototype.am=Cd,We=26):(B.prototype.am=Ic,We=28);B.prototype.DB=We;B.prototype.DM=(1<<We)-1;B.prototype.DV=1<<We;var vo=52;B.prototype.FV=Math.pow(2,vo);B.prototype.F1=vo-We;B.prototype.F2=2*We-vo;var Rd="0123456789abcdefghijklmnopqrstuvwxyz",Si=new Array,cn,ge;cn=48;for(ge=0;ge<=9;++ge)Si[cn++]=ge;cn=97;for(ge=10;ge<36;++ge)Si[cn++]=ge;cn=65;for(ge=10;ge<36;++ge)Si[cn++]=ge;function Cc(e){return Rd.charAt(e)}function _c(e,t){var r=Si[e.charCodeAt(t)];return r??-1}function Ld(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function Dd(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function lr(e){var t=it();return t.fromInt(e),t}function Nd(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,s=0;--n>=0;){var o=r==8?e[n]&255:_c(e,n);if(o<0){e.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&&e[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 Pd(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function kd(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<<t)-1,n,i=!1,s="",o=this.t,a=this.DB-o*this.DB%t;if(o-- >0)for(a<this.DB&&(n=this.data[o]>>a)>0&&(i=!0,s=Cc(n));o>=0;)a<t?(n=(this.data[o]&(1<<a)-1)<<t-a,n|=this.data[--o]>>(a+=this.DB-t)):(n=this.data[o]>>(a-=t)&r,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=Cc(n));return i?s:"0"}function Ud(){var e=it();return B.ZERO.subTo(this,e),e}function Od(){return this.s<0?this.negate():this}function Md(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this.data[r]-e.data[r])!=0)return t;return 0}function Ai(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function Kd(){return this.t<=0?0:this.DB*(this.t-1)+Ai(this.data[this.t-1]^this.s&this.DM)}function Fd(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function Vd(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s}function qd(e,t){var r=e%this.DB,n=this.DB-r,i=(1<<n)-1,s=Math.floor(e/this.DB),o=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+s+1]=this.data[a]>>n|o,o=(this.data[a]&i)<<r;for(a=s-1;a>=0;--a)t.data[a]=0;t.data[s]=o,t.t=this.t+s+1,t.s=this.s,t.clamp()}function Hd(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,s=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var o=r+1;o<this.t;++o)t.data[o-r-1]|=(this.data[o]&s)<<i,t.data[o-r]=this.data[o]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&s)<<i),t.t=this.t-r,t.clamp()}function zd(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function Gd(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&B.ZERO.subTo(t,t)}function Wd(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function Yd(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=it());var s=it(),o=this.s,a=e.s,c=this.DB-Ai(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,f=s.data[u-1];if(f!=0){var l=f*(1<<this.F1)+(u>1?s.data[u-2]>>this.F2:0),h=this.FV/l,y=(1<<this.F1)/l,d=1<<this.F2,p=r.t,m=p-u,x=t??it();for(s.dlShiftTo(m,x),r.compareTo(x)>=0&&(r.data[r.t++]=1,r.subTo(x,r)),B.ONE.dlShiftTo(u,x),x.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--m>=0;){var E=r.data[--p]==f?this.DM:Math.floor(r.data[p]*h+(r.data[p-1]+d)*y);if((r.data[p]+=s.am(0,E,r,m,0,u))<E)for(s.dlShiftTo(m,x),r.subTo(x,r);r.data[p]<--E;)r.subTo(x,r)}t!=null&&(r.drShiftTo(u,t),o!=a&&B.ZERO.subTo(t,t)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&B.ZERO.subTo(r,r)}}}function $d(e){var t=it();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(B.ZERO)>0&&e.subTo(t,t),t}function Rr(e){this.m=e}function Qd(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function Zd(e){return e}function Xd(e){e.divRemTo(this.m,null,e)}function Jd(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function jd(e,t){e.squareTo(t),this.reduce(t)}Rr.prototype.convert=Qd;Rr.prototype.revert=Zd;Rr.prototype.reduce=Xd;Rr.prototype.mulTo=Jd;Rr.prototype.sqrTo=jd;function tp(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function Lr(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function ep(e){var t=it();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(B.ZERO)>0&&this.m.subTo(t,t),t}function rp(e){var t=it();return e.copyTo(t),this.reduce(t),t}function np(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=e.data[t]&32767,n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function ip(e,t){e.squareTo(t),this.reduce(t)}function sp(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Lr.prototype.convert=ep;Lr.prototype.revert=rp;Lr.prototype.reduce=np;Lr.prototype.mulTo=sp;Lr.prototype.sqrTo=ip;function op(){return(this.t>0?this.data[0]&1:this.s)==0}function ap(e,t){if(e>4294967295||e<1)return B.ONE;var r=it(),n=it(),i=t.convert(this),s=Ai(e)-1;for(i.copyTo(r);--s>=0;)if(t.sqrTo(r,n),(e&1<<s)>0)t.mulTo(n,i,r);else{var o=r;r=n,n=o}return t.revert(r)}function cp(e,t){var r;return e<256||t.isEven()?r=new Rr(t):r=new Lr(t),this.exp(e,r)}B.prototype.copyTo=Ld;B.prototype.fromInt=Dd;B.prototype.fromString=Nd;B.prototype.clamp=Pd;B.prototype.dlShiftTo=Fd;B.prototype.drShiftTo=Vd;B.prototype.lShiftTo=qd;B.prototype.rShiftTo=Hd;B.prototype.subTo=zd;B.prototype.multiplyTo=Gd;B.prototype.squareTo=Wd;B.prototype.divRemTo=Yd;B.prototype.invDigit=tp;B.prototype.isEven=op;B.prototype.exp=ap;B.prototype.toString=kd;B.prototype.negate=Ud;B.prototype.abs=Od;B.prototype.compareTo=Md;B.prototype.bitLength=Kd;B.prototype.mod=$d;B.prototype.modPowInt=cp;B.ZERO=lr(0);B.ONE=lr(1);function up(){var e=it();return this.copyTo(e),e}function fp(){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 lp(){return this.t==0?this.s:this.data[0]<<24>>24}function hp(){return this.t==0?this.s:this.data[0]<<16>>16}function dp(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function pp(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function yp(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=lr(r),i=it(),s=it(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(r+s.intValue()).toString(e).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(e)+o}function mp(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,s=0,o=0,a=0;a<e.length;++a){var c=_c(e,a);if(c<0){e.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=t*o+c,++s>=r&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0)}s>0&&(this.dMultiply(Math.pow(t,s)),this.dAddOffset(o,0)),i&&B.ZERO.subTo(this,this)}function gp(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(B.ONE.shiftLeft(e-1),bo,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(B.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function xp(){var e=this.t,t=new Array;t[0]=this.s;var r=this.DB-e*this.DB%8,n,i=0;if(e-- >0)for(r<this.DB&&(n=this.data[e]>>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this.data[e]&(1<<r)-1)<<8-r,n|=this.data[--e]>>(r+=this.DB-8)):(n=this.data[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function vp(e){return this.compareTo(e)==0}function bp(e){return this.compareTo(e)<0?this:e}function Ep(e){return this.compareTo(e)>0?this:e}function wp(e,t,r){var n,i,s=Math.min(e.t,this.t);for(n=0;n<s;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=s;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=s;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()}function Sp(e,t){return e&t}function Ap(e){var t=it();return this.bitwiseTo(e,Sp,t),t}function bo(e,t){return e|t}function Tp(e){var t=it();return this.bitwiseTo(e,bo,t),t}function Rc(e,t){return e^t}function Bp(e){var t=it();return this.bitwiseTo(e,Rc,t),t}function Lc(e,t){return e&~t}function Ip(e){var t=it();return this.bitwiseTo(e,Lc,t),t}function Cp(){for(var e=it(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e}function _p(e){var t=it();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function Rp(e){var t=it();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function Lp(e){if(e==0)return-1;var t=0;return e&65535||(e>>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function Dp(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+Lp(this.data[e]);return this.s<0?this.t*this.DB:-1}function Np(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function Pp(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=Np(this.data[r]^t);return e}function kp(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function Up(e,t){var r=B.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function Op(e){return this.changeBit(e,bo)}function Mp(e){return this.changeBit(e,Lc)}function Kp(e){return this.changeBit(e,Rc)}function Fp(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function Vp(e){var t=it();return this.addTo(e,t),t}function qp(e){var t=it();return this.subTo(e,t),t}function Hp(e){var t=it();return this.multiplyTo(e,t),t}function zp(e){var t=it();return this.divRemTo(e,t,null),t}function Gp(e){var t=it();return this.divRemTo(e,null,t),t}function Wp(e){var t=it(),r=it();return this.divRemTo(e,t,r),new Array(t,r)}function Yp(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function $p(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function On(){}function Dc(e){return e}function Qp(e,t,r){e.multiplyTo(t,r)}function Zp(e,t){e.squareTo(t)}On.prototype.convert=Dc;On.prototype.revert=Dc;On.prototype.mulTo=Qp;On.prototype.sqrTo=Zp;function Xp(e){return this.exp(e,new On)}function Jp(e,t,r){var n=Math.min(this.t+e.t,t);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,e.data[n],r,n,0,this.t);for(i=Math.min(e.t,t);n<i;++n)this.am(0,e.data[n],r,n,0,t-n);r.clamp()}function jp(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)}function un(e){this.r2=it(),this.q3=it(),B.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function ty(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=it();return e.copyTo(t),this.reduce(t),t}function ey(e){return e}function ry(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function ny(e,t){e.squareTo(t),this.reduce(t)}function iy(e,t,r){e.multiplyTo(t,r),this.reduce(r)}un.prototype.convert=ty;un.prototype.revert=ey;un.prototype.reduce=ry;un.prototype.mulTo=iy;un.prototype.sqrTo=ny;function sy(e,t){var r=e.bitLength(),n,i=lr(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 Rr(t):t.isEven()?s=new un(t):s=new Lr(t);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var f=it();for(s.sqrTo(o[1],f);a<=u;)o[a]=it(),s.mulTo(f,o[a-2],o[a]),a+=2}var l=e.t-1,h,y=!0,d=it(),p;for(r=Ai(e.data[l])-1;l>=0;){for(r>=c?h=e.data[l]>>r-c&u:(h=(e.data[l]&(1<<r+1)-1)<<c-r,l>0&&(h|=e.data[l-1]>>this.DB+r-c)),a=n;!(h&1);)h>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),y)o[h].copyTo(i),y=!1;else{for(;a>1;)s.sqrTo(i,d),s.sqrTo(d,i),a-=2;a>0?s.sqrTo(i,d):(p=i,i=d,d=p),s.mulTo(d,o[h],i)}for(;l>=0&&!(e.data[l]&1<<r);)s.sqrTo(i,d),p=i,i=d,d=p,--r<0&&(r=this.DB-1,--l)}return s.revert(i)}function oy(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),s=r.getLowestSetBit();if(s<0)return t;for(i<s&&(s=i),s>0&&(t.rShiftTo(s,t),r.rShiftTo(s,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return s>0&&r.lShiftTo(s,r),r}function ay(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function cy(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return B.ZERO;for(var r=e.clone(),n=this.clone(),i=lr(1),s=lr(0),o=lr(0),a=lr(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!i.isEven()||!s.isEven())&&(i.addTo(this,i),s.subTo(e,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(e,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),t?((!o.isEven()||!a.isEven())&&(o.addTo(this,o),a.subTo(e,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(o,i),s.subTo(a,s)):(n.subTo(r,n),t&&o.subTo(i,o),a.subTo(s,a))}if(n.compareTo(B.ONE)!=0)return B.ZERO;if(a.compareTo(e)>=0)return a.subtract(e);if(a.signum()<0)a.addTo(e,a);else return a;return a.signum()<0?a.add(e):a}var Ae=[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],uy=(1<<26)/Ae[Ae.length-1];function fy(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=Ae[Ae.length-1]){for(t=0;t<Ae.length;++t)if(r.data[0]==Ae[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<Ae.length;){for(var n=Ae[t],i=t+1;i<Ae.length&&n<uy;)n*=Ae[i++];for(n=r.modInt(n);t<i;)if(n%Ae[t++]==0)return!1}return r.millerRabin(e)}function ly(e){var t=this.subtract(B.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=hy(),s,o=0;o<e;++o){do s=new B(this.bitLength(),i);while(s.compareTo(B.ONE)<=0||s.compareTo(t)>=0);var a=s.modPow(n,this);if(a.compareTo(B.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(B.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function hy(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}B.prototype.chunkSize=dp;B.prototype.toRadix=yp;B.prototype.fromRadix=mp;B.prototype.fromNumber=gp;B.prototype.bitwiseTo=wp;B.prototype.changeBit=Up;B.prototype.addTo=Fp;B.prototype.dMultiply=Yp;B.prototype.dAddOffset=$p;B.prototype.multiplyLowerTo=Jp;B.prototype.multiplyUpperTo=jp;B.prototype.modInt=ay;B.prototype.millerRabin=ly;B.prototype.clone=up;B.prototype.intValue=fp;B.prototype.byteValue=lp;B.prototype.shortValue=hp;B.prototype.signum=pp;B.prototype.toByteArray=xp;B.prototype.equals=vp;B.prototype.min=bp;B.prototype.max=Ep;B.prototype.and=Ap;B.prototype.or=Tp;B.prototype.xor=Bp;B.prototype.andNot=Ip;B.prototype.not=Cp;B.prototype.shiftLeft=_p;B.prototype.shiftRight=Rp;B.prototype.getLowestSetBit=Dp;B.prototype.bitCount=Pp;B.prototype.testBit=kp;B.prototype.setBit=Op;B.prototype.clearBit=Mp;B.prototype.flipBit=Kp;B.prototype.add=Vp;B.prototype.subtract=qp;B.prototype.multiply=Hp;B.prototype.divide=zp;B.prototype.remainder=Gp;B.prototype.divideAndRemainder=Wp;B.prototype.modPow=sy;B.prototype.modInverse=cy;B.prototype.pow=Xp;B.prototype.gcd=oy;B.prototype.isProbablePrime=fy});var Mc=ot((F2,Oc)=>{var ke=ht();_r();Dt();var kc=Oc.exports=ke.sha1=ke.sha1||{};ke.md.sha1=ke.md.algorithms.sha1=kc;kc.create=function(){Uc||dy();var e=null,t=ke.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 t=ke.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=ke.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 t.putBytes(i),Pc(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=ke.util.createBuffer();i.putBytes(t.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(Eo.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};Pc(l,r,i);var h=ke.util.createBuffer();return h.putInt32(l.h0),h.putInt32(l.h1),h.putInt32(l.h2),h.putInt32(l.h3),h.putInt32(l.h4),h},n};var Eo=null,Uc=!1;function dy(){Eo="\x80",Eo+=ke.util.fillString("\0",64),Uc=!0}function Pc(e,t,r){for(var n,i,s,o,a,c,u,f,l=r.length();l>=64;){for(i=e.h0,s=e.h1,o=e.h2,a=e.h3,c=e.h4,f=0;f<16;++f)n=r.getInt32(),t[f]=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(;f<20;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=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(;f<32;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=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(;f<40;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=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(;f<60;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=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(;f<80;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=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;e.h0=e.h0+i|0,e.h1=e.h1+s|0,e.h2=e.h2+o|0,e.h3=e.h3+a|0,e.h4=e.h4+c|0,l-=64}}});var Vc=ot((V2,Fc)=>{var Ue=ht();Dt();Un();Mc();var Kc=Fc.exports=Ue.pkcs1=Ue.pkcs1||{};Kc.encode_rsa_oaep=function(e,t,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=Ue.md.sha1.create(),o||(o=s);var a=Math.ceil(e.n.bitLength()/8),c=a-2*s.digestLength-2;if(t.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=t.length,u.maxLength=c,u}n||(n=""),s.update(n,"raw");for(var f=s.digest(),l="",h=c-t.length,y=0;y<h;y++)l+="\0";var d=f.getBytes()+l+""+t;if(!i)i=Ue.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 p=Bi(i,a-s.digestLength-1,o),m=Ue.util.xorBytes(d,p,d.length),x=Bi(m,s.digestLength,o),E=Ue.util.xorBytes(i,x,i.length);return"\0"+E+m};Kc.decode_rsa_oaep=function(e,t,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(e.n.bitLength()/8);if(t.length!==o){var m=new Error("RSAES-OAEP encoded message length is invalid.");throw m.length=t.length,m.expectedLength=o,m}if(i===void 0?i=Ue.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=t.charAt(0),u=t.substring(1,i.digestLength+1),f=t.substring(1+i.digestLength),l=Bi(f,i.digestLength,s),h=Ue.util.xorBytes(u,l,u.length),y=Bi(h,o-i.digestLength-1,s),d=Ue.util.xorBytes(f,y,f.length),p=d.substring(0,i.digestLength),m=c!=="\0",x=0;x<i.digestLength;++x)m|=a.charAt(x)!==p.charAt(x);for(var E=1,b=i.digestLength,R=i.digestLength;R<d.length;R++){var w=d.charCodeAt(R),S=w&1^1,L=E?65534:0;m|=w&L,E=E&S,b+=E}if(m||d.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return d.substring(b+1)};function Bi(e,t,r){r||(r=Ue.md.sha1.create());for(var n="",i=Math.ceil(t/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(e+o),n+=r.digest().getBytes()}return n.substring(0,t)}});var qc=ot((q2,wo)=>{var hr=ht();Dt();Ti();Un();(function(){if(hr.prime){wo.exports=hr.prime;return}var e=wo.exports=hr.prime=hr.prime||{},t=hr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(l,h){return l|h};e.generateProbablePrime=function(l,h,y){typeof h=="function"&&(y=h,h={}),h=h||{};var d=h.algorithm||"PRIMEINC";typeof d=="string"&&(d={name:d}),d.options=d.options||{};var p=h.prng||hr.random,m={nextBytes:function(x){for(var E=p.getBytesSync(x.length),b=0;b<x.length;++b)x[b]=E.charCodeAt(b)}};if(d.name==="PRIMEINC")return s(l,m,d.options,y);throw new Error("Invalid prime generation algorithm: "+d.name)};function s(l,h,y,d){return"workers"in y?c(l,h,y,d):o(l,h,y,d)}function o(l,h,y,d){var p=u(l,h),m=0,x=f(p.bitLength());"millerRabinTests"in y&&(x=y.millerRabinTests);var E=10;"maxBlockTime"in y&&(E=y.maxBlockTime),a(p,l,h,m,x,E,d)}function a(l,h,y,d,p,m,x){var E=+new Date;do{if(l.bitLength()>h&&(l=u(h,y)),l.isProbablePrime(p))return x(null,l);l.dAddOffset(r[d++%8],0)}while(m<0||+new Date-E<m);hr.util.setImmediate(function(){a(l,h,y,d,p,m,x)})}function c(l,h,y,d){if(typeof Worker>"u")return o(l,h,y,d);var p=u(l,h),m=y.workers,x=y.workLoad||100,E=x*30/8,b=y.workerScript||"forge/prime.worker.js";if(m===-1)return hr.util.estimateCores(function(w,S){w&&(S=2),m=S-1,R()});R();function R(){m=Math.max(1,m);for(var w=[],S=0;S<m;++S)w[S]=new Worker(b);for(var L=m,S=0;S<m;++S)w[S].addEventListener("message",Y);var D=!1;function Y(W){if(!D){--L;var q=W.data;if(q.found){for(var j=0;j<w.length;++j)w[j].terminate();return D=!0,d(null,new t(q.prime,16))}p.bitLength()>l&&(p=u(l,h));var lt=p.toString(16);W.target.postMessage({hex:lt,workLoad:x}),p.dAddOffset(E,0)}}}}function u(l,h){var y=new t(l,h),d=l-1;return y.testBit(d)||y.bitwiseTo(t.ONE.shiftLeft(d),i,y),y.dAddOffset(31-y.mod(n).byteValue(),0),y}function f(l){return l<=100?27:l<=150?18:l<=200?15:l<=250?12:l<=300?9:l<=350?8:l<=400?7:l<=500?6:l<=600?5:l<=800?4:l<=1250?3:2}})()});var Ci=ot((H2,Qc)=>{var V=ht();kn();Ti();hi();Vc();qc();Un();Dt();typeof nt>"u"&&(nt=V.jsbn.BigInteger);var nt,So=V.util.isNodejs?vi():null,v=V.asn1,xe=V.util;V.pki=V.pki||{};Qc.exports=V.pki.rsa=V.rsa=V.rsa||{};var $=V.pki,py=[6,4,2,4,2,4,6,2],yy={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"}]},my={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"}]},gy={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"}]},xy=V.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"}]}]},vy={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"}]},by=function(e){var t;if(e.algorithm in $.oids)t=$.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=v.oidToDer(t).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,e.digest().getBytes());return i.value.push(s),i.value.push(o),v.toDer(i).getBytes()},Yc=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(nt.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(nt.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new nt(V.util.bytesToHex(V.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(nt.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=e.mod(t.p).modPow(t.dP,t.p),s=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(s)<0;)i=i.add(t.p);var o=i.subtract(s).multiply(t.qInv).mod(t.p).multiply(t.q).add(s);return o=o.multiply(n.modInverse(t.n)).mod(t.n),o};$.rsa.encrypt=function(e,t,r){var n=r,i,s=Math.ceil(t.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=$c(e,t,r)):(i=V.util.createBuffer(),i.putBytes(e));for(var o=new nt(i.toHex(),16),a=Yc(o,t,n),c=a.toString(16),u=V.util.createBuffer(),f=s-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(V.util.hexToBytes(c)),u.getBytes()};$.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=e.length,s.expected=i,s}var o=new nt(V.util.createBuffer(e).toHex(),16);if(o.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=Yc(o,t,r),c=a.toString(16),u=V.util.createBuffer(),f=i-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(V.util.hexToBytes(c)),n!==!1?Ii(u.getBytes(),t,r):u.getBytes()};$.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||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:e,rng:i,eInt:t||65537,e:new nt(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},o.e.fromInt(o.eInt);else throw new Error("Invalid key generation algorithm: "+s);return o};$.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new nt(null);r.fromInt(30);for(var n=0,i=function(l,h){return l|h},s=+new Date,o,a=0;e.keys===null&&(t<=0||a<t);){if(e.state===0){var c=e.p===null?e.pBits:e.qBits,u=c-1;e.pqState===0?(e.num=new nt(c,e.rng),e.num.testBit(u)||e.num.bitwiseTo(nt.ONE.shiftLeft(u),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>c?e.pqState=0:e.num.isProbablePrime(wy(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(py[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(nt.ONE).gcd(e.e).compareTo(nt.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(nt.ONE),e.q1=e.q.subtract(nt.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(nt.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var f=e.e.modInverse(e.phi);e.keys={privateKey:$.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:$.rsa.setPublicKey(e.n,e.e)}}o=+new Date,a+=o-s,s=o}return e.keys!==null};$.rsa.generateKeyPair=function(e,t,r,n){if(arguments.length===1?typeof e=="object"?(r=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},e===void 0&&(e=r.bits||2048),t===void 0&&(t=r.e||65537),!V.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(Hc("generateKeyPair"))return So.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:$.privateKeyFromPem(u),publicKey:$.publicKeyFromPem(c)})});if(zc("generateKey")&&zc("exportKey"))return xe.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Wc(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return xe.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=$.privateKeyFromAsn1(v.fromDer(V.util.createBuffer(a)));n(null,{privateKey:c,publicKey:$.setRsaPublicKey(c.n,c.e)})}});if(Gc("generateKey")&&Gc("exportKey")){var i=xe.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Wc(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=xe.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(f){var l=f.target.result,h=$.privateKeyFromAsn1(v.fromDer(V.util.createBuffer(l)));n(null,{privateKey:h,publicKey:$.setRsaPublicKey(h.n,h.e)})},u.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(Hc("generateKeyPairSync")){var s=So.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:$.privateKeyFromPem(s.privateKey),publicKey:$.publicKeyFromPem(s.publicKey)}}}var o=$.rsa.createKeyPairGenerationState(e,t,r);if(!n)return $.rsa.stepKeyPairGenerationState(o,0),o.keys;Ey(o,r,n)};$.setRsaPublicKey=$.rsa.setPublicKey=function(e,t){var r={n:e,e:t};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 $c(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 $.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=Ii(u,r,!0);var f=v.fromDer(u,{parseAllBytes:o._parseAllDigestBytes}),l={},h=[];if(!v.validate(f,vy,l,h)){var y=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw y.errors=h,y}var d=v.derToOid(l.algorithmIdentifier);if(!(d===V.oids.md2||d===V.oids.md5||d===V.oids.sha1||d===V.oids.sha224||d===V.oids.sha256||d===V.oids.sha384||d===V.oids.sha512||d===V.oids["sha512-224"]||d===V.oids["sha512-256"])){var y=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw y.oid=d,y}if((d===V.oids.md2||d===V.oids.md5)&&!("parameters"in l))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===l.digest}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(c,u){return u=Ii(u,r,!0),c===u}});var a=$.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};$.setRsaPrivateKey=$.rsa.setPrivateKey=function(e,t,r,n,i,s,o,a){var c={n:e,e:t,d:r,p:n,q:i,dP:s,dQ:o,qInv:a};return c.decrypt=function(u,f,l){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var h=$.rsa.decrypt(u,c,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:Ii};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(y,d){return V.pkcs1.decode_rsa_oaep(d,y,l)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(y){return y}};else throw new Error('Unsupported encryption scheme: "'+f+'".');return f.decode(h,c,!1)},c.sign=function(u,f){var l=!1;typeof f=="string"&&(f=f.toUpperCase()),f===void 0||f==="RSASSA-PKCS1-V1_5"?(f={encode:by},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return u}},l=1);var h=f.encode(u,c.n.bitLength());return $.rsa.encrypt(h,c,l)},c};$.wrapRsaPrivateKey=function(e){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($.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,v.toDer(e).getBytes())])};$.privateKeyFromAsn1=function(e){var t={},r=[];if(v.validate(e,yy,t,r)&&(e=v.fromDer(V.util.createBuffer(t.privateKey))),t={},r=[],!v.validate(e,my,t,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,f,l;return i=V.util.createBuffer(t.privateKeyModulus).toHex(),s=V.util.createBuffer(t.privateKeyPublicExponent).toHex(),o=V.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=V.util.createBuffer(t.privateKeyPrime1).toHex(),c=V.util.createBuffer(t.privateKeyPrime2).toHex(),u=V.util.createBuffer(t.privateKeyExponent1).toHex(),f=V.util.createBuffer(t.privateKeyExponent2).toHex(),l=V.util.createBuffer(t.privateKeyCoefficient).toHex(),$.setRsaPrivateKey(new nt(i,16),new nt(s,16),new nt(o,16),new nt(a,16),new nt(c,16),new nt(u,16),new nt(f,16),new nt(l,16))};$.privateKeyToAsn1=$.privateKeyToRSAPrivateKey=function(e){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,Oe(e.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Oe(e.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Oe(e.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Oe(e.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Oe(e.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Oe(e.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Oe(e.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Oe(e.qInv))])};$.publicKeyFromAsn1=function(e){var t={},r=[];if(v.validate(e,xy,t,r)){var n=v.derToOid(t.publicKeyOid);if(n!==$.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!v.validate(e,gy,t,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(t.publicKeyModulus).toHex(),o=V.util.createBuffer(t.publicKeyExponent).toHex();return $.setRsaPublicKey(new nt(s,16),new nt(o,16))};$.publicKeyToAsn1=$.publicKeyToSubjectPublicKeyInfo=function(e){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($.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[$.publicKeyToRSAPublicKey(e)])])};$.publicKeyToRSAPublicKey=function(e){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Oe(e.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Oe(e.e))])};function $c(e,t,r){var n=V.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=e.length,s.max=i-11,s}n.putByte(0),n.putByte(r);var o=i-3-e.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,f=V.random.getBytes(o),c=0;c<o;++c)a=f.charCodeAt(c),a===0?++u:n.putByte(a);o=u}return n.putByte(0),n.putBytes(e),n}function Ii(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),s=V.util.createBuffer(e),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 f=s.getByte();if(f!==0||c!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function Ey(e,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),i();function i(){s(e.pBits,function(a,c){if(a)return r(a);if(e.p=c,e.q!==null)return o(a,e.q);s(e.qBits,o)})}function s(a,c){V.prime.generateProbablePrime(a,n,c)}function o(a,c){if(a)return r(a);if(e.q=c,e.p.compareTo(e.q)<0){var u=e.p;e.p=e.q,e.q=u}if(e.p.subtract(nt.ONE).gcd(e.e).compareTo(nt.ONE)!==0){e.p=null,i();return}if(e.q.subtract(nt.ONE).gcd(e.e).compareTo(nt.ONE)!==0){e.q=null,s(e.qBits,o);return}if(e.p1=e.p.subtract(nt.ONE),e.q1=e.q.subtract(nt.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(nt.ONE)!==0){e.p=e.q=null,i();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,s(e.qBits,o);return}var f=e.e.modInverse(e.phi);e.keys={privateKey:$.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:$.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function Oe(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=V.util.hexToBytes(t);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 wy(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function Hc(e){return V.util.isNodejs&&typeof So[e]=="function"}function zc(e){return typeof xe.globalScope<"u"&&typeof xe.globalScope.crypto=="object"&&typeof xe.globalScope.crypto.subtle=="object"&&typeof xe.globalScope.crypto.subtle[e]=="function"}function Gc(e){return typeof xe.globalScope<"u"&&typeof xe.globalScope.msCrypto=="object"&&typeof xe.globalScope.msCrypto.subtle=="object"&&typeof xe.globalScope.msCrypto.subtle[e]=="function"}function Wc(e){for(var t=V.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var eu=ot((z2,tu)=>{var O=ht();po();kn();sc();_r();hi();fc();dc();Un();Tc();Ci();Dt();typeof Zc>"u"&&(Zc=O.jsbn.BigInteger);var Zc,A=O.asn1,Q=O.pki=O.pki||{};tu.exports=Q.pbe=O.pbe=O.pbe||{};var Dr=Q.oids,Sy={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"}]},Ay={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"}]}]},Ty={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"}]};Q.encryptPrivateKeyInfo=function(e,t,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=O.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,f,l;switch(r.algorithm){case"aes128":o=16,u=16,f=Dr["aes128-CBC"],l=O.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,f=Dr["aes192-CBC"],l=O.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,f=Dr["aes256-CBC"],l=O.aes.createEncryptionCipher;break;case"des":o=8,u=8,f=Dr.desCBC,l=O.des.createEncryptionCipher;break;default:var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var y="hmacWith"+r.prfAlgorithm.toUpperCase(),d=jc(y),p=O.pkcs5.pbkdf2(t,n,i,o,d),m=O.random.getBytesSync(u),x=l(p);x.start(m),x.update(A.toDer(e)),x.finish(),c=x.output.getBytes();var E=By(n,s,o,y);a=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(Dr.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(Dr.pkcs5PBKDF2).getBytes()),E]),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(f).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,m)])])])}else if(r.algorithm==="3des"){o=24;var b=new O.util.ByteBuffer(n),p=Q.pbe.generatePkcs12Key(t,b,1,i,o),m=Q.pbe.generatePkcs12Key(t,b,2,i,o),x=O.des.createEncryptionCipher(p);x.start(m),x.update(A.toDer(e)),x.finish(),c=x.output.getBytes(),a=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(Dr["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 h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var R=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[a,A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,c)]);return R};Q.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!A.validate(e,Sy,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=Q.pbe.getCipher(o,n.encryptionParams,t),c=O.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=A.fromDer(a.output)),r};Q.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:A.toDer(e).getBytes()};return O.pem.encode(r,{maxline:t})};Q.encryptedPrivateKeyFromPem=function(e){var t=O.pem.decode(e)[0];if(t.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=t.type,r}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return A.fromDer(t.body)};Q.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=Q.wrapRsaPrivateKey(Q.privateKeyToAsn1(e));return n=Q.encryptPrivateKeyInfo(n,t,r),Q.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=O.random.getBytesSync(16),a=O.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=O.random.getBytesSync(16),a=O.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=O.random.getBytesSync(16),a=O.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=O.random.getBytesSync(8),a=O.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=O.random.getBytesSync(8),a=O.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=O.pbe.opensslDeriveBytes(t,s.substr(0,8),o),f=a(u);f.start(s),f.update(A.toDer(Q.privateKeyToAsn1(e))),f.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:O.util.bytesToHex(s).toUpperCase()},body:f.output.getBytes()};return O.pem.encode(l)};Q.decryptRsaPrivateKey=function(e,t){var r=null,n=O.pem.decode(e)[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=O.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=O.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=O.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=O.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=O.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(l){return O.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":s=8,o=function(l){return O.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":s=16,o=function(l){return O.rc2.createDecryptionCipher(l,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=O.util.hexToBytes(n.dekInfo.parameters),c=O.pbe.opensslDeriveBytes(t,a.substr(0,8),s),u=o(c);if(u.start(a),u.update(O.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=Q.decryptPrivateKeyInfo(A.fromDer(r),t):r=A.fromDer(r),r!==null&&(r=Q.privateKeyFromAsn1(r)),r};Q.pbe.generatePkcs12Key=function(e,t,r,n,i,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in O.md))throw new Error('"sha1" hash algorithm unavailable.');s=O.md.sha1.create()}var c=s.digestLength,u=s.blockLength,f=new O.util.ByteBuffer,l=new O.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)l.putInt16(e.charCodeAt(a));l.putInt16(0)}var h=l.length(),y=t.length(),d=new O.util.ByteBuffer;d.fillWithByte(r,u);var p=u*Math.ceil(y/u),m=new O.util.ByteBuffer;for(a=0;a<p;a++)m.putByte(t.at(a%y));var x=u*Math.ceil(h/u),E=new O.util.ByteBuffer;for(a=0;a<x;a++)E.putByte(l.at(a%h));var b=m;b.putBuffer(E);for(var R=Math.ceil(i/c),w=1;w<=R;w++){var S=new O.util.ByteBuffer;S.putBytes(d.bytes()),S.putBytes(b.bytes());for(var L=0;L<n;L++)s.start(),s.update(S.getBytes()),S=s.digest();var D=new O.util.ByteBuffer;for(a=0;a<u;a++)D.putByte(S.at(a%c));var Y=Math.ceil(y/u)+Math.ceil(h/u),W=new O.util.ByteBuffer;for(o=0;o<Y;o++){var q=new O.util.ByteBuffer(b.getBytes(u)),j=511;for(a=D.length()-1;a>=0;a--)j=j>>8,j+=D.at(a)+q.at(a),q.setAt(a,j&255);W.putBuffer(q)}b=W,f.putBuffer(S)}return f.truncate(f.length()-i),f};Q.pbe.getCipher=function(e,t,r){switch(e){case Q.oids.pkcs5PBES2:return Q.pbe.getCipherForPBES2(e,t,r);case Q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case Q.oids["pbewithSHAAnd40BitRC2-CBC"]:return Q.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};Q.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!A.validate(t,Ay,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(e=A.derToOid(n.kdfOid),e!==Q.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=e,s.supportedOids=["pkcs5PBKDF2"],s}if(e=A.derToOid(n.encOid),e!==Q.oids["aes128-CBC"]&&e!==Q.oids["aes192-CBC"]&&e!==Q.oids["aes256-CBC"]&&e!==Q.oids["des-EDE3-CBC"]&&e!==Q.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=e,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var o=n.kdfSalt,a=O.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(Q.oids[e]){case"aes128-CBC":c=16,u=O.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=O.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=O.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=O.des.createDecryptionCipher;break;case"desCBC":c=8,u=O.des.createDecryptionCipher;break}var f=Jc(n.prfOid),l=O.pkcs5.pbkdf2(r,o,a,c,f),h=n.encIv,y=u(l);return y.start(h),y};Q.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!A.validate(t,Ty,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=O.util.createBuffer(n.salt),a=O.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,f;switch(e){case Q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,f=O.des.startDecrypting;break;case Q.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,f=function(p,m){var x=O.rc2.createDecryptionCipher(p,40);return x.start(m,null),x};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=e,s}var l=Jc(n.prfOid),h=Q.pbe.generatePkcs12Key(r,o,1,a,c,l);l.start();var y=Q.pbe.generatePkcs12Key(r,o,2,a,u,l);return f(h,y)};Q.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in O.md))throw new Error('"md5" hash algorithm unavailable.');n=O.md.md5.create()}t===null&&(t="");for(var i=[Xc(n,e+t)],s=16,o=1;s<r;++o,s+=16)i.push(Xc(n,i[o-1]+e+t));return i.join("").substr(0,r)};function Xc(e,t){return e.start().update(t).digest().getBytes()}function Jc(e){var t;if(!e)t="hmacWithSHA1";else if(t=Q.oids[A.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return jc(t)}function jc(e){var t=O.md;switch(e){case"hmacWithSHA224":t=O.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function By(e,t,r,n){var i=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,e),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,O.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(Q.oids[n]).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")])),i}});var Hu=ot((ab,qu)=>{var xt=ht();_r();Dt();var Gn=qu.exports=xt.sha512=xt.sha512||{};xt.md.sha512=xt.md.algorithms.sha512=Gn;var Fu=xt.sha384=xt.sha512.sha384=xt.sha512.sha384||{};Fu.create=function(){return Gn.create("SHA-384")};xt.md.sha384=xt.md.algorithms.sha384=Fu;xt.sha512.sha256=xt.sha512.sha256||{create:function(){return Gn.create("SHA-512/256")}};xt.md["sha512/256"]=xt.md.algorithms["sha512/256"]=xt.sha512.sha256;xt.sha512.sha224=xt.sha512.sha224||{create:function(){return Gn.create("SHA-512/224")}};xt.md["sha512/224"]=xt.md.algorithms["sha512/224"]=xt.sha512.sha224;Gn.create=function(e){if(Vu||Wm(),typeof e>"u"&&(e="SHA-512"),!(e in Vr))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=Vr[e],r=null,n=xt.util.createBuffer(),i=new Array(80),s=0;s<80;++s)i[s]=new Array(2);var o=64;switch(e){case"SHA-384":o=48;break;case"SHA-512/256":o=32;break;case"SHA-512/224":o=28;break}var a={algorithm:e.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=xt.util.createBuffer(),r=new Array(t.length);for(var u=0;u<t.length;++u)r[u]=t[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=xt.util.encodeUtf8(c));var f=c.length;a.messageLength+=f,f=[f/4294967296>>>0,f>>>0];for(var l=a.fullMessageLength.length-1;l>=0;--l)a.fullMessageLength[l]+=f[1],f[1]=f[0]+(a.fullMessageLength[l]/4294967296>>>0),a.fullMessageLength[l]=a.fullMessageLength[l]>>>0,f[0]=f[1]/4294967296>>>0;return n.putBytes(c),Ku(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=xt.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=u&a.blockLength-1;c.putBytes(ra.substr(0,a.blockLength-f));for(var l,h,y=a.fullMessageLength[0]*8,d=0;d<a.fullMessageLength.length-1;++d)l=a.fullMessageLength[d+1]*8,h=l/4294967296>>>0,y+=h,c.putInt32(y>>>0),y=l>>>0;c.putInt32(y);for(var p=new Array(r.length),d=0;d<r.length;++d)p[d]=r[d].slice(0);Ku(p,i,c);var m=xt.util.createBuffer(),x;e==="SHA-512"?x=p.length:e==="SHA-384"?x=p.length-2:x=p.length-4;for(var d=0;d<x;++d)m.putInt32(p[d][0]),(d!==x-1||e!=="SHA-512/224")&&m.putInt32(p[d][1]);return m},a};var ra=null,Vu=!1,na=null,Vr=null;function Wm(){ra="\x80",ra+=xt.util.fillString("\0",128),na=[[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]],Vr={},Vr["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Vr["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Vr["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Vr["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Vu=!0}function Ku(e,t,r){for(var n,i,s,o,a,c,u,f,l,h,y,d,p,m,x,E,b,R,w,S,L,D,Y,W,q,j,lt,Ht,I,P,_,N,T,M,F,G=r.length();G>=128;){for(I=0;I<16;++I)t[I][0]=r.getInt32()>>>0,t[I][1]=r.getInt32()>>>0;for(;I<80;++I)N=t[I-2],P=N[0],_=N[1],n=((P>>>19|_<<13)^(_>>>29|P<<3)^P>>>6)>>>0,i=((P<<13|_>>>19)^(_<<3|P>>>29)^(P<<26|_>>>6))>>>0,M=t[I-15],P=M[0],_=M[1],s=((P>>>1|_<<31)^(P>>>8|_<<24)^P>>>7)>>>0,o=((P<<31|_>>>1)^(P<<24|_>>>8)^(P<<25|_>>>7))>>>0,T=t[I-7],F=t[I-16],_=i+T[1]+o+F[1],t[I][0]=n+T[0]+s+F[0]+(_/4294967296>>>0)>>>0,t[I][1]=_>>>0;for(p=e[0][0],m=e[0][1],x=e[1][0],E=e[1][1],b=e[2][0],R=e[2][1],w=e[3][0],S=e[3][1],L=e[4][0],D=e[4][1],Y=e[5][0],W=e[5][1],q=e[6][0],j=e[6][1],lt=e[7][0],Ht=e[7][1],I=0;I<80;++I)u=((L>>>14|D<<18)^(L>>>18|D<<14)^(D>>>9|L<<23))>>>0,f=((L<<18|D>>>14)^(L<<14|D>>>18)^(D<<23|L>>>9))>>>0,l=(q^L&(Y^q))>>>0,h=(j^D&(W^j))>>>0,a=((p>>>28|m<<4)^(m>>>2|p<<30)^(m>>>7|p<<25))>>>0,c=((p<<4|m>>>28)^(m<<30|p>>>2)^(m<<25|p>>>7))>>>0,y=(p&x|b&(p^x))>>>0,d=(m&E|R&(m^E))>>>0,_=Ht+f+h+na[I][1]+t[I][1],n=lt+u+l+na[I][0]+t[I][0]+(_/4294967296>>>0)>>>0,i=_>>>0,_=c+d,s=a+y+(_/4294967296>>>0)>>>0,o=_>>>0,lt=q,Ht=j,q=Y,j=W,Y=L,W=D,_=S+i,L=w+n+(_/4294967296>>>0)>>>0,D=_>>>0,w=b,S=R,b=x,R=E,x=p,E=m,_=i+o,p=n+s+(_/4294967296>>>0)>>>0,m=_>>>0;_=e[0][1]+m,e[0][0]=e[0][0]+p+(_/4294967296>>>0)>>>0,e[0][1]=_>>>0,_=e[1][1]+E,e[1][0]=e[1][0]+x+(_/4294967296>>>0)>>>0,e[1][1]=_>>>0,_=e[2][1]+R,e[2][0]=e[2][0]+b+(_/4294967296>>>0)>>>0,e[2][1]=_>>>0,_=e[3][1]+S,e[3][0]=e[3][0]+w+(_/4294967296>>>0)>>>0,e[3][1]=_>>>0,_=e[4][1]+D,e[4][0]=e[4][0]+L+(_/4294967296>>>0)>>>0,e[4][1]=_>>>0,_=e[5][1]+W,e[5][0]=e[5][0]+Y+(_/4294967296>>>0)>>>0,e[5][1]=_>>>0,_=e[6][1]+j,e[6][0]=e[6][0]+q+(_/4294967296>>>0)>>>0,e[6][1]=_>>>0,_=e[7][1]+Ht,e[7][0]=e[7][0]+lt+(_/4294967296>>>0)>>>0,e[7][1]=_>>>0,G-=128}}});var Hf=ot((D4,qf)=>{"use strict";function Vf(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function Yg(e,t,r){if(!e||typeof e=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof t=="object"&&(r=t,t=""),t&&(r.code=t);try{return Vf(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),Vf(new i,r)}}qf.exports=Yg});var nl=ot((j4,rl)=>{function we(e,t){typeof t=="boolean"&&(t={forever:t}),this._originalTimeouts=JSON.parse(JSON.stringify(e)),this._timeouts=e,this._options=t||{},this._maxRetryTime=t&&t.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}rl.exports=we;we.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)};we.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null};we.prototype.retry=function(e){if(this._timeout&&clearTimeout(this._timeout),!e)return!1;var t=new Date().getTime();if(e&&t-this._operationStart>=this._maxRetryTime)return this._errors.push(e),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(e);var r=this._timeouts.shift();if(r===void 0)if(this._cachedTimeouts)this._errors.splice(0,this._errors.length-1),r=this._cachedTimeouts.slice(-1);else return!1;var n=this;return this._timer=setTimeout(function(){n._attempts++,n._operationTimeoutCb&&(n._timeout=setTimeout(function(){n._operationTimeoutCb(n._attempts)},n._operationTimeout),n._options.unref&&n._timeout.unref()),n._fn(n._attempts)},r),this._options.unref&&this._timer.unref(),!0};we.prototype.attempt=function(e,t){this._fn=e,t&&(t.timeout&&(this._operationTimeout=t.timeout),t.cb&&(this._operationTimeoutCb=t.cb));var r=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){r._operationTimeoutCb()},r._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};we.prototype.try=function(e){console.log("Using RetryOperation.try() is deprecated"),this.attempt(e)};we.prototype.start=function(e){console.log("Using RetryOperation.start() is deprecated"),this.attempt(e)};we.prototype.start=we.prototype.try;we.prototype.errors=function(){return this._errors};we.prototype.attempts=function(){return this._attempts};we.prototype.mainError=function(){if(this._errors.length===0)return null;for(var e={},t=null,r=0,n=0;n<this._errors.length;n++){var i=this._errors[n],s=i.message,o=(e[s]||0)+1;e[s]=o,o>=r&&(t=i,r=o)}return t}});var il=ot(Yr=>{var Xg=nl();Yr.operation=function(e){var t=Yr.timeouts(e);return new Xg(t,{forever:e&&(e.forever||e.retries===1/0),unref:e&&e.unref,maxRetryTime:e&&e.maxRetryTime})};Yr.timeouts=function(e){if(e instanceof Array)return[].concat(e);var t={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var r in e)t[r]=e[r];if(t.minTimeout>t.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var n=[],i=0;i<t.retries;i++)n.push(this.createTimeout(i,t));return e&&e.forever&&!n.length&&n.push(this.createTimeout(i,t)),n.sort(function(s,o){return s-o}),n};Yr.createTimeout=function(e,t){var r=t.randomize?Math.random()+1:1,n=Math.round(r*Math.max(t.minTimeout,1)*Math.pow(t.factor,e));return n=Math.min(n,t.maxTimeout),n};Yr.wrap=function(e,t,r){if(t instanceof Array&&(r=t,t=null),!r){r=[];for(var n in e)typeof e[n]=="function"&&r.push(n)}for(var i=0;i<r.length;i++){var s=r[i],o=e[s];e[s]=function(c){var u=Yr.operation(t),f=Array.prototype.slice.call(arguments,1),l=f.pop();f.push(function(h){u.retry(h)||(h&&(arguments[0]=u.mainError()),l.apply(this,arguments))}),u.attempt(function(){c.apply(e,f)})}.bind(e,o),e[s].options=t}}});var ol=ot((eS,sl)=>{sl.exports=il()});var pl=ot(($S,za)=>{"use strict";var o1=Object.prototype.hasOwnProperty,se="~";function ei(){}Object.create&&(ei.prototype=Object.create(null),new ei().__proto__||(se=!1));function a1(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function dl(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new a1(r,n||e,i),o=se?se+t:t;return e._events[o]?e._events[o].fn?e._events[o]=[e._events[o],s]:e._events[o].push(s):(e._events[o]=s,e._eventsCount++),e}function ys(e,t){--e._eventsCount===0?e._events=new ei:delete e._events[t]}function re(){this._events=new ei,this._eventsCount=0}re.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)o1.call(r,n)&&t.push(se?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};re.prototype.listeners=function(t){var r=se?se+t:t,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};re.prototype.listenerCount=function(t){var r=se?se+t:t,n=this._events[r];return n?n.fn?1:n.length:0};re.prototype.emit=function(t,r,n,i,s,o){var a=se?se+t:t;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,f,l;if(c.fn){switch(c.once&&this.removeListener(t,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(l=1,f=new Array(u-1);l<u;l++)f[l-1]=arguments[l];c.fn.apply(c.context,f)}else{var h=c.length,y;for(l=0;l<h;l++)switch(c[l].once&&this.removeListener(t,c[l].fn,void 0,!0),u){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,r);break;case 3:c[l].fn.call(c[l].context,r,n);break;case 4:c[l].fn.call(c[l].context,r,n,i);break;default:if(!f)for(y=1,f=new Array(u-1);y<u;y++)f[y-1]=arguments[y];c[l].fn.apply(c[l].context,f)}}return!0};re.prototype.on=function(t,r,n){return dl(this,t,r,n,!1)};re.prototype.once=function(t,r,n){return dl(this,t,r,n,!0)};re.prototype.removeListener=function(t,r,n,i){var s=se?se+t:t;if(!this._events[s])return this;if(!r)return ys(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&ys(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:ys(this,s)}return this};re.prototype.removeAllListeners=function(t){var r;return t?(r=se?se+t:t,this._events[r]&&ys(this,r)):(this._events=new ei,this._eventsCount=0),this};re.prototype.off=re.prototype.removeListener;re.prototype.addListener=re.prototype.on;re.prefixed=se;re.EventEmitter=re;typeof za<"u"&&(za.exports=re)});var E1={};Kt(E1,{RELAY_V2_HOP_CODEC:()=>Ee,RELAY_V2_STOP_CODEC:()=>Wr,circuitRelayServer:()=>fl,circuitRelayTransport:()=>kl});var me=class extends EventTarget{#t=new Map;listenerCount(t){let r=this.#t.get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=this.#t.get(t);i==null&&(i=[],this.#t.set(t,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,r,n){super.removeEventListener(t.toString(),r??null,n);let i=this.#t.get(t);i!=null&&(i=i.filter(({callback:s})=>s!==r),this.#t.set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:i})=>!i),this.#t.set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new Zl(t,r))}},Ds=class extends Event{detail;constructor(t,r){super(t,r),this.detail=r?.detail}},Zl=globalThis.CustomEvent??Ds;var m0=(e,...t)=>{try{[...t]}catch{}};var z=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var g0="ERR_INVALID_PARAMETERS";var x0=Symbol.for("@libp2p/peer-id");var Os={};Kt(Os,{base58btc:()=>kt,base58flickr:()=>rh});function Xl(e,t){if(e.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<e.length;i++){var s=e.charAt(i),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=i}var a=e.length,c=e.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var p=0,m=0,x=0,E=d.length;x!==E&&d[x]===0;)x++,p++;for(var b=(E-x)*f+1>>>0,R=new Uint8Array(b);x!==E;){for(var w=d[x],S=0,L=b-1;(w!==0||S<m)&&L!==-1;L--,S++)w+=256*R[L]>>>0,R[L]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=S,x++}for(var D=b-m;D!==b&&R[D]===0;)D++;for(var Y=c.repeat(p);D<b;++D)Y+=e.charAt(R[D]);return Y}function h(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var p=0;if(d[p]!==" "){for(var m=0,x=0;d[p]===c;)m++,p++;for(var E=(d.length-p)*u+1>>>0,b=new Uint8Array(E);d[p];){var R=r[d.charCodeAt(p)];if(R===255)return;for(var w=0,S=E-1;(R!==0||w<x)&&S!==-1;S--,w++)R+=a*b[S]>>>0,b[S]=R%256>>>0,R=R/256>>>0;if(R!==0)throw new Error("Non-zero carry");x=w,p++}if(d[p]!==" "){for(var L=E-x;L!==E&&b[L]===0;)L++;for(var D=new Uint8Array(m+(E-L)),Y=m;L!==E;)D[Y++]=b[L++];return D}}}function y(d){var p=h(d);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:h,decode:y}}var Jl=Xl,jl=Jl,v0=jl;var R1=new Uint8Array(0);var b0=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},qe=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var E0=e=>new TextEncoder().encode(e),w0=e=>new TextDecoder().decode(e);var Ns=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Ps=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return A0(this,t)}},ks=class{constructor(t){this.decoders=t}or(t){return A0(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},A0=(e,t)=>new ks({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Us=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Ns(t,r,n),this.decoder=new Ps(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Xr=({name:e,prefix:t,encode:r,decode:n})=>new Us(e,t,r,n),or=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=v0(r,t);return Xr({prefix:e,name:t,encode:n,decode:s=>qe(i(s))})},th=(e,t,r,n)=>{let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let s=e.length;for(;e[s-1]==="=";)--s;let o=new Uint8Array(s*r/8|0),a=0,c=0,u=0;for(let f=0;f<s;++f){let l=i[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,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},eh=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],o+=8;o>r;)o-=r,s+=t[i&a>>o];if(o&&(s+=t[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s},Bt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>Xr({prefix:t,name:e,encode(i){return eh(i,n,r)},decode(i){return th(i,n,r,e)}});var kt=or({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),rh=or({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ms={};Kt(Ms,{base10:()=>nh});var nh=or({prefix:"9",name:"base10",alphabet:"0123456789"});var Ks={};Kt(Ks,{base16:()=>ih,base16upper:()=>sh});var ih=Bt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),sh=Bt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Fs={};Kt(Fs,{base2:()=>oh});var oh=Bt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Vs={};Kt(Vs,{base256emoji:()=>lh});var T0=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}"),ah=T0.reduce((e,t,r)=>(e[r]=t,e),[]),ch=T0.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function uh(e){return e.reduce((t,r)=>(t+=ah[r],t),"")}function fh(e){let t=[];for(let r of e){let n=ch[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var lh=Xr({prefix:"\u{1F680}",name:"base256emoji",encode:uh,decode:fh});var qs={};Kt(qs,{base32:()=>He,base32hex:()=>yh,base32hexpad:()=>gh,base32hexpadupper:()=>xh,base32hexupper:()=>mh,base32pad:()=>dh,base32padupper:()=>ph,base32upper:()=>hh,base32z:()=>vh});var He=Bt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),hh=Bt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),dh=Bt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),ph=Bt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),yh=Bt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),mh=Bt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),gh=Bt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),xh=Bt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),vh=Bt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Hs={};Kt(Hs,{base36:()=>bh,base36upper:()=>Eh});var bh=or({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Eh=or({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var zs={};Kt(zs,{base64:()=>ui,base64pad:()=>wh,base64url:()=>Sh,base64urlpad:()=>Ah});var ui=Bt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),wh=Bt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Sh=Bt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Ah=Bt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Gs={};Kt(Gs,{base8:()=>Th});var Th=Bt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ws={};Kt(Ws,{identity:()=>Bh});var Bh=Xr({prefix:"\0",name:"identity",encode:e=>w0(e),decode:e=>E0(e)});var G1=new TextEncoder,W1=new TextDecoder;var $s={};Kt($s,{identity:()=>ar});var _h=C0,B0=128,Rh=127,Lh=~Rh,Dh=Math.pow(2,31);function C0(e,t,r){t=t||[],r=r||0;for(var n=r;e>=Dh;)t[r++]=e&255|B0,e/=128;for(;e&Lh;)t[r++]=e&255|B0,e>>>=7;return t[r]=e|0,C0.bytes=r-n+1,t}var Nh=Ys,Ph=128,I0=127;function Ys(e,n){var r=0,n=n||0,i=0,s=n,o,a=e.length;do{if(s>=a)throw Ys.bytes=0,new RangeError("Could not decode varint");o=e[s++],r+=i<28?(o&I0)<<i:(o&I0)*Math.pow(2,i),i+=7}while(o>=Ph);return Ys.bytes=s-n,r}var kh=Math.pow(2,7),Uh=Math.pow(2,14),Oh=Math.pow(2,21),Mh=Math.pow(2,28),Kh=Math.pow(2,35),Fh=Math.pow(2,42),Vh=Math.pow(2,49),qh=Math.pow(2,56),Hh=Math.pow(2,63),zh=function(e){return e<kh?1:e<Uh?2:e<Oh?3:e<Mh?4:e<Kh?5:e<Fh?6:e<Vh?7:e<qh?8:e<Hh?9:10},Gh={encode:_h,decode:Nh,encodingLength:zh},Wh=Gh,Cn=Wh;var _n=(e,t=0)=>[Cn.decode(e,t),Cn.decode.bytes],Jr=(e,t,r=0)=>(Cn.encode(e,t,r),t),jr=e=>Cn.encodingLength(e);var Le=(e,t)=>{let r=t.byteLength,n=jr(e),i=n+jr(r),s=new Uint8Array(i+r);return Jr(e,s,0),Jr(r,s,n),s.set(t,i),new tn(e,r,t,s)},Br=e=>{let t=qe(e),[r,n]=_n(t),[i,s]=_n(t.subarray(n)),o=t.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new tn(r,i,o,t)},_0=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&b0(e.bytes,r.bytes)}},tn=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var R0=0,Yh="identity",L0=qe,$h=e=>Le(R0,L0(e)),ar={code:R0,name:Yh,encode:L0,digest:$h};var Xs={};Kt(Xs,{sha256:()=>Ut,sha512:()=>Qh});var Zs=({name:e,code:t,encode:r})=>new Qs(e,t,r),Qs=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?Le(this.code,r):r.then(n=>Le(this.code,n))}else throw Error("Unknown type, must be binary type")}};var N0=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Ut=Zs({name:"sha2-256",code:18,encode:N0("SHA-256")}),Qh=Zs({name:"sha2-512",code:19,encode:N0("SHA-512")});var P0=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return Xh(r,Js(e),t||kt.encoder);default:return Jh(r,Js(e),t||He.encoder)}};var k0=new WeakMap,Js=e=>{let t=k0.get(e);if(t==null){let r=new Map;return k0.set(e,r),r}return t},fe=class e{constructor(t,r,n,i){this.code=r,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==Rn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==jh)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.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:t,digest:r}=this.multihash,n=Le(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&_0(t.multihash,n.multihash)}toString(t){return P0(this,t)}toJSON(){return{"/":P0(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:s,bytes:o}=r;return new e(n,i,s,o||U0(n,i,s.bytes))}else if(r[td]===!0){let{version:n,multihash:i,code:s}=r,o=Br(i);return e.create(n,s,o)}else return null}static create(t,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(t){case 0:{if(r!==Rn)throw new Error(`Version 0 CID must use dag-pb (code: ${Rn}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=U0(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,Rn,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,i=qe(t.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 tn(r.multihashCode,r.digestSize,s,i);return[r.version===0?e.createV0(o):e.createV1(r.codec,o),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,h]=_n(t.subarray(r));return r+=h,l},i=n(),s=Rn;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,f=u-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,r){let[n,i]=Zh(t,r),s=e.decode(i);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return Js(s).set(n,t),s}},Zh=(e,t)=>{switch(e[0]){case"Q":{let r=t||kt;return[kt.prefix,r.decode(`${kt.prefix}${e}`)]}case kt.prefix:{let r=t||kt;return[kt.prefix,r.decode(e)]}case He.prefix:{let r=t||He;return[He.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},Xh=(e,t,r)=>{let{prefix:n}=r;if(n!==kt.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let s=r.encode(e).slice(1);return t.set(n,s),s}else return i},Jh=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let s=r.encode(e);return t.set(n,s),s}else return i},Rn=112,jh=18,U0=(e,t,r)=>{let n=jr(e),i=n+jr(t),s=new Uint8Array(i+r.byteLength);return Jr(e,s,0),Jr(t,s,n),s.set(r,i),s},td=Symbol.for("@ipld/js-cid/CID");var cr={...Ws,...Fs,...Gs,...Ms,...Ks,...qs,...Hs,...Os,...zs,...Vs},c2={...Xs,...$s};function Ct(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var ed=Symbol.for("nodejs.util.inspect.custom"),O0=Object.values(cr).map(e=>e.decoder).reduce((e,t)=>e.or(t),cr.identity.decoder),M0=114,js=36,to=37,Ln=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[x0]=!0;toString(){return this.string==null&&(this.string=kt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return fe.createV1(M0,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return Ct(this.multihash.bytes,t);if(typeof t=="string")return St(t).equals(this);if(t?.multihash?.bytes!=null)return Ct(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[ed](){return`PeerId(${this.toString()})`}},en=class extends Ln{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},rn=class extends Ln{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},nn=class extends Ln{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function St(e,t){if(t=t??O0,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=Br(kt.decode(`z${e}`));return e.startsWith("12D")?new rn({multihash:r}):e.startsWith("16U")?new nn({multihash:r}):new en({multihash:r})}return sn(O0.decode(e))}function sn(e){try{let t=Br(e);if(t.code===ar.code){if(t.digest.length===js)return new rn({multihash:t});if(t.digest.length===to)return new nn({multihash:t})}if(t.code===Ut.code)return new en({multihash:t})}catch{return rd(fe.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function rd(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==M0)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===Ut.code)return new en({multihash:e.multihash});if(t.code===ar.code){if(t.digest.length===js)return new rn({multihash:e.multihash});if(t.digest.length===to)return new nn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function K0(e,t){return e.length===js?new rn({multihash:Le(ar.code,e),privateKey:t}):e.length===to?new nn({multihash:Le(ar.code,e),privateKey:t}):new en({multihash:await Ut.digest(e),publicKey:e,privateKey:t})}var lE=Yt(kn(),1),hE=Yt(eu(),1);var xg=Yt(ht(),1);function Nr(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Ye(e=0){return globalThis.Buffer?.alloc!=null?Nr(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function $t(e=0){return globalThis.Buffer?.allocUnsafe!=null?Nr(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function nu(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var ru=nu("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Ao=nu("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=$t(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Iy={utf8:ru,"utf-8":ru,hex:cr.base16,latin1:Ao,ascii:Ao,binary:Ao,...cr},_i=Iy;function Nt(e,t="utf8"){let r=_i[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Nr(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var ea={};Kt(ea,{Ed25519PrivateKey:()=>Fr,Ed25519PublicKey:()=>zn,generateKeyPair:()=>qm,generateKeyPairFromSeed:()=>Uu,unmarshalEd25519PrivateKey:()=>Fm,unmarshalEd25519PublicKey:()=>Vm});function iu(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function To(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function su(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");iu(e.outputLen),iu(e.blockLen)}function fn(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function ou(e,t){To(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Ri=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var au=e=>e instanceof Uint8Array;var Li=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),Te=(e,t)=>e<<32-t|e>>>t,Cy=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Cy)throw new Error("Non little-endian hardware is not supported");function Bo(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Mn(e){if(typeof e=="string"&&(e=Bo(e)),!au(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}function Di(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!au(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}var ln=class{clone(){return this._cloneInto()}},nx={}.toString;function Ni(e){let t=n=>e().update(Mn(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function hn(e=32){if(Ri&&typeof Ri.getRandomValues=="function")return Ri.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}function _y(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,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;e.setUint32(t+c,o,n),e.setUint32(t+u,a,n)}var dn=class extends ln{constructor(t,r,n,i){super(),this.blockLen=t,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(t),this.view=Li(this.buffer)}update(t){fn(this);let{view:r,buffer:n,blockLen:i}=this;t=Mn(t);let s=t.length;for(let o=0;o<s;){let a=Math.min(i-this.pos,s-o);if(a===i){let c=Li(t);for(;i<=s-o;o+=i)this.process(c,o);continue}n.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){fn(this),ou(t,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 l=o;l<i;l++)r[l]=0;_y(n,i-8,BigInt(this.length*8),s),this.process(n,0);let a=Li(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,f[l],s)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:s,destroyed:o,pos:a}=this;return t.length=i,t.pos=a,t.finished=s,t.destroyed=o,i%r&&t.buffer.set(n),t}};var Pi=BigInt(4294967295),Io=BigInt(32);function cu(e,t=!1){return t?{h:Number(e&Pi),l:Number(e>>Io&Pi)}:{h:Number(e>>Io&Pi)|0,l:Number(e&Pi)|0}}function Ry(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;i<e.length;i++){let{h:s,l:o}=cu(e[i],t);[r[i],n[i]]=[s,o]}return[r,n]}var Ly=(e,t)=>BigInt(e>>>0)<<Io|BigInt(t>>>0),Dy=(e,t,r)=>e>>>r,Ny=(e,t,r)=>e<<32-r|t>>>r,Py=(e,t,r)=>e>>>r|t<<32-r,ky=(e,t,r)=>e<<32-r|t>>>r,Uy=(e,t,r)=>e<<64-r|t>>>r-32,Oy=(e,t,r)=>e>>>r-32|t<<64-r,My=(e,t)=>t,Ky=(e,t)=>e,Fy=(e,t,r)=>e<<r|t>>>32-r,Vy=(e,t,r)=>t<<r|e>>>32-r,qy=(e,t,r)=>t<<r-32|e>>>64-r,Hy=(e,t,r)=>e<<r-32|t>>>64-r;function zy(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var Gy=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Wy=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Yy=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),$y=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,Qy=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),Zy=(e,t,r,n,i,s)=>t+r+n+i+s+(e/2**32|0)|0;var Xy={fromBig:cu,split:Ry,toBig:Ly,shrSH:Dy,shrSL:Ny,rotrSH:Py,rotrSL:ky,rotrBH:Uy,rotrBL:Oy,rotr32H:My,rotr32L:Ky,rotlSH:Fy,rotlSL:Vy,rotlBH:qy,rotlBL:Hy,add:zy,add3L:Gy,add3H:Wy,add4L:Yy,add4H:$y,add5H:Zy,add5L:Qy},Z=Xy;var[Jy,jy]=Z.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(e=>BigInt(e))),dr=new Uint32Array(80),pr=new Uint32Array(80),Co=class extends dn{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:t,Al:r,Bh:n,Bl:i,Ch:s,Cl:o,Dh:a,Dl:c,Eh:u,El:f,Fh:l,Fl:h,Gh:y,Gl:d,Hh:p,Hl:m}=this;return[t,r,n,i,s,o,a,c,u,f,l,h,y,d,p,m]}set(t,r,n,i,s,o,a,c,u,f,l,h,y,d,p,m){this.Ah=t|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=f|0,this.Fh=l|0,this.Fl=h|0,this.Gh=y|0,this.Gl=d|0,this.Hh=p|0,this.Hl=m|0}process(t,r){for(let b=0;b<16;b++,r+=4)dr[b]=t.getUint32(r),pr[b]=t.getUint32(r+=4);for(let b=16;b<80;b++){let R=dr[b-15]|0,w=pr[b-15]|0,S=Z.rotrSH(R,w,1)^Z.rotrSH(R,w,8)^Z.shrSH(R,w,7),L=Z.rotrSL(R,w,1)^Z.rotrSL(R,w,8)^Z.shrSL(R,w,7),D=dr[b-2]|0,Y=pr[b-2]|0,W=Z.rotrSH(D,Y,19)^Z.rotrBH(D,Y,61)^Z.shrSH(D,Y,6),q=Z.rotrSL(D,Y,19)^Z.rotrBL(D,Y,61)^Z.shrSL(D,Y,6),j=Z.add4L(L,q,pr[b-7],pr[b-16]),lt=Z.add4H(j,S,W,dr[b-7],dr[b-16]);dr[b]=lt|0,pr[b]=j|0}let{Ah:n,Al:i,Bh:s,Bl:o,Ch:a,Cl:c,Dh:u,Dl:f,Eh:l,El:h,Fh:y,Fl:d,Gh:p,Gl:m,Hh:x,Hl:E}=this;for(let b=0;b<80;b++){let R=Z.rotrSH(l,h,14)^Z.rotrSH(l,h,18)^Z.rotrBH(l,h,41),w=Z.rotrSL(l,h,14)^Z.rotrSL(l,h,18)^Z.rotrBL(l,h,41),S=l&y^~l&p,L=h&d^~h&m,D=Z.add5L(E,w,L,jy[b],pr[b]),Y=Z.add5H(D,x,R,S,Jy[b],dr[b]),W=D|0,q=Z.rotrSH(n,i,28)^Z.rotrBH(n,i,34)^Z.rotrBH(n,i,39),j=Z.rotrSL(n,i,28)^Z.rotrBL(n,i,34)^Z.rotrBL(n,i,39),lt=n&s^n&a^s&a,Ht=i&o^i&c^o&c;x=p|0,E=m|0,p=y|0,m=d|0,y=l|0,d=h|0,{h:l,l:h}=Z.add(u|0,f|0,Y|0,W|0),u=a|0,f=c|0,a=s|0,c=o|0,s=n|0,o=i|0;let I=Z.add3L(W,j,Ht);n=Z.add3H(I,Y,q,lt),i=I|0}({h:n,l:i}=Z.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:s,l:o}=Z.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:a,l:c}=Z.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=Z.add(this.Dh|0,this.Dl|0,u|0,f|0),{h:l,l:h}=Z.add(this.Eh|0,this.El|0,l|0,h|0),{h:y,l:d}=Z.add(this.Fh|0,this.Fl|0,y|0,d|0),{h:p,l:m}=Z.add(this.Gh|0,this.Gl|0,p|0,m|0),{h:x,l:E}=Z.add(this.Hh|0,this.Hl|0,x|0,E|0),this.set(n,i,s,o,a,c,u,f,l,h,y,d,p,m,x,E)}roundClean(){dr.fill(0),pr.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 _o=Ni(()=>new Co);var Oi={};Kt(Oi,{bitGet:()=>om,bitLen:()=>sm,bitMask:()=>Kn,bitSet:()=>am,bytesToHex:()=>$e,bytesToNumberBE:()=>Qe,bytesToNumberLE:()=>yr,concatBytes:()=>Ze,createHmacDrbg:()=>Do,ensureBytes:()=>It,equalBytes:()=>nm,hexToBytes:()=>Pr,hexToNumber:()=>Lo,numberToBytesBE:()=>mr,numberToBytesLE:()=>kr,numberToHexUnpadded:()=>lu,numberToVarBytesBE:()=>rm,utf8ToBytes:()=>im,validateObject:()=>Me});var fu=BigInt(0),ki=BigInt(1),tm=BigInt(2),Ui=e=>e instanceof Uint8Array,em=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function $e(e){if(!Ui(e))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=em[e[r]];return t}function lu(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function Lo(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return BigInt(e===""?"0":`0x${e}`)}function Pr(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);let t=e.length;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let r=new Uint8Array(t/2);for(let n=0;n<r.length;n++){let i=n*2,s=e.slice(i,i+2),o=Number.parseInt(s,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");r[n]=o}return r}function Qe(e){return Lo($e(e))}function yr(e){if(!Ui(e))throw new Error("Uint8Array expected");return Lo($e(Uint8Array.from(e).reverse()))}function mr(e,t){return Pr(e.toString(16).padStart(t*2,"0"))}function kr(e,t){return mr(e,t).reverse()}function rm(e){return Pr(lu(e))}function It(e,t,r){let n;if(typeof t=="string")try{n=Pr(t)}catch(s){throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${s}`)}else if(Ui(t))n=Uint8Array.from(t);else throw new Error(`${e} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${e} expected ${r} bytes, got ${i}`);return n}function Ze(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!Ui(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}function nm(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function im(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function sm(e){let t;for(t=0;e>fu;e>>=ki,t+=1);return t}function om(e,t){return e>>BigInt(t)&ki}var am=(e,t,r)=>e|(r?ki:fu)<<BigInt(t),Kn=e=>(tm<<BigInt(e-1))-ki,Ro=e=>new Uint8Array(e),uu=e=>Uint8Array.from(e);function Do(e,t,r){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Ro(e),i=Ro(e),s=0,o=()=>{n.fill(1),i.fill(0),s=0},a=(...l)=>r(i,n,...l),c=(l=Ro())=>{i=a(uu([0]),l),n=a(),l.length!==0&&(i=a(uu([1]),l),n=a())},u=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,h=[];for(;l<t;){n=a();let y=n.slice();h.push(y),l+=n.length}return Ze(...h)};return(l,h)=>{o(),c(l);let y;for(;!(y=h(u()));)c();return o(),y}}var cm={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||e instanceof Uint8Array,isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function Me(e,t,r={}){let n=(i,s,o)=>{let a=cm[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);let c=e[i];if(!(o&&c===void 0)&&!a(c,e))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${s}`)};for(let[i,s]of Object.entries(t))n(i,s,!1);for(let[i,s]of Object.entries(r))n(i,s,!0);return e}var Ot=BigInt(0),bt=BigInt(1),Ur=BigInt(2),um=BigInt(3),No=BigInt(4),hu=BigInt(5),du=BigInt(8),fm=BigInt(9),lm=BigInt(16);function dt(e,t){let r=e%t;return r>=Ot?r:t+r}function hm(e,t,r){if(r<=Ot||t<Ot)throw new Error("Expected power/modulo > 0");if(r===bt)return Ot;let n=bt;for(;t>Ot;)t&bt&&(n=n*e%r),e=e*e%r,t>>=bt;return n}function Et(e,t,r){let n=e;for(;t-- >Ot;)n*=n,n%=r;return n}function Mi(e,t){if(e===Ot||t<=Ot)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=dt(e,t),n=t,i=Ot,s=bt,o=bt,a=Ot;for(;r!==Ot;){let u=n/r,f=n%r,l=i-o*u,h=s-a*u;n=r,r=f,i=o,s=a,o=l,a=h}if(n!==bt)throw new Error("invert: does not exist");return dt(i,t)}function dm(e){let t=(e-bt)/Ur,r,n,i;for(r=e-bt,n=0;r%Ur===Ot;r/=Ur,n++);for(i=Ur;i<e&&hm(i,t,e)!==e-bt;i++);if(n===1){let o=(e+bt)/No;return function(c,u){let f=c.pow(u,o);if(!c.eql(c.sqr(f),u))throw new Error("Cannot find square root");return f}}let s=(r+bt)/Ur;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,f=a.pow(a.mul(a.ONE,i),r),l=a.pow(c,s),h=a.pow(c,r);for(;!a.eql(h,a.ONE);){if(a.eql(h,a.ZERO))return a.ZERO;let y=1;for(let p=a.sqr(h);y<u&&!a.eql(p,a.ONE);y++)p=a.sqr(p);let d=a.pow(f,bt<<BigInt(u-y-1));f=a.sqr(d),l=a.mul(l,d),h=a.mul(h,f),u=y}return l}}function pm(e){if(e%No===um){let t=(e+bt)/No;return function(n,i){let s=n.pow(i,t);if(!n.eql(n.sqr(s),i))throw new Error("Cannot find square root");return s}}if(e%du===hu){let t=(e-hu)/du;return function(n,i){let s=n.mul(i,Ur),o=n.pow(s,t),a=n.mul(i,o),c=n.mul(n.mul(a,Ur),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 e%lm,dm(e)}var pu=(e,t)=>(dt(e,t)&bt)===bt,ym=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Po(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=ym.reduce((n,i)=>(n[i]="function",n),t);return Me(e,r)}function mm(e,t,r){if(r<Ot)throw new Error("Expected power > 0");if(r===Ot)return e.ONE;if(r===bt)return t;let n=e.ONE,i=t;for(;r>Ot;)r&bt&&(n=e.mul(n,i)),i=e.sqr(i),r>>=bt;return n}function gm(e,t){let r=new Array(t.length),n=t.reduce((s,o,a)=>e.is0(o)?s:(r[a]=s,e.mul(s,o)),e.ONE),i=e.inv(n);return t.reduceRight((s,o,a)=>e.is0(o)?s:(r[a]=e.mul(s,r[a]),e.mul(s,o)),i),r}function ko(e,t){let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Ki(e,t,r=!1,n={}){if(e<=Ot)throw new Error(`Expected Field ORDER > 0, got ${e}`);let{nBitLength:i,nByteLength:s}=ko(e,t);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=pm(e),a=Object.freeze({ORDER:e,BITS:i,BYTES:s,MASK:Kn(i),ZERO:Ot,ONE:bt,create:c=>dt(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Ot<=c&&c<e},is0:c=>c===Ot,isOdd:c=>(c&bt)===bt,neg:c=>dt(-c,e),eql:(c,u)=>c===u,sqr:c=>dt(c*c,e),add:(c,u)=>dt(c+u,e),sub:(c,u)=>dt(c-u,e),mul:(c,u)=>dt(c*u,e),pow:(c,u)=>mm(a,c,u),div:(c,u)=>dt(c*Mi(u,e),e),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Mi(c,e),sqrt:n.sqrt||(c=>o(a,c)),invertBatch:c=>gm(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>r?kr(c,s):mr(c,s),fromBytes:c=>{if(c.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${c.length}`);return r?yr(c):Qe(c)}});return Object.freeze(a)}function yu(e,t){if(!e.isOdd)throw new Error("Field doesn't have isOdd");let r=e.sqrt(t);return e.isOdd(r)?e.neg(r):r}function mu(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function Uo(e){let t=mu(e);return t+Math.ceil(t/2)}function gu(e,t,r=!1){let n=e.length,i=mu(t),s=Uo(t);if(n<16||n<s||n>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);let o=r?Qe(e):yr(e),a=dt(o,t-bt)+bt;return r?kr(a,i):mr(a,i)}var vm=BigInt(0),Oo=BigInt(1);function Fi(e,t){let r=(i,s)=>{let o=s.negate();return i?o:s},n=i=>{let s=Math.ceil(t/i)+1,o=2**(i-1);return{windows:s,windowSize:o}};return{constTimeNegate:r,unsafeLadder(i,s){let o=e.ZERO,a=i;for(;s>vm;)s&Oo&&(o=o.add(a)),a=a.double(),s>>=Oo;return o},precomputeWindow(i,s){let{windows:o,windowSize:a}=n(s),c=[],u=i,f=u;for(let l=0;l<o;l++){f=u,c.push(f);for(let h=1;h<a;h++)f=f.add(u),c.push(f);u=f.double()}return c},wNAF(i,s,o){let{windows:a,windowSize:c}=n(i),u=e.ZERO,f=e.BASE,l=BigInt(2**i-1),h=2**i,y=BigInt(i);for(let d=0;d<a;d++){let p=d*c,m=Number(o&l);o>>=y,m>c&&(m-=h,o+=Oo);let x=p,E=p+Math.abs(m)-1,b=d%2!==0,R=m<0;m===0?f=f.add(r(b,s[x])):u=u.add(r(R,s[E]))}return{p:u,f}},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 Fn(e){return Po(e.Fp),Me(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...ko(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var Be=BigInt(0),le=BigInt(1),Vi=BigInt(2),bm=BigInt(8),Em={zip215:!0};function wm(e){let t=Fn(e);return Me(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function qi(e){let t=wm(e),{Fp:r,n,prehash:i,hash:s,randomBytes:o,nByteLength:a,h:c}=t,u=Vi<<BigInt(a*8)-le,f=r.create,l=t.uvRatio||((N,T)=>{try{return{isValid:!0,value:r.sqrt(N*r.inv(T))}}catch{return{isValid:!1,value:Be}}}),h=t.adjustScalarBytes||(N=>N),y=t.domain||((N,T,M)=>{if(T.length||M)throw new Error("Contexts/pre-hash are not supported");return N}),d=N=>typeof N=="bigint"&&Be<N,p=(N,T)=>d(N)&&d(T)&&N<T,m=N=>N===Be||p(N,u);function x(N,T){if(p(N,T))return N;throw new Error(`Expected valid scalar < ${T}, got ${typeof N} ${N}`)}function E(N){return N===Be?N:x(N,n)}let b=new Map;function R(N){if(!(N instanceof w))throw new Error("ExtendedPoint expected")}class w{constructor(T,M,F,G){if(this.ex=T,this.ey=M,this.ez=F,this.et=G,!m(T))throw new Error("x required");if(!m(M))throw new Error("y required");if(!m(F))throw new Error("z required");if(!m(G))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(T){if(T instanceof w)throw new Error("extended point not allowed");let{x:M,y:F}=T||{};if(!m(M)||!m(F))throw new Error("invalid affine point");return new w(M,F,le,f(M*F))}static normalizeZ(T){let M=r.invertBatch(T.map(F=>F.ez));return T.map((F,G)=>F.toAffine(M[G])).map(w.fromAffine)}_setWindowSize(T){this._WINDOW_SIZE=T,b.delete(this)}assertValidity(){let{a:T,d:M}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:F,ey:G,ez:X,et}=this,ut=f(F*F),rt=f(G*G),st=f(X*X),Lt=f(st*st),Tt=f(ut*T),zt=f(st*f(Tt+rt)),Gt=f(Lt+f(M*f(ut*rt)));if(zt!==Gt)throw new Error("bad point: equation left != right (1)");let Pt=f(F*G),Wt=f(X*et);if(Pt!==Wt)throw new Error("bad point: equation left != right (2)")}equals(T){R(T);let{ex:M,ey:F,ez:G}=this,{ex:X,ey:et,ez:ut}=T,rt=f(M*ut),st=f(X*G),Lt=f(F*ut),Tt=f(et*G);return rt===st&&Lt===Tt}is0(){return this.equals(w.ZERO)}negate(){return new w(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:T}=t,{ex:M,ey:F,ez:G}=this,X=f(M*M),et=f(F*F),ut=f(Vi*f(G*G)),rt=f(T*X),st=M+F,Lt=f(f(st*st)-X-et),Tt=rt+et,zt=Tt-ut,Gt=rt-et,Pt=f(Lt*zt),Wt=f(Tt*Gt),Ve=f(Lt*Gt),Tr=f(zt*Tt);return new w(Pt,Wt,Tr,Ve)}add(T){R(T);let{a:M,d:F}=t,{ex:G,ey:X,ez:et,et:ut}=this,{ex:rt,ey:st,ez:Lt,et:Tt}=T;if(M===BigInt(-1)){let c0=f((X-G)*(st+rt)),u0=f((X+G)*(st-rt)),Ls=f(u0-c0);if(Ls===Be)return this.double();let f0=f(et*Vi*Tt),l0=f(ut*Vi*Lt),h0=l0+f0,d0=u0+c0,p0=l0-f0,Fl=f(h0*Ls),Vl=f(d0*p0),ql=f(h0*p0),Hl=f(Ls*d0);return new w(Fl,Vl,Hl,ql)}let zt=f(G*rt),Gt=f(X*st),Pt=f(ut*F*Tt),Wt=f(et*Lt),Ve=f((G+X)*(rt+st)-zt-Gt),Tr=Wt-Pt,In=Wt+Pt,a0=f(Gt-M*zt),Ul=f(Ve*Tr),Ol=f(In*a0),Ml=f(Ve*a0),Kl=f(Tr*In);return new w(Ul,Ol,Kl,Ml)}subtract(T){return this.add(T.negate())}wNAF(T){return D.wNAFCached(this,b,T,w.normalizeZ)}multiply(T){let{p:M,f:F}=this.wNAF(x(T,n));return w.normalizeZ([M,F])[0]}multiplyUnsafe(T){let M=E(T);return M===Be?L:this.equals(L)||M===le?this:this.equals(S)?this.wNAF(M).p:D.unsafeLadder(this,M)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return D.unsafeLadder(this,n).is0()}toAffine(T){let{ex:M,ey:F,ez:G}=this,X=this.is0();T==null&&(T=X?bm:r.inv(G));let et=f(M*T),ut=f(F*T),rt=f(G*T);if(X)return{x:Be,y:le};if(rt!==le)throw new Error("invZ was invalid");return{x:et,y:ut}}clearCofactor(){let{h:T}=t;return T===le?this:this.multiplyUnsafe(T)}static fromHex(T,M=!1){let{d:F,a:G}=t,X=r.BYTES;T=It("pointHex",T,X);let et=T.slice(),ut=T[X-1];et[X-1]=ut&-129;let rt=yr(et);rt===Be||(M?x(rt,u):x(rt,r.ORDER));let st=f(rt*rt),Lt=f(st-le),Tt=f(F*st-G),{isValid:zt,value:Gt}=l(Lt,Tt);if(!zt)throw new Error("Point.fromHex: invalid y coordinate");let Pt=(Gt&le)===le,Wt=(ut&128)!==0;if(!M&&Gt===Be&&Wt)throw new Error("Point.fromHex: x=0 and x_0=1");return Wt!==Pt&&(Gt=f(-Gt)),w.fromAffine({x:Gt,y:rt})}static fromPrivateKey(T){return q(T).point}toRawBytes(){let{x:T,y:M}=this.toAffine(),F=kr(M,r.BYTES);return F[F.length-1]|=T&le?128:0,F}toHex(){return $e(this.toRawBytes())}}w.BASE=new w(t.Gx,t.Gy,le,f(t.Gx*t.Gy)),w.ZERO=new w(Be,le,le,Be);let{BASE:S,ZERO:L}=w,D=Fi(w,a*8);function Y(N){return dt(N,n)}function W(N){return Y(yr(N))}function q(N){let T=a;N=It("private key",N,T);let M=It("hashed private key",s(N),2*T),F=h(M.slice(0,T)),G=M.slice(T,2*T),X=W(F),et=S.multiply(X),ut=et.toRawBytes();return{head:F,prefix:G,scalar:X,point:et,pointBytes:ut}}function j(N){return q(N).pointBytes}function lt(N=new Uint8Array,...T){let M=Ze(...T);return W(s(y(M,It("context",N),!!i)))}function Ht(N,T,M={}){N=It("message",N),i&&(N=i(N));let{prefix:F,scalar:G,pointBytes:X}=q(T),et=lt(M.context,F,N),ut=S.multiply(et).toRawBytes(),rt=lt(M.context,ut,X,N),st=Y(et+rt*G);E(st);let Lt=Ze(ut,kr(st,r.BYTES));return It("result",Lt,a*2)}let I=Em;function P(N,T,M,F=I){let{context:G,zip215:X}=F,et=r.BYTES;N=It("signature",N,2*et),T=It("message",T),i&&(T=i(T));let ut=yr(N.slice(et,2*et)),rt,st,Lt;try{rt=w.fromHex(M,X),st=w.fromHex(N.slice(0,et),X),Lt=S.multiplyUnsafe(ut)}catch{return!1}if(!X&&rt.isSmallOrder())return!1;let Tt=lt(G,st.toRawBytes(),rt.toRawBytes(),T);return st.add(rt.multiplyUnsafe(Tt)).subtract(Lt).clearCofactor().equals(w.ZERO)}return S._setWindowSize(8),{CURVE:t,getPublicKey:j,sign:Ht,verify:P,ExtendedPoint:w,utils:{getExtendedPublicKey:q,randomPrivateKey:()=>o(r.BYTES),precompute(N=8,T=w.BASE){return T._setWindowSize(N),T.multiply(BigInt(3)),T}}}}var Ko=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),xu=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Tx=BigInt(0),Sm=BigInt(1),Mo=BigInt(2),Am=BigInt(5),vu=BigInt(10),Tm=BigInt(20),Bm=BigInt(40),bu=BigInt(80);function Im(e){let t=Ko,n=e*e%t*e%t,i=Et(n,Mo,t)*n%t,s=Et(i,Sm,t)*e%t,o=Et(s,Am,t)*s%t,a=Et(o,vu,t)*o%t,c=Et(a,Tm,t)*a%t,u=Et(c,Bm,t)*c%t,f=Et(u,bu,t)*u%t,l=Et(f,bu,t)*u%t,h=Et(l,vu,t)*o%t;return{pow_p_5_8:Et(h,Mo,t)*e%t,b2:n}}function Cm(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function _m(e,t){let r=Ko,n=dt(t*t*t,r),i=dt(n*n*t,r),s=Im(e*i).pow_p_5_8,o=dt(e*n*s,r),a=dt(t*o*o,r),c=o,u=dt(o*xu,r),f=a===e,l=a===dt(-e,r),h=a===dt(-e*xu,r);return f&&(o=c),(l||h)&&(o=u),pu(o,r)&&(o=dt(-o,r)),{isValid:f||l,value:o}}var Xe=Ki(Ko,void 0,!0),Fo={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Xe,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:_o,randomBytes:hn,adjustScalarBytes:Cm,uvRatio:_m},pn=qi(Fo);function Eu(e,t,r){if(t.length>255)throw new Error("Context is too big");return Di(Bo("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,t.length]),t,e)}var Bx=qi({...Fo,domain:Eu}),Ix=qi({...Fo,domain:Eu,prehash:_o});var Rm=(Xe.ORDER+BigInt(3))/BigInt(8),Cx=Xe.pow(Mo,Rm),_x=Xe.sqrt(Xe.neg(Xe.ONE)),Rx=(Xe.ORDER-BigInt(5))/BigInt(8),Lx=BigInt(486662);var Dx=yu(Xe,Xe.neg(BigInt(486664)));var Nx=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Px=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),kx=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Ux=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var Ox=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var yn=32,Je=64,Hi=32;async function wu(){let e=pn.utils.randomPrivateKey(),t=pn.getPublicKey(e);return{privateKey:Bu(e,t),publicKey:t}}async function Su(e){if(e.length!==Hi)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=pn.getPublicKey(t);return{privateKey:Bu(t,r),publicKey:r}}async function Au(e,t){let r=e.subarray(0,Hi);return pn.sign(t,r)}async function Tu(e,t,r){return pn.verify(t,r,e)}function Bu(e,t){let r=new Uint8Array(Je);for(let n=0;n<Hi;n++)r[n]=e[n],r[Hi+n]=t[n];return r}function Mt(e,t){t==null&&(t=e.reduce((i,s)=>i+s.length,0));let r=$t(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return Nr(r)}var ae={get(e=globalThis){let t=e.crypto;if(t==null||t.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 t}};var Vo={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function qo(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,i=e?.digest??"SHA-256",s=e?.saltLength??16,o=e?.iterations??32767,a=ae.get();r*=8;async function c(l,h){let y=a.getRandomValues(new Uint8Array(s)),d=a.getRandomValues(new Uint8Array(n)),p={name:t,iv:d};typeof h=="string"&&(h=Nt(h));let m;if(h.length===0){m=await a.subtle.importKey("jwk",Vo,{name:"AES-GCM"},!0,["encrypt"]);try{let E={name:"PBKDF2",salt:y,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(E,b,{name:t,length:r},!0,["encrypt"])}catch{m=await a.subtle.importKey("jwk",Vo,{name:"AES-GCM"},!0,["encrypt"])}}else{let E={name:"PBKDF2",salt:y,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(E,b,{name:t,length:r},!0,["encrypt"])}let x=await a.subtle.encrypt(p,m,l);return Mt([y,p.iv,new Uint8Array(x)])}async function u(l,h){let y=l.subarray(0,s),d=l.subarray(s,s+n),p=l.subarray(s+n),m={name:t,iv:d};typeof h=="string"&&(h=Nt(h));let x;if(h.length===0)try{let b={name:"PBKDF2",salt:y,iterations:o,hash:{name:i}},R=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);x=await a.subtle.deriveKey(b,R,{name:t,length:r},!0,["decrypt"])}catch{x=await a.subtle.importKey("jwk",Vo,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:y,iterations:o,hash:{name:i}},R=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);x=await a.subtle.deriveKey(b,R,{name:t,length:r},!0,["decrypt"])}let E=await a.subtle.decrypt(m,x,p);return new Uint8Array(E)}return{encrypt:c,decrypt:u}}async function mn(e,t){let n=await qo().encrypt(e,t);return ui.encode(n)}var Ho=new Float32Array([-0]),gr=new Uint8Array(Ho.buffer);function Cu(e,t,r){Ho[0]=e,t[r]=gr[0],t[r+1]=gr[1],t[r+2]=gr[2],t[r+3]=gr[3]}function _u(e,t){return gr[0]=e[t],gr[1]=e[t+1],gr[2]=e[t+2],gr[3]=e[t+3],Ho[0]}var zo=new Float64Array([-0]),Qt=new Uint8Array(zo.buffer);function Ru(e,t,r){zo[0]=e,t[r]=Qt[0],t[r+1]=Qt[1],t[r+2]=Qt[2],t[r+3]=Qt[3],t[r+4]=Qt[4],t[r+5]=Qt[5],t[r+6]=Qt[6],t[r+7]=Qt[7]}function Lu(e,t){return Qt[0]=e[t],Qt[1]=e[t+1],Qt[2]=e[t+2],Qt[3]=e[t+3],Qt[4]=e[t+4],Qt[5]=e[t+5],Qt[6]=e[t+6],Qt[7]=e[t+7],zo[0]}var Dm=BigInt(Number.MAX_SAFE_INTEGER),Nm=BigInt(Number.MIN_SAFE_INTEGER),ce=class e{lo;hi;constructor(t,r){this.lo=t|0,this.hi=r|0}toNumber(t=!1){if(!t&&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(t=!1){if(t)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(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return Or;if(t<Dm&&t>Nm)return this.fromNumber(Number(t));let r=t<0n;r&&(t=-t);let n=t>>32n,i=t-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>Du&&(i=0n,++n>Du&&(n=0n))),new e(Number(i),Number(n))}static fromNumber(t){if(t===0)return Or;let r=t<0;r&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new e(n,i)}static from(t){return typeof t=="number"?e.fromNumber(t):typeof t=="bigint"?e.fromBigInt(t):typeof t=="string"?e.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new e(t.low>>>0,t.high>>>0):Or}},Or=new ce(0,0);Or.toBigInt=function(){return 0n};Or.zzEncode=Or.zzDecode=function(){return this};Or.length=function(){return 1};var Du=4294967296n;function Nu(e){let t=0,r=0;for(let n=0;n<e.length;++n)r=e.charCodeAt(n),r<128?t+=1:r<2048?t+=2:(r&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function Pu(e,t,r){if(r-t<1)return"";let i,s=[],o=0,a;for(;t<r;)a=e[t++],a<128?s[o++]=a:a>191&&a<224?s[o++]=(a&31)<<6|e[t++]&63:a>239&&a<365?(a=((a&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,s[o++]=55296+(a>>10),s[o++]=56320+(a&1023)):s[o++]=(a&15)<<12|(e[t++]&63)<<6|e[t++]&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 Go(e,t,r){let n=r,i,s;for(let o=0;o<e.length;++o)i=e.charCodeAt(o),i<128?t[r++]=i:i<2048?(t[r++]=i>>6|192,t[r++]=i&63|128):(i&64512)===55296&&((s=e.charCodeAt(o+1))&64512)===56320?(i=65536+((i&1023)<<10)+(s&1023),++o,t[r++]=i>>18|240,t[r++]=i>>12&63|128,t[r++]=i>>6&63|128,t[r++]=i&63|128):(t[r++]=i>>12|224,t[r++]=i>>6&63|128,t[r++]=i&63|128);return r-n}function Ie(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function zi(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var Wo=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,Ie(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Ie(this,4);return zi(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Ie(this,4);return zi(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Ie(this,4);let t=_u(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw Ie(this,4);let t=Lu(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw Ie(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return Pu(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw Ie(this,t);this.pos+=t}else do if(this.pos>=this.len)throw Ie(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new ce(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw Ie(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,t}if(this.len-this.pos>4){for(;r<5;++r)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;r<5;++r){if(this.pos>=this.len)throw Ie(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Ie(this,8);let t=zi(this.buf,this.pos+=4),r=zi(this.buf,this.pos+=4);return new ce(t,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 Yo(e){return new Wo(e instanceof Uint8Array?e:e.subarray())}function Zt(e,t){let r=Yo(e);return t.decode(r)}function $o(e){let t=e??8192,r=t>>>1,n,i=t;return function(o){if(o<1||o>r)return $t(o);i+o>t&&(n=$t(t),i=0);let a=n.subarray(i,i+=o);return i&7&&(i=(i|7)+1),a}}var Mr=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function Qo(){}var Xo=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},Pm=$o();function km(e){return globalThis.Buffer!=null?$t(e):Pm(e)}var Hn=class{len;head;tail;states;constructor(){this.len=0,this.head=new Mr(Qo,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new Mr(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new Jo((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(Vn,10,ce.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=ce.fromBigInt(t);return this._push(Vn,r.length(),r)}uint64Number(t){let r=ce.fromNumber(t);return this._push(Vn,r.length(),r)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let r=ce.fromBigInt(t).zzEncode();return this._push(Vn,r.length(),r)}sint64Number(t){let r=ce.fromNumber(t).zzEncode();return this._push(Vn,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Zo,1,t?1:0)}fixed32(t){return this._push(qn,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=ce.fromBigInt(t);return this._push(qn,4,r.lo)._push(qn,4,r.hi)}fixed64Number(t){let r=ce.fromNumber(t);return this._push(qn,4,r.lo)._push(qn,4,r.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(Cu,4,t)}double(t){return this._push(Ru,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(Zo,1,0):this.uint32(r)._push(Om,r,t)}string(t){let r=Nu(t);return r!==0?this.uint32(r)._push(Go,r,t):this._push(Zo,1,0)}fork(){return this.states=new Xo(this),this.head=this.tail=new Mr(Qo,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 Mr(Qo,0,0),this.len=0),this}ldelim(){let t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=r,this.len+=n),this}finish(){let t=this.head.next,r=km(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function Zo(e,t,r){t[r]=e&255}function Um(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var Jo=class extends Mr{next;constructor(t,r){super(Um,t,r),this.next=void 0}};function Vn(e,t,r){for(;e.hi!==0;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}function qn(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function Om(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(Hn.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(Mm,t,e),this},Hn.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(Km,t,e),this});function Mm(e,t,r){t.set(e,r)}function Km(e,t,r){e.length<40?Go(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(Nt(e),r)}function jo(){return new Hn}function Xt(e,t){let r=jo();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var gn;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(gn||(gn={}));function Gi(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Kr(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(s,o){let a=t(s);o.int32(a)},n=function(s){let o=s.int32();return t(o)};return Gi("enum",gn.VARINT,r,n)}function Jt(e,t){return Gi("message",gn.LENGTH_DELIMITED,e,t)}var wt;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(wt||(wt={}));var ta;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(ta||(ta={}));(function(e){e.codec=()=>Kr(ta)})(wt||(wt={}));var Ke;(function(e){let t;e.codec=()=>(t==null&&(t=Jt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),wt.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=wt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>Xt(r,e.codec()),e.decode=r=>Zt(r,e.codec())})(Ke||(Ke={}));var Fe;(function(e){let t;e.codec=()=>(t==null&&(t=Jt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),wt.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=wt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>Xt(r,e.codec()),e.decode=r=>Zt(r,e.codec())})(Fe||(Fe={}));var zn=class{_key;constructor(t){this._key=xn(t,yn)}async verify(t,r){return Tu(this._key,r,t)}marshal(){return this._key}get bytes(){return Ke.encode({Type:wt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Ct(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Ut.digest(this.bytes);return t}},Fr=class{_key;_publicKey;constructor(t,r){this._key=xn(t,Je),this._publicKey=xn(r,yn)}async sign(t){return Au(this._key,t)}get public(){return new zn(this._publicKey)}marshal(){return this._key}get bytes(){return Fe.encode({Type:wt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Ct(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Ut.digest(this.bytes);return t}async id(){let t=ar.digest(this.public.bytes);return kt.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return mn(this.bytes,t);throw new z(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Fm(e){if(e.length>Je){e=xn(e,Je+yn);let n=e.subarray(0,Je),i=e.subarray(Je,e.length);return new Fr(n,i)}e=xn(e,Je);let t=e.subarray(0,Je),r=e.subarray(yn);return new Fr(t,r)}function Vm(e){return e=xn(e,yn),new zn(e)}async function qm(){let{privateKey:e,publicKey:t}=await wu();return new Fr(e,t)}async function Uu(e){let{privateKey:t,publicKey:r}=await Su(e);return new Fr(t,r)}function xn(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new z(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}function pt(e,t="utf8"){let r=_i[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}var Nv=Yt(Dt(),1),Pv=Yt(Ti(),1),Ou=Yt(ht(),1);function Ce(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=Mt([new Uint8Array(t-r.length),r])}return pt(r,"base64url")}function he(e){let t=Mu(e);return new Ou.default.jsbn.BigInteger(pt(t,"base16"),16)}function Mu(e,t){let r=Nt(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=Mt([new Uint8Array(t-r.length),r])}return r}var Hm={"P-256":256,"P-384":384,"P-521":521},zm=Object.keys(Hm),Gv=zm.join(" / ");var oa={};Kt(oa,{MAX_KEY_SIZE:()=>$n,RsaPrivateKey:()=>vn,RsaPublicKey:()=>Yn,fromJwk:()=>eg,generateKeyPair:()=>rg,unmarshalRsaPrivateKey:()=>jm,unmarshalRsaPublicKey:()=>tg});var Wn=Yt(ht(),1);var _b=Yt(Hu(),1);function Yi(e){if(isNaN(e)||e<=0)throw new z("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return hn(e)}var lb=Yt(Ci(),1),ia=Yt(ht(),1);function zu(e,t){return t.map(r=>he(e[r]))}function Gu(e){return ia.default.pki.setRsaPrivateKey(...zu(e,["n","e","d","p","q","dp","dq","qi"]))}function Wu(e){return ia.default.pki.setRsaPublicKey(...zu(e,["n","e"]))}var qr={};Kt(qr,{jwkToPkcs1:()=>$m,jwkToPkix:()=>Zm,pkcs1ToJwk:()=>Ym,pkixToJwk:()=>Qm});var pb=Yt(kn(),1),yb=Yt(Ci(),1);var je=Yt(ht(),1);function Ym(e){let t=je.default.asn1.fromDer(pt(e,"ascii")),r=je.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:Ce(r.n),e:Ce(r.e),d:Ce(r.d),p:Ce(r.p),q:Ce(r.q),dp:Ce(r.dP),dq:Ce(r.dQ),qi:Ce(r.qInv),alg:"RS256"}}function $m(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new z("JWK was missing components","ERR_INVALID_PARAMETERS");let t=je.default.pki.privateKeyToAsn1({n:he(e.n),e:he(e.e),d:he(e.d),p:he(e.p),q:he(e.q),dP:he(e.dp),dQ:he(e.dq),qInv:he(e.qi)});return Nt(je.default.asn1.toDer(t).getBytes(),"ascii")}function Qm(e){let t=je.default.asn1.fromDer(pt(e,"ascii")),r=je.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:Ce(r.n),e:Ce(r.e)}}function Zm(e){if(e.n==null||e.e==null)throw new z("JWK was missing components","ERR_INVALID_PARAMETERS");let t=je.default.pki.publicKeyToAsn1({n:he(e.n),e:he(e.e)});return Nt(je.default.asn1.toDer(t).getBytes(),"ascii")}async function Yu(e){let t=await ae.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await Zu(t);return{privateKey:r[0],publicKey:r[1]}}async function sa(e){let r=[await ae.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Xm(e)],n=await Zu({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function $u(e,t){let r=await ae.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await ae.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function Qu(e,t,r){let n=await ae.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return ae.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r)}async function Zu(e){if(e.privateKey==null||e.publicKey==null)throw new z("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([ae.get().subtle.exportKey("jwk",e.privateKey),ae.get().subtle.exportKey("jwk",e.publicKey)])}async function Xm(e){return ae.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Xu(e,t,r,n){let i=t?Wu(e):Gu(e),s=pt(Uint8Array.from(r),"ascii"),o=n(s,i);return Nt(o,"ascii")}function Ju(e,t){return Xu(e,!0,t,(r,n)=>n.encrypt(r))}function ju(e,t){return Xu(e,!1,t,(r,n)=>n.decrypt(r))}function $i(e){if(e.kty!=="RSA")throw new z("invalid key type","ERR_INVALID_KEY_TYPE");if(e.n==null)throw new z("invalid key modulus","ERR_INVALID_KEY_MODULUS");return Nt(e.n,"base64url").length*8}var $n=8192,Yn=class{_key;constructor(t){this._key=t}async verify(t,r){return Qu(this._key,r,t)}marshal(){return qr.jwkToPkix(this._key)}get bytes(){return Ke.encode({Type:wt.RSA,Data:this.marshal()}).subarray()}encrypt(t){return Ju(this._key,t)}equals(t){return Ct(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Ut.digest(this.bytes);return t}},vn=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return Yi(16)}async sign(t){return $u(this._key,t)}get public(){if(this._publicKey==null)throw new z("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Yn(this._publicKey)}decrypt(t){return ju(this._key,t)}marshal(){return qr.jwkToPkcs1(this._key)}get bytes(){return Fe.encode({Type:wt.RSA,Data:this.marshal()}).subarray()}equals(t){return Ct(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Ut.digest(this.bytes);return t}async id(){let t=await this.public.hash();return pt(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new Wn.default.util.ByteBuffer(this.marshal()),i=Wn.default.asn1.fromDer(n),s=Wn.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Wn.default.pki.encryptRsaPrivateKey(s,t,o)}else{if(r==="libp2p-key")return mn(this.bytes,t);throw new z(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function jm(e){let t=qr.pkcs1ToJwk(e);if($i(t)>$n)throw new z("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await sa(t);return new vn(r.privateKey,r.publicKey)}function tg(e){let t=qr.pkixToJwk(e);if($i(t)>$n)throw new z("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Yn(t)}async function eg(e){if($i(e)>$n)throw new z("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await sa(e);return new vn(t.privateKey,t.publicKey)}async function rg(e){if(e>$n)throw new z("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await Yu(e);return new vn(t.privateKey,t.publicKey)}var ha={};Kt(ha,{Secp256k1PrivateKey:()=>Zn,Secp256k1PublicKey:()=>Qn,generateKeyPair:()=>gg,unmarshalSecp256k1PrivateKey:()=>yg,unmarshalSecp256k1PublicKey:()=>mg});var ng=(e,t,r)=>e&t^~e&r,ig=(e,t,r)=>e&t^e&r^t&r,sg=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]),xr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),vr=new Uint32Array(64),aa=class extends dn{constructor(){super(64,32,8,!1),this.A=xr[0]|0,this.B=xr[1]|0,this.C=xr[2]|0,this.D=xr[3]|0,this.E=xr[4]|0,this.F=xr[5]|0,this.G=xr[6]|0,this.H=xr[7]|0}get(){let{A:t,B:r,C:n,D:i,E:s,F:o,G:a,H:c}=this;return[t,r,n,i,s,o,a,c]}set(t,r,n,i,s,o,a,c){this.A=t|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(t,r){for(let l=0;l<16;l++,r+=4)vr[l]=t.getUint32(r,!1);for(let l=16;l<64;l++){let h=vr[l-15],y=vr[l-2],d=Te(h,7)^Te(h,18)^h>>>3,p=Te(y,17)^Te(y,19)^y>>>10;vr[l]=p+vr[l-7]+d+vr[l-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:c,G:u,H:f}=this;for(let l=0;l<64;l++){let h=Te(a,6)^Te(a,11)^Te(a,25),y=f+h+ng(a,c,u)+sg[l]+vr[l]|0,p=(Te(n,2)^Te(n,13)^Te(n,22))+ig(n,i,s)|0;f=u,u=c,c=a,a=o+y|0,o=s,s=i,i=n,n=y+p|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,f=f+this.H|0,this.set(n,i,s,o,a,c,u,f)}roundClean(){vr.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var tf=Ni(()=>new aa);function og(e){let t=Fn(e);Me(t,{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}=t;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({...t})}var{bytesToNumberBE:ag,hexToBytes:cg}=Oi,Hr={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){let{Err:t}=Hr;if(e.length<2||e[0]!==2)throw new t("Invalid signature integer tag");let r=e[1],n=e.subarray(2,r+2);if(!r||n.length!==r)throw new t("Invalid signature integer: wrong length");if(n[0]&128)throw new t("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:ag(n),l:e.subarray(r+2)}},toSig(e){let{Err:t}=Hr,r=typeof e=="string"?cg(e):e;if(!(r instanceof Uint8Array))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new t("Invalid signature tag");if(r[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:i,l:s}=Hr._parseInt(r.subarray(2)),{d:o,l:a}=Hr._parseInt(s);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:i,s:o}},hexFromSig(e){let t=u=>Number.parseInt(u[0],16)&8?"00"+u:u,r=u=>{let f=u.toString(16);return f.length&1?`0${f}`:f},n=t(r(e.s)),i=t(r(e.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}`}},tr=BigInt(0),ve=BigInt(1),Mb=BigInt(2),ef=BigInt(3),Kb=BigInt(4);function ug(e){let t=og(e),{Fp:r}=t,n=t.toBytes||((d,p,m)=>{let x=p.toAffine();return Ze(Uint8Array.from([4]),r.toBytes(x.x),r.toBytes(x.y))}),i=t.fromBytes||(d=>{let p=d.subarray(1),m=r.fromBytes(p.subarray(0,r.BYTES)),x=r.fromBytes(p.subarray(r.BYTES,2*r.BYTES));return{x:m,y:x}});function s(d){let{a:p,b:m}=t,x=r.sqr(d),E=r.mul(x,d);return r.add(r.add(E,r.mul(d,p)),m)}if(!r.eql(r.sqr(t.Gy),s(t.Gx)))throw new Error("bad generator point: equation left != right");function o(d){return typeof d=="bigint"&&tr<d&&d<t.n}function a(d){if(!o(d))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(d){let{allowedPrivateKeyLengths:p,nByteLength:m,wrapPrivateKey:x,n:E}=t;if(p&&typeof d!="bigint"){if(d instanceof Uint8Array&&(d=$e(d)),typeof d!="string"||!p.includes(d.length))throw new Error("Invalid key");d=d.padStart(m*2,"0")}let b;try{b=typeof d=="bigint"?d:Qe(It("private key",d,m))}catch{throw new Error(`private key must be ${m} bytes, hex or bigint, not ${typeof d}`)}return x&&(b=dt(b,E)),a(b),b}let u=new Map;function f(d){if(!(d instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(p,m,x){if(this.px=p,this.py=m,this.pz=x,p==null||!r.isValid(p))throw new Error("x required");if(m==null||!r.isValid(m))throw new Error("y required");if(x==null||!r.isValid(x))throw new Error("z required")}static fromAffine(p){let{x:m,y:x}=p||{};if(!p||!r.isValid(m)||!r.isValid(x))throw new Error("invalid affine point");if(p instanceof l)throw new Error("projective point not allowed");let E=b=>r.eql(b,r.ZERO);return E(m)&&E(x)?l.ZERO:new l(m,x,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){let m=r.invertBatch(p.map(x=>x.pz));return p.map((x,E)=>x.toAffine(m[E])).map(l.fromAffine)}static fromHex(p){let m=l.fromAffine(i(It("pointHex",p)));return m.assertValidity(),m}static fromPrivateKey(p){return l.BASE.multiply(c(p))}_setWindowSize(p){this._WINDOW_SIZE=p,u.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:p,y:m}=this.toAffine();if(!r.isValid(p)||!r.isValid(m))throw new Error("bad point: x or y not FE");let x=r.sqr(m),E=s(p);if(!r.eql(x,E))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:p}=this.toAffine();if(r.isOdd)return!r.isOdd(p);throw new Error("Field doesn't support isOdd")}equals(p){f(p);let{px:m,py:x,pz:E}=this,{px:b,py:R,pz:w}=p,S=r.eql(r.mul(m,w),r.mul(b,E)),L=r.eql(r.mul(x,w),r.mul(R,E));return S&&L}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){let{a:p,b:m}=t,x=r.mul(m,ef),{px:E,py:b,pz:R}=this,w=r.ZERO,S=r.ZERO,L=r.ZERO,D=r.mul(E,E),Y=r.mul(b,b),W=r.mul(R,R),q=r.mul(E,b);return q=r.add(q,q),L=r.mul(E,R),L=r.add(L,L),w=r.mul(p,L),S=r.mul(x,W),S=r.add(w,S),w=r.sub(Y,S),S=r.add(Y,S),S=r.mul(w,S),w=r.mul(q,w),L=r.mul(x,L),W=r.mul(p,W),q=r.sub(D,W),q=r.mul(p,q),q=r.add(q,L),L=r.add(D,D),D=r.add(L,D),D=r.add(D,W),D=r.mul(D,q),S=r.add(S,D),W=r.mul(b,R),W=r.add(W,W),D=r.mul(W,q),w=r.sub(w,D),L=r.mul(W,Y),L=r.add(L,L),L=r.add(L,L),new l(w,S,L)}add(p){f(p);let{px:m,py:x,pz:E}=this,{px:b,py:R,pz:w}=p,S=r.ZERO,L=r.ZERO,D=r.ZERO,Y=t.a,W=r.mul(t.b,ef),q=r.mul(m,b),j=r.mul(x,R),lt=r.mul(E,w),Ht=r.add(m,x),I=r.add(b,R);Ht=r.mul(Ht,I),I=r.add(q,j),Ht=r.sub(Ht,I),I=r.add(m,E);let P=r.add(b,w);return I=r.mul(I,P),P=r.add(q,lt),I=r.sub(I,P),P=r.add(x,E),S=r.add(R,w),P=r.mul(P,S),S=r.add(j,lt),P=r.sub(P,S),D=r.mul(Y,I),S=r.mul(W,lt),D=r.add(S,D),S=r.sub(j,D),D=r.add(j,D),L=r.mul(S,D),j=r.add(q,q),j=r.add(j,q),lt=r.mul(Y,lt),I=r.mul(W,I),j=r.add(j,lt),lt=r.sub(q,lt),lt=r.mul(Y,lt),I=r.add(I,lt),q=r.mul(j,I),L=r.add(L,q),q=r.mul(P,I),S=r.mul(Ht,S),S=r.sub(S,q),q=r.mul(Ht,j),D=r.mul(P,D),D=r.add(D,q),new l(S,L,D)}subtract(p){return this.add(p.negate())}is0(){return this.equals(l.ZERO)}wNAF(p){return y.wNAFCached(this,u,p,m=>{let x=r.invertBatch(m.map(E=>E.pz));return m.map((E,b)=>E.toAffine(x[b])).map(l.fromAffine)})}multiplyUnsafe(p){let m=l.ZERO;if(p===tr)return m;if(a(p),p===ve)return this;let{endo:x}=t;if(!x)return y.unsafeLadder(this,p);let{k1neg:E,k1:b,k2neg:R,k2:w}=x.splitScalar(p),S=m,L=m,D=this;for(;b>tr||w>tr;)b&ve&&(S=S.add(D)),w&ve&&(L=L.add(D)),D=D.double(),b>>=ve,w>>=ve;return E&&(S=S.negate()),R&&(L=L.negate()),L=new l(r.mul(L.px,x.beta),L.py,L.pz),S.add(L)}multiply(p){a(p);let m=p,x,E,{endo:b}=t;if(b){let{k1neg:R,k1:w,k2neg:S,k2:L}=b.splitScalar(m),{p:D,f:Y}=this.wNAF(w),{p:W,f:q}=this.wNAF(L);D=y.constTimeNegate(R,D),W=y.constTimeNegate(S,W),W=new l(r.mul(W.px,b.beta),W.py,W.pz),x=D.add(W),E=Y.add(q)}else{let{p:R,f:w}=this.wNAF(m);x=R,E=w}return l.normalizeZ([x,E])[0]}multiplyAndAddUnsafe(p,m,x){let E=l.BASE,b=(w,S)=>S===tr||S===ve||!w.equals(E)?w.multiplyUnsafe(S):w.multiply(S),R=b(this,m).add(b(p,x));return R.is0()?void 0:R}toAffine(p){let{px:m,py:x,pz:E}=this,b=this.is0();p==null&&(p=b?r.ONE:r.inv(E));let R=r.mul(m,p),w=r.mul(x,p),S=r.mul(E,p);if(b)return{x:r.ZERO,y:r.ZERO};if(!r.eql(S,r.ONE))throw new Error("invZ was invalid");return{x:R,y:w}}isTorsionFree(){let{h:p,isTorsionFree:m}=t;if(p===ve)return!0;if(m)return m(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:p,clearCofactor:m}=t;return p===ve?this:m?m(l,this):this.multiplyUnsafe(t.h)}toRawBytes(p=!0){return this.assertValidity(),n(l,this,p)}toHex(p=!0){return $e(this.toRawBytes(p))}}l.BASE=new l(t.Gx,t.Gy,r.ONE),l.ZERO=new l(r.ZERO,r.ONE,r.ZERO);let h=t.nBitLength,y=Fi(l,t.endo?Math.ceil(h/2):h);return{CURVE:t,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:s,isWithinCurveOrder:o}}function fg(e){let t=Fn(e);return Me(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function rf(e){let t=fg(e),{Fp:r,n}=t,i=r.BYTES+1,s=2*r.BYTES+1;function o(I){return tr<I&&I<r.ORDER}function a(I){return dt(I,n)}function c(I){return Mi(I,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:h}=ug({...t,toBytes(I,P,_){let N=P.toAffine(),T=r.toBytes(N.x),M=Ze;return _?M(Uint8Array.from([P.hasEvenY()?2:3]),T):M(Uint8Array.from([4]),T,r.toBytes(N.y))},fromBytes(I){let P=I.length,_=I[0],N=I.subarray(1);if(P===i&&(_===2||_===3)){let T=Qe(N);if(!o(T))throw new Error("Point is not on curve");let M=l(T),F=r.sqrt(M),G=(F&ve)===ve;return(_&1)===1!==G&&(F=r.neg(F)),{x:T,y:F}}else if(P===s&&_===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 ${P} was invalid. Expected ${i} compressed bytes or ${s} uncompressed bytes`)}}),y=I=>$e(mr(I,t.nByteLength));function d(I){let P=n>>ve;return I>P}function p(I){return d(I)?a(-I):I}let m=(I,P,_)=>Qe(I.slice(P,_));class x{constructor(P,_,N){this.r=P,this.s=_,this.recovery=N,this.assertValidity()}static fromCompact(P){let _=t.nByteLength;return P=It("compactSignature",P,_*2),new x(m(P,0,_),m(P,_,2*_))}static fromDER(P){let{r:_,s:N}=Hr.toSig(It("DER",P));return new x(_,N)}assertValidity(){if(!h(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!h(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(P){return new x(this.r,this.s,P)}recoverPublicKey(P){let{r:_,s:N,recovery:T}=this,M=L(It("msgHash",P));if(T==null||![0,1,2,3].includes(T))throw new Error("recovery id invalid");let F=T===2||T===3?_+t.n:_;if(F>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let G=T&1?"03":"02",X=u.fromHex(G+y(F)),et=c(F),ut=a(-M*et),rt=a(N*et),st=u.BASE.multiplyAndAddUnsafe(X,ut,rt);if(!st)throw new Error("point at infinify");return st.assertValidity(),st}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new x(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return Pr(this.toDERHex())}toDERHex(){return Hr.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return Pr(this.toCompactHex())}toCompactHex(){return y(this.r)+y(this.s)}}let E={isValidPrivateKey(I){try{return f(I),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let I=Uo(t.n);return gu(t.randomBytes(I),t.n)},precompute(I=8,P=u.BASE){return P._setWindowSize(I),P.multiply(BigInt(3)),P}};function b(I,P=!0){return u.fromPrivateKey(I).toRawBytes(P)}function R(I){let P=I instanceof Uint8Array,_=typeof I=="string",N=(P||_)&&I.length;return P?N===i||N===s:_?N===2*i||N===2*s:I instanceof u}function w(I,P,_=!0){if(R(I))throw new Error("first arg must be private key");if(!R(P))throw new Error("second arg must be public key");return u.fromHex(P).multiply(f(I)).toRawBytes(_)}let S=t.bits2int||function(I){let P=Qe(I),_=I.length*8-t.nBitLength;return _>0?P>>BigInt(_):P},L=t.bits2int_modN||function(I){return a(S(I))},D=Kn(t.nBitLength);function Y(I){if(typeof I!="bigint")throw new Error("bigint expected");if(!(tr<=I&&I<D))throw new Error(`bigint expected < 2^${t.nBitLength}`);return mr(I,t.nByteLength)}function W(I,P,_=q){if(["recovered","canonical"].some(Tt=>Tt in _))throw new Error("sign() legacy options not supported");let{hash:N,randomBytes:T}=t,{lowS:M,prehash:F,extraEntropy:G}=_;M==null&&(M=!0),I=It("msgHash",I),F&&(I=It("prehashed msgHash",N(I)));let X=L(I),et=f(P),ut=[Y(et),Y(X)];if(G!=null){let Tt=G===!0?T(r.BYTES):G;ut.push(It("extraEntropy",Tt))}let rt=Ze(...ut),st=X;function Lt(Tt){let zt=S(Tt);if(!h(zt))return;let Gt=c(zt),Pt=u.BASE.multiply(zt).toAffine(),Wt=a(Pt.x);if(Wt===tr)return;let Ve=a(Gt*a(st+Wt*et));if(Ve===tr)return;let Tr=(Pt.x===Wt?0:2)|Number(Pt.y&ve),In=Ve;return M&&d(Ve)&&(In=p(Ve),Tr^=1),new x(Wt,In,Tr)}return{seed:rt,k2sig:Lt}}let q={lowS:t.lowS,prehash:!1},j={lowS:t.lowS,prehash:!1};function lt(I,P,_=q){let{seed:N,k2sig:T}=W(I,P,_),M=t;return Do(M.hash.outputLen,M.nByteLength,M.hmac)(N,T)}u.BASE._setWindowSize(8);function Ht(I,P,_,N=j){let T=I;if(P=It("msgHash",P),_=It("publicKey",_),"strict"in N)throw new Error("options.strict was renamed to lowS");let{lowS:M,prehash:F}=N,G,X;try{if(typeof T=="string"||T instanceof Uint8Array)try{G=x.fromDER(T)}catch(Pt){if(!(Pt instanceof Hr.Err))throw Pt;G=x.fromCompact(T)}else if(typeof T=="object"&&typeof T.r=="bigint"&&typeof T.s=="bigint"){let{r:Pt,s:Wt}=T;G=new x(Pt,Wt)}else throw new Error("PARSE");X=u.fromHex(_)}catch(Pt){if(Pt.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(M&&G.hasHighS())return!1;F&&(P=t.hash(P));let{r:et,s:ut}=G,rt=L(P),st=c(ut),Lt=a(rt*st),Tt=a(et*st),zt=u.BASE.multiplyAndAddUnsafe(X,Lt,Tt)?.toAffine();return zt?a(zt.x)===et:!1}return{CURVE:t,getPublicKey:b,getSharedSecret:w,sign:lt,verify:Ht,ProjectivePoint:u,Signature:x,utils:E}}var Qi=class extends ln{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,su(t);let n=Mn(r);if(this.iHash=t.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?t.create().update(n).digest():n);for(let o=0;o<s.length;o++)s[o]^=54;this.iHash.update(s),this.oHash=t.create();for(let o=0;o<s.length;o++)s[o]^=106;this.oHash.update(s),s.fill(0)}update(t){return fn(this),this.iHash.update(t),this}digestInto(t){fn(this),To(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:s,blockLen:o,outputLen:a}=this;return t=t,t.finished=i,t.destroyed=s,t.blockLen=o,t.outputLen=a,t.oHash=r._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},ca=(e,t,r)=>new Qi(e,t).update(r).digest();ca.create=(e,t)=>new Qi(e,t);function lg(e){return{hash:e,hmac:(t,...r)=>ca(e,t,Di(...r)),randomBytes:hn}}function nf(e,t){let r=n=>rf({...e,...lg(n)});return Object.freeze({...r(t),create:r})}var af=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),sf=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),hg=BigInt(1),ua=BigInt(2),of=(e,t)=>(e+t/ua)/t;function dg(e){let t=af,r=BigInt(3),n=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),u=e*e*e%t,f=u*u*e%t,l=Et(f,r,t)*f%t,h=Et(l,r,t)*f%t,y=Et(h,ua,t)*u%t,d=Et(y,i,t)*y%t,p=Et(d,s,t)*d%t,m=Et(p,a,t)*p%t,x=Et(m,c,t)*m%t,E=Et(x,a,t)*p%t,b=Et(E,r,t)*f%t,R=Et(b,o,t)*d%t,w=Et(R,n,t)*u%t,S=Et(w,ua,t);if(!fa.eql(fa.sqr(S),e))throw new Error("Cannot find square root");return S}var fa=Ki(af,void 0,void 0,{sqrt:dg}),er=nf({a:BigInt(0),b:BigInt(7),Fp:fa,n:sf,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=sf,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-hg*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=of(s*e,t),c=of(-n*e,t),u=dt(e-a*r-c*i,t),f=dt(-a*n-c*s,t),l=u>o,h=f>o;if(l&&(u=t-u),h&&(f=t-f),u>o||f>o)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:l,k1:u,k2neg:h,k2:f}}}},tf),Xb=BigInt(0);var Jb=er.ProjectivePoint;function cf(){return er.utils.randomPrivateKey()}async function uf(e,t){let{digest:r}=await Ut.digest(t);try{return er.sign(r,e).toDERRawBytes()}catch(n){throw new z(String(n),"ERR_INVALID_INPUT")}}async function ff(e,t,r){try{let{digest:n}=await Ut.digest(r);return er.verify(t,n,e)}catch(n){throw new z(String(n),"ERR_INVALID_INPUT")}}function lf(e){return er.ProjectivePoint.fromHex(e).toRawBytes(!0)}function hf(e){try{er.getPublicKey(e,!0)}catch(t){throw new z(String(t),"ERR_INVALID_PRIVATE_KEY")}}function la(e){try{er.ProjectivePoint.fromHex(e)}catch(t){throw new z(String(t),"ERR_INVALID_PUBLIC_KEY")}}function df(e){try{return er.getPublicKey(e,!0)}catch(t){throw new z(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Qn=class{_key;constructor(t){la(t),this._key=t}async verify(t,r){return ff(this._key,r,t)}marshal(){return lf(this._key)}get bytes(){return Ke.encode({Type:wt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Ct(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Ut.digest(this.bytes);return t}},Zn=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r??df(t),hf(this._key),la(this._publicKey)}async sign(t){return uf(this._key,t)}get public(){return new Qn(this._publicKey)}marshal(){return this._key}get bytes(){return Fe.encode({Type:wt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Ct(this.bytes,t.bytes)}async hash(){let{bytes:t}=await Ut.digest(this.bytes);return t}async id(){let t=await this.public.hash();return pt(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return mn(this.bytes,t);throw new z(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function yg(e){return new Zn(e)}function mg(e){return new Qn(e)}async function gg(){let e=cf();return new Zn(e)}var zr={rsa:oa,ed25519:ea,secp256k1:ha};function pf(e){let t=Object.keys(zr).join(" / ");return new z(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function yf(e){let t=Ke.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case wt.RSA:return zr.rsa.unmarshalRsaPublicKey(r);case wt.Ed25519:return zr.ed25519.unmarshalEd25519PublicKey(r);case wt.Secp256k1:return zr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw pf(t.Type??"unknown")}}async function mf(e){let t=Fe.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case wt.RSA:return zr.rsa.unmarshalRsaPrivateKey(r);case wt.Ed25519:return zr.ed25519.unmarshalEd25519PrivateKey(r);case wt.Secp256k1:return zr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw pf(t.Type??"RSA")}}var vg=Math.pow(2,7),bg=Math.pow(2,14),Eg=Math.pow(2,21),da=Math.pow(2,28),pa=Math.pow(2,35),ya=Math.pow(2,42),ma=Math.pow(2,49),ct=128,jt=127;function te(e){if(e<vg)return 1;if(e<bg)return 2;if(e<Eg)return 3;if(e<da)return 4;if(e<pa)return 5;if(e<ya)return 6;if(e<ma)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function wg(e,t,r=0){switch(te(e)){case 8:t[r++]=e&255|ct,e/=128;case 7:t[r++]=e&255|ct,e/=128;case 6:t[r++]=e&255|ct,e/=128;case 5:t[r++]=e&255|ct,e/=128;case 4:t[r++]=e&255|ct,e>>>=7;case 3:t[r++]=e&255|ct,e>>>=7;case 2:t[r++]=e&255|ct,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function Sg(e,t,r=0){switch(te(e)){case 8:t.set(r++,e&255|ct),e/=128;case 7:t.set(r++,e&255|ct),e/=128;case 6:t.set(r++,e&255|ct),e/=128;case 5:t.set(r++,e&255|ct),e/=128;case 4:t.set(r++,e&255|ct),e>>>=7;case 3:t.set(r++,e&255|ct),e>>>=7;case 2:t.set(r++,e&255|ct),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function Ag(e,t){let r=e[t],n=0;if(n+=r&jt,r<ct||(r=e[t+1],n+=(r&jt)<<7,r<ct)||(r=e[t+2],n+=(r&jt)<<14,r<ct)||(r=e[t+3],n+=(r&jt)<<21,r<ct)||(r=e[t+4],n+=(r&jt)*da,r<ct)||(r=e[t+5],n+=(r&jt)*pa,r<ct)||(r=e[t+6],n+=(r&jt)*ya,r<ct)||(r=e[t+7],n+=(r&jt)*ma,r<ct))return n;throw new RangeError("Could not decode varint")}function Tg(e,t){let r=e.get(t),n=0;if(n+=r&jt,r<ct||(r=e.get(t+1),n+=(r&jt)<<7,r<ct)||(r=e.get(t+2),n+=(r&jt)<<14,r<ct)||(r=e.get(t+3),n+=(r&jt)<<21,r<ct)||(r=e.get(t+4),n+=(r&jt)*da,r<ct)||(r=e.get(t+5),n+=(r&jt)*pa,r<ct)||(r=e.get(t+6),n+=(r&jt)*ya,r<ct)||(r=e.get(t+7),n+=(r&jt)*ma,r<ct))return n;throw new RangeError("Could not decode varint")}function be(e,t,r=0){return t==null&&(t=$t(te(e))),t instanceof Uint8Array?wg(e,t,r):Sg(e,t,r)}function _e(e,t=0){return e instanceof Uint8Array?Ag(e,t):Tg(e,t)}var xf=Symbol.for("@achingbrain/uint8arraylist");function gf(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function Zi(e){return!!e?.[xf]}var ue=class e{constructor(...t){Object.defineProperty(this,xf,{value:!0}),this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Zi(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(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Zi(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(t){let r=gf(this.bufs,t);return r.buf[r.index]}set(t,r){let n=gf(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(Zi(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:i}=this._subList(t,r);return Mt(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:Mt(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),s=new e;return s.length=i,s.bufs=n,s}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===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,t>=c)continue;let u=t>=a&&t<c,f=r>a&&r<=c;if(u&&f){if(t===a&&r===c){n.push(o);break}let l=t-a;n.push(o.subarray(l,l+(r-t)));break}if(u){if(t===0){n.push(o);continue}n.push(o.subarray(t-a));continue}if(f){if(r===c){n.push(o);break}n.push(o.subarray(0,r-a));break}n.push(o)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!Zi(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.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 l=0;l<s;l++)o[l]=-1;for(let l=0;l<i;l++)o[n[l]]=l;let a=o,c=this.byteLength-n.byteLength,u=n.byteLength-1,f;for(let l=r;l<=c;l+=f){f=0;for(let h=u;h>=0;h--){let y=this.get(l+h);if(n[h]!==y){f=Math.max(1,h-a[y]);break}}if(f===0)return l}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=$t(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=Ye(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=Ye(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=Ye(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=$t(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=Ye(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=Ye(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=Ye(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=Ye(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=Ye(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof e)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Ct(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new e;return n.bufs=t,r==null&&(r=t.reduce((i,s)=>i+s.byteLength,0)),n.length=r,n}};var vf={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var Xn;(function(e){let t;e.codec=()=>(t==null&&(t=Jt((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})),t),e.encode=r=>Xt(r,e.codec()),e.decode=r=>Zt(r,e.codec())})(Xn||(Xn={}));var Jn=class e{static createFromProtobuf=async t=>{let r=Xn.decode(t),n=await K0(r.publicKey);return new e({peerId:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})};static seal=async(t,r)=>{if(r.privateKey==null)throw new Error("Missing private key");let n=t.domain,i=t.codec,s=t.marshal(),o=bf(n,i,s),c=await(await mf(r.privateKey)).sign(o.subarray());return new e({peerId:r,payloadType:i,payload:s,signature:c})};static openAndCertify=async(t,r)=>{let n=await e.createFromProtobuf(t);if(!await n.validate(r))throw new z("envelope signature is not valid for the given domain",vf.ERR_SIGNATURE_NOT_VALID);return n};peerId;payloadType;payload;signature;marshaled;constructor(t){let{peerId:r,payloadType:n,payload:i,signature:s}=t;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=Xn.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return Ct(this.marshal(),t.marshal())}async validate(t){let r=bf(t,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return yf(this.peerId.publicKey).verify(r.subarray(),this.signature)}},bf=(e,t,r)=>{let n=Nt(e),i=be(n.byteLength),s=be(t.length),o=be(r.length);return new ue(i,n,s,t,o,r)};var Xi=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();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(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,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 f=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let h=Number.parseInt(l,t);if(!Number.isNaN(h))return h});if(f===void 0)break;if(s*=t,s+=f,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 t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=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]=t(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]=t(s.subarray(0,o));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Ef=45,Bg=15,En=new Xi;function ga(e){if(!(e.length>Bg))return En.new(e).parseWith(()=>En.readIPv4Addr())}function xa(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Ef))return En.new(e).parseWith(()=>En.readIPv6Addr())}function Ji(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Ef))return En.new(e).parseWith(()=>En.readIPAddr())}var WE=parseInt("0xFFFF",16),YE=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Af(e){return!!ga(e)}function Tf(e){return!!xa(e)}function ji(e){return!!Ji(e)}var Bf=Af,Lg=Tf,va=function(e){let t=0;if(e=e.toString().trim(),Bf(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(Lg(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let s=Bf(r[n]),o;s&&(o=va(r[n]),r[n]=pt(o.slice(0,2),"base16")),o!=null&&++n<8&&r.splice(n,0,pt(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(t+16);for(n=0;n<r.length;n++){let s=parseInt(r[n],16);i[t++]=s>>8&255,i[t++]=s&255}return i}throw new Error("invalid ip address")},If=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let i=[];for(let s=0;s<r;s++)i.push(e[t+s]);return i.join(".")}if(r===16){let i=[];for(let s=0;s<r;s+=2)i.push(n.getUint16(t+s).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var wn={},ba={},Ng=[[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"]];Ng.forEach(e=>{let t=Pg(...e);ba[t.code]=t,wn[t.name]=t});function Pg(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function yt(e){if(typeof e=="number"){if(ba[e]!=null)return ba[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(wn[e]!=null)return wn[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var Rw=yt("ip4"),Lw=yt("ip6"),Dw=yt("ipcidr");function wa(e,t){switch(yt(e).code){case 4:case 41:return Ug(t);case 42:return Rf(t);case 6:case 273:case 33:case 132:return Df(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Rf(t);case 421:return Fg(t);case 444:return Lf(t);case 445:return Lf(t);case 466:return Kg(t);default:return pt(t,"base16")}}function Sa(e,t){switch(yt(e).code){case 4:return Cf(t);case 41:return Cf(t);case 42:return _f(t);case 6:case 273:case 33:case 132:return Aa(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return _f(t);case 421:return Og(t);case 444:return Vg(t);case 445:return qg(t);case 466:return Mg(t);default:return Nt(t,"base16")}}var Ea=Object.values(cr).map(e=>e.decoder),kg=function(){let e=Ea[0].or(Ea[1]);return Ea.slice(2).forEach(t=>e=e.or(t)),e}();function Cf(e){if(!ji(e))throw new Error("invalid ip address");return va(e)}function Ug(e){let t=If(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!ji(t))throw new Error("invalid ip address");return t}function Aa(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function Df(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function _f(e){let t=Nt(e),r=Uint8Array.from(be(t.length));return Mt([r,t],r.length+t.length)}function Rf(e){let t=_e(e);if(e=e.slice(te(t)),e.length!==t)throw new Error("inconsistent lengths");return pt(e)}function Og(e){let t;e[0]==="Q"||e[0]==="1"?t=Br(kt.decode(`z${e}`)).bytes:t=fe.parse(e).multihash.bytes;let r=Uint8Array.from(be(t.length));return Mt([r,t],r.length+t.length)}function Mg(e){let t=kg.decode(e),r=Uint8Array.from(be(t.length));return Mt([r,t],r.length+t.length)}function Kg(e){let t=_e(e),r=e.slice(te(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+pt(r,"base64url")}function Fg(e){let t=_e(e),r=e.slice(te(t));if(r.length!==t)throw new Error("inconsistent lengths");return pt(r,"base58btc")}function Vg(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=He.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Aa(n);return Mt([r,i],r.length+i.length)}function qg(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=He.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Aa(n);return Mt([r,i],r.length+i.length)}function Lf(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=pt(t,"base32"),i=Df(r);return`${n}:${i}`}function Nf(e){e=Ta(e);let t=[],r=[],n=null,i=e.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=yt(o);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(s++,s>=i.length)throw kf("invalid address: "+e);if(a.path===!0){n=Ta(i.slice(s).join("/")),t.push([a.code,Sa(a.code,n)]),r.push([a.code,n]);break}let c=Sa(a.code,i[s]);t.push([a.code,c]),r.push([a.code,wa(a.code,c)])}return{string:Pf(r),bytes:Ia(t),tuples:t,stringTuples:r,path:n}}function Ba(e){let t=[],r=[],n=null,i=0;for(;i<e.length;){let s=_e(e,i),o=te(s),a=yt(s),c=Hg(a,e.slice(i+o));if(c===0){t.push([s]),r.push([s]),i+=o;continue}let u=e.slice(i+o,i+o+c);if(i+=c+o,i>e.length)throw kf("Invalid address Uint8Array: "+pt(e,"base16"));t.push([s,u]);let f=wa(s,u);if(r.push([s,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(e),string:Pf(r),tuples:t,stringTuples:r,path:n}}function Pf(e){let t=[];return e.map(r=>{let n=yt(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),Ta(t.join("/"))}function Ia(e){return Mt(e.map(t=>{let r=yt(t[0]),n=Uint8Array.from(be(r.code));return t.length>1&&t[1]!=null&&(n=Mt([n,t[1]])),n}))}function Hg(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=_e(t instanceof Uint8Array?t:Uint8Array.from(t));return r+te(r)}}function Ta(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function kf(e){return new Error("Error parsing address: "+e)}var zg=Symbol.for("nodejs.util.inspect.custom"),Ca=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Gg=[yt("dns").code,yt("dns4").code,yt("dns6").code,yt("dnsaddr").code],ts=class e{bytes;#t;#e;#r;#n;[Ca]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=Ba(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=Nf(t)}else if(Of(t))r=Ba(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#t=r.string,this.#e=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,r,n,i,s="",o=yt("tcp"),a=yt("udp"),c=yt("ip4"),u=yt("ip6"),f=yt("dns6"),l=yt("ip6zone");for(let[y,d]of this.stringTuples())y===l.code&&(s=`%${d??""}`),Gg.includes(y)&&(r=o.name,i=443,n=`${d??""}${s}`,t=y===f.code?6:4),(y===o.code||y===a.code)&&(r=yt(y).name,i=parseInt(d??"")),(y===c.code||y===u.code)&&(r=yt(y).name,n=`${d??""}${s}`,t=y===u.code?6:4);if(t==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:t,host:n,transport:r,port:i}}protos(){return this.#e.map(([t])=>Object.assign({},yt(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>yt(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new e(t),new e(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new e(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new e(Ia(r.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,i])=>{n===wn.p2p.code&&t.push([n,i]),n===wn["p2p-circuit"].code&&(t=[])});let r=t.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?pt(kt.decode(`z${n}`),"base58btc"):pt(fe.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return Ct(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=Uf.get(r.name);if(n==null)throw new z(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(s=>new e(s))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[zg](){return`Multiaddr(${this.#t})`}};var Uf=new Map;function Of(e){return!!e?.[Ca]}function ee(e){return new ts(e)}var Wg=Uint8Array.from([3,1]);var _a;(function(e){let t;(function(n){let i;n.codec=()=>(i==null&&(i=Jt((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=>Xt(s,n.codec()),n.decode=s=>Zt(s,n.codec())})(t=e.AddressInfo||(e.AddressInfo={}));let r;e.codec=()=>(r==null&&(r=Jt((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),e.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(e.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return s})),r),e.encode=n=>Xt(n,e.codec()),e.decode=n=>Zt(n,e.codec())})(_a||(_a={}));function br(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var es=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=r??"ABORT_ERR"}};async function Mf(e,t,r){if(t==null)return e;if(t.aborted)return Promise.reject(new es(r?.errorMessage,r?.errorCode));let n,i=new es(r?.errorMessage,r?.errorCode);try{return await Promise.race([e,new Promise((s,o)=>{n=()=>{o(i)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var Ra=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=br(),this.needNext.resolve(),this.haveNext=br()}[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 t=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=br(),t}async throw(t){return this.ended=!0,t!=null&&this.haveNext.reject(t),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return await this._push(void 0),t}async push(t,r){await this._push(t,r)}async end(t,r){t!=null?await this.throw(t):await this._push(void 0,r)}async _push(t,r){if(t!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");this.nextResult!=null&&await this.needNext.promise,t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=br(),await Mf(this.needNext.promise,r?.signal,r)}};function Kf(){return new Ra}var rs=class extends Error{code;constructor(t,r){super(t),this.code=r}},La=class extends rs{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function Ff(e,t){let r=Kf();e.sink(r).catch(async o=>{await r.end(o)}),e.sink=async o=>{for await(let a of o)await r.push(a);await r.end()};let n=e.source;e.source[Symbol.iterator]!=null?n=e.source[Symbol.iterator]():e.source[Symbol.asyncIterator]!=null&&(n=e.source[Symbol.asyncIterator]());let i=new ue;return{read:async(o,a)=>{a?.signal?.throwIfAborted();let c,u=new Promise((f,l)=>{c=()=>{l(new La("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(o==null){let{done:l,value:h}=await Promise.race([n.next(),u]);return l===!0?new ue:h}for(;i.byteLength<o;){let{value:l,done:h}=await Promise.race([n.next(),u]);if(h===!0)throw new rs("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(l)}let f=i.sublist(0,o);return i.consume(o),f}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=e.source;e.source=async function*(){t?.yieldBytes===!1?yield i:yield*i,yield*o}()}return e}}}function ns(e){return e[Symbol.asyncIterator]!=null}var is=e=>{let t=te(e),r=$t(t);return be(e,r),is.bytes=t,r};is.bytes=0;function jn(e,t){t=t??{};let r=t.lengthEncoder??is;function*n(i){let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return ns(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}jn.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??is;return new ue(r(e.byteLength),e)};var Sn=Yt(Hf(),1);var $g=8,Qg=1024*1024*4,Gr;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(Gr||(Gr={}));var Na=e=>{let t=_e(e);return Na.bytes=te(t),t};Na.bytes=0;function Da(e,t){let r=new ue,n=Gr.LENGTH,i=-1,s=t?.lengthDecoder??Na,o=t?.maxLengthLength??$g,a=t?.maxDataLength??Qg;function*c(){for(;r.byteLength>0;){if(n===Gr.LENGTH)try{if(i=s(r),i<0)throw(0,Sn.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,Sn.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=s.bytes;r.consume(u),t?.onLength!=null&&t.onLength(i),n=Gr.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>o)throw(0,Sn.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===Gr.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(u),yield u,n=Gr.LENGTH}}}return ns(e)?async function*(){for await(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,Sn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,Sn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Da.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:s,value:o}=await e.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 Da(n,{...t??{},onLength:s=>{r=s}})};var ss=class extends Error{code;constructor(t,r){super(t),this.code=r}},zf=e=>_e(e);zf.bytes=0;function Gf(e,t={}){let r=Ff(e,t);return t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=te(t.maxDataLength)),{read:async i=>{let s=-1,o=new ue,a=t?.lengthDecoder??zf;for(;;){o.append(await r.read(1,i));try{s=a(o)}catch(c){if(c instanceof RangeError)continue;throw c}if(t?.maxLengthLength!=null&&o.byteLength>t.maxLengthLength)throw new ss("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(s>-1)break}if(t?.maxDataLength!=null&&s>t.maxDataLength)throw new ss("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(s,i)},write:async(i,s)=>{await r.write(jn.single(i,t),s)},writeV:async(i,s)=>{let o=new ue(...i.map(a=>jn.single(a,t)));await r.write(o,s)},unwrap:()=>r.unwrap()}}function Er(e,t){let r=Gf(e,t),n={read:async(i,s)=>{let o=await r.read(s);return i.decode(o)},write:async(i,s,o)=>{await r.write(s.encode(i),o)},writeV:async(i,s,o)=>{await r.writeV(i.map(a=>s.encode(a)),o)},pb:i=>({read:async s=>n.read(i,s),write:async(s,o)=>n.write(s,i,o),writeV:async(s,o)=>n.writeV(s,i,o),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}var os="/libp2p/relay";var Wf="circuit-relay-source",Yf="circuit-relay-relay";var $f=BigInt(131072),Ee="/libp2p/circuit/relay/0.2.0/hop",Wr="/libp2p/circuit/relay/0.2.0/stop",Qf=30*1e3,Zf=30*1e3,ti=300,Xf="ERR_NO_ROUTERS_AVAILABLE",Pa="ERR_RELAYED_DIAL",Jf="ERR_HOP_REQUEST_FAILED",as="ERR_TRANSFER_LIMIT_EXCEEDED";var ft;(function(e){let t;(function(i){i.RESERVE="RESERVE",i.CONNECT="CONNECT",i.STATUS="STATUS"})(t=e.Type||(e.Type={}));let r;(function(i){i[i.RESERVE=0]="RESERVE",i[i.CONNECT=1]="CONNECT",i[i.STATUS=2]="STATUS"})(r||(r={})),function(i){i.codec=()=>Kr(r)}(t=e.Type||(e.Type={}));let n;e.codec=()=>(n==null&&(n=Jt((i,s,o={})=>{o.lengthDelimited!==!1&&s.fork(),i.type!=null&&(s.uint32(8),e.Type.codec().encode(i.type,s)),i.peer!=null&&(s.uint32(18),An.codec().encode(i.peer,s)),i.reservation!=null&&(s.uint32(26),cs.codec().encode(i.reservation,s)),i.limit!=null&&(s.uint32(34),Tn.codec().encode(i.limit,s)),i.status!=null&&(s.uint32(40),tt.codec().encode(i.status,s)),o.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let o={},a=s==null?i.len:i.pos+s;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:o.type=e.Type.codec().decode(i);break;case 2:o.peer=An.codec().decode(i,i.uint32());break;case 3:o.reservation=cs.codec().decode(i,i.uint32());break;case 4:o.limit=Tn.codec().decode(i,i.uint32());break;case 5:o.status=tt.codec().decode(i);break;default:i.skipType(c&7);break}}return o})),n),e.encode=i=>Xt(i,e.codec()),e.decode=i=>Zt(i,e.codec())})(ft||(ft={}));var de;(function(e){let t;(function(i){i.CONNECT="CONNECT",i.STATUS="STATUS"})(t=e.Type||(e.Type={}));let r;(function(i){i[i.CONNECT=0]="CONNECT",i[i.STATUS=1]="STATUS"})(r||(r={})),function(i){i.codec=()=>Kr(r)}(t=e.Type||(e.Type={}));let n;e.codec=()=>(n==null&&(n=Jt((i,s,o={})=>{o.lengthDelimited!==!1&&s.fork(),i.type!=null&&(s.uint32(8),e.Type.codec().encode(i.type,s)),i.peer!=null&&(s.uint32(18),An.codec().encode(i.peer,s)),i.limit!=null&&(s.uint32(26),Tn.codec().encode(i.limit,s)),i.status!=null&&(s.uint32(32),tt.codec().encode(i.status,s)),o.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let o={},a=s==null?i.len:i.pos+s;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:o.type=e.Type.codec().decode(i);break;case 2:o.peer=An.codec().decode(i,i.uint32());break;case 3:o.limit=Tn.codec().decode(i,i.uint32());break;case 4:o.status=tt.codec().decode(i);break;default:i.skipType(c&7);break}}return o})),n),e.encode=i=>Xt(i,e.codec()),e.decode=i=>Zt(i,e.codec())})(de||(de={}));var An;(function(e){let t;e.codec=()=>(t==null&&(t=Jt((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.id!=null&&r.id.byteLength>0&&(n.uint32(10),n.bytes(r.id)),r.addrs!=null)for(let s of r.addrs)n.uint32(18),n.bytes(s);i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={id:new Uint8Array(0),addrs:[]},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.addrs.push(r.bytes());break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>Xt(r,e.codec()),e.decode=r=>Zt(r,e.codec())})(An||(An={}));var cs;(function(e){let t;e.codec=()=>(t==null&&(t=Jt((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.expire!=null&&r.expire!==0n&&(n.uint32(8),n.uint64(r.expire)),r.addrs!=null)for(let s of r.addrs)n.uint32(18),n.bytes(s);r.voucher!=null&&(n.uint32(26),n.bytes(r.voucher)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={expire:0n,addrs:[]},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.expire=r.uint64();break;case 2:i.addrs.push(r.bytes());break;case 3:i.voucher=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>Xt(r,e.codec()),e.decode=r=>Zt(r,e.codec())})(cs||(cs={}));var Tn;(function(e){let t;e.codec=()=>(t==null&&(t=Jt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.duration!=null&&(n.uint32(8),n.uint32(r.duration)),r.data!=null&&(n.uint32(16),n.uint64(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.duration=r.uint32();break;case 2:i.data=r.uint64();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>Xt(r,e.codec()),e.decode=r=>Zt(r,e.codec())})(Tn||(Tn={}));var tt;(function(e){e.UNUSED="UNUSED",e.OK="OK",e.RESERVATION_REFUSED="RESERVATION_REFUSED",e.RESOURCE_LIMIT_EXCEEDED="RESOURCE_LIMIT_EXCEEDED",e.PERMISSION_DENIED="PERMISSION_DENIED",e.CONNECTION_FAILED="CONNECTION_FAILED",e.NO_RESERVATION="NO_RESERVATION",e.MALFORMED_MESSAGE="MALFORMED_MESSAGE",e.UNEXPECTED_MESSAGE="UNEXPECTED_MESSAGE"})(tt||(tt={}));var ka;(function(e){e[e.UNUSED=0]="UNUSED",e[e.OK=100]="OK",e[e.RESERVATION_REFUSED=200]="RESERVATION_REFUSED",e[e.RESOURCE_LIMIT_EXCEEDED=201]="RESOURCE_LIMIT_EXCEEDED",e[e.PERMISSION_DENIED=202]="PERMISSION_DENIED",e[e.CONNECTION_FAILED=203]="CONNECTION_FAILED",e[e.NO_RESERVATION=204]="NO_RESERVATION",e[e.MALFORMED_MESSAGE=400]="MALFORMED_MESSAGE",e[e.UNEXPECTED_MESSAGE=401]="UNEXPECTED_MESSAGE"})(ka||(ka={}));(function(e){e.codec=()=>Kr(ka)})(tt||(tt={}));var us;(function(e){let t;e.codec=()=>(t==null&&(t=Jt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.relay!=null&&r.relay.byteLength>0&&(n.uint32(10),n.bytes(r.relay)),r.peer!=null&&r.peer.byteLength>0&&(n.uint32(18),n.bytes(r.peer)),r.expiration!=null&&r.expiration!==0n&&(n.uint32(24),n.uint64(r.expiration)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={relay:new Uint8Array(0),peer:new Uint8Array(0),expiration:0n},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.relay=r.bytes();break;case 2:i.peer=r.bytes();break;case 3:i.expiration=r.uint64();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>Xt(r,e.codec()),e.decode=r=>Zt(r,e.codec())})(us||(us={}));function jf(e){let t=new globalThis.AbortController;function r(){t.abort();for(let s of e)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}for(let s of e){if(s?.aborted===!0){r();break}s?.addEventListener!=null&&s.addEventListener("abort",r)}function n(){for(let s of e)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}let i=t.signal;return i.clear=n,i}async function*tl(e,t,r){let n=t.remaining;for await(let i of e){let s=BigInt(i.byteLength);if(t.remaining-s<0){let o=Number(t.remaining);t.remaining=0n;try{o!==0&&(yield i.subarray(0,o))}catch(a){r.log.error(a)}throw new z(`data limit of ${n} bytes exceeded`,as)}t.remaining-=s,yield i}}function el(e,t,r,n,i){function s(l){e.abort(l),t.abort(l)}let o=[r];n?.duration!=null&&o.push(AbortSignal.timeout(n.duration));let a=jf(o),c=!1,u=!1,f;n?.data!=null&&(f={remaining:n.data}),queueMicrotask(()=>{let l=()=>{t.abort(new z(`duration limit of ${n?.duration} ms exceeded`,as))};a.addEventListener("abort",l,{once:!0}),t.sink(f==null?e.source:tl(e.source,f,i)).catch(h=>{i.log.error("error while relaying streams src -> dst",h),s(h)}).finally(()=>{c=!0,u&&(a.removeEventListener("abort",l),a.clear())})}),queueMicrotask(()=>{let l=()=>{e.abort(new z(`duration limit of ${n?.duration} ms exceeded`,as))};a.addEventListener("abort",l,{once:!0}),e.sink(f==null?t.source:tl(t.source,f,i)).catch(h=>{i.log.error("error while relaying streams dst -> src",h),s(h)}).finally(()=>{u=!0,c&&(a.removeEventListener("abort",l),a.clear())})})}async function fs(e){let t=new TextEncoder().encode(e),r=await Ut.digest(t);return fe.createV0(r)}function Ua(e){let t=e*BigInt(1e3),r=new Date().getTime();return Number(t-BigInt(r))}var cl=Yt(ol(),1);var Jg=Object.prototype.toString,jg=e=>Jg.call(e)==="[object Error]",t1=new Set(["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Load failed","Network request failed","fetch failed"]);function Oa(e){return e&&jg(e)&&e.name==="TypeError"&&typeof e.message=="string"?e.message==="Load failed"?e.stack===void 0:t1.has(e.message):!1}var Ma=class extends Error{constructor(t){super(),t instanceof Error?(this.originalError=t,{message:t}=t):(this.originalError=new Error(t),this.originalError.stack=this.stack),this.name="AbortError",this.message=t}},al=(e,t,r)=>{let n=r.retries-(t-1);return e.attemptNumber=t,e.retriesLeft=n,e};async function Ka(e,t){return new Promise((r,n)=>{t={onFailedAttempt(){},retries:10,...t};let i=cl.default.operation(t),s=()=>{i.stop(),n(t.signal?.reason)};t.signal&&!t.signal.aborted&&t.signal.addEventListener("abort",s,{once:!0});let o=()=>{t.signal?.removeEventListener("abort",s),i.stop()};i.attempt(async a=>{try{let c=await e(a);o(),r(c)}catch(c){try{if(!(c instanceof Error))throw new TypeError(`Non-error was thrown: "${c}". You should only throw errors.`);if(c instanceof Ma)throw c.originalError;if(c instanceof TypeError&&!Oa(c))throw c;if(await t.onFailedAttempt(al(c,a,t)),!i.retry(c))throw i.mainError()}catch(u){al(u,a,t),o(),n(u)}}})})}var ls=class extends me{contentRouting;timeout;started;bootDelay;log;constructor(t,r){super(),this.log=t.logger.forComponent("libp2p:circuit-relay:advert-service"),this.contentRouting=t.contentRouting,this.bootDelay=r?.bootDelay??Zf,this.started=!1}isStarted(){return this.started}start(){this.started||(this.timeout=setTimeout(()=>{this._advertiseService().catch(t=>{this.log.error("could not advertise service",t)})},this.bootDelay),this.started=!0)}stop(){try{clearTimeout(this.timeout)}catch{}this.started=!1}async _advertiseService(){await Ka(async()=>{try{let t=await fs(os);await this.contentRouting.provide(t),this.safeDispatchEvent("advert:success",{detail:void 0})}catch(t){if(this.safeDispatchEvent("advert:error",{detail:t}),t.code===Xf){this.log.error("a content router, such as a DHT, must be provided in order to advertise the relay service",t),this.stop();return}throw this.log.error("could not advertise service",t),t}})}};function rr(e,t){let r={[Symbol.iterator]:()=>r,next:()=>{let n=e.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:t(i)}}};return r}var nr=class{map;constructor(t){if(this.map=new Map,t!=null)for(let[r,n]of t.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){this.map.delete(t.toString())}entries(){return rr(this.map.entries(),t=>[St(t[0]),t[1]])}forEach(t){this.map.forEach((r,n)=>{t(r,St(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,r){this.map.set(t.toString(),r)}keys(){return rr(this.map.keys(),t=>St(t))}values(){return this.map.values()}get size(){return this.map.size}};var Fa=class e{set;constructor(t){if(this.set=new Set,t!=null)for(let r of t)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return rr(this.set.entries(),t=>{let r=St(t[0]);return[r,r]})}forEach(t){this.set.forEach(r=>{let n=St(r);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return rr(this.set.values(),t=>St(t))}intersection(t){let r=new e;for(let n of t)this.has(n)&&r.add(n);return r}difference(t){let r=new e;for(let n of this)t.has(n)||r.add(n);return r}union(t){let r=new e;for(let n of t)r.add(n);for(let n of this)r.add(n);return r}};var Va=class e{list;constructor(t){if(this.list=[],t!=null)for(let r of t)this.list.push(r.toString())}[Symbol.iterator](){return rr(this.list.entries(),t=>St(t[1]))}concat(t){let r=new e(this);for(let n of t)r.push(n);return r}entries(){return rr(this.list.entries(),t=>[t[0],St(t[1])])}every(t){return this.list.every((r,n)=>t(St(r),n,this))}filter(t){let r=new e;return this.list.forEach((n,i)=>{let s=St(n);t(s,i,this)&&r.push(s)}),r}find(t){let r=this.list.find((n,i)=>t(St(n),i,this));if(r!=null)return St(r)}findIndex(t){return this.list.findIndex((r,n)=>t(St(r),n,this))}forEach(t){this.list.forEach((r,n)=>{t(St(r),n,this)})}includes(t){return this.list.includes(t.toString())}indexOf(t){return this.list.indexOf(t.toString())}pop(){let t=this.list.pop();if(t!=null)return St(t)}push(...t){for(let r of t)this.list.push(r.toString())}shift(){let t=this.list.shift();if(t!=null)return St(t)}unshift(...t){let r=this.list.length;for(let n=t.length-1;n>-1;n--)r=this.list.unshift(t[n].toString());return r}get length(){return this.list.length}};var hs=class{reservations=new nr;_started=!1;interval;maxReservations;reservationClearInterval;applyDefaultLimit;reservationTtl;defaultDurationLimit;defaultDataLimit;constructor(t={}){this.maxReservations=t.maxReservations??15,this.reservationClearInterval=t.reservationClearInterval??3e5,this.applyDefaultLimit=t.applyDefaultLimit!==!1,this.reservationTtl=t.reservationTtl??72e5,this.defaultDurationLimit=t.defaultDurationLimit??12e4,this.defaultDataLimit=t.defaultDataLimit??$f}isStarted(){return this._started}start(){this._started||(this._started=!0,this.interval=setInterval(()=>{let t=new Date().getTime();this.reservations.forEach((r,n)=>{r.expire.getTime()<t&&this.reservations.delete(n)})},this.reservationClearInterval))}stop(){clearInterval(this.interval)}reserve(t,r,n){if(this.reservations.size>=this.maxReservations&&!this.reservations.has(t))return{status:tt.RESERVATION_REFUSED};let i=new Date(Date.now()+this.reservationTtl),s;return this.applyDefaultLimit&&(s=n??{data:this.defaultDataLimit,duration:this.defaultDurationLimit}),this.reservations.set(t,{addr:r,expire:i,limit:s}),{status:tt.OK,expire:Math.round(i.getTime()/1e3)}}removeReservation(t){this.reservations.delete(t)}hasReservation(t){return this.reservations.has(t)}get(t){return this.reservations.get(t)}};var ds=class e{domain="libp2p-relay-rsvp";codec=new Uint8Array([3,2]);relay;peer;expiration;constructor({relay:t,peer:r,expiration:n}){this.relay=t,this.peer=r,this.expiration=n}marshal(){return us.encode({relay:this.relay.toBytes(),peer:this.peer.toBytes(),expiration:BigInt(this.expiration)})}equals(t){return!(!(t instanceof e)||!this.peer.equals(t.peer)||!this.relay.equals(t.relay)||this.expiration!==t.expiration)}};var ul=e=>e.protoCodes().includes(290),s1={maxOutboundStopStreams:ti},qa=class extends me{registrar;peerStore;addressManager;peerId;connectionManager;connectionGater;reservationStore;advertService;started;hopTimeout;shutdownController;maxInboundHopStreams;maxOutboundHopStreams;maxOutboundStopStreams;log;constructor(t,r={}){super(),this.log=t.logger.forComponent("libp2p:circuit-relay:server"),this.registrar=t.registrar,this.peerStore=t.peerStore,this.addressManager=t.addressManager,this.peerId=t.peerId,this.connectionManager=t.connectionManager,this.connectionGater=t.connectionGater,this.started=!1,this.hopTimeout=r?.hopTimeout??Qf,this.shutdownController=new AbortController,this.maxInboundHopStreams=r.maxInboundHopStreams,this.maxOutboundHopStreams=r.maxOutboundHopStreams,this.maxOutboundStopStreams=r.maxOutboundStopStreams??s1.maxOutboundStopStreams,m0(1/0,this.shutdownController.signal),r.advertise!=null&&r.advertise!==!1&&(this.advertService=new ls(t,r.advertise===!0?void 0:r.advertise),this.advertService.addEventListener("advert:success",()=>{this.safeDispatchEvent("relay:advert:success",{})}),this.advertService.addEventListener("advert:error",n=>{this.safeDispatchEvent("relay:advert:error",{detail:n.detail})})),this.reservationStore=new hs(r.reservations)}isStarted(){return this.started}async start(){this.started||(this.advertService?.start(),await this.registrar.handle(Ee,t=>{this.onHop(t).catch(r=>{this.log.error(r)})},{maxInboundStreams:this.maxInboundHopStreams,maxOutboundStreams:this.maxOutboundHopStreams,runOnTransientConnection:!0}),this.reservationStore.start(),this.started=!0)}async stop(){this.advertService?.stop(),this.reservationStore.stop(),this.shutdownController.abort(),await this.registrar.unhandle(Ee),this.started=!1}async onHop({connection:t,stream:r}){this.log("received circuit v2 hop protocol stream from %p",t.remotePeer);let n=br(),i=setTimeout(()=>{n.reject("timed out")},this.hopTimeout),s=Er(r);try{let o=await Promise.race([s.pb(ft).read(),n.promise]);if(o?.type==null)throw new Error("request was invalid, could not read from stream");this.log("received",o.type),await Promise.race([this.handleHopProtocol({connection:t,stream:s,request:o}),n.promise])}catch(o){this.log.error("error while handling hop",o),await s.pb(ft).write({type:ft.Type.STATUS,status:tt.MALFORMED_MESSAGE}),r.abort(o)}finally{clearTimeout(i)}}async handleHopProtocol({stream:t,request:r,connection:n}){switch(this.log("received hop message"),r.type){case ft.Type.RESERVE:await this.handleReserve({stream:t,request:r,connection:n});break;case ft.Type.CONNECT:await this.handleConnect({stream:t,request:r,connection:n});break;default:this.log.error("invalid hop request type %s via peer %p",r.type,n.remotePeer),await t.pb(ft).write({type:ft.Type.STATUS,status:tt.UNEXPECTED_MESSAGE})}}async handleReserve({stream:t,request:r,connection:n}){let i=t.pb(ft);if(this.log("hop reserve request from %p",n.remotePeer),ul(n.remoteAddr)){this.log.error("relay reservation over circuit connection denied for peer: %p",n.remotePeer),await i.write({type:ft.Type.STATUS,status:tt.PERMISSION_DENIED});return}if(await this.connectionGater.denyInboundRelayReservation?.(n.remotePeer)===!0){this.log.error("reservation for %p denied by connection gater",n.remotePeer),await i.write({type:ft.Type.STATUS,status:tt.PERMISSION_DENIED});return}let s=this.reservationStore.reserve(n.remotePeer,n.remoteAddr);if(s.status!==tt.OK){await i.write({type:ft.Type.STATUS,status:s.status});return}try{if(s.expire!=null){let o=s.expire*1e3-Date.now();await this.peerStore.merge(n.remotePeer,{tags:{[Wf]:{value:1,ttl:o}}})}await i.write({type:ft.Type.STATUS,status:tt.OK,reservation:await this.makeReservation(n.remotePeer,BigInt(s.expire??0)),limit:this.reservationStore.get(n.remotePeer)?.limit}),this.log("sent confirmation response to %s",n.remotePeer)}catch(o){this.log.error("failed to send confirmation response to %p",n.remotePeer,o),this.reservationStore.removeReservation(n.remotePeer)}}async makeReservation(t,r){let n=[];for(let s of this.addressManager.getAddresses())s.toString().includes("/p2p-circuit")||n.push(s.bytes);let i=await Jn.seal(new ds({peer:t,relay:this.peerId,expiration:Number(r)}),this.peerId);return{addrs:n,expire:r,voucher:i.marshal()}}async handleConnect({stream:t,request:r,connection:n}){let i=t.pb(ft);if(ul(n.remoteAddr)){this.log.error("relay reservation over circuit connection denied for peer: %p",n.remotePeer),await i.write({type:ft.Type.STATUS,status:tt.PERMISSION_DENIED});return}this.log("hop connect request from %p",n.remotePeer);let s;try{if(r.peer==null)throw this.log.error("no peer info in hop connect request"),new Error("no peer info in request");r.peer.addrs.forEach(ee),s=sn(r.peer.id)}catch(l){this.log.error("invalid hop connect request via peer %p %s",n.remotePeer,l),await i.write({type:ft.Type.STATUS,status:tt.MALFORMED_MESSAGE});return}if(!this.reservationStore.hasReservation(s)){this.log.error("hop connect denied for destination peer %p not having a reservation for %p with status %s",s,n.remotePeer,tt.NO_RESERVATION),await i.write({type:ft.Type.STATUS,status:tt.NO_RESERVATION});return}if(await this.connectionGater.denyOutboundRelayedConnection?.(n.remotePeer,s)===!0){this.log.error("hop connect for %p to %p denied by connection gater",n.remotePeer,s),await i.write({type:ft.Type.STATUS,status:tt.PERMISSION_DENIED});return}let o=this.connectionManager.getConnections(s);if(o.length===0){this.log("hop connect denied for destination peer %p not having a connection for %p as there is no destination connection",s,n.remotePeer),await i.write({type:ft.Type.STATUS,status:tt.NO_RESERVATION});return}let a=o[0],c=await this.stopHop({connection:a,request:{type:de.Type.CONNECT,peer:{id:n.remotePeer.toBytes(),addrs:[]}}});if(c==null){this.log.error("failed to open stream to destination peer %p",a?.remotePeer),await i.write({type:ft.Type.STATUS,status:tt.CONNECTION_FAILED});return}await i.write({type:ft.Type.STATUS,status:tt.OK});let u=t.unwrap();this.log("connection from %p to %p established - merging streams",n.remotePeer,s);let f=this.reservationStore.get(s)?.limit;el(u,c,this.shutdownController.signal,f,{log:this.log})}async stopHop({connection:t,request:r}){this.log("starting circuit relay v2 stop request to %s",t.remotePeer);let n=await t.newStream([Wr],{maxOutboundStreams:this.maxOutboundStopStreams,runOnTransientConnection:!0}),i=Er(n),s=i.pb(de);await s.write(r);let o;try{o=await s.read()}catch{this.log.error("error parsing stop message response from %p",t.remotePeer)}if(o==null){this.log.error("could not read response from %p",t.remotePeer),await n.close();return}if(o.status===tt.OK)return this.log("stop request to %p was successful",t.remotePeer),i.unwrap();this.log("stop request failed with code %d",o.status),await n.close()}get reservations(){return this.reservationStore.reservations}};function fl(e={}){return t=>new qa(t,e)}var hl=Symbol.for("@libp2p/transport");var ll;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(ll||(ll={}));var ps=class extends me{peerId;peerStore;contentRouting;registrar;started;topologyId;log;constructor(t){super(),this.log=t.logger.forComponent("libp2p:circuit-relay:discover-relays"),this.started=!1,this.peerId=t.peerId,this.peerStore=t.peerStore,this.contentRouting=t.contentRouting,this.registrar=t.registrar}isStarted(){return this.started}async start(){this.topologyId=await this.registrar.register(Ee,{notifyOnTransient:!0,onConnect:t=>{this.safeDispatchEvent("relay:discover",{detail:t})}}),this.discover().catch(t=>{this.log.error("error listening on relays",t)}),this.started=!0}stop(){this.topologyId!=null&&this.registrar.unregister(this.topologyId),this.started=!1}async discover(){this.log("searching peer store for relays");let t=await this.peerStore.all({filters:[r=>r.protocols.includes(Ee)],orders:[()=>Math.random()<.5?1:-1]});for(let r of t)this.log("found relay peer %p in content peer store",r.id),this.safeDispatchEvent("relay:discover",{detail:r.id});this.log("found %d relay peers in peer store",t.length);try{this.log("searching content routing for relays");let r=await fs(os),n=0;for await(let i of this.contentRouting.findProviders(r))if(i.multiaddrs.length>0&&!i.id.equals(this.peerId)){let s=i.id;n++,await this.peerStore.merge(s,{multiaddrs:i.multiaddrs}),this.log("found relay peer %p in content routing",s),this.safeDispatchEvent("relay:discover",{detail:s})}this.log("found %d relay peers in content routing",n)}catch(r){this.log.error("failed when finding relays on the network",r)}}};var Ga=Yt(pl(),1);var ri=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},Wa=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},yl=e=>globalThis.DOMException===void 0?new Wa(e):new DOMException(e),ml=e=>{let t=e.reason===void 0?yl("This operation was aborted."):e.reason;return t instanceof Error?t:yl(t)};function Ya(e,t,r,n){let i,s=new Promise((o,a)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(t===Number.POSITIVE_INFINITY){o(e);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(ml(c)),c.addEventListener("abort",()=>{a(ml(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{o(r())}catch(f){a(f)}return}let c=typeof r=="string"?r:`Promise timed out after ${t} milliseconds`,u=r instanceof Error?r:new ri(c);typeof e.cancel=="function"&&e.cancel(),a(u)},t),(async()=>{try{o(await e)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return s.clear=()=>{clearTimeout(i),i=void 0},s}function $a(e,t,r){let n=0,i=e.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(e[o],t)<=0?(n=++o,i-=s+1):i=s}return n}var $r=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},ir,Qa=class{constructor(){ir.set(this,[])}enqueue(t,r){r={priority:0,...r};let n={priority:r.priority,run:t};if(this.size&&$r(this,ir,"f")[this.size-1].priority>=r.priority){$r(this,ir,"f").push(n);return}let i=$a($r(this,ir,"f"),n,(s,o)=>o.priority-s.priority);$r(this,ir,"f").splice(i,0,n)}dequeue(){let t=$r(this,ir,"f").shift();return t?.run}filter(t){return $r(this,ir,"f").filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return $r(this,ir,"f").length}};ir=new WeakMap;var gl=Qa;var At=function(e,t,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},K=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},_t,ii,si,Sr,Es,oi,ms,Re,ni,pe,gs,ye,ai,wr,xs,xl,vl,wl,bl,El,vs,Za,Xa,ws,Sl,bs,Ss=class extends Error{},Ja=class extends Ga.default{constructor(t){var r,n,i,s;if(super(),_t.add(this),ii.set(this,void 0),si.set(this,void 0),Sr.set(this,0),Es.set(this,void 0),oi.set(this,void 0),ms.set(this,0),Re.set(this,void 0),ni.set(this,void 0),pe.set(this,void 0),gs.set(this,void 0),ye.set(this,0),ai.set(this,void 0),wr.set(this,void 0),xs.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:gl,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=t.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(i=t.interval)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:""}\` (${typeof t.interval})`);At(this,ii,t.carryoverConcurrencyCount,"f"),At(this,si,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),At(this,Es,t.intervalCap,"f"),At(this,oi,t.interval,"f"),At(this,pe,new t.queueClass,"f"),At(this,gs,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,At(this,xs,t.throwOnTimeout===!0,"f"),At(this,wr,t.autoStart===!1,"f")}get concurrency(){return K(this,ai,"f")}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);At(this,ai,t,"f"),K(this,_t,"m",ws).call(this)}async add(t,r={}){return r={timeout:this.timeout,throwOnTimeout:K(this,xs,"f"),...r},new Promise((n,i)=>{K(this,pe,"f").enqueue(async()=>{var s,o,a;At(this,ye,(o=K(this,ye,"f"),o++,o),"f"),At(this,Sr,(a=K(this,Sr,"f"),a++,a),"f");try{if(!((s=r.signal)===null||s===void 0)&&s.aborted)throw new Ss("The task was aborted.");let c=t({signal:r.signal});r.timeout&&(c=Ya(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,K(this,_t,"m",Sl).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof ri&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{K(this,_t,"m",wl).call(this)}},r),this.emit("add"),K(this,_t,"m",vs).call(this)})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return K(this,wr,"f")?(At(this,wr,!1,"f"),K(this,_t,"m",ws).call(this),this):this}pause(){At(this,wr,!0,"f")}clear(){At(this,pe,new(K(this,gs,"f")),"f")}async onEmpty(){K(this,pe,"f").size!==0&&await K(this,_t,"m",bs).call(this,"empty")}async onSizeLessThan(t){K(this,pe,"f").size<t||await K(this,_t,"m",bs).call(this,"next",()=>K(this,pe,"f").size<t)}async onIdle(){K(this,ye,"f")===0&&K(this,pe,"f").size===0||await K(this,_t,"m",bs).call(this,"idle")}get size(){return K(this,pe,"f").size}sizeBy(t){return K(this,pe,"f").filter(t).length}get pending(){return K(this,ye,"f")}get isPaused(){return K(this,wr,"f")}};ii=new WeakMap,si=new WeakMap,Sr=new WeakMap,Es=new WeakMap,oi=new WeakMap,ms=new WeakMap,Re=new WeakMap,ni=new WeakMap,pe=new WeakMap,gs=new WeakMap,ye=new WeakMap,ai=new WeakMap,wr=new WeakMap,xs=new WeakMap,_t=new WeakSet,xl=function(){return K(this,si,"f")||K(this,Sr,"f")<K(this,Es,"f")},vl=function(){return K(this,ye,"f")<K(this,ai,"f")},wl=function(){var t;At(this,ye,(t=K(this,ye,"f"),t--,t),"f"),K(this,_t,"m",vs).call(this),this.emit("next")},bl=function(){K(this,_t,"m",Xa).call(this),K(this,_t,"m",Za).call(this),At(this,ni,void 0,"f")},El=function(){let t=Date.now();if(K(this,Re,"f")===void 0){let r=K(this,ms,"f")-t;if(r<0)At(this,Sr,K(this,ii,"f")?K(this,ye,"f"):0,"f");else return K(this,ni,"f")===void 0&&At(this,ni,setTimeout(()=>{K(this,_t,"m",bl).call(this)},r),"f"),!0}return!1},vs=function(){if(K(this,pe,"f").size===0)return K(this,Re,"f")&&clearInterval(K(this,Re,"f")),At(this,Re,void 0,"f"),this.emit("empty"),K(this,ye,"f")===0&&this.emit("idle"),!1;if(!K(this,wr,"f")){let t=!K(this,_t,"a",El);if(K(this,_t,"a",xl)&&K(this,_t,"a",vl)){let r=K(this,pe,"f").dequeue();return r?(this.emit("active"),r(),t&&K(this,_t,"m",Za).call(this),!0):!1}}return!1},Za=function(){K(this,si,"f")||K(this,Re,"f")!==void 0||(At(this,Re,setInterval(()=>{K(this,_t,"m",Xa).call(this)},K(this,oi,"f")),"f"),At(this,ms,Date.now()+K(this,oi,"f"),"f"))},Xa=function(){K(this,Sr,"f")===0&&K(this,ye,"f")===0&&K(this,Re,"f")&&(clearInterval(K(this,Re,"f")),At(this,Re,void 0,"f")),At(this,Sr,K(this,ii,"f")?K(this,ye,"f"):0,"f"),K(this,_t,"m",ws).call(this)},ws=function(){for(;K(this,_t,"m",vs).call(this););},Sl=async function(t){return new Promise((r,n)=>{t.addEventListener("abort",()=>{n(new Ss("The task was aborted."))},{once:!0})})},bs=async function(t,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(t,i),n())};this.on(t,i)})};var Al=Ja;function c1(e,t,r){let n=0,i=e.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(e[o],t)<=0?(n=++o,i-=s+1):i=s}return n}var ja=class{#t=[];enqueue(t,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new z("missing peer id",g0);let s={priority:i,peerId:n,run:t};if(this.size>0&&this.#t[this.size-1].priority>=i){this.#t.push(s);return}let o=c1(this.#t,s,(a,c)=>c.priority-a.priority);this.#t.splice(o,0,s)}dequeue(){return this.#t.shift()?.run}filter(t){if(t.peerId!=null){let r=t.peerId;return this.#t.filter(n=>r.equals(n.peerId)).map(n=>n.run)}return this.#t.filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return this.#t.length}},As=class extends Al{constructor(t={}){super({...t,queueClass:ja})}hasJob(t){return this.sizeBy({peerId:t})>0}};var f1=60*1e3*10,l1=60*1e3*5,h1=30*1e3,Ts=class extends me{peerId;connectionManager;transportManager;peerStore;events;reserveQueue;reservations;maxDiscoveredRelays;maxReservationQueueLength;reservationCompletionTimeout;started;log;constructor(t,r){super(),this.log=t.logger.forComponent("libp2p:circuit-relay:transport:reservation-store"),this.peerId=t.peerId,this.connectionManager=t.connectionManager,this.transportManager=t.transportManager,this.peerStore=t.peerStore,this.events=t.events,this.reservations=new nr,this.maxDiscoveredRelays=r?.discoverRelays??0,this.maxReservationQueueLength=r?.maxReservationQueueLength??100,this.reservationCompletionTimeout=r?.reservationCompletionTimeout??1e4,this.started=!1,this.reserveQueue=new As({concurrency:r?.reservationConcurrency??1}),this.events.addEventListener("peer:disconnect",n=>{this.#e(n.detail)})}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.reserveQueue.clear(),this.reservations.forEach(({timeout:t})=>{clearTimeout(t)}),this.reservations.clear(),this.started=!1}async addRelay(t,r){if(this.peerId.equals(t)){this.log("not trying to use self as relay");return}if(this.reserveQueue.size>this.maxReservationQueueLength){this.log("not adding relay as the queue is full");return}if(this.reserveQueue.hasJob(t)){this.log("relay peer is already in the reservation queue");return}this.log("add relay %p",t),await this.reserveQueue.add(async()=>{try{let n=this.reservations.get(t);if(n!=null){if(Ua(n.reservation.expire)>f1){this.log("already have reservation on relay peer %p and it expires in more than 10 minutes",t);return}clearTimeout(n.timeout),this.reservations.delete(t)}if(r==="discovered"&&[...this.reservations.values()].reduce((f,l)=>(l.type==="discovered"&&f++,f),0)>=this.maxDiscoveredRelays){this.log("already have enough discovered relays");return}let i=AbortSignal.timeout(this.reservationCompletionTimeout),s=await this.connectionManager.openConnection(t,{signal:i});if(s.remoteAddr.protoNames().includes("p2p-circuit")){this.log("not creating reservation over relayed connection");return}let o=await this.#t(s,{signal:i});this.log("created reservation on relay peer %p",t);let a=Ua(o.expire),c=Math.min(Math.max(a-l1,h1),Math.pow(2,31)-1),u=setTimeout(()=>{this.addRelay(t,r).catch(f=>{this.log.error("could not refresh reservation to relay %p",t,f)})},c);this.reservations.set(t,{timeout:u,reservation:o,type:r}),await this.peerStore.merge(t,{tags:{[Yf]:{value:1,ttl:a}}}),await this.transportManager.listen([ee(`/p2p/${t.toString()}/p2p-circuit`)])}catch(n){this.log.error("could not reserve slot on %p",t,n);let i=this.reservations.get(t);i!=null&&clearTimeout(i.timeout),this.reservations.delete(t)}},{peerId:t})}hasReservation(t){return this.reservations.has(t)}getReservation(t){return this.reservations.get(t)?.reservation}async#t(t,r){r.signal?.throwIfAborted(),this.log("requesting reservation from %p",t.remotePeer);let n=await t.newStream(Ee,r),s=Er(n).pb(ft);await s.write({type:ft.Type.RESERVE},r);let o;try{o=await s.read(r)}catch(c){throw this.log.error("error parsing reserve message response from %p because",t.remotePeer,c),n.abort(c),c}finally{await n.close()}if(o.status===tt.OK&&o.reservation!=null){let c=!1,u=t.remoteAddr.bytes;for(let f of o.reservation.addrs)if(Ct(u,f)){c=!0;break}return c||o.reservation.addrs.push(u),o.reservation}let a=`reservation failed with status ${o.status??"undefined"}`;throw this.log.error(a),new Error(a)}#e(t){let r=this.reservations.get(t);r!=null&&(this.log("connection to relay %p closed, removing reservation from local store",t),clearTimeout(r.timeout),this.reservations.delete(t),this.safeDispatchEvent("relay:removed",{detail:t}),this.reservations.size<this.maxDiscoveredRelays&&(this.log("not enough relays %d/%d",this.reservations.size,this.maxDiscoveredRelays),this.safeDispatchEvent("relay:not-enough-relays",{})))}};function t0(e){let{stream:t,remoteAddr:r,logger:n}=e,i=n.forComponent("libp2p:stream:converter"),s=!1,o=!1,a=t.close.bind(t);t.close=async h=>{await a(h),l(!0)};let c=t.abort.bind(t);t.abort=h=>{c(h),l(!0)};let u=t.sink.bind(t);t.sink=async h=>{try{await u(h)}catch(y){y.type!=="aborted"&&i(y)}finally{o=!0,l()}};let f={log:i,sink:t.sink,source:async function*(){try{for await(let h of t.source)h instanceof Uint8Array?yield h:yield*h}finally{s=!0,l()}}(),remoteAddr:r,timeline:{open:Date.now(),close:void 0},close:t.close,abort:t.abort};function l(h){h===!0&&(s=!0,o=!0),s&&o&&f.timeline.close==null&&(f.timeline.close=Date.now())}return f}var d1=U("dns4"),p1=U("dns6"),y1=U("dnsaddr"),Qr=Rt(U("dns"),y1,d1,p1),Cs=Rt(U("ip4"),U("ip6")),Bn=Rt(H(Cs,U("tcp")),H(Qr,U("tcp"))),_s=H(Cs,U("udp")),m1=H(_s,U("utp")),g1=H(_s,U("quic")),x1=H(_s,U("quic-v1")),e0=Rt(H(Bn,U("ws")),H(Qr,U("ws"))),Bs=Rt(H(e0,U("p2p")),e0),r0=Rt(H(Bn,U("wss")),H(Qr,U("wss")),H(Bn,U("tls"),U("ws")),H(Qr,U("tls"),U("ws"))),Is=Rt(H(r0,U("p2p")),r0),n0=Rt(H(Bn,U("http")),H(Cs,U("http")),H(Qr,U("http"))),i0=Rt(H(Bn,U("https")),H(Cs,U("https")),H(Qr,U("https"))),Tl=H(_s,U("webrtc-direct"),U("certhash")),Cl=Rt(H(Tl,U("p2p")),Tl),Bl=H(x1,U("webtransport"),U("certhash"),U("certhash")),_l=Rt(H(Bl,U("p2p")),Bl),Rl=Rt(H(Bs,U("p2p-webrtc-star"),U("p2p")),H(Is,U("p2p-webrtc-star"),U("p2p")),H(Bs,U("p2p-webrtc-star")),H(Is,U("p2p-webrtc-star"))),v8=Rt(H(Bs,U("p2p-websocket-star"),U("p2p")),H(Is,U("p2p-websocket-star"),U("p2p")),H(Bs,U("p2p-websocket-star")),H(Is,U("p2p-websocket-star"))),Ll=Rt(H(n0,U("p2p-webrtc-direct"),U("p2p")),H(i0,U("p2p-webrtc-direct"),U("p2p")),H(n0,U("p2p-webrtc-direct")),H(i0,U("p2p-webrtc-direct"))),Zr=Rt(e0,r0,n0,i0,Rl,Ll,Bn,m1,g1,Qr,Cl,_l),b8=Rt(H(Zr,U("p2p-stardust"),U("p2p")),H(Zr,U("p2p-stardust"))),Ar=Rt(H(Zr,U("p2p")),Rl,Ll,Cl,_l,U("p2p")),Il=Rt(H(Ar,U("p2p-circuit"),Ar),H(Ar,U("p2p-circuit")),H(U("p2p-circuit"),Ar),H(Zr,U("p2p-circuit")),H(U("p2p-circuit"),Zr),U("p2p-circuit")),Dl=()=>Rt(H(Il,Dl),Il),sr=Dl(),E8=Rt(H(sr,Ar,sr),H(Ar,sr),H(sr,Ar),sr,Ar);var w8=Rt(H(sr,U("webrtc"),U("p2p")),H(sr,U("webrtc")),H(Zr,U("webrtc"),U("p2p")),H(Zr,U("webrtc")),U("webrtc"));function Nl(e){function t(r){let n;try{n=ee(r)}catch{return!1}let i=e(n.protoNames());return i===null?!1:i===!0||i===!1?i:i.length===0}return t}function H(...e){function t(r){if(r.length<e.length)return null;let n=r;return e.some(i=>(n=typeof i=="function"?i().partialMatch(r):i.partialMatch(r),Array.isArray(n)&&(r=n),n===null)),n}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:Nl(t),partialMatch:t}}function Rt(...e){function t(n){let i=null;return e.some(s=>{let o=typeof s=="function"?s().partialMatch(n):s.partialMatch(n);return o!=null?(i=o,!0):!1}),i}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:Nl(t),partialMatch:t}}function U(e){let t=e;function r(i){let s;try{s=ee(i)}catch{return!1}let o=s.protoNames();return o.length===1&&o[0]===t}function n(i){return i.length===0?null:i[0]===t?i.slice(1):null}return{toString:function(){return t},matches:r,partialMatch:n}}var s0=class extends me{connectionManager;relayStore;listeningAddrs;log;constructor(t){super(),this.log=t.logger.forComponent("libp2p:circuit-relay:transport:listener"),this.connectionManager=t.connectionManager,this.relayStore=t.relayStore,this.listeningAddrs=new nr,this.relayStore.addEventListener("relay:removed",this._onRemoveRelayPeer)}_onRemoveRelayPeer=t=>{this.#t(t.detail)};async listen(t){this.log("listen on %a",t);let r=t.decapsulate("/p2p-circuit"),n=await this.connectionManager.openConnection(r);if(!this.relayStore.hasReservation(n.remotePeer)){this.log("making reservation on peer %p",n.remotePeer),await this.relayStore.addRelay(n.remotePeer,"configured");return}let i=this.relayStore.getReservation(n.remotePeer);if(i==null)throw new z("Did not have reservation after making reservation","ERR_NO_RESERVATION");if(this.listeningAddrs.has(n.remotePeer)){this.log("already listening on relay %p",n.remotePeer);return}this.listeningAddrs.set(n.remotePeer,i.addrs.map(s=>ee(s).encapsulate("/p2p-circuit"))),this.safeDispatchEvent("listening",{})}getAddrs(){return[...this.listeningAddrs.values()].flat()}async close(){}#t(t){let r=this.listeningAddrs.has(t);this.log("relay peer removed %p - had reservation",t,r),this.listeningAddrs.delete(t),r&&(this.log.trace("removing relay event listener for peer %p",t),this.relayStore.removeEventListener("relay:removed",this._onRemoveRelayPeer),this.safeDispatchEvent("close",{}))}};function Pl(e){return new s0(e)}var b1=e=>{if(e.peer==null)return!1;try{e.peer.addrs.forEach(ee)}catch{return!1}return!0},o0={maxInboundStopStreams:ti,maxOutboundStopStreams:ti,stopTimeout:3e4},Rs=class{discovery;registrar;peerStore;connectionManager;transportManager;peerId;upgrader;addressManager;connectionGater;reservationStore;logger;maxInboundStopStreams;maxOutboundStopStreams;stopTimeout;started;log;constructor(t,r){this.log=t.logger.forComponent("libp2p:circuit-relay:transport"),this.registrar=t.registrar,this.peerStore=t.peerStore,this.connectionManager=t.connectionManager,this.transportManager=t.transportManager,this.logger=t.logger,this.peerId=t.peerId,this.upgrader=t.upgrader,this.addressManager=t.addressManager,this.connectionGater=t.connectionGater,this.maxInboundStopStreams=r.maxInboundStopStreams??o0.maxInboundStopStreams,this.maxOutboundStopStreams=r.maxOutboundStopStreams??o0.maxOutboundStopStreams,this.stopTimeout=r.stopTimeout??o0.stopTimeout,r.discoverRelays!=null&&r.discoverRelays>0&&(this.discovery=new ps(t),this.discovery.addEventListener("relay:discover",n=>{this.reservationStore.addRelay(n.detail,"discovered").catch(i=>{this.log.error("could not add discovered relay %p",n.detail,i)})})),this.reservationStore=new Ts(t,r),this.reservationStore.addEventListener("relay:not-enough-relays",()=>{this.discovery?.discover().catch(n=>{this.log.error("could not discover relays",n)})}),this.started=!1}isStarted(){return this.started}async start(){await this.reservationStore.start(),await this.discovery?.start(),await this.registrar.handle(Wr,t=>{this.onStop(t).catch(r=>{this.log.error("error while handling STOP protocol",r),t.stream.abort(r)})},{maxInboundStreams:this.maxInboundStopStreams,maxOutboundStreams:this.maxOutboundStopStreams,runOnTransientConnection:!0}),this.started=!0}async stop(){this.discovery?.stop(),await this.reservationStore.stop(),await this.registrar.unhandle(Wr),this.started=!1}[hl]=!0;[Symbol.toStringTag]="libp2p/circuit-relay-v2";async dial(t,r={}){if(t.protoCodes().filter(d=>d===290).length!==1){let d="Invalid circuit relay address";throw this.log.error(d,t),new z(d,Pa)}let n=t.toString().split("/p2p-circuit"),i=ee(n[0]),s=ee(n[n.length-1]),o=i.getPeerId(),a=s.getPeerId();if(o==null||a==null){let d=`Circuit relay dial to ${t.toString()} failed as address did not have peer ids`;throw this.log.error(d),new z(d,Pa)}let c=St(o),u=St(a),f=!1,h=this.connectionManager.getConnections(c)[0];h==null&&(await this.peerStore.merge(c,{multiaddrs:[i]}),h=await this.connectionManager.openConnection(c,r),f=!0);let y;try{return y=await h.newStream(Ee),await this.connectV2({stream:y,connection:h,destinationPeer:u,destinationAddr:s,relayAddr:i,ma:t,disconnectOnFailure:f})}catch(d){throw this.log.error("circuit relay dial to destination %p via relay %p failed",u,c,d),y?.abort(d),f&&await h.close(),d}}async connectV2({stream:t,connection:r,destinationPeer:n,destinationAddr:i,relayAddr:s,ma:o,disconnectOnFailure:a}){try{let c=Er(t),u=c.pb(ft);await u.write({type:ft.Type.CONNECT,peer:{id:n.toBytes(),addrs:[ee(i).bytes]}});let f=await u.read();if(f.status!==tt.OK)throw new z(`failed to connect via relay with status ${f?.status?.toString()??"undefined"}`,Jf);let l=t0({stream:c.unwrap(),remoteAddr:o,localAddr:s.encapsulate(`/p2p-circuit/p2p/${this.peerId.toString()}`),logger:this.logger});return this.log("new outbound transient connection %a",l.remoteAddr),await this.upgrader.upgradeOutbound(l,{transient:!0})}catch(c){throw this.log.error(`Circuit relay dial to destination ${n.toString()} via relay ${r.remotePeer.toString()} failed`,c),a&&await r.close(),c}}createListener(t){return Pl({connectionManager:this.connectionManager,relayStore:this.reservationStore,logger:this.logger})}filter(t){return t=Array.isArray(t)?t:[t],t.filter(r=>sr.matches(r))}async onStop({connection:t,stream:r}){if(!this.reservationStore.hasReservation(t.remotePeer))try{this.log("dialed via relay we did not have a reservation on, start listening on that relay address"),await this.transportManager.listen([t.remoteAddr.encapsulate("/p2p-circuit")])}catch(f){this.log.error("failed to listen on a relay peer we were dialed via but did not have a reservation on",f)}let n=AbortSignal.timeout(this.stopTimeout),i=Er(r).pb(de),s=await i.read({signal:n});if(this.log("new circuit relay v2 stop stream from %p with type %s",t.remotePeer,s.type),s?.type===void 0){this.log.error("type was missing from circuit v2 stop protocol request from %s",t.remotePeer),await i.write({type:de.Type.STATUS,status:tt.MALFORMED_MESSAGE},{signal:n}),await r.close();return}if(s.type!==de.Type.CONNECT){this.log.error("invalid stop connect request via peer %p",t.remotePeer),await i.write({type:de.Type.STATUS,status:tt.UNEXPECTED_MESSAGE},{signal:n}),await r.close();return}if(!b1(s)){this.log.error("invalid stop connect request via peer %p",t.remotePeer),await i.write({type:de.Type.STATUS,status:tt.MALFORMED_MESSAGE},{signal:n}),await r.close();return}let o=sn(s.peer.id);if(await this.connectionGater.denyInboundRelayedConnection?.(t.remotePeer,o)===!0){this.log.error("connection gater denied inbound relayed connection from %p",t.remotePeer),await i.write({type:de.Type.STATUS,status:tt.PERMISSION_DENIED},{signal:n}),await r.close();return}this.log.trace("sending success response to %p",t.remotePeer),await i.write({type:de.Type.STATUS,status:tt.OK},{signal:n});let a=t.remoteAddr.encapsulate(`/p2p-circuit/p2p/${o.toString()}`),c=this.addressManager.getAddresses()[0],u=t0({stream:i.unwrap().unwrap(),remoteAddr:a,localAddr:c,logger:this.logger});this.log("new inbound transient connection %a",u.remoteAddr),await this.upgrader.upgradeInbound(u,{transient:!0}),this.log("%s connection %a upgraded","inbound",u.remoteAddr)}};function kl(e={}){return t=>new Rs(t,e)}return Ql(E1);})();
|
15
|
+
`+a+t.substr(o+1),s=i-o-1,o=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(o=i);return t}function Sd(e){return e.replace(/^\s+/,"")}});var bc=ot((U2,vc)=>{var ke=ht();Lr();Dt();var mc=vc.exports=ke.sha256=ke.sha256||{};ke.md.sha256=ke.md.algorithms.sha256=mc;mc.create=function(){gc||Ad();var e=null,t=ke.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 t=ke.util.createBuffer(),e={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=ke.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 t.putBytes(i),yc(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=ke.util.createBuffer();i.putBytes(t.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(mo.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};yc(l,r,i);var h=ke.util.createBuffer();return h.putInt32(l.h0),h.putInt32(l.h1),h.putInt32(l.h2),h.putInt32(l.h3),h.putInt32(l.h4),h.putInt32(l.h5),h.putInt32(l.h6),h.putInt32(l.h7),h},n};var mo=null,gc=!1,xc=null;function Ad(){mo="\x80",mo+=ke.util.fillString("\0",64),xc=[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],gc=!0}function yc(e,t,r){for(var n,i,s,o,a,c,u,f,l,h,y,d,p,m,x,E=r.length();E>=64;){for(u=0;u<16;++u)t[u]=r.getInt32();for(;u<64;++u)n=t[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[u]=n+t[u-7]+i+t[u-16]|0;for(f=e.h0,l=e.h1,h=e.h2,y=e.h3,d=e.h4,p=e.h5,m=e.h6,x=e.h7,u=0;u<64;++u)o=(d>>>6|d<<26)^(d>>>11|d<<21)^(d>>>25|d<<7),a=m^d&(p^m),s=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),c=f&l|h&(f^l),n=x+o+a+xc[u]+t[u],i=s+c,x=m,m=p,p=d,d=y+n>>>0,y=h,h=l,l=f,f=n+i>>>0;e.h0=e.h0+f|0,e.h1=e.h1+l|0,e.h2=e.h2+h|0,e.h3=e.h3+y|0,e.h4=e.h4+d|0,e.h5=e.h5+p|0,e.h6=e.h6+m|0,e.h7=e.h7+x|0,E-=64}}});var wc=ot((O2,Ec)=>{var Ue=ht();Dt();var Si=null;Ue.util.isNodejs&&!Ue.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Si=bi());var Td=Ec.exports=Ue.prng=Ue.prng||{};Td.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(u,f){if(!f)return t.generateSync(u);var l=t.plugin.cipher,h=t.plugin.increment,y=t.plugin.formatKey,d=t.plugin.formatSeed,p=Ue.util.createBuffer();t.key=null,m();function m(x){if(x)return f(x);if(p.length()>=u)return f(null,p.getBytes(u));if(t.generated>1048575&&(t.key=null),t.key===null)return Ue.util.nextTick(function(){s(m)});var E=l(t.key,t.seed);t.generated+=E.length,p.putBytes(E),t.key=y(l(t.key,h(t.seed))),t.seed=d(l(t.key,t.seed)),Ue.util.setImmediate(m)}},t.generateSync=function(u){var f=t.plugin.cipher,l=t.plugin.increment,h=t.plugin.formatKey,y=t.plugin.formatSeed;t.key=null;for(var d=Ue.util.createBuffer();d.length()<u;){t.generated>1048575&&(t.key=null),t.key===null&&o();var p=f(t.key,t.seed);t.generated+=p.length,d.putBytes(p),t.key=h(f(t.key,l(t.seed))),t.seed=y(f(t.key,t.seed))}return d.getBytes(u)};function s(u){if(t.pools[0].messageLength>=32)return a(),u();var f=32-t.pools[0].messageLength<<5;t.seedFile(f,function(l,h){if(l)return u(l);t.collect(h),a(),u()})}function o(){if(t.pools[0].messageLength>=32)return a();var u=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(u)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var u=t.plugin.md.create();u.update(t.keyBytes);for(var f=1,l=0;l<32;++l)t.reseeds%f===0&&(u.update(t.pools[l].digest().getBytes()),t.pools[l].start()),f=f<<1;t.keyBytes=u.digest().getBytes(),u.start(),u.update(t.keyBytes);var h=u.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(h),t.generated=0}function c(u){var f=null,l=Ue.util.globalScope,h=l.crypto||l.msCrypto;h&&h.getRandomValues&&(f=function(w){return h.getRandomValues(w)});var y=Ue.util.createBuffer();if(f)for(;y.length()<u;){var d=Math.max(1,Math.min(u-y.length(),65536)/4),p=new Uint32Array(Math.floor(d));try{f(p);for(var m=0;m<p.length;++m)y.putInt32(p[m])}catch(w){if(!(typeof QuotaExceededError<"u"&&w instanceof QuotaExceededError))throw w}}if(y.length()<u)for(var x,E,b,R=Math.floor(Math.random()*65536);y.length()<u;){E=16807*(R&65535),x=16807*(R>>16),E+=(x&32767)<<16,E+=x>>15,E=(E&2147483647)+(E>>31),R=E&4294967295;for(var m=0;m<3;++m)b=R>>>(m<<3),b^=Math.floor(Math.random()*256),y.putByte(b&255)}return y.getBytes(u)}return Si?(t.seedFile=function(u,f){Si.randomBytes(u,function(l,h){if(l)return f(l);f(null,h.toString())})},t.seedFileSync=function(u){return Si.randomBytes(u).toString()}):(t.seedFile=function(u,f){try{f(null,c(u))}catch(l){f(l)}},t.seedFileSync=c),t.collect=function(u){for(var f=u.length,l=0;l<f;++l)t.pools[t.pool].update(u.substr(l,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(u,f){for(var l="",h=0;h<f;h+=8)l+=String.fromCharCode(u>>h&255);t.collect(l)},t.registerWorker=function(u){if(u===self)t.seedFile=function(l,h){function y(d){var p=d.data;p.forge&&p.forge.prng&&(self.removeEventListener("message",y),h(p.forge.prng.err,p.forge.prng.bytes))}self.addEventListener("message",y),self.postMessage({forge:{prng:{needed:l}}})};else{var f=function(l){var h=l.data;h.forge&&h.forge.prng&&t.seedFile(h.forge.prng.needed,function(y,d){u.postMessage({forge:{prng:{err:y,bytes:d}}})})};u.addEventListener("message",f)}},t}});var On=ot((M2,go)=>{var qt=ht();yo();bc();wc();Dt();(function(){if(qt.random&&qt.random.getBytes){go.exports=qt.random;return}(function(e){var t={},r=new Array(4),n=qt.util.createBuffer();t.formatKey=function(l){var h=qt.util.createBuffer(l);return l=new Array(4),l[0]=h.getInt32(),l[1]=h.getInt32(),l[2]=h.getInt32(),l[3]=h.getInt32(),qt.aes._expandKey(l,!1)},t.formatSeed=function(l){var h=qt.util.createBuffer(l);return l=new Array(4),l[0]=h.getInt32(),l[1]=h.getInt32(),l[2]=h.getInt32(),l[3]=h.getInt32(),l},t.cipher=function(l,h){return qt.aes._updateBlock(l,h,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},t.increment=function(l){return++l[3],l},t.md=qt.md.sha256;function i(){var l=qt.prng.create(t);return l.getBytes=function(h,y){return l.generate(h,y)},l.getBytesSync=function(h){return l.generate(h)},l}var s=i(),o=null,a=qt.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(o=function(l){return c.getRandomValues(l)}),qt.options.usePureJavaScript||!qt.util.isNodejs&&!o){if(typeof window>"u"||window.document,s.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var f in navigator)try{typeof navigator[f]=="string"&&(u+=navigator[f])}catch{}s.collect(u),u=null}e&&(e().mousemove(function(l){s.collectInt(l.clientX,16),s.collectInt(l.clientY,16)}),e().keypress(function(l){s.collectInt(l.charCode,8)}))}if(!qt.random)qt.random=s;else for(var f in s)qt.random[f]=s[f];qt.random.createInstance=i,go.exports=qt.random})(typeof jQuery<"u"?jQuery:null)})()});var Bc=ot((K2,Tc)=>{var oe=ht();Dt();var xo=[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],Sc=[1,2,3,5],Bd=function(e,t){return e<<t&65535|(e&65535)>>16-t},Id=function(e,t){return(e&65535)>>t|e<<16-t&65535};Tc.exports=oe.rc2=oe.rc2||{};oe.rc2.expandKey=function(e,t){typeof e=="string"&&(e=oe.util.createBuffer(e)),t=t||128;var r=e,n=e.length(),i=t,s=Math.ceil(i/8),o=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(xo[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,xo[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,xo[r.at(a+1)^r.at(a+s)]);return r};var Ac=function(e,t,r){var n=!1,i=null,s=null,o=null,a,c,u,f,l=[];for(e=oe.rc2.expandKey(e,t),u=0;u<64;u++)l.push(e.getInt16Le());r?(a=function(d){for(u=0;u<4;u++)d[u]+=l[f]+(d[(u+3)%4]&d[(u+2)%4])+(~d[(u+3)%4]&d[(u+1)%4]),d[u]=Bd(d[u],Sc[u]),f++},c=function(d){for(u=0;u<4;u++)d[u]+=l[d[(u+3)%4]&63]}):(a=function(d){for(u=3;u>=0;u--)d[u]=Id(d[u],Sc[u]),d[u]-=l[f]+(d[(u+3)%4]&d[(u+2)%4])+(~d[(u+3)%4]&d[(u+1)%4]),f--},c=function(d){for(u=3;u>=0;u--)d[u]-=l[d[(u+3)%4]&63]});var h=function(d){var p=[];for(u=0;u<4;u++){var m=i.getInt16Le();o!==null&&(r?m^=o.getInt16Le():o.putInt16Le(m)),p.push(m&65535)}f=r?0:63;for(var x=0;x<d.length;x++)for(var E=0;E<d[x][0];E++)d[x][1](p);for(u=0;u<4;u++)o!==null&&(r?o.putInt16Le(p[u]):p[u]^=o.getInt16Le()),s.putInt16Le(p[u])},y=null;return y={start:function(d,p){d&&typeof d=="string"&&(d=oe.util.createBuffer(d)),n=!1,i=oe.util.createBuffer(),s=p||new oe.util.createBuffer,o=d,y.output=s},update:function(d){for(n||i.putBuffer(d);i.length()>=8;)h([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(d){var p=!0;if(r)if(d)p=d(8,i,!r);else{var m=i.length()===8?8:8-i.length();i.fillWithByte(m,m)}if(p&&(n=!0,y.update()),!r&&(p=i.length()===0,p))if(d)p=d(8,s,!r);else{var x=s.length(),E=s.at(x-1);E>x?p=!1:s.truncate(E)}return p}},y};oe.rc2.startEncrypting=function(e,t,r){var n=oe.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};oe.rc2.createEncryptionCipher=function(e,t){return Ac(e,t,!0)};oe.rc2.startDecrypting=function(e,t,r){var n=oe.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};oe.rc2.createDecryptionCipher=function(e,t){return Ac(e,t,!1)}});var Bi=ot((F2,Pc)=>{var vo=ht();Pc.exports=vo.jsbn=vo.jsbn||{};var $e,Cd=0xdeadbeefcafe,Ic=(Cd&16777215)==15715070;function B(e,t,r){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,t,r):t==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,t))}vo.jsbn.BigInteger=B;function it(){return new B(null)}function _d(e,t,r,n,i,s){for(;--s>=0;){var o=t*this.data[e++]+r.data[n]+i;i=Math.floor(o/67108864),r.data[n++]=o&67108863}return i}function Rd(e,t,r,n,i,s){for(var o=t&32767,a=t>>15;--s>=0;){var c=this.data[e]&32767,u=this.data[e++]>>15,f=a*c+u*o;c=o*c+((f&32767)<<15)+r.data[n]+(i&1073741823),i=(c>>>30)+(f>>>15)+a*u+(i>>>30),r.data[n++]=c&1073741823}return i}function Cc(e,t,r,n,i,s){for(var o=t&16383,a=t>>14;--s>=0;){var c=this.data[e]&16383,u=this.data[e++]>>14,f=a*c+u*o;c=o*c+((f&16383)<<14)+r.data[n]+i,i=(c>>28)+(f>>14)+a*u,r.data[n++]=c&268435455}return i}typeof navigator>"u"?(B.prototype.am=Cc,$e=28):Ic&&navigator.appName=="Microsoft Internet Explorer"?(B.prototype.am=Rd,$e=30):Ic&&navigator.appName!="Netscape"?(B.prototype.am=_d,$e=26):(B.prototype.am=Cc,$e=28);B.prototype.DB=$e;B.prototype.DM=(1<<$e)-1;B.prototype.DV=1<<$e;var bo=52;B.prototype.FV=Math.pow(2,bo);B.prototype.F1=bo-$e;B.prototype.F2=2*$e-bo;var Ld="0123456789abcdefghijklmnopqrstuvwxyz",Ai=new Array,un,ge;un=48;for(ge=0;ge<=9;++ge)Ai[un++]=ge;un=97;for(ge=10;ge<36;++ge)Ai[un++]=ge;un=65;for(ge=10;ge<36;++ge)Ai[un++]=ge;function _c(e){return Ld.charAt(e)}function Rc(e,t){var r=Ai[e.charCodeAt(t)];return r??-1}function Dd(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function Nd(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function hr(e){var t=it();return t.fromInt(e),t}function Pd(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,s=0;--n>=0;){var o=r==8?e[n]&255:Rc(e,n);if(o<0){e.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&&e[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 kd(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function Ud(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<<t)-1,n,i=!1,s="",o=this.t,a=this.DB-o*this.DB%t;if(o-- >0)for(a<this.DB&&(n=this.data[o]>>a)>0&&(i=!0,s=_c(n));o>=0;)a<t?(n=(this.data[o]&(1<<a)-1)<<t-a,n|=this.data[--o]>>(a+=this.DB-t)):(n=this.data[o]>>(a-=t)&r,a<=0&&(a+=this.DB,--o)),n>0&&(i=!0),i&&(s+=_c(n));return i?s:"0"}function Od(){var e=it();return B.ZERO.subTo(this,e),e}function Md(){return this.s<0?this.negate():this}function Kd(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this.data[r]-e.data[r])!=0)return t;return 0}function Ti(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function Fd(){return this.t<=0?0:this.DB*(this.t-1)+Ti(this.data[this.t-1]^this.s&this.DM)}function Vd(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function qd(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s}function Hd(e,t){var r=e%this.DB,n=this.DB-r,i=(1<<n)-1,s=Math.floor(e/this.DB),o=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+s+1]=this.data[a]>>n|o,o=(this.data[a]&i)<<r;for(a=s-1;a>=0;--a)t.data[a]=0;t.data[s]=o,t.t=this.t+s+1,t.s=this.s,t.clamp()}function zd(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,s=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var o=r+1;o<this.t;++o)t.data[o-r-1]|=(this.data[o]&s)<<i,t.data[o-r]=this.data[o]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&s)<<i),t.t=this.t-r,t.clamp()}function Gd(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function Wd(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&B.ZERO.subTo(t,t)}function Yd(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function $d(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=it());var s=it(),o=this.s,a=e.s,c=this.DB-Ti(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,f=s.data[u-1];if(f!=0){var l=f*(1<<this.F1)+(u>1?s.data[u-2]>>this.F2:0),h=this.FV/l,y=(1<<this.F1)/l,d=1<<this.F2,p=r.t,m=p-u,x=t??it();for(s.dlShiftTo(m,x),r.compareTo(x)>=0&&(r.data[r.t++]=1,r.subTo(x,r)),B.ONE.dlShiftTo(u,x),x.subTo(s,s);s.t<u;)s.data[s.t++]=0;for(;--m>=0;){var E=r.data[--p]==f?this.DM:Math.floor(r.data[p]*h+(r.data[p-1]+d)*y);if((r.data[p]+=s.am(0,E,r,m,0,u))<E)for(s.dlShiftTo(m,x),r.subTo(x,r);r.data[p]<--E;)r.subTo(x,r)}t!=null&&(r.drShiftTo(u,t),o!=a&&B.ZERO.subTo(t,t)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),o<0&&B.ZERO.subTo(r,r)}}}function Qd(e){var t=it();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(B.ZERO)>0&&e.subTo(t,t),t}function Dr(e){this.m=e}function Zd(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function Xd(e){return e}function Jd(e){e.divRemTo(this.m,null,e)}function jd(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function tp(e,t){e.squareTo(t),this.reduce(t)}Dr.prototype.convert=Zd;Dr.prototype.revert=Xd;Dr.prototype.reduce=Jd;Dr.prototype.mulTo=jd;Dr.prototype.sqrTo=tp;function ep(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function Nr(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function rp(e){var t=it();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(B.ZERO)>0&&this.m.subTo(t,t),t}function np(e){var t=it();return e.copyTo(t),this.reduce(t),t}function ip(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=e.data[t]&32767,n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function sp(e,t){e.squareTo(t),this.reduce(t)}function op(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Nr.prototype.convert=rp;Nr.prototype.revert=np;Nr.prototype.reduce=ip;Nr.prototype.mulTo=op;Nr.prototype.sqrTo=sp;function ap(){return(this.t>0?this.data[0]&1:this.s)==0}function cp(e,t){if(e>4294967295||e<1)return B.ONE;var r=it(),n=it(),i=t.convert(this),s=Ti(e)-1;for(i.copyTo(r);--s>=0;)if(t.sqrTo(r,n),(e&1<<s)>0)t.mulTo(n,i,r);else{var o=r;r=n,n=o}return t.revert(r)}function up(e,t){var r;return e<256||t.isEven()?r=new Dr(t):r=new Nr(t),this.exp(e,r)}B.prototype.copyTo=Dd;B.prototype.fromInt=Nd;B.prototype.fromString=Pd;B.prototype.clamp=kd;B.prototype.dlShiftTo=Vd;B.prototype.drShiftTo=qd;B.prototype.lShiftTo=Hd;B.prototype.rShiftTo=zd;B.prototype.subTo=Gd;B.prototype.multiplyTo=Wd;B.prototype.squareTo=Yd;B.prototype.divRemTo=$d;B.prototype.invDigit=ep;B.prototype.isEven=ap;B.prototype.exp=cp;B.prototype.toString=Ud;B.prototype.negate=Od;B.prototype.abs=Md;B.prototype.compareTo=Kd;B.prototype.bitLength=Fd;B.prototype.mod=Qd;B.prototype.modPowInt=up;B.ZERO=hr(0);B.ONE=hr(1);function fp(){var e=it();return this.copyTo(e),e}function lp(){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 hp(){return this.t==0?this.s:this.data[0]<<24>>24}function dp(){return this.t==0?this.s:this.data[0]<<16>>16}function pp(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function yp(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function mp(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=hr(r),i=it(),s=it(),o="";for(this.divRemTo(n,i,s);i.signum()>0;)o=(r+s.intValue()).toString(e).substr(1)+o,i.divRemTo(n,i,s);return s.intValue().toString(e)+o}function gp(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,s=0,o=0,a=0;a<e.length;++a){var c=Rc(e,a);if(c<0){e.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}o=t*o+c,++s>=r&&(this.dMultiply(n),this.dAddOffset(o,0),s=0,o=0)}s>0&&(this.dMultiply(Math.pow(t,s)),this.dAddOffset(o,0)),i&&B.ZERO.subTo(this,this)}function xp(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(B.ONE.shiftLeft(e-1),Eo,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(B.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function vp(){var e=this.t,t=new Array;t[0]=this.s;var r=this.DB-e*this.DB%8,n,i=0;if(e-- >0)for(r<this.DB&&(n=this.data[e]>>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this.data[e]&(1<<r)-1)<<8-r,n|=this.data[--e]>>(r+=this.DB-8)):(n=this.data[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function bp(e){return this.compareTo(e)==0}function Ep(e){return this.compareTo(e)<0?this:e}function wp(e){return this.compareTo(e)>0?this:e}function Sp(e,t,r){var n,i,s=Math.min(e.t,this.t);for(n=0;n<s;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=s;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=s;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()}function Ap(e,t){return e&t}function Tp(e){var t=it();return this.bitwiseTo(e,Ap,t),t}function Eo(e,t){return e|t}function Bp(e){var t=it();return this.bitwiseTo(e,Eo,t),t}function Lc(e,t){return e^t}function Ip(e){var t=it();return this.bitwiseTo(e,Lc,t),t}function Dc(e,t){return e&~t}function Cp(e){var t=it();return this.bitwiseTo(e,Dc,t),t}function _p(){for(var e=it(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e}function Rp(e){var t=it();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function Lp(e){var t=it();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function Dp(e){if(e==0)return-1;var t=0;return e&65535||(e>>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function Np(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+Dp(this.data[e]);return this.s<0?this.t*this.DB:-1}function Pp(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function kp(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=Pp(this.data[r]^t);return e}function Up(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function Op(e,t){var r=B.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function Mp(e){return this.changeBit(e,Eo)}function Kp(e){return this.changeBit(e,Dc)}function Fp(e){return this.changeBit(e,Lc)}function Vp(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function qp(e){var t=it();return this.addTo(e,t),t}function Hp(e){var t=it();return this.subTo(e,t),t}function zp(e){var t=it();return this.multiplyTo(e,t),t}function Gp(e){var t=it();return this.divRemTo(e,t,null),t}function Wp(e){var t=it();return this.divRemTo(e,null,t),t}function Yp(e){var t=it(),r=it();return this.divRemTo(e,t,r),new Array(t,r)}function $p(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function Qp(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function Mn(){}function Nc(e){return e}function Zp(e,t,r){e.multiplyTo(t,r)}function Xp(e,t){e.squareTo(t)}Mn.prototype.convert=Nc;Mn.prototype.revert=Nc;Mn.prototype.mulTo=Zp;Mn.prototype.sqrTo=Xp;function Jp(e){return this.exp(e,new Mn)}function jp(e,t,r){var n=Math.min(this.t+e.t,t);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,e.data[n],r,n,0,this.t);for(i=Math.min(e.t,t);n<i;++n)this.am(0,e.data[n],r,n,0,t-n);r.clamp()}function ty(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)}function fn(e){this.r2=it(),this.q3=it(),B.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function ey(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=it();return e.copyTo(t),this.reduce(t),t}function ry(e){return e}function ny(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function iy(e,t){e.squareTo(t),this.reduce(t)}function sy(e,t,r){e.multiplyTo(t,r),this.reduce(r)}fn.prototype.convert=ey;fn.prototype.revert=ry;fn.prototype.reduce=ny;fn.prototype.mulTo=sy;fn.prototype.sqrTo=iy;function oy(e,t){var r=e.bitLength(),n,i=hr(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 Dr(t):t.isEven()?s=new fn(t):s=new Nr(t);var o=new Array,a=3,c=n-1,u=(1<<n)-1;if(o[1]=s.convert(this),n>1){var f=it();for(s.sqrTo(o[1],f);a<=u;)o[a]=it(),s.mulTo(f,o[a-2],o[a]),a+=2}var l=e.t-1,h,y=!0,d=it(),p;for(r=Ti(e.data[l])-1;l>=0;){for(r>=c?h=e.data[l]>>r-c&u:(h=(e.data[l]&(1<<r+1)-1)<<c-r,l>0&&(h|=e.data[l-1]>>this.DB+r-c)),a=n;!(h&1);)h>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),y)o[h].copyTo(i),y=!1;else{for(;a>1;)s.sqrTo(i,d),s.sqrTo(d,i),a-=2;a>0?s.sqrTo(i,d):(p=i,i=d,d=p),s.mulTo(d,o[h],i)}for(;l>=0&&!(e.data[l]&1<<r);)s.sqrTo(i,d),p=i,i=d,d=p,--r<0&&(r=this.DB-1,--l)}return s.revert(i)}function ay(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),s=r.getLowestSetBit();if(s<0)return t;for(i<s&&(s=i),s>0&&(t.rShiftTo(s,t),r.rShiftTo(s,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return s>0&&r.lShiftTo(s,r),r}function cy(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function uy(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return B.ZERO;for(var r=e.clone(),n=this.clone(),i=hr(1),s=hr(0),o=hr(0),a=hr(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!i.isEven()||!s.isEven())&&(i.addTo(this,i),s.subTo(e,s)),i.rShiftTo(1,i)):s.isEven()||s.subTo(e,s),s.rShiftTo(1,s);for(;n.isEven();)n.rShiftTo(1,n),t?((!o.isEven()||!a.isEven())&&(o.addTo(this,o),a.subTo(e,a)),o.rShiftTo(1,o)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(o,i),s.subTo(a,s)):(n.subTo(r,n),t&&o.subTo(i,o),a.subTo(s,a))}if(n.compareTo(B.ONE)!=0)return B.ZERO;if(a.compareTo(e)>=0)return a.subtract(e);if(a.signum()<0)a.addTo(e,a);else return a;return a.signum()<0?a.add(e):a}var Te=[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],fy=(1<<26)/Te[Te.length-1];function ly(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=Te[Te.length-1]){for(t=0;t<Te.length;++t)if(r.data[0]==Te[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<Te.length;){for(var n=Te[t],i=t+1;i<Te.length&&n<fy;)n*=Te[i++];for(n=r.modInt(n);t<i;)if(n%Te[t++]==0)return!1}return r.millerRabin(e)}function hy(e){var t=this.subtract(B.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=dy(),s,o=0;o<e;++o){do s=new B(this.bitLength(),i);while(s.compareTo(B.ONE)<=0||s.compareTo(t)>=0);var a=s.modPow(n,this);if(a.compareTo(B.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(B.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function dy(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}B.prototype.chunkSize=pp;B.prototype.toRadix=mp;B.prototype.fromRadix=gp;B.prototype.fromNumber=xp;B.prototype.bitwiseTo=Sp;B.prototype.changeBit=Op;B.prototype.addTo=Vp;B.prototype.dMultiply=$p;B.prototype.dAddOffset=Qp;B.prototype.multiplyLowerTo=jp;B.prototype.multiplyUpperTo=ty;B.prototype.modInt=cy;B.prototype.millerRabin=hy;B.prototype.clone=fp;B.prototype.intValue=lp;B.prototype.byteValue=hp;B.prototype.shortValue=dp;B.prototype.signum=yp;B.prototype.toByteArray=vp;B.prototype.equals=bp;B.prototype.min=Ep;B.prototype.max=wp;B.prototype.and=Tp;B.prototype.or=Bp;B.prototype.xor=Ip;B.prototype.andNot=Cp;B.prototype.not=_p;B.prototype.shiftLeft=Rp;B.prototype.shiftRight=Lp;B.prototype.getLowestSetBit=Np;B.prototype.bitCount=kp;B.prototype.testBit=Up;B.prototype.setBit=Mp;B.prototype.clearBit=Kp;B.prototype.flipBit=Fp;B.prototype.add=qp;B.prototype.subtract=Hp;B.prototype.multiply=zp;B.prototype.divide=Gp;B.prototype.remainder=Wp;B.prototype.divideAndRemainder=Yp;B.prototype.modPow=oy;B.prototype.modInverse=uy;B.prototype.pow=Jp;B.prototype.gcd=ay;B.prototype.isProbablePrime=ly});var Kc=ot((V2,Mc)=>{var Oe=ht();Lr();Dt();var Uc=Mc.exports=Oe.sha1=Oe.sha1||{};Oe.md.sha1=Oe.md.algorithms.sha1=Uc;Uc.create=function(){Oc||py();var e=null,t=Oe.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 t=Oe.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,s){s==="utf8"&&(i=Oe.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 t.putBytes(i),kc(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Oe.util.createBuffer();i.putBytes(t.bytes());var s=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,o=s&n.blockLength-1;i.putBytes(wo.substr(0,n.blockLength-o));for(var a,c,u=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,c=a/4294967296>>>0,u+=c,i.putInt32(u>>>0),u=a>>>0;i.putInt32(u);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};kc(l,r,i);var h=Oe.util.createBuffer();return h.putInt32(l.h0),h.putInt32(l.h1),h.putInt32(l.h2),h.putInt32(l.h3),h.putInt32(l.h4),h},n};var wo=null,Oc=!1;function py(){wo="\x80",wo+=Oe.util.fillString("\0",64),Oc=!0}function kc(e,t,r){for(var n,i,s,o,a,c,u,f,l=r.length();l>=64;){for(i=e.h0,s=e.h1,o=e.h2,a=e.h3,c=e.h4,f=0;f<16;++f)n=r.getInt32(),t[f]=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(;f<20;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=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(;f<32;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=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(;f<40;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=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(;f<60;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=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(;f<80;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=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;e.h0=e.h0+i|0,e.h1=e.h1+s|0,e.h2=e.h2+o|0,e.h3=e.h3+a|0,e.h4=e.h4+c|0,l-=64}}});var qc=ot((q2,Vc)=>{var Me=ht();Dt();On();Kc();var Fc=Vc.exports=Me.pkcs1=Me.pkcs1||{};Fc.encode_rsa_oaep=function(e,t,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=Me.md.sha1.create(),o||(o=s);var a=Math.ceil(e.n.bitLength()/8),c=a-2*s.digestLength-2;if(t.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=t.length,u.maxLength=c,u}n||(n=""),s.update(n,"raw");for(var f=s.digest(),l="",h=c-t.length,y=0;y<h;y++)l+="\0";var d=f.getBytes()+l+""+t;if(!i)i=Me.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 p=Ii(i,a-s.digestLength-1,o),m=Me.util.xorBytes(d,p,d.length),x=Ii(m,s.digestLength,o),E=Me.util.xorBytes(i,x,i.length);return"\0"+E+m};Fc.decode_rsa_oaep=function(e,t,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(e.n.bitLength()/8);if(t.length!==o){var m=new Error("RSAES-OAEP encoded message length is invalid.");throw m.length=t.length,m.expectedLength=o,m}if(i===void 0?i=Me.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=t.charAt(0),u=t.substring(1,i.digestLength+1),f=t.substring(1+i.digestLength),l=Ii(f,i.digestLength,s),h=Me.util.xorBytes(u,l,u.length),y=Ii(h,o-i.digestLength-1,s),d=Me.util.xorBytes(f,y,f.length),p=d.substring(0,i.digestLength),m=c!=="\0",x=0;x<i.digestLength;++x)m|=a.charAt(x)!==p.charAt(x);for(var E=1,b=i.digestLength,R=i.digestLength;R<d.length;R++){var w=d.charCodeAt(R),S=w&1^1,L=E?65534:0;m|=w&L,E=E&S,b+=E}if(m||d.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return d.substring(b+1)};function Ii(e,t,r){r||(r=Me.md.sha1.create());for(var n="",i=Math.ceil(t/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(e+o),n+=r.digest().getBytes()}return n.substring(0,t)}});var Hc=ot((H2,So)=>{var dr=ht();Dt();Bi();On();(function(){if(dr.prime){So.exports=dr.prime;return}var e=So.exports=dr.prime=dr.prime||{},t=dr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(l,h){return l|h};e.generateProbablePrime=function(l,h,y){typeof h=="function"&&(y=h,h={}),h=h||{};var d=h.algorithm||"PRIMEINC";typeof d=="string"&&(d={name:d}),d.options=d.options||{};var p=h.prng||dr.random,m={nextBytes:function(x){for(var E=p.getBytesSync(x.length),b=0;b<x.length;++b)x[b]=E.charCodeAt(b)}};if(d.name==="PRIMEINC")return s(l,m,d.options,y);throw new Error("Invalid prime generation algorithm: "+d.name)};function s(l,h,y,d){return"workers"in y?c(l,h,y,d):o(l,h,y,d)}function o(l,h,y,d){var p=u(l,h),m=0,x=f(p.bitLength());"millerRabinTests"in y&&(x=y.millerRabinTests);var E=10;"maxBlockTime"in y&&(E=y.maxBlockTime),a(p,l,h,m,x,E,d)}function a(l,h,y,d,p,m,x){var E=+new Date;do{if(l.bitLength()>h&&(l=u(h,y)),l.isProbablePrime(p))return x(null,l);l.dAddOffset(r[d++%8],0)}while(m<0||+new Date-E<m);dr.util.setImmediate(function(){a(l,h,y,d,p,m,x)})}function c(l,h,y,d){if(typeof Worker>"u")return o(l,h,y,d);var p=u(l,h),m=y.workers,x=y.workLoad||100,E=x*30/8,b=y.workerScript||"forge/prime.worker.js";if(m===-1)return dr.util.estimateCores(function(w,S){w&&(S=2),m=S-1,R()});R();function R(){m=Math.max(1,m);for(var w=[],S=0;S<m;++S)w[S]=new Worker(b);for(var L=m,S=0;S<m;++S)w[S].addEventListener("message",Y);var D=!1;function Y(W){if(!D){--L;var q=W.data;if(q.found){for(var j=0;j<w.length;++j)w[j].terminate();return D=!0,d(null,new t(q.prime,16))}p.bitLength()>l&&(p=u(l,h));var lt=p.toString(16);W.target.postMessage({hex:lt,workLoad:x}),p.dAddOffset(E,0)}}}}function u(l,h){var y=new t(l,h),d=l-1;return y.testBit(d)||y.bitwiseTo(t.ONE.shiftLeft(d),i,y),y.dAddOffset(31-y.mod(n).byteValue(),0),y}function f(l){return l<=100?27:l<=150?18:l<=200?15:l<=250?12:l<=300?9:l<=350?8:l<=400?7:l<=500?6:l<=600?5:l<=800?4:l<=1250?3:2}})()});var _i=ot((z2,Zc)=>{var V=ht();Un();Bi();di();qc();Hc();On();Dt();typeof nt>"u"&&(nt=V.jsbn.BigInteger);var nt,Ao=V.util.isNodejs?bi():null,v=V.asn1,xe=V.util;V.pki=V.pki||{};Zc.exports=V.pki.rsa=V.rsa=V.rsa||{};var $=V.pki,yy=[6,4,2,4,2,4,6,2],my={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"}]},gy={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"}]},xy={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"}]},vy=V.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"}]}]},by={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"}]},Ey=function(e){var t;if(e.algorithm in $.oids)t=$.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=v.oidToDer(t).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,e.digest().getBytes());return i.value.push(s),i.value.push(o),v.toDer(i).getBytes()},$c=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(nt.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(nt.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new nt(V.util.bytesToHex(V.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(nt.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=e.mod(t.p).modPow(t.dP,t.p),s=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(s)<0;)i=i.add(t.p);var o=i.subtract(s).multiply(t.qInv).mod(t.p).multiply(t.q).add(s);return o=o.multiply(n.modInverse(t.n)).mod(t.n),o};$.rsa.encrypt=function(e,t,r){var n=r,i,s=Math.ceil(t.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=Qc(e,t,r)):(i=V.util.createBuffer(),i.putBytes(e));for(var o=new nt(i.toHex(),16),a=$c(o,t,n),c=a.toString(16),u=V.util.createBuffer(),f=s-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(V.util.hexToBytes(c)),u.getBytes()};$.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var s=new Error("Encrypted message length is invalid.");throw s.length=e.length,s.expected=i,s}var o=new nt(V.util.createBuffer(e).toHex(),16);if(o.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=$c(o,t,r),c=a.toString(16),u=V.util.createBuffer(),f=i-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(V.util.hexToBytes(c)),n!==!1?Ci(u.getBytes(),t,r):u.getBytes()};$.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||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:e,rng:i,eInt:t||65537,e:new nt(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},o.e.fromInt(o.eInt);else throw new Error("Invalid key generation algorithm: "+s);return o};$.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new nt(null);r.fromInt(30);for(var n=0,i=function(l,h){return l|h},s=+new Date,o,a=0;e.keys===null&&(t<=0||a<t);){if(e.state===0){var c=e.p===null?e.pBits:e.qBits,u=c-1;e.pqState===0?(e.num=new nt(c,e.rng),e.num.testBit(u)||e.num.bitwiseTo(nt.ONE.shiftLeft(u),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>c?e.pqState=0:e.num.isProbablePrime(Sy(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(yy[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(nt.ONE).gcd(e.e).compareTo(nt.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(nt.ONE),e.q1=e.q.subtract(nt.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(nt.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var f=e.e.modInverse(e.phi);e.keys={privateKey:$.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:$.rsa.setPublicKey(e.n,e.e)}}o=+new Date,a+=o-s,s=o}return e.keys!==null};$.rsa.generateKeyPair=function(e,t,r,n){if(arguments.length===1?typeof e=="object"?(r=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},e===void 0&&(e=r.bits||2048),t===void 0&&(t=r.e||65537),!V.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(zc("generateKeyPair"))return Ao.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:$.privateKeyFromPem(u),publicKey:$.publicKeyFromPem(c)})});if(Gc("generateKey")&&Gc("exportKey"))return xe.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Yc(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return xe.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=$.privateKeyFromAsn1(v.fromDer(V.util.createBuffer(a)));n(null,{privateKey:c,publicKey:$.setRsaPublicKey(c.n,c.e)})}});if(Wc("generateKey")&&Wc("exportKey")){var i=xe.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Yc(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=xe.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(f){var l=f.target.result,h=$.privateKeyFromAsn1(v.fromDer(V.util.createBuffer(l)));n(null,{privateKey:h,publicKey:$.setRsaPublicKey(h.n,h.e)})},u.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(zc("generateKeyPairSync")){var s=Ao.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:$.privateKeyFromPem(s.privateKey),publicKey:$.publicKeyFromPem(s.publicKey)}}}var o=$.rsa.createKeyPairGenerationState(e,t,r);if(!n)return $.rsa.stepKeyPairGenerationState(o,0),o.keys;wy(o,r,n)};$.setRsaPublicKey=$.rsa.setPublicKey=function(e,t){var r={n:e,e:t};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 Qc(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 $.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=Ci(u,r,!0);var f=v.fromDer(u,{parseAllBytes:o._parseAllDigestBytes}),l={},h=[];if(!v.validate(f,by,l,h)){var y=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw y.errors=h,y}var d=v.derToOid(l.algorithmIdentifier);if(!(d===V.oids.md2||d===V.oids.md5||d===V.oids.sha1||d===V.oids.sha224||d===V.oids.sha256||d===V.oids.sha384||d===V.oids.sha512||d===V.oids["sha512-224"]||d===V.oids["sha512-256"])){var y=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw y.oid=d,y}if((d===V.oids.md2||d===V.oids.md5)&&!("parameters"in l))throw new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value. Missing algorithm identifer NULL parameters.");return c===l.digest}}:(s==="NONE"||s==="NULL"||s===null)&&(s={verify:function(c,u){return u=Ci(u,r,!0),c===u}});var a=$.rsa.decrypt(i,r,!0,!1);return s.verify(n,a,r.n.bitLength())},r};$.setRsaPrivateKey=$.rsa.setPrivateKey=function(e,t,r,n,i,s,o,a){var c={n:e,e:t,d:r,p:n,q:i,dP:s,dQ:o,qInv:a};return c.decrypt=function(u,f,l){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var h=$.rsa.decrypt(u,c,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:Ci};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(y,d){return V.pkcs1.decode_rsa_oaep(d,y,l)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(y){return y}};else throw new Error('Unsupported encryption scheme: "'+f+'".');return f.decode(h,c,!1)},c.sign=function(u,f){var l=!1;typeof f=="string"&&(f=f.toUpperCase()),f===void 0||f==="RSASSA-PKCS1-V1_5"?(f={encode:Ey},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return u}},l=1);var h=f.encode(u,c.n.bitLength());return $.rsa.encrypt(h,c,l)},c};$.wrapRsaPrivateKey=function(e){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($.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,v.toDer(e).getBytes())])};$.privateKeyFromAsn1=function(e){var t={},r=[];if(v.validate(e,my,t,r)&&(e=v.fromDer(V.util.createBuffer(t.privateKey))),t={},r=[],!v.validate(e,gy,t,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,f,l;return i=V.util.createBuffer(t.privateKeyModulus).toHex(),s=V.util.createBuffer(t.privateKeyPublicExponent).toHex(),o=V.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=V.util.createBuffer(t.privateKeyPrime1).toHex(),c=V.util.createBuffer(t.privateKeyPrime2).toHex(),u=V.util.createBuffer(t.privateKeyExponent1).toHex(),f=V.util.createBuffer(t.privateKeyExponent2).toHex(),l=V.util.createBuffer(t.privateKeyCoefficient).toHex(),$.setRsaPrivateKey(new nt(i,16),new nt(s,16),new nt(o,16),new nt(a,16),new nt(c,16),new nt(u,16),new nt(f,16),new nt(l,16))};$.privateKeyToAsn1=$.privateKeyToRSAPrivateKey=function(e){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,Ke(e.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ke(e.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ke(e.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ke(e.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ke(e.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ke(e.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ke(e.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ke(e.qInv))])};$.publicKeyFromAsn1=function(e){var t={},r=[];if(v.validate(e,vy,t,r)){var n=v.derToOid(t.publicKeyOid);if(n!==$.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!v.validate(e,xy,t,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(t.publicKeyModulus).toHex(),o=V.util.createBuffer(t.publicKeyExponent).toHex();return $.setRsaPublicKey(new nt(s,16),new nt(o,16))};$.publicKeyToAsn1=$.publicKeyToSubjectPublicKeyInfo=function(e){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($.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[$.publicKeyToRSAPublicKey(e)])])};$.publicKeyToRSAPublicKey=function(e){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ke(e.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ke(e.e))])};function Qc(e,t,r){var n=V.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var s=new Error("Message is too long for PKCS#1 v1.5 padding.");throw s.length=e.length,s.max=i-11,s}n.putByte(0),n.putByte(r);var o=i-3-e.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,f=V.random.getBytes(o),c=0;c<o;++c)a=f.charCodeAt(c),a===0?++u:n.putByte(a);o=u}return n.putByte(0),n.putBytes(e),n}function Ci(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),s=V.util.createBuffer(e),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 f=s.getByte();if(f!==0||c!==i-3-s.length())throw new Error("Encryption block is invalid.");return s.getBytes()}function wy(e,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),i();function i(){s(e.pBits,function(a,c){if(a)return r(a);if(e.p=c,e.q!==null)return o(a,e.q);s(e.qBits,o)})}function s(a,c){V.prime.generateProbablePrime(a,n,c)}function o(a,c){if(a)return r(a);if(e.q=c,e.p.compareTo(e.q)<0){var u=e.p;e.p=e.q,e.q=u}if(e.p.subtract(nt.ONE).gcd(e.e).compareTo(nt.ONE)!==0){e.p=null,i();return}if(e.q.subtract(nt.ONE).gcd(e.e).compareTo(nt.ONE)!==0){e.q=null,s(e.qBits,o);return}if(e.p1=e.p.subtract(nt.ONE),e.q1=e.q.subtract(nt.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(nt.ONE)!==0){e.p=e.q=null,i();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,s(e.qBits,o);return}var f=e.e.modInverse(e.phi);e.keys={privateKey:$.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:$.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function Ke(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=V.util.hexToBytes(t);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 Sy(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function zc(e){return V.util.isNodejs&&typeof Ao[e]=="function"}function Gc(e){return typeof xe.globalScope<"u"&&typeof xe.globalScope.crypto=="object"&&typeof xe.globalScope.crypto.subtle=="object"&&typeof xe.globalScope.crypto.subtle[e]=="function"}function Wc(e){return typeof xe.globalScope<"u"&&typeof xe.globalScope.msCrypto=="object"&&typeof xe.globalScope.msCrypto.subtle=="object"&&typeof xe.globalScope.msCrypto.subtle[e]=="function"}function Yc(e){for(var t=V.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var ru=ot((G2,eu)=>{var O=ht();yo();Un();oc();Lr();di();lc();pc();On();Bc();_i();Dt();typeof Xc>"u"&&(Xc=O.jsbn.BigInteger);var Xc,A=O.asn1,Q=O.pki=O.pki||{};eu.exports=Q.pbe=O.pbe=O.pbe||{};var Pr=Q.oids,Ay={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"}]},Ty={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"}]}]},By={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"}]};Q.encryptPrivateKeyInfo=function(e,t,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=O.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,f,l;switch(r.algorithm){case"aes128":o=16,u=16,f=Pr["aes128-CBC"],l=O.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,f=Pr["aes192-CBC"],l=O.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,f=Pr["aes256-CBC"],l=O.aes.createEncryptionCipher;break;case"des":o=8,u=8,f=Pr.desCBC,l=O.des.createEncryptionCipher;break;default:var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var y="hmacWith"+r.prfAlgorithm.toUpperCase(),d=tu(y),p=O.pkcs5.pbkdf2(t,n,i,o,d),m=O.random.getBytesSync(u),x=l(p);x.start(m),x.update(A.toDer(e)),x.finish(),c=x.output.getBytes();var E=Iy(n,s,o,y);a=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(Pr.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(Pr.pkcs5PBKDF2).getBytes()),E]),A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(f).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,m)])])])}else if(r.algorithm==="3des"){o=24;var b=new O.util.ByteBuffer(n),p=Q.pbe.generatePkcs12Key(t,b,1,i,o),m=Q.pbe.generatePkcs12Key(t,b,2,i,o),x=O.des.createEncryptionCipher(p);x.start(m),x.update(A.toDer(e)),x.finish(),c=x.output.getBytes(),a=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(Pr["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 h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var R=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[a,A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,c)]);return R};Q.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!A.validate(e,Ay,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=Q.pbe.getCipher(o,n.encryptionParams,t),c=O.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=A.fromDer(a.output)),r};Q.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:A.toDer(e).getBytes()};return O.pem.encode(r,{maxline:t})};Q.encryptedPrivateKeyFromPem=function(e){var t=O.pem.decode(e)[0];if(t.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=t.type,r}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return A.fromDer(t.body)};Q.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=Q.wrapRsaPrivateKey(Q.privateKeyToAsn1(e));return n=Q.encryptPrivateKeyInfo(n,t,r),Q.encryptedPrivateKeyToPem(n)}var i,s,o,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",o=16,s=O.random.getBytesSync(16),a=O.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",o=24,s=O.random.getBytesSync(16),a=O.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",o=32,s=O.random.getBytesSync(16),a=O.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",o=24,s=O.random.getBytesSync(8),a=O.des.createEncryptionCipher;break;case"des":i="DES-CBC",o=8,s=O.random.getBytesSync(8),a=O.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=O.pbe.opensslDeriveBytes(t,s.substr(0,8),o),f=a(u);f.start(s),f.update(A.toDer(Q.privateKeyToAsn1(e))),f.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:O.util.bytesToHex(s).toUpperCase()},body:f.output.getBytes()};return O.pem.encode(l)};Q.decryptRsaPrivateKey=function(e,t){var r=null,n=O.pem.decode(e)[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=O.des.createDecryptionCipher;break;case"DES-EDE3-CBC":s=24,o=O.des.createDecryptionCipher;break;case"AES-128-CBC":s=16,o=O.aes.createDecryptionCipher;break;case"AES-192-CBC":s=24,o=O.aes.createDecryptionCipher;break;case"AES-256-CBC":s=32,o=O.aes.createDecryptionCipher;break;case"RC2-40-CBC":s=5,o=function(l){return O.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":s=8,o=function(l){return O.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":s=16,o=function(l){return O.rc2.createDecryptionCipher(l,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=O.util.hexToBytes(n.dekInfo.parameters),c=O.pbe.opensslDeriveBytes(t,a.substr(0,8),s),u=o(c);if(u.start(a),u.update(O.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=Q.decryptPrivateKeyInfo(A.fromDer(r),t):r=A.fromDer(r),r!==null&&(r=Q.privateKeyFromAsn1(r)),r};Q.pbe.generatePkcs12Key=function(e,t,r,n,i,s){var o,a;if(typeof s>"u"||s===null){if(!("sha1"in O.md))throw new Error('"sha1" hash algorithm unavailable.');s=O.md.sha1.create()}var c=s.digestLength,u=s.blockLength,f=new O.util.ByteBuffer,l=new O.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)l.putInt16(e.charCodeAt(a));l.putInt16(0)}var h=l.length(),y=t.length(),d=new O.util.ByteBuffer;d.fillWithByte(r,u);var p=u*Math.ceil(y/u),m=new O.util.ByteBuffer;for(a=0;a<p;a++)m.putByte(t.at(a%y));var x=u*Math.ceil(h/u),E=new O.util.ByteBuffer;for(a=0;a<x;a++)E.putByte(l.at(a%h));var b=m;b.putBuffer(E);for(var R=Math.ceil(i/c),w=1;w<=R;w++){var S=new O.util.ByteBuffer;S.putBytes(d.bytes()),S.putBytes(b.bytes());for(var L=0;L<n;L++)s.start(),s.update(S.getBytes()),S=s.digest();var D=new O.util.ByteBuffer;for(a=0;a<u;a++)D.putByte(S.at(a%c));var Y=Math.ceil(y/u)+Math.ceil(h/u),W=new O.util.ByteBuffer;for(o=0;o<Y;o++){var q=new O.util.ByteBuffer(b.getBytes(u)),j=511;for(a=D.length()-1;a>=0;a--)j=j>>8,j+=D.at(a)+q.at(a),q.setAt(a,j&255);W.putBuffer(q)}b=W,f.putBuffer(S)}return f.truncate(f.length()-i),f};Q.pbe.getCipher=function(e,t,r){switch(e){case Q.oids.pkcs5PBES2:return Q.pbe.getCipherForPBES2(e,t,r);case Q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case Q.oids["pbewithSHAAnd40BitRC2-CBC"]:return Q.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};Q.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!A.validate(t,Ty,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(e=A.derToOid(n.kdfOid),e!==Q.oids.pkcs5PBKDF2){var s=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw s.oid=e,s.supportedOids=["pkcs5PBKDF2"],s}if(e=A.derToOid(n.encOid),e!==Q.oids["aes128-CBC"]&&e!==Q.oids["aes192-CBC"]&&e!==Q.oids["aes256-CBC"]&&e!==Q.oids["des-EDE3-CBC"]&&e!==Q.oids.desCBC){var s=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw s.oid=e,s.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],s}var o=n.kdfSalt,a=O.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(Q.oids[e]){case"aes128-CBC":c=16,u=O.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=O.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=O.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=O.des.createDecryptionCipher;break;case"desCBC":c=8,u=O.des.createDecryptionCipher;break}var f=jc(n.prfOid),l=O.pkcs5.pbkdf2(r,o,a,c,f),h=n.encIv,y=u(l);return y.start(h),y};Q.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!A.validate(t,By,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=O.util.createBuffer(n.salt),a=O.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,f;switch(e){case Q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,f=O.des.startDecrypting;break;case Q.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,f=function(p,m){var x=O.rc2.createDecryptionCipher(p,40);return x.start(m,null),x};break;default:var s=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw s.oid=e,s}var l=jc(n.prfOid),h=Q.pbe.generatePkcs12Key(r,o,1,a,c,l);l.start();var y=Q.pbe.generatePkcs12Key(r,o,2,a,u,l);return f(h,y)};Q.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in O.md))throw new Error('"md5" hash algorithm unavailable.');n=O.md.md5.create()}t===null&&(t="");for(var i=[Jc(n,e+t)],s=16,o=1;s<r;++o,s+=16)i.push(Jc(n,i[o-1]+e+t));return i.join("").substr(0,r)};function Jc(e,t){return e.start().update(t).digest().getBytes()}function jc(e){var t;if(!e)t="hmacWithSHA1";else if(t=Q.oids[A.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return tu(t)}function tu(e){var t=O.md;switch(e){case"hmacWithSHA224":t=O.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function Iy(e,t,r,n){var i=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,e),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,O.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(Q.oids[n]).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")])),i}});var zu=ot((ub,Hu)=>{var xt=ht();Lr();Dt();var Wn=Hu.exports=xt.sha512=xt.sha512||{};xt.md.sha512=xt.md.algorithms.sha512=Wn;var Vu=xt.sha384=xt.sha512.sha384=xt.sha512.sha384||{};Vu.create=function(){return Wn.create("SHA-384")};xt.md.sha384=xt.md.algorithms.sha384=Vu;xt.sha512.sha256=xt.sha512.sha256||{create:function(){return Wn.create("SHA-512/256")}};xt.md["sha512/256"]=xt.md.algorithms["sha512/256"]=xt.sha512.sha256;xt.sha512.sha224=xt.sha512.sha224||{create:function(){return Wn.create("SHA-512/224")}};xt.md["sha512/224"]=xt.md.algorithms["sha512/224"]=xt.sha512.sha224;Wn.create=function(e){if(qu||Ym(),typeof e>"u"&&(e="SHA-512"),!(e in qr))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=qr[e],r=null,n=xt.util.createBuffer(),i=new Array(80),s=0;s<80;++s)i[s]=new Array(2);var o=64;switch(e){case"SHA-384":o=48;break;case"SHA-512/256":o=32;break;case"SHA-512/224":o=28;break}var a={algorithm:e.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=xt.util.createBuffer(),r=new Array(t.length);for(var u=0;u<t.length;++u)r[u]=t[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=xt.util.encodeUtf8(c));var f=c.length;a.messageLength+=f,f=[f/4294967296>>>0,f>>>0];for(var l=a.fullMessageLength.length-1;l>=0;--l)a.fullMessageLength[l]+=f[1],f[1]=f[0]+(a.fullMessageLength[l]/4294967296>>>0),a.fullMessageLength[l]=a.fullMessageLength[l]>>>0,f[0]=f[1]/4294967296>>>0;return n.putBytes(c),Fu(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=xt.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=u&a.blockLength-1;c.putBytes(na.substr(0,a.blockLength-f));for(var l,h,y=a.fullMessageLength[0]*8,d=0;d<a.fullMessageLength.length-1;++d)l=a.fullMessageLength[d+1]*8,h=l/4294967296>>>0,y+=h,c.putInt32(y>>>0),y=l>>>0;c.putInt32(y);for(var p=new Array(r.length),d=0;d<r.length;++d)p[d]=r[d].slice(0);Fu(p,i,c);var m=xt.util.createBuffer(),x;e==="SHA-512"?x=p.length:e==="SHA-384"?x=p.length-2:x=p.length-4;for(var d=0;d<x;++d)m.putInt32(p[d][0]),(d!==x-1||e!=="SHA-512/224")&&m.putInt32(p[d][1]);return m},a};var na=null,qu=!1,ia=null,qr=null;function Ym(){na="\x80",na+=xt.util.fillString("\0",128),ia=[[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]],qr={},qr["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],qr["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],qr["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],qr["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],qu=!0}function Fu(e,t,r){for(var n,i,s,o,a,c,u,f,l,h,y,d,p,m,x,E,b,R,w,S,L,D,Y,W,q,j,lt,Ht,I,P,_,N,T,M,F,G=r.length();G>=128;){for(I=0;I<16;++I)t[I][0]=r.getInt32()>>>0,t[I][1]=r.getInt32()>>>0;for(;I<80;++I)N=t[I-2],P=N[0],_=N[1],n=((P>>>19|_<<13)^(_>>>29|P<<3)^P>>>6)>>>0,i=((P<<13|_>>>19)^(_<<3|P>>>29)^(P<<26|_>>>6))>>>0,M=t[I-15],P=M[0],_=M[1],s=((P>>>1|_<<31)^(P>>>8|_<<24)^P>>>7)>>>0,o=((P<<31|_>>>1)^(P<<24|_>>>8)^(P<<25|_>>>7))>>>0,T=t[I-7],F=t[I-16],_=i+T[1]+o+F[1],t[I][0]=n+T[0]+s+F[0]+(_/4294967296>>>0)>>>0,t[I][1]=_>>>0;for(p=e[0][0],m=e[0][1],x=e[1][0],E=e[1][1],b=e[2][0],R=e[2][1],w=e[3][0],S=e[3][1],L=e[4][0],D=e[4][1],Y=e[5][0],W=e[5][1],q=e[6][0],j=e[6][1],lt=e[7][0],Ht=e[7][1],I=0;I<80;++I)u=((L>>>14|D<<18)^(L>>>18|D<<14)^(D>>>9|L<<23))>>>0,f=((L<<18|D>>>14)^(L<<14|D>>>18)^(D<<23|L>>>9))>>>0,l=(q^L&(Y^q))>>>0,h=(j^D&(W^j))>>>0,a=((p>>>28|m<<4)^(m>>>2|p<<30)^(m>>>7|p<<25))>>>0,c=((p<<4|m>>>28)^(m<<30|p>>>2)^(m<<25|p>>>7))>>>0,y=(p&x|b&(p^x))>>>0,d=(m&E|R&(m^E))>>>0,_=Ht+f+h+ia[I][1]+t[I][1],n=lt+u+l+ia[I][0]+t[I][0]+(_/4294967296>>>0)>>>0,i=_>>>0,_=c+d,s=a+y+(_/4294967296>>>0)>>>0,o=_>>>0,lt=q,Ht=j,q=Y,j=W,Y=L,W=D,_=S+i,L=w+n+(_/4294967296>>>0)>>>0,D=_>>>0,w=b,S=R,b=x,R=E,x=p,E=m,_=i+o,p=n+s+(_/4294967296>>>0)>>>0,m=_>>>0;_=e[0][1]+m,e[0][0]=e[0][0]+p+(_/4294967296>>>0)>>>0,e[0][1]=_>>>0,_=e[1][1]+E,e[1][0]=e[1][0]+x+(_/4294967296>>>0)>>>0,e[1][1]=_>>>0,_=e[2][1]+R,e[2][0]=e[2][0]+b+(_/4294967296>>>0)>>>0,e[2][1]=_>>>0,_=e[3][1]+S,e[3][0]=e[3][0]+w+(_/4294967296>>>0)>>>0,e[3][1]=_>>>0,_=e[4][1]+D,e[4][0]=e[4][0]+L+(_/4294967296>>>0)>>>0,e[4][1]=_>>>0,_=e[5][1]+W,e[5][0]=e[5][0]+Y+(_/4294967296>>>0)>>>0,e[5][1]=_>>>0,_=e[6][1]+j,e[6][0]=e[6][0]+q+(_/4294967296>>>0)>>>0,e[6][1]=_>>>0,_=e[7][1]+Ht,e[7][0]=e[7][0]+lt+(_/4294967296>>>0)>>>0,e[7][1]=_>>>0,G-=128}}});var zf=ot((O4,Hf)=>{"use strict";function qf(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function $g(e,t,r){if(!e||typeof e=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof t=="object"&&(r=t,t=""),t&&(r.code=t);try{return qf(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),qf(new i,r)}}Hf.exports=$g});var il=ot((iS,nl)=>{function Se(e,t){typeof t=="boolean"&&(t={forever:t}),this._originalTimeouts=JSON.parse(JSON.stringify(e)),this._timeouts=e,this._options=t||{},this._maxRetryTime=t&&t.maxRetryTime||1/0,this._fn=null,this._errors=[],this._attempts=1,this._operationTimeout=null,this._operationTimeoutCb=null,this._timeout=null,this._operationStart=null,this._timer=null,this._options.forever&&(this._cachedTimeouts=this._timeouts.slice(0))}nl.exports=Se;Se.prototype.reset=function(){this._attempts=1,this._timeouts=this._originalTimeouts.slice(0)};Se.prototype.stop=function(){this._timeout&&clearTimeout(this._timeout),this._timer&&clearTimeout(this._timer),this._timeouts=[],this._cachedTimeouts=null};Se.prototype.retry=function(e){if(this._timeout&&clearTimeout(this._timeout),!e)return!1;var t=new Date().getTime();if(e&&t-this._operationStart>=this._maxRetryTime)return this._errors.push(e),this._errors.unshift(new Error("RetryOperation timeout occurred")),!1;this._errors.push(e);var r=this._timeouts.shift();if(r===void 0)if(this._cachedTimeouts)this._errors.splice(0,this._errors.length-1),r=this._cachedTimeouts.slice(-1);else return!1;var n=this;return this._timer=setTimeout(function(){n._attempts++,n._operationTimeoutCb&&(n._timeout=setTimeout(function(){n._operationTimeoutCb(n._attempts)},n._operationTimeout),n._options.unref&&n._timeout.unref()),n._fn(n._attempts)},r),this._options.unref&&this._timer.unref(),!0};Se.prototype.attempt=function(e,t){this._fn=e,t&&(t.timeout&&(this._operationTimeout=t.timeout),t.cb&&(this._operationTimeoutCb=t.cb));var r=this;this._operationTimeoutCb&&(this._timeout=setTimeout(function(){r._operationTimeoutCb()},r._operationTimeout)),this._operationStart=new Date().getTime(),this._fn(this._attempts)};Se.prototype.try=function(e){console.log("Using RetryOperation.try() is deprecated"),this.attempt(e)};Se.prototype.start=function(e){console.log("Using RetryOperation.start() is deprecated"),this.attempt(e)};Se.prototype.start=Se.prototype.try;Se.prototype.errors=function(){return this._errors};Se.prototype.attempts=function(){return this._attempts};Se.prototype.mainError=function(){if(this._errors.length===0)return null;for(var e={},t=null,r=0,n=0;n<this._errors.length;n++){var i=this._errors[n],s=i.message,o=(e[s]||0)+1;e[s]=o,o>=r&&(t=i,r=o)}return t}});var sl=ot($r=>{var Jg=il();$r.operation=function(e){var t=$r.timeouts(e);return new Jg(t,{forever:e&&(e.forever||e.retries===1/0),unref:e&&e.unref,maxRetryTime:e&&e.maxRetryTime})};$r.timeouts=function(e){if(e instanceof Array)return[].concat(e);var t={retries:10,factor:2,minTimeout:1*1e3,maxTimeout:1/0,randomize:!1};for(var r in e)t[r]=e[r];if(t.minTimeout>t.maxTimeout)throw new Error("minTimeout is greater than maxTimeout");for(var n=[],i=0;i<t.retries;i++)n.push(this.createTimeout(i,t));return e&&e.forever&&!n.length&&n.push(this.createTimeout(i,t)),n.sort(function(s,o){return s-o}),n};$r.createTimeout=function(e,t){var r=t.randomize?Math.random()+1:1,n=Math.round(r*Math.max(t.minTimeout,1)*Math.pow(t.factor,e));return n=Math.min(n,t.maxTimeout),n};$r.wrap=function(e,t,r){if(t instanceof Array&&(r=t,t=null),!r){r=[];for(var n in e)typeof e[n]=="function"&&r.push(n)}for(var i=0;i<r.length;i++){var s=r[i],o=e[s];e[s]=function(c){var u=$r.operation(t),f=Array.prototype.slice.call(arguments,1),l=f.pop();f.push(function(h){u.retry(h)||(h&&(arguments[0]=u.mainError()),l.apply(this,arguments))}),u.attempt(function(){c.apply(e,f)})}.bind(e,o),e[s].options=t}}});var al=ot((oS,ol)=>{ol.exports=sl()});var yl=ot((jS,Ga)=>{"use strict";var a1=Object.prototype.hasOwnProperty,se="~";function ri(){}Object.create&&(ri.prototype=Object.create(null),new ri().__proto__||(se=!1));function c1(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function pl(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new c1(r,n||e,i),o=se?se+t:t;return e._events[o]?e._events[o].fn?e._events[o]=[e._events[o],s]:e._events[o].push(s):(e._events[o]=s,e._eventsCount++),e}function ms(e,t){--e._eventsCount===0?e._events=new ri:delete e._events[t]}function re(){this._events=new ri,this._eventsCount=0}re.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)a1.call(r,n)&&t.push(se?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};re.prototype.listeners=function(t){var r=se?se+t:t,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};re.prototype.listenerCount=function(t){var r=se?se+t:t,n=this._events[r];return n?n.fn?1:n.length:0};re.prototype.emit=function(t,r,n,i,s,o){var a=se?se+t:t;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,f,l;if(c.fn){switch(c.once&&this.removeListener(t,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(l=1,f=new Array(u-1);l<u;l++)f[l-1]=arguments[l];c.fn.apply(c.context,f)}else{var h=c.length,y;for(l=0;l<h;l++)switch(c[l].once&&this.removeListener(t,c[l].fn,void 0,!0),u){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,r);break;case 3:c[l].fn.call(c[l].context,r,n);break;case 4:c[l].fn.call(c[l].context,r,n,i);break;default:if(!f)for(y=1,f=new Array(u-1);y<u;y++)f[y-1]=arguments[y];c[l].fn.apply(c[l].context,f)}}return!0};re.prototype.on=function(t,r,n){return pl(this,t,r,n,!1)};re.prototype.once=function(t,r,n){return pl(this,t,r,n,!0)};re.prototype.removeListener=function(t,r,n,i){var s=se?se+t:t;if(!this._events[s])return this;if(!r)return ms(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&ms(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:ms(this,s)}return this};re.prototype.removeAllListeners=function(t){var r;return t?(r=se?se+t:t,this._events[r]&&ms(this,r)):(this._events=new ri,this._eventsCount=0),this};re.prototype.off=re.prototype.removeListener;re.prototype.addListener=re.prototype.on;re.prefixed=se;re.EventEmitter=re;typeof Ga<"u"&&(Ga.exports=re)});var w1={};Kt(w1,{RELAY_V2_HOP_CODEC:()=>we,RELAY_V2_STOP_CODEC:()=>Yr,circuitRelayServer:()=>ll,circuitRelayTransport:()=>Ul});var me=class extends EventTarget{#t=new Map;listenerCount(t){let r=this.#t.get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=this.#t.get(t);i==null&&(i=[],this.#t.set(t,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,r,n){super.removeEventListener(t.toString(),r??null,n);let i=this.#t.get(t);i!=null&&(i=i.filter(({callback:s})=>s!==r),this.#t.set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=this.#t.get(t.type);return n==null||(n=n.filter(({once:i})=>!i),this.#t.set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new Xl(t,r))}},Ns=class extends Event{detail;constructor(t,r){super(t,r),this.detail=r?.detail}},Xl=globalThis.CustomEvent??Ns,g0=(e,...t)=>{try{[...t]}catch{}};var H=class extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var x0="ERR_INVALID_PARAMETERS";var v0=Symbol.for("@libp2p/peer-id");var Ms={};Kt(Ms,{base58btc:()=>kt,base58flickr:()=>nh});function Jl(e,t){if(e.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<e.length;i++){var s=e.charAt(i),o=s.charCodeAt(0);if(r[o]!==255)throw new TypeError(s+" is ambiguous");r[o]=i}var a=e.length,c=e.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(d){if(d instanceof Uint8Array||(ArrayBuffer.isView(d)?d=new Uint8Array(d.buffer,d.byteOffset,d.byteLength):Array.isArray(d)&&(d=Uint8Array.from(d))),!(d instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(d.length===0)return"";for(var p=0,m=0,x=0,E=d.length;x!==E&&d[x]===0;)x++,p++;for(var b=(E-x)*f+1>>>0,R=new Uint8Array(b);x!==E;){for(var w=d[x],S=0,L=b-1;(w!==0||S<m)&&L!==-1;L--,S++)w+=256*R[L]>>>0,R[L]=w%a>>>0,w=w/a>>>0;if(w!==0)throw new Error("Non-zero carry");m=S,x++}for(var D=b-m;D!==b&&R[D]===0;)D++;for(var Y=c.repeat(p);D<b;++D)Y+=e.charAt(R[D]);return Y}function h(d){if(typeof d!="string")throw new TypeError("Expected String");if(d.length===0)return new Uint8Array;var p=0;if(d[p]!==" "){for(var m=0,x=0;d[p]===c;)m++,p++;for(var E=(d.length-p)*u+1>>>0,b=new Uint8Array(E);d[p];){var R=r[d.charCodeAt(p)];if(R===255)return;for(var w=0,S=E-1;(R!==0||w<x)&&S!==-1;S--,w++)R+=a*b[S]>>>0,b[S]=R%256>>>0,R=R/256>>>0;if(R!==0)throw new Error("Non-zero carry");x=w,p++}if(d[p]!==" "){for(var L=E-x;L!==E&&b[L]===0;)L++;for(var D=new Uint8Array(m+(E-L)),Y=m;L!==E;)D[Y++]=b[L++];return D}}}function y(d){var p=h(d);if(p)return p;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:h,decode:y}}var jl=Jl,th=jl,b0=th;var L1=new Uint8Array(0);var E0=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},ze=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var w0=e=>new TextEncoder().encode(e),S0=e=>new TextDecoder().decode(e);var Ps=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},ks=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return T0(this,t)}},Us=class{constructor(t){this.decoders=t}or(t){return T0(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},T0=(e,t)=>new Us({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Os=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Ps(t,r,n),this.decoder=new ks(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Jr=({name:e,prefix:t,encode:r,decode:n})=>new Os(e,t,r,n),ar=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=b0(r,t);return Jr({prefix:e,name:t,encode:n,decode:s=>ze(i(s))})},eh=(e,t,r,n)=>{let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let s=e.length;for(;e[s-1]==="=";)--s;let o=new Uint8Array(s*r/8|0),a=0,c=0,u=0;for(let f=0;f<s;++f){let l=i[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,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},rh=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,s="",o=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],o+=8;o>r;)o-=r,s+=t[i&a>>o];if(o&&(s+=t[i&a<<r-o]),n)for(;s.length*r&7;)s+="=";return s},Bt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>Jr({prefix:t,name:e,encode(i){return rh(i,n,r)},decode(i){return eh(i,n,r,e)}});var kt=ar({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),nh=ar({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ks={};Kt(Ks,{base10:()=>ih});var ih=ar({prefix:"9",name:"base10",alphabet:"0123456789"});var Fs={};Kt(Fs,{base16:()=>sh,base16upper:()=>oh});var sh=Bt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),oh=Bt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Vs={};Kt(Vs,{base2:()=>ah});var ah=Bt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var qs={};Kt(qs,{base256emoji:()=>hh});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}"),ch=B0.reduce((e,t,r)=>(e[r]=t,e),[]),uh=B0.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function fh(e){return e.reduce((t,r)=>(t+=ch[r],t),"")}function lh(e){let t=[];for(let r of e){let n=uh[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var hh=Jr({prefix:"\u{1F680}",name:"base256emoji",encode:fh,decode:lh});var Hs={};Kt(Hs,{base32:()=>Ge,base32hex:()=>mh,base32hexpad:()=>xh,base32hexpadupper:()=>vh,base32hexupper:()=>gh,base32pad:()=>ph,base32padupper:()=>yh,base32upper:()=>dh,base32z:()=>bh});var Ge=Bt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),dh=Bt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),ph=Bt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),yh=Bt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),mh=Bt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),gh=Bt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),xh=Bt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),vh=Bt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),bh=Bt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var zs={};Kt(zs,{base36:()=>Eh,base36upper:()=>wh});var Eh=ar({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),wh=ar({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Gs={};Kt(Gs,{base64:()=>fi,base64pad:()=>Sh,base64url:()=>Ah,base64urlpad:()=>Th});var fi=Bt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Sh=Bt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Ah=Bt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Th=Bt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Ws={};Kt(Ws,{base8:()=>Bh});var Bh=Bt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Ys={};Kt(Ys,{identity:()=>Ih});var Ih=Jr({prefix:"\0",name:"identity",encode:e=>S0(e),decode:e=>w0(e)});var W1=new TextEncoder,Y1=new TextDecoder;var Qs={};Kt(Qs,{identity:()=>cr});var Rh=_0,I0=128,Lh=127,Dh=~Lh,Nh=Math.pow(2,31);function _0(e,t,r){t=t||[],r=r||0;for(var n=r;e>=Nh;)t[r++]=e&255|I0,e/=128;for(;e&Dh;)t[r++]=e&255|I0,e>>>=7;return t[r]=e|0,_0.bytes=r-n+1,t}var Ph=$s,kh=128,C0=127;function $s(e,n){var r=0,n=n||0,i=0,s=n,o,a=e.length;do{if(s>=a)throw $s.bytes=0,new RangeError("Could not decode varint");o=e[s++],r+=i<28?(o&C0)<<i:(o&C0)*Math.pow(2,i),i+=7}while(o>=kh);return $s.bytes=s-n,r}var Uh=Math.pow(2,7),Oh=Math.pow(2,14),Mh=Math.pow(2,21),Kh=Math.pow(2,28),Fh=Math.pow(2,35),Vh=Math.pow(2,42),qh=Math.pow(2,49),Hh=Math.pow(2,56),zh=Math.pow(2,63),Gh=function(e){return e<Uh?1:e<Oh?2:e<Mh?3:e<Kh?4:e<Fh?5:e<Vh?6:e<qh?7:e<Hh?8:e<zh?9:10},Wh={encode:Rh,decode:Ph,encodingLength:Gh},Yh=Wh,_n=Yh;var Rn=(e,t=0)=>[_n.decode(e,t),_n.decode.bytes],jr=(e,t,r=0)=>(_n.encode(e,t,r),t),tn=e=>_n.encodingLength(e);var Ne=(e,t)=>{let r=t.byteLength,n=tn(e),i=n+tn(r),s=new Uint8Array(i+r);return jr(e,s,0),jr(r,s,n),s.set(t,i),new en(e,r,t,s)},Cr=e=>{let t=ze(e),[r,n]=Rn(t),[i,s]=Rn(t.subarray(n)),o=t.subarray(n+s);if(o.byteLength!==i)throw new Error("Incorrect length");return new en(r,i,o,t)},R0=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&E0(e.bytes,r.bytes)}},en=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var L0=0,$h="identity",D0=ze,Qh=e=>Ne(L0,D0(e)),cr={code:L0,name:$h,encode:D0,digest:Qh};var Js={};Kt(Js,{sha256:()=>Ut,sha512:()=>Zh});var Xs=({name:e,code:t,encode:r})=>new Zs(e,t,r),Zs=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?Ne(this.code,r):r.then(n=>Ne(this.code,n))}else throw Error("Unknown type, must be binary type")}};var P0=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Ut=Xs({name:"sha2-256",code:18,encode:P0("SHA-256")}),Zh=Xs({name:"sha2-512",code:19,encode:P0("SHA-512")});var k0=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return Jh(r,js(e),t||kt.encoder);default:return jh(r,js(e),t||Ge.encoder)}};var U0=new WeakMap,js=e=>{let t=U0.get(e);if(t==null){let r=new Map;return U0.set(e,r),r}return t},fe=class e{constructor(t,r,n,i){this.code=r,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==Ln)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==td)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return e.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:t,digest:r}=this.multihash,n=Ne(t,r);return e.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return e.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&R0(t.multihash,n.multihash)}toString(t){return k0(this,t)}toJSON(){return{"/":k0(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof e)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:s,bytes:o}=r;return new e(n,i,s,o||O0(n,i,s.bytes))}else if(r[ed]===!0){let{version:n,multihash:i,code:s}=r,o=Cr(i);return e.create(n,s,o)}else return null}static create(t,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(t){case 0:{if(r!==Ln)throw new Error(`Version 0 CID must use dag-pb (code: ${Ln}) block encoding`);return new e(t,r,n,n.bytes)}case 1:{let i=O0(t,r,n.bytes);return new e(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return e.create(0,Ln,t)}static createV1(t,r){return e.create(1,t,r)}static decode(t){let[r,n]=e.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=e.inspectBytes(t),n=r.size-r.multihashSize,i=ze(t.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 en(r.multihashCode,r.digestSize,s,i);return[r.version===0?e.createV0(o):e.createV1(r.codec,o),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,h]=Rn(t.subarray(r));return r+=h,l},i=n(),s=Ln;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,f=u-o;return{version:i,codec:s,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(t,r){let[n,i]=Xh(t,r),s=e.decode(i);if(s.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return js(s).set(n,t),s}},Xh=(e,t)=>{switch(e[0]){case"Q":{let r=t||kt;return[kt.prefix,r.decode(`${kt.prefix}${e}`)]}case kt.prefix:{let r=t||kt;return[kt.prefix,r.decode(e)]}case Ge.prefix:{let r=t||Ge;return[Ge.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},Jh=(e,t,r)=>{let{prefix:n}=r;if(n!==kt.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let s=r.encode(e).slice(1);return t.set(n,s),s}else return i},jh=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let s=r.encode(e);return t.set(n,s),s}else return i},Ln=112,td=18,O0=(e,t,r)=>{let n=tn(e),i=n+tn(t),s=new Uint8Array(i+r.byteLength);return jr(e,s,0),jr(t,s,n),s.set(r,i),s},ed=Symbol.for("@ipld/js-cid/CID");var ur={...Ys,...Vs,...Ws,...Ks,...Fs,...Hs,...zs,...Ms,...Gs,...qs},u2={...Js,...Qs};function Ct(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var rd=Symbol.for("nodejs.util.inspect.custom"),M0=Object.values(ur).map(e=>e.decoder).reduce((e,t)=>e.or(t),ur.identity.decoder),K0=114,to=36,eo=37,Dn=class{type;multihash;privateKey;publicKey;string;constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[v0]=!0;toString(){return this.string==null&&(this.string=kt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return fe.createV1(K0,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return Ct(this.multihash.bytes,t);if(typeof t=="string")return St(t).equals(this);if(t?.multihash?.bytes!=null)return Ct(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[rd](){return`PeerId(${this.toString()})`}},rn=class extends Dn{type="RSA";publicKey;constructor(t){super({...t,type:"RSA"}),this.publicKey=t.publicKey}},nn=class extends Dn{type="Ed25519";publicKey;constructor(t){super({...t,type:"Ed25519"}),this.publicKey=t.multihash.digest}},sn=class extends Dn{type="secp256k1";publicKey;constructor(t){super({...t,type:"secp256k1"}),this.publicKey=t.multihash.digest}};function St(e,t){if(t=t??M0,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=Cr(kt.decode(`z${e}`));return e.startsWith("12D")?new nn({multihash:r}):e.startsWith("16U")?new sn({multihash:r}):new rn({multihash:r})}return on(M0.decode(e))}function on(e){try{let t=Cr(e);if(t.code===cr.code){if(t.digest.length===to)return new nn({multihash:t});if(t.digest.length===eo)return new sn({multihash:t})}if(t.code===Ut.code)return new rn({multihash:t})}catch{return nd(fe.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function nd(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==K0)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===Ut.code)return new rn({multihash:e.multihash});if(t.code===cr.code){if(t.digest.length===to)return new nn({multihash:e.multihash});if(t.digest.length===eo)return new sn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function F0(e,t){return e.length===to?new nn({multihash:Ne(cr.code,e),privateKey:t}):e.length===eo?new sn({multihash:Ne(cr.code,e),privateKey:t}):new rn({multihash:await Ut.digest(e),publicKey:e,privateKey:t})}var mE=Yt(Un(),1),gE=Yt(ru(),1);var vg=Yt(ht(),1);function pr(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Qe(e=0){return globalThis.Buffer?.alloc!=null?pr(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function $t(e=0){return globalThis.Buffer?.allocUnsafe!=null?pr(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function iu(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var nu=iu("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),To=iu("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=$t(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Cy={utf8:nu,"utf-8":nu,hex:ur.base16,latin1:To,ascii:To,binary:To,...ur},Ri=Cy;function Nt(e,t="utf8"){let r=Ri[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?pr(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var ra={};Kt(ra,{Ed25519PrivateKey:()=>Vr,Ed25519PublicKey:()=>Gn,generateKeyPair:()=>Hm,generateKeyPairFromSeed:()=>Ku,unmarshalEd25519PrivateKey:()=>Vm,unmarshalEd25519PublicKey:()=>qm});var ox=Yt(Dt(),1),ax=Yt(Bi(),1),su=Yt(ht(),1);function Ot(e,t){if(globalThis.Buffer!=null)return pr(globalThis.Buffer.concat(e,t));t==null&&(t=e.reduce((i,s)=>i+s.length,0));let r=$t(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return pr(r)}function pt(e,t="utf8"){let r=Ri[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function Be(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=Ot([new Uint8Array(t-r.length),r])}return pt(r,"base64url")}function le(e){let t=ou(e);return new su.default.jsbn.BigInteger(pt(t,"base16"),16)}function ou(e,t){let r=Nt(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=Ot([new Uint8Array(t-r.length),r])}return r}function ve(e){return e==null?!1:typeof e.then=="function"&&typeof e.catch=="function"&&typeof e.finally=="function"}function au(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function Bo(e,...t){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");if(t.length>0&&!t.includes(e.length))throw new Error(`Expected Uint8Array of length ${t}, not of length=${e.length}`)}function cu(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");au(e.outputLen),au(e.blockLen)}function ln(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function uu(e,t){Bo(e);let r=t.outputLen;if(e.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Li=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var fu=e=>e instanceof Uint8Array;var Di=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),Ie=(e,t)=>e<<32-t|e>>>t,_y=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!_y)throw new Error("Non little-endian hardware is not supported");function Io(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function Kn(e){if(typeof e=="string"&&(e=Io(e)),!fu(e))throw new Error(`expected Uint8Array, got ${typeof e}`);return e}function Ni(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!fu(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}var hn=class{clone(){return this._cloneInto()}},yx={}.toString;function Pi(e){let t=n=>e().update(Kn(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function dn(e=32){if(Li&&typeof Li.getRandomValues=="function")return Li.getRandomValues(new Uint8Array(e));throw new Error("crypto.getRandomValues must be defined")}function Ry(e,t,r,n){if(typeof e.setBigUint64=="function")return e.setBigUint64(t,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;e.setUint32(t+c,o,n),e.setUint32(t+u,a,n)}var pn=class extends hn{constructor(t,r,n,i){super(),this.blockLen=t,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(t),this.view=Di(this.buffer)}update(t){ln(this);let{view:r,buffer:n,blockLen:i}=this;t=Kn(t);let s=t.length;for(let o=0;o<s;){let a=Math.min(i-this.pos,s-o);if(a===i){let c=Di(t);for(;i<=s-o;o+=i)this.process(c,o);continue}n.set(t.subarray(o,o+a),this.pos),this.pos+=a,o+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=t.length,this.roundClean(),this}digestInto(t){ln(this),uu(t,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 l=o;l<i;l++)r[l]=0;Ry(n,i-8,BigInt(this.length*8),s),this.process(n,0);let a=Di(t),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,f[l],s)}digest(){let{buffer:t,outputLen:r}=this;this.digestInto(t);let n=t.slice(0,r);return this.destroy(),n}_cloneInto(t){t||(t=new this.constructor),t.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:s,destroyed:o,pos:a}=this;return t.length=i,t.pos=a,t.finished=s,t.destroyed=o,i%r&&t.buffer.set(n),t}};var ki=BigInt(4294967295),Co=BigInt(32);function lu(e,t=!1){return t?{h:Number(e&ki),l:Number(e>>Co&ki)}:{h:Number(e>>Co&ki)|0,l:Number(e&ki)|0}}function Ly(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;i<e.length;i++){let{h:s,l:o}=lu(e[i],t);[r[i],n[i]]=[s,o]}return[r,n]}var Dy=(e,t)=>BigInt(e>>>0)<<Co|BigInt(t>>>0),Ny=(e,t,r)=>e>>>r,Py=(e,t,r)=>e<<32-r|t>>>r,ky=(e,t,r)=>e>>>r|t<<32-r,Uy=(e,t,r)=>e<<32-r|t>>>r,Oy=(e,t,r)=>e<<64-r|t>>>r-32,My=(e,t,r)=>e>>>r-32|t<<64-r,Ky=(e,t)=>t,Fy=(e,t)=>e,Vy=(e,t,r)=>e<<r|t>>>32-r,qy=(e,t,r)=>t<<r|e>>>32-r,Hy=(e,t,r)=>t<<r-32|e>>>64-r,zy=(e,t,r)=>e<<r-32|t>>>64-r;function Gy(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var Wy=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Yy=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,$y=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Qy=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,Zy=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),Xy=(e,t,r,n,i,s)=>t+r+n+i+s+(e/2**32|0)|0;var Jy={fromBig:lu,split:Ly,toBig:Dy,shrSH:Ny,shrSL:Py,rotrSH:ky,rotrSL:Uy,rotrBH:Oy,rotrBL:My,rotr32H:Ky,rotr32L:Fy,rotlSH:Vy,rotlSL:qy,rotlBH:Hy,rotlBL:zy,add:Gy,add3L:Wy,add3H:Yy,add4L:$y,add4H:Qy,add5H:Xy,add5L:Zy},Z=Jy;var[jy,tm]=Z.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(e=>BigInt(e))),yr=new Uint32Array(80),mr=new Uint32Array(80),_o=class extends pn{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:t,Al:r,Bh:n,Bl:i,Ch:s,Cl:o,Dh:a,Dl:c,Eh:u,El:f,Fh:l,Fl:h,Gh:y,Gl:d,Hh:p,Hl:m}=this;return[t,r,n,i,s,o,a,c,u,f,l,h,y,d,p,m]}set(t,r,n,i,s,o,a,c,u,f,l,h,y,d,p,m){this.Ah=t|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=f|0,this.Fh=l|0,this.Fl=h|0,this.Gh=y|0,this.Gl=d|0,this.Hh=p|0,this.Hl=m|0}process(t,r){for(let b=0;b<16;b++,r+=4)yr[b]=t.getUint32(r),mr[b]=t.getUint32(r+=4);for(let b=16;b<80;b++){let R=yr[b-15]|0,w=mr[b-15]|0,S=Z.rotrSH(R,w,1)^Z.rotrSH(R,w,8)^Z.shrSH(R,w,7),L=Z.rotrSL(R,w,1)^Z.rotrSL(R,w,8)^Z.shrSL(R,w,7),D=yr[b-2]|0,Y=mr[b-2]|0,W=Z.rotrSH(D,Y,19)^Z.rotrBH(D,Y,61)^Z.shrSH(D,Y,6),q=Z.rotrSL(D,Y,19)^Z.rotrBL(D,Y,61)^Z.shrSL(D,Y,6),j=Z.add4L(L,q,mr[b-7],mr[b-16]),lt=Z.add4H(j,S,W,yr[b-7],yr[b-16]);yr[b]=lt|0,mr[b]=j|0}let{Ah:n,Al:i,Bh:s,Bl:o,Ch:a,Cl:c,Dh:u,Dl:f,Eh:l,El:h,Fh:y,Fl:d,Gh:p,Gl:m,Hh:x,Hl:E}=this;for(let b=0;b<80;b++){let R=Z.rotrSH(l,h,14)^Z.rotrSH(l,h,18)^Z.rotrBH(l,h,41),w=Z.rotrSL(l,h,14)^Z.rotrSL(l,h,18)^Z.rotrBL(l,h,41),S=l&y^~l&p,L=h&d^~h&m,D=Z.add5L(E,w,L,tm[b],mr[b]),Y=Z.add5H(D,x,R,S,jy[b],yr[b]),W=D|0,q=Z.rotrSH(n,i,28)^Z.rotrBH(n,i,34)^Z.rotrBH(n,i,39),j=Z.rotrSL(n,i,28)^Z.rotrBL(n,i,34)^Z.rotrBL(n,i,39),lt=n&s^n&a^s&a,Ht=i&o^i&c^o&c;x=p|0,E=m|0,p=y|0,m=d|0,y=l|0,d=h|0,{h:l,l:h}=Z.add(u|0,f|0,Y|0,W|0),u=a|0,f=c|0,a=s|0,c=o|0,s=n|0,o=i|0;let I=Z.add3L(W,j,Ht);n=Z.add3H(I,Y,q,lt),i=I|0}({h:n,l:i}=Z.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:s,l:o}=Z.add(this.Bh|0,this.Bl|0,s|0,o|0),{h:a,l:c}=Z.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=Z.add(this.Dh|0,this.Dl|0,u|0,f|0),{h:l,l:h}=Z.add(this.Eh|0,this.El|0,l|0,h|0),{h:y,l:d}=Z.add(this.Fh|0,this.Fl|0,y|0,d|0),{h:p,l:m}=Z.add(this.Gh|0,this.Gl|0,p|0,m|0),{h:x,l:E}=Z.add(this.Hh|0,this.Hl|0,x|0,E|0),this.set(n,i,s,o,a,c,u,f,l,h,y,d,p,m,x,E)}roundClean(){yr.fill(0),mr.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 Ro=Pi(()=>new _o);var Mi={};Kt(Mi,{bitGet:()=>am,bitLen:()=>om,bitMask:()=>Fn,bitSet:()=>cm,bytesToHex:()=>Ze,bytesToNumberBE:()=>Xe,bytesToNumberLE:()=>gr,concatBytes:()=>Je,createHmacDrbg:()=>No,ensureBytes:()=>It,equalBytes:()=>im,hexToBytes:()=>kr,hexToNumber:()=>Do,numberToBytesBE:()=>xr,numberToBytesLE:()=>Ur,numberToHexUnpadded:()=>pu,numberToVarBytesBE:()=>nm,utf8ToBytes:()=>sm,validateObject:()=>Fe});var du=BigInt(0),Ui=BigInt(1),em=BigInt(2),Oi=e=>e instanceof Uint8Array,rm=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Ze(e){if(!Oi(e))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=rm[e[r]];return t}function pu(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function Do(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);return BigInt(e===""?"0":`0x${e}`)}function kr(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);let t=e.length;if(t%2)throw new Error("padded hex string expected, got unpadded hex of length "+t);let r=new Uint8Array(t/2);for(let n=0;n<r.length;n++){let i=n*2,s=e.slice(i,i+2),o=Number.parseInt(s,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");r[n]=o}return r}function Xe(e){return Do(Ze(e))}function gr(e){if(!Oi(e))throw new Error("Uint8Array expected");return Do(Ze(Uint8Array.from(e).reverse()))}function xr(e,t){return kr(e.toString(16).padStart(t*2,"0"))}function Ur(e,t){return xr(e,t).reverse()}function nm(e){return kr(pu(e))}function It(e,t,r){let n;if(typeof t=="string")try{n=kr(t)}catch(s){throw new Error(`${e} must be valid hex string, got "${t}". Cause: ${s}`)}else if(Oi(t))n=Uint8Array.from(t);else throw new Error(`${e} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${e} expected ${r} bytes, got ${i}`);return n}function Je(...e){let t=new Uint8Array(e.reduce((n,i)=>n+i.length,0)),r=0;return e.forEach(n=>{if(!Oi(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}function im(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function sm(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function om(e){let t;for(t=0;e>du;e>>=Ui,t+=1);return t}function am(e,t){return e>>BigInt(t)&Ui}var cm=(e,t,r)=>e|(r?Ui:du)<<BigInt(t),Fn=e=>(em<<BigInt(e-1))-Ui,Lo=e=>new Uint8Array(e),hu=e=>Uint8Array.from(e);function No(e,t,r){if(typeof e!="number"||e<2)throw new Error("hashLen must be a number");if(typeof t!="number"||t<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Lo(e),i=Lo(e),s=0,o=()=>{n.fill(1),i.fill(0),s=0},a=(...l)=>r(i,n,...l),c=(l=Lo())=>{i=a(hu([0]),l),n=a(),l.length!==0&&(i=a(hu([1]),l),n=a())},u=()=>{if(s++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,h=[];for(;l<t;){n=a();let y=n.slice();h.push(y),l+=n.length}return Je(...h)};return(l,h)=>{o(),c(l);let y;for(;!(y=h(u()));)c();return o(),y}}var um={bigint:e=>typeof e=="bigint",function:e=>typeof e=="function",boolean:e=>typeof e=="boolean",string:e=>typeof e=="string",stringOrUint8Array:e=>typeof e=="string"||e instanceof Uint8Array,isSafeInteger:e=>Number.isSafeInteger(e),array:e=>Array.isArray(e),field:(e,t)=>t.Fp.isValid(e),hash:e=>typeof e=="function"&&Number.isSafeInteger(e.outputLen)};function Fe(e,t,r={}){let n=(i,s,o)=>{let a=um[s];if(typeof a!="function")throw new Error(`Invalid validator "${s}", expected function`);let c=e[i];if(!(o&&c===void 0)&&!a(c,e))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${s}`)};for(let[i,s]of Object.entries(t))n(i,s,!1);for(let[i,s]of Object.entries(r))n(i,s,!0);return e}var Mt=BigInt(0),bt=BigInt(1),Or=BigInt(2),fm=BigInt(3),Po=BigInt(4),yu=BigInt(5),mu=BigInt(8),lm=BigInt(9),hm=BigInt(16);function dt(e,t){let r=e%t;return r>=Mt?r:t+r}function dm(e,t,r){if(r<=Mt||t<Mt)throw new Error("Expected power/modulo > 0");if(r===bt)return Mt;let n=bt;for(;t>Mt;)t&bt&&(n=n*e%r),e=e*e%r,t>>=bt;return n}function Et(e,t,r){let n=e;for(;t-- >Mt;)n*=n,n%=r;return n}function Ki(e,t){if(e===Mt||t<=Mt)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=dt(e,t),n=t,i=Mt,s=bt,o=bt,a=Mt;for(;r!==Mt;){let u=n/r,f=n%r,l=i-o*u,h=s-a*u;n=r,r=f,i=o,s=a,o=l,a=h}if(n!==bt)throw new Error("invert: does not exist");return dt(i,t)}function pm(e){let t=(e-bt)/Or,r,n,i;for(r=e-bt,n=0;r%Or===Mt;r/=Or,n++);for(i=Or;i<e&&dm(i,t,e)!==e-bt;i++);if(n===1){let o=(e+bt)/Po;return function(c,u){let f=c.pow(u,o);if(!c.eql(c.sqr(f),u))throw new Error("Cannot find square root");return f}}let s=(r+bt)/Or;return function(a,c){if(a.pow(c,t)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,f=a.pow(a.mul(a.ONE,i),r),l=a.pow(c,s),h=a.pow(c,r);for(;!a.eql(h,a.ONE);){if(a.eql(h,a.ZERO))return a.ZERO;let y=1;for(let p=a.sqr(h);y<u&&!a.eql(p,a.ONE);y++)p=a.sqr(p);let d=a.pow(f,bt<<BigInt(u-y-1));f=a.sqr(d),l=a.mul(l,d),h=a.mul(h,f),u=y}return l}}function ym(e){if(e%Po===fm){let t=(e+bt)/Po;return function(n,i){let s=n.pow(i,t);if(!n.eql(n.sqr(s),i))throw new Error("Cannot find square root");return s}}if(e%mu===yu){let t=(e-yu)/mu;return function(n,i){let s=n.mul(i,Or),o=n.pow(s,t),a=n.mul(i,o),c=n.mul(n.mul(a,Or),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 e%hm,pm(e)}var gu=(e,t)=>(dt(e,t)&bt)===bt,mm=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ko(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=mm.reduce((n,i)=>(n[i]="function",n),t);return Fe(e,r)}function gm(e,t,r){if(r<Mt)throw new Error("Expected power > 0");if(r===Mt)return e.ONE;if(r===bt)return t;let n=e.ONE,i=t;for(;r>Mt;)r&bt&&(n=e.mul(n,i)),i=e.sqr(i),r>>=bt;return n}function xm(e,t){let r=new Array(t.length),n=t.reduce((s,o,a)=>e.is0(o)?s:(r[a]=s,e.mul(s,o)),e.ONE),i=e.inv(n);return t.reduceRight((s,o,a)=>e.is0(o)?s:(r[a]=e.mul(s,r[a]),e.mul(s,o)),i),r}function Uo(e,t){let r=t!==void 0?t:e.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Fi(e,t,r=!1,n={}){if(e<=Mt)throw new Error(`Expected Field ORDER > 0, got ${e}`);let{nBitLength:i,nByteLength:s}=Uo(e,t);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=ym(e),a=Object.freeze({ORDER:e,BITS:i,BYTES:s,MASK:Fn(i),ZERO:Mt,ONE:bt,create:c=>dt(c,e),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Mt<=c&&c<e},is0:c=>c===Mt,isOdd:c=>(c&bt)===bt,neg:c=>dt(-c,e),eql:(c,u)=>c===u,sqr:c=>dt(c*c,e),add:(c,u)=>dt(c+u,e),sub:(c,u)=>dt(c-u,e),mul:(c,u)=>dt(c*u,e),pow:(c,u)=>gm(a,c,u),div:(c,u)=>dt(c*Ki(u,e),e),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Ki(c,e),sqrt:n.sqrt||(c=>o(a,c)),invertBatch:c=>xm(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>r?Ur(c,s):xr(c,s),fromBytes:c=>{if(c.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${c.length}`);return r?gr(c):Xe(c)}});return Object.freeze(a)}function xu(e,t){if(!e.isOdd)throw new Error("Field doesn't have isOdd");let r=e.sqrt(t);return e.isOdd(r)?e.neg(r):r}function vu(e){if(typeof e!="bigint")throw new Error("field order must be bigint");let t=e.toString(2).length;return Math.ceil(t/8)}function Oo(e){let t=vu(e);return t+Math.ceil(t/2)}function bu(e,t,r=!1){let n=e.length,i=vu(t),s=Oo(t);if(n<16||n<s||n>1024)throw new Error(`expected ${s}-1024 bytes of input, got ${n}`);let o=r?Xe(e):gr(e),a=dt(o,t-bt)+bt;return r?Ur(a,i):xr(a,i)}var bm=BigInt(0),Mo=BigInt(1);function Vi(e,t){let r=(i,s)=>{let o=s.negate();return i?o:s},n=i=>{let s=Math.ceil(t/i)+1,o=2**(i-1);return{windows:s,windowSize:o}};return{constTimeNegate:r,unsafeLadder(i,s){let o=e.ZERO,a=i;for(;s>bm;)s&Mo&&(o=o.add(a)),a=a.double(),s>>=Mo;return o},precomputeWindow(i,s){let{windows:o,windowSize:a}=n(s),c=[],u=i,f=u;for(let l=0;l<o;l++){f=u,c.push(f);for(let h=1;h<a;h++)f=f.add(u),c.push(f);u=f.double()}return c},wNAF(i,s,o){let{windows:a,windowSize:c}=n(i),u=e.ZERO,f=e.BASE,l=BigInt(2**i-1),h=2**i,y=BigInt(i);for(let d=0;d<a;d++){let p=d*c,m=Number(o&l);o>>=y,m>c&&(m-=h,o+=Mo);let x=p,E=p+Math.abs(m)-1,b=d%2!==0,R=m<0;m===0?f=f.add(r(b,s[x])):u=u.add(r(R,s[E]))}return{p:u,f}},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 Vn(e){return ko(e.Fp),Fe(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Uo(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var Ce=BigInt(0),he=BigInt(1),qi=BigInt(2),Em=BigInt(8),wm={zip215:!0};function Sm(e){let t=Vn(e);return Fe(e,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...t})}function Hi(e){let t=Sm(e),{Fp:r,n,prehash:i,hash:s,randomBytes:o,nByteLength:a,h:c}=t,u=qi<<BigInt(a*8)-he,f=r.create,l=t.uvRatio||((N,T)=>{try{return{isValid:!0,value:r.sqrt(N*r.inv(T))}}catch{return{isValid:!1,value:Ce}}}),h=t.adjustScalarBytes||(N=>N),y=t.domain||((N,T,M)=>{if(T.length||M)throw new Error("Contexts/pre-hash are not supported");return N}),d=N=>typeof N=="bigint"&&Ce<N,p=(N,T)=>d(N)&&d(T)&&N<T,m=N=>N===Ce||p(N,u);function x(N,T){if(p(N,T))return N;throw new Error(`Expected valid scalar < ${T}, got ${typeof N} ${N}`)}function E(N){return N===Ce?N:x(N,n)}let b=new Map;function R(N){if(!(N instanceof w))throw new Error("ExtendedPoint expected")}class w{constructor(T,M,F,G){if(this.ex=T,this.ey=M,this.ez=F,this.et=G,!m(T))throw new Error("x required");if(!m(M))throw new Error("y required");if(!m(F))throw new Error("z required");if(!m(G))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(T){if(T instanceof w)throw new Error("extended point not allowed");let{x:M,y:F}=T||{};if(!m(M)||!m(F))throw new Error("invalid affine point");return new w(M,F,he,f(M*F))}static normalizeZ(T){let M=r.invertBatch(T.map(F=>F.ez));return T.map((F,G)=>F.toAffine(M[G])).map(w.fromAffine)}_setWindowSize(T){this._WINDOW_SIZE=T,b.delete(this)}assertValidity(){let{a:T,d:M}=t;if(this.is0())throw new Error("bad point: ZERO");let{ex:F,ey:G,ez:X,et}=this,ut=f(F*F),rt=f(G*G),st=f(X*X),Lt=f(st*st),Tt=f(ut*T),zt=f(st*f(Tt+rt)),Gt=f(Lt+f(M*f(ut*rt)));if(zt!==Gt)throw new Error("bad point: equation left != right (1)");let Pt=f(F*G),Wt=f(X*et);if(Pt!==Wt)throw new Error("bad point: equation left != right (2)")}equals(T){R(T);let{ex:M,ey:F,ez:G}=this,{ex:X,ey:et,ez:ut}=T,rt=f(M*ut),st=f(X*G),Lt=f(F*ut),Tt=f(et*G);return rt===st&&Lt===Tt}is0(){return this.equals(w.ZERO)}negate(){return new w(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:T}=t,{ex:M,ey:F,ez:G}=this,X=f(M*M),et=f(F*F),ut=f(qi*f(G*G)),rt=f(T*X),st=M+F,Lt=f(f(st*st)-X-et),Tt=rt+et,zt=Tt-ut,Gt=rt-et,Pt=f(Lt*zt),Wt=f(Tt*Gt),He=f(Lt*Gt),Ir=f(zt*Tt);return new w(Pt,Wt,Ir,He)}add(T){R(T);let{a:M,d:F}=t,{ex:G,ey:X,ez:et,et:ut}=this,{ex:rt,ey:st,ez:Lt,et:Tt}=T;if(M===BigInt(-1)){let u0=f((X-G)*(st+rt)),f0=f((X+G)*(st-rt)),Ds=f(f0-u0);if(Ds===Ce)return this.double();let l0=f(et*qi*Tt),h0=f(ut*qi*Lt),d0=h0+l0,p0=f0+u0,y0=h0-l0,Vl=f(d0*Ds),ql=f(p0*y0),Hl=f(d0*y0),zl=f(Ds*p0);return new w(Vl,ql,zl,Hl)}let zt=f(G*rt),Gt=f(X*st),Pt=f(ut*F*Tt),Wt=f(et*Lt),He=f((G+X)*(rt+st)-zt-Gt),Ir=Wt-Pt,Cn=Wt+Pt,c0=f(Gt-M*zt),Ol=f(He*Ir),Ml=f(Cn*c0),Kl=f(He*c0),Fl=f(Ir*Cn);return new w(Ol,Ml,Fl,Kl)}subtract(T){return this.add(T.negate())}wNAF(T){return D.wNAFCached(this,b,T,w.normalizeZ)}multiply(T){let{p:M,f:F}=this.wNAF(x(T,n));return w.normalizeZ([M,F])[0]}multiplyUnsafe(T){let M=E(T);return M===Ce?L:this.equals(L)||M===he?this:this.equals(S)?this.wNAF(M).p:D.unsafeLadder(this,M)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return D.unsafeLadder(this,n).is0()}toAffine(T){let{ex:M,ey:F,ez:G}=this,X=this.is0();T==null&&(T=X?Em:r.inv(G));let et=f(M*T),ut=f(F*T),rt=f(G*T);if(X)return{x:Ce,y:he};if(rt!==he)throw new Error("invZ was invalid");return{x:et,y:ut}}clearCofactor(){let{h:T}=t;return T===he?this:this.multiplyUnsafe(T)}static fromHex(T,M=!1){let{d:F,a:G}=t,X=r.BYTES;T=It("pointHex",T,X);let et=T.slice(),ut=T[X-1];et[X-1]=ut&-129;let rt=gr(et);rt===Ce||(M?x(rt,u):x(rt,r.ORDER));let st=f(rt*rt),Lt=f(st-he),Tt=f(F*st-G),{isValid:zt,value:Gt}=l(Lt,Tt);if(!zt)throw new Error("Point.fromHex: invalid y coordinate");let Pt=(Gt&he)===he,Wt=(ut&128)!==0;if(!M&&Gt===Ce&&Wt)throw new Error("Point.fromHex: x=0 and x_0=1");return Wt!==Pt&&(Gt=f(-Gt)),w.fromAffine({x:Gt,y:rt})}static fromPrivateKey(T){return q(T).point}toRawBytes(){let{x:T,y:M}=this.toAffine(),F=Ur(M,r.BYTES);return F[F.length-1]|=T&he?128:0,F}toHex(){return Ze(this.toRawBytes())}}w.BASE=new w(t.Gx,t.Gy,he,f(t.Gx*t.Gy)),w.ZERO=new w(Ce,he,he,Ce);let{BASE:S,ZERO:L}=w,D=Vi(w,a*8);function Y(N){return dt(N,n)}function W(N){return Y(gr(N))}function q(N){let T=a;N=It("private key",N,T);let M=It("hashed private key",s(N),2*T),F=h(M.slice(0,T)),G=M.slice(T,2*T),X=W(F),et=S.multiply(X),ut=et.toRawBytes();return{head:F,prefix:G,scalar:X,point:et,pointBytes:ut}}function j(N){return q(N).pointBytes}function lt(N=new Uint8Array,...T){let M=Je(...T);return W(s(y(M,It("context",N),!!i)))}function Ht(N,T,M={}){N=It("message",N),i&&(N=i(N));let{prefix:F,scalar:G,pointBytes:X}=q(T),et=lt(M.context,F,N),ut=S.multiply(et).toRawBytes(),rt=lt(M.context,ut,X,N),st=Y(et+rt*G);E(st);let Lt=Je(ut,Ur(st,r.BYTES));return It("result",Lt,a*2)}let I=wm;function P(N,T,M,F=I){let{context:G,zip215:X}=F,et=r.BYTES;N=It("signature",N,2*et),T=It("message",T),i&&(T=i(T));let ut=gr(N.slice(et,2*et)),rt,st,Lt;try{rt=w.fromHex(M,X),st=w.fromHex(N.slice(0,et),X),Lt=S.multiplyUnsafe(ut)}catch{return!1}if(!X&&rt.isSmallOrder())return!1;let Tt=lt(G,st.toRawBytes(),rt.toRawBytes(),T);return st.add(rt.multiplyUnsafe(Tt)).subtract(Lt).clearCofactor().equals(w.ZERO)}return S._setWindowSize(8),{CURVE:t,getPublicKey:j,sign:Ht,verify:P,ExtendedPoint:w,utils:{getExtendedPublicKey:q,randomPrivateKey:()=>o(r.BYTES),precompute(N=8,T=w.BASE){return T._setWindowSize(N),T.multiply(BigInt(3)),T}}}}var Fo=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Eu=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Ox=BigInt(0),Am=BigInt(1),Ko=BigInt(2),Tm=BigInt(5),wu=BigInt(10),Bm=BigInt(20),Im=BigInt(40),Su=BigInt(80);function Cm(e){let t=Fo,n=e*e%t*e%t,i=Et(n,Ko,t)*n%t,s=Et(i,Am,t)*e%t,o=Et(s,Tm,t)*s%t,a=Et(o,wu,t)*o%t,c=Et(a,Bm,t)*a%t,u=Et(c,Im,t)*c%t,f=Et(u,Su,t)*u%t,l=Et(f,Su,t)*u%t,h=Et(l,wu,t)*o%t;return{pow_p_5_8:Et(h,Ko,t)*e%t,b2:n}}function _m(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function Rm(e,t){let r=Fo,n=dt(t*t*t,r),i=dt(n*n*t,r),s=Cm(e*i).pow_p_5_8,o=dt(e*n*s,r),a=dt(t*o*o,r),c=o,u=dt(o*Eu,r),f=a===e,l=a===dt(-e,r),h=a===dt(-e*Eu,r);return f&&(o=c),(l||h)&&(o=u),gu(o,r)&&(o=dt(-o,r)),{isValid:f||l,value:o}}var je=Fi(Fo,void 0,!0),Vo={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:je,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Ro,randomBytes:dn,adjustScalarBytes:_m,uvRatio:Rm},yn=Hi(Vo);function Au(e,t,r){if(t.length>255)throw new Error("Context is too big");return Ni(Io("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,t.length]),t,e)}var Mx=Hi({...Vo,domain:Au}),Kx=Hi({...Vo,domain:Au,prehash:Ro});var Lm=(je.ORDER+BigInt(3))/BigInt(8),Fx=je.pow(Ko,Lm),Vx=je.sqrt(je.neg(je.ONE)),qx=(je.ORDER-BigInt(5))/BigInt(8),Hx=BigInt(486662);var zx=xu(je,je.neg(BigInt(486664)));var Gx=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Wx=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Yx=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),$x=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var Qx=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var mn=32,tr=64,zi=32;function Tu(){let e=yn.utils.randomPrivateKey(),t=yn.getPublicKey(e);return{privateKey:_u(e,t),publicKey:t}}function Bu(e){if(e.length!==zi)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=yn.getPublicKey(t);return{privateKey:_u(t,r),publicKey:r}}function Iu(e,t){let r=e.subarray(0,zi);return yn.sign(t instanceof Uint8Array?t:t.subarray(),r)}function Cu(e,t,r){return yn.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}function _u(e,t){let r=new Uint8Array(tr);for(let n=0;n<zi;n++)r[n]=e[n],r[zi+n]=t[n];return r}var ae={get(e=globalThis){let t=e.crypto;if(t==null||t.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 t}};var qo={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Ho(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,i=e?.digest??"SHA-256",s=e?.saltLength??16,o=e?.iterations??32767,a=ae.get();r*=8;async function c(l,h){let y=a.getRandomValues(new Uint8Array(s)),d=a.getRandomValues(new Uint8Array(n)),p={name:t,iv:d};typeof h=="string"&&(h=Nt(h));let m;if(h.length===0){m=await a.subtle.importKey("jwk",qo,{name:"AES-GCM"},!0,["encrypt"]);try{let E={name:"PBKDF2",salt:y,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(E,b,{name:t,length:r},!0,["encrypt"])}catch{m=await a.subtle.importKey("jwk",qo,{name:"AES-GCM"},!0,["encrypt"])}}else{let E={name:"PBKDF2",salt:y,iterations:o,hash:{name:i}},b=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(E,b,{name:t,length:r},!0,["encrypt"])}let x=await a.subtle.encrypt(p,m,l);return Ot([y,p.iv,new Uint8Array(x)])}async function u(l,h){let y=l.subarray(0,s),d=l.subarray(s,s+n),p=l.subarray(s+n),m={name:t,iv:d};typeof h=="string"&&(h=Nt(h));let x;if(h.length===0)try{let b={name:"PBKDF2",salt:y,iterations:o,hash:{name:i}},R=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);x=await a.subtle.deriveKey(b,R,{name:t,length:r},!0,["decrypt"])}catch{x=await a.subtle.importKey("jwk",qo,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:y,iterations:o,hash:{name:i}},R=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);x=await a.subtle.deriveKey(b,R,{name:t,length:r},!0,["decrypt"])}let E=await a.subtle.decrypt(m,x,p);return new Uint8Array(E)}return{encrypt:c,decrypt:u}}async function gn(e,t){let n=await Ho().encrypt(e,t);return fi.encode(n)}var zo=new Float32Array([-0]),vr=new Uint8Array(zo.buffer);function Lu(e,t,r){zo[0]=e,t[r]=vr[0],t[r+1]=vr[1],t[r+2]=vr[2],t[r+3]=vr[3]}function Du(e,t){return vr[0]=e[t],vr[1]=e[t+1],vr[2]=e[t+2],vr[3]=e[t+3],zo[0]}var Go=new Float64Array([-0]),Qt=new Uint8Array(Go.buffer);function Nu(e,t,r){Go[0]=e,t[r]=Qt[0],t[r+1]=Qt[1],t[r+2]=Qt[2],t[r+3]=Qt[3],t[r+4]=Qt[4],t[r+5]=Qt[5],t[r+6]=Qt[6],t[r+7]=Qt[7]}function Pu(e,t){return Qt[0]=e[t],Qt[1]=e[t+1],Qt[2]=e[t+2],Qt[3]=e[t+3],Qt[4]=e[t+4],Qt[5]=e[t+5],Qt[6]=e[t+6],Qt[7]=e[t+7],Go[0]}var Nm=BigInt(Number.MAX_SAFE_INTEGER),Pm=BigInt(Number.MIN_SAFE_INTEGER),ce=class e{lo;hi;constructor(t,r){this.lo=t|0,this.hi=r|0}toNumber(t=!1){if(!t&&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(t=!1){if(t)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(t=!1){return this.toBigInt(t).toString()}zzEncode(){let t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this}zzDecode(){let t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this}length(){let t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(t){if(t===0n)return Mr;if(t<Nm&&t>Pm)return this.fromNumber(Number(t));let r=t<0n;r&&(t=-t);let n=t>>32n,i=t-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>ku&&(i=0n,++n>ku&&(n=0n))),new e(Number(i),Number(n))}static fromNumber(t){if(t===0)return Mr;let r=t<0;r&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new e(n,i)}static from(t){return typeof t=="number"?e.fromNumber(t):typeof t=="bigint"?e.fromBigInt(t):typeof t=="string"?e.fromBigInt(BigInt(t)):t.low!=null||t.high!=null?new e(t.low>>>0,t.high>>>0):Mr}},Mr=new ce(0,0);Mr.toBigInt=function(){return 0n};Mr.zzEncode=Mr.zzDecode=function(){return this};Mr.length=function(){return 1};var ku=4294967296n;function Uu(e){let t=0,r=0;for(let n=0;n<e.length;++n)r=e.charCodeAt(n),r<128?t+=1:r<2048?t+=2:(r&64512)===55296&&(e.charCodeAt(n+1)&64512)===56320?(++n,t+=4):t+=3;return t}function Ou(e,t,r){if(r-t<1)return"";let i,s=[],o=0,a;for(;t<r;)a=e[t++],a<128?s[o++]=a:a>191&&a<224?s[o++]=(a&31)<<6|e[t++]&63:a>239&&a<365?(a=((a&7)<<18|(e[t++]&63)<<12|(e[t++]&63)<<6|e[t++]&63)-65536,s[o++]=55296+(a>>10),s[o++]=56320+(a&1023)):s[o++]=(a&15)<<12|(e[t++]&63)<<6|e[t++]&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 Wo(e,t,r){let n=r,i,s;for(let o=0;o<e.length;++o)i=e.charCodeAt(o),i<128?t[r++]=i:i<2048?(t[r++]=i>>6|192,t[r++]=i&63|128):(i&64512)===55296&&((s=e.charCodeAt(o+1))&64512)===56320?(i=65536+((i&1023)<<10)+(s&1023),++o,t[r++]=i>>18|240,t[r++]=i>>12&63|128,t[r++]=i>>6&63|128,t[r++]=i&63|128):(t[r++]=i>>12|224,t[r++]=i>>6&63|128,t[r++]=i&63|128);return r-n}function _e(e,t){return RangeError(`index out of range: ${e.pos} + ${t??1} > ${e.len}`)}function Gi(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}var Yo=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(t){this.buf=t,this.pos=0,this.len=t.length}uint32(){let t=4294967295;if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,_e(this,10);return t}int32(){return this.uint32()|0}sint32(){let t=this.uint32();return t>>>1^-(t&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw _e(this,4);return Gi(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw _e(this,4);return Gi(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw _e(this,4);let t=Du(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw _e(this,4);let t=Pu(this.buf,this.pos);return this.pos+=8,t}bytes(){let t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw _e(this,t);return this.pos+=t,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let t=this.bytes();return Ou(t,0,t.length)}skip(t){if(typeof t=="number"){if(this.pos+t>this.len)throw _e(this,t);this.pos+=t}else do if(this.pos>=this.len)throw _e(this);while(this.buf[this.pos++]&128);return this}skipType(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(t=this.uint32()&7)!==4;)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${t} at offset ${this.pos}`)}return this}readLongVarint(){let t=new ce(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(this.buf[this.pos]&127)<<28)>>>0,t.hi=(t.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return t;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw _e(this);if(t.lo=(t.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,t}if(this.len-this.pos>4){for(;r<5;++r)if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}else for(;r<5;++r){if(this.pos>=this.len)throw _e(this);if(t.hi=(t.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw _e(this,8);let t=Gi(this.buf,this.pos+=4),r=Gi(this.buf,this.pos+=4);return new ce(t,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 $o(e){return new Yo(e instanceof Uint8Array?e:e.subarray())}function Zt(e,t){let r=$o(e);return t.decode(r)}function Qo(e){let t=e??8192,r=t>>>1,n,i=t;return function(o){if(o<1||o>r)return $t(o);i+o>t&&(n=$t(t),i=0);let a=n.subarray(i,i+=o);return i&7&&(i=(i|7)+1),a}}var Kr=class{fn;len;next;val;constructor(t,r,n){this.fn=t,this.len=r,this.next=void 0,this.val=n}};function Zo(){}var Jo=class{head;tail;len;next;constructor(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}},km=Qo();function Um(e){return globalThis.Buffer!=null?$t(e):km(e)}var zn=class{len;head;tail;states;constructor(){this.len=0,this.head=new Kr(Zo,0,0),this.tail=this.head,this.states=null}_push(t,r,n){return this.tail=this.tail.next=new Kr(t,r,n),this.len+=r,this}uint32(t){return this.len+=(this.tail=this.tail.next=new jo((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this}int32(t){return t<0?this._push(qn,10,ce.fromNumber(t)):this.uint32(t)}sint32(t){return this.uint32((t<<1^t>>31)>>>0)}uint64(t){let r=ce.fromBigInt(t);return this._push(qn,r.length(),r)}uint64Number(t){let r=ce.fromNumber(t);return this._push(qn,r.length(),r)}uint64String(t){return this.uint64(BigInt(t))}int64(t){return this.uint64(t)}int64Number(t){return this.uint64Number(t)}int64String(t){return this.uint64String(t)}sint64(t){let r=ce.fromBigInt(t).zzEncode();return this._push(qn,r.length(),r)}sint64Number(t){let r=ce.fromNumber(t).zzEncode();return this._push(qn,r.length(),r)}sint64String(t){return this.sint64(BigInt(t))}bool(t){return this._push(Xo,1,t?1:0)}fixed32(t){return this._push(Hn,4,t>>>0)}sfixed32(t){return this.fixed32(t)}fixed64(t){let r=ce.fromBigInt(t);return this._push(Hn,4,r.lo)._push(Hn,4,r.hi)}fixed64Number(t){let r=ce.fromNumber(t);return this._push(Hn,4,r.lo)._push(Hn,4,r.hi)}fixed64String(t){return this.fixed64(BigInt(t))}sfixed64(t){return this.fixed64(t)}sfixed64Number(t){return this.fixed64Number(t)}sfixed64String(t){return this.fixed64String(t)}float(t){return this._push(Lu,4,t)}double(t){return this._push(Nu,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(Xo,1,0):this.uint32(r)._push(Mm,r,t)}string(t){let r=Uu(t);return r!==0?this.uint32(r)._push(Wo,r,t):this._push(Xo,1,0)}fork(){return this.states=new Jo(this),this.head=this.tail=new Kr(Zo,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 Kr(Zo,0,0),this.len=0),this}ldelim(){let t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=t.next,this.tail=r,this.len+=n),this}finish(){let t=this.head.next,r=Um(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function Xo(e,t,r){t[r]=e&255}function Om(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var jo=class extends Kr{next;constructor(t,r){super(Om,t,r),this.next=void 0}};function qn(e,t,r){for(;e.hi!==0;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}function Hn(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function Mm(e,t,r){t.set(e,r)}globalThis.Buffer!=null&&(zn.prototype.bytes=function(e){let t=e.length>>>0;return this.uint32(t),t>0&&this._push(Km,t,e),this},zn.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(Fm,t,e),this});function Km(e,t,r){t.set(e,r)}function Fm(e,t,r){e.length<40?Wo(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(Nt(e),r)}function ta(){return new zn}function Xt(e,t){let r=ta();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var xn;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(xn||(xn={}));function Wi(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Fr(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(s,o){let a=t(s);o.int32(a)},n=function(s){let o=s.int32();return t(o)};return Wi("enum",xn.VARINT,r,n)}function Jt(e,t){return Wi("message",xn.LENGTH_DELIMITED,e,t)}var wt;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(wt||(wt={}));var ea;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(ea||(ea={}));(function(e){e.codec=()=>Fr(ea)})(wt||(wt={}));var Ve;(function(e){let t;e.codec=()=>(t==null&&(t=Jt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),wt.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=wt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>Xt(r,e.codec()),e.decode=r=>Zt(r,e.codec())})(Ve||(Ve={}));var qe;(function(e){let t;e.codec=()=>(t==null&&(t=Jt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),wt.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=wt.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>Xt(r,e.codec()),e.decode=r=>Zt(r,e.codec())})(qe||(qe={}));var Gn=class{_key;constructor(t){this._key=vn(t,mn)}verify(t,r){return Cu(this._key,r,t)}marshal(){return this._key}get bytes(){return Ve.encode({Type:wt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Ct(this.bytes,t.bytes)}hash(){let t=Ut.digest(this.bytes);return ve(t)?t.then(({bytes:r})=>r):t.bytes}},Vr=class{_key;_publicKey;constructor(t,r){this._key=vn(t,tr),this._publicKey=vn(r,mn)}sign(t){return Iu(this._key,t)}get public(){return new Gn(this._publicKey)}marshal(){return this._key}get bytes(){return qe.encode({Type:wt.Ed25519,Data:this.marshal()}).subarray()}equals(t){return Ct(this.bytes,t.bytes)}async hash(){let t=Ut.digest(this.bytes),r;return ve(t)?{bytes:r}=await t:r=t.bytes,r}async id(){let t=cr.digest(this.public.bytes);return kt.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return gn(this.bytes,t);throw new H(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Vm(e){if(e.length>tr){e=vn(e,tr+mn);let n=e.subarray(0,tr),i=e.subarray(tr,e.length);return new Vr(n,i)}e=vn(e,tr);let t=e.subarray(0,tr),r=e.subarray(mn);return new Vr(t,r)}function qm(e){return e=vn(e,mn),new Gn(e)}async function Hm(){let{privateKey:e,publicKey:t}=Tu();return new Vr(e,t)}async function Ku(e){let{privateKey:t,publicKey:r}=Bu(e);return new Vr(t,r)}function vn(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new H(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var zm={"P-256":256,"P-384":384,"P-521":521},Gm=Object.keys(zm),Yv=Gm.join(" / ");var aa={};Kt(aa,{MAX_KEY_SIZE:()=>Qn,RsaPrivateKey:()=>bn,RsaPublicKey:()=>$n,fromJwk:()=>rg,generateKeyPair:()=>ng,unmarshalRsaPrivateKey:()=>tg,unmarshalRsaPublicKey:()=>eg});var Yn=Yt(ht(),1);var Lb=Yt(zu(),1);function $i(e){if(isNaN(e)||e<=0)throw new H("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return dn(e)}var db=Yt(_i(),1),sa=Yt(ht(),1);function Gu(e,t){return t.map(r=>le(e[r]))}function Wu(e){return sa.default.pki.setRsaPrivateKey(...Gu(e,["n","e","d","p","q","dp","dq","qi"]))}function Yu(e){return sa.default.pki.setRsaPublicKey(...Gu(e,["n","e"]))}var Hr={};Kt(Hr,{jwkToPkcs1:()=>Qm,jwkToPkix:()=>Xm,pkcs1ToJwk:()=>$m,pkixToJwk:()=>Zm});var mb=Yt(Un(),1),gb=Yt(_i(),1);var er=Yt(ht(),1);function $m(e){let t=er.default.asn1.fromDer(pt(e,"ascii")),r=er.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:Be(r.n),e:Be(r.e),d:Be(r.d),p:Be(r.p),q:Be(r.q),dp:Be(r.dP),dq:Be(r.dQ),qi:Be(r.qInv),alg:"RS256"}}function Qm(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new H("JWK was missing components","ERR_INVALID_PARAMETERS");let t=er.default.pki.privateKeyToAsn1({n:le(e.n),e:le(e.e),d:le(e.d),p:le(e.p),q:le(e.q),dP:le(e.dp),dQ:le(e.dq),qInv:le(e.qi)});return Nt(er.default.asn1.toDer(t).getBytes(),"ascii")}function Zm(e){let t=er.default.asn1.fromDer(pt(e,"ascii")),r=er.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:Be(r.n),e:Be(r.e)}}function Xm(e){if(e.n==null||e.e==null)throw new H("JWK was missing components","ERR_INVALID_PARAMETERS");let t=er.default.pki.publicKeyToAsn1({n:le(e.n),e:le(e.e)});return Nt(er.default.asn1.toDer(t).getBytes(),"ascii")}async function $u(e){let t=await ae.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await Xu(t);return{privateKey:r[0],publicKey:r[1]}}async function oa(e){let r=[await ae.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Jm(e)],n=await Xu({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Qu(e,t){let r=await ae.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await ae.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,t instanceof Uint8Array?t:t.subarray());return new Uint8Array(n,0,n.byteLength)}async function Zu(e,t,r){let n=await ae.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return ae.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r instanceof Uint8Array?r:r.subarray())}async function Xu(e){if(e.privateKey==null||e.publicKey==null)throw new H("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([ae.get().subtle.exportKey("jwk",e.privateKey),ae.get().subtle.exportKey("jwk",e.publicKey)])}async function Jm(e){return ae.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Ju(e,t,r,n){let i=t?Yu(e):Wu(e),s=pt(r instanceof Uint8Array?r:r.subarray(),"ascii"),o=n(s,i);return Nt(o,"ascii")}function ju(e,t){return Ju(e,!0,t,(r,n)=>n.encrypt(r))}function tf(e,t){return Ju(e,!1,t,(r,n)=>n.decrypt(r))}function Qi(e){if(e.kty!=="RSA")throw new H("invalid key type","ERR_INVALID_KEY_TYPE");if(e.n==null)throw new H("invalid key modulus","ERR_INVALID_KEY_MODULUS");return Nt(e.n,"base64url").length*8}var Qn=8192,$n=class{_key;constructor(t){this._key=t}verify(t,r){return Zu(this._key,r,t)}marshal(){return Hr.jwkToPkix(this._key)}get bytes(){return Ve.encode({Type:wt.RSA,Data:this.marshal()}).subarray()}encrypt(t){return ju(this._key,t)}equals(t){return Ct(this.bytes,t.bytes)}hash(){let t=Ut.digest(this.bytes);return ve(t)?t.then(({bytes:r})=>r):t.bytes}},bn=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return $i(16)}sign(t){return Qu(this._key,t)}get public(){if(this._publicKey==null)throw new H("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new $n(this._publicKey)}decrypt(t){return tf(this._key,t)}marshal(){return Hr.jwkToPkcs1(this._key)}get bytes(){return qe.encode({Type:wt.RSA,Data:this.marshal()}).subarray()}equals(t){return Ct(this.bytes,t.bytes)}hash(){let t=Ut.digest(this.bytes);return ve(t)?t.then(({bytes:r})=>r):t.bytes}async id(){let t=await this.public.hash();return pt(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new Yn.default.util.ByteBuffer(this.marshal()),i=Yn.default.asn1.fromDer(n),s=Yn.default.pki.privateKeyFromAsn1(i),o={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Yn.default.pki.encryptRsaPrivateKey(s,t,o)}else{if(r==="libp2p-key")return gn(this.bytes,t);throw new H(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function tg(e){let t=Hr.pkcs1ToJwk(e);if(Qi(t)>Qn)throw new H("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await oa(t);return new bn(r.privateKey,r.publicKey)}function eg(e){let t=Hr.pkixToJwk(e);if(Qi(t)>Qn)throw new H("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new $n(t)}async function rg(e){if(Qi(e)>Qn)throw new H("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await oa(e);return new bn(t.privateKey,t.publicKey)}async function ng(e){if(e>Qn)throw new H("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await $u(e);return new bn(t.privateKey,t.publicKey)}var da={};Kt(da,{Secp256k1PrivateKey:()=>Xn,Secp256k1PublicKey:()=>Zn,generateKeyPair:()=>xg,unmarshalSecp256k1PrivateKey:()=>mg,unmarshalSecp256k1PublicKey:()=>gg});var ig=(e,t,r)=>e&t^~e&r,sg=(e,t,r)=>e&t^e&r^t&r,og=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]),br=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Er=new Uint32Array(64),ca=class extends pn{constructor(){super(64,32,8,!1),this.A=br[0]|0,this.B=br[1]|0,this.C=br[2]|0,this.D=br[3]|0,this.E=br[4]|0,this.F=br[5]|0,this.G=br[6]|0,this.H=br[7]|0}get(){let{A:t,B:r,C:n,D:i,E:s,F:o,G:a,H:c}=this;return[t,r,n,i,s,o,a,c]}set(t,r,n,i,s,o,a,c){this.A=t|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(t,r){for(let l=0;l<16;l++,r+=4)Er[l]=t.getUint32(r,!1);for(let l=16;l<64;l++){let h=Er[l-15],y=Er[l-2],d=Ie(h,7)^Ie(h,18)^h>>>3,p=Ie(y,17)^Ie(y,19)^y>>>10;Er[l]=p+Er[l-7]+d+Er[l-16]|0}let{A:n,B:i,C:s,D:o,E:a,F:c,G:u,H:f}=this;for(let l=0;l<64;l++){let h=Ie(a,6)^Ie(a,11)^Ie(a,25),y=f+h+ig(a,c,u)+og[l]+Er[l]|0,p=(Ie(n,2)^Ie(n,13)^Ie(n,22))+sg(n,i,s)|0;f=u,u=c,c=a,a=o+y|0,o=s,s=i,i=n,n=y+p|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,f=f+this.H|0,this.set(n,i,s,o,a,c,u,f)}roundClean(){Er.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var ef=Pi(()=>new ca);function ag(e){let t=Vn(e);Fe(t,{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}=t;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({...t})}var{bytesToNumberBE:cg,hexToBytes:ug}=Mi,zr={Err:class extends Error{constructor(t=""){super(t)}},_parseInt(e){let{Err:t}=zr;if(e.length<2||e[0]!==2)throw new t("Invalid signature integer tag");let r=e[1],n=e.subarray(2,r+2);if(!r||n.length!==r)throw new t("Invalid signature integer: wrong length");if(n[0]&128)throw new t("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new t("Invalid signature integer: unnecessary leading zero");return{d:cg(n),l:e.subarray(r+2)}},toSig(e){let{Err:t}=zr,r=typeof e=="string"?ug(e):e;if(!(r instanceof Uint8Array))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new t("Invalid signature tag");if(r[1]!==n-2)throw new t("Invalid signature: incorrect length");let{d:i,l:s}=zr._parseInt(r.subarray(2)),{d:o,l:a}=zr._parseInt(s);if(a.length)throw new t("Invalid signature: left bytes after parsing");return{r:i,s:o}},hexFromSig(e){let t=u=>Number.parseInt(u[0],16)&8?"00"+u:u,r=u=>{let f=u.toString(16);return f.length&1?`0${f}`:f},n=t(r(e.s)),i=t(r(e.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}`}},rr=BigInt(0),be=BigInt(1),Vb=BigInt(2),rf=BigInt(3),qb=BigInt(4);function fg(e){let t=ag(e),{Fp:r}=t,n=t.toBytes||((d,p,m)=>{let x=p.toAffine();return Je(Uint8Array.from([4]),r.toBytes(x.x),r.toBytes(x.y))}),i=t.fromBytes||(d=>{let p=d.subarray(1),m=r.fromBytes(p.subarray(0,r.BYTES)),x=r.fromBytes(p.subarray(r.BYTES,2*r.BYTES));return{x:m,y:x}});function s(d){let{a:p,b:m}=t,x=r.sqr(d),E=r.mul(x,d);return r.add(r.add(E,r.mul(d,p)),m)}if(!r.eql(r.sqr(t.Gy),s(t.Gx)))throw new Error("bad generator point: equation left != right");function o(d){return typeof d=="bigint"&&rr<d&&d<t.n}function a(d){if(!o(d))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(d){let{allowedPrivateKeyLengths:p,nByteLength:m,wrapPrivateKey:x,n:E}=t;if(p&&typeof d!="bigint"){if(d instanceof Uint8Array&&(d=Ze(d)),typeof d!="string"||!p.includes(d.length))throw new Error("Invalid key");d=d.padStart(m*2,"0")}let b;try{b=typeof d=="bigint"?d:Xe(It("private key",d,m))}catch{throw new Error(`private key must be ${m} bytes, hex or bigint, not ${typeof d}`)}return x&&(b=dt(b,E)),a(b),b}let u=new Map;function f(d){if(!(d instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(p,m,x){if(this.px=p,this.py=m,this.pz=x,p==null||!r.isValid(p))throw new Error("x required");if(m==null||!r.isValid(m))throw new Error("y required");if(x==null||!r.isValid(x))throw new Error("z required")}static fromAffine(p){let{x:m,y:x}=p||{};if(!p||!r.isValid(m)||!r.isValid(x))throw new Error("invalid affine point");if(p instanceof l)throw new Error("projective point not allowed");let E=b=>r.eql(b,r.ZERO);return E(m)&&E(x)?l.ZERO:new l(m,x,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){let m=r.invertBatch(p.map(x=>x.pz));return p.map((x,E)=>x.toAffine(m[E])).map(l.fromAffine)}static fromHex(p){let m=l.fromAffine(i(It("pointHex",p)));return m.assertValidity(),m}static fromPrivateKey(p){return l.BASE.multiply(c(p))}_setWindowSize(p){this._WINDOW_SIZE=p,u.delete(this)}assertValidity(){if(this.is0()){if(t.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:p,y:m}=this.toAffine();if(!r.isValid(p)||!r.isValid(m))throw new Error("bad point: x or y not FE");let x=r.sqr(m),E=s(p);if(!r.eql(x,E))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:p}=this.toAffine();if(r.isOdd)return!r.isOdd(p);throw new Error("Field doesn't support isOdd")}equals(p){f(p);let{px:m,py:x,pz:E}=this,{px:b,py:R,pz:w}=p,S=r.eql(r.mul(m,w),r.mul(b,E)),L=r.eql(r.mul(x,w),r.mul(R,E));return S&&L}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){let{a:p,b:m}=t,x=r.mul(m,rf),{px:E,py:b,pz:R}=this,w=r.ZERO,S=r.ZERO,L=r.ZERO,D=r.mul(E,E),Y=r.mul(b,b),W=r.mul(R,R),q=r.mul(E,b);return q=r.add(q,q),L=r.mul(E,R),L=r.add(L,L),w=r.mul(p,L),S=r.mul(x,W),S=r.add(w,S),w=r.sub(Y,S),S=r.add(Y,S),S=r.mul(w,S),w=r.mul(q,w),L=r.mul(x,L),W=r.mul(p,W),q=r.sub(D,W),q=r.mul(p,q),q=r.add(q,L),L=r.add(D,D),D=r.add(L,D),D=r.add(D,W),D=r.mul(D,q),S=r.add(S,D),W=r.mul(b,R),W=r.add(W,W),D=r.mul(W,q),w=r.sub(w,D),L=r.mul(W,Y),L=r.add(L,L),L=r.add(L,L),new l(w,S,L)}add(p){f(p);let{px:m,py:x,pz:E}=this,{px:b,py:R,pz:w}=p,S=r.ZERO,L=r.ZERO,D=r.ZERO,Y=t.a,W=r.mul(t.b,rf),q=r.mul(m,b),j=r.mul(x,R),lt=r.mul(E,w),Ht=r.add(m,x),I=r.add(b,R);Ht=r.mul(Ht,I),I=r.add(q,j),Ht=r.sub(Ht,I),I=r.add(m,E);let P=r.add(b,w);return I=r.mul(I,P),P=r.add(q,lt),I=r.sub(I,P),P=r.add(x,E),S=r.add(R,w),P=r.mul(P,S),S=r.add(j,lt),P=r.sub(P,S),D=r.mul(Y,I),S=r.mul(W,lt),D=r.add(S,D),S=r.sub(j,D),D=r.add(j,D),L=r.mul(S,D),j=r.add(q,q),j=r.add(j,q),lt=r.mul(Y,lt),I=r.mul(W,I),j=r.add(j,lt),lt=r.sub(q,lt),lt=r.mul(Y,lt),I=r.add(I,lt),q=r.mul(j,I),L=r.add(L,q),q=r.mul(P,I),S=r.mul(Ht,S),S=r.sub(S,q),q=r.mul(Ht,j),D=r.mul(P,D),D=r.add(D,q),new l(S,L,D)}subtract(p){return this.add(p.negate())}is0(){return this.equals(l.ZERO)}wNAF(p){return y.wNAFCached(this,u,p,m=>{let x=r.invertBatch(m.map(E=>E.pz));return m.map((E,b)=>E.toAffine(x[b])).map(l.fromAffine)})}multiplyUnsafe(p){let m=l.ZERO;if(p===rr)return m;if(a(p),p===be)return this;let{endo:x}=t;if(!x)return y.unsafeLadder(this,p);let{k1neg:E,k1:b,k2neg:R,k2:w}=x.splitScalar(p),S=m,L=m,D=this;for(;b>rr||w>rr;)b&be&&(S=S.add(D)),w&be&&(L=L.add(D)),D=D.double(),b>>=be,w>>=be;return E&&(S=S.negate()),R&&(L=L.negate()),L=new l(r.mul(L.px,x.beta),L.py,L.pz),S.add(L)}multiply(p){a(p);let m=p,x,E,{endo:b}=t;if(b){let{k1neg:R,k1:w,k2neg:S,k2:L}=b.splitScalar(m),{p:D,f:Y}=this.wNAF(w),{p:W,f:q}=this.wNAF(L);D=y.constTimeNegate(R,D),W=y.constTimeNegate(S,W),W=new l(r.mul(W.px,b.beta),W.py,W.pz),x=D.add(W),E=Y.add(q)}else{let{p:R,f:w}=this.wNAF(m);x=R,E=w}return l.normalizeZ([x,E])[0]}multiplyAndAddUnsafe(p,m,x){let E=l.BASE,b=(w,S)=>S===rr||S===be||!w.equals(E)?w.multiplyUnsafe(S):w.multiply(S),R=b(this,m).add(b(p,x));return R.is0()?void 0:R}toAffine(p){let{px:m,py:x,pz:E}=this,b=this.is0();p==null&&(p=b?r.ONE:r.inv(E));let R=r.mul(m,p),w=r.mul(x,p),S=r.mul(E,p);if(b)return{x:r.ZERO,y:r.ZERO};if(!r.eql(S,r.ONE))throw new Error("invZ was invalid");return{x:R,y:w}}isTorsionFree(){let{h:p,isTorsionFree:m}=t;if(p===be)return!0;if(m)return m(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:p,clearCofactor:m}=t;return p===be?this:m?m(l,this):this.multiplyUnsafe(t.h)}toRawBytes(p=!0){return this.assertValidity(),n(l,this,p)}toHex(p=!0){return Ze(this.toRawBytes(p))}}l.BASE=new l(t.Gx,t.Gy,r.ONE),l.ZERO=new l(r.ZERO,r.ONE,r.ZERO);let h=t.nBitLength,y=Vi(l,t.endo?Math.ceil(h/2):h);return{CURVE:t,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:s,isWithinCurveOrder:o}}function lg(e){let t=Vn(e);return Fe(t,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...t})}function nf(e){let t=lg(e),{Fp:r,n}=t,i=r.BYTES+1,s=2*r.BYTES+1;function o(I){return rr<I&&I<r.ORDER}function a(I){return dt(I,n)}function c(I){return Ki(I,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:h}=fg({...t,toBytes(I,P,_){let N=P.toAffine(),T=r.toBytes(N.x),M=Je;return _?M(Uint8Array.from([P.hasEvenY()?2:3]),T):M(Uint8Array.from([4]),T,r.toBytes(N.y))},fromBytes(I){let P=I.length,_=I[0],N=I.subarray(1);if(P===i&&(_===2||_===3)){let T=Xe(N);if(!o(T))throw new Error("Point is not on curve");let M=l(T),F=r.sqrt(M),G=(F&be)===be;return(_&1)===1!==G&&(F=r.neg(F)),{x:T,y:F}}else if(P===s&&_===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 ${P} was invalid. Expected ${i} compressed bytes or ${s} uncompressed bytes`)}}),y=I=>Ze(xr(I,t.nByteLength));function d(I){let P=n>>be;return I>P}function p(I){return d(I)?a(-I):I}let m=(I,P,_)=>Xe(I.slice(P,_));class x{constructor(P,_,N){this.r=P,this.s=_,this.recovery=N,this.assertValidity()}static fromCompact(P){let _=t.nByteLength;return P=It("compactSignature",P,_*2),new x(m(P,0,_),m(P,_,2*_))}static fromDER(P){let{r:_,s:N}=zr.toSig(It("DER",P));return new x(_,N)}assertValidity(){if(!h(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!h(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(P){return new x(this.r,this.s,P)}recoverPublicKey(P){let{r:_,s:N,recovery:T}=this,M=L(It("msgHash",P));if(T==null||![0,1,2,3].includes(T))throw new Error("recovery id invalid");let F=T===2||T===3?_+t.n:_;if(F>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let G=T&1?"03":"02",X=u.fromHex(G+y(F)),et=c(F),ut=a(-M*et),rt=a(N*et),st=u.BASE.multiplyAndAddUnsafe(X,ut,rt);if(!st)throw new Error("point at infinify");return st.assertValidity(),st}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new x(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return kr(this.toDERHex())}toDERHex(){return zr.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return kr(this.toCompactHex())}toCompactHex(){return y(this.r)+y(this.s)}}let E={isValidPrivateKey(I){try{return f(I),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let I=Oo(t.n);return bu(t.randomBytes(I),t.n)},precompute(I=8,P=u.BASE){return P._setWindowSize(I),P.multiply(BigInt(3)),P}};function b(I,P=!0){return u.fromPrivateKey(I).toRawBytes(P)}function R(I){let P=I instanceof Uint8Array,_=typeof I=="string",N=(P||_)&&I.length;return P?N===i||N===s:_?N===2*i||N===2*s:I instanceof u}function w(I,P,_=!0){if(R(I))throw new Error("first arg must be private key");if(!R(P))throw new Error("second arg must be public key");return u.fromHex(P).multiply(f(I)).toRawBytes(_)}let S=t.bits2int||function(I){let P=Xe(I),_=I.length*8-t.nBitLength;return _>0?P>>BigInt(_):P},L=t.bits2int_modN||function(I){return a(S(I))},D=Fn(t.nBitLength);function Y(I){if(typeof I!="bigint")throw new Error("bigint expected");if(!(rr<=I&&I<D))throw new Error(`bigint expected < 2^${t.nBitLength}`);return xr(I,t.nByteLength)}function W(I,P,_=q){if(["recovered","canonical"].some(Tt=>Tt in _))throw new Error("sign() legacy options not supported");let{hash:N,randomBytes:T}=t,{lowS:M,prehash:F,extraEntropy:G}=_;M==null&&(M=!0),I=It("msgHash",I),F&&(I=It("prehashed msgHash",N(I)));let X=L(I),et=f(P),ut=[Y(et),Y(X)];if(G!=null){let Tt=G===!0?T(r.BYTES):G;ut.push(It("extraEntropy",Tt))}let rt=Je(...ut),st=X;function Lt(Tt){let zt=S(Tt);if(!h(zt))return;let Gt=c(zt),Pt=u.BASE.multiply(zt).toAffine(),Wt=a(Pt.x);if(Wt===rr)return;let He=a(Gt*a(st+Wt*et));if(He===rr)return;let Ir=(Pt.x===Wt?0:2)|Number(Pt.y&be),Cn=He;return M&&d(He)&&(Cn=p(He),Ir^=1),new x(Wt,Cn,Ir)}return{seed:rt,k2sig:Lt}}let q={lowS:t.lowS,prehash:!1},j={lowS:t.lowS,prehash:!1};function lt(I,P,_=q){let{seed:N,k2sig:T}=W(I,P,_),M=t;return No(M.hash.outputLen,M.nByteLength,M.hmac)(N,T)}u.BASE._setWindowSize(8);function Ht(I,P,_,N=j){let T=I;if(P=It("msgHash",P),_=It("publicKey",_),"strict"in N)throw new Error("options.strict was renamed to lowS");let{lowS:M,prehash:F}=N,G,X;try{if(typeof T=="string"||T instanceof Uint8Array)try{G=x.fromDER(T)}catch(Pt){if(!(Pt instanceof zr.Err))throw Pt;G=x.fromCompact(T)}else if(typeof T=="object"&&typeof T.r=="bigint"&&typeof T.s=="bigint"){let{r:Pt,s:Wt}=T;G=new x(Pt,Wt)}else throw new Error("PARSE");X=u.fromHex(_)}catch(Pt){if(Pt.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(M&&G.hasHighS())return!1;F&&(P=t.hash(P));let{r:et,s:ut}=G,rt=L(P),st=c(ut),Lt=a(rt*st),Tt=a(et*st),zt=u.BASE.multiplyAndAddUnsafe(X,Lt,Tt)?.toAffine();return zt?a(zt.x)===et:!1}return{CURVE:t,getPublicKey:b,getSharedSecret:w,sign:lt,verify:Ht,ProjectivePoint:u,Signature:x,utils:E}}var Zi=class extends hn{constructor(t,r){super(),this.finished=!1,this.destroyed=!1,cu(t);let n=Kn(r);if(this.iHash=t.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?t.create().update(n).digest():n);for(let o=0;o<s.length;o++)s[o]^=54;this.iHash.update(s),this.oHash=t.create();for(let o=0;o<s.length;o++)s[o]^=106;this.oHash.update(s),s.fill(0)}update(t){return ln(this),this.iHash.update(t),this}digestInto(t){ln(this),Bo(t,this.outputLen),this.finished=!0,this.iHash.digestInto(t),this.oHash.update(t),this.oHash.digestInto(t),this.destroy()}digest(){let t=new Uint8Array(this.oHash.outputLen);return this.digestInto(t),t}_cloneInto(t){t||(t=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:s,blockLen:o,outputLen:a}=this;return t=t,t.finished=i,t.destroyed=s,t.blockLen=o,t.outputLen=a,t.oHash=r._cloneInto(t.oHash),t.iHash=n._cloneInto(t.iHash),t}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},ua=(e,t,r)=>new Zi(e,t).update(r).digest();ua.create=(e,t)=>new Zi(e,t);function hg(e){return{hash:e,hmac:(t,...r)=>ua(e,t,Ni(...r)),randomBytes:dn}}function sf(e,t){let r=n=>nf({...e,...hg(n)});return Object.freeze({...r(t),create:r})}var cf=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),of=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),dg=BigInt(1),fa=BigInt(2),af=(e,t)=>(e+t/fa)/t;function pg(e){let t=cf,r=BigInt(3),n=BigInt(6),i=BigInt(11),s=BigInt(22),o=BigInt(23),a=BigInt(44),c=BigInt(88),u=e*e*e%t,f=u*u*e%t,l=Et(f,r,t)*f%t,h=Et(l,r,t)*f%t,y=Et(h,fa,t)*u%t,d=Et(y,i,t)*y%t,p=Et(d,s,t)*d%t,m=Et(p,a,t)*p%t,x=Et(m,c,t)*m%t,E=Et(x,a,t)*p%t,b=Et(E,r,t)*f%t,R=Et(b,o,t)*d%t,w=Et(R,n,t)*u%t,S=Et(w,fa,t);if(!la.eql(la.sqr(S),e))throw new Error("Cannot find square root");return S}var la=Fi(cf,void 0,void 0,{sqrt:pg}),Re=sf({a:BigInt(0),b:BigInt(7),Fp:la,n:of,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=of,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-dg*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=af(s*e,t),c=af(-n*e,t),u=dt(e-a*r-c*i,t),f=dt(-a*n-c*s,t),l=u>o,h=f>o;if(l&&(u=t-u),h&&(f=t-f),u>o||f>o)throw new Error("splitScalar: Endomorphism failed, k="+e);return{k1neg:l,k1:u,k2neg:h,k2:f}}}},ef),tE=BigInt(0);var eE=Re.ProjectivePoint;function uf(){return Re.utils.randomPrivateKey()}function ff(e,t){let r=Ut.digest(t instanceof Uint8Array?t:t.subarray());if(ve(r))return r.then(({digest:n})=>Re.sign(n,e).toDERRawBytes()).catch(n=>{throw new H(String(n),"ERR_INVALID_INPUT")});try{return Re.sign(r.digest,e).toDERRawBytes()}catch(n){throw new H(String(n),"ERR_INVALID_INPUT")}}function lf(e,t,r){let n=Ut.digest(r instanceof Uint8Array?r:r.subarray());if(ve(n))return n.then(({digest:i})=>Re.verify(t,i,e)).catch(i=>{throw new H(String(i),"ERR_INVALID_INPUT")});try{return Re.verify(t,n.digest,e)}catch(i){throw new H(String(i),"ERR_INVALID_INPUT")}}function hf(e){return Re.ProjectivePoint.fromHex(e).toRawBytes(!0)}function df(e){try{Re.getPublicKey(e,!0)}catch(t){throw new H(String(t),"ERR_INVALID_PRIVATE_KEY")}}function ha(e){try{Re.ProjectivePoint.fromHex(e)}catch(t){throw new H(String(t),"ERR_INVALID_PUBLIC_KEY")}}function pf(e){try{return Re.getPublicKey(e,!0)}catch(t){throw new H(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Zn=class{_key;constructor(t){ha(t),this._key=t}verify(t,r){return lf(this._key,r,t)}marshal(){return hf(this._key)}get bytes(){return Ve.encode({Type:wt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Ct(this.bytes,t.bytes)}async hash(){let t=Ut.digest(this.bytes),r;return ve(t)?{bytes:r}=await t:r=t.bytes,r}},Xn=class{_key;_publicKey;constructor(t,r){this._key=t,this._publicKey=r??pf(t),df(this._key),ha(this._publicKey)}sign(t){return ff(this._key,t)}get public(){return new Zn(this._publicKey)}marshal(){return this._key}get bytes(){return qe.encode({Type:wt.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return Ct(this.bytes,t.bytes)}hash(){let t=Ut.digest(this.bytes);return ve(t)?t.then(({bytes:r})=>r):t.bytes}async id(){let t=await this.public.hash();return pt(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return gn(this.bytes,t);throw new H(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function mg(e){return new Xn(e)}function gg(e){return new Zn(e)}async function xg(){let e=uf();return new Xn(e)}var Gr={rsa:aa,ed25519:ra,secp256k1:da};function yf(e){let t=Object.keys(Gr).join(" / ");return new H(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function mf(e){let t=Ve.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case wt.RSA:return Gr.rsa.unmarshalRsaPublicKey(r);case wt.Ed25519:return Gr.ed25519.unmarshalEd25519PublicKey(r);case wt.Secp256k1:return Gr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw yf(t.Type??"unknown")}}async function gf(e){let t=qe.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case wt.RSA:return Gr.rsa.unmarshalRsaPrivateKey(r);case wt.Ed25519:return Gr.ed25519.unmarshalEd25519PrivateKey(r);case wt.Secp256k1:return Gr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw yf(t.Type??"RSA")}}var bg=Math.pow(2,7),Eg=Math.pow(2,14),wg=Math.pow(2,21),pa=Math.pow(2,28),ya=Math.pow(2,35),ma=Math.pow(2,42),ga=Math.pow(2,49),ct=128,jt=127;function te(e){if(e<bg)return 1;if(e<Eg)return 2;if(e<wg)return 3;if(e<pa)return 4;if(e<ya)return 5;if(e<ma)return 6;if(e<ga)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Sg(e,t,r=0){switch(te(e)){case 8:t[r++]=e&255|ct,e/=128;case 7:t[r++]=e&255|ct,e/=128;case 6:t[r++]=e&255|ct,e/=128;case 5:t[r++]=e&255|ct,e/=128;case 4:t[r++]=e&255|ct,e>>>=7;case 3:t[r++]=e&255|ct,e>>>=7;case 2:t[r++]=e&255|ct,e>>>=7;case 1:{t[r++]=e&255,e>>>=7;break}default:throw new Error("unreachable")}return t}function Ag(e,t,r=0){switch(te(e)){case 8:t.set(r++,e&255|ct),e/=128;case 7:t.set(r++,e&255|ct),e/=128;case 6:t.set(r++,e&255|ct),e/=128;case 5:t.set(r++,e&255|ct),e/=128;case 4:t.set(r++,e&255|ct),e>>>=7;case 3:t.set(r++,e&255|ct),e>>>=7;case 2:t.set(r++,e&255|ct),e>>>=7;case 1:{t.set(r++,e&255),e>>>=7;break}default:throw new Error("unreachable")}return t}function Tg(e,t){let r=e[t],n=0;if(n+=r&jt,r<ct||(r=e[t+1],n+=(r&jt)<<7,r<ct)||(r=e[t+2],n+=(r&jt)<<14,r<ct)||(r=e[t+3],n+=(r&jt)<<21,r<ct)||(r=e[t+4],n+=(r&jt)*pa,r<ct)||(r=e[t+5],n+=(r&jt)*ya,r<ct)||(r=e[t+6],n+=(r&jt)*ma,r<ct)||(r=e[t+7],n+=(r&jt)*ga,r<ct))return n;throw new RangeError("Could not decode varint")}function Bg(e,t){let r=e.get(t),n=0;if(n+=r&jt,r<ct||(r=e.get(t+1),n+=(r&jt)<<7,r<ct)||(r=e.get(t+2),n+=(r&jt)<<14,r<ct)||(r=e.get(t+3),n+=(r&jt)<<21,r<ct)||(r=e.get(t+4),n+=(r&jt)*pa,r<ct)||(r=e.get(t+5),n+=(r&jt)*ya,r<ct)||(r=e.get(t+6),n+=(r&jt)*ma,r<ct)||(r=e.get(t+7),n+=(r&jt)*ga,r<ct))return n;throw new RangeError("Could not decode varint")}function Ee(e,t,r=0){return t==null&&(t=$t(te(e))),t instanceof Uint8Array?Sg(e,t,r):Ag(e,t,r)}function Le(e,t=0){return e instanceof Uint8Array?Tg(e,t):Bg(e,t)}var vf=Symbol.for("@achingbrain/uint8arraylist");function xf(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function Xi(e){return!!e?.[vf]}var ue=class e{bufs;length;[vf]=!0;constructor(...t){this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Xi(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(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Xi(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(t){let r=xf(this.bufs,t);return r.buf[r.index]}set(t,r){let n=xf(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(Xi(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:i}=this._subList(t,r);return Ot(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:Ot(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),s=new e;return s.length=i,s.bufs=[...n],s}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===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,t>=c)continue;let u=t>=a&&t<c,f=r>a&&r<=c;if(u&&f){if(t===a&&r===c){n.push(o);break}let l=t-a;n.push(o.subarray(l,l+(r-t)));break}if(u){if(t===0){n.push(o);continue}n.push(o.subarray(t-a));continue}if(f){if(r===c){n.push(o);break}n.push(o.subarray(0,r-a));break}n.push(o)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!Xi(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.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 l=0;l<s;l++)o[l]=-1;for(let l=0;l<i;l++)o[n[l]]=l;let a=o,c=this.byteLength-n.byteLength,u=n.byteLength-1,f;for(let l=r;l<=c;l+=f){f=0;for(let h=u;h>=0;h--){let y=this.get(l+h);if(n[h]!==y){f=Math.max(1,h-a[y]);break}}if(f===0)return l}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=$t(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=Qe(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=Qe(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=Qe(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=$t(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=Qe(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=Qe(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=Qe(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=Qe(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=Qe(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof e)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!Ct(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new e;return n.bufs=t,r==null&&(r=t.reduce((i,s)=>i+s.byteLength,0)),n.length=r,n}};var bf={ERR_SIGNATURE_NOT_VALID:"ERR_SIGNATURE_NOT_VALID"};var Jn;(function(e){let t;e.codec=()=>(t==null&&(t=Jt((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})),t),e.encode=r=>Xt(r,e.codec()),e.decode=r=>Zt(r,e.codec())})(Jn||(Jn={}));var jn=class e{static createFromProtobuf=async t=>{let r=Jn.decode(t),n=await F0(r.publicKey);return new e({peerId:n,payloadType:r.payloadType,payload:r.payload,signature:r.signature})};static seal=async(t,r)=>{if(r.privateKey==null)throw new Error("Missing private key");let n=t.domain,i=t.codec,s=t.marshal(),o=Ef(n,i,s),c=await(await gf(r.privateKey)).sign(o.subarray());return new e({peerId:r,payloadType:i,payload:s,signature:c})};static openAndCertify=async(t,r)=>{let n=await e.createFromProtobuf(t);if(!await n.validate(r))throw new H("envelope signature is not valid for the given domain",bf.ERR_SIGNATURE_NOT_VALID);return n};peerId;payloadType;payload;signature;marshaled;constructor(t){let{peerId:r,payloadType:n,payload:i,signature:s}=t;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=Jn.encode({publicKey:this.peerId.publicKey,payloadType:this.payloadType,payload:this.payload.subarray(),signature:this.signature})),this.marshaled}equals(t){return Ct(this.marshal(),t.marshal())}async validate(t){let r=Ef(t,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return mf(this.peerId.publicKey).verify(r.subarray(),this.signature)}},Ef=(e,t,r)=>{let n=Nt(e),i=Ee(n.byteLength),s=Ee(t.length),o=Ee(r.length);return new ue(i,n,s,t,o,r)};var Ji=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();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(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,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 f=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let h=Number.parseInt(l,t);if(!Number.isNaN(h))return h});if(f===void 0)break;if(s*=t,s+=f,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 t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=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]=t(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]=t(s.subarray(0,o));return r.set(s.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var wf=45,Ig=15,wn=new Ji;function xa(e){if(!(e.length>Ig))return wn.new(e).parseWith(()=>wn.readIPv4Addr())}function va(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>wf))return wn.new(e).parseWith(()=>wn.readIPv6Addr())}function ji(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>wf))return wn.new(e).parseWith(()=>wn.readIPAddr())}var XE=parseInt("0xFFFF",16),JE=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function Tf(e){return!!xa(e)}function Bf(e){return!!va(e)}function ts(e){return!!ji(e)}var If=Tf,Dg=Bf,ba=function(e){let t=0;if(e=e.toString().trim(),If(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(Dg(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let s=If(r[n]),o;s&&(o=ba(r[n]),r[n]=pt(o.slice(0,2),"base16")),o!=null&&++n<8&&r.splice(n,0,pt(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(t+16);for(n=0;n<r.length;n++){let s=parseInt(r[n],16);i[t++]=s>>8&255,i[t++]=s&255}return i}throw new Error("invalid ip address")},Cf=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let i=[];for(let s=0;s<r;s++)i.push(e[t+s]);return i.join(".")}if(r===16){let i=[];for(let s=0;s<r;s+=2)i.push(n.getUint16(t+s).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Sn={},Ea={},Pg=[[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"]];Pg.forEach(e=>{let t=kg(...e);Ea[t.code]=t,Sn[t.name]=t});function kg(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function yt(e){if(typeof e=="number"){if(Ea[e]!=null)return Ea[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(Sn[e]!=null)return Sn[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var kw=yt("ip4"),Uw=yt("ip6"),Ow=yt("ipcidr");function Sa(e,t){switch(yt(e).code){case 4:case 41:return Og(t);case 42:return Lf(t);case 6:case 273:case 33:case 132:return Nf(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Lf(t);case 421:return Vg(t);case 444:return Df(t);case 445:return Df(t);case 466:return Fg(t);default:return pt(t,"base16")}}function Aa(e,t){switch(yt(e).code){case 4:return _f(t);case 41:return _f(t);case 42:return Rf(t);case 6:case 273:case 33:case 132:return Ta(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Rf(t);case 421:return Mg(t);case 444:return qg(t);case 445:return Hg(t);case 466:return Kg(t);default:return Nt(t,"base16")}}var wa=Object.values(ur).map(e=>e.decoder),Ug=function(){let e=wa[0].or(wa[1]);return wa.slice(2).forEach(t=>e=e.or(t)),e}();function _f(e){if(!ts(e))throw new Error("invalid ip address");return ba(e)}function Og(e){let t=Cf(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!ts(t))throw new Error("invalid ip address");return t}function Ta(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function Nf(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function Rf(e){let t=Nt(e),r=Uint8Array.from(Ee(t.length));return Ot([r,t],r.length+t.length)}function Lf(e){let t=Le(e);if(e=e.slice(te(t)),e.length!==t)throw new Error("inconsistent lengths");return pt(e)}function Mg(e){let t;e[0]==="Q"||e[0]==="1"?t=Cr(kt.decode(`z${e}`)).bytes:t=fe.parse(e).multihash.bytes;let r=Uint8Array.from(Ee(t.length));return Ot([r,t],r.length+t.length)}function Kg(e){let t=Ug.decode(e),r=Uint8Array.from(Ee(t.length));return Ot([r,t],r.length+t.length)}function Fg(e){let t=Le(e),r=e.slice(te(t));if(r.length!==t)throw new Error("inconsistent lengths");return"u"+pt(r,"base64url")}function Vg(e){let t=Le(e),r=e.slice(te(t));if(r.length!==t)throw new Error("inconsistent lengths");return pt(r,"base58btc")}function qg(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=Ge.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Ta(n);return Ot([r,i],r.length+i.length)}function Hg(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=Ge.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=Ta(n);return Ot([r,i],r.length+i.length)}function Df(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=pt(t,"base32"),i=Nf(r);return`${n}:${i}`}function Pf(e){e=Ba(e);let t=[],r=[],n=null,i=e.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=yt(o);if(a.size===0){t.push([a.code]),r.push([a.code]);continue}if(s++,s>=i.length)throw Uf("invalid address: "+e);if(a.path===!0){n=Ba(i.slice(s).join("/")),t.push([a.code,Aa(a.code,n)]),r.push([a.code,n]);break}let c=Aa(a.code,i[s]);t.push([a.code,c]),r.push([a.code,Sa(a.code,c)])}return{string:kf(r),bytes:Ca(t),tuples:t,stringTuples:r,path:n}}function Ia(e){let t=[],r=[],n=null,i=0;for(;i<e.length;){let s=Le(e,i),o=te(s),a=yt(s),c=zg(a,e.slice(i+o));if(c===0){t.push([s]),r.push([s]),i+=o;continue}let u=e.slice(i+o,i+o+c);if(i+=c+o,i>e.length)throw Uf("Invalid address Uint8Array: "+pt(e,"base16"));t.push([s,u]);let f=Sa(s,u);if(r.push([s,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(e),string:kf(r),tuples:t,stringTuples:r,path:n}}function kf(e){let t=[];return e.map(r=>{let n=yt(r[0]);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),Ba(t.join("/"))}function Ca(e){return Ot(e.map(t=>{let r=yt(t[0]),n=Uint8Array.from(Ee(r.code));return t.length>1&&t[1]!=null&&(n=Ot([n,t[1]])),n}))}function zg(e,t){if(e.size>0)return e.size/8;if(e.size===0)return 0;{let r=Le(t instanceof Uint8Array?t:Uint8Array.from(t));return r+te(r)}}function Ba(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function Uf(e){return new Error("Error parsing address: "+e)}var Gg=Symbol.for("nodejs.util.inspect.custom"),_a=Symbol.for("@multiformats/js-multiaddr/multiaddr"),Wg=[yt("dns").code,yt("dns4").code,yt("dns6").code,yt("dnsaddr").code],es=class e{bytes;#t;#e;#r;#n;[_a]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=Ia(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=Pf(t)}else if(Mf(t))r=Ia(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#t=r.string,this.#e=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#t}toJSON(){return this.toString()}toOptions(){let t,r,n,i,s="",o=yt("tcp"),a=yt("udp"),c=yt("ip4"),u=yt("ip6"),f=yt("dns6"),l=yt("ip6zone");for(let[y,d]of this.stringTuples())y===l.code&&(s=`%${d??""}`),Wg.includes(y)&&(r=o.name,i=443,n=`${d??""}${s}`,t=y===f.code?6:4),(y===o.code||y===a.code)&&(r=yt(y).name,i=parseInt(d??"")),(y===c.code||y===u.code)&&(r=yt(y).name,n=`${d??""}${s}`,t=y===u.code?6:4);if(t==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:t,host:n,transport:r,port:i}}protos(){return this.#e.map(([t])=>Object.assign({},yt(t)))}protoCodes(){return this.#e.map(([t])=>t)}protoNames(){return this.#e.map(([t])=>yt(t).name)}tuples(){return this.#e}stringTuples(){return this.#r}encapsulate(t){return t=new e(t),new e(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new e(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new e(Ca(r.slice(0,n)));return this}getPeerId(){try{let t=[];this.stringTuples().forEach(([n,i])=>{n===Sn.p2p.code&&t.push([n,i]),n===Sn["p2p-circuit"].code&&(t=[])});let r=t.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?pt(kt.decode(`z${n}`),"base58btc"):pt(fe.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(t){return Ct(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(s=>s.resolvable);if(r==null)return[this];let n=Of.get(r.name);if(n==null)throw new H(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(s=>new e(s))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[Gg](){return`Multiaddr(${this.#t})`}};var Of=new Map;function Mf(e){return!!e?.[_a]}function ee(e){return new es(e)}var Yg=Uint8Array.from([3,1]);var Ra;(function(e){let t;(function(n){let i;n.codec=()=>(i==null&&(i=Jt((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=>Xt(s,n.codec()),n.decode=s=>Zt(s,n.codec())})(t=e.AddressInfo||(e.AddressInfo={}));let r;e.codec=()=>(r==null&&(r=Jt((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),e.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(e.AddressInfo.codec().decode(n,n.uint32()));break;default:n.skipType(a&7);break}}return s})),r),e.encode=n=>Xt(n,e.codec()),e.decode=n=>Zt(n,e.codec())})(Ra||(Ra={}));function wr(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var rs=class extends Error{type;code;constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.name="AbortError",this.code=r??"ABORT_ERR"}};async function Kf(e,t,r){if(t==null)return e;if(t.aborted)return Promise.reject(new rs(r?.errorMessage,r?.errorCode));let n,i=new rs(r?.errorMessage,r?.errorCode);try{return await Promise.race([e,new Promise((s,o)=>{n=()=>{o(i)},t.addEventListener("abort",n)})])}finally{n!=null&&t.removeEventListener("abort",n)}}var La=class{needNext;haveNext;ended;nextResult;constructor(){this.ended=!1,this.needNext=wr(),this.needNext.resolve(),this.haveNext=wr()}[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 t=this.nextResult;return this.nextResult=void 0,this.needNext.resolve(),this.needNext=wr(),t}async throw(t){return this.ended=!0,t!=null&&this.haveNext.reject(t),{done:!0,value:void 0}}async return(){let t={done:!0,value:void 0};return await this._push(void 0),t}async push(t,r){await this._push(t,r)}async end(t,r){t!=null?await this.throw(t):await this._push(void 0,r)}async _push(t,r){if(t!=null&&this.ended)throw new Error("Cannot push value onto an ended pushable");this.nextResult!=null&&await this.needNext.promise,t!=null?this.nextResult={done:!1,value:t}:(this.ended=!0,this.nextResult={done:!0,value:void 0}),this.haveNext.resolve(),this.haveNext=wr(),await Kf(this.needNext.promise,r?.signal,r)}};function Ff(){return new La}var ns=class extends Error{code;constructor(t,r){super(t),this.code=r}},Da=class extends ns{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function Vf(e,t){let r=Ff();e.sink(r).catch(async o=>{await r.end(o)}),e.sink=async o=>{for await(let a of o)await r.push(a);await r.end()};let n=e.source;e.source[Symbol.iterator]!=null?n=e.source[Symbol.iterator]():e.source[Symbol.asyncIterator]!=null&&(n=e.source[Symbol.asyncIterator]());let i=new ue;return{read:async(o,a)=>{a?.signal?.throwIfAborted();let c,u=new Promise((f,l)=>{c=()=>{l(new Da("Read aborted"))},a?.signal?.addEventListener("abort",c)});try{if(o==null){let{done:l,value:h}=await Promise.race([n.next(),u]);return l===!0?new ue:h}for(;i.byteLength<o;){let{value:l,done:h}=await Promise.race([n.next(),u]);if(h===!0)throw new ns("unexpected end of input","ERR_UNEXPECTED_EOF");i.append(l)}let f=i.sublist(0,o);return i.consume(o),f}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=e.source;e.source=async function*(){t?.yieldBytes===!1?yield i:yield*i,yield*o}()}return e}}}function is(e){return e[Symbol.asyncIterator]!=null}var ss=e=>{let t=te(e),r=$t(t);return Ee(e,r),ss.bytes=t,r};ss.bytes=0;function ti(e,t){t=t??{};let r=t.lengthEncoder??ss;function*n(i){let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return is(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}ti.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??ss;return new ue(r(e.byteLength),e)};var An=Yt(zf(),1);var Qg=8,Zg=1024*1024*4,Wr;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(Wr||(Wr={}));var Pa=e=>{let t=Le(e);return Pa.bytes=te(t),t};Pa.bytes=0;function Na(e,t){let r=new ue,n=Wr.LENGTH,i=-1,s=t?.lengthDecoder??Pa,o=t?.maxLengthLength??Qg,a=t?.maxDataLength??Zg;function*c(){for(;r.byteLength>0;){if(n===Wr.LENGTH)try{if(i=s(r),i<0)throw(0,An.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,An.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=s.bytes;r.consume(u),t?.onLength!=null&&t.onLength(i),n=Wr.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>o)throw(0,An.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===Wr.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(u),yield u,n=Wr.LENGTH}}}return is(e)?async function*(){for await(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,An.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of e)r.append(u),yield*c();if(r.byteLength>0)throw(0,An.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Na.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:s,value:o}=await e.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 Na(n,{...t??{},onLength:s=>{r=s}})};var os=class extends Error{code;constructor(t,r){super(t),this.code=r}},Gf=e=>Le(e);Gf.bytes=0;function Wf(e,t={}){let r=Vf(e,t);return t.maxDataLength!=null&&t.maxLengthLength==null&&(t.maxLengthLength=te(t.maxDataLength)),{read:async i=>{let s=-1,o=new ue,a=t?.lengthDecoder??Gf;for(;;){o.append(await r.read(1,i));try{s=a(o)}catch(c){if(c instanceof RangeError)continue;throw c}if(t?.maxLengthLength!=null&&o.byteLength>t.maxLengthLength)throw new os("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(s>-1)break}if(t?.maxDataLength!=null&&s>t.maxDataLength)throw new os("message length too long","ERR_MSG_DATA_TOO_LONG");return r.read(s,i)},write:async(i,s)=>{await r.write(ti.single(i,t),s)},writeV:async(i,s)=>{let o=new ue(...i.map(a=>ti.single(a,t)));await r.write(o,s)},unwrap:()=>r.unwrap()}}function Sr(e,t){let r=Wf(e,t),n={read:async(i,s)=>{let o=await r.read(s);return i.decode(o)},write:async(i,s,o)=>{await r.write(s.encode(i),o)},writeV:async(i,s,o)=>{await r.writeV(i.map(a=>s.encode(a)),o)},pb:i=>({read:async s=>n.read(i,s),write:async(s,o)=>n.write(s,i,o),writeV:async(s,o)=>n.writeV(s,i,o),unwrap:()=>n}),unwrap:()=>r.unwrap()};return n}var as="/libp2p/relay";var Yf="circuit-relay-source",$f="circuit-relay-relay";var Qf=BigInt(131072),we="/libp2p/circuit/relay/0.2.0/hop",Yr="/libp2p/circuit/relay/0.2.0/stop",Zf=30*1e3,Xf=30*1e3,ei=300,Jf="ERR_NO_ROUTERS_AVAILABLE",ka="ERR_RELAYED_DIAL",jf="ERR_HOP_REQUEST_FAILED",cs="ERR_TRANSFER_LIMIT_EXCEEDED";var ft;(function(e){let t;(function(i){i.RESERVE="RESERVE",i.CONNECT="CONNECT",i.STATUS="STATUS"})(t=e.Type||(e.Type={}));let r;(function(i){i[i.RESERVE=0]="RESERVE",i[i.CONNECT=1]="CONNECT",i[i.STATUS=2]="STATUS"})(r||(r={})),function(i){i.codec=()=>Fr(r)}(t=e.Type||(e.Type={}));let n;e.codec=()=>(n==null&&(n=Jt((i,s,o={})=>{o.lengthDelimited!==!1&&s.fork(),i.type!=null&&(s.uint32(8),e.Type.codec().encode(i.type,s)),i.peer!=null&&(s.uint32(18),Tn.codec().encode(i.peer,s)),i.reservation!=null&&(s.uint32(26),us.codec().encode(i.reservation,s)),i.limit!=null&&(s.uint32(34),Bn.codec().encode(i.limit,s)),i.status!=null&&(s.uint32(40),tt.codec().encode(i.status,s)),o.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let o={},a=s==null?i.len:i.pos+s;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:o.type=e.Type.codec().decode(i);break;case 2:o.peer=Tn.codec().decode(i,i.uint32());break;case 3:o.reservation=us.codec().decode(i,i.uint32());break;case 4:o.limit=Bn.codec().decode(i,i.uint32());break;case 5:o.status=tt.codec().decode(i);break;default:i.skipType(c&7);break}}return o})),n),e.encode=i=>Xt(i,e.codec()),e.decode=i=>Zt(i,e.codec())})(ft||(ft={}));var de;(function(e){let t;(function(i){i.CONNECT="CONNECT",i.STATUS="STATUS"})(t=e.Type||(e.Type={}));let r;(function(i){i[i.CONNECT=0]="CONNECT",i[i.STATUS=1]="STATUS"})(r||(r={})),function(i){i.codec=()=>Fr(r)}(t=e.Type||(e.Type={}));let n;e.codec=()=>(n==null&&(n=Jt((i,s,o={})=>{o.lengthDelimited!==!1&&s.fork(),i.type!=null&&(s.uint32(8),e.Type.codec().encode(i.type,s)),i.peer!=null&&(s.uint32(18),Tn.codec().encode(i.peer,s)),i.limit!=null&&(s.uint32(26),Bn.codec().encode(i.limit,s)),i.status!=null&&(s.uint32(32),tt.codec().encode(i.status,s)),o.lengthDelimited!==!1&&s.ldelim()},(i,s)=>{let o={},a=s==null?i.len:i.pos+s;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:o.type=e.Type.codec().decode(i);break;case 2:o.peer=Tn.codec().decode(i,i.uint32());break;case 3:o.limit=Bn.codec().decode(i,i.uint32());break;case 4:o.status=tt.codec().decode(i);break;default:i.skipType(c&7);break}}return o})),n),e.encode=i=>Xt(i,e.codec()),e.decode=i=>Zt(i,e.codec())})(de||(de={}));var Tn;(function(e){let t;e.codec=()=>(t==null&&(t=Jt((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.id!=null&&r.id.byteLength>0&&(n.uint32(10),n.bytes(r.id)),r.addrs!=null)for(let s of r.addrs)n.uint32(18),n.bytes(s);i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={id:new Uint8Array(0),addrs:[]},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.addrs.push(r.bytes());break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>Xt(r,e.codec()),e.decode=r=>Zt(r,e.codec())})(Tn||(Tn={}));var us;(function(e){let t;e.codec=()=>(t==null&&(t=Jt((r,n,i={})=>{if(i.lengthDelimited!==!1&&n.fork(),r.expire!=null&&r.expire!==0n&&(n.uint32(8),n.uint64(r.expire)),r.addrs!=null)for(let s of r.addrs)n.uint32(18),n.bytes(s);r.voucher!=null&&(n.uint32(26),n.bytes(r.voucher)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={expire:0n,addrs:[]},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.expire=r.uint64();break;case 2:i.addrs.push(r.bytes());break;case 3:i.voucher=r.bytes();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>Xt(r,e.codec()),e.decode=r=>Zt(r,e.codec())})(us||(us={}));var Bn;(function(e){let t;e.codec=()=>(t==null&&(t=Jt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.duration!=null&&(n.uint32(8),n.uint32(r.duration)),r.data!=null&&(n.uint32(16),n.uint64(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.duration=r.uint32();break;case 2:i.data=r.uint64();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>Xt(r,e.codec()),e.decode=r=>Zt(r,e.codec())})(Bn||(Bn={}));var tt;(function(e){e.UNUSED="UNUSED",e.OK="OK",e.RESERVATION_REFUSED="RESERVATION_REFUSED",e.RESOURCE_LIMIT_EXCEEDED="RESOURCE_LIMIT_EXCEEDED",e.PERMISSION_DENIED="PERMISSION_DENIED",e.CONNECTION_FAILED="CONNECTION_FAILED",e.NO_RESERVATION="NO_RESERVATION",e.MALFORMED_MESSAGE="MALFORMED_MESSAGE",e.UNEXPECTED_MESSAGE="UNEXPECTED_MESSAGE"})(tt||(tt={}));var Ua;(function(e){e[e.UNUSED=0]="UNUSED",e[e.OK=100]="OK",e[e.RESERVATION_REFUSED=200]="RESERVATION_REFUSED",e[e.RESOURCE_LIMIT_EXCEEDED=201]="RESOURCE_LIMIT_EXCEEDED",e[e.PERMISSION_DENIED=202]="PERMISSION_DENIED",e[e.CONNECTION_FAILED=203]="CONNECTION_FAILED",e[e.NO_RESERVATION=204]="NO_RESERVATION",e[e.MALFORMED_MESSAGE=400]="MALFORMED_MESSAGE",e[e.UNEXPECTED_MESSAGE=401]="UNEXPECTED_MESSAGE"})(Ua||(Ua={}));(function(e){e.codec=()=>Fr(Ua)})(tt||(tt={}));var fs;(function(e){let t;e.codec=()=>(t==null&&(t=Jt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.relay!=null&&r.relay.byteLength>0&&(n.uint32(10),n.bytes(r.relay)),r.peer!=null&&r.peer.byteLength>0&&(n.uint32(18),n.bytes(r.peer)),r.expiration!=null&&r.expiration!==0n&&(n.uint32(24),n.uint64(r.expiration)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={relay:new Uint8Array(0),peer:new Uint8Array(0),expiration:0n},s=n==null?r.len:r.pos+n;for(;r.pos<s;){let o=r.uint32();switch(o>>>3){case 1:i.relay=r.bytes();break;case 2:i.peer=r.bytes();break;case 3:i.expiration=r.uint64();break;default:r.skipType(o&7);break}}return i})),t),e.encode=r=>Xt(r,e.codec()),e.decode=r=>Zt(r,e.codec())})(fs||(fs={}));function tl(e){let t=new globalThis.AbortController;function r(){t.abort();for(let s of e)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}for(let s of e){if(s?.aborted===!0){r();break}s?.addEventListener!=null&&s.addEventListener("abort",r)}function n(){for(let s of e)s?.removeEventListener!=null&&s.removeEventListener("abort",r)}let i=t.signal;return i.clear=n,i}async function*el(e,t,r){let n=t.remaining;for await(let i of e){let s=BigInt(i.byteLength);if(t.remaining-s<0){let o=Number(t.remaining);t.remaining=0n;try{o!==0&&(yield i.subarray(0,o))}catch(a){r.log.error(a)}throw new H(`data limit of ${n} bytes exceeded`,cs)}t.remaining-=s,yield i}}function rl(e,t,r,n,i){function s(l){e.abort(l),t.abort(l)}let o=[r];n?.duration!=null&&o.push(AbortSignal.timeout(n.duration));let a=tl(o),c=!1,u=!1,f;n?.data!=null&&(f={remaining:n.data}),queueMicrotask(()=>{let l=()=>{t.abort(new H(`duration limit of ${n?.duration} ms exceeded`,cs))};a.addEventListener("abort",l,{once:!0}),t.sink(f==null?e.source:el(e.source,f,i)).catch(h=>{i.log.error("error while relaying streams src -> dst",h),s(h)}).finally(()=>{c=!0,u&&(a.removeEventListener("abort",l),a.clear())})}),queueMicrotask(()=>{let l=()=>{e.abort(new H(`duration limit of ${n?.duration} ms exceeded`,cs))};a.addEventListener("abort",l,{once:!0}),e.sink(f==null?t.source:el(t.source,f,i)).catch(h=>{i.log.error("error while relaying streams dst -> src",h),s(h)}).finally(()=>{u=!0,c&&(a.removeEventListener("abort",l),a.clear())})})}async function ls(e){let t=new TextEncoder().encode(e),r=await Ut.digest(t);return fe.createV0(r)}function Oa(e){let t=e*BigInt(1e3),r=new Date().getTime();return Number(t-BigInt(r))}var ul=Yt(al(),1);var jg=Object.prototype.toString,t1=e=>jg.call(e)==="[object Error]",e1=new Set(["Failed to fetch","NetworkError when attempting to fetch resource.","The Internet connection appears to be offline.","Load failed","Network request failed","fetch failed"]);function Ma(e){return e&&t1(e)&&e.name==="TypeError"&&typeof e.message=="string"?e.message==="Load failed"?e.stack===void 0:e1.has(e.message):!1}var Ka=class extends Error{constructor(t){super(),t instanceof Error?(this.originalError=t,{message:t}=t):(this.originalError=new Error(t),this.originalError.stack=this.stack),this.name="AbortError",this.message=t}},cl=(e,t,r)=>{let n=r.retries-(t-1);return e.attemptNumber=t,e.retriesLeft=n,e};async function Fa(e,t){return new Promise((r,n)=>{t={onFailedAttempt(){},retries:10,...t};let i=ul.default.operation(t),s=()=>{i.stop(),n(t.signal?.reason)};t.signal&&!t.signal.aborted&&t.signal.addEventListener("abort",s,{once:!0});let o=()=>{t.signal?.removeEventListener("abort",s),i.stop()};i.attempt(async a=>{try{let c=await e(a);o(),r(c)}catch(c){try{if(!(c instanceof Error))throw new TypeError(`Non-error was thrown: "${c}". You should only throw errors.`);if(c instanceof Ka)throw c.originalError;if(c instanceof TypeError&&!Ma(c))throw c;if(await t.onFailedAttempt(cl(c,a,t)),!i.retry(c))throw i.mainError()}catch(u){cl(u,a,t),o(),n(u)}}})})}var hs=class extends me{contentRouting;timeout;started;bootDelay;log;constructor(t,r){super(),this.log=t.logger.forComponent("libp2p:circuit-relay:advert-service"),this.contentRouting=t.contentRouting,this.bootDelay=r?.bootDelay??Xf,this.started=!1}isStarted(){return this.started}start(){this.started||(this.timeout=setTimeout(()=>{this._advertiseService().catch(t=>{this.log.error("could not advertise service",t)})},this.bootDelay),this.started=!0)}stop(){try{clearTimeout(this.timeout)}catch{}this.started=!1}async _advertiseService(){await Fa(async()=>{try{let t=await ls(as);await this.contentRouting.provide(t),this.safeDispatchEvent("advert:success",{detail:void 0})}catch(t){if(this.safeDispatchEvent("advert:error",{detail:t}),t.code===Jf){this.log.error("a content router, such as a DHT, must be provided in order to advertise the relay service",t),this.stop();return}throw this.log.error("could not advertise service",t),t}})}};function nr(e,t){let r={[Symbol.iterator]:()=>r,next:()=>{let n=e.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:t(i)}}};return r}var ir=class{map;constructor(t){if(this.map=new Map,t!=null)for(let[r,n]of t.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){this.map.delete(t.toString())}entries(){return nr(this.map.entries(),t=>[St(t[0]),t[1]])}forEach(t){this.map.forEach((r,n)=>{t(r,St(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,r){this.map.set(t.toString(),r)}keys(){return nr(this.map.keys(),t=>St(t))}values(){return this.map.values()}get size(){return this.map.size}};var Va=class e{set;constructor(t){if(this.set=new Set,t!=null)for(let r of t)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return nr(this.set.entries(),t=>{let r=St(t[0]);return[r,r]})}forEach(t){this.set.forEach(r=>{let n=St(r);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return nr(this.set.values(),t=>St(t))}intersection(t){let r=new e;for(let n of t)this.has(n)&&r.add(n);return r}difference(t){let r=new e;for(let n of this)t.has(n)||r.add(n);return r}union(t){let r=new e;for(let n of t)r.add(n);for(let n of this)r.add(n);return r}};var qa=class e{list;constructor(t){if(this.list=[],t!=null)for(let r of t)this.list.push(r.toString())}[Symbol.iterator](){return nr(this.list.entries(),t=>St(t[1]))}concat(t){let r=new e(this);for(let n of t)r.push(n);return r}entries(){return nr(this.list.entries(),t=>[t[0],St(t[1])])}every(t){return this.list.every((r,n)=>t(St(r),n,this))}filter(t){let r=new e;return this.list.forEach((n,i)=>{let s=St(n);t(s,i,this)&&r.push(s)}),r}find(t){let r=this.list.find((n,i)=>t(St(n),i,this));if(r!=null)return St(r)}findIndex(t){return this.list.findIndex((r,n)=>t(St(r),n,this))}forEach(t){this.list.forEach((r,n)=>{t(St(r),n,this)})}includes(t){return this.list.includes(t.toString())}indexOf(t){return this.list.indexOf(t.toString())}pop(){let t=this.list.pop();if(t!=null)return St(t)}push(...t){for(let r of t)this.list.push(r.toString())}shift(){let t=this.list.shift();if(t!=null)return St(t)}unshift(...t){let r=this.list.length;for(let n=t.length-1;n>-1;n--)r=this.list.unshift(t[n].toString());return r}get length(){return this.list.length}};var ds=class{reservations=new ir;_started=!1;interval;maxReservations;reservationClearInterval;applyDefaultLimit;reservationTtl;defaultDurationLimit;defaultDataLimit;constructor(t={}){this.maxReservations=t.maxReservations??15,this.reservationClearInterval=t.reservationClearInterval??3e5,this.applyDefaultLimit=t.applyDefaultLimit!==!1,this.reservationTtl=t.reservationTtl??72e5,this.defaultDurationLimit=t.defaultDurationLimit??12e4,this.defaultDataLimit=t.defaultDataLimit??Qf}isStarted(){return this._started}start(){this._started||(this._started=!0,this.interval=setInterval(()=>{let t=new Date().getTime();this.reservations.forEach((r,n)=>{r.expire.getTime()<t&&this.reservations.delete(n)})},this.reservationClearInterval))}stop(){clearInterval(this.interval)}reserve(t,r,n){if(this.reservations.size>=this.maxReservations&&!this.reservations.has(t))return{status:tt.RESERVATION_REFUSED};let i=new Date(Date.now()+this.reservationTtl),s;return this.applyDefaultLimit&&(s=n??{data:this.defaultDataLimit,duration:this.defaultDurationLimit}),this.reservations.set(t,{addr:r,expire:i,limit:s}),{status:tt.OK,expire:Math.round(i.getTime()/1e3)}}removeReservation(t){this.reservations.delete(t)}hasReservation(t){return this.reservations.has(t)}get(t){return this.reservations.get(t)}};var ps=class e{domain="libp2p-relay-rsvp";codec=new Uint8Array([3,2]);relay;peer;expiration;constructor({relay:t,peer:r,expiration:n}){this.relay=t,this.peer=r,this.expiration=n}marshal(){return fs.encode({relay:this.relay.toBytes(),peer:this.peer.toBytes(),expiration:BigInt(this.expiration)})}equals(t){return!(!(t instanceof e)||!this.peer.equals(t.peer)||!this.relay.equals(t.relay)||this.expiration!==t.expiration)}};var fl=e=>e.protoCodes().includes(290),o1={maxOutboundStopStreams:ei},Ha=class extends me{registrar;peerStore;addressManager;peerId;connectionManager;connectionGater;reservationStore;advertService;started;hopTimeout;shutdownController;maxInboundHopStreams;maxOutboundHopStreams;maxOutboundStopStreams;log;constructor(t,r={}){super(),this.log=t.logger.forComponent("libp2p:circuit-relay:server"),this.registrar=t.registrar,this.peerStore=t.peerStore,this.addressManager=t.addressManager,this.peerId=t.peerId,this.connectionManager=t.connectionManager,this.connectionGater=t.connectionGater,this.started=!1,this.hopTimeout=r?.hopTimeout??Zf,this.shutdownController=new AbortController,this.maxInboundHopStreams=r.maxInboundHopStreams,this.maxOutboundHopStreams=r.maxOutboundHopStreams,this.maxOutboundStopStreams=r.maxOutboundStopStreams??o1.maxOutboundStopStreams,g0(1/0,this.shutdownController.signal),r.advertise!=null&&r.advertise!==!1&&(this.advertService=new hs(t,r.advertise===!0?void 0:r.advertise),this.advertService.addEventListener("advert:success",()=>{this.safeDispatchEvent("relay:advert:success",{})}),this.advertService.addEventListener("advert:error",n=>{this.safeDispatchEvent("relay:advert:error",{detail:n.detail})})),this.reservationStore=new ds(r.reservations)}isStarted(){return this.started}async start(){this.started||(this.advertService?.start(),await this.registrar.handle(we,t=>{this.onHop(t).catch(r=>{this.log.error(r)})},{maxInboundStreams:this.maxInboundHopStreams,maxOutboundStreams:this.maxOutboundHopStreams,runOnTransientConnection:!0}),this.reservationStore.start(),this.started=!0)}async stop(){this.advertService?.stop(),this.reservationStore.stop(),this.shutdownController.abort(),await this.registrar.unhandle(we),this.started=!1}async onHop({connection:t,stream:r}){this.log("received circuit v2 hop protocol stream from %p",t.remotePeer);let n=wr(),i=setTimeout(()=>{n.reject("timed out")},this.hopTimeout),s=Sr(r);try{let o=await Promise.race([s.pb(ft).read(),n.promise]);if(o?.type==null)throw new Error("request was invalid, could not read from stream");this.log("received",o.type),await Promise.race([this.handleHopProtocol({connection:t,stream:s,request:o}),n.promise])}catch(o){this.log.error("error while handling hop",o),await s.pb(ft).write({type:ft.Type.STATUS,status:tt.MALFORMED_MESSAGE}),r.abort(o)}finally{clearTimeout(i)}}async handleHopProtocol({stream:t,request:r,connection:n}){switch(this.log("received hop message"),r.type){case ft.Type.RESERVE:await this.handleReserve({stream:t,request:r,connection:n});break;case ft.Type.CONNECT:await this.handleConnect({stream:t,request:r,connection:n});break;default:this.log.error("invalid hop request type %s via peer %p",r.type,n.remotePeer),await t.pb(ft).write({type:ft.Type.STATUS,status:tt.UNEXPECTED_MESSAGE})}}async handleReserve({stream:t,request:r,connection:n}){let i=t.pb(ft);if(this.log("hop reserve request from %p",n.remotePeer),fl(n.remoteAddr)){this.log.error("relay reservation over circuit connection denied for peer: %p",n.remotePeer),await i.write({type:ft.Type.STATUS,status:tt.PERMISSION_DENIED});return}if(await this.connectionGater.denyInboundRelayReservation?.(n.remotePeer)===!0){this.log.error("reservation for %p denied by connection gater",n.remotePeer),await i.write({type:ft.Type.STATUS,status:tt.PERMISSION_DENIED});return}let s=this.reservationStore.reserve(n.remotePeer,n.remoteAddr);if(s.status!==tt.OK){await i.write({type:ft.Type.STATUS,status:s.status});return}try{if(s.expire!=null){let o=s.expire*1e3-Date.now();await this.peerStore.merge(n.remotePeer,{tags:{[Yf]:{value:1,ttl:o}}})}await i.write({type:ft.Type.STATUS,status:tt.OK,reservation:await this.makeReservation(n.remotePeer,BigInt(s.expire??0)),limit:this.reservationStore.get(n.remotePeer)?.limit}),this.log("sent confirmation response to %s",n.remotePeer)}catch(o){this.log.error("failed to send confirmation response to %p",n.remotePeer,o),this.reservationStore.removeReservation(n.remotePeer)}}async makeReservation(t,r){let n=[];for(let s of this.addressManager.getAddresses())s.toString().includes("/p2p-circuit")||n.push(s.bytes);let i=await jn.seal(new ps({peer:t,relay:this.peerId,expiration:Number(r)}),this.peerId);return{addrs:n,expire:r,voucher:i.marshal()}}async handleConnect({stream:t,request:r,connection:n}){let i=t.pb(ft);if(fl(n.remoteAddr)){this.log.error("relay reservation over circuit connection denied for peer: %p",n.remotePeer),await i.write({type:ft.Type.STATUS,status:tt.PERMISSION_DENIED});return}this.log("hop connect request from %p",n.remotePeer);let s;try{if(r.peer==null)throw this.log.error("no peer info in hop connect request"),new Error("no peer info in request");r.peer.addrs.forEach(ee),s=on(r.peer.id)}catch(l){this.log.error("invalid hop connect request via peer %p %s",n.remotePeer,l),await i.write({type:ft.Type.STATUS,status:tt.MALFORMED_MESSAGE});return}if(!this.reservationStore.hasReservation(s)){this.log.error("hop connect denied for destination peer %p not having a reservation for %p with status %s",s,n.remotePeer,tt.NO_RESERVATION),await i.write({type:ft.Type.STATUS,status:tt.NO_RESERVATION});return}if(await this.connectionGater.denyOutboundRelayedConnection?.(n.remotePeer,s)===!0){this.log.error("hop connect for %p to %p denied by connection gater",n.remotePeer,s),await i.write({type:ft.Type.STATUS,status:tt.PERMISSION_DENIED});return}let o=this.connectionManager.getConnections(s);if(o.length===0){this.log("hop connect denied for destination peer %p not having a connection for %p as there is no destination connection",s,n.remotePeer),await i.write({type:ft.Type.STATUS,status:tt.NO_RESERVATION});return}let a=o[0],c=await this.stopHop({connection:a,request:{type:de.Type.CONNECT,peer:{id:n.remotePeer.toBytes(),addrs:[]}}});if(c==null){this.log.error("failed to open stream to destination peer %p",a?.remotePeer),await i.write({type:ft.Type.STATUS,status:tt.CONNECTION_FAILED});return}await i.write({type:ft.Type.STATUS,status:tt.OK});let u=t.unwrap();this.log("connection from %p to %p established - merging streams",n.remotePeer,s);let f=this.reservationStore.get(s)?.limit;rl(u,c,this.shutdownController.signal,f,{log:this.log})}async stopHop({connection:t,request:r}){this.log("starting circuit relay v2 stop request to %s",t.remotePeer);let n=await t.newStream([Yr],{maxOutboundStreams:this.maxOutboundStopStreams,runOnTransientConnection:!0}),i=Sr(n),s=i.pb(de);await s.write(r);let o;try{o=await s.read()}catch{this.log.error("error parsing stop message response from %p",t.remotePeer)}if(o==null){this.log.error("could not read response from %p",t.remotePeer),await n.close();return}if(o.status===tt.OK)return this.log("stop request to %p was successful",t.remotePeer),i.unwrap();this.log("stop request failed with code %d",o.status),await n.close()}get reservations(){return this.reservationStore.reservations}};function ll(e={}){return t=>new Ha(t,e)}var dl=Symbol.for("@libp2p/transport");var hl;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(hl||(hl={}));var ys=class extends me{peerId;peerStore;contentRouting;registrar;started;topologyId;log;constructor(t){super(),this.log=t.logger.forComponent("libp2p:circuit-relay:discover-relays"),this.started=!1,this.peerId=t.peerId,this.peerStore=t.peerStore,this.contentRouting=t.contentRouting,this.registrar=t.registrar}isStarted(){return this.started}async start(){this.topologyId=await this.registrar.register(we,{notifyOnTransient:!0,onConnect:t=>{this.safeDispatchEvent("relay:discover",{detail:t})}}),this.discover().catch(t=>{this.log.error("error listening on relays",t)}),this.started=!0}stop(){this.topologyId!=null&&this.registrar.unregister(this.topologyId),this.started=!1}async discover(){this.log("searching peer store for relays");let t=await this.peerStore.all({filters:[r=>r.protocols.includes(we)],orders:[()=>Math.random()<.5?1:-1]});for(let r of t)this.log("found relay peer %p in content peer store",r.id),this.safeDispatchEvent("relay:discover",{detail:r.id});this.log("found %d relay peers in peer store",t.length);try{this.log("searching content routing for relays");let r=await ls(as),n=0;for await(let i of this.contentRouting.findProviders(r))if(i.multiaddrs.length>0&&!i.id.equals(this.peerId)){let s=i.id;n++,await this.peerStore.merge(s,{multiaddrs:i.multiaddrs}),this.log("found relay peer %p in content routing",s),this.safeDispatchEvent("relay:discover",{detail:s})}this.log("found %d relay peers in content routing",n)}catch(r){this.log.error("failed when finding relays on the network",r)}}};var Wa=Yt(yl(),1);var ni=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},Ya=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},ml=e=>globalThis.DOMException===void 0?new Ya(e):new DOMException(e),gl=e=>{let t=e.reason===void 0?ml("This operation was aborted."):e.reason;return t instanceof Error?t:ml(t)};function $a(e,t,r,n){let i,s=new Promise((o,a)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(t===Number.POSITIVE_INFINITY){o(e);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(gl(c)),c.addEventListener("abort",()=>{a(gl(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{o(r())}catch(f){a(f)}return}let c=typeof r=="string"?r:`Promise timed out after ${t} milliseconds`,u=r instanceof Error?r:new ni(c);typeof e.cancel=="function"&&e.cancel(),a(u)},t),(async()=>{try{o(await e)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return s.clear=()=>{clearTimeout(i),i=void 0},s}function Qa(e,t,r){let n=0,i=e.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(e[o],t)<=0?(n=++o,i-=s+1):i=s}return n}var Qr=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},sr,Za=class{constructor(){sr.set(this,[])}enqueue(t,r){r={priority:0,...r};let n={priority:r.priority,run:t};if(this.size&&Qr(this,sr,"f")[this.size-1].priority>=r.priority){Qr(this,sr,"f").push(n);return}let i=Qa(Qr(this,sr,"f"),n,(s,o)=>o.priority-s.priority);Qr(this,sr,"f").splice(i,0,n)}dequeue(){let t=Qr(this,sr,"f").shift();return t?.run}filter(t){return Qr(this,sr,"f").filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return Qr(this,sr,"f").length}};sr=new WeakMap;var xl=Za;var At=function(e,t,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},K=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},_t,si,oi,Tr,ws,ai,gs,De,ii,pe,xs,ye,ci,Ar,vs,vl,bl,Sl,El,wl,bs,Xa,Ja,Ss,Al,Es,As=class extends Error{},ja=class extends Wa.default{constructor(t){var r,n,i,s;if(super(),_t.add(this),si.set(this,void 0),oi.set(this,void 0),Tr.set(this,0),ws.set(this,void 0),ai.set(this,void 0),gs.set(this,0),De.set(this,void 0),ii.set(this,void 0),pe.set(this,void 0),xs.set(this,void 0),ye.set(this,0),ci.set(this,void 0),Ar.set(this,void 0),vs.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:xl,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=t.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(s=(i=t.interval)===null||i===void 0?void 0:i.toString())!==null&&s!==void 0?s:""}\` (${typeof t.interval})`);At(this,si,t.carryoverConcurrencyCount,"f"),At(this,oi,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),At(this,ws,t.intervalCap,"f"),At(this,ai,t.interval,"f"),At(this,pe,new t.queueClass,"f"),At(this,xs,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,At(this,vs,t.throwOnTimeout===!0,"f"),At(this,Ar,t.autoStart===!1,"f")}get concurrency(){return K(this,ci,"f")}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);At(this,ci,t,"f"),K(this,_t,"m",Ss).call(this)}async add(t,r={}){return r={timeout:this.timeout,throwOnTimeout:K(this,vs,"f"),...r},new Promise((n,i)=>{K(this,pe,"f").enqueue(async()=>{var s,o,a;At(this,ye,(o=K(this,ye,"f"),o++,o),"f"),At(this,Tr,(a=K(this,Tr,"f"),a++,a),"f");try{if(!((s=r.signal)===null||s===void 0)&&s.aborted)throw new As("The task was aborted.");let c=t({signal:r.signal});r.timeout&&(c=$a(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,K(this,_t,"m",Al).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof ni&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{K(this,_t,"m",Sl).call(this)}},r),this.emit("add"),K(this,_t,"m",bs).call(this)})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return K(this,Ar,"f")?(At(this,Ar,!1,"f"),K(this,_t,"m",Ss).call(this),this):this}pause(){At(this,Ar,!0,"f")}clear(){At(this,pe,new(K(this,xs,"f")),"f")}async onEmpty(){K(this,pe,"f").size!==0&&await K(this,_t,"m",Es).call(this,"empty")}async onSizeLessThan(t){K(this,pe,"f").size<t||await K(this,_t,"m",Es).call(this,"next",()=>K(this,pe,"f").size<t)}async onIdle(){K(this,ye,"f")===0&&K(this,pe,"f").size===0||await K(this,_t,"m",Es).call(this,"idle")}get size(){return K(this,pe,"f").size}sizeBy(t){return K(this,pe,"f").filter(t).length}get pending(){return K(this,ye,"f")}get isPaused(){return K(this,Ar,"f")}};si=new WeakMap,oi=new WeakMap,Tr=new WeakMap,ws=new WeakMap,ai=new WeakMap,gs=new WeakMap,De=new WeakMap,ii=new WeakMap,pe=new WeakMap,xs=new WeakMap,ye=new WeakMap,ci=new WeakMap,Ar=new WeakMap,vs=new WeakMap,_t=new WeakSet,vl=function(){return K(this,oi,"f")||K(this,Tr,"f")<K(this,ws,"f")},bl=function(){return K(this,ye,"f")<K(this,ci,"f")},Sl=function(){var t;At(this,ye,(t=K(this,ye,"f"),t--,t),"f"),K(this,_t,"m",bs).call(this),this.emit("next")},El=function(){K(this,_t,"m",Ja).call(this),K(this,_t,"m",Xa).call(this),At(this,ii,void 0,"f")},wl=function(){let t=Date.now();if(K(this,De,"f")===void 0){let r=K(this,gs,"f")-t;if(r<0)At(this,Tr,K(this,si,"f")?K(this,ye,"f"):0,"f");else return K(this,ii,"f")===void 0&&At(this,ii,setTimeout(()=>{K(this,_t,"m",El).call(this)},r),"f"),!0}return!1},bs=function(){if(K(this,pe,"f").size===0)return K(this,De,"f")&&clearInterval(K(this,De,"f")),At(this,De,void 0,"f"),this.emit("empty"),K(this,ye,"f")===0&&this.emit("idle"),!1;if(!K(this,Ar,"f")){let t=!K(this,_t,"a",wl);if(K(this,_t,"a",vl)&&K(this,_t,"a",bl)){let r=K(this,pe,"f").dequeue();return r?(this.emit("active"),r(),t&&K(this,_t,"m",Xa).call(this),!0):!1}}return!1},Xa=function(){K(this,oi,"f")||K(this,De,"f")!==void 0||(At(this,De,setInterval(()=>{K(this,_t,"m",Ja).call(this)},K(this,ai,"f")),"f"),At(this,gs,Date.now()+K(this,ai,"f"),"f"))},Ja=function(){K(this,Tr,"f")===0&&K(this,ye,"f")===0&&K(this,De,"f")&&(clearInterval(K(this,De,"f")),At(this,De,void 0,"f")),At(this,Tr,K(this,si,"f")?K(this,ye,"f"):0,"f"),K(this,_t,"m",Ss).call(this)},Ss=function(){for(;K(this,_t,"m",bs).call(this););},Al=async function(t){return new Promise((r,n)=>{t.addEventListener("abort",()=>{n(new As("The task was aborted."))},{once:!0})})},Es=async function(t,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(t,i),n())};this.on(t,i)})};var Tl=ja;function u1(e,t,r){let n=0,i=e.length;for(;i>0;){let s=Math.trunc(i/2),o=n+s;r(e[o],t)<=0?(n=++o,i-=s+1):i=s}return n}var t0=class{#t=[];enqueue(t,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new H("missing peer id",x0);let s={priority:i,peerId:n,run:t};if(this.size>0&&this.#t[this.size-1].priority>=i){this.#t.push(s);return}let o=u1(this.#t,s,(a,c)=>c.priority-a.priority);this.#t.splice(o,0,s)}dequeue(){return this.#t.shift()?.run}filter(t){if(t.peerId!=null){let r=t.peerId;return this.#t.filter(n=>r.equals(n.peerId)).map(n=>n.run)}return this.#t.filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return this.#t.length}},Ts=class extends Tl{constructor(t={}){super({...t,queueClass:t0})}hasJob(t){return this.sizeBy({peerId:t})>0}};var l1=60*1e3*10,h1=60*1e3*5,d1=30*1e3,Bs=class extends me{peerId;connectionManager;transportManager;peerStore;events;reserveQueue;reservations;maxDiscoveredRelays;maxReservationQueueLength;reservationCompletionTimeout;started;log;constructor(t,r){super(),this.log=t.logger.forComponent("libp2p:circuit-relay:transport:reservation-store"),this.peerId=t.peerId,this.connectionManager=t.connectionManager,this.transportManager=t.transportManager,this.peerStore=t.peerStore,this.events=t.events,this.reservations=new ir,this.maxDiscoveredRelays=r?.discoverRelays??0,this.maxReservationQueueLength=r?.maxReservationQueueLength??100,this.reservationCompletionTimeout=r?.reservationCompletionTimeout??1e4,this.started=!1,this.reserveQueue=new Ts({concurrency:r?.reservationConcurrency??1}),this.events.addEventListener("peer:disconnect",n=>{this.#e(n.detail)})}isStarted(){return this.started}async start(){this.started=!0}async stop(){this.reserveQueue.clear(),this.reservations.forEach(({timeout:t})=>{clearTimeout(t)}),this.reservations.clear(),this.started=!1}async addRelay(t,r){if(this.peerId.equals(t)){this.log("not trying to use self as relay");return}if(this.reserveQueue.size>this.maxReservationQueueLength){this.log("not adding relay as the queue is full");return}if(this.reserveQueue.hasJob(t)){this.log("relay peer is already in the reservation queue");return}this.log("add relay %p",t),await this.reserveQueue.add(async()=>{try{let n=this.reservations.get(t);if(n!=null){if(Oa(n.reservation.expire)>l1){this.log("already have reservation on relay peer %p and it expires in more than 10 minutes",t);return}clearTimeout(n.timeout),this.reservations.delete(t)}if(r==="discovered"&&[...this.reservations.values()].reduce((f,l)=>(l.type==="discovered"&&f++,f),0)>=this.maxDiscoveredRelays){this.log("already have enough discovered relays");return}let i=AbortSignal.timeout(this.reservationCompletionTimeout),s=await this.connectionManager.openConnection(t,{signal:i});if(s.remoteAddr.protoNames().includes("p2p-circuit")){this.log("not creating reservation over relayed connection");return}let o=await this.#t(s,{signal:i});this.log("created reservation on relay peer %p",t);let a=Oa(o.expire),c=Math.min(Math.max(a-h1,d1),Math.pow(2,31)-1),u=setTimeout(()=>{this.addRelay(t,r).catch(f=>{this.log.error("could not refresh reservation to relay %p",t,f)})},c);this.reservations.set(t,{timeout:u,reservation:o,type:r}),await this.peerStore.merge(t,{tags:{[$f]:{value:1,ttl:a}}}),await this.transportManager.listen([ee(`/p2p/${t.toString()}/p2p-circuit`)])}catch(n){this.log.error("could not reserve slot on %p",t,n);let i=this.reservations.get(t);i!=null&&clearTimeout(i.timeout),this.reservations.delete(t)}},{peerId:t})}hasReservation(t){return this.reservations.has(t)}getReservation(t){return this.reservations.get(t)?.reservation}async#t(t,r){r.signal?.throwIfAborted(),this.log("requesting reservation from %p",t.remotePeer);let n=await t.newStream(we,r),s=Sr(n).pb(ft);await s.write({type:ft.Type.RESERVE},r);let o;try{o=await s.read(r)}catch(c){throw this.log.error("error parsing reserve message response from %p because",t.remotePeer,c),n.abort(c),c}finally{await n.close()}if(o.status===tt.OK&&o.reservation!=null){let c=!1,u=t.remoteAddr.bytes;for(let f of o.reservation.addrs)if(Ct(u,f)){c=!0;break}return c||o.reservation.addrs.push(u),o.reservation}let a=`reservation failed with status ${o.status??"undefined"}`;throw this.log.error(a),new Error(a)}#e(t){let r=this.reservations.get(t);r!=null&&(this.log("connection to relay %p closed, removing reservation from local store",t),clearTimeout(r.timeout),this.reservations.delete(t),this.safeDispatchEvent("relay:removed",{detail:t}),this.reservations.size<this.maxDiscoveredRelays&&(this.log("not enough relays %d/%d",this.reservations.size,this.maxDiscoveredRelays),this.safeDispatchEvent("relay:not-enough-relays",{})))}};function e0(e){let{stream:t,remoteAddr:r,logger:n}=e,i=n.forComponent("libp2p:stream:converter"),s=!1,o=!1,a=t.close.bind(t);t.close=async h=>{await a(h),l(!0)};let c=t.abort.bind(t);t.abort=h=>{c(h),l(!0)};let u=t.sink.bind(t);t.sink=async h=>{try{await u(h)}catch(y){y.type!=="aborted"&&i(y)}finally{o=!0,l()}};let f={log:i,sink:t.sink,source:async function*(){try{for await(let h of t.source)h instanceof Uint8Array?yield h:yield*h}finally{s=!0,l()}}(),remoteAddr:r,timeline:{open:Date.now(),close:void 0},close:t.close,abort:t.abort};function l(h){h===!0&&(s=!0,o=!0),s&&o&&f.timeline.close==null&&(f.timeline.close=Date.now())}return f}var p1=U("dns4"),y1=U("dns6"),m1=U("dnsaddr"),Zr=Rt(U("dns"),m1,p1,y1),_s=Rt(U("ip4"),U("ip6")),In=Rt(z(_s,U("tcp")),z(Zr,U("tcp"))),Rs=z(_s,U("udp")),g1=z(Rs,U("utp")),x1=z(Rs,U("quic")),v1=z(Rs,U("quic-v1")),r0=Rt(z(In,U("ws")),z(Zr,U("ws"))),Is=Rt(z(r0,U("p2p")),r0),n0=Rt(z(In,U("wss")),z(Zr,U("wss")),z(In,U("tls"),U("ws")),z(Zr,U("tls"),U("ws"))),Cs=Rt(z(n0,U("p2p")),n0),i0=Rt(z(In,U("http")),z(_s,U("http")),z(Zr,U("http"))),s0=Rt(z(In,U("https")),z(_s,U("https")),z(Zr,U("https"))),Bl=z(Rs,U("webrtc-direct"),U("certhash")),_l=Rt(z(Bl,U("p2p")),Bl),Il=z(v1,U("webtransport"),U("certhash"),U("certhash")),Rl=Rt(z(Il,U("p2p")),Il),Ll=Rt(z(Is,U("p2p-webrtc-star"),U("p2p")),z(Cs,U("p2p-webrtc-star"),U("p2p")),z(Is,U("p2p-webrtc-star")),z(Cs,U("p2p-webrtc-star"))),A8=Rt(z(Is,U("p2p-websocket-star"),U("p2p")),z(Cs,U("p2p-websocket-star"),U("p2p")),z(Is,U("p2p-websocket-star")),z(Cs,U("p2p-websocket-star"))),Dl=Rt(z(i0,U("p2p-webrtc-direct"),U("p2p")),z(s0,U("p2p-webrtc-direct"),U("p2p")),z(i0,U("p2p-webrtc-direct")),z(s0,U("p2p-webrtc-direct"))),Xr=Rt(r0,n0,i0,s0,Ll,Dl,In,g1,x1,Zr,_l,Rl),T8=Rt(z(Xr,U("p2p-stardust"),U("p2p")),z(Xr,U("p2p-stardust"))),Br=Rt(z(Xr,U("p2p")),Ll,Dl,_l,Rl,U("p2p")),Cl=Rt(z(Br,U("p2p-circuit"),Br),z(Br,U("p2p-circuit")),z(U("p2p-circuit"),Br),z(Xr,U("p2p-circuit")),z(U("p2p-circuit"),Xr),U("p2p-circuit")),Nl=()=>Rt(z(Cl,Nl),Cl),or=Nl(),B8=Rt(z(or,Br,or),z(Br,or),z(or,Br),or,Br);var I8=Rt(z(or,U("webrtc"),U("p2p")),z(or,U("webrtc")),z(Xr,U("webrtc"),U("p2p")),z(Xr,U("webrtc")),U("webrtc"));function Pl(e){function t(r){let n;try{n=ee(r)}catch{return!1}let i=e(n.protoNames());return i===null?!1:i===!0||i===!1?i:i.length===0}return t}function z(...e){function t(r){if(r.length<e.length)return null;let n=r;return e.some(i=>(n=typeof i=="function"?i().partialMatch(r):i.partialMatch(r),Array.isArray(n)&&(r=n),n===null)),n}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:Pl(t),partialMatch:t}}function Rt(...e){function t(n){let i=null;return e.some(s=>{let o=typeof s=="function"?s().partialMatch(n):s.partialMatch(n);return o!=null?(i=o,!0):!1}),i}return{toString:function(){return"{ "+e.join(" ")+" }"},input:e,matches:Pl(t),partialMatch:t}}function U(e){let t=e;function r(i){let s;try{s=ee(i)}catch{return!1}let o=s.protoNames();return o.length===1&&o[0]===t}function n(i){return i.length===0?null:i[0]===t?i.slice(1):null}return{toString:function(){return t},matches:r,partialMatch:n}}var o0=class extends me{connectionManager;relayStore;listeningAddrs;log;constructor(t){super(),this.log=t.logger.forComponent("libp2p:circuit-relay:transport:listener"),this.connectionManager=t.connectionManager,this.relayStore=t.relayStore,this.listeningAddrs=new ir,this.relayStore.addEventListener("relay:removed",this._onRemoveRelayPeer)}_onRemoveRelayPeer=t=>{this.#t(t.detail)};async listen(t){this.log("listen on %a",t);let r=t.decapsulate("/p2p-circuit"),n=await this.connectionManager.openConnection(r);if(!this.relayStore.hasReservation(n.remotePeer)){this.log("making reservation on peer %p",n.remotePeer),await this.relayStore.addRelay(n.remotePeer,"configured");return}let i=this.relayStore.getReservation(n.remotePeer);if(i==null)throw new H("Did not have reservation after making reservation","ERR_NO_RESERVATION");if(this.listeningAddrs.has(n.remotePeer)){this.log("already listening on relay %p",n.remotePeer);return}this.listeningAddrs.set(n.remotePeer,i.addrs.map(s=>ee(s).encapsulate("/p2p-circuit"))),this.safeDispatchEvent("listening",{})}getAddrs(){return[...this.listeningAddrs.values()].flat()}async close(){}#t(t){let r=this.listeningAddrs.has(t);this.log("relay peer removed %p - had reservation",t,r),this.listeningAddrs.delete(t),r&&(this.log.trace("removing relay event listener for peer %p",t),this.relayStore.removeEventListener("relay:removed",this._onRemoveRelayPeer),this.safeDispatchEvent("close",{}))}};function kl(e){return new o0(e)}var E1=e=>{if(e.peer==null)return!1;try{e.peer.addrs.forEach(ee)}catch{return!1}return!0},a0={maxInboundStopStreams:ei,maxOutboundStopStreams:ei,stopTimeout:3e4},Ls=class{discovery;registrar;peerStore;connectionManager;transportManager;peerId;upgrader;addressManager;connectionGater;reservationStore;logger;maxInboundStopStreams;maxOutboundStopStreams;stopTimeout;started;log;constructor(t,r){this.log=t.logger.forComponent("libp2p:circuit-relay:transport"),this.registrar=t.registrar,this.peerStore=t.peerStore,this.connectionManager=t.connectionManager,this.transportManager=t.transportManager,this.logger=t.logger,this.peerId=t.peerId,this.upgrader=t.upgrader,this.addressManager=t.addressManager,this.connectionGater=t.connectionGater,this.maxInboundStopStreams=r.maxInboundStopStreams??a0.maxInboundStopStreams,this.maxOutboundStopStreams=r.maxOutboundStopStreams??a0.maxOutboundStopStreams,this.stopTimeout=r.stopTimeout??a0.stopTimeout,r.discoverRelays!=null&&r.discoverRelays>0&&(this.discovery=new ys(t),this.discovery.addEventListener("relay:discover",n=>{this.reservationStore.addRelay(n.detail,"discovered").catch(i=>{this.log.error("could not add discovered relay %p",n.detail,i)})})),this.reservationStore=new Bs(t,r),this.reservationStore.addEventListener("relay:not-enough-relays",()=>{this.discovery?.discover().catch(n=>{this.log.error("could not discover relays",n)})}),this.started=!1}isStarted(){return this.started}async start(){await this.reservationStore.start(),await this.discovery?.start(),await this.registrar.handle(Yr,t=>{this.onStop(t).catch(r=>{this.log.error("error while handling STOP protocol",r),t.stream.abort(r)})},{maxInboundStreams:this.maxInboundStopStreams,maxOutboundStreams:this.maxOutboundStopStreams,runOnTransientConnection:!0}),this.started=!0}async stop(){this.discovery?.stop(),await this.reservationStore.stop(),await this.registrar.unhandle(Yr),this.started=!1}[dl]=!0;[Symbol.toStringTag]="libp2p/circuit-relay-v2";async dial(t,r={}){if(t.protoCodes().filter(d=>d===290).length!==1){let d="Invalid circuit relay address";throw this.log.error(d,t),new H(d,ka)}let n=t.toString().split("/p2p-circuit"),i=ee(n[0]),s=ee(n[n.length-1]),o=i.getPeerId(),a=s.getPeerId();if(o==null||a==null){let d=`Circuit relay dial to ${t.toString()} failed as address did not have peer ids`;throw this.log.error(d),new H(d,ka)}let c=St(o),u=St(a),f=!1,h=this.connectionManager.getConnections(c)[0];h==null&&(await this.peerStore.merge(c,{multiaddrs:[i]}),h=await this.connectionManager.openConnection(c,r),f=!0);let y;try{return y=await h.newStream(we),await this.connectV2({stream:y,connection:h,destinationPeer:u,destinationAddr:s,relayAddr:i,ma:t,disconnectOnFailure:f})}catch(d){throw this.log.error("circuit relay dial to destination %p via relay %p failed",u,c,d),y?.abort(d),f&&await h.close(),d}}async connectV2({stream:t,connection:r,destinationPeer:n,destinationAddr:i,relayAddr:s,ma:o,disconnectOnFailure:a}){try{let c=Sr(t),u=c.pb(ft);await u.write({type:ft.Type.CONNECT,peer:{id:n.toBytes(),addrs:[ee(i).bytes]}});let f=await u.read();if(f.status!==tt.OK)throw new H(`failed to connect via relay with status ${f?.status?.toString()??"undefined"}`,jf);let l=e0({stream:c.unwrap(),remoteAddr:o,localAddr:s.encapsulate(`/p2p-circuit/p2p/${this.peerId.toString()}`),logger:this.logger});return this.log("new outbound transient connection %a",l.remoteAddr),await this.upgrader.upgradeOutbound(l,{transient:!0})}catch(c){throw this.log.error(`Circuit relay dial to destination ${n.toString()} via relay ${r.remotePeer.toString()} failed`,c),a&&await r.close(),c}}createListener(t){return kl({connectionManager:this.connectionManager,relayStore:this.reservationStore,logger:this.logger})}filter(t){return t=Array.isArray(t)?t:[t],t.filter(r=>or.matches(r))}async onStop({connection:t,stream:r}){if(!this.reservationStore.hasReservation(t.remotePeer))try{this.log("dialed via relay we did not have a reservation on, start listening on that relay address"),await this.transportManager.listen([t.remoteAddr.encapsulate("/p2p-circuit")])}catch(f){this.log.error("failed to listen on a relay peer we were dialed via but did not have a reservation on",f)}let n=AbortSignal.timeout(this.stopTimeout),i=Sr(r).pb(de),s=await i.read({signal:n});if(this.log("new circuit relay v2 stop stream from %p with type %s",t.remotePeer,s.type),s?.type===void 0){this.log.error("type was missing from circuit v2 stop protocol request from %s",t.remotePeer),await i.write({type:de.Type.STATUS,status:tt.MALFORMED_MESSAGE},{signal:n}),await r.close();return}if(s.type!==de.Type.CONNECT){this.log.error("invalid stop connect request via peer %p",t.remotePeer),await i.write({type:de.Type.STATUS,status:tt.UNEXPECTED_MESSAGE},{signal:n}),await r.close();return}if(!E1(s)){this.log.error("invalid stop connect request via peer %p",t.remotePeer),await i.write({type:de.Type.STATUS,status:tt.MALFORMED_MESSAGE},{signal:n}),await r.close();return}let o=on(s.peer.id);if(await this.connectionGater.denyInboundRelayedConnection?.(t.remotePeer,o)===!0){this.log.error("connection gater denied inbound relayed connection from %p",t.remotePeer),await i.write({type:de.Type.STATUS,status:tt.PERMISSION_DENIED},{signal:n}),await r.close();return}this.log.trace("sending success response to %p",t.remotePeer),await i.write({type:de.Type.STATUS,status:tt.OK},{signal:n});let a=t.remoteAddr.encapsulate(`/p2p-circuit/p2p/${o.toString()}`),c=this.addressManager.getAddresses()[0],u=e0({stream:i.unwrap().unwrap(),remoteAddr:a,localAddr:c,logger:this.logger});this.log("new inbound transient connection %a",u.remoteAddr),await this.upgrader.upgradeInbound(u,{transient:!0}),this.log("%s connection %a upgraded","inbound",u.remoteAddr)}};function Ul(e={}){return t=>new Ls(t,e)}return Zl(w1);})();
|
16
16
|
/*! Bundled license information:
|
17
17
|
|
18
18
|
@noble/hashes/esm/utils.js:
|