@libp2p/circuit-relay-v2 0.0.0-e2267d437 → 1.0.0-551622a96
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/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/server/advert-service.d.ts +2 -4
- package/dist/src/server/advert-service.d.ts.map +1 -1
- package/dist/src/server/advert-service.js +1 -1
- package/dist/src/server/advert-service.js.map +1 -1
- package/dist/src/server/index.d.ts +2 -8
- package/dist/src/server/index.d.ts.map +1 -1
- package/dist/src/server/index.js +1 -1
- package/dist/src/server/index.js.map +1 -1
- package/dist/src/server/reservation-store.d.ts +1 -3
- package/dist/src/server/reservation-store.d.ts.map +1 -1
- package/dist/src/server/reservation-store.js.map +1 -1
- package/dist/src/server/reservation-voucher.d.ts +1 -2
- package/dist/src/server/reservation-voucher.d.ts.map +1 -1
- package/dist/src/server/reservation-voucher.js.map +1 -1
- package/dist/src/transport/discovery.d.ts +3 -9
- package/dist/src/transport/discovery.d.ts.map +1 -1
- package/dist/src/transport/discovery.js +1 -1
- package/dist/src/transport/discovery.js.map +1 -1
- package/dist/src/transport/index.d.ts +2 -10
- package/dist/src/transport/index.d.ts.map +1 -1
- package/dist/src/transport/index.js +1 -1
- package/dist/src/transport/index.js.map +1 -1
- package/dist/src/transport/listener.d.ts +2 -3
- package/dist/src/transport/listener.d.ts.map +1 -1
- package/dist/src/transport/listener.js +1 -2
- package/dist/src/transport/listener.js.map +1 -1
- package/dist/src/transport/reservation-store.d.ts +2 -7
- package/dist/src/transport/reservation-store.d.ts.map +1 -1
- package/dist/src/transport/reservation-store.js +1 -1
- package/dist/src/transport/reservation-store.js.map +1 -1
- package/dist/src/transport/transport.d.ts +4 -6
- package/dist/src/transport/transport.d.ts.map +1 -1
- package/dist/src/transport/transport.js +2 -3
- package/dist/src/transport/transport.js.map +1 -1
- package/dist/src/utils.d.ts +1 -2
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +1 -1
- package/dist/src/utils.js.map +1 -1
- package/package.json +14 -10
- package/src/index.ts +3 -3
- package/src/server/advert-service.ts +2 -4
- package/src/server/index.ts +3 -10
- package/src/server/reservation-store.ts +1 -3
- package/src/server/reservation-voucher.ts +1 -2
- package/src/transport/discovery.ts +3 -9
- package/src/transport/index.ts +2 -10
- package/src/transport/listener.ts +3 -6
- package/src/transport/reservation-store.ts +2 -8
- package/src/transport/transport.ts +4 -12
- package/src/utils.ts +2 -3
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 Yl=Object.create;var ui=Object.defineProperty;var $l=Object.getOwnPropertyDescriptor;var Ql=Object.getOwnPropertyNames;var Zl=Object.getPrototypeOf,Xl=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})},g0=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ql(t))!Xl.call(e,i)&&i!==r&&ui(e,i,{get:()=>t[i],enumerable:!(n=$l(t,i))||n.enumerable});return e};var Yt=(e,t,r)=>(r=e!=null?Yl(Zl(e)):{},g0(t||!e||!e.__esModule?ui(r,"default",{value:e,enumerable:!0}):r,e)),Jl=e=>g0(ui({},"__esModule",{value:!0}),e);var ht=ot((n2,G0)=>{G0.exports={options:{usePureJavaScript:!1}}});var $0=ot((i2,Y0)=>{var no={};Y0.exports=no;var W0={};no.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=od(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};no.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=W0[t];if(!r){r=W0[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 od(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,J0)=>{var Q0=ht(),Z0=$0(),g=J0.exports=Q0.util=Q0.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=io;function io(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 io||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}g.ByteStringBuffer=io;var ad=4096;g.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>ad&&(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 cd(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=cd;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],X0="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:Z0.encode,decode:Z0.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,X0,t)};g.binary.base58.decode=function(e,t){return g.binary.baseN.decode(e,X0,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 so=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}},oo=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},ud=function(e,t,r,n){var i=oo(e,t);i===null&&(i={}),i[r]=n,so(e,t,i)},fd=function(e,t,r){var n=oo(e,t);return n!==null&&(n=r in n?n[r]:null),n},ld=function(e,t,r){var n=oo(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),so(e,t,n)}},hd=function(e,t){so(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(ud,arguments,i)};g.getItem=function(e,t,r,n){return hi(fd,arguments,n)};g.removeItem=function(e,t,r,n){hi(ld,arguments,n)};g.clearItems=function(e,t,r){hi(hd,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((o2,j0)=>{var Pn=ht();Pn.pki=Pn.pki||{};var ao=j0.exports=Pn.pki.oids=Pn.oids=Pn.oids||{};function C(e,t){ao[e]=t,ao[t]=e}function at(e,t){ao[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((a2,ec)=>{var gt=ht();Dt();di();var k=ec.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 dd=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=dd(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 tc=/[^\\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,_r,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),_r=new Array(4),Se=new Array(4);for(var t=0;t<4;++t)_r[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)_r[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=_r[0],o=_r[1],a=_r[2],c=_r[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 Rr=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();Rr();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();Rr();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)tc.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:tc.test(e.value)?n+="0x"+gt.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var uo=ot((c2,rc)=>{var Ft=ht();Dt();rc.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 co=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)};co.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)};co.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()};co.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 lo=ot((u2,nc)=>{var Vt=ht();Dt();Vt.cipher=Vt.cipher||{};var J=nc.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(fo(n*8)))}this._inBlock=this._j0.slice(0),mi(this._inBlock),this._partialBytes=0,r=Vt.util.createBuffer(r),this._aDataLength=fo(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(fo(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 fo(e){return[e/4294967296|0,e&4294967295]}});var mo=ot((f2,ac)=>{var mt=ht();uo();lo();Dt();ac.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){yo||sc();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return po(r._w,n,i,!1)},decrypt:function(n,i){return po(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=oc(t,e.decrypt&&!o),this._init=!0}};mt.aes._expandKey=function(e,t){return yo||sc(),oc(e,t)};mt.aes._updateBlock=po;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 yo=!1,an=4,ne,ho,ic,Rr,Ae;function sc(){yo=!0,ic=[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),ho=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,ho[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 oc(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]^ic[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 po(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=ho):(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 fc=ot((l2,uc)=>{var vt=ht();uo();lo();Dt();uc.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 cc(r._keys,n,i,!1)},decrypt:function(n,i){return cc(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=wd(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 pd=[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],yd=[-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],md=[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],gd=[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],xd=[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],vd=[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],bd=[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],Ed=[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 wd(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 cc(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^(yd[y>>>24&63]|gd[y>>>16&63]|vd[y>>>8&63]|Ed[y&63]|pd[d>>>24&63]|md[d>>>16&63]|xd[d>>>8&63]|bd[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((h2,lc)=>{var vi=ht();lc.exports=vi.md=vi.md||{};vi.md.algorithms=vi.md.algorithms||{}});var dc=ot((d2,hc)=>{var We=ht();Lr();Dt();var Sd=hc.exports=We.hmac=We.hmac||{};Sd.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 yc=ot((m2,pc)=>{var ie=ht();dc();Lr();Dt();var Ad=ie.pkcs5=ie.pkcs5||{},Ye;ie.util.isNodejs&&!ie.options.usePureJavaScript&&(Ye=bi());pc.exports=ie.pbkdf2=Ad.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 xc=ot((g2,gc)=>{var wi=ht();Dt();var mc=gc.exports=wi.pem=wi.pem||{};mc.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};mc.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(Td(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();Rr();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 Lr(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)}Lr.prototype.convert=Qd;Lr.prototype.revert=Zd;Lr.prototype.reduce=Xd;Lr.prototype.mulTo=Jd;Lr.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 Dr(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)}Dr.prototype.convert=ep;Dr.prototype.revert=rp;Dr.prototype.reduce=np;Dr.prototype.mulTo=sp;Dr.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 Lr(t):r=new Dr(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 Lr(t):t.isEven()?s=new un(t):s=new Dr(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();Rr();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();Rr();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 Nr=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=Nr["aes128-CBC"],l=O.aes.createEncryptionCipher;break;case"aes192":o=24,u=16,f=Nr["aes192-CBC"],l=O.aes.createEncryptionCipher;break;case"aes256":o=32,u=16,f=Nr["aes256-CBC"],l=O.aes.createEncryptionCipher;break;case"des":o=8,u=8,f=Nr.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(Nr.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(Nr.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(Nr["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();Rr();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,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)},Ir=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=Ir(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=Ir(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=Ir(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 dr(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Ye(e=0){return globalThis.Buffer?.alloc!=null?dr(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function $t(e=0){return globalThis.Buffer?.allocUnsafe!=null?dr(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?dr(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))),pr=new Uint32Array(80),yr=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)pr[b]=t.getUint32(r),yr[b]=t.getUint32(r+=4);for(let b=16;b<80;b++){let R=pr[b-15]|0,w=yr[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=pr[b-2]|0,Y=yr[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,yr[b-7],yr[b-16]),lt=Z.add4H(j,S,W,pr[b-7],pr[b-16]);pr[b]=lt|0,yr[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],yr[b]),Y=Z.add5H(D,x,R,S,Jy[b],pr[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(){pr.fill(0),yr.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:()=>mr,concatBytes:()=>Ze,createHmacDrbg:()=>Do,ensureBytes:()=>It,equalBytes:()=>nm,hexToBytes:()=>Pr,hexToNumber:()=>Lo,numberToBytesBE:()=>gr,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 mr(e){if(!Ui(e))throw new Error("Uint8Array expected");return Lo($e(Uint8Array.from(e).reverse()))}function gr(e,t){return Pr(e.toString(16).padStart(t*2,"0"))}function kr(e,t){return gr(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):gr(c,s),fromBytes:c=>{if(c.length!==s)throw new Error(`Fp.fromBytes: expected ${s}, got ${c.length}`);return r?mr(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):mr(e),a=dt(o,t-bt)+bt;return r?kr(a,i):gr(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),Br=f(zt*Tt);return new w(Pt,Wt,Br,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),Br=Wt-Pt,In=Wt+Pt,a0=f(Gt-M*zt),Ul=f(Ve*Br),Ol=f(In*a0),Ml=f(Ve*a0),Kl=f(Br*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=mr(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(mr(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=mr(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;function wu(){let e=pn.utils.randomPrivateKey(),t=pn.getPublicKey(e);return{privateKey:Bu(e,t),publicKey:t}}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}}function Au(e,t){let r=e.subarray(0,Hi);return pn.sign(t instanceof Uint8Array?t:t.subarray(),r)}function Tu(e,t,r){return pn.verify(t,r instanceof Uint8Array?r:r.subarray(),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){if(globalThis.Buffer!=null)return dr(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 dr(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]),xr=new Uint8Array(Ho.buffer);function Cu(e,t,r){Ho[0]=e,t[r]=xr[0],t[r+1]=xr[1],t[r+2]=xr[2],t[r+3]=xr[3]}function _u(e,t){return xr[0]=e[t],xr[1]=e[t+1],xr[2]=e[t+2],xr[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}=wu();return new Fr(e,t)}async function Uu(e){let{privateKey:t,publicKey:r}=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,t instanceof Uint8Array?t:t.subarray());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 instanceof Uint8Array?r:r.subarray())}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(r instanceof Uint8Array?r:r.subarray(),"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]),vr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),br=new Uint32Array(64),aa=class extends dn{constructor(){super(64,32,8,!1),this.A=vr[0]|0,this.B=vr[1]|0,this.C=vr[2]|0,this.D=vr[3]|0,this.E=vr[4]|0,this.F=vr[5]|0,this.G=vr[6]|0,this.H=vr[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)br[l]=t.getUint32(r,!1);for(let l=16;l<64;l++){let h=br[l-15],y=br[l-2],d=Te(h,7)^Te(h,18)^h>>>3,p=Te(y,17)^Te(y,19)^y>>>10;br[l]=p+br[l-7]+d+br[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]+br[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(){br.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(gr(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 gr(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 Br=(Pt.x===Wt?0:2)|Number(Pt.y&ve),In=Ve;return M&&d(Ve)&&(In=p(Ve),Br^=1),new x(Wt,In,Br)}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 instanceof Uint8Array?t:t.subarray());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 instanceof Uint8Array?r:r.subarray());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{bufs;length;[xf]=!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(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=Ir(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 Er(){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=Er(),this.needNext.resolve(),this.haveNext=Er()}[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=Er(),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=Er(),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 wr(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=Er(),i=setTimeout(()=>{n.reject("timed out")},this.hopTimeout),s=wr(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=wr(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,Ar,Es,oi,ms,Re,ni,pe,gs,ye,ai,Sr,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),Ar.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),Sr.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,Sr,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,Ar,(a=K(this,Ar,"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,Sr,"f")?(At(this,Sr,!1,"f"),K(this,_t,"m",ws).call(this),this):this}pause(){At(this,Sr,!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,Sr,"f")}};ii=new WeakMap,si=new WeakMap,Ar=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,Sr=new WeakMap,xs=new WeakMap,_t=new WeakSet,xl=function(){return K(this,si,"f")||K(this,Ar,"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,Ar,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,Sr,"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,Ar,"f")===0&&K(this,ye,"f")===0&&K(this,Re,"f")&&(clearInterval(K(this,Re,"f")),At(this,Re,void 0,"f")),At(this,Ar,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=wr(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"))),Tr=Rt(H(Zr,U("p2p")),Rl,Ll,Cl,_l,U("p2p")),Il=Rt(H(Tr,U("p2p-circuit"),Tr),H(Tr,U("p2p-circuit")),H(U("p2p-circuit"),Tr),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,Tr,sr),H(Tr,sr),H(sr,Tr),sr,Tr);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=wr(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=wr(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 Td(e){return e.replace(/^\s+/,"")}});var Ac=ot((x2,Sc)=>{var ke=ht();Lr();Dt();var bc=Sc.exports=ke.sha256=ke.sha256||{};ke.md.sha256=ke.md.algorithms.sha256=bc;bc.create=function(){Ec||Bd();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),vc(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(go.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};vc(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 go=null,Ec=!1,wc=null;function Bd(){go="\x80",go+=ke.util.fillString("\0",64),wc=[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],Ec=!0}function vc(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+wc[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 Bc=ot((v2,Tc)=>{var Ue=ht();Dt();var Si=null;Ue.util.isNodejs&&!Ue.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Si=bi());var Id=Tc.exports=Ue.prng=Ue.prng||{};Id.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((b2,xo)=>{var qt=ht();mo();Ac();Bc();Dt();(function(){if(qt.random&&qt.random.getBytes){xo.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,xo.exports=qt.random})(typeof jQuery<"u"?jQuery:null)})()});var Rc=ot((E2,_c)=>{var oe=ht();Dt();var vo=[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],Ic=[1,2,3,5],Cd=function(e,t){return e<<t&65535|(e&65535)>>16-t},_d=function(e,t){return(e&65535)>>t|e<<16-t&65535};_c.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(vo[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-s,vo[r.at(128-s)&o]),a=127-s;a>=0;a--)r.setAt(a,vo[r.at(a+1)^r.at(a+s)]);return r};var Cc=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]=Cd(d[u],Ic[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]=_d(d[u],Ic[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 Cc(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 Cc(e,t,!1)}});var Bi=ot((w2,Mc)=>{var bo=ht();Mc.exports=bo.jsbn=bo.jsbn||{};var $e,Rd=0xdeadbeefcafe,Lc=(Rd&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))}bo.jsbn.BigInteger=B;function it(){return new B(null)}function Ld(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 Dd(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 Dc(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=Dc,$e=28):Lc&&navigator.appName=="Microsoft Internet Explorer"?(B.prototype.am=Dd,$e=30):Lc&&navigator.appName!="Netscape"?(B.prototype.am=Ld,$e=26):(B.prototype.am=Dc,$e=28);B.prototype.DB=$e;B.prototype.DM=(1<<$e)-1;B.prototype.DV=1<<$e;var Eo=52;B.prototype.FV=Math.pow(2,Eo);B.prototype.F1=Eo-$e;B.prototype.F2=2*$e-Eo;var Nd="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 Nc(e){return Nd.charAt(e)}function Pc(e,t){var r=Ai[e.charCodeAt(t)];return r??-1}function Pd(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 kd(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 Ud(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:Pc(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 Od(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function Md(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=Nc(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+=Nc(n));return i?s:"0"}function Kd(){var e=it();return B.ZERO.subTo(this,e),e}function Fd(){return this.s<0?this.negate():this}function Vd(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 qd(){return this.t<=0?0:this.DB*(this.t-1)+Ti(this.data[this.t-1]^this.s&this.DM)}function Hd(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 zd(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 Gd(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 Wd(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 Yd(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 $d(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 Qd(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 Zd(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 Xd(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 Jd(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function jd(e){return e}function tp(e){e.divRemTo(this.m,null,e)}function ep(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function rp(e,t){e.squareTo(t),this.reduce(t)}Dr.prototype.convert=Jd;Dr.prototype.revert=jd;Dr.prototype.reduce=tp;Dr.prototype.mulTo=ep;Dr.prototype.sqrTo=rp;function np(){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 ip(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 sp(e){var t=it();return e.copyTo(t),this.reduce(t),t}function op(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 ap(e,t){e.squareTo(t),this.reduce(t)}function cp(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Nr.prototype.convert=ip;Nr.prototype.revert=sp;Nr.prototype.reduce=op;Nr.prototype.mulTo=cp;Nr.prototype.sqrTo=ap;function up(){return(this.t>0?this.data[0]&1:this.s)==0}function fp(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 lp(e,t){var r;return e<256||t.isEven()?r=new Dr(t):r=new Nr(t),this.exp(e,r)}B.prototype.copyTo=Pd;B.prototype.fromInt=kd;B.prototype.fromString=Ud;B.prototype.clamp=Od;B.prototype.dlShiftTo=Hd;B.prototype.drShiftTo=zd;B.prototype.lShiftTo=Gd;B.prototype.rShiftTo=Wd;B.prototype.subTo=Yd;B.prototype.multiplyTo=$d;B.prototype.squareTo=Qd;B.prototype.divRemTo=Zd;B.prototype.invDigit=np;B.prototype.isEven=up;B.prototype.exp=fp;B.prototype.toString=Md;B.prototype.negate=Kd;B.prototype.abs=Fd;B.prototype.compareTo=Vd;B.prototype.bitLength=qd;B.prototype.mod=Xd;B.prototype.modPowInt=lp;B.ZERO=hr(0);B.ONE=hr(1);function hp(){var e=it();return this.copyTo(e),e}function dp(){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 pp(){return this.t==0?this.s:this.data[0]<<24>>24}function yp(){return this.t==0?this.s:this.data[0]<<16>>16}function mp(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function gp(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function xp(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 vp(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=Pc(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 bp(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),wo,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 Ep(){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 wp(e){return this.compareTo(e)==0}function Sp(e){return this.compareTo(e)<0?this:e}function Ap(e){return this.compareTo(e)>0?this:e}function Tp(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 Bp(e,t){return e&t}function Ip(e){var t=it();return this.bitwiseTo(e,Bp,t),t}function wo(e,t){return e|t}function Cp(e){var t=it();return this.bitwiseTo(e,wo,t),t}function kc(e,t){return e^t}function _p(e){var t=it();return this.bitwiseTo(e,kc,t),t}function Uc(e,t){return e&~t}function Rp(e){var t=it();return this.bitwiseTo(e,Uc,t),t}function Lp(){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 Dp(e){var t=it();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function Np(e){var t=it();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function Pp(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 kp(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+Pp(this.data[e]);return this.s<0?this.t*this.DB:-1}function Up(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function Op(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=Up(this.data[r]^t);return e}function Mp(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function Kp(e,t){var r=B.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function Fp(e){return this.changeBit(e,wo)}function Vp(e){return this.changeBit(e,Uc)}function qp(e){return this.changeBit(e,kc)}function Hp(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 zp(e){var t=it();return this.addTo(e,t),t}function Gp(e){var t=it();return this.subTo(e,t),t}function Wp(e){var t=it();return this.multiplyTo(e,t),t}function Yp(e){var t=it();return this.divRemTo(e,t,null),t}function $p(e){var t=it();return this.divRemTo(e,null,t),t}function Qp(e){var t=it(),r=it();return this.divRemTo(e,t,r),new Array(t,r)}function Zp(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function Xp(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 Oc(e){return e}function Jp(e,t,r){e.multiplyTo(t,r)}function jp(e,t){e.squareTo(t)}Mn.prototype.convert=Oc;Mn.prototype.revert=Oc;Mn.prototype.mulTo=Jp;Mn.prototype.sqrTo=jp;function ty(e){return this.exp(e,new Mn)}function ey(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 ry(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 ny(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 iy(e){return e}function sy(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 oy(e,t){e.squareTo(t),this.reduce(t)}function ay(e,t,r){e.multiplyTo(t,r),this.reduce(r)}fn.prototype.convert=ny;fn.prototype.revert=iy;fn.prototype.reduce=sy;fn.prototype.mulTo=ay;fn.prototype.sqrTo=oy;function cy(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 uy(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 fy(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 ly(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],hy=(1<<26)/Te[Te.length-1];function dy(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<hy;)n*=Te[i++];for(n=r.modInt(n);t<i;)if(n%Te[t++]==0)return!1}return r.millerRabin(e)}function py(e){var t=this.subtract(B.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=yy(),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 yy(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}B.prototype.chunkSize=mp;B.prototype.toRadix=xp;B.prototype.fromRadix=vp;B.prototype.fromNumber=bp;B.prototype.bitwiseTo=Tp;B.prototype.changeBit=Kp;B.prototype.addTo=Hp;B.prototype.dMultiply=Zp;B.prototype.dAddOffset=Xp;B.prototype.multiplyLowerTo=ey;B.prototype.multiplyUpperTo=ry;B.prototype.modInt=fy;B.prototype.millerRabin=py;B.prototype.clone=hp;B.prototype.intValue=dp;B.prototype.byteValue=pp;B.prototype.shortValue=yp;B.prototype.signum=gp;B.prototype.toByteArray=Ep;B.prototype.equals=wp;B.prototype.min=Sp;B.prototype.max=Ap;B.prototype.and=Ip;B.prototype.or=Cp;B.prototype.xor=_p;B.prototype.andNot=Rp;B.prototype.not=Lp;B.prototype.shiftLeft=Dp;B.prototype.shiftRight=Np;B.prototype.getLowestSetBit=kp;B.prototype.bitCount=Op;B.prototype.testBit=Mp;B.prototype.setBit=Fp;B.prototype.clearBit=Vp;B.prototype.flipBit=qp;B.prototype.add=zp;B.prototype.subtract=Gp;B.prototype.multiply=Wp;B.prototype.divide=Yp;B.prototype.remainder=$p;B.prototype.divideAndRemainder=Qp;B.prototype.modPow=cy;B.prototype.modInverse=ly;B.prototype.pow=ty;B.prototype.gcd=uy;B.prototype.isProbablePrime=dy});var Hc=ot((S2,qc)=>{var Oe=ht();Lr();Dt();var Fc=qc.exports=Oe.sha1=Oe.sha1||{};Oe.md.sha1=Oe.md.algorithms.sha1=Fc;Fc.create=function(){Vc||my();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(So.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 So=null,Vc=!1;function my(){So="\x80",So+=Oe.util.fillString("\0",64),Vc=!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 Wc=ot((A2,Gc)=>{var Me=ht();Dt();On();Hc();var zc=Gc.exports=Me.pkcs1=Me.pkcs1||{};zc.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};zc.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 Yc=ot((T2,Ao)=>{var dr=ht();Dt();Bi();On();(function(){if(dr.prime){Ao.exports=dr.prime;return}var e=Ao.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((B2,tu)=>{var V=ht();Un();Bi();di();Wc();Yc();On();Dt();typeof nt>"u"&&(nt=V.jsbn.BigInteger);var nt,To=V.util.isNodejs?bi():null,v=V.asn1,xe=V.util;V.pki=V.pki||{};tu.exports=V.pki.rsa=V.rsa=V.rsa||{};var $=V.pki,gy=[6,4,2,4,2,4,6,2],xy={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"}]},vy={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"}]},by={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"}]},Ey=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"}]}]},wy={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"}]},Sy=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()},Jc=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=jc(e,t,r)):(i=V.util.createBuffer(),i.putBytes(e));for(var o=new nt(i.toHex(),16),a=Jc(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=Jc(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(Ty(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(gy[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($c("generateKeyPair"))return To.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(Qc("generateKey")&&Qc("exportKey"))return xe.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Xc(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(Zc("generateKey")&&Zc("exportKey")){var i=xe.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Xc(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($c("generateKeyPairSync")){var s=To.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;Ay(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 jc(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,wy,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:Sy},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,xy,t,r)&&(e=v.fromDer(V.util.createBuffer(t.privateKey))),t={},r=[],!v.validate(e,vy,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,Ey,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,by,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 jc(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 Ay(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 Ty(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 $c(e){return V.util.isNodejs&&typeof To[e]=="function"}function Qc(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 Zc(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 Xc(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 ou=ot((I2,su)=>{var O=ht();mo();Un();fc();Lr();di();yc();xc();On();Rc();_i();Dt();typeof eu>"u"&&(eu=O.jsbn.BigInteger);var eu,A=O.asn1,Q=O.pki=O.pki||{};su.exports=Q.pbe=O.pbe=O.pbe||{};var Pr=Q.oids,By={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"}]},Iy={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"}]}]},Cy={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=iu(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=_y(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,By,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,Iy,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=nu(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,Cy,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=nu(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=[ru(n,e+t)],s=16,o=1;s<r;++o,s+=16)i.push(ru(n,i[o-1]+e+t));return i.join("").substr(0,r)};function ru(e,t){return e.start().update(t).digest().getBytes()}function nu(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 iu(t)}function iu(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 _y(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 $u=ot((Gb,Yu)=>{var xt=ht();Lr();Dt();var Wn=Yu.exports=xt.sha512=xt.sha512||{};xt.md.sha512=xt.md.algorithms.sha512=Wn;var Gu=xt.sha384=xt.sha512.sha384=xt.sha512.sha384||{};Gu.create=function(){return Wn.create("SHA-384")};xt.md.sha384=xt.md.algorithms.sha384=Gu;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(Wu||Qm(),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),zu(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(ia.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);zu(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 ia=null,Wu=!1,sa=null,qr=null;function Qm(){ia="\x80",ia+=xt.util.fillString("\0",128),sa=[[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]],Wu=!0}function zu(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+sa[I][1]+t[I][1],n=lt+u+l+sa[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 $f=ot((b4,Yf)=>{"use strict";function Wf(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function Zg(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 Wf(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),Wf(new i,r)}}Yf.exports=Zg});var cl=ot((V4,al)=>{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))}al.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 ul=ot($r=>{var t1=cl();$r.operation=function(e){var t=$r.timeouts(e);return new t1(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 ll=ot((H4,fl)=>{fl.exports=ul()});var gl=ot((k8,Wa)=>{"use strict";var u1=Object.prototype.hasOwnProperty,se="~";function ri(){}Object.create&&(ri.prototype=Object.create(null),new ri().__proto__||(se=!1));function f1(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function ml(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var s=new f1(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 gs(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)u1.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 ml(this,t,r,n,!1)};re.prototype.once=function(t,r,n){return ml(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 gs(this,s),this;var o=this._events[s];if(o.fn)o.fn===r&&(!i||o.once)&&(!n||o.context===n)&&gs(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:gs(this,s)}return this};re.prototype.removeAllListeners=function(t){var r;return t?(r=se?se+t:t,this._events[r]&&gs(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 Wa<"u"&&(Wa.exports=re)});var A1={};Kt(A1,{RELAY_V2_HOP_CODEC:()=>we,RELAY_V2_STOP_CODEC:()=>Yr,circuitRelayServer:()=>yl,circuitRelayTransport:()=>Ml});var B1=Symbol.for("@libp2p/connection");var C1=Symbol.for("@libp2p/content-routing");var L1=Symbol.for("@libp2p/peer-discovery");var x0=Symbol.for("@libp2p/peer-id");var P1=Symbol.for("@libp2p/peer-routing");var v0;(function(e){e.Accept="accept",e.Ignore="ignore",e.Reject="reject"})(v0||(v0={}));var E0=Symbol.for("@libp2p/transport");var b0;(function(e){e[e.FATAL_ALL=0]="FATAL_ALL",e[e.NO_FATAL=1]="NO_FATAL"})(b0||(b0={}));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 w0="ERR_INVALID_PARAMETERS";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 jl(t,r))}},Ps=class extends Event{detail;constructor(t,r){super(t,r),this.detail=r?.detail}},jl=globalThis.CustomEvent??Ps,S0=(e,...t)=>{try{[...t]}catch{}};var Ks={};Kt(Ks,{base58btc:()=>kt,base58flickr:()=>sh});function th(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 eh=th,rh=eh,A0=rh;var px=new Uint8Array(0);var T0=(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 B0=e=>new TextEncoder().encode(e),I0=e=>new TextDecoder().decode(e);var ks=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")}},Us=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 _0(this,t)}},Os=class{constructor(t){this.decoders=t}or(t){return _0(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`)}},_0=(e,t)=>new Os({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Ms=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new ks(t,r,n),this.decoder=new Us(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 Ms(e,t,r,n),ar=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=A0(r,t);return Jr({prefix:e,name:t,encode:n,decode:s=>ze(i(s))})},nh=(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},ih=(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 ih(i,n,r)},decode(i){return nh(i,n,r,e)}});var kt=ar({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),sh=ar({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Fs={};Kt(Fs,{base10:()=>oh});var oh=ar({prefix:"9",name:"base10",alphabet:"0123456789"});var Vs={};Kt(Vs,{base16:()=>ah,base16upper:()=>ch});var ah=Bt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),ch=Bt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var qs={};Kt(qs,{base2:()=>uh});var uh=Bt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Hs={};Kt(Hs,{base256emoji:()=>ph});var R0=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}"),fh=R0.reduce((e,t,r)=>(e[r]=t,e),[]),lh=R0.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function hh(e){return e.reduce((t,r)=>(t+=fh[r],t),"")}function dh(e){let t=[];for(let r of e){let n=lh[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var ph=Jr({prefix:"\u{1F680}",name:"base256emoji",encode:hh,decode:dh});var zs={};Kt(zs,{base32:()=>Ge,base32hex:()=>xh,base32hexpad:()=>bh,base32hexpadupper:()=>Eh,base32hexupper:()=>vh,base32pad:()=>mh,base32padupper:()=>gh,base32upper:()=>yh,base32z:()=>wh});var Ge=Bt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),yh=Bt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),mh=Bt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),gh=Bt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),xh=Bt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),vh=Bt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),bh=Bt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Eh=Bt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),wh=Bt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Gs={};Kt(Gs,{base36:()=>Sh,base36upper:()=>Ah});var Sh=ar({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Ah=ar({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ws={};Kt(Ws,{base64:()=>fi,base64pad:()=>Th,base64url:()=>Bh,base64urlpad:()=>Ih});var fi=Bt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Th=Bt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Bh=Bt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Ih=Bt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Ys={};Kt(Ys,{base8:()=>Ch});var Ch=Bt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var $s={};Kt($s,{identity:()=>_h});var _h=Jr({prefix:"\0",name:"identity",encode:e=>I0(e),decode:e=>B0(e)});var _x=new TextEncoder,Rx=new TextDecoder;var Zs={};Kt(Zs,{identity:()=>cr});var Dh=N0,L0=128,Nh=127,Ph=~Nh,kh=Math.pow(2,31);function N0(e,t,r){t=t||[],r=r||0;for(var n=r;e>=kh;)t[r++]=e&255|L0,e/=128;for(;e&Ph;)t[r++]=e&255|L0,e>>>=7;return t[r]=e|0,N0.bytes=r-n+1,t}var Uh=Qs,Oh=128,D0=127;function Qs(e,n){var r=0,n=n||0,i=0,s=n,o,a=e.length;do{if(s>=a)throw Qs.bytes=0,new RangeError("Could not decode varint");o=e[s++],r+=i<28?(o&D0)<<i:(o&D0)*Math.pow(2,i),i+=7}while(o>=Oh);return Qs.bytes=s-n,r}var Mh=Math.pow(2,7),Kh=Math.pow(2,14),Fh=Math.pow(2,21),Vh=Math.pow(2,28),qh=Math.pow(2,35),Hh=Math.pow(2,42),zh=Math.pow(2,49),Gh=Math.pow(2,56),Wh=Math.pow(2,63),Yh=function(e){return e<Mh?1:e<Kh?2:e<Fh?3:e<Vh?4:e<qh?5:e<Hh?6:e<zh?7:e<Gh?8:e<Wh?9:10},$h={encode:Dh,decode:Uh,encodingLength:Yh},Qh=$h,_n=Qh;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)},P0=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&T0(e.bytes,r.bytes)}},en=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var k0=0,Zh="identity",U0=ze,Xh=e=>Ne(k0,U0(e)),cr={code:k0,name:Zh,encode:U0,digest:Xh};var js={};Kt(js,{sha256:()=>Ut,sha512:()=>Jh});var Js=({name:e,code:t,encode:r})=>new Xs(e,t,r),Xs=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 M0=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),Ut=Js({name:"sha2-256",code:18,encode:M0("SHA-256")}),Jh=Js({name:"sha2-512",code:19,encode:M0("SHA-512")});var K0=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return td(r,to(e),t||kt.encoder);default:return ed(r,to(e),t||Ge.encoder)}};var F0=new WeakMap,to=e=>{let t=F0.get(e);if(t==null){let r=new Map;return F0.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!==rd)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&&P0(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||V0(n,i,s.bytes))}else if(r[nd]===!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=V0(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]=jh(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 to(s).set(n,t),s}},jh=(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)]}}},td=(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},ed=(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,rd=18,V0=(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},nd=Symbol.for("@ipld/js-cid/CID");var ur={...$s,...qs,...Ys,...Fs,...Vs,...zs,...Gs,...Ks,...Ws,...Hs},Wx={...js,...Zs};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 id=Symbol.for("nodejs.util.inspect.custom"),q0=Object.values(ur).map(e=>e.decoder).reduce((e,t)=>e.or(t),ur.identity.decoder),H0=114,eo=36,ro=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()})`}[x0]=!0;toString(){return this.string==null&&(this.string=kt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return fe.createV1(H0,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")}[id](){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??q0,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(q0.decode(e))}function on(e){try{let t=Cr(e);if(t.code===cr.code){if(t.digest.length===eo)return new nn({multihash:t});if(t.digest.length===ro)return new sn({multihash:t})}if(t.code===Ut.code)return new rn({multihash:t})}catch{return sd(fe.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function sd(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==H0)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===eo)return new nn({multihash:e.multihash});if(t.digest.length===ro)return new sn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function z0(e,t){return e.length===eo?new nn({multihash:Ne(cr.code,e),privateKey:t}):e.length===ro?new sn({multihash:Ne(cr.code,e),privateKey:t}):new rn({multihash:await Ut.digest(e),publicKey:e,privateKey:t})}var JE=Yt(Un(),1),jE=Yt(ou(),1);var Eg=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 cu(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var au=cu("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Bo=cu("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}),Ry={utf8:au,"utf-8":au,hex:ur.base16,latin1:Bo,ascii:Bo,binary:Bo,...ur},Ri=Ry;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 na={};Kt(na,{Ed25519PrivateKey:()=>Vr,Ed25519PublicKey:()=>Gn,generateKeyPair:()=>Gm,generateKeyPairFromSeed:()=>Hu,unmarshalEd25519PrivateKey:()=>Hm,unmarshalEd25519PublicKey:()=>zm});var q2=Yt(Dt(),1),H2=Yt(Bi(),1),uu=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=fu(e);return new uu.default.jsbn.BigInteger(pt(t,"base16"),16)}function fu(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 lu(e){if(!Number.isSafeInteger(e)||e<0)throw new Error(`Wrong positive integer: ${e}`)}function Io(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 hu(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");lu(e.outputLen),lu(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 du(e,t){Io(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 pu=e=>e instanceof Uint8Array;var Di=e=>new DataView(e.buffer,e.byteOffset,e.byteLength),Ie=(e,t)=>e<<32-t|e>>>t,Ly=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!Ly)throw new Error("Non little-endian hardware is not supported");function Co(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=Co(e)),!pu(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(!pu(n))throw new Error("Uint8Array expected");t.set(n,r),r+=n.length}),t}var hn=class{clone(){return this._cloneInto()}},X2={}.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 Dy(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),du(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;Dy(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),_o=BigInt(32);function yu(e,t=!1){return t?{h:Number(e&ki),l:Number(e>>_o&ki)}:{h:Number(e>>_o&ki)|0,l:Number(e&ki)|0}}function Ny(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}=yu(e[i],t);[r[i],n[i]]=[s,o]}return[r,n]}var Py=(e,t)=>BigInt(e>>>0)<<_o|BigInt(t>>>0),ky=(e,t,r)=>e>>>r,Uy=(e,t,r)=>e<<32-r|t>>>r,Oy=(e,t,r)=>e>>>r|t<<32-r,My=(e,t,r)=>e<<32-r|t>>>r,Ky=(e,t,r)=>e<<64-r|t>>>r-32,Fy=(e,t,r)=>e>>>r-32|t<<64-r,Vy=(e,t)=>t,qy=(e,t)=>e,Hy=(e,t,r)=>e<<r|t>>>32-r,zy=(e,t,r)=>t<<r|e>>>32-r,Gy=(e,t,r)=>t<<r-32|e>>>64-r,Wy=(e,t,r)=>e<<r-32|t>>>64-r;function Yy(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var $y=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0),Qy=(e,t,r,n)=>t+r+n+(e/2**32|0)|0,Zy=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0),Xy=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0,Jy=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0),jy=(e,t,r,n,i,s)=>t+r+n+i+s+(e/2**32|0)|0;var tm={fromBig:yu,split:Ny,toBig:Py,shrSH:ky,shrSL:Uy,rotrSH:Oy,rotrSL:My,rotrBH:Ky,rotrBL:Fy,rotr32H:Vy,rotr32L:qy,rotlSH:Hy,rotlSL:zy,rotlBH:Gy,rotlBL:Wy,add:Yy,add3L:$y,add3H:Qy,add4L:Zy,add4H:Xy,add5H:jy,add5L:Jy},Z=tm;var[em,rm]=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),Ro=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,rm[b],mr[b]),Y=Z.add5H(D,x,R,S,em[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 Lo=Pi(()=>new Ro);var Mi={};Kt(Mi,{bitGet:()=>um,bitLen:()=>cm,bitMask:()=>Fn,bitSet:()=>fm,bytesToHex:()=>Ze,bytesToNumberBE:()=>Xe,bytesToNumberLE:()=>gr,concatBytes:()=>Je,createHmacDrbg:()=>Po,ensureBytes:()=>It,equalBytes:()=>om,hexToBytes:()=>kr,hexToNumber:()=>No,numberToBytesBE:()=>xr,numberToBytesLE:()=>Ur,numberToHexUnpadded:()=>xu,numberToVarBytesBE:()=>sm,utf8ToBytes:()=>am,validateObject:()=>Fe});var gu=BigInt(0),Ui=BigInt(1),nm=BigInt(2),Oi=e=>e instanceof Uint8Array,im=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+=im[e[r]];return t}function xu(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function No(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 No(Ze(e))}function gr(e){if(!Oi(e))throw new Error("Uint8Array expected");return No(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 sm(e){return kr(xu(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 om(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 am(e){if(typeof e!="string")throw new Error(`utf8ToBytes expected string, got ${typeof e}`);return new Uint8Array(new TextEncoder().encode(e))}function cm(e){let t;for(t=0;e>gu;e>>=Ui,t+=1);return t}function um(e,t){return e>>BigInt(t)&Ui}var fm=(e,t,r)=>e|(r?Ui:gu)<<BigInt(t),Fn=e=>(nm<<BigInt(e-1))-Ui,Do=e=>new Uint8Array(e),mu=e=>Uint8Array.from(e);function Po(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=Do(e),i=Do(e),s=0,o=()=>{n.fill(1),i.fill(0),s=0},a=(...l)=>r(i,n,...l),c=(l=Do())=>{i=a(mu([0]),l),n=a(),l.length!==0&&(i=a(mu([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 lm={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=lm[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),hm=BigInt(3),ko=BigInt(4),vu=BigInt(5),bu=BigInt(8),dm=BigInt(9),pm=BigInt(16);function dt(e,t){let r=e%t;return r>=Mt?r:t+r}function ym(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 mm(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&&ym(i,t,e)!==e-bt;i++);if(n===1){let o=(e+bt)/ko;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 gm(e){if(e%ko===hm){let t=(e+bt)/ko;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%bu===vu){let t=(e-vu)/bu;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%pm,mm(e)}var Eu=(e,t)=>(dt(e,t)&bt)===bt,xm=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Uo(e){let t={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=xm.reduce((n,i)=>(n[i]="function",n),t);return Fe(e,r)}function vm(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 bm(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 Oo(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}=Oo(e,t);if(s>2048)throw new Error("Field lengths over 2048 bytes are not supported");let o=gm(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)=>vm(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=>bm(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 wu(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 Su(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 Mo(e){let t=Su(e);return t+Math.ceil(t/2)}function Au(e,t,r=!1){let n=e.length,i=Su(t),s=Mo(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 wm=BigInt(0),Ko=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>wm;)s&Ko&&(o=o.add(a)),a=a.double(),s>>=Ko;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+=Ko);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 Uo(e.Fp),Fe(e,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Oo(e.n,e.nBitLength),...e,p:e.Fp.ORDER})}var Ce=BigInt(0),he=BigInt(1),qi=BigInt(2),Sm=BigInt(8),Am={zip215:!0};function Tm(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=Tm(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 f0=f((X-G)*(st+rt)),l0=f((X+G)*(st-rt)),Ns=f(l0-f0);if(Ns===Ce)return this.double();let h0=f(et*qi*Tt),d0=f(ut*qi*Lt),p0=d0+h0,y0=l0+f0,m0=d0-h0,Hl=f(p0*Ns),zl=f(y0*m0),Gl=f(p0*m0),Wl=f(Ns*y0);return new w(Hl,zl,Wl,Gl)}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,u0=f(Gt-M*zt),Kl=f(He*Ir),Fl=f(Cn*u0),Vl=f(He*u0),ql=f(Ir*Cn);return new w(Kl,Fl,ql,Vl)}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?Sm: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=Am;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 Vo=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),Tu=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),vv=BigInt(0),Bm=BigInt(1),Fo=BigInt(2),Im=BigInt(5),Bu=BigInt(10),Cm=BigInt(20),_m=BigInt(40),Iu=BigInt(80);function Rm(e){let t=Vo,n=e*e%t*e%t,i=Et(n,Fo,t)*n%t,s=Et(i,Bm,t)*e%t,o=Et(s,Im,t)*s%t,a=Et(o,Bu,t)*o%t,c=Et(a,Cm,t)*a%t,u=Et(c,_m,t)*c%t,f=Et(u,Iu,t)*u%t,l=Et(f,Iu,t)*u%t,h=Et(l,Bu,t)*o%t;return{pow_p_5_8:Et(h,Fo,t)*e%t,b2:n}}function Lm(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function Dm(e,t){let r=Vo,n=dt(t*t*t,r),i=dt(n*n*t,r),s=Rm(e*i).pow_p_5_8,o=dt(e*n*s,r),a=dt(t*o*o,r),c=o,u=dt(o*Tu,r),f=a===e,l=a===dt(-e,r),h=a===dt(-e*Tu,r);return f&&(o=c),(l||h)&&(o=u),Eu(o,r)&&(o=dt(-o,r)),{isValid:f||l,value:o}}var je=Fi(Vo,void 0,!0),qo={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:je,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Lo,randomBytes:dn,adjustScalarBytes:Lm,uvRatio:Dm},yn=Hi(qo);function Cu(e,t,r){if(t.length>255)throw new Error("Context is too big");return Ni(Co("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,t.length]),t,e)}var bv=Hi({...qo,domain:Cu}),Ev=Hi({...qo,domain:Cu,prehash:Lo});var Nm=(je.ORDER+BigInt(3))/BigInt(8),wv=je.pow(Fo,Nm),Sv=je.sqrt(je.neg(je.ONE)),Av=(je.ORDER-BigInt(5))/BigInt(8),Tv=BigInt(486662);var Bv=wu(je,je.neg(BigInt(486664)));var Iv=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Cv=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),_v=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Rv=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var Lv=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var mn=32,tr=64,zi=32;function _u(){let e=yn.utils.randomPrivateKey(),t=yn.getPublicKey(e);return{privateKey:Nu(e,t),publicKey:t}}function Ru(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:Nu(t,r),publicKey:r}}function Lu(e,t){let r=e.subarray(0,zi);return yn.sign(t instanceof Uint8Array?t:t.subarray(),r)}function Du(e,t,r){return yn.verify(t,r instanceof Uint8Array?r:r.subarray(),e)}function Nu(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 Ho={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function zo(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",Ho,{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",Ho,{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",Ho,{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 zo().encrypt(e,t);return fi.encode(n)}var Go=new Float32Array([-0]),vr=new Uint8Array(Go.buffer);function ku(e,t,r){Go[0]=e,t[r]=vr[0],t[r+1]=vr[1],t[r+2]=vr[2],t[r+3]=vr[3]}function Uu(e,t){return vr[0]=e[t],vr[1]=e[t+1],vr[2]=e[t+2],vr[3]=e[t+3],Go[0]}var Wo=new Float64Array([-0]),Qt=new Uint8Array(Wo.buffer);function Ou(e,t,r){Wo[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 Mu(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],Wo[0]}var km=BigInt(Number.MAX_SAFE_INTEGER),Um=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<km&&t>Um)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 Fu(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 Vu(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 Yo(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 $o=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=Uu(this.buf,this.pos);return this.pos+=4,t}double(){if(this.pos+8>this.len)throw _e(this,4);let t=Mu(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 Vu(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 Qo(e){return new $o(e instanceof Uint8Array?e:e.subarray())}function Zt(e,t){let r=Qo(e);return t.decode(r)}function Zo(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 Xo(){}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}},Om=Zo();function Mm(e){return globalThis.Buffer!=null?$t(e):Om(e)}var zn=class{len;head;tail;states;constructor(){this.len=0,this.head=new Kr(Xo,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 ta((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(Jo,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(ku,4,t)}double(t){return this._push(Ou,8,t)}bytes(t){let r=t.length>>>0;return r===0?this._push(Jo,1,0):this.uint32(r)._push(Fm,r,t)}string(t){let r=Fu(t);return r!==0?this.uint32(r)._push(Yo,r,t):this._push(Jo,1,0)}fork(){return this.states=new jo(this),this.head=this.tail=new Kr(Xo,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(Xo,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=Mm(this.len),n=0;for(;t!=null;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r}};function Jo(e,t,r){t[r]=e&255}function Km(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}var ta=class extends Kr{next;constructor(t,r){super(Km,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 Fm(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(Vm,t,e),this},zn.prototype.string=function(e){let t=globalThis.Buffer.byteLength(e);return this.uint32(t),t>0&&this._push(qm,t,e),this});function Vm(e,t,r){t.set(e,r)}function qm(e,t,r){e.length<40?Yo(e,t,r):t.utf8Write!=null?t.utf8Write(e,r):t.set(Nt(e),r)}function ea(){return new zn}function Xt(e,t){let r=ea();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 ra;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(ra||(ra={}));(function(e){e.codec=()=>Fr(ra)})(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 Du(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 Lu(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 z(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Hm(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 zm(e){return e=vn(e,mn),new Gn(e)}async function Gm(){let{privateKey:e,publicKey:t}=_u();return new Vr(e,t)}async function Hu(e){let{privateKey:t,publicKey:r}=Ru(e);return new Vr(t,r)}function vn(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}var Wm={"P-256":256,"P-384":384,"P-521":521},Ym=Object.keys(Wm),_b=Ym.join(" / ");var ca={};Kt(ca,{MAX_KEY_SIZE:()=>Qn,RsaPrivateKey:()=>bn,RsaPublicKey:()=>$n,fromJwk:()=>ig,generateKeyPair:()=>sg,unmarshalRsaPrivateKey:()=>rg,unmarshalRsaPublicKey:()=>ng});var Yn=Yt(ht(),1);var dE=Yt($u(),1);function $i(e){if(isNaN(e)||e<=0)throw new z("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return dn(e)}var Qb=Yt(_i(),1),oa=Yt(ht(),1);function Qu(e,t){return t.map(r=>le(e[r]))}function Zu(e){return oa.default.pki.setRsaPrivateKey(...Qu(e,["n","e","d","p","q","dp","dq","qi"]))}function Xu(e){return oa.default.pki.setRsaPublicKey(...Qu(e,["n","e"]))}var Hr={};Kt(Hr,{jwkToPkcs1:()=>Xm,jwkToPkix:()=>jm,pkcs1ToJwk:()=>Zm,pkixToJwk:()=>Jm});var Jb=Yt(Un(),1),jb=Yt(_i(),1);var er=Yt(ht(),1);function Zm(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 Xm(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=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 Jm(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 jm(e){if(e.n==null||e.e==null)throw new z("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 Ju(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 ef(t);return{privateKey:r[0],publicKey:r[1]}}async function aa(e){let r=[await ae.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await tg(e)],n=await ef({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function ju(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 tf(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 ef(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 tg(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 rf(e,t,r,n){let i=t?Xu(e):Zu(e),s=pt(r instanceof Uint8Array?r:r.subarray(),"ascii"),o=n(s,i);return Nt(o,"ascii")}function nf(e,t){return rf(e,!0,t,(r,n)=>n.encrypt(r))}function sf(e,t){return rf(e,!1,t,(r,n)=>n.decrypt(r))}function Qi(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 Qn=8192,$n=class{_key;constructor(t){this._key=t}verify(t,r){return tf(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 nf(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 ju(this._key,t)}get public(){if(this._publicKey==null)throw new z("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new $n(this._publicKey)}decrypt(t){return sf(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 z(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function rg(e){let t=Hr.pkcs1ToJwk(e);if(Qi(t)>Qn)throw new z("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await aa(t);return new bn(r.privateKey,r.publicKey)}function ng(e){let t=Hr.pkixToJwk(e);if(Qi(t)>Qn)throw new z("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new $n(t)}async function ig(e){if(Qi(e)>Qn)throw new z("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await aa(e);return new bn(t.privateKey,t.publicKey)}async function sg(e){if(e>Qn)throw new z("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let t=await Ju(e);return new bn(t.privateKey,t.publicKey)}var pa={};Kt(pa,{Secp256k1PrivateKey:()=>Xn,Secp256k1PublicKey:()=>Zn,generateKeyPair:()=>bg,unmarshalSecp256k1PrivateKey:()=>xg,unmarshalSecp256k1PublicKey:()=>vg});var og=(e,t,r)=>e&t^~e&r,ag=(e,t,r)=>e&t^e&r^t&r,cg=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),ua=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+og(a,c,u)+cg[l]+Er[l]|0,p=(Ie(n,2)^Ie(n,13)^Ie(n,22))+ag(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 of=Pi(()=>new ua);function ug(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:fg,hexToBytes:lg}=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:fg(n),l:e.subarray(r+2)}},toSig(e){let{Err:t}=zr,r=typeof e=="string"?lg(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),SE=BigInt(2),af=BigInt(3),AE=BigInt(4);function hg(e){let t=ug(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,af),{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,af),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 dg(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 cf(e){let t=dg(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}=hg({...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=Mo(t.n);return Au(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 Po(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,hu(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),Io(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()}},fa=(e,t,r)=>new Zi(e,t).update(r).digest();fa.create=(e,t)=>new Zi(e,t);function pg(e){return{hash:e,hmac:(t,...r)=>fa(e,t,Ni(...r)),randomBytes:dn}}function uf(e,t){let r=n=>cf({...e,...pg(n)});return Object.freeze({...r(t),create:r})}var hf=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),ff=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),yg=BigInt(1),la=BigInt(2),lf=(e,t)=>(e+t/la)/t;function mg(e){let t=hf,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,la,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,la,t);if(!ha.eql(ha.sqr(S),e))throw new Error("Cannot find square root");return S}var ha=Fi(hf,void 0,void 0,{sqrt:mg}),Re=uf({a:BigInt(0),b:BigInt(7),Fp:ha,n:ff,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:e=>{let t=ff,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-yg*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),s=r,o=BigInt("0x100000000000000000000000000000000"),a=lf(s*e,t),c=lf(-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}}}},of),UE=BigInt(0);var OE=Re.ProjectivePoint;function df(){return Re.utils.randomPrivateKey()}function pf(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 z(String(n),"ERR_INVALID_INPUT")});try{return Re.sign(r.digest,e).toDERRawBytes()}catch(n){throw new z(String(n),"ERR_INVALID_INPUT")}}function yf(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 z(String(i),"ERR_INVALID_INPUT")});try{return Re.verify(t,n.digest,e)}catch(i){throw new z(String(i),"ERR_INVALID_INPUT")}}function mf(e){return Re.ProjectivePoint.fromHex(e).toRawBytes(!0)}function gf(e){try{Re.getPublicKey(e,!0)}catch(t){throw new z(String(t),"ERR_INVALID_PRIVATE_KEY")}}function da(e){try{Re.ProjectivePoint.fromHex(e)}catch(t){throw new z(String(t),"ERR_INVALID_PUBLIC_KEY")}}function xf(e){try{return Re.getPublicKey(e,!0)}catch(t){throw new z(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Zn=class{_key;constructor(t){da(t),this._key=t}verify(t,r){return yf(this._key,r,t)}marshal(){return mf(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??xf(t),gf(this._key),da(this._publicKey)}sign(t){return pf(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 z(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function xg(e){return new Xn(e)}function vg(e){return new Zn(e)}async function bg(){let e=df();return new Xn(e)}var Gr={rsa:ca,ed25519:na,secp256k1:pa};function vf(e){let t=Object.keys(Gr).join(" / ");return new z(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function bf(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 vf(t.Type??"unknown")}}async function Ef(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 vf(t.Type??"RSA")}}var wg=Math.pow(2,7),Sg=Math.pow(2,14),Ag=Math.pow(2,21),ya=Math.pow(2,28),ma=Math.pow(2,35),ga=Math.pow(2,42),xa=Math.pow(2,49),ct=128,jt=127;function te(e){if(e<wg)return 1;if(e<Sg)return 2;if(e<Ag)return 3;if(e<ya)return 4;if(e<ma)return 5;if(e<ga)return 6;if(e<xa)return 7;if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function Tg(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 Bg(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 Ig(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)*ya,r<ct)||(r=e[t+5],n+=(r&jt)*ma,r<ct)||(r=e[t+6],n+=(r&jt)*ga,r<ct)||(r=e[t+7],n+=(r&jt)*xa,r<ct))return n;throw new RangeError("Could not decode varint")}function Cg(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)*ya,r<ct)||(r=e.get(t+5),n+=(r&jt)*ma,r<ct)||(r=e.get(t+6),n+=(r&jt)*ga,r<ct)||(r=e.get(t+7),n+=(r&jt)*xa,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?Tg(e,t,r):Bg(e,t,r)}function Le(e,t=0){return e instanceof Uint8Array?Ig(e,t):Cg(e,t)}var Sf=Symbol.for("@achingbrain/uint8arraylist");function wf(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?.[Sf]}var ue=class e{bufs;length;[Sf]=!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=wf(this.bufs,t);return r.buf[r.index]}set(t,r){let n=wf(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 Af={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 z0(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=Tf(n,i,s),c=await(await Ef(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",Af.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=Tf(t,this.payloadType,this.payload);if(this.peerId.publicKey==null)throw new Error("Missing public key");return bf(this.peerId.publicKey).verify(r.subarray(),this.signature)}},Tf=(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 extends Error{code;props;constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};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 Bf=45,_g=15,wn=new ji;function va(e){if(!(e.length>_g))return wn.new(e).parseWith(()=>wn.readIPv4Addr())}function ba(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Bf))return wn.new(e).parseWith(()=>wn.readIPv6Addr())}function ts(e){if(e.includes("%")&&(e=e.split("%")[0]),!(e.length>Bf))return wn.new(e).parseWith(()=>wn.readIPAddr())}var Pw=parseInt("0xFFFF",16),kw=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);function _f(e){return!!va(e)}function Rf(e){return!!ba(e)}function es(e){return!!ts(e)}var Lf=_f,Pg=Rf,Ea=function(e){let t=0;if(e=e.toString().trim(),Lf(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(Pg(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let s=Lf(r[n]),o;s&&(o=Ea(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")},Df=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={},wa={},Ug=[[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"]];Ug.forEach(e=>{let t=Og(...e);wa[t.code]=t,Sn[t.name]=t});function Og(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function yt(e){if(typeof e=="number"){if(wa[e]!=null)return wa[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 xS=yt("ip4"),vS=yt("ip6"),bS=yt("ipcidr");function Aa(e,t){switch(yt(e).code){case 4:case 41:return Kg(t);case 42:return kf(t);case 6:case 273:case 33:case 132:return Of(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return kf(t);case 421:return Hg(t);case 444:return Uf(t);case 445:return Uf(t);case 466:return qg(t);default:return pt(t,"base16")}}function Ta(e,t){switch(yt(e).code){case 4:return Nf(t);case 41:return Nf(t);case 42:return Pf(t);case 6:case 273:case 33:case 132:return Ba(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Pf(t);case 421:return Fg(t);case 444:return zg(t);case 445:return Gg(t);case 466:return Vg(t);default:return Nt(t,"base16")}}var Sa=Object.values(ur).map(e=>e.decoder),Mg=function(){let e=Sa[0].or(Sa[1]);return Sa.slice(2).forEach(t=>e=e.or(t)),e}();function Nf(e){if(!es(e))throw new Error("invalid ip address");return Ea(e)}function Kg(e){let t=Df(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!es(t))throw new Error("invalid ip address");return t}function Ba(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function Of(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function Pf(e){let t=Nt(e),r=Uint8Array.from(Ee(t.length));return Ot([r,t],r.length+t.length)}function kf(e){let t=Le(e);if(e=e.slice(te(t)),e.length!==t)throw new Error("inconsistent lengths");return pt(e)}function Fg(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 Vg(e){let t=Mg.decode(e),r=Uint8Array.from(Ee(t.length));return Ot([r,t],r.length+t.length)}function qg(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 Hg(e){let t=Le(e),r=e.slice(te(t));if(r.length!==t)throw new Error("inconsistent lengths");return pt(r,"base58btc")}function zg(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=Ba(n);return Ot([r,i],r.length+i.length)}function Gg(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=Ba(n);return Ot([r,i],r.length+i.length)}function Uf(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=pt(t,"base32"),i=Of(r);return`${n}:${i}`}function Mf(e){e=Ia(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 Ff("invalid address: "+e);if(a.path===!0){n=Ia(i.slice(s).join("/")),t.push([a.code,Ta(a.code,n)]),r.push([a.code,n]);break}let c=Ta(a.code,i[s]);t.push([a.code,c]),r.push([a.code,Aa(a.code,c)])}return{string:Kf(r),bytes:_a(t),tuples:t,stringTuples:r,path:n}}function Ca(e){let t=[],r=[],n=null,i=0;for(;i<e.length;){let s=Le(e,i),o=te(s),a=yt(s),c=Wg(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 Ff("Invalid address Uint8Array: "+pt(e,"base16"));t.push([s,u]);let f=Aa(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}),Ia(t.join("/"))}function _a(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 Wg(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 Ia(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function Ff(e){return new Error("Error parsing address: "+e)}var Yg=Symbol.for("nodejs.util.inspect.custom"),Ra=Symbol.for("@multiformats/js-multiaddr/multiaddr"),$g=[yt("dns").code,yt("dns4").code,yt("dns6").code,yt("dnsaddr").code],rs=class e{bytes;#t;#e;#r;#n;[Ra]=!0;constructor(t){t==null&&(t="");let r;if(t instanceof Uint8Array)r=Ca(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);r=Mf(t)}else if(qf(t))r=Ca(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??""}`),$g.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(_a(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=Vf.get(r.name);if(n==null)throw new Ji(`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)}[Yg](){return`Multiaddr(${this.#t})`}};var Vf=new Map;function qf(e){return!!e?.[Ra]}function ee(e){return new rs(e)}var Qg=Uint8Array.from([3,1]);var La;(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())})(La||(La={}));function wr(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var ns=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 Hf(e,t,r){if(t==null)return e;if(t.aborted)return Promise.reject(new ns(r?.errorMessage,r?.errorCode));let n,i=new ns(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 Da=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 Hf(this.needNext.promise,r?.signal,r)}};function zf(){return new Da}var is=class extends Error{code;constructor(t,r){super(t),this.code=r}},Na=class extends is{type;constructor(t){super(t,"ABORT_ERR"),this.type="aborted"}};function Gf(e,t){let r=zf();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 Na("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 is("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 ss(e){return e[Symbol.asyncIterator]!=null}var os=e=>{let t=te(e),r=$t(t);return Ee(e,r),os.bytes=t,r};os.bytes=0;function ti(e,t){t=t??{};let r=t.lengthEncoder??os;function*n(i){let s=r(i.byteLength);s instanceof Uint8Array?yield s:yield*s,i instanceof Uint8Array?yield i:yield*i}return ss(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??os;return new ue(r(e.byteLength),e)};var An=Yt($f(),1);var Xg=8,Jg=1024*1024*4,Wr;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(Wr||(Wr={}));var ka=e=>{let t=Le(e);return ka.bytes=te(t),t};ka.bytes=0;function Pa(e,t){let r=new ue,n=Wr.LENGTH,i=-1,s=t?.lengthDecoder??ka,o=t?.maxLengthLength??Xg,a=t?.maxDataLength??Jg;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 ss(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")}()}Pa.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 Pa(n,{...t??{},onLength:s=>{r=s}})};var as=class extends Error{code;constructor(t,r){super(t),this.code=r}},Qf=e=>Le(e);Qf.bytes=0;function Zf(e,t={}){let r=Gf(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??Qf;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 as("message length length too long","ERR_MSG_LENGTH_TOO_LONG");if(s>-1)break}if(t?.maxDataLength!=null&&s>t.maxDataLength)throw new as("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=Zf(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 cs="/libp2p/relay";var Xf="circuit-relay-source",Jf="circuit-relay-relay";var jf=BigInt(131072),we="/libp2p/circuit/relay/0.2.0/hop",Yr="/libp2p/circuit/relay/0.2.0/stop",tl=30*1e3,el=30*1e3,ei=300,rl="ERR_NO_ROUTERS_AVAILABLE",Ua="ERR_RELAYED_DIAL",nl="ERR_HOP_REQUEST_FAILED",us="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),fs.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=fs.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 fs;(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())})(fs||(fs={}));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 Oa;(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"})(Oa||(Oa={}));(function(e){e.codec=()=>Fr(Oa)})(tt||(tt={}));var ls;(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())})(ls||(ls={}));function il(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*sl(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`,us)}t.remaining-=s,yield i}}function ol(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=il(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`,us))};a.addEventListener("abort",l,{once:!0}),t.sink(f==null?e.source:sl(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`,us))};a.addEventListener("abort",l,{once:!0}),e.sink(f==null?t.source:sl(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 hs(e){let t=new TextEncoder().encode(e),r=await Ut.digest(t);return fe.createV0(r)}function Ma(e){let t=e*BigInt(1e3),r=new Date().getTime();return Number(t-BigInt(r))}var dl=Yt(ll(),1);var e1=Object.prototype.toString,r1=e=>e1.call(e)==="[object Error]",n1=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 Ka(e){return e&&r1(e)&&e.name==="TypeError"&&typeof e.message=="string"?e.message==="Load failed"?e.stack===void 0:n1.has(e.message):!1}var Fa=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}},hl=(e,t,r)=>{let n=r.retries-(t-1);return e.attemptNumber=t,e.retriesLeft=n,e};async function Va(e,t){return new Promise((r,n)=>{t={onFailedAttempt(){},retries:10,...t};let i=dl.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 Fa)throw c.originalError;if(c instanceof TypeError&&!Ka(c))throw c;if(await t.onFailedAttempt(hl(c,a,t)),!i.retry(c))throw i.mainError()}catch(u){hl(u,a,t),o(),n(u)}}})})}var ds=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??el,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 Va(async()=>{try{let t=await hs(cs);await this.contentRouting.provide(t),this.safeDispatchEvent("advert:success",{detail:void 0})}catch(t){if(this.safeDispatchEvent("advert:error",{detail:t}),t.code===rl){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 qa=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 Ha=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 ps=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??jf}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 ys=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 ls.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 pl=e=>e.protoCodes().includes(290),c1={maxOutboundStopStreams:ei},za=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??tl,this.shutdownController=new AbortController,this.maxInboundHopStreams=r.maxInboundHopStreams,this.maxOutboundHopStreams=r.maxOutboundHopStreams,this.maxOutboundStopStreams=r.maxOutboundStopStreams??c1.maxOutboundStopStreams,S0(1/0,this.shutdownController.signal),r.advertise!=null&&r.advertise!==!1&&(this.advertService=new ds(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 ps(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),pl(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:{[Xf]:{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 ys({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(pl(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;ol(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 yl(e={}){return t=>new za(t,e)}var ms=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 hs(cs),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 Ya=Yt(gl(),1);var ni=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},$a=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},xl=e=>globalThis.DOMException===void 0?new $a(e):new DOMException(e),vl=e=>{let t=e.reason===void 0?xl("This operation was aborted."):e.reason;return t instanceof Error?t:xl(t)};function Qa(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(vl(c)),c.addEventListener("abort",()=>{a(vl(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 Za(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,Xa=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=Za(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 bl=Xa;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,Ss,ai,xs,De,ii,pe,vs,ye,ci,Ar,bs,El,wl,Tl,Sl,Al,Es,Ja,ja,As,Bl,ws,Ts=class extends Error{},t0=class extends Ya.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),Ss.set(this,void 0),ai.set(this,void 0),xs.set(this,0),De.set(this,void 0),ii.set(this,void 0),pe.set(this,void 0),vs.set(this,void 0),ye.set(this,0),ci.set(this,void 0),Ar.set(this,void 0),bs.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:bl,...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,Ss,t.intervalCap,"f"),At(this,ai,t.interval,"f"),At(this,pe,new t.queueClass,"f"),At(this,vs,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,At(this,bs,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",As).call(this)}async add(t,r={}){return r={timeout:this.timeout,throwOnTimeout:K(this,bs,"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 Ts("The task was aborted.");let c=t({signal:r.signal});r.timeout&&(c=Qa(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,K(this,_t,"m",Bl).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",Tl).call(this)}},r),this.emit("add"),K(this,_t,"m",Es).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",As).call(this),this):this}pause(){At(this,Ar,!0,"f")}clear(){At(this,pe,new(K(this,vs,"f")),"f")}async onEmpty(){K(this,pe,"f").size!==0&&await K(this,_t,"m",ws).call(this,"empty")}async onSizeLessThan(t){K(this,pe,"f").size<t||await K(this,_t,"m",ws).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",ws).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,Ss=new WeakMap,ai=new WeakMap,xs=new WeakMap,De=new WeakMap,ii=new WeakMap,pe=new WeakMap,vs=new WeakMap,ye=new WeakMap,ci=new WeakMap,Ar=new WeakMap,bs=new WeakMap,_t=new WeakSet,El=function(){return K(this,oi,"f")||K(this,Tr,"f")<K(this,Ss,"f")},wl=function(){return K(this,ye,"f")<K(this,ci,"f")},Tl=function(){var t;At(this,ye,(t=K(this,ye,"f"),t--,t),"f"),K(this,_t,"m",Es).call(this),this.emit("next")},Sl=function(){K(this,_t,"m",ja).call(this),K(this,_t,"m",Ja).call(this),At(this,ii,void 0,"f")},Al=function(){let t=Date.now();if(K(this,De,"f")===void 0){let r=K(this,xs,"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",Sl).call(this)},r),"f"),!0}return!1},Es=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",Al);if(K(this,_t,"a",El)&&K(this,_t,"a",wl)){let r=K(this,pe,"f").dequeue();return r?(this.emit("active"),r(),t&&K(this,_t,"m",Ja).call(this),!0):!1}}return!1},Ja=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,xs,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",As).call(this)},As=function(){for(;K(this,_t,"m",Es).call(this););},Bl=async function(t){return new Promise((r,n)=>{t.addEventListener("abort",()=>{n(new Ts("The task was aborted."))},{once:!0})})},ws=async function(t,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(t,i),n())};this.on(t,i)})};var Il=t0;function l1(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 e0=class{#t=[];enqueue(t,r){let n=r?.peerId,i=r?.priority??0;if(n==null)throw new z("missing peer id",w0);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=l1(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}},Bs=class extends Il{constructor(t={}){super({...t,queueClass:e0})}hasJob(t){return this.sizeBy({peerId:t})>0}};var d1=60*1e3*10,p1=60*1e3*5,y1=30*1e3,Is=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 Bs({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(Ma(n.reservation.expire)>d1){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=Ma(o.expire),c=Math.min(Math.max(a-p1,y1),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:{[Jf]:{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 r0(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 m1=U("dns4"),g1=U("dns6"),x1=U("dnsaddr"),Zr=Rt(U("dns"),x1,m1,g1),Rs=Rt(U("ip4"),U("ip6")),In=Rt(H(Rs,U("tcp")),H(Zr,U("tcp"))),Ls=H(Rs,U("udp")),v1=H(Ls,U("utp")),b1=H(Ls,U("quic")),E1=H(Ls,U("quic-v1")),n0=Rt(H(In,U("ws")),H(Zr,U("ws"))),Cs=Rt(H(n0,U("p2p")),n0),i0=Rt(H(In,U("wss")),H(Zr,U("wss")),H(In,U("tls"),U("ws")),H(Zr,U("tls"),U("ws"))),_s=Rt(H(i0,U("p2p")),i0),s0=Rt(H(In,U("http")),H(Rs,U("http")),H(Zr,U("http"))),o0=Rt(H(In,U("https")),H(Rs,U("https")),H(Zr,U("https"))),Cl=H(Ls,U("webrtc-direct"),U("certhash")),Ll=Rt(H(Cl,U("p2p")),Cl),_l=H(E1,U("webtransport"),U("certhash"),U("certhash")),Dl=Rt(H(_l,U("p2p")),_l),Nl=Rt(H(Cs,U("p2p-webrtc-star"),U("p2p")),H(_s,U("p2p-webrtc-star"),U("p2p")),H(Cs,U("p2p-webrtc-star")),H(_s,U("p2p-webrtc-star"))),o3=Rt(H(Cs,U("p2p-websocket-star"),U("p2p")),H(_s,U("p2p-websocket-star"),U("p2p")),H(Cs,U("p2p-websocket-star")),H(_s,U("p2p-websocket-star"))),Pl=Rt(H(s0,U("p2p-webrtc-direct"),U("p2p")),H(o0,U("p2p-webrtc-direct"),U("p2p")),H(s0,U("p2p-webrtc-direct")),H(o0,U("p2p-webrtc-direct"))),Xr=Rt(n0,i0,s0,o0,Nl,Pl,In,v1,b1,Zr,Ll,Dl),a3=Rt(H(Xr,U("p2p-stardust"),U("p2p")),H(Xr,U("p2p-stardust"))),Br=Rt(H(Xr,U("p2p")),Nl,Pl,Ll,Dl,U("p2p")),Rl=Rt(H(Br,U("p2p-circuit"),Br),H(Br,U("p2p-circuit")),H(U("p2p-circuit"),Br),H(Xr,U("p2p-circuit")),H(U("p2p-circuit"),Xr),U("p2p-circuit")),kl=()=>Rt(H(Rl,kl),Rl),or=kl(),c3=Rt(H(or,Br,or),H(Br,or),H(or,Br),or,Br);var u3=Rt(H(or,U("webrtc"),U("p2p")),H(or,U("webrtc")),H(Xr,U("webrtc"),U("p2p")),H(Xr,U("webrtc")),U("webrtc"));function Ul(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:Ul(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:Ul(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 a0=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 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 Ol(e){return new a0(e)}var S1=e=>{if(e.peer==null)return!1;try{e.peer.addrs.forEach(ee)}catch{return!1}return!0},c0={maxInboundStopStreams:ei,maxOutboundStopStreams:ei,stopTimeout:3e4},Ds=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??c0.maxInboundStopStreams,this.maxOutboundStopStreams=r.maxOutboundStopStreams??c0.maxOutboundStopStreams,this.stopTimeout=r.stopTimeout??c0.stopTimeout,r.discoverRelays!=null&&r.discoverRelays>0&&(this.discovery=new ms(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 Is(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}[E0]=!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,Ua)}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,Ua)}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 z(`failed to connect via relay with status ${f?.status?.toString()??"undefined"}`,nl);let l=r0({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 Ol({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(!S1(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=r0({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 Ml(e={}){return t=>new Ds(t,e)}return Jl(A1);})();
|
16
16
|
/*! Bundled license information:
|
17
17
|
|
18
18
|
@noble/hashes/esm/utils.js:
|