@helia/ipns 2.0.2 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.min.js CHANGED
@@ -1,19 +1,30 @@
1
1
  (function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.HeliaIpns = factory()}(typeof self !== 'undefined' ? self : this, function () {
2
- "use strict";var HeliaIpns=(()=>{var hh=Object.create;var gi=Object.defineProperty;var dh=Object.getOwnPropertyDescriptor;var ph=Object.getOwnPropertyNames;var yh=Object.getPrototypeOf,gh=Object.prototype.hasOwnProperty;var ut=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),kt=(t,e)=>{for(var r in e)gi(t,r,{get:e[r],enumerable:!0})},a0=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of ph(e))!gh.call(t,i)&&i!==r&&gi(t,i,{get:()=>e[i],enumerable:!(n=dh(e,i))||n.enumerable});return t};var Tt=(t,e,r)=>(r=t!=null?hh(yh(t)):{},a0(e||!t||!t.__esModule?gi(r,"default",{value:t,enumerable:!0}):r,t)),mh=t=>a0(gi({},"__esModule",{value:!0}),t);var u0=ut((Jm,c0)=>{var Yr=1e3,Zr=Yr*60,Qr=Zr*60,Ir=Qr*24,xh=Ir*7,vh=Ir*365.25;c0.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return bh(t);if(r==="number"&&isFinite(t))return e.long?Eh(t):wh(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function bh(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*vh;case"weeks":case"week":case"w":return r*xh;case"days":case"day":case"d":return r*Ir;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Qr;case"minutes":case"minute":case"mins":case"min":case"m":return r*Zr;case"seconds":case"second":case"secs":case"sec":case"s":return r*Yr;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function wh(t){var e=Math.abs(t);return e>=Ir?Math.round(t/Ir)+"d":e>=Qr?Math.round(t/Qr)+"h":e>=Zr?Math.round(t/Zr)+"m":e>=Yr?Math.round(t/Yr)+"s":t+"ms"}function Eh(t){var e=Math.abs(t);return e>=Ir?mi(t,e,Ir,"day"):e>=Qr?mi(t,e,Qr,"hour"):e>=Zr?mi(t,e,Zr,"minute"):e>=Yr?mi(t,e,Yr,"second"):t+" ms"}function mi(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var l0=ut((jm,f0)=>{function Sh(t){r.debug=r,r.default=r,r.coerce=c,r.disable=o,r.enable=i,r.enabled=s,r.humanize=u0(),r.destroy=u,Object.keys(t).forEach(f=>{r[f]=t[f]}),r.names=[],r.skips=[],r.formatters={};function e(f){let l=0;for(let h=0;h<f.length;h++)l=(l<<5)-l+f.charCodeAt(h),l|=0;return r.colors[Math.abs(l)%r.colors.length]}r.selectColor=e;function r(f){let l,h=null,g,d;function p(...y){if(!p.enabled)return;let m=p,w=Number(new Date),b=w-(l||w);m.diff=b,m.prev=l,m.curr=w,l=w,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let L=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(S,k)=>{if(S==="%%")return"%";L++;let B=r.formatters[k];if(typeof B=="function"){let O=y[L];S=B.call(m,O),y.splice(L,1),L--}return S}),r.formatArgs.call(m,y),(m.log||r.log).apply(m,y)}return p.namespace=f,p.useColors=r.useColors(),p.color=r.selectColor(f),p.extend=n,p.destroy=r.destroy,Object.defineProperty(p,"enabled",{enumerable:!0,configurable:!1,get:()=>h!==null?h:(g!==r.namespaces&&(g=r.namespaces,d=r.enabled(f)),d),set:y=>{h=y}}),typeof r.init=="function"&&r.init(p),p}function n(f,l){let h=r(this.namespace+(typeof l>"u"?":":l)+f);return h.log=this.log,h}function i(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let l,h=(typeof f=="string"?f:"").split(/[\s,]+/),g=h.length;for(l=0;l<g;l++)h[l]&&(f=h[l].replace(/\*/g,".*?"),f[0]==="-"?r.skips.push(new RegExp("^"+f.slice(1)+"$")):r.names.push(new RegExp("^"+f+"$")))}function o(){let f=[...r.names.map(a),...r.skips.map(a).map(l=>"-"+l)].join(",");return r.enable(""),f}function s(f){if(f[f.length-1]==="*")return!0;let l,h;for(l=0,h=r.skips.length;l<h;l++)if(r.skips[l].test(f))return!1;for(l=0,h=r.names.length;l<h;l++)if(r.names[l].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function c(f){return f instanceof Error?f.stack||f.message:f}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}f0.exports=Sh});var h0=ut((re,xi)=>{re.formatArgs=Ch;re.save=Ah;re.load=Th;re.useColors=Bh;re.storage=Ih();re.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();re.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Bh(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function Ch(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+xi.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}re.log=console.debug||console.log||(()=>{});function Ah(t){try{t?re.storage.setItem("debug",t):re.storage.removeItem("debug")}catch{}}function Th(){let t;try{t=re.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function Ih(){try{return localStorage}catch{}}xi.exports=l0()(re);var{formatters:_h}=xi.exports;_h.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var dt=ut((Qx,P0)=>{P0.exports={options:{usePureJavaScript:!1}}});var F0=ut((Xx,K0)=>{var as={};K0.exports=as;var O0={};as.encode=function(t,e,r){if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(t instanceof Uint8Array))n=Ud(t,e);else{var i=0,o=e.length,s=e.charAt(0),a=[0];for(i=0;i<t.length;++i){for(var c=0,u=t[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%o,u=u/o|0;for(;u>0;)a.push(u%o),u=u/o|0}for(i=0;t[i]===0&&i<t.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=e[a[i]]}if(r){var f=new RegExp(".{1,"+r+"}","g");n=n.match(f).join(`\r
3
- `)}return n};as.decode=function(t,e){if(typeof t!="string")throw new TypeError('"input" must be a string.');if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');var r=O0[e];if(!r){r=O0[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,o=e.charAt(0),s=[0],n=0;n<t.length;n++){var a=r[t.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<s.length;++c)u+=s[c]*i,s[c]=u&255,u>>=8;for(;u>0;)s.push(u&255),u>>=8}for(var f=0;t[f]===o&&f<t.length-1;++f)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function Ud(t,e){var r=0,n=e.length,i=e.charAt(0),o=[0];for(r=0;r<t.length();++r){for(var s=0,a=t.at(r);s<o.length;++s)a+=o[s]<<8,o[s]=a%n,a=a/n|0;for(;a>0;)o.push(a%n),a=a/n|0}var c="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)c+=i;for(r=o.length-1;r>=0;--r)c+=e[o[r]];return c}});var Rt=ut((Jx,z0)=>{var M0=dt(),V0=F0(),x=z0.exports=M0.util=M0.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){x.nextTick=process.nextTick,typeof setImmediate=="function"?x.setImmediate=setImmediate:x.setImmediate=x.nextTick;return}if(typeof setImmediate=="function"){x.setImmediate=function(){return setImmediate.apply(void 0,arguments)},x.nextTick=function(a){return setImmediate(a)};return}if(x.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(f){f()})}};var s=a,t="forge.setImmediate",e=[];x.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var o=x.setImmediate;x.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}x.nextTick=x.setImmediate})();x.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;x.globalScope=function(){return x.isNodejs?globalThis:typeof self>"u"?window:self}();x.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};x.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};x.isArrayBufferView=function(t){return t&&x.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Ln(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}x.ByteBuffer=cs;function cs(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(x.isArrayBuffer(t)||x.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof cs||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}x.ByteStringBuffer=cs;var Pd=4096;x.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>Pd&&(this.data.substr(0,1),this._constructedStringLength=0)};x.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};x.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};x.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};x.ByteStringBuffer.prototype.fillWithByte=function(t,e){t=String.fromCharCode(t);for(var r=this.data;e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return this.data=r,this._optimizeConstructedString(e),this};x.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};x.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(x.encodeUtf8(t))};x.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};x.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};x.ByteStringBuffer.prototype.putInt32=function(t){return this.putBytes(String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};x.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};x.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};x.ByteStringBuffer.prototype.putInt32Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>24&255))};x.ByteStringBuffer.prototype.putInt=function(t,e){Ln(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};x.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};x.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};x.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};x.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};x.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};x.ByteStringBuffer.prototype.getInt32=function(){var t=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,t};x.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};x.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};x.ByteStringBuffer.prototype.getInt32Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,t};x.ByteStringBuffer.prototype.getInt=function(t){Ln(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};x.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};x.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};x.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};x.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};x.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};x.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};x.ByteStringBuffer.prototype.copy=function(){var t=x.createBuffer(this.data);return t.read=this.read,t};x.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};x.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};x.ByteStringBuffer.prototype.truncate=function(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};x.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};x.ByteStringBuffer.prototype.toString=function(){return x.decodeUtf8(this.bytes())};function Od(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=x.isArrayBuffer(t),n=x.isArrayBufferView(t);if(r||n){r?this.data=new DataView(t):this.data=new DataView(t.buffer,t.byteOffset,t.byteLength),this.write="writeOffset"in e?e.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,t!=null&&this.putBytes(t),"writeOffset"in e&&(this.write=e.writeOffset)}x.DataBuffer=Od;x.DataBuffer.prototype.length=function(){return this.write-this.read};x.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};x.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};x.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};x.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};x.DataBuffer.prototype.putBytes=function(t,e){if(x.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(x.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof x.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&x.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof x.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var o;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.hex.decode(t,o,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.base64.decode(t,o,this.write),this;if(e==="utf8"&&(t=x.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.raw.decode(o),this;if(e==="utf16")return this.accommodate(t.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=x.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};x.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};x.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};x.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};x.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};x.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};x.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};x.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};x.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};x.DataBuffer.prototype.putInt=function(t,e){Ln(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};x.DataBuffer.prototype.putSignedInt=function(t,e){return Ln(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};x.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};x.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};x.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};x.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};x.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};x.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};x.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};x.DataBuffer.prototype.getInt=function(t){Ln(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};x.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};x.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};x.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};x.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};x.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};x.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};x.DataBuffer.prototype.copy=function(){return new x.DataBuffer(this)};x.DataBuffer.prototype.compact=function(){if(this.read>0){var t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};x.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};x.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};x.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};x.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return x.binary.raw.encode(e);if(t==="hex")return x.binary.hex.encode(e);if(t==="base64")return x.binary.base64.encode(e);if(t==="utf8")return x.text.utf8.decode(e);if(t==="utf16")return x.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};x.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=x.encodeUtf8(t)),new x.ByteBuffer(t)};x.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};x.xorBytes=function(t,e,r){for(var n="",i="",o="",s=0,a=0;r>0;--r,++s)i=t.charCodeAt(s)^e.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};x.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};x.bytesToHex=function(t){return x.createBuffer(t).toHex()};x.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&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],q0="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";x.encode64=function(t,e){for(var r="",n="",i,o,s,a=0;a<t.length;)i=t.charCodeAt(a++),o=t.charCodeAt(a++),s=t.charCodeAt(a++),r+=ur.charAt(i>>2),r+=ur.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=ur.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":ur.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
4
- `,r=r.substr(e));return n+=r,n};x.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,o,s=0;s<t.length;)r=fr[t.charCodeAt(s++)-43],n=fr[t.charCodeAt(s++)-43],i=fr[t.charCodeAt(s++)-43],o=fr[t.charCodeAt(s++)-43],e+=String.fromCharCode(r<<2|n>>4),i!==64&&(e+=String.fromCharCode((n&15)<<4|i>>2),o!==64&&(e+=String.fromCharCode((i&3)<<6|o)));return e};x.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};x.decodeUtf8=function(t){return decodeURIComponent(escape(t))};x.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:V0.encode,decode:V0.decode}};x.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};x.binary.raw.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,o=0;o<t.length;++o)n[i++]=t.charCodeAt(o);return e?i-r:n};x.binary.hex.encode=x.bytesToHex;x.binary.hex.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/2))),r=r||0;var i=0,o=r;for(t.length&1&&(i=1,n[o++]=parseInt(t[0],16));i<t.length;i+=2)n[o++]=parseInt(t.substr(i,2),16);return e?o-r:n};x.binary.base64.encode=function(t,e){for(var r="",n="",i,o,s,a=0;a<t.byteLength;)i=t[a++],o=t[a++],s=t[a++],r+=ur.charAt(i>>2),r+=ur.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=ur.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":ur.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
5
- `,r=r.substr(e));return n+=r,n};x.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,c=0,u=r;c<t.length;)i=fr[t.charCodeAt(c++)-43],o=fr[t.charCodeAt(c++)-43],s=fr[t.charCodeAt(c++)-43],a=fr[t.charCodeAt(c++)-43],n[u++]=i<<2|o>>4,s!==64&&(n[u++]=(o&15)<<4|s>>2,a!==64&&(n[u++]=(s&3)<<6|a));return e?u-r:n.subarray(0,u)};x.binary.base58.encode=function(t,e){return x.binary.baseN.encode(t,q0,e)};x.binary.base58.decode=function(t,e){return x.binary.baseN.decode(t,q0,e)};x.text={utf8:{},utf16:{}};x.text.utf8.encode=function(t,e,r){t=x.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,o=0;o<t.length;++o)n[i++]=t.charCodeAt(o);return e?i-r:n};x.text.utf8.decode=function(t){return x.decodeUtf8(String.fromCharCode.apply(null,t))};x.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<t.length;++a)i[s++]=t.charCodeAt(a),o+=2;return e?o-r:n};x.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};x.deflate=function(t,e,r){if(e=x.decode64(t.deflate(x.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};x.inflate=function(t,e,r){var n=t.inflate(x.encode64(e)).rval;return n===null?null:x.decode64(n)};var us=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=x.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},fs=function(t,e){if(!t)throw new Error("WebStorage not available.");var r=t.getItem(e);if(t.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(x.decode64(r))),r},Kd=function(t,e,r,n){var i=fs(t,e);i===null&&(i={}),i[r]=n,us(t,e,i)},Fd=function(t,e,r){var n=fs(t,e);return n!==null&&(n=r in n?n[r]:null),n},Md=function(t,e,r){var n=fs(t,e);if(n!==null&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),us(t,e,n)}},Vd=function(t,e){us(t,e,null)},wi=function(t,e,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,o=!1,s=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),o=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),o=!0)}catch(c){s=c}if(o)break}if(!o)throw s;return n};x.setItem=function(t,e,r,n,i){wi(Kd,arguments,i)};x.getItem=function(t,e,r,n){return wi(Fd,arguments,n)};x.removeItem=function(t,e,r,n){wi(Md,arguments,n)};x.clearItems=function(t,e,r){wi(Vd,arguments,r)};x.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};x.format=function(t){for(var e=/%./g,r,n,i=0,o=[],s=0;r=e.exec(t);){n=t.substring(s,e.lastIndex-2),n.length>0&&o.push(n),s=e.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?o.push(arguments[i+++1]):o.push("<?>");break;case"%":o.push("%");break;default:o.push("<%"+a+"?>")}}return o.push(t.substring(s)),o.join("")};x.formatNumber=function(t,e,r,n){var i=t,o=isNaN(e=Math.abs(e))?2:e,s=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(o),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)+(o?s+Math.abs(i-u).toFixed(o).slice(2):"")};x.formatSize=function(t){return t>=1073741824?t=x.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=x.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=x.formatNumber(t/1024,0)+" KiB":t=x.formatNumber(t,0)+" bytes",t};x.bytesFromIP=function(t){return t.indexOf(".")!==-1?x.bytesFromIPv4(t):t.indexOf(":")!==-1?x.bytesFromIPv6(t):null};x.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=x.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};x.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(s){return s.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=x.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=x.hexToBytes(t[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};x.bytesToIP=function(t){return t.length===4?x.bytesToIPv4(t):t.length===16?x.bytesToIPv6(t):null};x.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};x.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var o=x.bytesToHex(t[i]+t[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=r[r.length-1],a=e.length;!s||a!==s.end+1?r.push({start:a,end:a}):(s.end=a,s.end-s.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(o)}if(r.length>0){var c=r[n];c.end-c.start>0&&(e.splice(c.start,c.end-c.start+1,""),c.start===0&&e.unshift(""),c.end===7&&e.push(""))}return e.join(":")};x.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in x&&!t.update)return e(null,x.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return x.cores=navigator.hardwareConcurrency,e(null,x.cores);if(typeof Worker>"u")return x.cores=1,e(null,x.cores);if(typeof Blob>"u")return x.cores=2,e(null,x.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){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(s,a,c){if(a===0){var u=Math.floor(s.reduce(function(f,l){return f+l},0)/s.length);return x.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,x.cores)}i(c,function(f,l){s.push(o(c,l)),n(s,a-1,c)})}function i(s,a){for(var c=[],u=[],f=0;f<s;++f){var l=new Worker(r);l.addEventListener("message",function(h){if(u.push(h.data),u.length===s){for(var g=0;g<s;++g)c[g].terminate();a(null,u)}}),c.push(l)}for(var f=0;f<s;++f)c[f].postMessage(f)}function o(s,a){for(var c=[],u=0;u<s;++u)for(var f=a[u],l=c[u]=[],h=0;h<s;++h)if(u!==h){var g=a[h];(f.st>g.st&&f.st<g.et||g.st>f.st&&g.st<f.et)&&l.push(h)}return c.reduce(function(d,p){return Math.max(d,p.length)},0)}}});var Ei=ut((jx,H0)=>{var kn=dt();kn.pki=kn.pki||{};var ls=H0.exports=kn.pki.oids=kn.oids=kn.oids||{};function D(t,e){ls[t]=e,ls[e]=t}function lt(t,e){ls[t]=e}D("1.2.840.113549.1.1.1","rsaEncryption");D("1.2.840.113549.1.1.4","md5WithRSAEncryption");D("1.2.840.113549.1.1.5","sha1WithRSAEncryption");D("1.2.840.113549.1.1.7","RSAES-OAEP");D("1.2.840.113549.1.1.8","mgf1");D("1.2.840.113549.1.1.9","pSpecified");D("1.2.840.113549.1.1.10","RSASSA-PSS");D("1.2.840.113549.1.1.11","sha256WithRSAEncryption");D("1.2.840.113549.1.1.12","sha384WithRSAEncryption");D("1.2.840.113549.1.1.13","sha512WithRSAEncryption");D("1.3.101.112","EdDSA25519");D("1.2.840.10040.4.3","dsa-with-sha1");D("1.3.14.3.2.7","desCBC");D("1.3.14.3.2.26","sha1");D("1.3.14.3.2.29","sha1WithRSASignature");D("2.16.840.1.101.3.4.2.1","sha256");D("2.16.840.1.101.3.4.2.2","sha384");D("2.16.840.1.101.3.4.2.3","sha512");D("2.16.840.1.101.3.4.2.4","sha224");D("2.16.840.1.101.3.4.2.5","sha512-224");D("2.16.840.1.101.3.4.2.6","sha512-256");D("1.2.840.113549.2.2","md2");D("1.2.840.113549.2.5","md5");D("1.2.840.113549.1.7.1","data");D("1.2.840.113549.1.7.2","signedData");D("1.2.840.113549.1.7.3","envelopedData");D("1.2.840.113549.1.7.4","signedAndEnvelopedData");D("1.2.840.113549.1.7.5","digestedData");D("1.2.840.113549.1.7.6","encryptedData");D("1.2.840.113549.1.9.1","emailAddress");D("1.2.840.113549.1.9.2","unstructuredName");D("1.2.840.113549.1.9.3","contentType");D("1.2.840.113549.1.9.4","messageDigest");D("1.2.840.113549.1.9.5","signingTime");D("1.2.840.113549.1.9.6","counterSignature");D("1.2.840.113549.1.9.7","challengePassword");D("1.2.840.113549.1.9.8","unstructuredAddress");D("1.2.840.113549.1.9.14","extensionRequest");D("1.2.840.113549.1.9.20","friendlyName");D("1.2.840.113549.1.9.21","localKeyId");D("1.2.840.113549.1.9.22.1","x509Certificate");D("1.2.840.113549.1.12.10.1.1","keyBag");D("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");D("1.2.840.113549.1.12.10.1.3","certBag");D("1.2.840.113549.1.12.10.1.4","crlBag");D("1.2.840.113549.1.12.10.1.5","secretBag");D("1.2.840.113549.1.12.10.1.6","safeContentsBag");D("1.2.840.113549.1.5.13","pkcs5PBES2");D("1.2.840.113549.1.5.12","pkcs5PBKDF2");D("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");D("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");D("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");D("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");D("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");D("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");D("1.2.840.113549.2.7","hmacWithSHA1");D("1.2.840.113549.2.8","hmacWithSHA224");D("1.2.840.113549.2.9","hmacWithSHA256");D("1.2.840.113549.2.10","hmacWithSHA384");D("1.2.840.113549.2.11","hmacWithSHA512");D("1.2.840.113549.3.7","des-EDE3-CBC");D("2.16.840.1.101.3.4.1.2","aes128-CBC");D("2.16.840.1.101.3.4.1.22","aes192-CBC");D("2.16.840.1.101.3.4.1.42","aes256-CBC");D("2.5.4.3","commonName");D("2.5.4.4","surname");D("2.5.4.5","serialNumber");D("2.5.4.6","countryName");D("2.5.4.7","localityName");D("2.5.4.8","stateOrProvinceName");D("2.5.4.9","streetAddress");D("2.5.4.10","organizationName");D("2.5.4.11","organizationalUnitName");D("2.5.4.12","title");D("2.5.4.13","description");D("2.5.4.15","businessCategory");D("2.5.4.17","postalCode");D("2.5.4.42","givenName");D("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");D("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");D("2.16.840.1.113730.1.1","nsCertType");D("2.16.840.1.113730.1.13","nsComment");lt("2.5.29.1","authorityKeyIdentifier");lt("2.5.29.2","keyAttributes");lt("2.5.29.3","certificatePolicies");lt("2.5.29.4","keyUsageRestriction");lt("2.5.29.5","policyMapping");lt("2.5.29.6","subtreesConstraint");lt("2.5.29.7","subjectAltName");lt("2.5.29.8","issuerAltName");lt("2.5.29.9","subjectDirectoryAttributes");lt("2.5.29.10","basicConstraints");lt("2.5.29.11","nameConstraints");lt("2.5.29.12","policyConstraints");lt("2.5.29.13","basicConstraints");D("2.5.29.14","subjectKeyIdentifier");D("2.5.29.15","keyUsage");lt("2.5.29.16","privateKeyUsagePeriod");D("2.5.29.17","subjectAltName");D("2.5.29.18","issuerAltName");D("2.5.29.19","basicConstraints");lt("2.5.29.20","cRLNumber");lt("2.5.29.21","cRLReason");lt("2.5.29.22","expirationDate");lt("2.5.29.23","instructionCode");lt("2.5.29.24","invalidityDate");lt("2.5.29.25","cRLDistributionPoints");lt("2.5.29.26","issuingDistributionPoint");lt("2.5.29.27","deltaCRLIndicator");lt("2.5.29.28","issuingDistributionPoint");lt("2.5.29.29","certificateIssuer");lt("2.5.29.30","nameConstraints");D("2.5.29.31","cRLDistributionPoints");D("2.5.29.32","certificatePolicies");lt("2.5.29.33","policyMappings");lt("2.5.29.34","policyConstraints");D("2.5.29.35","authorityKeyIdentifier");lt("2.5.29.36","policyConstraints");D("2.5.29.37","extKeyUsage");lt("2.5.29.46","freshestCRL");lt("2.5.29.54","inhibitAnyPolicy");D("1.3.6.1.4.1.11129.2.4.2","timestampList");D("1.3.6.1.5.5.7.1.1","authorityInfoAccess");D("1.3.6.1.5.5.7.3.1","serverAuth");D("1.3.6.1.5.5.7.3.2","clientAuth");D("1.3.6.1.5.5.7.3.3","codeSigning");D("1.3.6.1.5.5.7.3.4","emailProtection");D("1.3.6.1.5.5.7.3.8","timeStamping")});var Pn=ut((t2,$0)=>{var mt=dt();Rt();Ei();var M=$0.exports=mt.asn1=mt.asn1||{};M.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};M.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};M.create=function(t,e,r,n,i){if(mt.util.isArray(n)){for(var o=[],s=0;s<n.length;++s)n[s]!==void 0&&o.push(n[s]);n=o}var a={tagClass:t,type:e,constructed:r,composed:r||mt.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=M.copy(a)),a};M.copy=function(t,e){var r;if(mt.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(M.copy(t[n],e));return r}return typeof t=="string"?t:(r={tagClass:t.tagClass,type:t.type,constructed:t.constructed,composed:t.composed,value:M.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};M.equals=function(t,e,r){if(mt.util.isArray(t)){if(!mt.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!M.equals(t[n],e[n]))return!1;return!0}if(typeof t!=typeof e)return!1;if(typeof t=="string")return t===e;var i=t.tagClass===e.tagClass&&t.type===e.type&&t.constructed===e.constructed&&t.composed===e.composed&&M.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};M.getBerValueLength=function(t){var e=t.getByte();if(e!==128){var r,n=e&128;return n?r=t.getInt((e&127)<<3):r=e,r}};function Un(t,e,r){if(r>e){var n=new Error("Too few bytes to parse DER.");throw n.available=t.length(),n.remaining=e,n.requested=r,n}}var qd=function(t,e){var r=t.getByte();if(e--,r!==128){var n,i=r&128;if(!i)n=r;else{var o=r&127;Un(t,e,o),n=t.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};M.fromDer=function(t,e){e===void 0&&(e={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"parseAllBytes"in e||(e.parseAllBytes=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=mt.util.createBuffer(t));var r=t.length(),n=Si(t,t.length(),0,e);if(e.parseAllBytes&&t.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=t.length(),i}return n};function Si(t,e,r,n){var i;Un(t,e,2);var o=t.getByte();e--;var s=o&192,a=o&31;i=t.length();var c=qd(t,e);if(e-=i-t.length(),c!==void 0&&c>e){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=t.length(),u.remaining=e,u.requested=c,u}c=e}var f,l,h=(o&32)===32;if(h)if(f=[],c===void 0)for(;;){if(Un(t,e,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),f.push(Si(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),f.push(Si(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(f===void 0&&s===M.Class.UNIVERSAL&&a===M.Type.BITSTRING&&(l=t.bytes(c)),f===void 0&&n.decodeBitStrings&&s===M.Class.UNIVERSAL&&a===M.Type.BITSTRING&&c>1){var g=t.read,d=e,p=0;if(a===M.Type.BITSTRING&&(Un(t,e,1),p=t.getByte(),e--),p===0)try{i=t.length();var y={strict:!0,decodeBitStrings:!0},m=Si(t,e,r+1,y),w=i-t.length();e-=w,a==M.Type.BITSTRING&&w++;var b=m.tagClass;w===c&&(b===M.Class.UNIVERSAL||b===M.Class.CONTEXT_SPECIFIC)&&(f=[m])}catch{}f===void 0&&(t.read=g,e=d)}if(f===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=e}if(a===M.Type.BMPSTRING)for(f="";c>0;c-=2)Un(t,e,2),f+=String.fromCharCode(t.getInt16()),e-=2;else f=t.getBytes(c),e-=c}var L=l===void 0?null:{bitStringContents:l};return M.create(s,a,h,f,L)}M.toDer=function(t){var e=mt.util.createBuffer(),r=t.tagClass|t.type,n=mt.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=M.equals(t,t.original))),i)n.putBytes(t.bitStringContents);else if(t.composed){t.constructed?r|=32:n.putByte(0);for(var o=0;o<t.value.length;++o)t.value[o]!==void 0&&n.putBuffer(M.toDer(t.value[o]))}else if(t.type===M.Type.BMPSTRING)for(var o=0;o<t.value.length;++o)n.putInt16(t.value.charCodeAt(o));else t.type===M.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&!(t.value.charCodeAt(1)&128)||t.value.charCodeAt(0)===255&&(t.value.charCodeAt(1)&128)===128)?n.putBytes(t.value.substr(1)):n.putBytes(t.value);if(e.putByte(r),n.length()<=127)e.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);e.putByte(a.length|128);for(var o=a.length-1;o>=0;--o)e.putByte(a.charCodeAt(o))}return e.putBuffer(n),e};M.oidToDer=function(t){var e=t.split("."),r=mt.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,o,s,a=2;a<e.length;++a){n=!0,i=[],o=parseInt(e[a],10);do s=o&127,o=o>>>7,n||(s|=128),i.push(s),n=!1;while(o>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};M.derToOid=function(t){var e;typeof t=="string"&&(t=mt.util.createBuffer(t));var r=t.getByte();e=Math.floor(r/40)+"."+r%40;for(var n=0;t.length()>0;)r=t.getByte(),n=n<<7,r&128?n+=r&127:(e+="."+(n+r),n=0);return e};M.utcTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(t.substr(2,2),10)-1,i=parseInt(t.substr(4,2),10),o=parseInt(t.substr(6,2),10),s=parseInt(t.substr(8,2),10),a=0;if(t.length>11){var c=t.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(t.substr(10,2),10),u+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(o,s,a,0),u&&(c=t.charAt(u),c==="+"||c==="-")){var f=parseInt(t.substr(u+1,2),10),l=parseInt(t.substr(u+4,2),10),h=f*60+l;h*=6e4,c==="+"?e.setTime(+e-h):e.setTime(+e+h)}return e};M.generalizedTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,4),10),n=parseInt(t.substr(4,2),10)-1,i=parseInt(t.substr(6,2),10),o=parseInt(t.substr(8,2),10),s=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),c=0,u=0,f=!1;t.charAt(t.length-1)==="Z"&&(f=!0);var l=t.length-5,h=t.charAt(l);if(h==="+"||h==="-"){var g=parseInt(t.substr(l+1,2),10),d=parseInt(t.substr(l+4,2),10);u=g*60+d,u*=6e4,h==="+"&&(u*=-1),f=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),f?(e.setUTCFullYear(r,n,i),e.setUTCHours(o,s,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(o,s,a,c)),e};M.dateToUtcTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push((""+t.getUTCFullYear()).substr(2)),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};M.dateToGeneralizedTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push(""+t.getUTCFullYear()),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};M.integerToDer=function(t){var e=mt.util.createBuffer();if(t>=-128&&t<128)return e.putSignedInt(t,8);if(t>=-32768&&t<32768)return e.putSignedInt(t,16);if(t>=-8388608&&t<8388608)return e.putSignedInt(t,24);if(t>=-2147483648&&t<2147483648)return e.putSignedInt(t,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=t,r};M.derToInteger=function(t){typeof t=="string"&&(t=mt.util.createBuffer(t));var e=t.length()*8;if(e>32)throw new Error("Integer too large; max is 32-bits.");return t.getSignedInt(e)};M.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass>"u")&&(t.type===e.type||typeof e.type>"u"))if(t.constructed===e.constructed||typeof e.constructed>"u"){if(i=!0,e.value&&mt.util.isArray(e.value))for(var o=0,s=0;i&&s<e.value.length;++s)i=e.value[s].optional||!1,t.value[o]&&(i=M.validate(t.value[o],e.value[s],r,n),i?++o:e.value[s].optional&&(i=!0)),!i&&n&&n.push("["+e.name+'] Tag class "'+e.tagClass+'", type "'+e.type+'" expected value length "'+e.value.length+'", got "'+t.value.length+'"');if(i&&r&&(e.capture&&(r[e.capture]=t.value),e.captureAsn1&&(r[e.captureAsn1]=t),e.captureBitStringContents&&"bitStringContents"in t&&(r[e.captureBitStringContents]=t.bitStringContents),e.captureBitStringValue&&"bitStringContents"in t)){var a;if(t.bitStringContents.length<2)r[e.captureBitStringValue]="";else{var c=t.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[e.captureBitStringValue]=t.bitStringContents.slice(1)}}}else n&&n.push("["+e.name+'] Expected constructed "'+e.constructed+'", got "'+t.constructed+'"');else n&&(t.tagClass!==e.tagClass&&n.push("["+e.name+'] Expected tag class "'+e.tagClass+'", got "'+t.tagClass+'"'),t.type!==e.type&&n.push("["+e.name+'] Expected type "'+e.type+'", got "'+t.type+'"'));return i};var G0=/[^\\u0000-\\u00ff]/;M.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
6
- `);for(var i="",o=0;o<e*r;++o)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case M.Class.UNIVERSAL:n+="Universal:";break;case M.Class.APPLICATION:n+="Application:";break;case M.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case M.Class.PRIVATE:n+="Private:";break}if(t.tagClass===M.Class.UNIVERSAL)switch(n+=t.type,t.type){case M.Type.NONE:n+=" (None)";break;case M.Type.BOOLEAN:n+=" (Boolean)";break;case M.Type.INTEGER:n+=" (Integer)";break;case M.Type.BITSTRING:n+=" (Bit string)";break;case M.Type.OCTETSTRING:n+=" (Octet string)";break;case M.Type.NULL:n+=" (Null)";break;case M.Type.OID:n+=" (Object Identifier)";break;case M.Type.ODESC:n+=" (Object Descriptor)";break;case M.Type.EXTERNAL:n+=" (External or Instance of)";break;case M.Type.REAL:n+=" (Real)";break;case M.Type.ENUMERATED:n+=" (Enumerated)";break;case M.Type.EMBEDDED:n+=" (Embedded PDV)";break;case M.Type.UTF8:n+=" (UTF8)";break;case M.Type.ROID:n+=" (Relative Object Identifier)";break;case M.Type.SEQUENCE:n+=" (Sequence)";break;case M.Type.SET:n+=" (Set)";break;case M.Type.PRINTABLESTRING:n+=" (Printable String)";break;case M.Type.IA5String:n+=" (IA5String (ASCII))";break;case M.Type.UTCTIME:n+=" (UTC time)";break;case M.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case M.Type.BMPSTRING:n+=" (BMP String)";break}else n+=t.type;if(n+=`
2
+ "use strict";var HeliaIpns=(()=>{var I5=Object.create;var I0=Object.defineProperty;var A5=Object.getOwnPropertyDescriptor;var T5=Object.getOwnPropertyNames;var _5=Object.getPrototypeOf,C5=Object.prototype.hasOwnProperty;var ae=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Ye=(t,e)=>{for(var r in e)I0(t,r,{get:e[r],enumerable:!0})},Y2=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of T5(e))!C5.call(t,i)&&i!==r&&I0(t,i,{get:()=>e[i],enumerable:!(n=A5(e,i))||n.enumerable});return t};var me=(t,e,r)=>(r=t!=null?I5(_5(t)):{},Y2(e||!t||!t.__esModule?I0(r,"default",{value:t,enumerable:!0}):r,t)),R5=t=>Y2(I0({},"__esModule",{value:!0}),t);var W2=ae((uy,Q2)=>{var Un=1e3,On=Un*60,Fn=On*60,dn=Fn*24,B5=dn*7,P5=dn*365.25;Q2.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return N5(t);if(r==="number"&&isFinite(t))return e.long?D5(t):L5(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function N5(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),n=(e[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*P5;case"weeks":case"week":case"w":return r*B5;case"days":case"day":case"d":return r*dn;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Fn;case"minutes":case"minute":case"mins":case"min":case"m":return r*On;case"seconds":case"second":case"secs":case"sec":case"s":return r*Un;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function L5(t){var e=Math.abs(t);return e>=dn?Math.round(t/dn)+"d":e>=Fn?Math.round(t/Fn)+"h":e>=On?Math.round(t/On)+"m":e>=Un?Math.round(t/Un)+"s":t+"ms"}function D5(t){var e=Math.abs(t);return e>=dn?T0(t,e,dn,"day"):e>=Fn?T0(t,e,Fn,"hour"):e>=On?T0(t,e,On,"minute"):e>=Un?T0(t,e,Un,"second"):t+" ms"}function T0(t,e,r,n){var i=e>=r*1.5;return Math.round(t/r)+" "+n+(i?"s":"")}});var X2=ae((fy,Z2)=>{function k5(t){r.debug=r,r.default=r,r.coerce=c,r.disable=o,r.enable=i,r.enabled=s,r.humanize=W2(),r.destroy=u,Object.keys(t).forEach(f=>{r[f]=t[f]}),r.names=[],r.skips=[],r.formatters={};function e(f){let l=0;for(let p=0;p<f.length;p++)l=(l<<5)-l+f.charCodeAt(p),l|=0;return r.colors[Math.abs(l)%r.colors.length]}r.selectColor=e;function r(f){let l,p=null,d,h;function m(...y){if(!m.enabled)return;let g=m,x=Number(new Date),v=x-(l||x);g.diff=v,g.prev=l,g.curr=x,l=x,y[0]=r.coerce(y[0]),typeof y[0]!="string"&&y.unshift("%O");let R=0;y[0]=y[0].replace(/%([a-zA-Z%])/g,(S,D)=>{if(S==="%%")return"%";R++;let I=r.formatters[D];if(typeof I=="function"){let F=y[R];S=I.call(g,F),y.splice(R,1),R--}return S}),r.formatArgs.call(g,y),(g.log||r.log).apply(g,y)}return m.namespace=f,m.useColors=r.useColors(),m.color=r.selectColor(f),m.extend=n,m.destroy=r.destroy,Object.defineProperty(m,"enabled",{enumerable:!0,configurable:!1,get:()=>p!==null?p:(d!==r.namespaces&&(d=r.namespaces,h=r.enabled(f)),h),set:y=>{p=y}}),typeof r.init=="function"&&r.init(m),m}function n(f,l){let p=r(this.namespace+(typeof l>"u"?":":l)+f);return p.log=this.log,p}function i(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let l,p=(typeof f=="string"?f:"").split(/[\s,]+/),d=p.length;for(l=0;l<d;l++)p[l]&&(f=p[l].replace(/\*/g,".*?"),f[0]==="-"?r.skips.push(new RegExp("^"+f.slice(1)+"$")):r.names.push(new RegExp("^"+f+"$")))}function o(){let f=[...r.names.map(a),...r.skips.map(a).map(l=>"-"+l)].join(",");return r.enable(""),f}function s(f){if(f[f.length-1]==="*")return!0;let l,p;for(l=0,p=r.skips.length;l<p;l++)if(r.skips[l].test(f))return!1;for(l=0,p=r.names.length;l<p;l++)if(r.names[l].test(f))return!0;return!1}function a(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*")}function c(f){return f instanceof Error?f.stack||f.message:f}function u(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}Z2.exports=k5});var J2=ae((bt,_0)=>{bt.formatArgs=O5;bt.save=F5;bt.load=M5;bt.useColors=U5;bt.storage=K5();bt.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();bt.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function U5(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function O5(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+_0.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,n=0;t[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),t.splice(n,0,e)}bt.log=console.debug||console.log||(()=>{});function F5(t){try{t?bt.storage.setItem("debug",t):bt.storage.removeItem("debug")}catch{}}function M5(){let t;try{t=bt.storage.getItem("debug")}catch{}return!t&&typeof process<"u"&&"env"in process&&(t=process.env.DEBUG),t}function K5(){try{return localStorage}catch{}}_0.exports=X2()(bt);var{formatters:V5}=_0.exports;V5.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var ve=ae((ag,w3)=>{w3.exports={options:{usePureJavaScript:!1}}});var I3=ae((cg,S3)=>{var ns={};S3.exports=ns;var E3={};ns.encode=function(t,e,r){if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(t instanceof Uint8Array))n=Y8(t,e);else{var i=0,o=e.length,s=e.charAt(0),a=[0];for(i=0;i<t.length;++i){for(var c=0,u=t[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%o,u=u/o|0;for(;u>0;)a.push(u%o),u=u/o|0}for(i=0;t[i]===0&&i<t.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=e[a[i]]}if(r){var f=new RegExp(".{1,"+r+"}","g");n=n.match(f).join(`\r
3
+ `)}return n};ns.decode=function(t,e){if(typeof t!="string")throw new TypeError('"input" must be a string.');if(typeof e!="string")throw new TypeError('"alphabet" must be a string.');var r=E3[e];if(!r){r=E3[e]=[];for(var n=0;n<e.length;++n)r[e.charCodeAt(n)]=n}t=t.replace(/\s/g,"");for(var i=e.length,o=e.charAt(0),s=[0],n=0;n<t.length;n++){var a=r[t.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<s.length;++c)u+=s[c]*i,s[c]=u&255,u>>=8;for(;u>0;)s.push(u&255),u>>=8}for(var f=0;t[f]===o&&f<t.length-1;++f)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function Y8(t,e){var r=0,n=e.length,i=e.charAt(0),o=[0];for(r=0;r<t.length();++r){for(var s=0,a=t.at(r);s<o.length;++s)a+=o[s]<<8,o[s]=a%n,a=a/n|0;for(;a>0;)o.push(a%n),a=a/n|0}var c="";for(r=0;t.at(r)===0&&r<t.length()-1;++r)c+=i;for(r=o.length-1;r>=0;--r)c+=e[o[r]];return c}});var Ke=ae((ug,C3)=>{var A3=ve(),T3=I3(),b=C3.exports=A3.util=A3.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){b.nextTick=process.nextTick,typeof setImmediate=="function"?b.setImmediate=setImmediate:b.setImmediate=b.nextTick;return}if(typeof setImmediate=="function"){b.setImmediate=function(){return setImmediate.apply(void 0,arguments)},b.nextTick=function(a){return setImmediate(a)};return}if(b.setImmediate=function(a){setTimeout(a,0)},typeof window<"u"&&typeof window.postMessage=="function"){let a=function(c){if(c.source===window&&c.data===t){c.stopPropagation();var u=e.slice();e.length=0,u.forEach(function(f){f()})}};var s=a,t="forge.setImmediate",e=[];b.setImmediate=function(c){e.push(c),e.length===1&&window.postMessage(t,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),e=[];new MutationObserver(function(){var c=e.slice();e.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var o=b.setImmediate;b.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(e.push(c),e.length===1&&i.setAttribute("a",n=!n))}}b.nextTick=b.setImmediate})();b.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;b.globalScope=function(){return b.isNodejs?globalThis:typeof self>"u"?window:self}();b.isArray=Array.isArray||function(t){return Object.prototype.toString.call(t)==="[object Array]"};b.isArrayBuffer=function(t){return typeof ArrayBuffer<"u"&&t instanceof ArrayBuffer};b.isArrayBufferView=function(t){return t&&b.isArrayBuffer(t.buffer)&&t.byteLength!==void 0};function Bi(t){if(!(t===8||t===16||t===24||t===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+t)}b.ByteBuffer=is;function is(t){if(this.data="",this.read=0,typeof t=="string")this.data=t;else if(b.isArrayBuffer(t)||b.isArrayBufferView(t))if(typeof Buffer<"u"&&t instanceof Buffer)this.data=t.toString("binary");else{var e=new Uint8Array(t);try{this.data=String.fromCharCode.apply(null,e)}catch{for(var r=0;r<e.length;++r)this.putByte(e[r])}}else(t instanceof is||typeof t=="object"&&typeof t.data=="string"&&typeof t.read=="number")&&(this.data=t.data,this.read=t.read);this._constructedStringLength=0}b.ByteStringBuffer=is;var Q8=4096;b.ByteStringBuffer.prototype._optimizeConstructedString=function(t){this._constructedStringLength+=t,this._constructedStringLength>Q8&&(this.data.substr(0,1),this._constructedStringLength=0)};b.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};b.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};b.ByteStringBuffer.prototype.putByte=function(t){return this.putBytes(String.fromCharCode(t))};b.ByteStringBuffer.prototype.fillWithByte=function(t,e){t=String.fromCharCode(t);for(var r=this.data;e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return this.data=r,this._optimizeConstructedString(e),this};b.ByteStringBuffer.prototype.putBytes=function(t){return this.data+=t,this._optimizeConstructedString(t.length),this};b.ByteStringBuffer.prototype.putString=function(t){return this.putBytes(b.encodeUtf8(t))};b.ByteStringBuffer.prototype.putInt16=function(t){return this.putBytes(String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};b.ByteStringBuffer.prototype.putInt24=function(t){return this.putBytes(String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};b.ByteStringBuffer.prototype.putInt32=function(t){return this.putBytes(String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255))};b.ByteStringBuffer.prototype.putInt16Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255))};b.ByteStringBuffer.prototype.putInt24Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255))};b.ByteStringBuffer.prototype.putInt32Le=function(t){return this.putBytes(String.fromCharCode(t&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>24&255))};b.ByteStringBuffer.prototype.putInt=function(t,e){Bi(e);var r="";do e-=8,r+=String.fromCharCode(t>>e&255);while(e>0);return this.putBytes(r)};b.ByteStringBuffer.prototype.putSignedInt=function(t,e){return t<0&&(t+=2<<e-1),this.putInt(t,e)};b.ByteStringBuffer.prototype.putBuffer=function(t){return this.putBytes(t.getBytes())};b.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};b.ByteStringBuffer.prototype.getInt16=function(){var t=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,t};b.ByteStringBuffer.prototype.getInt24=function(){var t=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,t};b.ByteStringBuffer.prototype.getInt32=function(){var t=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,t};b.ByteStringBuffer.prototype.getInt16Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,t};b.ByteStringBuffer.prototype.getInt24Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,t};b.ByteStringBuffer.prototype.getInt32Le=function(){var t=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,t};b.ByteStringBuffer.prototype.getInt=function(t){Bi(t);var e=0;do e=(e<<8)+this.data.charCodeAt(this.read++),t-=8;while(t>0);return e};b.ByteStringBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};b.ByteStringBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};b.ByteStringBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};b.ByteStringBuffer.prototype.at=function(t){return this.data.charCodeAt(this.read+t)};b.ByteStringBuffer.prototype.setAt=function(t,e){return this.data=this.data.substr(0,this.read+t)+String.fromCharCode(e)+this.data.substr(this.read+t+1),this};b.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};b.ByteStringBuffer.prototype.copy=function(){var t=b.createBuffer(this.data);return t.read=this.read,t};b.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};b.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};b.ByteStringBuffer.prototype.truncate=function(t){var e=Math.max(0,this.length()-t);return this.data=this.data.substr(this.read,e),this.read=0,this};b.ByteStringBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.length;++e){var r=this.data.charCodeAt(e);r<16&&(t+="0"),t+=r.toString(16)}return t};b.ByteStringBuffer.prototype.toString=function(){return b.decodeUtf8(this.bytes())};function W8(t,e){e=e||{},this.read=e.readOffset||0,this.growSize=e.growSize||1024;var r=b.isArrayBuffer(t),n=b.isArrayBufferView(t);if(r||n){r?this.data=new DataView(t):this.data=new DataView(t.buffer,t.byteOffset,t.byteLength),this.write="writeOffset"in e?e.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,t!=null&&this.putBytes(t),"writeOffset"in e&&(this.write=e.writeOffset)}b.DataBuffer=W8;b.DataBuffer.prototype.length=function(){return this.write-this.read};b.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};b.DataBuffer.prototype.accommodate=function(t,e){if(this.length()>=t)return this;e=Math.max(e||this.growSize,t);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+e);return n.set(r),this.data=new DataView(n.buffer),this};b.DataBuffer.prototype.putByte=function(t){return this.accommodate(1),this.data.setUint8(this.write++,t),this};b.DataBuffer.prototype.fillWithByte=function(t,e){this.accommodate(e);for(var r=0;r<e;++r)this.data.setUint8(t);return this};b.DataBuffer.prototype.putBytes=function(t,e){if(b.isArrayBufferView(t)){var r=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(b.isArrayBuffer(t)){var r=new Uint8Array(t);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(t instanceof b.DataBuffer||typeof t=="object"&&typeof t.read=="number"&&typeof t.write=="number"&&b.isArrayBufferView(t.data)){var r=new Uint8Array(t.data.byteLength,t.read,t.length());this.accommodate(r.byteLength);var i=new Uint8Array(t.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(t instanceof b.ByteStringBuffer&&(t=t.data,e="binary"),e=e||"binary",typeof t=="string"){var o;if(e==="hex")return this.accommodate(Math.ceil(t.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=b.binary.hex.decode(t,o,this.write),this;if(e==="base64")return this.accommodate(Math.ceil(t.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=b.binary.base64.decode(t,o,this.write),this;if(e==="utf8"&&(t=b.encodeUtf8(t),e="binary"),e==="binary"||e==="raw")return this.accommodate(t.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=b.binary.raw.decode(o),this;if(e==="utf16")return this.accommodate(t.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=b.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+e)}throw Error("Invalid parameter: "+t)};b.DataBuffer.prototype.putBuffer=function(t){return this.putBytes(t),t.clear(),this};b.DataBuffer.prototype.putString=function(t){return this.putBytes(t,"utf16")};b.DataBuffer.prototype.putInt16=function(t){return this.accommodate(2),this.data.setInt16(this.write,t),this.write+=2,this};b.DataBuffer.prototype.putInt24=function(t){return this.accommodate(3),this.data.setInt16(this.write,t>>8&65535),this.data.setInt8(this.write,t>>16&255),this.write+=3,this};b.DataBuffer.prototype.putInt32=function(t){return this.accommodate(4),this.data.setInt32(this.write,t),this.write+=4,this};b.DataBuffer.prototype.putInt16Le=function(t){return this.accommodate(2),this.data.setInt16(this.write,t,!0),this.write+=2,this};b.DataBuffer.prototype.putInt24Le=function(t){return this.accommodate(3),this.data.setInt8(this.write,t>>16&255),this.data.setInt16(this.write,t>>8&65535,!0),this.write+=3,this};b.DataBuffer.prototype.putInt32Le=function(t){return this.accommodate(4),this.data.setInt32(this.write,t,!0),this.write+=4,this};b.DataBuffer.prototype.putInt=function(t,e){Bi(e),this.accommodate(e/8);do e-=8,this.data.setInt8(this.write++,t>>e&255);while(e>0);return this};b.DataBuffer.prototype.putSignedInt=function(t,e){return Bi(e),this.accommodate(e/8),t<0&&(t+=2<<e-1),this.putInt(t,e)};b.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};b.DataBuffer.prototype.getInt16=function(){var t=this.data.getInt16(this.read);return this.read+=2,t};b.DataBuffer.prototype.getInt24=function(){var t=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,t};b.DataBuffer.prototype.getInt32=function(){var t=this.data.getInt32(this.read);return this.read+=4,t};b.DataBuffer.prototype.getInt16Le=function(){var t=this.data.getInt16(this.read,!0);return this.read+=2,t};b.DataBuffer.prototype.getInt24Le=function(){var t=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,t};b.DataBuffer.prototype.getInt32Le=function(){var t=this.data.getInt32(this.read,!0);return this.read+=4,t};b.DataBuffer.prototype.getInt=function(t){Bi(t);var e=0;do e=(e<<8)+this.data.getInt8(this.read++),t-=8;while(t>0);return e};b.DataBuffer.prototype.getSignedInt=function(t){var e=this.getInt(t),r=2<<t-2;return e>=r&&(e-=r<<1),e};b.DataBuffer.prototype.getBytes=function(t){var e;return t?(t=Math.min(this.length(),t),e=this.data.slice(this.read,this.read+t),this.read+=t):t===0?e="":(e=this.read===0?this.data:this.data.slice(this.read),this.clear()),e};b.DataBuffer.prototype.bytes=function(t){return typeof t>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+t)};b.DataBuffer.prototype.at=function(t){return this.data.getUint8(this.read+t)};b.DataBuffer.prototype.setAt=function(t,e){return this.data.setUint8(t,e),this};b.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};b.DataBuffer.prototype.copy=function(){return new b.DataBuffer(this)};b.DataBuffer.prototype.compact=function(){if(this.read>0){var t=new Uint8Array(this.data.buffer,this.read),e=new Uint8Array(t.byteLength);e.set(t),this.data=new DataView(e),this.write-=this.read,this.read=0}return this};b.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};b.DataBuffer.prototype.truncate=function(t){return this.write=Math.max(0,this.length()-t),this.read=Math.min(this.read,this.write),this};b.DataBuffer.prototype.toHex=function(){for(var t="",e=this.read;e<this.data.byteLength;++e){var r=this.data.getUint8(e);r<16&&(t+="0"),t+=r.toString(16)}return t};b.DataBuffer.prototype.toString=function(t){var e=new Uint8Array(this.data,this.read,this.length());if(t=t||"utf8",t==="binary"||t==="raw")return b.binary.raw.encode(e);if(t==="hex")return b.binary.hex.encode(e);if(t==="base64")return b.binary.base64.encode(e);if(t==="utf8")return b.text.utf8.decode(e);if(t==="utf16")return b.text.utf16.decode(e);throw new Error("Invalid encoding: "+t)};b.createBuffer=function(t,e){return e=e||"raw",t!==void 0&&e==="utf8"&&(t=b.encodeUtf8(t)),new b.ByteBuffer(t)};b.fillString=function(t,e){for(var r="";e>0;)e&1&&(r+=t),e>>>=1,e>0&&(t+=t);return r};b.xorBytes=function(t,e,r){for(var n="",i="",o="",s=0,a=0;r>0;--r,++s)i=t.charCodeAt(s)^e.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};b.hexToBytes=function(t){var e="",r=0;for(t.length&!0&&(r=1,e+=String.fromCharCode(parseInt(t[0],16)));r<t.length;r+=2)e+=String.fromCharCode(parseInt(t.substr(r,2),16));return e};b.bytesToHex=function(t){return b.createBuffer(t).toHex()};b.int32ToBytes=function(t){return String.fromCharCode(t>>24&255)+String.fromCharCode(t>>16&255)+String.fromCharCode(t>>8&255)+String.fromCharCode(t&255)};var $r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Hr=[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],_3="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";b.encode64=function(t,e){for(var r="",n="",i,o,s,a=0;a<t.length;)i=t.charCodeAt(a++),o=t.charCodeAt(a++),s=t.charCodeAt(a++),r+=$r.charAt(i>>2),r+=$r.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=$r.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":$r.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
4
+ `,r=r.substr(e));return n+=r,n};b.decode64=function(t){t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var e="",r,n,i,o,s=0;s<t.length;)r=Hr[t.charCodeAt(s++)-43],n=Hr[t.charCodeAt(s++)-43],i=Hr[t.charCodeAt(s++)-43],o=Hr[t.charCodeAt(s++)-43],e+=String.fromCharCode(r<<2|n>>4),i!==64&&(e+=String.fromCharCode((n&15)<<4|i>>2),o!==64&&(e+=String.fromCharCode((i&3)<<6|o)));return e};b.encodeUtf8=function(t){return unescape(encodeURIComponent(t))};b.decodeUtf8=function(t){return decodeURIComponent(escape(t))};b.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:T3.encode,decode:T3.decode}};b.binary.raw.encode=function(t){return String.fromCharCode.apply(null,t)};b.binary.raw.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,o=0;o<t.length;++o)n[i++]=t.charCodeAt(o);return e?i-r:n};b.binary.hex.encode=b.bytesToHex;b.binary.hex.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/2))),r=r||0;var i=0,o=r;for(t.length&1&&(i=1,n[o++]=parseInt(t[0],16));i<t.length;i+=2)n[o++]=parseInt(t.substr(i,2),16);return e?o-r:n};b.binary.base64.encode=function(t,e){for(var r="",n="",i,o,s,a=0;a<t.byteLength;)i=t[a++],o=t[a++],s=t[a++],r+=$r.charAt(i>>2),r+=$r.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=$r.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":$r.charAt(s&63)),e&&r.length>e&&(n+=r.substr(0,e)+`\r
5
+ `,r=r.substr(e));return n+=r,n};b.binary.base64.decode=function(t,e,r){var n=e;n||(n=new Uint8Array(Math.ceil(t.length/4)*3)),t=t.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,c=0,u=r;c<t.length;)i=Hr[t.charCodeAt(c++)-43],o=Hr[t.charCodeAt(c++)-43],s=Hr[t.charCodeAt(c++)-43],a=Hr[t.charCodeAt(c++)-43],n[u++]=i<<2|o>>4,s!==64&&(n[u++]=(o&15)<<4|s>>2,a!==64&&(n[u++]=(s&3)<<6|a));return e?u-r:n.subarray(0,u)};b.binary.base58.encode=function(t,e){return b.binary.baseN.encode(t,_3,e)};b.binary.base58.decode=function(t,e){return b.binary.baseN.decode(t,_3,e)};b.text={utf8:{},utf16:{}};b.text.utf8.encode=function(t,e,r){t=b.encodeUtf8(t);var n=e;n||(n=new Uint8Array(t.length)),r=r||0;for(var i=r,o=0;o<t.length;++o)n[i++]=t.charCodeAt(o);return e?i-r:n};b.text.utf8.decode=function(t){return b.decodeUtf8(String.fromCharCode.apply(null,t))};b.text.utf16.encode=function(t,e,r){var n=e;n||(n=new Uint8Array(t.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<t.length;++a)i[s++]=t.charCodeAt(a),o+=2;return e?o-r:n};b.text.utf16.decode=function(t){return String.fromCharCode.apply(null,new Uint16Array(t.buffer))};b.deflate=function(t,e,r){if(e=b.decode64(t.deflate(b.encode64(e)).rval),r){var n=2,i=e.charCodeAt(1);i&32&&(n=6),e=e.substring(n,e.length-4)}return e};b.inflate=function(t,e,r){var n=t.inflate(b.encode64(e)).rval;return n===null?null:b.decode64(n)};var os=function(t,e,r){if(!t)throw new Error("WebStorage not available.");var n;if(r===null?n=t.removeItem(e):(r=b.encode64(JSON.stringify(r)),n=t.setItem(e,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},ss=function(t,e){if(!t)throw new Error("WebStorage not available.");var r=t.getItem(e);if(t.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(b.decode64(r))),r},Z8=function(t,e,r,n){var i=ss(t,e);i===null&&(i={}),i[r]=n,os(t,e,i)},X8=function(t,e,r){var n=ss(t,e);return n!==null&&(n=r in n?n[r]:null),n},J8=function(t,e,r){var n=ss(t,e);if(n!==null&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),os(t,e,n)}},j8=function(t,e){os(t,e,null)},P0=function(t,e,r){var n=null;typeof r>"u"&&(r=["web","flash"]);var i,o=!1,s=null;for(var a in r){i=r[a];try{if(i==="flash"||i==="both"){if(e[0]===null)throw new Error("Flash local storage not available.");n=t.apply(this,e),o=i==="flash"}(i==="web"||i==="both")&&(e[0]=localStorage,n=t.apply(this,e),o=!0)}catch(c){s=c}if(o)break}if(!o)throw s;return n};b.setItem=function(t,e,r,n,i){P0(Z8,arguments,i)};b.getItem=function(t,e,r,n){return P0(X8,arguments,n)};b.removeItem=function(t,e,r,n){P0(J8,arguments,n)};b.clearItems=function(t,e,r){P0(j8,arguments,r)};b.isEmpty=function(t){for(var e in t)if(t.hasOwnProperty(e))return!1;return!0};b.format=function(t){for(var e=/%./g,r,n,i=0,o=[],s=0;r=e.exec(t);){n=t.substring(s,e.lastIndex-2),n.length>0&&o.push(n),s=e.lastIndex;var a=r[0][1];switch(a){case"s":case"o":i<arguments.length?o.push(arguments[i+++1]):o.push("<?>");break;case"%":o.push("%");break;default:o.push("<%"+a+"?>")}}return o.push(t.substring(s)),o.join("")};b.formatNumber=function(t,e,r,n){var i=t,o=isNaN(e=Math.abs(e))?2:e,s=r===void 0?",":r,a=n===void 0?".":n,c=i<0?"-":"",u=parseInt(i=Math.abs(+i||0).toFixed(o),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)+(o?s+Math.abs(i-u).toFixed(o).slice(2):"")};b.formatSize=function(t){return t>=1073741824?t=b.formatNumber(t/1073741824,2,".","")+" GiB":t>=1048576?t=b.formatNumber(t/1048576,2,".","")+" MiB":t>=1024?t=b.formatNumber(t/1024,0)+" KiB":t=b.formatNumber(t,0)+" bytes",t};b.bytesFromIP=function(t){return t.indexOf(".")!==-1?b.bytesFromIPv4(t):t.indexOf(":")!==-1?b.bytesFromIPv6(t):null};b.bytesFromIPv4=function(t){if(t=t.split("."),t.length!==4)return null;for(var e=b.createBuffer(),r=0;r<t.length;++r){var n=parseInt(t[r],10);if(isNaN(n))return null;e.putByte(n)}return e.getBytes()};b.bytesFromIPv6=function(t){var e=0;t=t.split(":").filter(function(s){return s.length===0&&++e,!0});for(var r=(8-t.length+e)*2,n=b.createBuffer(),i=0;i<8;++i){if(!t[i]||t[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=b.hexToBytes(t[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};b.bytesToIP=function(t){return t.length===4?b.bytesToIPv4(t):t.length===16?b.bytesToIPv6(t):null};b.bytesToIPv4=function(t){if(t.length!==4)return null;for(var e=[],r=0;r<t.length;++r)e.push(t.charCodeAt(r));return e.join(".")};b.bytesToIPv6=function(t){if(t.length!==16)return null;for(var e=[],r=[],n=0,i=0;i<t.length;i+=2){for(var o=b.bytesToHex(t[i]+t[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=r[r.length-1],a=e.length;!s||a!==s.end+1?r.push({start:a,end:a}):(s.end=a,s.end-s.start>r[n].end-r[n].start&&(n=r.length-1))}e.push(o)}if(r.length>0){var c=r[n];c.end-c.start>0&&(e.splice(c.start,c.end-c.start+1,""),c.start===0&&e.unshift(""),c.end===7&&e.push(""))}return e.join(":")};b.estimateCores=function(t,e){if(typeof t=="function"&&(e=t,t={}),t=t||{},"cores"in b&&!t.update)return e(null,b.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return b.cores=navigator.hardwareConcurrency,e(null,b.cores);if(typeof Worker>"u")return b.cores=1,e(null,b.cores);if(typeof Blob>"u")return b.cores=2,e(null,b.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){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(s,a,c){if(a===0){var u=Math.floor(s.reduce(function(f,l){return f+l},0)/s.length);return b.cores=Math.max(1,u),URL.revokeObjectURL(r),e(null,b.cores)}i(c,function(f,l){s.push(o(c,l)),n(s,a-1,c)})}function i(s,a){for(var c=[],u=[],f=0;f<s;++f){var l=new Worker(r);l.addEventListener("message",function(p){if(u.push(p.data),u.length===s){for(var d=0;d<s;++d)c[d].terminate();a(null,u)}}),c.push(l)}for(var f=0;f<s;++f)c[f].postMessage(f)}function o(s,a){for(var c=[],u=0;u<s;++u)for(var f=a[u],l=c[u]=[],p=0;p<s;++p)if(u!==p){var d=a[p];(f.st>d.st&&f.st<d.et||d.st>f.st&&d.st<f.et)&&l.push(p)}return c.reduce(function(h,m){return Math.max(h,m.length)},0)}}});var N0=ae((fg,R3)=>{var Pi=ve();Pi.pki=Pi.pki||{};var as=R3.exports=Pi.pki.oids=Pi.oids=Pi.oids||{};function L(t,e){as[t]=e,as[e]=t}function ye(t,e){as[t]=e}L("1.2.840.113549.1.1.1","rsaEncryption");L("1.2.840.113549.1.1.4","md5WithRSAEncryption");L("1.2.840.113549.1.1.5","sha1WithRSAEncryption");L("1.2.840.113549.1.1.7","RSAES-OAEP");L("1.2.840.113549.1.1.8","mgf1");L("1.2.840.113549.1.1.9","pSpecified");L("1.2.840.113549.1.1.10","RSASSA-PSS");L("1.2.840.113549.1.1.11","sha256WithRSAEncryption");L("1.2.840.113549.1.1.12","sha384WithRSAEncryption");L("1.2.840.113549.1.1.13","sha512WithRSAEncryption");L("1.3.101.112","EdDSA25519");L("1.2.840.10040.4.3","dsa-with-sha1");L("1.3.14.3.2.7","desCBC");L("1.3.14.3.2.26","sha1");L("1.3.14.3.2.29","sha1WithRSASignature");L("2.16.840.1.101.3.4.2.1","sha256");L("2.16.840.1.101.3.4.2.2","sha384");L("2.16.840.1.101.3.4.2.3","sha512");L("2.16.840.1.101.3.4.2.4","sha224");L("2.16.840.1.101.3.4.2.5","sha512-224");L("2.16.840.1.101.3.4.2.6","sha512-256");L("1.2.840.113549.2.2","md2");L("1.2.840.113549.2.5","md5");L("1.2.840.113549.1.7.1","data");L("1.2.840.113549.1.7.2","signedData");L("1.2.840.113549.1.7.3","envelopedData");L("1.2.840.113549.1.7.4","signedAndEnvelopedData");L("1.2.840.113549.1.7.5","digestedData");L("1.2.840.113549.1.7.6","encryptedData");L("1.2.840.113549.1.9.1","emailAddress");L("1.2.840.113549.1.9.2","unstructuredName");L("1.2.840.113549.1.9.3","contentType");L("1.2.840.113549.1.9.4","messageDigest");L("1.2.840.113549.1.9.5","signingTime");L("1.2.840.113549.1.9.6","counterSignature");L("1.2.840.113549.1.9.7","challengePassword");L("1.2.840.113549.1.9.8","unstructuredAddress");L("1.2.840.113549.1.9.14","extensionRequest");L("1.2.840.113549.1.9.20","friendlyName");L("1.2.840.113549.1.9.21","localKeyId");L("1.2.840.113549.1.9.22.1","x509Certificate");L("1.2.840.113549.1.12.10.1.1","keyBag");L("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");L("1.2.840.113549.1.12.10.1.3","certBag");L("1.2.840.113549.1.12.10.1.4","crlBag");L("1.2.840.113549.1.12.10.1.5","secretBag");L("1.2.840.113549.1.12.10.1.6","safeContentsBag");L("1.2.840.113549.1.5.13","pkcs5PBES2");L("1.2.840.113549.1.5.12","pkcs5PBKDF2");L("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");L("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");L("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");L("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");L("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");L("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");L("1.2.840.113549.2.7","hmacWithSHA1");L("1.2.840.113549.2.8","hmacWithSHA224");L("1.2.840.113549.2.9","hmacWithSHA256");L("1.2.840.113549.2.10","hmacWithSHA384");L("1.2.840.113549.2.11","hmacWithSHA512");L("1.2.840.113549.3.7","des-EDE3-CBC");L("2.16.840.1.101.3.4.1.2","aes128-CBC");L("2.16.840.1.101.3.4.1.22","aes192-CBC");L("2.16.840.1.101.3.4.1.42","aes256-CBC");L("2.5.4.3","commonName");L("2.5.4.4","surname");L("2.5.4.5","serialNumber");L("2.5.4.6","countryName");L("2.5.4.7","localityName");L("2.5.4.8","stateOrProvinceName");L("2.5.4.9","streetAddress");L("2.5.4.10","organizationName");L("2.5.4.11","organizationalUnitName");L("2.5.4.12","title");L("2.5.4.13","description");L("2.5.4.15","businessCategory");L("2.5.4.17","postalCode");L("2.5.4.42","givenName");L("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");L("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");L("2.16.840.1.113730.1.1","nsCertType");L("2.16.840.1.113730.1.13","nsComment");ye("2.5.29.1","authorityKeyIdentifier");ye("2.5.29.2","keyAttributes");ye("2.5.29.3","certificatePolicies");ye("2.5.29.4","keyUsageRestriction");ye("2.5.29.5","policyMapping");ye("2.5.29.6","subtreesConstraint");ye("2.5.29.7","subjectAltName");ye("2.5.29.8","issuerAltName");ye("2.5.29.9","subjectDirectoryAttributes");ye("2.5.29.10","basicConstraints");ye("2.5.29.11","nameConstraints");ye("2.5.29.12","policyConstraints");ye("2.5.29.13","basicConstraints");L("2.5.29.14","subjectKeyIdentifier");L("2.5.29.15","keyUsage");ye("2.5.29.16","privateKeyUsagePeriod");L("2.5.29.17","subjectAltName");L("2.5.29.18","issuerAltName");L("2.5.29.19","basicConstraints");ye("2.5.29.20","cRLNumber");ye("2.5.29.21","cRLReason");ye("2.5.29.22","expirationDate");ye("2.5.29.23","instructionCode");ye("2.5.29.24","invalidityDate");ye("2.5.29.25","cRLDistributionPoints");ye("2.5.29.26","issuingDistributionPoint");ye("2.5.29.27","deltaCRLIndicator");ye("2.5.29.28","issuingDistributionPoint");ye("2.5.29.29","certificateIssuer");ye("2.5.29.30","nameConstraints");L("2.5.29.31","cRLDistributionPoints");L("2.5.29.32","certificatePolicies");ye("2.5.29.33","policyMappings");ye("2.5.29.34","policyConstraints");L("2.5.29.35","authorityKeyIdentifier");ye("2.5.29.36","policyConstraints");L("2.5.29.37","extKeyUsage");ye("2.5.29.46","freshestCRL");ye("2.5.29.54","inhibitAnyPolicy");L("1.3.6.1.4.1.11129.2.4.2","timestampList");L("1.3.6.1.5.5.7.1.1","authorityInfoAccess");L("1.3.6.1.5.5.7.3.1","serverAuth");L("1.3.6.1.5.5.7.3.2","clientAuth");L("1.3.6.1.5.5.7.3.3","codeSigning");L("1.3.6.1.5.5.7.3.4","emailProtection");L("1.3.6.1.5.5.7.3.8","timeStamping")});var Li=ae((lg,P3)=>{var Ae=ve();Ke();N0();var V=P3.exports=Ae.asn1=Ae.asn1||{};V.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};V.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};V.create=function(t,e,r,n,i){if(Ae.util.isArray(n)){for(var o=[],s=0;s<n.length;++s)n[s]!==void 0&&o.push(n[s]);n=o}var a={tagClass:t,type:e,constructed:r,composed:r||Ae.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=V.copy(a)),a};V.copy=function(t,e){var r;if(Ae.util.isArray(t)){r=[];for(var n=0;n<t.length;++n)r.push(V.copy(t[n],e));return r}return typeof t=="string"?t:(r={tagClass:t.tagClass,type:t.type,constructed:t.constructed,composed:t.composed,value:V.copy(t.value,e)},e&&!e.excludeBitStringContents&&(r.bitStringContents=t.bitStringContents),r)};V.equals=function(t,e,r){if(Ae.util.isArray(t)){if(!Ae.util.isArray(e)||t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!V.equals(t[n],e[n]))return!1;return!0}if(typeof t!=typeof e)return!1;if(typeof t=="string")return t===e;var i=t.tagClass===e.tagClass&&t.type===e.type&&t.constructed===e.constructed&&t.composed===e.composed&&V.equals(t.value,e.value);return r&&r.includeBitStringContents&&(i=i&&t.bitStringContents===e.bitStringContents),i};V.getBerValueLength=function(t){var e=t.getByte();if(e!==128){var r,n=e&128;return n?r=t.getInt((e&127)<<3):r=e,r}};function Ni(t,e,r){if(r>e){var n=new Error("Too few bytes to parse DER.");throw n.available=t.length(),n.remaining=e,n.requested=r,n}}var el=function(t,e){var r=t.getByte();if(e--,r!==128){var n,i=r&128;if(!i)n=r;else{var o=r&127;Ni(t,e,o),n=t.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};V.fromDer=function(t,e){e===void 0&&(e={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof e=="boolean"&&(e={strict:e,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in e||(e.strict=!0),"parseAllBytes"in e||(e.parseAllBytes=!0),"decodeBitStrings"in e||(e.decodeBitStrings=!0),typeof t=="string"&&(t=Ae.util.createBuffer(t));var r=t.length(),n=L0(t,t.length(),0,e);if(e.parseAllBytes&&t.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=t.length(),i}return n};function L0(t,e,r,n){var i;Ni(t,e,2);var o=t.getByte();e--;var s=o&192,a=o&31;i=t.length();var c=el(t,e);if(e-=i-t.length(),c!==void 0&&c>e){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=t.length(),u.remaining=e,u.requested=c,u}c=e}var f,l,p=(o&32)===32;if(p)if(f=[],c===void 0)for(;;){if(Ni(t,e,2),t.bytes(2)===String.fromCharCode(0,0)){t.getBytes(2),e-=2;break}i=t.length(),f.push(L0(t,e,r+1,n)),e-=i-t.length()}else for(;c>0;)i=t.length(),f.push(L0(t,c,r+1,n)),e-=i-t.length(),c-=i-t.length();if(f===void 0&&s===V.Class.UNIVERSAL&&a===V.Type.BITSTRING&&(l=t.bytes(c)),f===void 0&&n.decodeBitStrings&&s===V.Class.UNIVERSAL&&a===V.Type.BITSTRING&&c>1){var d=t.read,h=e,m=0;if(a===V.Type.BITSTRING&&(Ni(t,e,1),m=t.getByte(),e--),m===0)try{i=t.length();var y={strict:!0,decodeBitStrings:!0},g=L0(t,e,r+1,y),x=i-t.length();e-=x,a==V.Type.BITSTRING&&x++;var v=g.tagClass;x===c&&(v===V.Class.UNIVERSAL||v===V.Class.CONTEXT_SPECIFIC)&&(f=[g])}catch{}f===void 0&&(t.read=d,e=h)}if(f===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=e}if(a===V.Type.BMPSTRING)for(f="";c>0;c-=2)Ni(t,e,2),f+=String.fromCharCode(t.getInt16()),e-=2;else f=t.getBytes(c),e-=c}var R=l===void 0?null:{bitStringContents:l};return V.create(s,a,p,f,R)}V.toDer=function(t){var e=Ae.util.createBuffer(),r=t.tagClass|t.type,n=Ae.util.createBuffer(),i=!1;if("bitStringContents"in t&&(i=!0,t.original&&(i=V.equals(t,t.original))),i)n.putBytes(t.bitStringContents);else if(t.composed){t.constructed?r|=32:n.putByte(0);for(var o=0;o<t.value.length;++o)t.value[o]!==void 0&&n.putBuffer(V.toDer(t.value[o]))}else if(t.type===V.Type.BMPSTRING)for(var o=0;o<t.value.length;++o)n.putInt16(t.value.charCodeAt(o));else t.type===V.Type.INTEGER&&t.value.length>1&&(t.value.charCodeAt(0)===0&&!(t.value.charCodeAt(1)&128)||t.value.charCodeAt(0)===255&&(t.value.charCodeAt(1)&128)===128)?n.putBytes(t.value.substr(1)):n.putBytes(t.value);if(e.putByte(r),n.length()<=127)e.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);e.putByte(a.length|128);for(var o=a.length-1;o>=0;--o)e.putByte(a.charCodeAt(o))}return e.putBuffer(n),e};V.oidToDer=function(t){var e=t.split("."),r=Ae.util.createBuffer();r.putByte(40*parseInt(e[0],10)+parseInt(e[1],10));for(var n,i,o,s,a=2;a<e.length;++a){n=!0,i=[],o=parseInt(e[a],10);do s=o&127,o=o>>>7,n||(s|=128),i.push(s),n=!1;while(o>0);for(var c=i.length-1;c>=0;--c)r.putByte(i[c])}return r};V.derToOid=function(t){var e;typeof t=="string"&&(t=Ae.util.createBuffer(t));var r=t.getByte();e=Math.floor(r/40)+"."+r%40;for(var n=0;t.length()>0;)r=t.getByte(),n=n<<7,r&128?n+=r&127:(e+="."+(n+r),n=0);return e};V.utcTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(t.substr(2,2),10)-1,i=parseInt(t.substr(4,2),10),o=parseInt(t.substr(6,2),10),s=parseInt(t.substr(8,2),10),a=0;if(t.length>11){var c=t.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(t.substr(10,2),10),u+=2)}if(e.setUTCFullYear(r,n,i),e.setUTCHours(o,s,a,0),u&&(c=t.charAt(u),c==="+"||c==="-")){var f=parseInt(t.substr(u+1,2),10),l=parseInt(t.substr(u+4,2),10),p=f*60+l;p*=6e4,c==="+"?e.setTime(+e-p):e.setTime(+e+p)}return e};V.generalizedTimeToDate=function(t){var e=new Date,r=parseInt(t.substr(0,4),10),n=parseInt(t.substr(4,2),10)-1,i=parseInt(t.substr(6,2),10),o=parseInt(t.substr(8,2),10),s=parseInt(t.substr(10,2),10),a=parseInt(t.substr(12,2),10),c=0,u=0,f=!1;t.charAt(t.length-1)==="Z"&&(f=!0);var l=t.length-5,p=t.charAt(l);if(p==="+"||p==="-"){var d=parseInt(t.substr(l+1,2),10),h=parseInt(t.substr(l+4,2),10);u=d*60+h,u*=6e4,p==="+"&&(u*=-1),f=!0}return t.charAt(14)==="."&&(c=parseFloat(t.substr(14),10)*1e3),f?(e.setUTCFullYear(r,n,i),e.setUTCHours(o,s,a,c),e.setTime(+e+u)):(e.setFullYear(r,n,i),e.setHours(o,s,a,c)),e};V.dateToUtcTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push((""+t.getUTCFullYear()).substr(2)),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};V.dateToGeneralizedTime=function(t){if(typeof t=="string")return t;var e="",r=[];r.push(""+t.getUTCFullYear()),r.push(""+(t.getUTCMonth()+1)),r.push(""+t.getUTCDate()),r.push(""+t.getUTCHours()),r.push(""+t.getUTCMinutes()),r.push(""+t.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(e+="0"),e+=r[n];return e+="Z",e};V.integerToDer=function(t){var e=Ae.util.createBuffer();if(t>=-128&&t<128)return e.putSignedInt(t,8);if(t>=-32768&&t<32768)return e.putSignedInt(t,16);if(t>=-8388608&&t<8388608)return e.putSignedInt(t,24);if(t>=-2147483648&&t<2147483648)return e.putSignedInt(t,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=t,r};V.derToInteger=function(t){typeof t=="string"&&(t=Ae.util.createBuffer(t));var e=t.length()*8;if(e>32)throw new Error("Integer too large; max is 32-bits.");return t.getSignedInt(e)};V.validate=function(t,e,r,n){var i=!1;if((t.tagClass===e.tagClass||typeof e.tagClass>"u")&&(t.type===e.type||typeof e.type>"u"))if(t.constructed===e.constructed||typeof e.constructed>"u"){if(i=!0,e.value&&Ae.util.isArray(e.value))for(var o=0,s=0;i&&s<e.value.length;++s)i=e.value[s].optional||!1,t.value[o]&&(i=V.validate(t.value[o],e.value[s],r,n),i?++o:e.value[s].optional&&(i=!0)),!i&&n&&n.push("["+e.name+'] Tag class "'+e.tagClass+'", type "'+e.type+'" expected value length "'+e.value.length+'", got "'+t.value.length+'"');if(i&&r&&(e.capture&&(r[e.capture]=t.value),e.captureAsn1&&(r[e.captureAsn1]=t),e.captureBitStringContents&&"bitStringContents"in t&&(r[e.captureBitStringContents]=t.bitStringContents),e.captureBitStringValue&&"bitStringContents"in t)){var a;if(t.bitStringContents.length<2)r[e.captureBitStringValue]="";else{var c=t.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[e.captureBitStringValue]=t.bitStringContents.slice(1)}}}else n&&n.push("["+e.name+'] Expected constructed "'+e.constructed+'", got "'+t.constructed+'"');else n&&(t.tagClass!==e.tagClass&&n.push("["+e.name+'] Expected tag class "'+e.tagClass+'", got "'+t.tagClass+'"'),t.type!==e.type&&n.push("["+e.name+'] Expected type "'+e.type+'", got "'+t.type+'"'));return i};var B3=/[^\\u0000-\\u00ff]/;V.prettyPrint=function(t,e,r){var n="";e=e||0,r=r||2,e>0&&(n+=`
6
+ `);for(var i="",o=0;o<e*r;++o)i+=" ";switch(n+=i+"Tag: ",t.tagClass){case V.Class.UNIVERSAL:n+="Universal:";break;case V.Class.APPLICATION:n+="Application:";break;case V.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case V.Class.PRIVATE:n+="Private:";break}if(t.tagClass===V.Class.UNIVERSAL)switch(n+=t.type,t.type){case V.Type.NONE:n+=" (None)";break;case V.Type.BOOLEAN:n+=" (Boolean)";break;case V.Type.INTEGER:n+=" (Integer)";break;case V.Type.BITSTRING:n+=" (Bit string)";break;case V.Type.OCTETSTRING:n+=" (Octet string)";break;case V.Type.NULL:n+=" (Null)";break;case V.Type.OID:n+=" (Object Identifier)";break;case V.Type.ODESC:n+=" (Object Descriptor)";break;case V.Type.EXTERNAL:n+=" (External or Instance of)";break;case V.Type.REAL:n+=" (Real)";break;case V.Type.ENUMERATED:n+=" (Enumerated)";break;case V.Type.EMBEDDED:n+=" (Embedded PDV)";break;case V.Type.UTF8:n+=" (UTF8)";break;case V.Type.ROID:n+=" (Relative Object Identifier)";break;case V.Type.SEQUENCE:n+=" (Sequence)";break;case V.Type.SET:n+=" (Set)";break;case V.Type.PRINTABLESTRING:n+=" (Printable String)";break;case V.Type.IA5String:n+=" (IA5String (ASCII))";break;case V.Type.UTCTIME:n+=" (UTC time)";break;case V.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case V.Type.BMPSTRING:n+=" (BMP String)";break}else n+=t.type;if(n+=`
7
7
  `,n+=i+"Constructed: "+t.constructed+`
8
- `,t.composed){for(var s=0,a="",o=0;o<t.value.length;++o)t.value[o]!==void 0&&(s+=1,a+=M.prettyPrint(t.value[o],e+1,r),o+1<t.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",t.type===M.Type.OID){var c=M.derToOid(t.value);n+=c,mt.pki&&mt.pki.oids&&c in mt.pki.oids&&(n+=" ("+mt.pki.oids[c]+") ")}if(t.type===M.Type.INTEGER)try{n+=M.derToInteger(t.value)}catch{n+="0x"+mt.util.bytesToHex(t.value)}else if(t.type===M.Type.BITSTRING){if(t.value.length>1?n+="0x"+mt.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var u=t.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(t.type===M.Type.OCTETSTRING)G0.test(t.value)||(n+="("+t.value+") "),n+="0x"+mt.util.bytesToHex(t.value);else if(t.type===M.Type.UTF8)try{n+=mt.util.decodeUtf8(t.value)}catch(f){if(f.message==="URI malformed")n+="0x"+mt.util.bytesToHex(t.value)+" (malformed UTF8)";else throw f}else t.type===M.Type.PRINTABLESTRING||t.type===M.Type.IA5String?n+=t.value:G0.test(t.value)?n+="0x"+mt.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var ds=ut((e2,W0)=>{var Pt=dt();Rt();W0.exports=Pt.cipher=Pt.cipher||{};Pt.cipher.algorithms=Pt.cipher.algorithms||{};Pt.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Pt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Pt.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};Pt.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Pt.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Pt.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};Pt.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),Pt.cipher.algorithms[t]=e};Pt.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in Pt.cipher.algorithms?Pt.cipher.algorithms[t]:null};var hs=Pt.cipher.BlockCipher=function(t){this.algorithm=t.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=t.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=t.decrypt,this.algorithm.initialize(t)};hs.prototype.start=function(t){t=t||{};var e={};for(var r in t)e[r]=t[r];e.decrypt=this._decrypt,this._finish=!1,this._input=Pt.util.createBuffer(),this.output=t.output||Pt.util.createBuffer(),this.mode.start(e)};hs.prototype.update=function(t){for(t&&this._input.putBuffer(t);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};hs.prototype.finish=function(t){t&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return t(this.blockSize,r,!1)},this.mode.unpad=function(r){return t(this.blockSize,r,!0)});var e={};return e.decrypt=this._decrypt,e.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,e)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,e))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,e))}});var ys=ut((r2,Y0)=>{var Ot=dt();Rt();Ot.cipher=Ot.cipher||{};var rt=Y0.exports=Ot.cipher.modes=Ot.cipher.modes||{};rt.ecb=function(t){t=t||{},this.name="ECB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};rt.ecb.prototype.start=function(t){};rt.ecb.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};rt.ecb.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};rt.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};rt.ecb.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};rt.cbc=function(t){t=t||{},this.name="CBC",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};rt.cbc.prototype.start=function(t){if(t.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in t)this._iv=Bi(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};rt.cbc.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n]);this._prev=this._outBlock};rt.cbc.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};rt.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};rt.cbc.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};rt.cfb=function(t){t=t||{},this.name="CFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};rt.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Bi(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};rt.cfb.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32()^this._outBlock[i],e.putInt32(this._inBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};rt.cfb.prototype.decrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32(),e.putInt32(this._inBlock[i]^this._outBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};rt.ofb=function(t){t=t||{},this.name="OFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};rt.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Bi(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};rt.ofb.prototype.encrypt=function(t,e,r){var n=t.length();if(t.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};rt.ofb.prototype.decrypt=rt.ofb.prototype.encrypt;rt.ctr=function(t){t=t||{},this.name="CTR",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};rt.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=Bi(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};rt.ctr.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]);else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}Ci(this._inBlock)};rt.ctr.prototype.decrypt=rt.ctr.prototype.encrypt;rt.gcm=function(t){t=t||{},this.name="GCM",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0,this._R=3774873600};rt.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=Ot.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=Ot.util.createBuffer(t.additionalData):r=Ot.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=Ot.util.createBuffer(t.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=e.length();if(n===12)this._j0=[e.getInt32(),e.getInt32(),e.getInt32(),1];else{for(this._j0=[0,0,0,0];e.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(ps(n*8)))}this._inBlock=this._j0.slice(0),Ci(this._inBlock),this._partialBytes=0,r=Ot.util.createBuffer(r),this._aDataLength=ps(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()])};rt.gcm.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^=t.getInt32());this._cipherLength+=this.blockSize}else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o<=0||r){if(r){var s=n%this.blockSize;this._cipherLength+=s,this._partialOutput.truncate(this.blockSize-s)}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),o>0&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),Ci(this._inBlock)};rt.gcm.prototype.decrypt=function(t,e,r){var n=t.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),Ci(this._inBlock),this._hashBlock[0]=t.getInt32(),this._hashBlock[1]=t.getInt32(),this._hashBlock[2]=t.getInt32(),this._hashBlock[3]=t.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};rt.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=Ot.util.createBuffer();var n=this._aDataLength.concat(ps(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var o=0;o<this._ints;++o)this.tag.putInt32(this._s[o]^i[o]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};rt.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var o=t[i/32|0]&1<<31-i%32;o&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};rt.gcm.prototype.pow=function(t,e){for(var r=t[3]&1,n=3;n>0;--n)e[n]=t[n]>>>1|(t[n-1]&1)<<31;e[0]=t[0]>>>1,r&&(e[0]^=this._R)};rt.gcm.prototype.tableMultiply=function(t){for(var e=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=t[n]>>>(7-r%8)*4&15,o=this._m[r][i];e[0]^=o[0],e[1]^=o[1],e[2]^=o[2],e[3]^=o[3]}return e};rt.gcm.prototype.ghash=function(t,e,r){return e[0]^=r[0],e[1]^=r[1],e[2]^=r[2],e[3]^=r[3],this.tableMultiply(e)};rt.gcm.prototype.generateHashTable=function(t,e){for(var r=8/e,n=4*r,i=16*r,o=new Array(i),s=0;s<i;++s){var a=[0,0,0,0],c=s/n|0,u=(n-1-s%n)*e;a[c]=1<<e-1<<u,o[s]=this.generateSubHashTable(this.multiply(a,t),e)}return o};rt.gcm.prototype.generateSubHashTable=function(t,e){var r=1<<e,n=r>>>1,i=new Array(r);i[n]=t.slice(0);for(var o=n>>>1;o>0;)this.pow(i[2*o],i[o]=[]),o>>=1;for(o=2;o<n;){for(var s=1;s<o;++s){var a=i[o],c=i[s];i[o+s]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}o*=2}for(i[0]=[0,0,0,0],o=n+1;o<r;++o){var u=i[o^n];i[o]=[t[0]^u[0],t[1]^u[1],t[2]^u[2],t[3]^u[3]]}return i};function Bi(t,e){if(typeof t=="string"&&(t=Ot.util.createBuffer(t)),Ot.util.isArray(t)&&t.length>4){var r=t;t=Ot.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(t.length()<e)throw new Error("Invalid IV length; got "+t.length()+" bytes and expected "+e+" bytes.");if(!Ot.util.isArray(t)){for(var i=[],o=e/4,n=0;n<o;++n)i.push(t.getInt32());t=i}return t}function Ci(t){t[t.length-1]=t[t.length-1]+1&4294967295}function ps(t){return[t/4294967296|0,t&4294967295]}});var vs=ut((n2,J0)=>{var yt=dt();ds();ys();Rt();J0.exports=yt.aes=yt.aes||{};yt.aes.startEncrypting=function(t,e,r,n){var i=Ai({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};yt.aes.createEncryptionCipher=function(t,e){return Ai({key:t,output:null,decrypt:!1,mode:e})};yt.aes.startDecrypting=function(t,e,r,n){var i=Ai({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};yt.aes.createDecryptionCipher=function(t,e){return Ai({key:t,output:null,decrypt:!0,mode:e})};yt.aes.Algorithm=function(t,e){xs||Q0();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return ms(r._w,n,i,!1)},decrypt:function(n,i){return ms(r._w,n,i,!0)}}}),r._init=!1};yt.aes.Algorithm.prototype.initialize=function(t){if(!this._init){var e=t.key,r;if(typeof e=="string"&&(e.length===16||e.length===24||e.length===32))e=yt.util.createBuffer(e);else if(yt.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=yt.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!yt.util.isArray(e)){r=e,e=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)e.push(r.getInt32())}}if(!yt.util.isArray(e)||!(e.length===4||e.length===6||e.length===8))throw new Error("Invalid key parameter.");var o=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(o)!==-1;this._w=X0(e,t.decrypt&&!s),this._init=!0}};yt.aes._expandKey=function(t,e){return xs||Q0(),X0(t,e)};yt.aes._updateBlock=ms;cn("AES-ECB",yt.cipher.modes.ecb);cn("AES-CBC",yt.cipher.modes.cbc);cn("AES-CFB",yt.cipher.modes.cfb);cn("AES-OFB",yt.cipher.modes.ofb);cn("AES-CTR",yt.cipher.modes.ctr);cn("AES-GCM",yt.cipher.modes.gcm);function cn(t,e){var r=function(){return new yt.aes.Algorithm(t,e)};yt.cipher.registerAlgorithm(t,r)}var xs=!1,an=4,Yt,gs,Z0,Nr,xe;function Q0(){xs=!0,Z0=[0,1,2,4,8,16,32,64,128,27,54];for(var t=new Array(256),e=0;e<128;++e)t[e]=e<<1,t[e+128]=e+128<<1^283;Yt=new Array(256),gs=new Array(256),Nr=new Array(4),xe=new Array(4);for(var e=0;e<4;++e)Nr[e]=new Array(256),xe[e]=new Array(256);for(var r=0,n=0,i,o,s,a,c,u,f,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,Yt[r]=a,gs[a]=r,c=t[a],i=t[r],o=t[i],s=t[o],u=c<<24^a<<16^a<<8^(a^c),f=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var l=0;l<4;++l)Nr[l][r]=u,xe[l][a]=f,u=u<<24|u>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^t[t[t[i^s]]],n^=t[t[n]])}}function X0(t,e){for(var r=t.slice(0),n,i=1,o=r.length,s=o+6+1,a=an*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=Yt[n>>>16&255]<<24^Yt[n>>>8&255]<<16^Yt[n&255]<<8^Yt[n>>>24]^Z0[i]<<24,i++):o>6&&c%o===4&&(n=Yt[n>>>24]<<24^Yt[n>>>16&255]<<16^Yt[n>>>8&255]<<8^Yt[n&255]),r[c]=r[c-o]^n;if(e){var u,f=xe[0],l=xe[1],h=xe[2],g=xe[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 y=0;y<an;++y)u=r[p+y],d[c+(3&-y)]=f[Yt[u>>>24]]^l[Yt[u>>>16&255]]^h[Yt[u>>>8&255]]^g[Yt[u&255]];r=d}return r}function ms(t,e,r,n){var i=t.length/4-1,o,s,a,c,u;n?(o=xe[0],s=xe[1],a=xe[2],c=xe[3],u=gs):(o=Nr[0],s=Nr[1],a=Nr[2],c=Nr[3],u=Yt);var f,l,h,g,d,p,y;f=e[0]^t[0],l=e[n?3:1]^t[1],h=e[2]^t[2],g=e[n?1:3]^t[3];for(var m=3,w=1;w<i;++w)d=o[f>>>24]^s[l>>>16&255]^a[h>>>8&255]^c[g&255]^t[++m],p=o[l>>>24]^s[h>>>16&255]^a[g>>>8&255]^c[f&255]^t[++m],y=o[h>>>24]^s[g>>>16&255]^a[f>>>8&255]^c[l&255]^t[++m],g=o[g>>>24]^s[f>>>16&255]^a[l>>>8&255]^c[h&255]^t[++m],f=d,l=p,h=y;r[0]=u[f>>>24]<<24^u[l>>>16&255]<<16^u[h>>>8&255]<<8^u[g&255]^t[++m],r[n?3:1]=u[l>>>24]<<24^u[h>>>16&255]<<16^u[g>>>8&255]<<8^u[f&255]^t[++m],r[2]=u[h>>>24]<<24^u[g>>>16&255]<<16^u[f>>>8&255]<<8^u[l&255]^t[++m],r[n?1:3]=u[g>>>24]<<24^u[f>>>16&255]<<16^u[l>>>8&255]<<8^u[h&255]^t[++m]}function Ai(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=yt.cipher.createDecipher(r,t.key):n=yt.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof yt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var ec=ut((i2,tc)=>{var vt=dt();ds();ys();Rt();tc.exports=vt.des=vt.des||{};vt.des.startEncrypting=function(t,e,r,n){var i=Ti({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};vt.des.createEncryptionCipher=function(t,e){return Ti({key:t,output:null,decrypt:!1,mode:e})};vt.des.startDecrypting=function(t,e,r,n){var i=Ti({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};vt.des.createDecryptionCipher=function(t,e){return Ti({key:t,output:null,decrypt:!0,mode:e})};vt.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return j0(r._keys,n,i,!1)},decrypt:function(n,i){return j0(r._keys,n,i,!0)}}}),r._init=!1};vt.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=vt.util.createBuffer(t.key);if(this.name.indexOf("3DES")===0&&e.length()!==24)throw new Error("Invalid Triple-DES key size: "+e.length()*8);this._keys=Xd(e),this._init=!0}};Re("DES-ECB",vt.cipher.modes.ecb);Re("DES-CBC",vt.cipher.modes.cbc);Re("DES-CFB",vt.cipher.modes.cfb);Re("DES-OFB",vt.cipher.modes.ofb);Re("DES-CTR",vt.cipher.modes.ctr);Re("3DES-ECB",vt.cipher.modes.ecb);Re("3DES-CBC",vt.cipher.modes.cbc);Re("3DES-CFB",vt.cipher.modes.cfb);Re("3DES-OFB",vt.cipher.modes.ofb);Re("3DES-CTR",vt.cipher.modes.ctr);function Re(t,e){var r=function(){return new vt.des.Algorithm(t,e)};vt.cipher.registerAlgorithm(t,r)}var zd=[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],Gd=[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],$d=[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],Wd=[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],Yd=[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],Zd=[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],Qd=[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 Xd(t){for(var e=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],o=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[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],g=[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=t.length()>8?3:1,y=[],m=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],w=0,b,L=0;L<p;L++){var E=t.getInt32(),S=t.getInt32();b=(E>>>4^S)&252645135,S^=b,E^=b<<4,b=(S>>>-16^E)&65535,E^=b,S^=b<<-16,b=(E>>>2^S)&858993459,S^=b,E^=b<<2,b=(S>>>-16^E)&65535,E^=b,S^=b<<-16,b=(E>>>1^S)&1431655765,S^=b,E^=b<<1,b=(S>>>8^E)&16711935,E^=b,S^=b<<8,b=(E>>>1^S)&1431655765,S^=b,E^=b<<1,b=E<<8|S>>>20&240,E=S<<24|S<<8&16711680|S>>>8&65280|S>>>24&240,S=b;for(var k=0;k<m.length;++k){m[k]?(E=E<<2|E>>>26,S=S<<2|S>>>26):(E=E<<1|E>>>27,S=S<<1|S>>>27),E&=-15,S&=-15;var B=e[E>>>28]|r[E>>>24&15]|n[E>>>20&15]|i[E>>>16&15]|o[E>>>12&15]|s[E>>>8&15]|a[E>>>4&15],O=c[S>>>28]|u[S>>>24&15]|f[S>>>20&15]|l[S>>>16&15]|h[S>>>12&15]|g[S>>>8&15]|d[S>>>4&15];b=(O>>>16^B)&65535,y[w++]=B^b,y[w++]=O^b<<16}}return y}function j0(t,e,r,n){var i=t.length===32?3:9,o;i===3?o=n?[30,-2,-2]:[0,32,2]:o=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var s,a=e[0],c=e[1];s=(a>>>4^c)&252645135,c^=s,a^=s<<4,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var f=o[u+1],l=o[u+2],h=o[u];h!=f;h+=l){var g=c^t[h],d=(c>>>4|c<<28)^t[h+1];s=a,a=c,c=s^(Hd[g>>>24&63]|$d[g>>>16&63]|Yd[g>>>8&63]|Qd[g&63]|zd[d>>>24&63]|Gd[d>>>16&63]|Wd[d>>>8&63]|Zd[d&63])}s=a,a=c,c=s}a=a>>>1|a<<31,c=c>>>1|c<<31,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(a>>>4^c)&252645135,c^=s,a^=s<<4,r[0]=a,r[1]=c}function Ti(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=vt.cipher.createDecipher(r,t.key):n=vt.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof vt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Dr=ut((o2,rc)=>{var Ii=dt();rc.exports=Ii.md=Ii.md||{};Ii.md.algorithms=Ii.md.algorithms||{}});var ic=ut((s2,nc)=>{var ze=dt();Dr();Rt();var Jd=nc.exports=ze.hmac=ze.hmac||{};Jd.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(o,s){if(o!==null)if(typeof o=="string")if(o=o.toLowerCase(),o in ze.md.algorithms)e=ze.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else e=o;if(s===null)s=t;else{if(typeof s=="string")s=ze.util.createBuffer(s);else if(ze.util.isArray(s)){var a=s;s=ze.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var u=s.length();u>e.blockLength&&(e.start(),e.update(s.bytes()),s=e.digest()),r=ze.util.createBuffer(),n=ze.util.createBuffer(),u=s.length();for(var c=0;c<u;++c){var a=s.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<e.blockLength)for(var a=e.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);t=s,r=r.bytes(),n=n.bytes()}e.start(),e.update(r)},i.update=function(o){e.update(o)},i.getMac=function(){var o=e.digest().bytes();return e.start(),e.update(n),e.update(o),e.digest()},i.digest=i.getMac,i}});var _i=ut(()=>{});var sc=ut((u2,oc)=>{var Zt=dt();ic();Dr();Rt();var jd=Zt.pkcs5=Zt.pkcs5||{},He;Zt.util.isNodejs&&!Zt.options.usePureJavaScript&&(He=_i());oc.exports=Zt.pbkdf2=jd.pbkdf2=function(t,e,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),Zt.util.isNodejs&&!Zt.options.usePureJavaScript&&He.pbkdf2&&(i===null||typeof i!="object")&&(He.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),o?He.pbkdf2Sync.length===4?He.pbkdf2(t,e,r,n,function(b,L){if(b)return o(b);o(null,L.toString("binary"))}):He.pbkdf2(t,e,r,n,i,function(b,L){if(b)return o(b);o(null,L.toString("binary"))}):He.pbkdf2Sync.length===4?He.pbkdf2Sync(t,e,r,n).toString("binary"):He.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in Zt.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=Zt.md[i].create()}var s=i.digestLength;if(n>4294967295*s){var a=new Error("Derived key is too long.");if(o)return o(a);throw a}var c=Math.ceil(n/s),u=n-(c-1)*s,f=Zt.hmac.create();f.start(i,t);var l="",h,g,d;if(!o){for(var p=1;p<=c;++p){f.start(null,null),f.update(e),f.update(Zt.util.int32ToBytes(p)),h=d=f.digest().getBytes();for(var y=2;y<=r;++y)f.start(null,null),f.update(d),g=f.digest().getBytes(),h=Zt.util.xorBytes(h,g,s),d=g;l+=p<c?h:h.substr(0,u)}return l}var p=1,y;function m(){if(p>c)return o(null,l);f.start(null,null),f.update(e),f.update(Zt.util.int32ToBytes(p)),h=d=f.digest().getBytes(),y=2,w()}function w(){if(y<=r)return f.start(null,null),f.update(d),g=f.digest().getBytes(),h=Zt.util.xorBytes(h,g,s),d=g,++y,Zt.util.setImmediate(w);l+=p<c?h:h.substr(0,u),++p,m()}m()}});var uc=ut((f2,cc)=>{var Ni=dt();Rt();var ac=cc.exports=Ni.pem=Ni.pem||{};ac.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
9
- `,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=Ri(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=Ri(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=Ri(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=Ri(t.headers[i]);return t.procType&&(r+=`\r
10
- `),r+=Ni.util.encode64(t.body,e.maxline||64)+`\r
8
+ `,t.composed){for(var s=0,a="",o=0;o<t.value.length;++o)t.value[o]!==void 0&&(s+=1,a+=V.prettyPrint(t.value[o],e+1,r),o+1<t.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",t.type===V.Type.OID){var c=V.derToOid(t.value);n+=c,Ae.pki&&Ae.pki.oids&&c in Ae.pki.oids&&(n+=" ("+Ae.pki.oids[c]+") ")}if(t.type===V.Type.INTEGER)try{n+=V.derToInteger(t.value)}catch{n+="0x"+Ae.util.bytesToHex(t.value)}else if(t.type===V.Type.BITSTRING){if(t.value.length>1?n+="0x"+Ae.util.bytesToHex(t.value.slice(1)):n+="(none)",t.value.length>0){var u=t.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(t.type===V.Type.OCTETSTRING)B3.test(t.value)||(n+="("+t.value+") "),n+="0x"+Ae.util.bytesToHex(t.value);else if(t.type===V.Type.UTF8)try{n+=Ae.util.decodeUtf8(t.value)}catch(f){if(f.message==="URI malformed")n+="0x"+Ae.util.bytesToHex(t.value)+" (malformed UTF8)";else throw f}else t.type===V.Type.PRINTABLESTRING||t.type===V.Type.IA5String?n+=t.value:B3.test(t.value)?n+="0x"+Ae.util.bytesToHex(t.value):t.value.length===0?n+="[null]":n+=t.value}return n}});var us=ae((hg,N3)=>{var Xe=ve();Ke();N3.exports=Xe.cipher=Xe.cipher||{};Xe.cipher.algorithms=Xe.cipher.algorithms||{};Xe.cipher.createCipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Xe.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Xe.cipher.BlockCipher({algorithm:r,key:e,decrypt:!1})};Xe.cipher.createDecipher=function(t,e){var r=t;if(typeof r=="string"&&(r=Xe.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+t);return new Xe.cipher.BlockCipher({algorithm:r,key:e,decrypt:!0})};Xe.cipher.registerAlgorithm=function(t,e){t=t.toUpperCase(),Xe.cipher.algorithms[t]=e};Xe.cipher.getAlgorithm=function(t){return t=t.toUpperCase(),t in Xe.cipher.algorithms?Xe.cipher.algorithms[t]:null};var cs=Xe.cipher.BlockCipher=function(t){this.algorithm=t.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=t.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=t.decrypt,this.algorithm.initialize(t)};cs.prototype.start=function(t){t=t||{};var e={};for(var r in t)e[r]=t[r];e.decrypt=this._decrypt,this._finish=!1,this._input=Xe.util.createBuffer(),this.output=t.output||Xe.util.createBuffer(),this.mode.start(e)};cs.prototype.update=function(t){for(t&&this._input.putBuffer(t);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};cs.prototype.finish=function(t){t&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return t(this.blockSize,r,!1)},this.mode.unpad=function(r){return t(this.blockSize,r,!0)});var e={};return e.decrypt=this._decrypt,e.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,e)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,e))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,e))}});var ls=ae((dg,L3)=>{var Je=ve();Ke();Je.cipher=Je.cipher||{};var oe=L3.exports=Je.cipher.modes=Je.cipher.modes||{};oe.ecb=function(t){t=t||{},this.name="ECB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};oe.ecb.prototype.start=function(t){};oe.ecb.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};oe.ecb.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n])};oe.ecb.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};oe.ecb.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};oe.cbc=function(t){t=t||{},this.name="CBC",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};oe.cbc.prototype.start=function(t){if(t.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in t)this._iv=D0(t.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};oe.cbc.prototype.encrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^t.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._outBlock[n]);this._prev=this._outBlock};oe.cbc.prototype.decrypt=function(t,e,r){if(t.length()<this.blockSize&&!(r&&t.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=t.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)e.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};oe.cbc.prototype.pad=function(t,e){var r=t.length()===this.blockSize?this.blockSize:this.blockSize-t.length();return t.fillWithByte(r,r),!0};oe.cbc.prototype.unpad=function(t,e){if(e.overflow>0)return!1;var r=t.length(),n=t.at(r-1);return n>this.blockSize<<2?!1:(t.truncate(n),!0)};oe.cfb=function(t){t=t||{},this.name="CFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Je.util.createBuffer(),this._partialBytes=0};oe.cfb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=D0(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};oe.cfb.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32()^this._outBlock[i],e.putInt32(this._inBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};oe.cfb.prototype.decrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=t.getInt32(),e.putInt32(this._inBlock[i]^this._outBlock[i]);return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialBlock[i]=t.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};oe.ofb=function(t){t=t||{},this.name="OFB",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Je.util.createBuffer(),this._partialBytes=0};oe.ofb.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=D0(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};oe.ofb.prototype.encrypt=function(t,e,r){var n=t.length();if(t.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o>0)t.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};oe.ofb.prototype.decrypt=oe.ofb.prototype.encrypt;oe.ctr=function(t){t=t||{},this.name="CTR",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Je.util.createBuffer(),this._partialBytes=0};oe.ctr.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");this._iv=D0(t.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};oe.ctr.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)e.putInt32(t.getInt32()^this._outBlock[i]);else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o>0&&(t.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}k0(this._inBlock)};oe.ctr.prototype.decrypt=oe.ctr.prototype.encrypt;oe.gcm=function(t){t=t||{},this.name="GCM",this.cipher=t.cipher,this.blockSize=t.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Je.util.createBuffer(),this._partialBytes=0,this._R=3774873600};oe.gcm.prototype.start=function(t){if(!("iv"in t))throw new Error("Invalid IV parameter.");var e=Je.util.createBuffer(t.iv);this._cipherLength=0;var r;if("additionalData"in t?r=Je.util.createBuffer(t.additionalData):r=Je.util.createBuffer(),"tagLength"in t?this._tagLength=t.tagLength:this._tagLength=128,this._tag=null,t.decrypt&&(this._tag=Je.util.createBuffer(t.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=e.length();if(n===12)this._j0=[e.getInt32(),e.getInt32(),e.getInt32(),1];else{for(this._j0=[0,0,0,0];e.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[e.getInt32(),e.getInt32(),e.getInt32(),e.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(fs(n*8)))}this._inBlock=this._j0.slice(0),k0(this._inBlock),this._partialBytes=0,r=Je.util.createBuffer(r),this._aDataLength=fs(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()])};oe.gcm.prototype.encrypt=function(t,e,r){var n=t.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^=t.getInt32());this._cipherLength+=this.blockSize}else{var o=(this.blockSize-n)%this.blockSize;o>0&&(o=this.blockSize-o),this._partialOutput.clear();for(var i=0;i<this._ints;++i)this._partialOutput.putInt32(t.getInt32()^this._outBlock[i]);if(o<=0||r){if(r){var s=n%this.blockSize;this._cipherLength+=s,this._partialOutput.truncate(this.blockSize-s)}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),o>0&&!r)return t.read-=this.blockSize,e.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;e.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),k0(this._inBlock)};oe.gcm.prototype.decrypt=function(t,e,r){var n=t.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),k0(this._inBlock),this._hashBlock[0]=t.getInt32(),this._hashBlock[1]=t.getInt32(),this._hashBlock[2]=t.getInt32(),this._hashBlock[3]=t.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)e.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};oe.gcm.prototype.afterFinish=function(t,e){var r=!0;e.decrypt&&e.overflow&&t.truncate(this.blockSize-e.overflow),this.tag=Je.util.createBuffer();var n=this._aDataLength.concat(fs(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var o=0;o<this._ints;++o)this.tag.putInt32(this._s[o]^i[o]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),e.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};oe.gcm.prototype.multiply=function(t,e){for(var r=[0,0,0,0],n=e.slice(0),i=0;i<128;++i){var o=t[i/32|0]&1<<31-i%32;o&&(r[0]^=n[0],r[1]^=n[1],r[2]^=n[2],r[3]^=n[3]),this.pow(n,n)}return r};oe.gcm.prototype.pow=function(t,e){for(var r=t[3]&1,n=3;n>0;--n)e[n]=t[n]>>>1|(t[n-1]&1)<<31;e[0]=t[0]>>>1,r&&(e[0]^=this._R)};oe.gcm.prototype.tableMultiply=function(t){for(var e=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=t[n]>>>(7-r%8)*4&15,o=this._m[r][i];e[0]^=o[0],e[1]^=o[1],e[2]^=o[2],e[3]^=o[3]}return e};oe.gcm.prototype.ghash=function(t,e,r){return e[0]^=r[0],e[1]^=r[1],e[2]^=r[2],e[3]^=r[3],this.tableMultiply(e)};oe.gcm.prototype.generateHashTable=function(t,e){for(var r=8/e,n=4*r,i=16*r,o=new Array(i),s=0;s<i;++s){var a=[0,0,0,0],c=s/n|0,u=(n-1-s%n)*e;a[c]=1<<e-1<<u,o[s]=this.generateSubHashTable(this.multiply(a,t),e)}return o};oe.gcm.prototype.generateSubHashTable=function(t,e){var r=1<<e,n=r>>>1,i=new Array(r);i[n]=t.slice(0);for(var o=n>>>1;o>0;)this.pow(i[2*o],i[o]=[]),o>>=1;for(o=2;o<n;){for(var s=1;s<o;++s){var a=i[o],c=i[s];i[o+s]=[a[0]^c[0],a[1]^c[1],a[2]^c[2],a[3]^c[3]]}o*=2}for(i[0]=[0,0,0,0],o=n+1;o<r;++o){var u=i[o^n];i[o]=[t[0]^u[0],t[1]^u[1],t[2]^u[2],t[3]^u[3]]}return i};function D0(t,e){if(typeof t=="string"&&(t=Je.util.createBuffer(t)),Je.util.isArray(t)&&t.length>4){var r=t;t=Je.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(t.length()<e)throw new Error("Invalid IV length; got "+t.length()+" bytes and expected "+e+" bytes.");if(!Je.util.isArray(t)){for(var i=[],o=e/4,n=0;n<o;++n)i.push(t.getInt32());t=i}return t}function k0(t){t[t.length-1]=t[t.length-1]+1&4294967295}function fs(t){return[t/4294967296|0,t&4294967295]}});var O0=ae((pg,O3)=>{var Ie=ve();us();ls();Ke();O3.exports=Ie.aes=Ie.aes||{};Ie.aes.startEncrypting=function(t,e,r,n){var i=U0({key:t,output:r,decrypt:!1,mode:n});return i.start(e),i};Ie.aes.createEncryptionCipher=function(t,e){return U0({key:t,output:null,decrypt:!1,mode:e})};Ie.aes.startDecrypting=function(t,e,r,n){var i=U0({key:t,output:r,decrypt:!0,mode:n});return i.start(e),i};Ie.aes.createDecryptionCipher=function(t,e){return U0({key:t,output:null,decrypt:!0,mode:e})};Ie.aes.Algorithm=function(t,e){ps||k3();var r=this;r.name=t,r.mode=new e({blockSize:16,cipher:{encrypt:function(n,i){return ds(r._w,n,i,!1)},decrypt:function(n,i){return ds(r._w,n,i,!0)}}}),r._init=!1};Ie.aes.Algorithm.prototype.initialize=function(t){if(!this._init){var e=t.key,r;if(typeof e=="string"&&(e.length===16||e.length===24||e.length===32))e=Ie.util.createBuffer(e);else if(Ie.util.isArray(e)&&(e.length===16||e.length===24||e.length===32)){r=e,e=Ie.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(!Ie.util.isArray(e)){r=e,e=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)e.push(r.getInt32())}}if(!Ie.util.isArray(e)||!(e.length===4||e.length===6||e.length===8))throw new Error("Invalid key parameter.");var o=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(o)!==-1;this._w=U3(e,t.decrypt&&!s),this._init=!0}};Ie.aes._expandKey=function(t,e){return ps||k3(),U3(t,e)};Ie.aes._updateBlock=ds;Yn("AES-ECB",Ie.cipher.modes.ecb);Yn("AES-CBC",Ie.cipher.modes.cbc);Yn("AES-CFB",Ie.cipher.modes.cfb);Yn("AES-OFB",Ie.cipher.modes.ofb);Yn("AES-CTR",Ie.cipher.modes.ctr);Yn("AES-GCM",Ie.cipher.modes.gcm);function Yn(t,e){var r=function(){return new Ie.aes.Algorithm(t,e)};Ie.cipher.registerAlgorithm(t,r)}var ps=!1,Gn=4,lt,hs,D3,mn,Mt;function k3(){ps=!0,D3=[0,1,2,4,8,16,32,64,128,27,54];for(var t=new Array(256),e=0;e<128;++e)t[e]=e<<1,t[e+128]=e+128<<1^283;lt=new Array(256),hs=new Array(256),mn=new Array(4),Mt=new Array(4);for(var e=0;e<4;++e)mn[e]=new Array(256),Mt[e]=new Array(256);for(var r=0,n=0,i,o,s,a,c,u,f,e=0;e<256;++e){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,lt[r]=a,hs[a]=r,c=t[a],i=t[r],o=t[i],s=t[o],u=c<<24^a<<16^a<<8^(a^c),f=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var l=0;l<4;++l)mn[l][r]=u,Mt[l][a]=f,u=u<<24|u>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^t[t[t[i^s]]],n^=t[t[n]])}}function U3(t,e){for(var r=t.slice(0),n,i=1,o=r.length,s=o+6+1,a=Gn*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=lt[n>>>16&255]<<24^lt[n>>>8&255]<<16^lt[n&255]<<8^lt[n>>>24]^D3[i]<<24,i++):o>6&&c%o===4&&(n=lt[n>>>24]<<24^lt[n>>>16&255]<<16^lt[n>>>8&255]<<8^lt[n&255]),r[c]=r[c-o]^n;if(e){var u,f=Mt[0],l=Mt[1],p=Mt[2],d=Mt[3],h=r.slice(0);a=r.length;for(var c=0,m=a-Gn;c<a;c+=Gn,m-=Gn)if(c===0||c===a-Gn)h[c]=r[m],h[c+1]=r[m+3],h[c+2]=r[m+2],h[c+3]=r[m+1];else for(var y=0;y<Gn;++y)u=r[m+y],h[c+(3&-y)]=f[lt[u>>>24]]^l[lt[u>>>16&255]]^p[lt[u>>>8&255]]^d[lt[u&255]];r=h}return r}function ds(t,e,r,n){var i=t.length/4-1,o,s,a,c,u;n?(o=Mt[0],s=Mt[1],a=Mt[2],c=Mt[3],u=hs):(o=mn[0],s=mn[1],a=mn[2],c=mn[3],u=lt);var f,l,p,d,h,m,y;f=e[0]^t[0],l=e[n?3:1]^t[1],p=e[2]^t[2],d=e[n?1:3]^t[3];for(var g=3,x=1;x<i;++x)h=o[f>>>24]^s[l>>>16&255]^a[p>>>8&255]^c[d&255]^t[++g],m=o[l>>>24]^s[p>>>16&255]^a[d>>>8&255]^c[f&255]^t[++g],y=o[p>>>24]^s[d>>>16&255]^a[f>>>8&255]^c[l&255]^t[++g],d=o[d>>>24]^s[f>>>16&255]^a[l>>>8&255]^c[p&255]^t[++g],f=h,l=m,p=y;r[0]=u[f>>>24]<<24^u[l>>>16&255]<<16^u[p>>>8&255]<<8^u[d&255]^t[++g],r[n?3:1]=u[l>>>24]<<24^u[p>>>16&255]<<16^u[d>>>8&255]<<8^u[f&255]^t[++g],r[2]=u[p>>>24]<<24^u[d>>>16&255]<<16^u[f>>>8&255]<<8^u[l&255]^t[++g],r[n?1:3]=u[d>>>24]<<24^u[f>>>16&255]<<16^u[l>>>8&255]<<8^u[p&255]^t[++g]}function U0(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="AES-"+e,n;t.decrypt?n=Ie.cipher.createDecipher(r,t.key):n=Ie.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof Ie.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var K3=ae((mg,M3)=>{var Re=ve();us();ls();Ke();M3.exports=Re.des=Re.des||{};Re.des.startEncrypting=function(t,e,r,n){var i=F0({key:t,output:r,decrypt:!1,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};Re.des.createEncryptionCipher=function(t,e){return F0({key:t,output:null,decrypt:!1,mode:e})};Re.des.startDecrypting=function(t,e,r,n){var i=F0({key:t,output:r,decrypt:!0,mode:n||(e===null?"ECB":"CBC")});return i.start(e),i};Re.des.createDecryptionCipher=function(t,e){return F0({key:t,output:null,decrypt:!0,mode:e})};Re.des.Algorithm=function(t,e){var r=this;r.name=t,r.mode=new e({blockSize:8,cipher:{encrypt:function(n,i){return F3(r._keys,n,i,!1)},decrypt:function(n,i){return F3(r._keys,n,i,!0)}}}),r._init=!1};Re.des.Algorithm.prototype.initialize=function(t){if(!this._init){var e=Re.util.createBuffer(t.key);if(this.name.indexOf("3DES")===0&&e.length()!==24)throw new Error("Invalid Triple-DES key size: "+e.length()*8);this._keys=ul(e),this._init=!0}};nr("DES-ECB",Re.cipher.modes.ecb);nr("DES-CBC",Re.cipher.modes.cbc);nr("DES-CFB",Re.cipher.modes.cfb);nr("DES-OFB",Re.cipher.modes.ofb);nr("DES-CTR",Re.cipher.modes.ctr);nr("3DES-ECB",Re.cipher.modes.ecb);nr("3DES-CBC",Re.cipher.modes.cbc);nr("3DES-CFB",Re.cipher.modes.cfb);nr("3DES-OFB",Re.cipher.modes.ofb);nr("3DES-CTR",Re.cipher.modes.ctr);function nr(t,e){var r=function(){return new Re.des.Algorithm(t,e)};Re.cipher.registerAlgorithm(t,r)}var tl=[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],rl=[-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],nl=[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],il=[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],ol=[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],sl=[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],al=[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],cl=[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 ul(t){for(var e=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],o=[0,262144,16,262160,0,262144,16,262160,4096,266240,4112,266256,4096,266240,4112,266256],s=[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],p=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],d=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],h=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],m=t.length()>8?3:1,y=[],g=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],x=0,v,R=0;R<m;R++){var E=t.getInt32(),S=t.getInt32();v=(E>>>4^S)&252645135,S^=v,E^=v<<4,v=(S>>>-16^E)&65535,E^=v,S^=v<<-16,v=(E>>>2^S)&858993459,S^=v,E^=v<<2,v=(S>>>-16^E)&65535,E^=v,S^=v<<-16,v=(E>>>1^S)&1431655765,S^=v,E^=v<<1,v=(S>>>8^E)&16711935,E^=v,S^=v<<8,v=(E>>>1^S)&1431655765,S^=v,E^=v<<1,v=E<<8|S>>>20&240,E=S<<24|S<<8&16711680|S>>>8&65280|S>>>24&240,S=v;for(var D=0;D<g.length;++D){g[D]?(E=E<<2|E>>>26,S=S<<2|S>>>26):(E=E<<1|E>>>27,S=S<<1|S>>>27),E&=-15,S&=-15;var I=e[E>>>28]|r[E>>>24&15]|n[E>>>20&15]|i[E>>>16&15]|o[E>>>12&15]|s[E>>>8&15]|a[E>>>4&15],F=c[S>>>28]|u[S>>>24&15]|f[S>>>20&15]|l[S>>>16&15]|p[S>>>12&15]|d[S>>>8&15]|h[S>>>4&15];v=(F>>>16^I)&65535,y[x++]=I^v,y[x++]=F^v<<16}}return y}function F3(t,e,r,n){var i=t.length===32?3:9,o;i===3?o=n?[30,-2,-2]:[0,32,2]:o=n?[94,62,-2,32,64,2,30,-2,-2]:[0,32,2,62,30,-2,64,96,2];var s,a=e[0],c=e[1];s=(a>>>4^c)&252645135,c^=s,a^=s<<4,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,a=a<<1|a>>>31,c=c<<1|c>>>31;for(var u=0;u<i;u+=3){for(var f=o[u+1],l=o[u+2],p=o[u];p!=f;p+=l){var d=c^t[p],h=(c>>>4|c<<28)^t[p+1];s=a,a=c,c=s^(rl[d>>>24&63]|il[d>>>16&63]|sl[d>>>8&63]|cl[d&63]|tl[h>>>24&63]|nl[h>>>16&63]|ol[h>>>8&63]|al[h&63])}s=a,a=c,c=s}a=a>>>1|a<<31,c=c>>>1|c<<31,s=(a>>>1^c)&1431655765,c^=s,a^=s<<1,s=(c>>>8^a)&16711935,a^=s,c^=s<<8,s=(c>>>2^a)&858993459,a^=s,c^=s<<2,s=(a>>>16^c)&65535,c^=s,a^=s<<16,s=(a>>>4^c)&252645135,c^=s,a^=s<<4,r[0]=a,r[1]=c}function F0(t){t=t||{};var e=(t.mode||"CBC").toUpperCase(),r="DES-"+e,n;t.decrypt?n=Re.cipher.createDecipher(r,t.key):n=Re.cipher.createCipher(r,t.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof Re.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var yn=ae((yg,V3)=>{var M0=ve();V3.exports=M0.md=M0.md||{};M0.md.algorithms=M0.md.algorithms||{}});var z3=ae((gg,q3)=>{var vr=ve();yn();Ke();var fl=q3.exports=vr.hmac=vr.hmac||{};fl.create=function(){var t=null,e=null,r=null,n=null,i={};return i.start=function(o,s){if(o!==null)if(typeof o=="string")if(o=o.toLowerCase(),o in vr.md.algorithms)e=vr.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else e=o;if(s===null)s=t;else{if(typeof s=="string")s=vr.util.createBuffer(s);else if(vr.util.isArray(s)){var a=s;s=vr.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var u=s.length();u>e.blockLength&&(e.start(),e.update(s.bytes()),s=e.digest()),r=vr.util.createBuffer(),n=vr.util.createBuffer(),u=s.length();for(var c=0;c<u;++c){var a=s.at(c);r.putByte(54^a),n.putByte(92^a)}if(u<e.blockLength)for(var a=e.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);t=s,r=r.bytes(),n=n.bytes()}e.start(),e.update(r)},i.update=function(o){e.update(o)},i.getMac=function(){var o=e.digest().bytes();return e.start(),e.update(n),e.update(o),e.digest()},i.digest=i.getMac,i}});var K0=ae(()=>{});var ms=ae((bg,$3)=>{var ht=ve();z3();yn();Ke();var ll=ht.pkcs5=ht.pkcs5||{},br;ht.util.isNodejs&&!ht.options.usePureJavaScript&&(br=K0());$3.exports=ht.pbkdf2=ll.pbkdf2=function(t,e,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),ht.util.isNodejs&&!ht.options.usePureJavaScript&&br.pbkdf2&&(i===null||typeof i!="object")&&(br.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),t=Buffer.from(t,"binary"),e=Buffer.from(e,"binary"),o?br.pbkdf2Sync.length===4?br.pbkdf2(t,e,r,n,function(v,R){if(v)return o(v);o(null,R.toString("binary"))}):br.pbkdf2(t,e,r,n,i,function(v,R){if(v)return o(v);o(null,R.toString("binary"))}):br.pbkdf2Sync.length===4?br.pbkdf2Sync(t,e,r,n).toString("binary"):br.pbkdf2Sync(t,e,r,n,i).toString("binary");if((typeof i>"u"||i===null)&&(i="sha1"),typeof i=="string"){if(!(i in ht.md.algorithms))throw new Error("Unknown hash algorithm: "+i);i=ht.md[i].create()}var s=i.digestLength;if(n>4294967295*s){var a=new Error("Derived key is too long.");if(o)return o(a);throw a}var c=Math.ceil(n/s),u=n-(c-1)*s,f=ht.hmac.create();f.start(i,t);var l="",p,d,h;if(!o){for(var m=1;m<=c;++m){f.start(null,null),f.update(e),f.update(ht.util.int32ToBytes(m)),p=h=f.digest().getBytes();for(var y=2;y<=r;++y)f.start(null,null),f.update(h),d=f.digest().getBytes(),p=ht.util.xorBytes(p,d,s),h=d;l+=m<c?p:p.substr(0,u)}return l}var m=1,y;function g(){if(m>c)return o(null,l);f.start(null,null),f.update(e),f.update(ht.util.int32ToBytes(m)),p=h=f.digest().getBytes(),y=2,x()}function x(){if(y<=r)return f.start(null,null),f.update(h),d=f.digest().getBytes(),p=ht.util.xorBytes(p,d,s),h=d,++y,ht.util.setImmediate(x);l+=m<c?p:p.substr(0,u),++m,g()}g()}});var Y3=ae((wg,G3)=>{var q0=ve();Ke();var H3=G3.exports=q0.pem=q0.pem||{};H3.encode=function(t,e){e=e||{};var r="-----BEGIN "+t.type+`-----\r
9
+ `,n;if(t.procType&&(n={name:"Proc-Type",values:[String(t.procType.version),t.procType.type]},r+=V0(n)),t.contentDomain&&(n={name:"Content-Domain",values:[t.contentDomain]},r+=V0(n)),t.dekInfo&&(n={name:"DEK-Info",values:[t.dekInfo.algorithm]},t.dekInfo.parameters&&n.values.push(t.dekInfo.parameters),r+=V0(n)),t.headers)for(var i=0;i<t.headers.length;++i)r+=V0(t.headers[i]);return t.procType&&(r+=`\r
10
+ `),r+=q0.util.encode64(t.body,e.maxline||64)+`\r
11
11
  `,r+="-----END "+t.type+`-----\r
12
- `,r};ac.decode=function(t){for(var e=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,o;o=r.exec(t),!!o;){var s=o[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var a={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:Ni.util.decode64(o[3])};if(e.push(a),!!o[2]){for(var c=o[2].split(i),u=0;o&&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(o=f.match(n),o){for(var g={name:o[1],values:[]},d=o[2].split(","),p=0;p<d.length;++p)g.values.push(tp(d[p]));if(a.procType)if(!a.contentDomain&&g.name==="Content-Domain")a.contentDomain=d[0]||"";else if(!a.dekInfo&&g.name==="DEK-Info"){if(g.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(g);else{if(g.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(g.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(e.length===0)throw new Error("Invalid PEM formatted message.");return e};function Ri(t){for(var e=t.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<t.values.length;++i)r.push(t.values[i].replace(/^(\S+\r\n)/,n));e+=r.join(",")+`\r
12
+ `,r};H3.decode=function(t){for(var e=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,o;o=r.exec(t),!!o;){var s=o[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var a={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:q0.util.decode64(o[3])};if(e.push(a),!!o[2]){for(var c=o[2].split(i),u=0;o&&u<c.length;){for(var f=c[u].replace(/\s+$/,""),l=u+1;l<c.length;++l){var p=c[l];if(!/\s/.test(p[0]))break;f+=p,u=l}if(o=f.match(n),o){for(var d={name:o[1],values:[]},h=o[2].split(","),m=0;m<h.length;++m)d.values.push(hl(h[m]));if(a.procType)if(!a.contentDomain&&d.name==="Content-Domain")a.contentDomain=h[0]||"";else if(!a.dekInfo&&d.name==="DEK-Info"){if(d.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:h[0],parameters:h[1]||null}}else a.headers.push(d);else{if(d.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(d.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:h[0],type:h[1]}}}++u}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(e.length===0)throw new Error("Invalid PEM formatted message.");return e};function V0(t){for(var e=t.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<t.values.length;++i)r.push(t.values[i].replace(/^(\S+\r\n)/,n));e+=r.join(",")+`\r
13
13
  `;for(var o=0,s=-1,i=0;i<e.length;++i,++o)if(o>65&&s!==-1){var a=e[s];a===","?(++s,e=e.substr(0,s)+`\r
14
14
  `+e.substr(s)):e=e.substr(0,s)+`\r
15
- `+a+e.substr(s+1),o=i-s-1,s=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(s=i);return e}function tp(t){return t.replace(/^\s+/,"")}});var yc=ut((l2,pc)=>{var Ne=dt();Dr();Rt();var lc=pc.exports=Ne.sha256=Ne.sha256||{};Ne.md.sha256=Ne.md.algorithms.sha256=lc;lc.create=function(){hc||ep();var t=null,e=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,o=0;o<i;++o)n.fullMessageLength.push(0);return e=Ne.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Ne.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),fc(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Ne.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(bs.substr(0,n.blockLength-s));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:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};fc(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 bs=null,hc=!1,dc=null;function ep(){bs=String.fromCharCode(128),bs+=Ne.util.fillString(String.fromCharCode(0),64),dc=[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],hc=!0}function fc(t,e,r){for(var n,i,o,s,a,c,u,f,l,h,g,d,p,y,m,w=r.length();w>=64;){for(u=0;u<16;++u)e[u]=r.getInt32();for(;u<64;++u)n=e[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[u]=n+e[u-7]+i+e[u-16]|0;for(f=t.h0,l=t.h1,h=t.h2,g=t.h3,d=t.h4,p=t.h5,y=t.h6,m=t.h7,u=0;u<64;++u)s=(d>>>6|d<<26)^(d>>>11|d<<21)^(d>>>25|d<<7),a=y^d&(p^y),o=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),c=f&l|h&(f^l),n=m+s+a+dc[u]+e[u],i=o+c,m=y,y=p,p=d,d=g+n>>>0,g=h,h=l,l=f,f=n+i>>>0;t.h0=t.h0+f|0,t.h1=t.h1+l|0,t.h2=t.h2+h|0,t.h3=t.h3+g|0,t.h4=t.h4+d|0,t.h5=t.h5+p|0,t.h6=t.h6+y|0,t.h7=t.h7+m|0,w-=64}}});var mc=ut((h2,gc)=>{var De=dt();Rt();var Di=null;De.util.isNodejs&&!De.options.usePureJavaScript&&!process.versions["node-webkit"]&&(Di=_i());var rp=gc.exports=De.prng=De.prng||{};rp.create=function(t){for(var e={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=t.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();e.pools=n,e.pool=0,e.generate=function(u,f){if(!f)return e.generateSync(u);var l=e.plugin.cipher,h=e.plugin.increment,g=e.plugin.formatKey,d=e.plugin.formatSeed,p=De.util.createBuffer();e.key=null,y();function y(m){if(m)return f(m);if(p.length()>=u)return f(null,p.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return De.util.nextTick(function(){o(y)});var w=l(e.key,e.seed);e.generated+=w.length,p.putBytes(w),e.key=g(l(e.key,h(e.seed))),e.seed=d(l(e.key,e.seed)),De.util.setImmediate(y)}},e.generateSync=function(u){var f=e.plugin.cipher,l=e.plugin.increment,h=e.plugin.formatKey,g=e.plugin.formatSeed;e.key=null;for(var d=De.util.createBuffer();d.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&s();var p=f(e.key,e.seed);e.generated+=p.length,d.putBytes(p),e.key=h(f(e.key,l(e.seed))),e.seed=g(f(e.key,e.seed))}return d.getBytes(u)};function o(u){if(e.pools[0].messageLength>=32)return a(),u();var f=32-e.pools[0].messageLength<<5;e.seedFile(f,function(l,h){if(l)return u(l);e.collect(h),a(),u()})}function s(){if(e.pools[0].messageLength>=32)return a();var u=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(u)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var u=e.plugin.md.create();u.update(e.keyBytes);for(var f=1,l=0;l<32;++l)e.reseeds%f===0&&(u.update(e.pools[l].digest().getBytes()),e.pools[l].start()),f=f<<1;e.keyBytes=u.digest().getBytes(),u.start(),u.update(e.keyBytes);var h=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(h),e.generated=0}function c(u){var f=null,l=De.util.globalScope,h=l.crypto||l.msCrypto;h&&h.getRandomValues&&(f=function(E){return h.getRandomValues(E)});var g=De.util.createBuffer();if(f)for(;g.length()<u;){var d=Math.max(1,Math.min(u-g.length(),65536)/4),p=new Uint32Array(Math.floor(d));try{f(p);for(var y=0;y<p.length;++y)g.putInt32(p[y])}catch(E){if(!(typeof QuotaExceededError<"u"&&E instanceof QuotaExceededError))throw E}}if(g.length()<u)for(var m,w,b,L=Math.floor(Math.random()*65536);g.length()<u;){w=16807*(L&65535),m=16807*(L>>16),w+=(m&32767)<<16,w+=m>>15,w=(w&2147483647)+(w>>31),L=w&4294967295;for(var y=0;y<3;++y)b=L>>>(y<<3),b^=Math.floor(Math.random()*256),g.putByte(b&255)}return g.getBytes(u)}return Di?(e.seedFile=function(u,f){Di.randomBytes(u,function(l,h){if(l)return f(l);f(null,h.toString())})},e.seedFileSync=function(u){return Di.randomBytes(u).toString()}):(e.seedFile=function(u,f){try{f(null,c(u))}catch(l){f(l)}},e.seedFileSync=c),e.collect=function(u){for(var f=u.length,l=0;l<f;++l)e.pools[e.pool].update(u.substr(l,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(u,f){for(var l="",h=0;h<f;h+=8)l+=String.fromCharCode(u>>h&255);e.collect(l)},e.registerWorker=function(u){if(u===self)e.seedFile=function(l,h){function g(d){var p=d.data;p.forge&&p.forge.prng&&(self.removeEventListener("message",g),h(p.forge.prng.err,p.forge.prng.bytes))}self.addEventListener("message",g),self.postMessage({forge:{prng:{needed:l}}})};else{var f=function(l){var h=l.data;h.forge&&h.forge.prng&&e.seedFile(h.forge.prng.needed,function(g,d){u.postMessage({forge:{prng:{err:g,bytes:d}}})})};u.addEventListener("message",f)}},e}});var On=ut((d2,ws)=>{var Kt=dt();vs();yc();mc();Rt();(function(){if(Kt.random&&Kt.random.getBytes){ws.exports=Kt.random;return}(function(t){var e={},r=new Array(4),n=Kt.util.createBuffer();e.formatKey=function(l){var h=Kt.util.createBuffer(l);return l=new Array(4),l[0]=h.getInt32(),l[1]=h.getInt32(),l[2]=h.getInt32(),l[3]=h.getInt32(),Kt.aes._expandKey(l,!1)},e.formatSeed=function(l){var h=Kt.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},e.cipher=function(l,h){return Kt.aes._updateBlock(l,h,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(l){return++l[3],l},e.md=Kt.md.sha256;function i(){var l=Kt.prng.create(e);return l.getBytes=function(h,g){return l.generate(h,g)},l.getBytesSync=function(h){return l.generate(h)},l}var o=i(),s=null,a=Kt.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(l){return c.getRandomValues(l)}),Kt.options.usePureJavaScript||!Kt.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var f in navigator)try{typeof navigator[f]=="string"&&(u+=navigator[f])}catch{}o.collect(u),u=null}t&&(t().mousemove(function(l){o.collectInt(l.clientX,16),o.collectInt(l.clientY,16)}),t().keypress(function(l){o.collectInt(l.charCode,8)}))}if(!Kt.random)Kt.random=o;else for(var f in o)Kt.random[f]=o[f];Kt.random.createInstance=i,ws.exports=Kt.random})(typeof jQuery<"u"?jQuery:null)})()});var wc=ut((p2,bc)=>{var Jt=dt();Rt();var Es=[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],xc=[1,2,3,5],np=function(t,e){return t<<e&65535|(t&65535)>>16-e},ip=function(t,e){return(t&65535)>>e|t<<16-e&65535};bc.exports=Jt.rc2=Jt.rc2||{};Jt.rc2.expandKey=function(t,e){typeof t=="string"&&(t=Jt.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(Es[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,Es[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,Es[r.at(a+1)^r.at(a+o)]);return r};var vc=function(t,e,r){var n=!1,i=null,o=null,s=null,a,c,u,f,l=[];for(t=Jt.rc2.expandKey(t,e),u=0;u<64;u++)l.push(t.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]=np(d[u],xc[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]=ip(d[u],xc[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 y=i.getInt16Le();s!==null&&(r?y^=s.getInt16Le():s.putInt16Le(y)),p.push(y&65535)}f=r?0:63;for(var m=0;m<d.length;m++)for(var w=0;w<d[m][0];w++)d[m][1](p);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(p[u]):p[u]^=s.getInt16Le()),o.putInt16Le(p[u])},g=null;return g={start:function(d,p){d&&typeof d=="string"&&(d=Jt.util.createBuffer(d)),n=!1,i=Jt.util.createBuffer(),o=p||new Jt.util.createBuffer,s=d,g.output=o},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 y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(p&&(n=!0,g.update()),!r&&(p=i.length()===0,p))if(d)p=d(8,o,!r);else{var m=o.length(),w=o.at(m-1);w>m?p=!1:o.truncate(w)}return p}},g};Jt.rc2.startEncrypting=function(t,e,r){var n=Jt.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};Jt.rc2.createEncryptionCipher=function(t,e){return vc(t,e,!0)};Jt.rc2.startDecrypting=function(t,e,r){var n=Jt.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};Jt.rc2.createDecryptionCipher=function(t,e){return vc(t,e,!1)}});var Ui=ut((y2,_c)=>{var Ss=dt();_c.exports=Ss.jsbn=Ss.jsbn||{};var Ge,op=0xdeadbeefcafe,Ec=(op&16777215)==15715070;function _(t,e,r){this.data=[],t!=null&&(typeof t=="number"?this.fromNumber(t,e,r):e==null&&typeof t!="string"?this.fromString(t,256):this.fromString(t,e))}Ss.jsbn.BigInteger=_;function at(){return new _(null)}function sp(t,e,r,n,i,o){for(;--o>=0;){var s=e*this.data[t++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function ap(t,e,r,n,i,o){for(var s=e&32767,a=e>>15;--o>=0;){var c=this.data[t]&32767,u=this.data[t++]>>15,f=a*c+u*s;c=s*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 Sc(t,e,r,n,i,o){for(var s=e&16383,a=e>>14;--o>=0;){var c=this.data[t]&16383,u=this.data[t++]>>14,f=a*c+u*s;c=s*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"?(_.prototype.am=Sc,Ge=28):Ec&&navigator.appName=="Microsoft Internet Explorer"?(_.prototype.am=ap,Ge=30):Ec&&navigator.appName!="Netscape"?(_.prototype.am=sp,Ge=26):(_.prototype.am=Sc,Ge=28);_.prototype.DB=Ge;_.prototype.DM=(1<<Ge)-1;_.prototype.DV=1<<Ge;var Bs=52;_.prototype.FV=Math.pow(2,Bs);_.prototype.F1=Bs-Ge;_.prototype.F2=2*Ge-Bs;var cp="0123456789abcdefghijklmnopqrstuvwxyz",Li=new Array,un,de;un="0".charCodeAt(0);for(de=0;de<=9;++de)Li[un++]=de;un="a".charCodeAt(0);for(de=10;de<36;++de)Li[un++]=de;un="A".charCodeAt(0);for(de=10;de<36;++de)Li[un++]=de;function Bc(t){return cp.charAt(t)}function Cc(t,e){var r=Li[t.charCodeAt(e)];return r??-1}function up(t){for(var e=this.t-1;e>=0;--e)t.data[e]=this.data[e];t.t=this.t,t.s=this.s}function fp(t){this.t=1,this.s=t<0?-1:0,t>0?this.data[0]=t:t<-1?this.data[0]=t+this.DV:this.t=0}function lr(t){var e=at();return e.fromInt(t),e}function lp(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=r==8?t[n]&255:Cc(t,n);if(s<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,o==0?this.data[this.t++]=s:o+r>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this.data[this.t++]=s>>this.DB-o):this.data[this.t-1]|=s<<o,o+=r,o>=this.DB&&(o-=this.DB)}r==8&&t[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&_.ZERO.subTo(this,this)}function hp(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function dp(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%e;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=Bc(n));s>=0;)a<e?(n=(this.data[s]&(1<<a)-1)<<e-a,n|=this.data[--s]>>(a+=this.DB-e)):(n=this.data[s]>>(a-=e)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=Bc(n));return i?o:"0"}function pp(){var t=at();return _.ZERO.subTo(this,t),t}function yp(){return this.s<0?this.negate():this}function gp(t){var e=this.s-t.s;if(e!=0)return e;var r=this.t;if(e=r-t.t,e!=0)return this.s<0?-e:e;for(;--r>=0;)if((e=this.data[r]-t.data[r])!=0)return e;return 0}function ki(t){var e=1,r;return(r=t>>>16)!=0&&(t=r,e+=16),(r=t>>8)!=0&&(t=r,e+=8),(r=t>>4)!=0&&(t=r,e+=4),(r=t>>2)!=0&&(t=r,e+=2),(r=t>>1)!=0&&(t=r,e+=1),e}function mp(){return this.t<=0?0:this.DB*(this.t-1)+ki(this.data[this.t-1]^this.s&this.DM)}function xp(t,e){var r;for(r=this.t-1;r>=0;--r)e.data[r+t]=this.data[r];for(r=t-1;r>=0;--r)e.data[r]=0;e.t=this.t+t,e.s=this.s}function vp(t,e){for(var r=t;r<this.t;++r)e.data[r-t]=this.data[r];e.t=Math.max(this.t-t,0),e.s=this.s}function bp(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(t/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)e.data[a]=0;e.data[o]=s,e.t=this.t+o+1,e.s=this.s,e.clamp()}function wp(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,o=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)e.data[s-r-1]|=(this.data[s]&o)<<i,e.data[s-r]=this.data[s]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&o)<<i),e.t=this.t-r,e.clamp()}function Ep(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]-t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n-=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e.data[r++]=this.DV+n:n>0&&(e.data[r++]=n),e.t=r,e.clamp()}function Sp(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e.data[i]=0;for(i=0;i<n.t;++i)e.data[i+r.t]=r.am(0,n.data[i],e,i,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&_.ZERO.subTo(e,e)}function Bp(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t.data[r]=0;for(r=0;r<e.t-1;++r){var n=e.am(r,e.data[r],t,2*r,0,1);(t.data[r+e.t]+=e.am(r+1,2*e.data[r],t,2*r+1,n,e.t-r-1))>=e.DV&&(t.data[r+e.t]-=e.DV,t.data[r+e.t+1]=1)}t.t>0&&(t.data[t.t-1]+=e.am(r,e.data[r],t,2*r,0,1)),t.s=0,t.clamp()}function Cp(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=at());var o=at(),s=this.s,a=t.s,c=this.DB-ki(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var u=o.t,f=o.data[u-1];if(f!=0){var l=f*(1<<this.F1)+(u>1?o.data[u-2]>>this.F2:0),h=this.FV/l,g=(1<<this.F1)/l,d=1<<this.F2,p=r.t,y=p-u,m=e??at();for(o.dlShiftTo(y,m),r.compareTo(m)>=0&&(r.data[r.t++]=1,r.subTo(m,r)),_.ONE.dlShiftTo(u,m),m.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--y>=0;){var w=r.data[--p]==f?this.DM:Math.floor(r.data[p]*h+(r.data[p-1]+d)*g);if((r.data[p]+=o.am(0,w,r,y,0,u))<w)for(o.dlShiftTo(y,m),r.subTo(m,r);r.data[p]<--w;)r.subTo(m,r)}e!=null&&(r.drShiftTo(u,e),s!=a&&_.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&_.ZERO.subTo(r,r)}}}function Ap(t){var e=at();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(_.ZERO)>0&&t.subTo(e,e),e}function Lr(t){this.m=t}function Tp(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function Ip(t){return t}function _p(t){t.divRemTo(this.m,null,t)}function Rp(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function Np(t,e){t.squareTo(e),this.reduce(e)}Lr.prototype.convert=Tp;Lr.prototype.revert=Ip;Lr.prototype.reduce=_p;Lr.prototype.mulTo=Rp;Lr.prototype.sqrTo=Np;function Dp(){if(this.t<1)return 0;var t=this.data[0];if(!(t&1))return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function kr(t){this.m=t,this.mp=t.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function Lp(t){var e=at();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(_.ZERO)>0&&this.m.subTo(e,e),e}function kp(t){var e=at();return t.copyTo(e),this.reduce(e),e}function Up(t){for(;t.t<=this.mt2;)t.data[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=t.data[e]&32767,n=r*this.mpl+((r*this.mph+(t.data[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(r=e+this.m.t,t.data[r]+=this.m.am(0,n,t,e,0,this.m.t);t.data[r]>=t.DV;)t.data[r]-=t.DV,t.data[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function Pp(t,e){t.squareTo(e),this.reduce(e)}function Op(t,e,r){t.multiplyTo(e,r),this.reduce(r)}kr.prototype.convert=Lp;kr.prototype.revert=kp;kr.prototype.reduce=Up;kr.prototype.mulTo=Op;kr.prototype.sqrTo=Pp;function Kp(){return(this.t>0?this.data[0]&1:this.s)==0}function Fp(t,e){if(t>4294967295||t<1)return _.ONE;var r=at(),n=at(),i=e.convert(this),o=ki(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<<o)>0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)}function Mp(t,e){var r;return t<256||e.isEven()?r=new Lr(e):r=new kr(e),this.exp(t,r)}_.prototype.copyTo=up;_.prototype.fromInt=fp;_.prototype.fromString=lp;_.prototype.clamp=hp;_.prototype.dlShiftTo=xp;_.prototype.drShiftTo=vp;_.prototype.lShiftTo=bp;_.prototype.rShiftTo=wp;_.prototype.subTo=Ep;_.prototype.multiplyTo=Sp;_.prototype.squareTo=Bp;_.prototype.divRemTo=Cp;_.prototype.invDigit=Dp;_.prototype.isEven=Kp;_.prototype.exp=Fp;_.prototype.toString=dp;_.prototype.negate=pp;_.prototype.abs=yp;_.prototype.compareTo=gp;_.prototype.bitLength=mp;_.prototype.mod=Ap;_.prototype.modPowInt=Mp;_.ZERO=lr(0);_.ONE=lr(1);function Vp(){var t=at();return this.copyTo(t),t}function qp(){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 zp(){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 Gp(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function $p(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Wp(t){if(t==null&&(t=10),this.signum()==0||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=lr(r),i=at(),o=at(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s}function Yp(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a<t.length;++a){var c=Cc(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=e*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&_.ZERO.subTo(this,this)}function Zp(t,e,r){if(typeof e=="number")if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(_.ONE.shiftLeft(t-1),Cs,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(_.ONE.shiftLeft(t-1),this);else{var n=new Array,i=t&7;n.length=(t>>3)+1,e.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Qp(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function Xp(t){return this.compareTo(t)==0}function Jp(t){return this.compareTo(t)<0?this:t}function jp(t){return this.compareTo(t)>0?this:t}function ty(t,e,r){var n,i,o=Math.min(t.t,this.t);for(n=0;n<o;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=o;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function ey(t,e){return t&e}function ry(t){var e=at();return this.bitwiseTo(t,ey,e),e}function Cs(t,e){return t|e}function ny(t){var e=at();return this.bitwiseTo(t,Cs,e),e}function Ac(t,e){return t^e}function iy(t){var e=at();return this.bitwiseTo(t,Ac,e),e}function Tc(t,e){return t&~e}function oy(t){var e=at();return this.bitwiseTo(t,Tc,e),e}function sy(){for(var t=at(),e=0;e<this.t;++e)t.data[e]=this.DM&~this.data[e];return t.t=this.t,t.s=~this.s,t}function ay(t){var e=at();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function cy(t){var e=at();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function uy(t){if(t==0)return-1;var e=0;return t&65535||(t>>=16,e+=16),t&255||(t>>=8,e+=8),t&15||(t>>=4,e+=4),t&3||(t>>=2,e+=2),t&1||++e,e}function fy(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+uy(this.data[t]);return this.s<0?this.t*this.DB:-1}function ly(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function hy(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=ly(this.data[r]^e);return t}function dy(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function py(t,e){var r=_.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function yy(t){return this.changeBit(t,Cs)}function gy(t){return this.changeBit(t,Tc)}function my(t){return this.changeBit(t,Ac)}function xy(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]+t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n+=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e.data[r++]=n:n<-1&&(e.data[r++]=this.DV+n),e.t=r,e.clamp()}function vy(t){var e=at();return this.addTo(t,e),e}function by(t){var e=at();return this.subTo(t,e),e}function wy(t){var e=at();return this.multiplyTo(t,e),e}function Ey(t){var e=at();return this.divRemTo(t,e,null),e}function Sy(t){var e=at();return this.divRemTo(t,null,e),e}function By(t){var e=at(),r=at();return this.divRemTo(t,e,r),new Array(e,r)}function Cy(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function Ay(t,e){if(t!=0){for(;this.t<=e;)this.data[this.t++]=0;for(this.data[e]+=t;this.data[e]>=this.DV;)this.data[e]-=this.DV,++e>=this.t&&(this.data[this.t++]=0),++this.data[e]}}function Kn(){}function Ic(t){return t}function Ty(t,e,r){t.multiplyTo(e,r)}function Iy(t,e){t.squareTo(e)}Kn.prototype.convert=Ic;Kn.prototype.revert=Ic;Kn.prototype.mulTo=Ty;Kn.prototype.sqrTo=Iy;function _y(t){return this.exp(t,new Kn)}function Ry(t,e,r){var n=Math.min(this.t+t.t,e);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,t.data[n],r,n,0,this.t);for(i=Math.min(t.t,e);n<i;++n)this.am(0,t.data[n],r,n,0,e-n);r.clamp()}function Ny(t,e,r){--e;var n=r.t=this.t+t.t-e;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)r.data[this.t+n-e]=this.am(e-n,t.data[n],r,0,0,this.t+n-e);r.clamp(),r.drShiftTo(1,r)}function fn(t){this.r2=at(),this.q3=at(),_.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function Dy(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=at();return t.copyTo(e),this.reduce(e),e}function Ly(t){return t}function ky(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function Uy(t,e){t.squareTo(e),this.reduce(e)}function Py(t,e,r){t.multiplyTo(e,r),this.reduce(r)}fn.prototype.convert=Dy;fn.prototype.revert=Ly;fn.prototype.reduce=ky;fn.prototype.mulTo=Py;fn.prototype.sqrTo=Uy;function Oy(t,e){var r=t.bitLength(),n,i=lr(1),o;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?o=new Lr(e):e.isEven()?o=new fn(e):o=new kr(e);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var f=at();for(o.sqrTo(s[1],f);a<=u;)s[a]=at(),o.mulTo(f,s[a-2],s[a]),a+=2}var l=t.t-1,h,g=!0,d=at(),p;for(r=ki(t.data[l])-1;l>=0;){for(r>=c?h=t.data[l]>>r-c&u:(h=(t.data[l]&(1<<r+1)-1)<<c-r,l>0&&(h|=t.data[l-1]>>this.DB+r-c)),a=n;!(h&1);)h>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),g)s[h].copyTo(i),g=!1;else{for(;a>1;)o.sqrTo(i,d),o.sqrTo(d,i),a-=2;a>0?o.sqrTo(i,d):(p=i,i=d,d=p),o.mulTo(d,s[h],i)}for(;l>=0&&!(t.data[l]&1<<r);)o.sqrTo(i,d),p=i,i=d,d=p,--r<0&&(r=this.DB-1,--l)}return o.revert(i)}function Ky(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i<o&&(o=i),o>0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function Fy(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(e==0)r=this.data[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this.data[n])%t;return r}function My(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return _.ZERO;for(var r=t.clone(),n=this.clone(),i=lr(1),o=lr(0),s=lr(0),a=lr(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(t,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(t,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),e?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(t,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(_.ONE)!=0)return _.ZERO;if(a.compareTo(t)>=0)return a.subtract(t);if(a.signum()<0)a.addTo(t,a);else return a;return a.signum()<0?a.add(t):a}var ve=[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],Vy=(1<<26)/ve[ve.length-1];function qy(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=ve[ve.length-1]){for(e=0;e<ve.length;++e)if(r.data[0]==ve[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<ve.length;){for(var n=ve[e],i=e+1;i<ve.length&&n<Vy;)n*=ve[i++];for(n=r.modInt(n);e<i;)if(n%ve[e++]==0)return!1}return r.millerRabin(t)}function zy(t){var e=this.subtract(_.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=Hy(),o,s=0;s<t;++s){do o=new _(this.bitLength(),i);while(o.compareTo(_.ONE)<=0||o.compareTo(e)>=0);var a=o.modPow(n,this);if(a.compareTo(_.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(_.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function Hy(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}_.prototype.chunkSize=Gp;_.prototype.toRadix=Wp;_.prototype.fromRadix=Yp;_.prototype.fromNumber=Zp;_.prototype.bitwiseTo=ty;_.prototype.changeBit=py;_.prototype.addTo=xy;_.prototype.dMultiply=Cy;_.prototype.dAddOffset=Ay;_.prototype.multiplyLowerTo=Ry;_.prototype.multiplyUpperTo=Ny;_.prototype.modInt=Fy;_.prototype.millerRabin=zy;_.prototype.clone=Vp;_.prototype.intValue=qp;_.prototype.byteValue=zp;_.prototype.shortValue=Hp;_.prototype.signum=$p;_.prototype.toByteArray=Qp;_.prototype.equals=Xp;_.prototype.min=Jp;_.prototype.max=jp;_.prototype.and=ry;_.prototype.or=ny;_.prototype.xor=iy;_.prototype.andNot=oy;_.prototype.not=sy;_.prototype.shiftLeft=ay;_.prototype.shiftRight=cy;_.prototype.getLowestSetBit=fy;_.prototype.bitCount=hy;_.prototype.testBit=dy;_.prototype.setBit=yy;_.prototype.clearBit=gy;_.prototype.flipBit=my;_.prototype.add=vy;_.prototype.subtract=by;_.prototype.multiply=wy;_.prototype.divide=Ey;_.prototype.remainder=Sy;_.prototype.divideAndRemainder=By;_.prototype.modPow=Oy;_.prototype.modInverse=My;_.prototype.pow=_y;_.prototype.gcd=Ky;_.prototype.isProbablePrime=qy});var kc=ut((g2,Lc)=>{var Le=dt();Dr();Rt();var Nc=Lc.exports=Le.sha1=Le.sha1||{};Le.md.sha1=Le.md.algorithms.sha1=Nc;Nc.create=function(){Dc||Gy();var t=null,e=Le.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,o=0;o<i;++o)n.fullMessageLength.push(0);return e=Le.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Le.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),Rc(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=Le.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(As.substr(0,n.blockLength-s));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:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};Rc(l,r,i);var h=Le.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 As=null,Dc=!1;function Gy(){As=String.fromCharCode(128),As+=Le.util.fillString(String.fromCharCode(0),64),Dc=!0}function Rc(t,e,r){for(var n,i,o,s,a,c,u,f,l=r.length();l>=64;){for(i=t.h0,o=t.h1,s=t.h2,a=t.h3,c=t.h4,f=0;f<16;++f)n=r.getInt32(),e[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<20;++f)n=e[f-3]^e[f-8]^e[f-14]^e[f-16],n=n<<1|n>>>31,e[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<32;++f)n=e[f-3]^e[f-8]^e[f-14]^e[f-16],n=n<<1|n>>>31,e[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<40;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<60;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,u=o&s|a&(o^s),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<80;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+o|0,t.h2=t.h2+s|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,l-=64}}});var Oc=ut((m2,Pc)=>{var ke=dt();Rt();On();kc();var Uc=Pc.exports=ke.pkcs1=ke.pkcs1||{};Uc.encode_rsa_oaep=function(t,e,r){var n,i,o,s;typeof r=="string"?(n=r,i=arguments[3]||void 0,o=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,o=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md)),o?o.start():o=ke.md.sha1.create(),s||(s=o);var a=Math.ceil(t.n.bitLength()/8),c=a-2*o.digestLength-2;if(e.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=e.length,u.maxLength=c,u}n||(n=""),o.update(n,"raw");for(var f=o.digest(),l="",h=c-e.length,g=0;g<h;g++)l+="\0";var d=f.getBytes()+l+""+e;if(!i)i=ke.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=o.digestLength,u}var p=Pi(i,a-o.digestLength-1,s),y=ke.util.xorBytes(d,p,d.length),m=Pi(y,o.digestLength,s),w=ke.util.xorBytes(i,m,i.length);return"\0"+w+y};Uc.decode_rsa_oaep=function(t,e,r){var n,i,o;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&&(o=r.mgf1.md));var s=Math.ceil(t.n.bitLength()/8);if(e.length!==s){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=e.length,y.expectedLength=s,y}if(i===void 0?i=ke.md.sha1.create():i.start(),o||(o=i),s<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=e.charAt(0),u=e.substring(1,i.digestLength+1),f=e.substring(1+i.digestLength),l=Pi(f,i.digestLength,o),h=ke.util.xorBytes(u,l,u.length),g=Pi(h,s-i.digestLength-1,o),d=ke.util.xorBytes(f,g,f.length),p=d.substring(0,i.digestLength),y=c!=="\0",m=0;m<i.digestLength;++m)y|=a.charAt(m)!==p.charAt(m);for(var w=1,b=i.digestLength,L=i.digestLength;L<d.length;L++){var E=d.charCodeAt(L),S=E&1^1,k=w?65534:0;y|=E&k,w=w&S,b+=w}if(y||d.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return d.substring(b+1)};function Pi(t,e,r){r||(r=ke.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),o=0;o<i;++o){var s=String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,o&255);r.start(),r.update(t+s),n+=r.digest().getBytes()}return n.substring(0,e)}});var Kc=ut((x2,Ts)=>{var hr=dt();Rt();Ui();On();(function(){if(hr.prime){Ts.exports=hr.prime;return}var t=Ts.exports=hr.prime=hr.prime||{},e=hr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(l,h){return l|h};t.generateProbablePrime=function(l,h,g){typeof h=="function"&&(g=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,y={nextBytes:function(m){for(var w=p.getBytesSync(m.length),b=0;b<m.length;++b)m[b]=w.charCodeAt(b)}};if(d.name==="PRIMEINC")return o(l,y,d.options,g);throw new Error("Invalid prime generation algorithm: "+d.name)};function o(l,h,g,d){return"workers"in g?c(l,h,g,d):s(l,h,g,d)}function s(l,h,g,d){var p=u(l,h),y=0,m=f(p.bitLength());"millerRabinTests"in g&&(m=g.millerRabinTests);var w=10;"maxBlockTime"in g&&(w=g.maxBlockTime),a(p,l,h,y,m,w,d)}function a(l,h,g,d,p,y,m){var w=+new Date;do{if(l.bitLength()>h&&(l=u(h,g)),l.isProbablePrime(p))return m(null,l);l.dAddOffset(r[d++%8],0)}while(y<0||+new Date-w<y);hr.util.setImmediate(function(){a(l,h,g,d,p,y,m)})}function c(l,h,g,d){if(typeof Worker>"u")return s(l,h,g,d);var p=u(l,h),y=g.workers,m=g.workLoad||100,w=m*30/8,b=g.workerScript||"forge/prime.worker.js";if(y===-1)return hr.util.estimateCores(function(E,S){E&&(S=2),y=S-1,L()});L();function L(){y=Math.max(1,y);for(var E=[],S=0;S<y;++S)E[S]=new Worker(b);for(var k=y,S=0;S<y;++S)E[S].addEventListener("message",O);var B=!1;function O(F){if(!B){--k;var P=F.data;if(P.found){for(var V=0;V<E.length;++V)E[V].terminate();return B=!0,d(null,new e(P.prime,16))}p.bitLength()>l&&(p=u(l,h));var Y=p.toString(16);F.target.postMessage({hex:Y,workLoad:m}),p.dAddOffset(w,0)}}}}function u(l,h){var g=new e(l,h),d=l-1;return g.testBit(d)||g.bitwiseTo(e.ONE.shiftLeft(d),i,g),g.dAddOffset(31-g.mod(n).byteValue(),0),g}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 Ki=ut((v2,Gc)=>{var W=dt();Pn();Ui();Ei();Oc();Kc();On();Rt();typeof st>"u"&&(st=W.jsbn.BigInteger);var st,Is=W.util.isNodejs?_i():null,v=W.asn1,pe=W.util;W.pki=W.pki||{};Gc.exports=W.pki.rsa=W.rsa=W.rsa||{};var X=W.pki,$y=[6,4,2,4,2,4,6,2],Wy={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"}]},Yy={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"}]},Zy={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"}]},Qy=W.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"}]}]},Xy={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"}]},Jy=function(t){var e;if(t.algorithm in X.oids)e=X.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=v.oidToDer(e).getBytes(),i=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]),o=v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[]);o.value.push(v.create(v.Class.UNIVERSAL,v.Type.OID,!1,n)),o.value.push(v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,""));var s=v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(o),i.value.push(s),v.toDer(i).getBytes()},zc=function(t,e,r){if(r)return t.modPow(e.e,e.n);if(!e.p||!e.q)return t.modPow(e.d,e.n);e.dP||(e.dP=e.d.mod(e.p.subtract(st.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(st.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new st(W.util.bytesToHex(W.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(st.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),o=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(o)<0;)i=i.add(e.p);var s=i.subtract(o).multiply(e.qInv).mod(e.p).multiply(e.q).add(o);return s=s.multiply(n.modInverse(e.n)).mod(e.n),s};X.rsa.encrypt=function(t,e,r){var n=r,i,o=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=Hc(t,e,r)):(i=W.util.createBuffer(),i.putBytes(t));for(var s=new st(i.toHex(),16),a=zc(s,e,n),c=a.toString(16),u=W.util.createBuffer(),f=o-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(W.util.hexToBytes(c)),u.getBytes()};X.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=t.length,o.expected=i,o}var s=new st(W.util.createBuffer(t).toHex(),16);if(s.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=zc(s,e,r),c=a.toString(16),u=W.util.createBuffer(),f=i-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(W.util.hexToBytes(c)),n!==!1?Oi(u.getBytes(),e,r):u.getBytes()};X.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||W.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:t,rng:i,eInt:e||65537,e:new st(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};X.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new st(null);r.fromInt(30);for(var n=0,i=function(l,h){return l|h},o=+new Date,s,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var c=t.p===null?t.pBits:t.qBits,u=c-1;t.pqState===0?(t.num=new st(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(st.ONE.shiftLeft(u),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>c?t.pqState=0:t.num.isProbablePrime(t1(t.num.bitLength()))?++t.pqState:t.num.dAddOffset($y[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(st.ONE).gcd(t.e).compareTo(st.ONE)===0?3:0:t.pqState===3&&(t.pqState=0,t.p===null?t.p=t.num:t.q=t.num,t.p!==null&&t.q!==null&&++t.state,t.num=null)}else if(t.state===1)t.p.compareTo(t.q)<0&&(t.num=t.p,t.p=t.q,t.q=t.num),++t.state;else if(t.state===2)t.p1=t.p.subtract(st.ONE),t.q1=t.q.subtract(st.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(st.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var f=t.e.modInverse(t.phi);t.keys={privateKey:X.rsa.setPrivateKey(t.n,t.e,f,t.p,t.q,f.mod(t.p1),f.mod(t.q1),t.q.modInverse(t.p)),publicKey:X.rsa.setPublicKey(t.n,t.e)}}s=+new Date,a+=s-o,o=s}return t.keys!==null};X.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!W.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(Fc("generateKeyPair"))return Is.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:X.privateKeyFromPem(u),publicKey:X.publicKeyFromPem(c)})});if(Mc("generateKey")&&Mc("exportKey"))return pe.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:qc(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return pe.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=X.privateKeyFromAsn1(v.fromDer(W.util.createBuffer(a)));n(null,{privateKey:c,publicKey:X.setRsaPublicKey(c.n,c.e)})}});if(Vc("generateKey")&&Vc("exportKey")){var i=pe.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:qc(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=pe.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(f){var l=f.target.result,h=X.privateKeyFromAsn1(v.fromDer(W.util.createBuffer(l)));n(null,{privateKey:h,publicKey:X.setRsaPublicKey(h.n,h.e)})},u.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(Fc("generateKeyPairSync")){var o=Is.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:X.privateKeyFromPem(o.privateKey),publicKey:X.publicKeyFromPem(o.publicKey)}}}var s=X.rsa.createKeyPairGenerationState(t,e,r);if(!n)return X.rsa.stepKeyPairGenerationState(s,0),s.keys;jy(s,r,n)};X.setRsaPublicKey=X.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,o){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 Hc(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return W.pkcs1.encode_rsa_oaep(c,a,o)}};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 s=i.encode(n,r,!0);return X.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(c,u){u=Oi(u,r,!0);var f=v.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),l={},h=[];if(!v.validate(f,Xy,l,h)){var g=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw g.errors=h,g}var d=v.derToOid(l.algorithmIdentifier);if(!(d===W.oids.md2||d===W.oids.md5||d===W.oids.sha1||d===W.oids.sha224||d===W.oids.sha256||d===W.oids.sha384||d===W.oids.sha512||d===W.oids["sha512-224"]||d===W.oids["sha512-256"])){var g=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw g.oid=d,g}if((d===W.oids.md2||d===W.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}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,u){return u=Oi(u,r,!0),c===u}});var a=X.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};X.setRsaPrivateKey=X.rsa.setPrivateKey=function(t,e,r,n,i,o,s,a){var c={n:t,e,d:r,p:n,q:i,dP:o,dQ:s,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=X.rsa.decrypt(u,c,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:Oi};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(g,d){return W.pkcs1.decode_rsa_oaep(d,g,l)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(g){return g}};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:Jy},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return u}},l=1);var h=f.encode(u,c.n.bitLength());return X.rsa.encrypt(h,c,l)},c};X.wrapRsaPrivateKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(X.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.OCTETSTRING,!1,v.toDer(t).getBytes())])};X.privateKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,Wy,e,r)&&(t=v.fromDer(W.util.createBuffer(e.privateKey))),e={},r=[],!v.validate(t,Yy,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,c,u,f,l;return i=W.util.createBuffer(e.privateKeyModulus).toHex(),o=W.util.createBuffer(e.privateKeyPublicExponent).toHex(),s=W.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=W.util.createBuffer(e.privateKeyPrime1).toHex(),c=W.util.createBuffer(e.privateKeyPrime2).toHex(),u=W.util.createBuffer(e.privateKeyExponent1).toHex(),f=W.util.createBuffer(e.privateKeyExponent2).toHex(),l=W.util.createBuffer(e.privateKeyCoefficient).toHex(),X.setRsaPrivateKey(new st(i,16),new st(o,16),new st(s,16),new st(a,16),new st(c,16),new st(u,16),new st(f,16),new st(l,16))};X.privateKeyToAsn1=X.privateKeyToRSAPrivateKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,v.integerToDer(0).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ue(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ue(t.e)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ue(t.d)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ue(t.p)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ue(t.q)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ue(t.dP)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ue(t.dQ)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ue(t.qInv))])};X.publicKeyFromAsn1=function(t){var e={},r=[];if(v.validate(t,Qy,e,r)){var n=v.derToOid(e.publicKeyOid);if(n!==X.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!v.validate(t,Zy,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=W.util.createBuffer(e.publicKeyModulus).toHex(),s=W.util.createBuffer(e.publicKeyExponent).toHex();return X.setRsaPublicKey(new st(o,16),new st(s,16))};X.publicKeyToAsn1=X.publicKeyToSubjectPublicKeyInfo=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.OID,!1,v.oidToDer(X.oids.rsaEncryption).getBytes()),v.create(v.Class.UNIVERSAL,v.Type.NULL,!1,"")]),v.create(v.Class.UNIVERSAL,v.Type.BITSTRING,!1,[X.publicKeyToRSAPublicKey(t)])])};X.publicKeyToRSAPublicKey=function(t){return v.create(v.Class.UNIVERSAL,v.Type.SEQUENCE,!0,[v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ue(t.n)),v.create(v.Class.UNIVERSAL,v.Type.INTEGER,!1,Ue(t.e))])};function Hc(t,e,r){var n=W.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=t.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var u=0,f=W.random.getBytes(s),c=0;c<s;++c)a=f.charCodeAt(c),a===0?++u:n.putByte(a);s=u}return n.putByte(0),n.putBytes(t),n}function Oi(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),o=W.util.createBuffer(t),s=o.getByte(),a=o.getByte();if(s!==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(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var f=o.getByte();if(f!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function jy(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){o(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return s(a,t.q);o(t.qBits,s)})}function o(a,c){W.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var u=t.p;t.p=t.q,t.q=u}if(t.p.subtract(st.ONE).gcd(t.e).compareTo(st.ONE)!==0){t.p=null,i();return}if(t.q.subtract(st.ONE).gcd(t.e).compareTo(st.ONE)!==0){t.q=null,o(t.qBits,s);return}if(t.p1=t.p.subtract(st.ONE),t.q1=t.q.subtract(st.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(st.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,o(t.qBits,s);return}var f=t.e.modInverse(t.phi);t.keys={privateKey:X.rsa.setPrivateKey(t.n,t.e,f,t.p,t.q,f.mod(t.p1),f.mod(t.q1),t.q.modInverse(t.p)),publicKey:X.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function Ue(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=W.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function t1(t){return t<=100?27:t<=150?18:t<=200?15:t<=250?12:t<=300?9:t<=350?8:t<=400?7:t<=500?6:t<=600?5:t<=800?4:t<=1250?3:2}function Fc(t){return W.util.isNodejs&&typeof Is[t]=="function"}function Mc(t){return typeof pe.globalScope<"u"&&typeof pe.globalScope.crypto=="object"&&typeof pe.globalScope.crypto.subtle=="object"&&typeof pe.globalScope.crypto.subtle[t]=="function"}function Vc(t){return typeof pe.globalScope<"u"&&typeof pe.globalScope.msCrypto=="object"&&typeof pe.globalScope.msCrypto.subtle=="object"&&typeof pe.globalScope.msCrypto.subtle[t]=="function"}function qc(t){for(var e=W.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var Xc=ut((b2,Qc)=>{var q=dt();vs();Pn();ec();Dr();Ei();sc();uc();On();wc();Ki();Rt();typeof $c>"u"&&($c=q.jsbn.BigInteger);var $c,A=q.asn1,J=q.pki=q.pki||{};Qc.exports=J.pbe=q.pbe=q.pbe||{};var Ur=J.oids,e1={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"}]},r1={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"}]}]},n1={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"}]};J.encryptPrivateKeyInfo=function(t,e,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=q.random.getBytesSync(r.saltSize),i=r.count,o=A.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,f,l;switch(r.algorithm){case"aes128":s=16,u=16,f=Ur["aes128-CBC"],l=q.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,f=Ur["aes192-CBC"],l=q.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,f=Ur["aes256-CBC"],l=q.aes.createEncryptionCipher;break;case"des":s=8,u=8,f=Ur.desCBC,l=q.des.createEncryptionCipher;break;default:var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var g="hmacWith"+r.prfAlgorithm.toUpperCase(),d=Zc(g),p=q.pkcs5.pbkdf2(e,n,i,s,d),y=q.random.getBytesSync(u),m=l(p);m.start(y),m.update(A.toDer(t)),m.finish(),c=m.output.getBytes();var w=i1(n,o,s,g);a=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(Ur.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(Ur.pkcs5PBKDF2).getBytes()),w]),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,y)])])])}else if(r.algorithm==="3des"){s=24;var b=new q.util.ByteBuffer(n),p=J.pbe.generatePkcs12Key(e,b,1,i,s),y=J.pbe.generatePkcs12Key(e,b,2,i,s),m=q.des.createEncryptionCipher(p);m.start(y),m.update(A.toDer(t)),m.finish(),c=m.output.getBytes(),a=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OID,!1,A.oidToDer(Ur["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,o.getBytes())])])}else{var h=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw h.algorithm=r.algorithm,h}var L=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[a,A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,c)]);return L};J.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!A.validate(t,e1,n,i)){var o=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=A.derToOid(n.encryptionOid),a=J.pbe.getCipher(s,n.encryptionParams,e),c=q.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=A.fromDer(a.output)),r};J.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:A.toDer(t).getBytes()};return q.pem.encode(r,{maxline:e})};J.encryptedPrivateKeyFromPem=function(t){var e=q.pem.decode(t)[0];if(e.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return A.fromDer(e.body)};J.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=J.wrapRsaPrivateKey(J.privateKeyToAsn1(t));return n=J.encryptPrivateKeyInfo(n,e,r),J.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=q.random.getBytesSync(16),a=q.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=q.random.getBytesSync(16),a=q.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=q.random.getBytesSync(16),a=q.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=q.random.getBytesSync(8),a=q.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=q.random.getBytesSync(8),a=q.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=q.pbe.opensslDeriveBytes(e,o.substr(0,8),s),f=a(u);f.start(o),f.update(A.toDer(J.privateKeyToAsn1(t))),f.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:q.util.bytesToHex(o).toUpperCase()},body:f.output.getBytes()};return q.pem.encode(l)};J.decryptRsaPrivateKey=function(t,e){var r=null,n=q.pem.decode(t)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=q.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=q.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=q.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=q.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=q.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return q.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return q.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return q.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=q.util.hexToBytes(n.dekInfo.parameters),c=q.pbe.opensslDeriveBytes(e,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(q.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=J.decryptPrivateKeyInfo(A.fromDer(r),e):r=A.fromDer(r),r!==null&&(r=J.privateKeyFromAsn1(r)),r};J.pbe.generatePkcs12Key=function(t,e,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in q.md))throw new Error('"sha1" hash algorithm unavailable.');o=q.md.sha1.create()}var c=o.digestLength,u=o.blockLength,f=new q.util.ByteBuffer,l=new q.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)l.putInt16(t.charCodeAt(a));l.putInt16(0)}var h=l.length(),g=e.length(),d=new q.util.ByteBuffer;d.fillWithByte(r,u);var p=u*Math.ceil(g/u),y=new q.util.ByteBuffer;for(a=0;a<p;a++)y.putByte(e.at(a%g));var m=u*Math.ceil(h/u),w=new q.util.ByteBuffer;for(a=0;a<m;a++)w.putByte(l.at(a%h));var b=y;b.putBuffer(w);for(var L=Math.ceil(i/c),E=1;E<=L;E++){var S=new q.util.ByteBuffer;S.putBytes(d.bytes()),S.putBytes(b.bytes());for(var k=0;k<n;k++)o.start(),o.update(S.getBytes()),S=o.digest();var B=new q.util.ByteBuffer;for(a=0;a<u;a++)B.putByte(S.at(a%c));var O=Math.ceil(g/u)+Math.ceil(h/u),F=new q.util.ByteBuffer;for(s=0;s<O;s++){var P=new q.util.ByteBuffer(b.getBytes(u)),V=511;for(a=B.length()-1;a>=0;a--)V=V>>8,V+=B.at(a)+P.at(a),P.setAt(a,V&255);F.putBuffer(P)}b=F,f.putBuffer(S)}return f.truncate(f.length()-i),f};J.pbe.getCipher=function(t,e,r){switch(t){case J.oids.pkcs5PBES2:return J.pbe.getCipherForPBES2(t,e,r);case J.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case J.oids["pbewithSHAAnd40BitRC2-CBC"]:return J.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};J.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!A.validate(e,r1,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}if(t=A.derToOid(n.kdfOid),t!==J.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=t,o.supportedOids=["pkcs5PBKDF2"],o}if(t=A.derToOid(n.encOid),t!==J.oids["aes128-CBC"]&&t!==J.oids["aes192-CBC"]&&t!==J.oids["aes256-CBC"]&&t!==J.oids["des-EDE3-CBC"]&&t!==J.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=t,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=q.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(J.oids[t]){case"aes128-CBC":c=16,u=q.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=q.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=q.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=q.des.createDecryptionCipher;break;case"desCBC":c=8,u=q.des.createDecryptionCipher;break}var f=Yc(n.prfOid),l=q.pkcs5.pbkdf2(r,s,a,c,f),h=n.encIv,g=u(l);return g.start(h),g};J.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!A.validate(e,n1,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=q.util.createBuffer(n.salt),a=q.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,f;switch(t){case J.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,f=q.des.startDecrypting;break;case J.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,f=function(p,y){var m=q.rc2.createDecryptionCipher(p,40);return m.start(y,null),m};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=t,o}var l=Yc(n.prfOid),h=J.pbe.generatePkcs12Key(r,s,1,a,c,l);l.start();var g=J.pbe.generatePkcs12Key(r,s,2,a,u,l);return f(h,g)};J.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in q.md))throw new Error('"md5" hash algorithm unavailable.');n=q.md.md5.create()}e===null&&(e="");for(var i=[Wc(n,t+e)],o=16,s=1;o<r;++s,o+=16)i.push(Wc(n,i[s-1]+t+e));return i.join("").substr(0,r)};function Wc(t,e){return t.start().update(e).digest().getBytes()}function Yc(t){var e;if(!t)e="hmacWithSHA1";else if(e=J.oids[A.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Zc(e)}function Zc(t){var e=q.md;switch(t){case"hmacWithSHA224":e=q.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":t=t.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!e||!(t in e))throw new Error("Unknown hash algorithm: "+t);return e[t].create()}function i1(t,e,r,n){var i=A.create(A.Class.UNIVERSAL,A.Type.SEQUENCE,!0,[A.create(A.Class.UNIVERSAL,A.Type.OCTETSTRING,!1,t),A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(A.create(A.Class.UNIVERSAL,A.Type.INTEGER,!1,q.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(J.oids[n]).getBytes()),A.create(A.Class.UNIVERSAL,A.Type.NULL,!1,"")])),i}});var Fu=ut((Ob,Ku)=>{var xt=dt();Dr();Rt();var Wn=Ku.exports=xt.sha512=xt.sha512||{};xt.md.sha512=xt.md.algorithms.sha512=Wn;var Pu=xt.sha384=xt.sha512.sha384=xt.sha512.sha384||{};Pu.create=function(){return Wn.create("SHA-384")};xt.md.sha384=xt.md.algorithms.sha384=Pu;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(t){if(Ou||Bg(),typeof t>"u"&&(t="SHA-512"),!(t in qr))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=qr[t],r=null,n=xt.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(t){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:s,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(e.length);for(var u=0;u<e.length;++u)r[u]=e[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=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),Uu(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(aa.substr(0,a.blockLength-f));for(var l,h,g=a.fullMessageLength[0]*8,d=0;d<a.fullMessageLength.length-1;++d)l=a.fullMessageLength[d+1]*8,h=l/4294967296>>>0,g+=h,c.putInt32(g>>>0),g=l>>>0;c.putInt32(g);for(var p=new Array(r.length),d=0;d<r.length;++d)p[d]=r[d].slice(0);Uu(p,i,c);var y=xt.util.createBuffer(),m;t==="SHA-512"?m=p.length:t==="SHA-384"?m=p.length-2:m=p.length-4;for(var d=0;d<m;++d)y.putInt32(p[d][0]),(d!==m-1||t!=="SHA-512/224")&&y.putInt32(p[d][1]);return y},a};var aa=null,Ou=!1,ca=null,qr=null;function Bg(){aa=String.fromCharCode(128),aa+=xt.util.fillString(String.fromCharCode(0),128),ca=[[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]],Ou=!0}function Uu(t,e,r){for(var n,i,o,s,a,c,u,f,l,h,g,d,p,y,m,w,b,L,E,S,k,B,O,F,P,V,Y,tt,C,R,N,U,I,z,$,Z=r.length();Z>=128;){for(C=0;C<16;++C)e[C][0]=r.getInt32()>>>0,e[C][1]=r.getInt32()>>>0;for(;C<80;++C)U=e[C-2],R=U[0],N=U[1],n=((R>>>19|N<<13)^(N>>>29|R<<3)^R>>>6)>>>0,i=((R<<13|N>>>19)^(N<<3|R>>>29)^(R<<26|N>>>6))>>>0,z=e[C-15],R=z[0],N=z[1],o=((R>>>1|N<<31)^(R>>>8|N<<24)^R>>>7)>>>0,s=((R<<31|N>>>1)^(R<<24|N>>>8)^(R<<25|N>>>7))>>>0,I=e[C-7],$=e[C-16],N=i+I[1]+s+$[1],e[C][0]=n+I[0]+o+$[0]+(N/4294967296>>>0)>>>0,e[C][1]=N>>>0;for(p=t[0][0],y=t[0][1],m=t[1][0],w=t[1][1],b=t[2][0],L=t[2][1],E=t[3][0],S=t[3][1],k=t[4][0],B=t[4][1],O=t[5][0],F=t[5][1],P=t[6][0],V=t[6][1],Y=t[7][0],tt=t[7][1],C=0;C<80;++C)u=((k>>>14|B<<18)^(k>>>18|B<<14)^(B>>>9|k<<23))>>>0,f=((k<<18|B>>>14)^(k<<14|B>>>18)^(B<<23|k>>>9))>>>0,l=(P^k&(O^P))>>>0,h=(V^B&(F^V))>>>0,a=((p>>>28|y<<4)^(y>>>2|p<<30)^(y>>>7|p<<25))>>>0,c=((p<<4|y>>>28)^(y<<30|p>>>2)^(y<<25|p>>>7))>>>0,g=(p&m|b&(p^m))>>>0,d=(y&w|L&(y^w))>>>0,N=tt+f+h+ca[C][1]+e[C][1],n=Y+u+l+ca[C][0]+e[C][0]+(N/4294967296>>>0)>>>0,i=N>>>0,N=c+d,o=a+g+(N/4294967296>>>0)>>>0,s=N>>>0,Y=P,tt=V,P=O,V=F,O=k,F=B,N=S+i,k=E+n+(N/4294967296>>>0)>>>0,B=N>>>0,E=b,S=L,b=m,L=w,m=p,w=y,N=i+s,p=n+o+(N/4294967296>>>0)>>>0,y=N>>>0;N=t[0][1]+y,t[0][0]=t[0][0]+p+(N/4294967296>>>0)>>>0,t[0][1]=N>>>0,N=t[1][1]+w,t[1][0]=t[1][0]+m+(N/4294967296>>>0)>>>0,t[1][1]=N>>>0,N=t[2][1]+L,t[2][0]=t[2][0]+b+(N/4294967296>>>0)>>>0,t[2][1]=N>>>0,N=t[3][1]+S,t[3][0]=t[3][0]+E+(N/4294967296>>>0)>>>0,t[3][1]=N>>>0,N=t[4][1]+B,t[4][0]=t[4][0]+k+(N/4294967296>>>0)>>>0,t[4][1]=N>>>0,N=t[5][1]+F,t[5][0]=t[5][0]+O+(N/4294967296>>>0)>>>0,t[5][1]=N>>>0,N=t[6][1]+V,t[6][0]=t[6][0]+P+(N/4294967296>>>0)>>>0,t[6][1]=N>>>0,N=t[7][1]+tt,t[7][0]=t[7][0]+Y+(N/4294967296>>>0)>>>0,t[7][1]=N>>>0,Z-=128}}});var so=ut((Zw,df)=>{"use strict";function hf(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function Xg(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return hf(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),hf(new i,r)}}df.exports=Xg});var ba=ut((rE,va)=>{var eE=function(){typeof va<"u"&&(va.exports=p);var t=86400,e=3200,r=146097*e/400,n=t*r,i=1e3*n,o=864e13,s=4294967296,a=1e6,c="000000000",u=Math.trunc||function(B){var O=B-B%1;return O==0&&(B<0||B===0&&1/B!=1/0)?-0:O},f=p.prototype,l=(p.fromDate=function(B){return new p(+B)},p.fromInt64BE=L(0,1,2,3,0,4),p.fromInt64LE=L(3,2,1,0,4,0),p.fromString=function(P){var O,F=new p,P=(P+="").replace(/^\s*[+\-]?\d+/,function(Y){var Y=+Y,tt=1970+(Y-1970)%400;return F.year=Y-tt,tt}).replace(/(?:Z|([+\-]\d{2}):?(\d{2}))$/,function(V,Y,tt){return Y<0&&(tt*=-1),O=6e4*(60*+Y+ +tt),""}).replace(/\.\d+$/,function(V){return F.nano=+(V+c).substr(1,9),""}).split(/\D+/);if(1<P.length?P[1]--:P[1]=0,F.time=O=Date.UTC.apply(Date,P)-(O||0),isNaN(O))throw new TypeError("Invalid Date");return y(F)},p.fromTimeT=function(B){return w(B,0)},f.year=0,f.time=0,f.nano=0,f.addNano=function(B){return this.nano+=+B||0,this},f.getNano=function(){var B=y(this);return(B.time%1e3*a+ +B.nano+1e9)%1e9},f.getTimeT=function(){var O=y(this),B=Math.floor(O.time/1e3),O=O.year;return O&&(B+=O*r*t/e),B},f.getYear=function(){return this.toDate().getUTCFullYear()+this.year},f.toDate=function(){return m(y(this).time)},f.toJSON=function(){return this.toString().replace(/0{1,6}Z$/,"Z")},f.toString=function(B){var O=this,F=O.toDate(),P={H:function(){return S(F.getUTCHours())},L:function(){return k(F.getUTCMilliseconds(),3)},M:function(){return S(F.getUTCMinutes())},N:function(){return k(O.getNano(),9)},S:function(){return S(F.getUTCSeconds())},Y:function(){var V=O.getYear();return 999999<V?"+"+V:9999<V?"+"+k(V,6):0<=V?k(V,4):-999999<=V?"-"+k(-V,6):V},a:function(){return g[F.getUTCDay()]},b:function(){return h[F.getUTCMonth()]},d:function(){return S(F.getUTCDate())},e:function(){return function(V){return(9<V?"":" ")+(0|V)}(F.getUTCDate())},m:function(){return S(F.getUTCMonth()+1)}};return function V(Y){return Y.replace(/%./g,function(tt){var R=tt[1],C=d[R],R=P[R];return C?V(C):R?R():tt})}(B||l)},f.writeInt64BE=b(0,1,2,3,0,4),f.writeInt64LE=b(3,2,1,0,4,0),"%Y-%m-%dT%H:%M:%S.%NZ"),h=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],g=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],d={"%":"%",F:"%Y-%m-%d",n:`
16
- `,R:"%H:%M",T:"%H:%M:%S",t:" ",X:"%T",Z:"GMT",z:"+0000"};return p;function p(B,O,F){var P=this;if(!(P instanceof p))return new p(B,O,F);P.time=+B||0,P.nano=+O||0,P.year=+F||0,y(P)}function y(B){var O,F,P,V=B.year,Y=B.time,tt=B.nano,C=((tt<0||a<=tt)&&(tt-=(F=Math.floor(tt/a))*a,Y+=F,F=1),V%e);return(Y<-o||o<Y||C)&&((O=u(Y/i))&&(V+=O*e,Y-=O*i),(P=m(Y)).setUTCFullYear(C+P.getUTCFullYear()),P=(Y=+P)+(O=u((V-=C)/e))*i,O&&-o<=P&&P<=o&&(V-=O*e,Y=P),F=1),F&&(B.year=V,B.time=Y,B.nano=tt),B}function m(B){var O=new Date(0);return O.setTime(B),O}function w(V,P){V=+V||0;var F=u((P=(P|0)*s)/n)+u(V/n),P=P%n+V%n,V=u(P/n);return V&&(F+=V,P-=V*n),new p(1e3*P,0,F*e)}function b(B,O,F,P,V,Y){return function(C,R){var U=y(this);C=C||new Array(8),E(C,R|=0);var I=Math.floor(U.time/1e3),U=U.year*(r*t/e),N=u(U/s)+u(I/s),U=U%s+I%s,I=Math.floor(U/s);return I&&(N+=I,U-=I*s),tt(C,R+V,N),tt(C,R+Y,U),C};function tt(C,R,N){C[R+B]=N>>24&255,C[R+O]=N>>16&255,C[R+F]=N>>8&255,C[R+P]=255&N}}function L(B,O,F,P,V,Y){return function(C,R){E(C,R|=0);var N=tt(C,R+V);return w(tt(C,R+Y),N)};function tt(C,R){return 16777216*C[R+B]+(C[R+O]<<16|C[R+F]<<8|C[R+P])}}function E(B,O){if(B=B&&B.length,B==null)throw new TypeError("Invalid Buffer");if(B<O+8)throw new RangeError("Out of range")}function S(B){return(9<B?"":"0")+(0|B)}function k(B,O){return(c+(0|B)).substr(-O)}}()});var Vl=ut((Y8,Va)=>{"use strict";var qm=Object.prototype.hasOwnProperty,Xt="~";function ui(){}Object.create&&(ui.prototype=Object.create(null),new ui().__proto__||(Xt=!1));function zm(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function Ml(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new zm(r,n||t,i),s=Xt?Xt+e:e;return t._events[s]?t._events[s].fn?t._events[s]=[t._events[s],o]:t._events[s].push(o):(t._events[s]=o,t._eventsCount++),t}function Bo(t,e){--t._eventsCount===0?t._events=new ui:delete t._events[e]}function Wt(){this._events=new ui,this._eventsCount=0}Wt.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)qm.call(r,n)&&e.push(Xt?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};Wt.prototype.listeners=function(e){var r=Xt?Xt+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s};Wt.prototype.listenerCount=function(e){var r=Xt?Xt+e:e,n=this._events[r];return n?n.fn?1:n.length:0};Wt.prototype.emit=function(e,r,n,i,o,s){var a=Xt?Xt+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,f,l;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,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,o),!0;case 6:return c.fn.call(c.context,r,n,i,o,s),!0}for(l=1,f=new Array(u-1);l<u;l++)f[l-1]=arguments[l];c.fn.apply(c.context,f)}else{var h=c.length,g;for(l=0;l<h;l++)switch(c[l].once&&this.removeListener(e,c[l].fn,void 0,!0),u){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,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(g=1,f=new Array(u-1);g<u;g++)f[g-1]=arguments[g];c[l].fn.apply(c[l].context,f)}}return!0};Wt.prototype.on=function(e,r,n){return Ml(this,e,r,n,!1)};Wt.prototype.once=function(e,r,n){return Ml(this,e,r,n,!0)};Wt.prototype.removeListener=function(e,r,n,i){var o=Xt?Xt+e:e;if(!this._events[o])return this;if(!r)return Bo(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&Bo(this,o);else{for(var a=0,c=[],u=s.length;a<u;a++)(s[a].fn!==r||i&&!s[a].once||n&&s[a].context!==n)&&c.push(s[a]);c.length?this._events[o]=c.length===1?c[0]:c:Bo(this,o)}return this};Wt.prototype.removeAllListeners=function(e){var r;return e?(r=Xt?Xt+e:e,this._events[r]&&Bo(this,r)):(this._events=new ui,this._eventsCount=0),this};Wt.prototype.off=Wt.prototype.removeListener;Wt.prototype.addListener=Wt.prototype.on;Wt.prefixed=Xt;Wt.EventEmitter=Wt;typeof Va<"u"&&(Va.exports=Wt)});var jl=ut((i4,Jl)=>{Jl.exports=function(t){if(!t)throw Error("hashlru must have a max value, of type number, greater than 0");var e=0,r=Object.create(null),n=Object.create(null);function i(o,s){r[o]=s,e++,e>=t&&(e=0,n=r,r=Object.create(null))}return{has:function(o){return r[o]!==void 0||n[o]!==void 0},remove:function(o){r[o]!==void 0&&(r[o]=void 0),n[o]!==void 0&&(n[o]=void 0)},get:function(o){var s=r[o];if(s!==void 0)return s;if((s=n[o])!==void 0)return i(o,s),s},set:function(o,s){r[o]!==void 0?r[o]=s:i(o,s)},clear:function(){r=Object.create(null),n=Object.create(null)}}}});var Zm={};kt(Zm,{ipns:()=>Ym,ipnsSelector:()=>Eo,ipnsValidator:()=>Fa});var nt=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var ne=Tt(h0(),1);var Mo={};kt(Mo,{base32:()=>ar,base32hex:()=>Oh,base32hexpad:()=>Fh,base32hexpadupper:()=>Mh,base32hexupper:()=>Kh,base32pad:()=>Uh,base32padupper:()=>Ph,base32upper:()=>v0,base32z:()=>Vh});function Rh(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.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,y=0,m=0,w=d.length;m!==w&&d[m]===0;)m++,p++;for(var b=(w-m)*f+1>>>0,L=new Uint8Array(b);m!==w;){for(var E=d[m],S=0,k=b-1;(E!==0||S<y)&&k!==-1;k--,S++)E+=256*L[k]>>>0,L[k]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");y=S,m++}for(var B=b-y;B!==b&&L[B]===0;)B++;for(var O=c.repeat(p);B<b;++B)O+=t.charAt(L[B]);return O}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 y=0,m=0;d[p]===c;)y++,p++;for(var w=(d.length-p)*u+1>>>0,b=new Uint8Array(w);d[p];){var L=r[d.charCodeAt(p)];if(L===255)return;for(var E=0,S=w-1;(L!==0||E<m)&&S!==-1;S--,E++)L+=a*b[S]>>>0,b[S]=L%256>>>0,L=L/256>>>0;if(L!==0)throw new Error("Non-zero carry");m=E,p++}if(d[p]!==" "){for(var k=w-m;k!==w&&b[k]===0;)k++;for(var B=new Uint8Array(y+(w-k)),O=y;k!==w;)B[O++]=b[k++];return B}}}function g(d){var p=h(d);if(p)return p;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:h,decode:g}}var Nh=Rh,Dh=Nh,d0=Dh;var ex=new Uint8Array(0);var p0=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},qe=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var y0=t=>new TextEncoder().encode(t),g0=t=>new TextDecoder().decode(t);var Po=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},Oo=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return x0(this,e)}},Ko=class{constructor(e){this.decoders=e}or(e){return x0(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},x0=(t,e)=>new Ko({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),Fo=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Po(e,r,n),this.decoder=new Oo(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Xr=({name:t,prefix:e,encode:r,decode:n})=>new Fo(t,e,r,n),sr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=d0(r,e);return Xr({prefix:t,name:e,encode:n,decode:o=>qe(i(o))})},Lh=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[t[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},kh=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},Ct=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Xr({prefix:e,name:t,encode(i){return kh(i,n,r)},decode(i){return Lh(i,n,r,t)}});var ar=Ct({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),v0=Ct({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Uh=Ct({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Ph=Ct({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Oh=Ct({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Kh=Ct({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Fh=Ct({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),Mh=Ct({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Vh=Ct({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Vo={};kt(Vo,{base58btc:()=>qt,base58flickr:()=>qh});var qt=sr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),qh=sr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var qo={};kt(qo,{base64:()=>Jr,base64pad:()=>zh,base64url:()=>Hh,base64urlpad:()=>Gh});var Jr=Ct({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),zh=Ct({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Hh=Ct({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Gh=Ct({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});ne.default.formatters.b=t=>t==null?"undefined":qt.baseEncode(t);ne.default.formatters.t=t=>t==null?"undefined":ar.baseEncode(t);ne.default.formatters.m=t=>t==null?"undefined":Jr.baseEncode(t);ne.default.formatters.p=t=>t==null?"undefined":t.toString();ne.default.formatters.c=t=>t==null?"undefined":t.toString();ne.default.formatters.k=t=>t==null?"undefined":t.toString();ne.default.formatters.a=t=>t==null?"undefined":t.toString();function $h(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function cr(t){let e=$h(`${t}:trace`);return ne.default.enabled(`${t}:trace`)&&ne.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,ne.default)(`${t}:trace`)),Object.assign((0,ne.default)(t),{error:(0,ne.default)(`${t}:error`),trace:e})}var zo=Symbol.for("@libp2p/peer-id");function b0(t){return t!=null&&!!t[zo]}var Ho={};kt(Ho,{base10:()=>Wh});var Wh=sr({prefix:"9",name:"base10",alphabet:"0123456789"});var Go={};kt(Go,{base16:()=>Yh,base16upper:()=>Zh});var Yh=Ct({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Zh=Ct({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var $o={};kt($o,{base2:()=>Qh});var Qh=Ct({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Wo={};kt(Wo,{base256emoji:()=>ed});var w0=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}"),Xh=w0.reduce((t,e,r)=>(t[r]=e,t),[]),Jh=w0.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function jh(t){return t.reduce((e,r)=>(e+=Xh[r],e),"")}function td(t){let e=[];for(let r of t){let n=Jh[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var ed=Xr({prefix:"\u{1F680}",name:"base256emoji",encode:jh,decode:td});var Yo={};kt(Yo,{base36:()=>vi,base36upper:()=>rd});var vi=sr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),rd=sr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Zo={};kt(Zo,{base8:()=>nd});var nd=Ct({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Qo={};kt(Qo,{identity:()=>id});var id=Xr({prefix:"\0",name:"identity",encode:t=>g0(t),decode:t=>y0(t)});var wx=new TextEncoder,Ex=new TextDecoder;var Jo={};kt(Jo,{identity:()=>_e});var ad=B0,E0=128,cd=127,ud=~cd,fd=Math.pow(2,31);function B0(t,e,r){e=e||[],r=r||0;for(var n=r;t>=fd;)e[r++]=t&255|E0,t/=128;for(;t&ud;)e[r++]=t&255|E0,t>>>=7;return e[r]=t|0,B0.bytes=r-n+1,e}var ld=Xo,hd=128,S0=127;function Xo(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw Xo.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&S0)<<i:(s&S0)*Math.pow(2,i),i+=7}while(s>=hd);return Xo.bytes=o-n,r}var dd=Math.pow(2,7),pd=Math.pow(2,14),yd=Math.pow(2,21),gd=Math.pow(2,28),md=Math.pow(2,35),xd=Math.pow(2,42),vd=Math.pow(2,49),bd=Math.pow(2,56),wd=Math.pow(2,63),Ed=function(t){return t<dd?1:t<pd?2:t<yd?3:t<gd?4:t<md?5:t<xd?6:t<vd?7:t<bd?8:t<wd?9:10},Sd={encode:ad,decode:ld,encodingLength:Ed},Bd=Sd,_n=Bd;var Rn=(t,e=0)=>[_n.decode(t,e),_n.decode.bytes],jr=(t,e,r=0)=>(_n.encode(t,e,r),e),tn=t=>_n.encodingLength(t);var Ie=(t,e)=>{let r=e.byteLength,n=tn(t),i=n+tn(r),o=new Uint8Array(i+r);return jr(t,o,0),jr(r,o,n),o.set(e,i),new en(t,r,e,o)},_r=t=>{let e=qe(t),[r,n]=Rn(e),[i,o]=Rn(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new en(r,i,s,e)},C0=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&p0(t.bytes,r.bytes)}},en=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var A0=0,Cd="identity",T0=qe,Ad=t=>Ie(A0,T0(t)),_e={code:A0,name:Cd,encode:T0,digest:Ad};var es={};kt(es,{sha256:()=>zt,sha512:()=>Td});var ts=({name:t,code:e,encode:r})=>new jo(t,e,r),jo=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?Ie(this.code,r):r.then(n=>Ie(this.code,n))}else throw Error("Unknown type, must be binary type")}};var _0=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),zt=ts({name:"sha2-256",code:18,encode:_0("SHA-256")}),Td=ts({name:"sha2-512",code:19,encode:_0("SHA-512")});var R0=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return _d(r,rs(t),e||qt.encoder);default:return Rd(r,rs(t),e||ar.encoder)}};var N0=new WeakMap,rs=t=>{let e=N0.get(t);if(e==null){let r=new Map;return N0.set(t,r),r}return e},ie=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Nn)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Nd)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=Ie(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&C0(e.multihash,n.multihash)}toString(e){return R0(this,e)}toJSON(){return{"/":R0(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||D0(n,i,o.bytes))}else if(r[Dd]===!0){let{version:n,multihash:i,code:o}=r,s=_r(i);return t.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Nn)throw new Error(`Version 0 CID must use dag-pb (code: ${Nn}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=D0(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Nn,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=qe(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new en(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[l,h]=Rn(e.subarray(r));return r+=h,l},i=n(),o=Nn;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=Id(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return rs(o).set(n,e),o}},Id=(t,e)=>{switch(t[0]){case"Q":{let r=e||qt;return[qt.prefix,r.decode(`${qt.prefix}${t}`)]}case qt.prefix:{let r=e||qt;return[qt.prefix,r.decode(t)]}case ar.prefix:{let r=e||ar;return[ar.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},_d=(t,e,r)=>{let{prefix:n}=r;if(n!==qt.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},Rd=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},Nn=112,Nd=18,D0=(t,e,r)=>{let n=tn(t),i=n+tn(e),o=new Uint8Array(i+r.byteLength);return jr(t,o,0),jr(e,o,n),o.set(r,i),o},Dd=Symbol.for("@ipld/js-cid/CID");var rn={...Qo,...$o,...Zo,...Ho,...Go,...Mo,...Yo,...Vo,...qo,...Wo},Kx={...es,...Jo};function Ut(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var Ld=Symbol.for("nodejs.util.inspect.custom"),L0=Object.values(rn).map(t=>t.decoder).reduce((t,e)=>t.or(e),rn.identity.decoder),k0=114,ns=36,is=37,Dn=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[zo]=!0;toString(){return this.string==null&&(this.string=qt.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return ie.createV1(k0,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return Ut(this.multihash.bytes,e);if(typeof e=="string")return os(e).equals(this);if(e?.multihash?.bytes!=null)return Ut(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[Ld](){return`PeerId(${this.toString()})`}},nn=class extends Dn{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},on=class extends Dn{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},sn=class extends Dn{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function os(t,e){if(e=e??L0,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=_r(qt.decode(`z${t}`));return t.startsWith("12D")?new on({multihash:r}):t.startsWith("16U")?new sn({multihash:r}):new nn({multihash:r})}return ss(L0.decode(t))}function ss(t){try{let e=_r(t);if(e.code===_e.code){if(e.digest.length===ns)return new on({multihash:e});if(e.digest.length===is)return new sn({multihash:e})}if(e.code===zt.code)return new nn({multihash:e})}catch{return kd(ie.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function kd(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==k0)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===zt.code)return new nn({multihash:t.multihash});if(e.code===_e.code){if(e.digest.length===ns)return new on({multihash:t.multihash});if(e.digest.length===is)return new sn({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function U0(t,e){return t.length===ns?new on({multihash:Ie(_e.code,t),privateKey:e}):t.length===is?new sn({multihash:Ie(_e.code,t),privateKey:e}):new nn({multihash:await zt.digest(t),publicKey:t,privateKey:e})}var Vw=Tt(Pn(),1),qw=Tt(Xc(),1);var Qg=Tt(dt(),1);function ln(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function $e(t=0){return globalThis.Buffer?.allocUnsafe!=null?ln(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function jc(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var Jc=jc("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),_s=jc("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=$e(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),o1={utf8:Jc,"utf-8":Jc,hex:rn.base16,latin1:_s,ascii:_s,binary:_s,...rn},Fi=o1;function gt(t,e="utf8"){let r=Fi[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?ln(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var sa={};kt(sa,{Ed25519PrivateKey:()=>Vr,Ed25519PublicKey:()=>$n,generateKeyPair:()=>bg,generateKeyPairFromSeed:()=>Du,unmarshalEd25519PrivateKey:()=>xg,unmarshalEd25519PublicKey:()=>vg});function tu(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function Rs(t,...e){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function eu(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");tu(t.outputLen),tu(t.blockLen)}function hn(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function ru(t,e){Rs(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var Mi=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var nu=t=>t instanceof Uint8Array;var Vi=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),be=(t,e)=>t<<32-e|t>>>e,s1=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!s1)throw new Error("Non little-endian hardware is not supported");function Ns(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Fn(t){if(typeof t=="string"&&(t=Ns(t)),!nu(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function qi(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!nu(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}var dn=class{clone(){return this._cloneInto()}},L2={}.toString;function zi(t){let e=n=>t().update(Fn(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function pn(t=32){if(Mi&&typeof Mi.getRandomValues=="function")return Mi.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function a1(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,u=n?0:4;t.setUint32(e+c,s,n),t.setUint32(e+u,a,n)}var yn=class extends dn{constructor(e,r,n,i){super(),this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=Vi(this.buffer)}update(e){hn(this);let{view:r,buffer:n,blockLen:i}=this;e=Fn(e);let o=e.length;for(let s=0;s<o;){let a=Math.min(i-this.pos,o-s);if(a===i){let c=Vi(e);for(;i<=o-s;s+=i)this.process(c,s);continue}n.set(e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){hn(this),ru(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:o}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(n,0),s=0);for(let l=s;l<i;l++)r[l]=0;a1(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=Vi(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,f[l],o)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:o,destroyed:s,pos:a}=this;return e.length=i,e.pos=a,e.finished=o,e.destroyed=s,i%r&&e.buffer.set(n),e}};var Hi=BigInt(4294967295),Ds=BigInt(32);function iu(t,e=!1){return e?{h:Number(t&Hi),l:Number(t>>Ds&Hi)}:{h:Number(t>>Ds&Hi)|0,l:Number(t&Hi)|0}}function c1(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;i<t.length;i++){let{h:o,l:s}=iu(t[i],e);[r[i],n[i]]=[o,s]}return[r,n]}var u1=(t,e)=>BigInt(t>>>0)<<Ds|BigInt(e>>>0),f1=(t,e,r)=>t>>>r,l1=(t,e,r)=>t<<32-r|e>>>r,h1=(t,e,r)=>t>>>r|e<<32-r,d1=(t,e,r)=>t<<32-r|e>>>r,p1=(t,e,r)=>t<<64-r|e>>>r-32,y1=(t,e,r)=>t>>>r-32|e<<64-r,g1=(t,e)=>e,m1=(t,e)=>t,x1=(t,e,r)=>t<<r|e>>>32-r,v1=(t,e,r)=>e<<r|t>>>32-r,b1=(t,e,r)=>e<<r-32|t>>>64-r,w1=(t,e,r)=>t<<r-32|e>>>64-r;function E1(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var S1=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),B1=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,C1=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),A1=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,T1=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),I1=(t,e,r,n,i,o)=>e+r+n+i+o+(t/2**32|0)|0;var _1={fromBig:iu,split:c1,toBig:u1,shrSH:f1,shrSL:l1,rotrSH:h1,rotrSL:d1,rotrBH:p1,rotrBL:y1,rotr32H:g1,rotr32L:m1,rotlSH:x1,rotlSL:v1,rotlBH:b1,rotlBL:w1,add:E1,add3L:S1,add3H:B1,add4L:C1,add4H:A1,add5H:I1,add5L:T1},j=_1;var[R1,N1]=(()=>j.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))))(),dr=new Uint32Array(80),pr=new Uint32Array(80),Ls=class extends yn{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:r,Bh:n,Bl:i,Ch:o,Cl:s,Dh:a,Dl:c,Eh:u,El:f,Fh:l,Fl:h,Gh:g,Gl:d,Hh:p,Hl:y}=this;return[e,r,n,i,o,s,a,c,u,f,l,h,g,d,p,y]}set(e,r,n,i,o,s,a,c,u,f,l,h,g,d,p,y){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=o|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=f|0,this.Fh=l|0,this.Fl=h|0,this.Gh=g|0,this.Gl=d|0,this.Hh=p|0,this.Hl=y|0}process(e,r){for(let b=0;b<16;b++,r+=4)dr[b]=e.getUint32(r),pr[b]=e.getUint32(r+=4);for(let b=16;b<80;b++){let L=dr[b-15]|0,E=pr[b-15]|0,S=j.rotrSH(L,E,1)^j.rotrSH(L,E,8)^j.shrSH(L,E,7),k=j.rotrSL(L,E,1)^j.rotrSL(L,E,8)^j.shrSL(L,E,7),B=dr[b-2]|0,O=pr[b-2]|0,F=j.rotrSH(B,O,19)^j.rotrBH(B,O,61)^j.shrSH(B,O,6),P=j.rotrSL(B,O,19)^j.rotrBL(B,O,61)^j.shrSL(B,O,6),V=j.add4L(k,P,pr[b-7],pr[b-16]),Y=j.add4H(V,S,F,dr[b-7],dr[b-16]);dr[b]=Y|0,pr[b]=V|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:u,Dl:f,Eh:l,El:h,Fh:g,Fl:d,Gh:p,Gl:y,Hh:m,Hl:w}=this;for(let b=0;b<80;b++){let L=j.rotrSH(l,h,14)^j.rotrSH(l,h,18)^j.rotrBH(l,h,41),E=j.rotrSL(l,h,14)^j.rotrSL(l,h,18)^j.rotrBL(l,h,41),S=l&g^~l&p,k=h&d^~h&y,B=j.add5L(w,E,k,N1[b],pr[b]),O=j.add5H(B,m,L,S,R1[b],dr[b]),F=B|0,P=j.rotrSH(n,i,28)^j.rotrBH(n,i,34)^j.rotrBH(n,i,39),V=j.rotrSL(n,i,28)^j.rotrBL(n,i,34)^j.rotrBL(n,i,39),Y=n&o^n&a^o&a,tt=i&s^i&c^s&c;m=p|0,w=y|0,p=g|0,y=d|0,g=l|0,d=h|0,{h:l,l:h}=j.add(u|0,f|0,O|0,F|0),u=a|0,f=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let C=j.add3L(F,V,tt);n=j.add3H(C,O,P,Y),i=C|0}({h:n,l:i}=j.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=j.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=j.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=j.add(this.Dh|0,this.Dl|0,u|0,f|0),{h:l,l:h}=j.add(this.Eh|0,this.El|0,l|0,h|0),{h:g,l:d}=j.add(this.Fh|0,this.Fl|0,g|0,d|0),{h:p,l:y}=j.add(this.Gh|0,this.Gl|0,p|0,y|0),{h:m,l:w}=j.add(this.Hh|0,this.Hl|0,m|0,w|0),this.set(n,i,o,s,a,c,u,f,l,h,g,d,p,y,m,w)}roundClean(){dr.fill(0),pr.fill(0)}destroy(){this.buffer.fill(0),this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0)}};var ks=zi(()=>new Ls);var Wi={};kt(Wi,{bitGet:()=>K1,bitLen:()=>O1,bitMask:()=>Mn,bitSet:()=>F1,bytesToHex:()=>We,bytesToNumberBE:()=>Ye,bytesToNumberLE:()=>yr,concatBytes:()=>Ze,createHmacDrbg:()=>Os,ensureBytes:()=>At,equalBytes:()=>U1,hexToBytes:()=>Pr,hexToNumber:()=>Ps,numberToBytesBE:()=>gr,numberToBytesLE:()=>Or,numberToHexUnpadded:()=>au,numberToVarBytesBE:()=>k1,utf8ToBytes:()=>P1,validateObject:()=>Pe});var su=BigInt(0),Gi=BigInt(1),D1=BigInt(2),$i=t=>t instanceof Uint8Array,L1=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function We(t){if(!$i(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=L1[t[r]];return e}function au(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Ps(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}function Pr(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(e/2);for(let n=0;n<r.length;n++){let i=n*2,o=t.slice(i,i+2),s=Number.parseInt(o,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");r[n]=s}return r}function Ye(t){return Ps(We(t))}function yr(t){if(!$i(t))throw new Error("Uint8Array expected");return Ps(We(Uint8Array.from(t).reverse()))}function gr(t,e){return Pr(t.toString(16).padStart(e*2,"0"))}function Or(t,e){return gr(t,e).reverse()}function k1(t){return Pr(au(t))}function At(t,e,r){let n;if(typeof e=="string")try{n=Pr(e)}catch(o){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${o}`)}else if($i(e))n=Uint8Array.from(e);else throw new Error(`${t} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${t} expected ${r} bytes, got ${i}`);return n}function Ze(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!$i(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}function U1(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function P1(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function O1(t){let e;for(e=0;t>su;t>>=Gi,e+=1);return e}function K1(t,e){return t>>BigInt(e)&Gi}var F1=(t,e,r)=>t|(r?Gi:su)<<BigInt(e),Mn=t=>(D1<<BigInt(t-1))-Gi,Us=t=>new Uint8Array(t),ou=t=>Uint8Array.from(t);function Os(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Us(t),i=Us(t),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...l)=>r(i,n,...l),c=(l=Us())=>{i=a(ou([0]),l),n=a(),l.length!==0&&(i=a(ou([1]),l),n=a())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,h=[];for(;l<e;){n=a();let g=n.slice();h.push(g),l+=n.length}return Ze(...h)};return(l,h)=>{s(),c(l);let g;for(;!(g=h(u()));)c();return s(),g}}var M1={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||t instanceof Uint8Array,isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function Pe(t,e,r={}){let n=(i,o,s)=>{let a=M1[o];if(typeof a!="function")throw new Error(`Invalid validator "${o}", expected function`);let c=t[i];if(!(s&&c===void 0)&&!a(c,t))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${o}`)};for(let[i,o]of Object.entries(e))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return t}var Lt=BigInt(0),bt=BigInt(1),Kr=BigInt(2),V1=BigInt(3),Ks=BigInt(4),cu=BigInt(5),uu=BigInt(8),q1=BigInt(9),z1=BigInt(16);function pt(t,e){let r=t%e;return r>=Lt?r:e+r}function H1(t,e,r){if(r<=Lt||e<Lt)throw new Error("Expected power/modulo > 0");if(r===bt)return Lt;let n=bt;for(;e>Lt;)e&bt&&(n=n*t%r),t=t*t%r,e>>=bt;return n}function wt(t,e,r){let n=t;for(;e-- >Lt;)n*=n,n%=r;return n}function Yi(t,e){if(t===Lt||e<=Lt)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=pt(t,e),n=e,i=Lt,o=bt,s=bt,a=Lt;for(;r!==Lt;){let u=n/r,f=n%r,l=i-s*u,h=o-a*u;n=r,r=f,i=s,o=a,s=l,a=h}if(n!==bt)throw new Error("invert: does not exist");return pt(i,e)}function G1(t){let e=(t-bt)/Kr,r,n,i;for(r=t-bt,n=0;r%Kr===Lt;r/=Kr,n++);for(i=Kr;i<t&&H1(i,e,t)!==t-bt;i++);if(n===1){let s=(t+bt)/Ks;return function(c,u){let f=c.pow(u,s);if(!c.eql(c.sqr(f),u))throw new Error("Cannot find square root");return f}}let o=(r+bt)/Kr;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,f=a.pow(a.mul(a.ONE,i),r),l=a.pow(c,o),h=a.pow(c,r);for(;!a.eql(h,a.ONE);){if(a.eql(h,a.ZERO))return a.ZERO;let g=1;for(let p=a.sqr(h);g<u&&!a.eql(p,a.ONE);g++)p=a.sqr(p);let d=a.pow(f,bt<<BigInt(u-g-1));f=a.sqr(d),l=a.mul(l,d),h=a.mul(h,f),u=g}return l}}function $1(t){if(t%Ks===V1){let e=(t+bt)/Ks;return function(n,i){let o=n.pow(i,e);if(!n.eql(n.sqr(o),i))throw new Error("Cannot find square root");return o}}if(t%uu===cu){let e=(t-cu)/uu;return function(n,i){let o=n.mul(i,Kr),s=n.pow(o,e),a=n.mul(i,s),c=n.mul(n.mul(a,Kr),s),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),i))throw new Error("Cannot find square root");return u}}return t%z1,G1(t)}var fu=(t,e)=>(pt(t,e)&bt)===bt,W1=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function Fs(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=W1.reduce((n,i)=>(n[i]="function",n),e);return Pe(t,r)}function Y1(t,e,r){if(r<Lt)throw new Error("Expected power > 0");if(r===Lt)return t.ONE;if(r===bt)return e;let n=t.ONE,i=e;for(;r>Lt;)r&bt&&(n=t.mul(n,i)),i=t.sqr(i),r>>=bt;return n}function Z1(t,e){let r=new Array(e.length),n=e.reduce((o,s,a)=>t.is0(s)?o:(r[a]=o,t.mul(o,s)),t.ONE),i=t.inv(n);return e.reduceRight((o,s,a)=>t.is0(s)?o:(r[a]=t.mul(o,r[a]),t.mul(o,s)),i),r}function Ms(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function Zi(t,e,r=!1,n={}){if(t<=Lt)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:o}=Ms(t,e);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=$1(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:o,MASK:Mn(i),ZERO:Lt,ONE:bt,create:c=>pt(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Lt<=c&&c<t},is0:c=>c===Lt,isOdd:c=>(c&bt)===bt,neg:c=>pt(-c,t),eql:(c,u)=>c===u,sqr:c=>pt(c*c,t),add:(c,u)=>pt(c+u,t),sub:(c,u)=>pt(c-u,t),mul:(c,u)=>pt(c*u,t),pow:(c,u)=>Y1(a,c,u),div:(c,u)=>pt(c*Yi(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>Yi(c,t),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>Z1(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>r?Or(c,o):gr(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?yr(c):Ye(c)}});return Object.freeze(a)}function lu(t,e){if(!t.isOdd)throw new Error("Field doesn't have isOdd");let r=t.sqrt(e);return t.isOdd(r)?t.neg(r):r}function hu(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function Vs(t){let e=hu(t);return e+Math.ceil(e/2)}function du(t,e,r=!1){let n=t.length,i=hu(e),o=Vs(e);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?Ye(t):yr(t),a=pt(s,e-bt)+bt;return r?Or(a,i):gr(a,i)}var X1=BigInt(0),qs=BigInt(1);function Qi(t,e){let r=(i,o)=>{let s=o.negate();return i?s:o},n=i=>{let o=Math.ceil(e/i)+1,s=2**(i-1);return{windows:o,windowSize:s}};return{constTimeNegate:r,unsafeLadder(i,o){let s=t.ZERO,a=i;for(;o>X1;)o&qs&&(s=s.add(a)),a=a.double(),o>>=qs;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],u=i,f=u;for(let l=0;l<s;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,o,s){let{windows:a,windowSize:c}=n(i),u=t.ZERO,f=t.BASE,l=BigInt(2**i-1),h=2**i,g=BigInt(i);for(let d=0;d<a;d++){let p=d*c,y=Number(s&l);s>>=g,y>c&&(y-=h,s+=qs);let m=p,w=p+Math.abs(y)-1,b=d%2!==0,L=y<0;y===0?f=f.add(r(b,o[m])):u=u.add(r(L,o[w]))}return{p:u,f}},wNAFCached(i,o,s,a){let c=i._WINDOW_SIZE||1,u=o.get(i);return u||(u=this.precomputeWindow(i,c),c!==1&&o.set(i,a(u))),this.wNAF(c,u,s)}}}function Vn(t){return Fs(t.Fp),Pe(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Ms(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var we=BigInt(0),oe=BigInt(1),Xi=BigInt(2),J1=BigInt(8),j1={zip215:!0};function tg(t){let e=Vn(t);return Pe(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function Ji(t){let e=tg(t),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=e,u=Xi<<BigInt(a*8)-oe,f=r.create,l=e.uvRatio||((U,I)=>{try{return{isValid:!0,value:r.sqrt(U*r.inv(I))}}catch{return{isValid:!1,value:we}}}),h=e.adjustScalarBytes||(U=>U),g=e.domain||((U,I,z)=>{if(I.length||z)throw new Error("Contexts/pre-hash are not supported");return U}),d=U=>typeof U=="bigint"&&we<U,p=(U,I)=>d(U)&&d(I)&&U<I,y=U=>U===we||p(U,u);function m(U,I){if(p(U,I))return U;throw new Error(`Expected valid scalar < ${I}, got ${typeof U} ${U}`)}function w(U){return U===we?U:m(U,n)}let b=new Map;function L(U){if(!(U instanceof E))throw new Error("ExtendedPoint expected")}class E{constructor(I,z,$,Z){if(this.ex=I,this.ey=z,this.ez=$,this.et=Z,!y(I))throw new Error("x required");if(!y(z))throw new Error("y required");if(!y($))throw new Error("z required");if(!y(Z))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(I){if(I instanceof E)throw new Error("extended point not allowed");let{x:z,y:$}=I||{};if(!y(z)||!y($))throw new Error("invalid affine point");return new E(z,$,oe,f(z*$))}static normalizeZ(I){let z=r.invertBatch(I.map($=>$.ez));return I.map(($,Z)=>$.toAffine(z[Z])).map(E.fromAffine)}_setWindowSize(I){this._WINDOW_SIZE=I,b.delete(this)}assertValidity(){let{a:I,d:z}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:$,ey:Z,ez:et,et:it}=this,ht=f($*$),ot=f(Z*Z),ct=f(et*et),_t=f(ct*ct),Bt=f(ht*I),Mt=f(ct*f(Bt+ot)),Vt=f(_t+f(z*f(ht*ot)));if(Mt!==Vt)throw new Error("bad point: equation left != right (1)");let Dt=f($*Z),Gt=f(et*it);if(Dt!==Gt)throw new Error("bad point: equation left != right (2)")}equals(I){L(I);let{ex:z,ey:$,ez:Z}=this,{ex:et,ey:it,ez:ht}=I,ot=f(z*ht),ct=f(et*Z),_t=f($*ht),Bt=f(it*Z);return ot===ct&&_t===Bt}is0(){return this.equals(E.ZERO)}negate(){return new E(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:I}=e,{ex:z,ey:$,ez:Z}=this,et=f(z*z),it=f($*$),ht=f(Xi*f(Z*Z)),ot=f(I*et),ct=z+$,_t=f(f(ct*ct)-et-it),Bt=ot+it,Mt=Bt-ht,Vt=ot-it,Dt=f(_t*Mt),Gt=f(Bt*Vt),Ve=f(_t*Vt),Tr=f(Mt*Bt);return new E(Dt,Gt,Tr,Ve)}add(I){L(I);let{a:z,d:$}=e,{ex:Z,ey:et,ez:it,et:ht}=this,{ex:ot,ey:ct,ez:_t,et:Bt}=I;if(z===BigInt(-1)){let t0=f((et-Z)*(ct+ot)),e0=f((et+Z)*(ct-ot)),Uo=f(e0-t0);if(Uo===we)return this.double();let r0=f(it*Xi*Bt),n0=f(ht*Xi*_t),i0=n0+r0,o0=e0+t0,s0=n0-r0,ch=f(i0*Uo),uh=f(o0*s0),fh=f(i0*s0),lh=f(Uo*o0);return new E(ch,uh,lh,fh)}let Mt=f(Z*ot),Vt=f(et*ct),Dt=f(ht*$*Bt),Gt=f(it*_t),Ve=f((Z+et)*(ot+ct)-Mt-Vt),Tr=Gt-Dt,In=Gt+Dt,ja=f(Vt-z*Mt),ih=f(Ve*Tr),oh=f(In*ja),sh=f(Ve*ja),ah=f(Tr*In);return new E(ih,oh,ah,sh)}subtract(I){return this.add(I.negate())}wNAF(I){return B.wNAFCached(this,b,I,E.normalizeZ)}multiply(I){let{p:z,f:$}=this.wNAF(m(I,n));return E.normalizeZ([z,$])[0]}multiplyUnsafe(I){let z=w(I);return z===we?k:this.equals(k)||z===oe?this:this.equals(S)?this.wNAF(z).p:B.unsafeLadder(this,z)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return B.unsafeLadder(this,n).is0()}toAffine(I){let{ex:z,ey:$,ez:Z}=this,et=this.is0();I==null&&(I=et?J1:r.inv(Z));let it=f(z*I),ht=f($*I),ot=f(Z*I);if(et)return{x:we,y:oe};if(ot!==oe)throw new Error("invZ was invalid");return{x:it,y:ht}}clearCofactor(){let{h:I}=e;return I===oe?this:this.multiplyUnsafe(I)}static fromHex(I,z=!1){let{d:$,a:Z}=e,et=r.BYTES;I=At("pointHex",I,et);let it=I.slice(),ht=I[et-1];it[et-1]=ht&-129;let ot=yr(it);ot===we||(z?m(ot,u):m(ot,r.ORDER));let ct=f(ot*ot),_t=f(ct-oe),Bt=f($*ct-Z),{isValid:Mt,value:Vt}=l(_t,Bt);if(!Mt)throw new Error("Point.fromHex: invalid y coordinate");let Dt=(Vt&oe)===oe,Gt=(ht&128)!==0;if(!z&&Vt===we&&Gt)throw new Error("Point.fromHex: x=0 and x_0=1");return Gt!==Dt&&(Vt=f(-Vt)),E.fromAffine({x:Vt,y:ot})}static fromPrivateKey(I){return P(I).point}toRawBytes(){let{x:I,y:z}=this.toAffine(),$=Or(z,r.BYTES);return $[$.length-1]|=I&oe?128:0,$}toHex(){return We(this.toRawBytes())}}E.BASE=new E(e.Gx,e.Gy,oe,f(e.Gx*e.Gy)),E.ZERO=new E(we,oe,oe,we);let{BASE:S,ZERO:k}=E,B=Qi(E,a*8);function O(U){return pt(U,n)}function F(U){return O(yr(U))}function P(U){let I=a;U=At("private key",U,I);let z=At("hashed private key",o(U),2*I),$=h(z.slice(0,I)),Z=z.slice(I,2*I),et=F($),it=S.multiply(et),ht=it.toRawBytes();return{head:$,prefix:Z,scalar:et,point:it,pointBytes:ht}}function V(U){return P(U).pointBytes}function Y(U=new Uint8Array,...I){let z=Ze(...I);return F(o(g(z,At("context",U),!!i)))}function tt(U,I,z={}){U=At("message",U),i&&(U=i(U));let{prefix:$,scalar:Z,pointBytes:et}=P(I),it=Y(z.context,$,U),ht=S.multiply(it).toRawBytes(),ot=Y(z.context,ht,et,U),ct=O(it+ot*Z);w(ct);let _t=Ze(ht,Or(ct,r.BYTES));return At("result",_t,a*2)}let C=j1;function R(U,I,z,$=C){let{context:Z,zip215:et}=$,it=r.BYTES;U=At("signature",U,2*it),I=At("message",I),i&&(I=i(I));let ht=yr(U.slice(it,2*it)),ot,ct,_t;try{ot=E.fromHex(z,et),ct=E.fromHex(U.slice(0,it),et),_t=S.multiplyUnsafe(ht)}catch{return!1}if(!et&&ot.isSmallOrder())return!1;let Bt=Y(Z,ct.toRawBytes(),ot.toRawBytes(),I);return ct.add(ot.multiplyUnsafe(Bt)).subtract(_t).clearCofactor().equals(E.ZERO)}return S._setWindowSize(8),{CURVE:e,getPublicKey:V,sign:tt,verify:R,ExtendedPoint:E,utils:{getExtendedPublicKey:P,randomPrivateKey:()=>s(r.BYTES),precompute(U=8,I=E.BASE){return I._setWindowSize(U),I.multiply(BigInt(3)),I}}}}var Hs=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),pu=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),ev=BigInt(0),eg=BigInt(1),zs=BigInt(2),rg=BigInt(5),yu=BigInt(10),ng=BigInt(20),ig=BigInt(40),gu=BigInt(80);function og(t){let e=Hs,n=t*t%e*t%e,i=wt(n,zs,e)*n%e,o=wt(i,eg,e)*t%e,s=wt(o,rg,e)*o%e,a=wt(s,yu,e)*s%e,c=wt(a,ng,e)*a%e,u=wt(c,ig,e)*c%e,f=wt(u,gu,e)*u%e,l=wt(f,gu,e)*u%e,h=wt(l,yu,e)*s%e;return{pow_p_5_8:wt(h,zs,e)*t%e,b2:n}}function sg(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function ag(t,e){let r=Hs,n=pt(e*e*e,r),i=pt(n*n*e,r),o=og(t*i).pow_p_5_8,s=pt(t*n*o,r),a=pt(e*s*s,r),c=s,u=pt(s*pu,r),f=a===t,l=a===pt(-t,r),h=a===pt(-t*pu,r);return f&&(s=c),(l||h)&&(s=u),fu(s,r)&&(s=pt(-s,r)),{isValid:f||l,value:s}}var Qe=Zi(Hs,void 0,!0),Gs={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:Qe,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:ks,randomBytes:pn,adjustScalarBytes:sg,uvRatio:ag},gn=Ji(Gs);function mu(t,e,r){if(e.length>255)throw new Error("Context is too big");return qi(Ns("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var rv=Ji({...Gs,domain:mu}),nv=Ji({...Gs,domain:mu,prehash:ks});var cg=(Qe.ORDER+BigInt(3))/BigInt(8),iv=Qe.pow(zs,cg),ov=Qe.sqrt(Qe.neg(Qe.ONE)),sv=(Qe.ORDER-BigInt(5))/BigInt(8),av=BigInt(486662);var cv=lu(Qe,Qe.neg(BigInt(486664)));var uv=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),fv=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),lv=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),hv=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var dv=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var mn=32,Xe=64,ji=32;async function xu(){let t=gn.utils.randomPrivateKey(),e=gn.getPublicKey(t);return{privateKey:Eu(t,e),publicKey:e}}async function vu(t){if(t.length!==ji)throw new TypeError('"seed" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=t,r=gn.getPublicKey(e);return{privateKey:Eu(e,r),publicKey:r}}async function bu(t,e){let r=t.subarray(0,ji);return gn.sign(e,r)}async function wu(t,e,r){return gn.verify(e,r,t)}function Eu(t,e){let r=new Uint8Array(Xe);for(let n=0;n<ji;n++)r[n]=t[n],r[ji+n]=e[n];return r}function Ee(t,e){e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=$e(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return ln(r)}var jt={get(t=globalThis){let e=t.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var $s={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function Ws(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",o=t?.saltLength??16,s=t?.iterations??32767,a=jt.get();r*=8;async function c(l,h){let g=a.getRandomValues(new Uint8Array(o)),d=a.getRandomValues(new Uint8Array(n)),p={name:e,iv:d};typeof h=="string"&&(h=gt(h));let y;if(h.length===0){y=await a.subtle.importKey("jwk",$s,{name:"AES-GCM"},!0,["encrypt"]);try{let w={name:"PBKDF2",salt:g,iterations:s,hash:{name:i}},b=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(w,b,{name:e,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",$s,{name:"AES-GCM"},!0,["encrypt"])}}else{let w={name:"PBKDF2",salt:g,iterations:s,hash:{name:i}},b=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(w,b,{name:e,length:r},!0,["encrypt"])}let m=await a.subtle.encrypt(p,y,l);return Ee([g,p.iv,new Uint8Array(m)])}async function u(l,h){let g=l.subarray(0,o),d=l.subarray(o,o+n),p=l.subarray(o+n),y={name:e,iv:d};typeof h=="string"&&(h=gt(h));let m;if(h.length===0)try{let b={name:"PBKDF2",salt:g,iterations:s,hash:{name:i}},L=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,L,{name:e,length:r},!0,["decrypt"])}catch{m=await a.subtle.importKey("jwk",$s,{name:"AES-GCM"},!0,["decrypt"])}else{let b={name:"PBKDF2",salt:g,iterations:s,hash:{name:i}},L=await a.subtle.importKey("raw",h,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(b,L,{name:e,length:r},!0,["decrypt"])}let w=await a.subtle.decrypt(y,m,p);return new Uint8Array(w)}return{encrypt:c,decrypt:u}}async function xn(t,e){let n=await Ws().encrypt(t,e);return Jr.encode(n)}var Ys=new Float32Array([-0]),mr=new Uint8Array(Ys.buffer);function Bu(t,e,r){Ys[0]=t,e[r]=mr[0],e[r+1]=mr[1],e[r+2]=mr[2],e[r+3]=mr[3]}function Cu(t,e){return mr[0]=t[e],mr[1]=t[e+1],mr[2]=t[e+2],mr[3]=t[e+3],Ys[0]}var Zs=new Float64Array([-0]),$t=new Uint8Array(Zs.buffer);function Au(t,e,r){Zs[0]=t,e[r]=$t[0],e[r+1]=$t[1],e[r+2]=$t[2],e[r+3]=$t[3],e[r+4]=$t[4],e[r+5]=$t[5],e[r+6]=$t[6],e[r+7]=$t[7]}function Tu(t,e){return $t[0]=t[e],$t[1]=t[e+1],$t[2]=t[e+2],$t[3]=t[e+3],$t[4]=t[e+4],$t[5]=t[e+5],$t[6]=t[e+6],$t[7]=t[e+7],Zs[0]}var fg=BigInt(Number.MAX_SAFE_INTEGER),lg=BigInt(Number.MIN_SAFE_INTEGER),te=class t{lo;hi;constructor(e,r){this.lo=e|0,this.hi=r|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return Fr;if(e<fg&&e>lg)return this.fromNumber(Number(e));let r=e<0n;r&&(e=-e);let n=e>>32n,i=e-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>Iu&&(i=0n,++n>Iu&&(n=0n))),new t(Number(i),Number(n))}static fromNumber(e){if(e===0)return Fr;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new t(n,i)}static from(e){return typeof e=="number"?t.fromNumber(e):typeof e=="bigint"?t.fromBigInt(e):typeof e=="string"?t.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new t(e.low>>>0,e.high>>>0):Fr}},Fr=new te(0,0);Fr.toBigInt=function(){return 0n};Fr.zzEncode=Fr.zzDecode=function(){return this};Fr.length=function(){return 1};var Iu=4294967296n;function _u(t){let e=0,r=0;for(let n=0;n<t.length;++n)r=t.charCodeAt(n),r<128?e+=1:r<2048?e+=2:(r&64512)===55296&&(t.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function Ru(t,e,r){if(r-e<1)return"";let i,o=[],s=0,a;for(;e<r;)a=t[e++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(a&31)<<6|t[e++]&63:a>239&&a<365?(a=((a&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(t[e++]&63)<<6|t[e++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function Qs(t,e,r){let n=r,i,o;for(let s=0;s<t.length;++s)i=t.charCodeAt(s),i<128?e[r++]=i:i<2048?(e[r++]=i>>6|192,e[r++]=i&63|128):(i&64512)===55296&&((o=t.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,e[r++]=i>>18|240,e[r++]=i>>12&63|128,e[r++]=i>>6&63|128,e[r++]=i&63|128):(e[r++]=i>>12|224,e[r++]=i>>6&63|128,e[r++]=i&63|128);return r-n}function Se(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function to(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var Xs=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,Se(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw Se(this,4);return to(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw Se(this,4);return to(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw Se(this,4);let e=Cu(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw Se(this,4);let e=Tu(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw Se(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return Ru(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw Se(this,e);this.pos+=e}else do if(this.pos>=this.len)throw Se(this);while(this.buf[this.pos++]&128);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new te(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw Se(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,e}if(this.len-this.pos>4){for(;r<5;++r)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;r<5;++r){if(this.pos>=this.len)throw Se(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw Se(this,8);let e=to(this.buf,this.pos+=4),r=to(this.buf,this.pos+=4);return new te(e,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function Js(t){return new Xs(t instanceof Uint8Array?t:t.subarray())}function xr(t,e){let r=Js(t);return e.decode(r)}function js(t){let e=t??8192,r=e>>>1,n,i=e;return function(s){if(s<1||s>r)return $e(s);i+s>e&&(n=$e(e),i=0);let a=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),a}}var Mr=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function ta(){}var ra=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},hg=js();function dg(t){return globalThis.Buffer!=null?$e(t):hg(t)}var Hn=class{len;head;tail;states;constructor(){this.len=0,this.head=new Mr(ta,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new Mr(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new na((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(qn,10,te.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=te.fromBigInt(e);return this._push(qn,r.length(),r)}uint64Number(e){let r=te.fromNumber(e);return this._push(qn,r.length(),r)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let r=te.fromBigInt(e).zzEncode();return this._push(qn,r.length(),r)}sint64Number(e){let r=te.fromNumber(e).zzEncode();return this._push(qn,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(ea,1,e?1:0)}fixed32(e){return this._push(zn,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=te.fromBigInt(e);return this._push(zn,4,r.lo)._push(zn,4,r.hi)}fixed64Number(e){let r=te.fromNumber(e);return this._push(zn,4,r.lo)._push(zn,4,r.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(Bu,4,e)}double(e){return this._push(Au,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(ea,1,0):this.uint32(r)._push(yg,r,e)}string(e){let r=_u(e);return r!==0?this.uint32(r)._push(Qs,r,e):this._push(ea,1,0)}fork(){return this.states=new ra(this),this.head=this.tail=new Mr(ta,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(ta,0,0),this.len=0),this}ldelim(){let e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=r,this.len+=n),this}finish(){let e=this.head.next,r=dg(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function ea(t,e,r){e[r]=t&255}function pg(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var na=class extends Mr{next;constructor(e,r){super(pg,e,r),this.next=void 0}};function qn(t,e,r){for(;t.hi!==0;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}function zn(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function yg(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(Hn.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(gg,e,t),this},Hn.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(mg,e,t),this});function gg(t,e,r){e.set(t,r)}function mg(t,e,r){t.length<40?Qs(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(gt(t),r)}function ia(){return new Hn}function vr(t,e){let r=ia();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var vn;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(vn||(vn={}));function eo(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function Gn(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(o,s){let a=e(o);s.int32(a)},n=function(o){let s=o.int32();return e(s)};return eo("enum",vn.VARINT,r,n)}function br(t,e){return eo("message",vn.LENGTH_DELIMITED,t,e)}var Et;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(Et||(Et={}));var oa;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(oa||(oa={}));(function(t){t.codec=()=>Gn(oa)})(Et||(Et={}));var Oe;(function(t){let e;t.codec=()=>(e==null&&(e=br((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Et.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=Et.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>vr(r,t.codec()),t.decode=r=>xr(r,t.codec())})(Oe||(Oe={}));var Ke;(function(t){let e;t.codec=()=>(e==null&&(e=br((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Et.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=Et.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>vr(r,t.codec()),t.decode=r=>xr(r,t.codec())})(Ke||(Ke={}));var $n=class{_key;constructor(e){this._key=bn(e,mn)}async verify(e,r){return wu(this._key,r,e)}marshal(){return this._key}get bytes(){return Oe.encode({Type:Et.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Ut(this.bytes,e.bytes)}async hash(){let{bytes:e}=await zt.digest(this.bytes);return e}},Vr=class{_key;_publicKey;constructor(e,r){this._key=bn(e,Xe),this._publicKey=bn(r,mn)}async sign(e){return bu(this._key,e)}get public(){return new $n(this._publicKey)}marshal(){return this._key}get bytes(){return Ke.encode({Type:Et.Ed25519,Data:this.marshal()}).subarray()}equals(e){return Ut(this.bytes,e.bytes)}async hash(){let{bytes:e}=await zt.digest(this.bytes);return e}async id(){let e=_e.digest(this.public.bytes);return qt.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return xn(this.bytes,e);throw new nt(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function xg(t){if(t.length>Xe){t=bn(t,Xe+mn);let n=t.subarray(0,Xe),i=t.subarray(Xe,t.length);return new Vr(n,i)}t=bn(t,Xe);let e=t.subarray(0,Xe),r=t.subarray(mn);return new Vr(e,r)}function vg(t){return t=bn(t,mn),new $n(t)}async function bg(){let{privateKey:t,publicKey:e}=await xu();return new Vr(t,e)}async function Du(t){let{privateKey:e,publicKey:r}=await vu(t);return new Vr(e,r)}function bn(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new nt(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}function Nt(t,e="utf8"){let r=Fi[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var ub=Tt(Rt(),1),fb=Tt(Ui(),1),Lu=Tt(dt(),1);function Be(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ee([new Uint8Array(e-r.length),r])}return Nt(r,"base64url")}function se(t){let e=ku(t);return new Lu.default.jsbn.BigInteger(Nt(e,"base16"),16)}function ku(t,e){let r=gt(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=Ee([new Uint8Array(e-r.length),r])}return r}var wg={"P-256":256,"P-384":384,"P-521":521},Eg=Object.keys(wg),wb=Eg.join(" / ");var la={};kt(la,{MAX_KEY_SIZE:()=>Qn,RsaPrivateKey:()=>wn,RsaPublicKey:()=>Zn,fromJwk:()=>Lg,generateKeyPair:()=>kg,unmarshalRsaPrivateKey:()=>Ng,unmarshalRsaPublicKey:()=>Dg});var Yn=Tt(dt(),1);var ow=Tt(Fu(),1);function no(t){if(isNaN(t)||t<=0)throw new nt("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return pn(t)}var Vb=Tt(Ki(),1),ua=Tt(dt(),1);function Mu(t,e){return e.map(r=>se(t[r]))}function Vu(t){return ua.default.pki.setRsaPrivateKey(...Mu(t,["n","e","d","p","q","dp","dq","qi"]))}function qu(t){return ua.default.pki.setRsaPublicKey(...Mu(t,["n","e"]))}var zr={};kt(zr,{jwkToPkcs1:()=>Ag,jwkToPkix:()=>Ig,pkcs1ToJwk:()=>Cg,pkixToJwk:()=>Tg});var Hb=Tt(Pn(),1),Gb=Tt(Ki(),1);var Je=Tt(dt(),1);function Cg(t){let e=Je.default.asn1.fromDer(Nt(t,"ascii")),r=Je.default.pki.privateKeyFromAsn1(e);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 Ag(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new nt("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Je.default.pki.privateKeyToAsn1({n:se(t.n),e:se(t.e),d:se(t.d),p:se(t.p),q:se(t.q),dP:se(t.dp),dQ:se(t.dq),qInv:se(t.qi)});return gt(Je.default.asn1.toDer(e).getBytes(),"ascii")}function Tg(t){let e=Je.default.asn1.fromDer(Nt(t,"ascii")),r=Je.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Be(r.n),e:Be(r.e)}}function Ig(t){if(t.n==null||t.e==null)throw new nt("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Je.default.pki.publicKeyToAsn1({n:se(t.n),e:se(t.e)});return gt(Je.default.asn1.toDer(e).getBytes(),"ascii")}async function zu(t){let e=await jt.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await $u(e);return{privateKey:r[0],publicKey:r[1]}}async function fa(t){let r=[await jt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await _g(t)],n=await $u({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Hu(t,e){let r=await jt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await jt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,0,n.byteLength)}async function Gu(t,e,r){let n=await jt.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return jt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)}async function $u(t){if(t.privateKey==null||t.publicKey==null)throw new nt("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([jt.get().subtle.exportKey("jwk",t.privateKey),jt.get().subtle.exportKey("jwk",t.publicKey)])}async function _g(t){return jt.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Wu(t,e,r,n){let i=e?qu(t):Vu(t),o=Nt(Uint8Array.from(r),"ascii"),s=n(o,i);return gt(s,"ascii")}function Yu(t,e){return Wu(t,!0,e,(r,n)=>n.encrypt(r))}function Zu(t,e){return Wu(t,!1,e,(r,n)=>n.decrypt(r))}function io(t){if(t.kty!=="RSA")throw new nt("invalid key type","ERR_INVALID_KEY_TYPE");if(t.n==null)throw new nt("invalid key modulus","ERR_INVALID_KEY_MODULUS");return gt(t.n,"base64url").length*8}var Qn=8192,Zn=class{_key;constructor(e){this._key=e}async verify(e,r){return Gu(this._key,r,e)}marshal(){return zr.jwkToPkix(this._key)}get bytes(){return Oe.encode({Type:Et.RSA,Data:this.marshal()}).subarray()}encrypt(e){return Yu(this._key,e)}equals(e){return Ut(this.bytes,e.bytes)}async hash(){let{bytes:e}=await zt.digest(this.bytes);return e}},wn=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return no(16)}async sign(e){return Hu(this._key,e)}get public(){if(this._publicKey==null)throw new nt("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Zn(this._publicKey)}decrypt(e){return Zu(this._key,e)}marshal(){return zr.jwkToPkcs1(this._key)}get bytes(){return Ke.encode({Type:Et.RSA,Data:this.marshal()}).subarray()}equals(e){return Ut(this.bytes,e.bytes)}async hash(){let{bytes:e}=await zt.digest(this.bytes);return e}async id(){let e=await this.public.hash();return Nt(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new Yn.default.util.ByteBuffer(this.marshal()),i=Yn.default.asn1.fromDer(n),o=Yn.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return Yn.default.pki.encryptRsaPrivateKey(o,e,s)}else{if(r==="libp2p-key")return xn(this.bytes,e);throw new nt(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Ng(t){let e=zr.pkcs1ToJwk(t);if(io(e)>Qn)throw new nt("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await fa(e);return new wn(r.privateKey,r.publicKey)}function Dg(t){let e=zr.pkixToJwk(t);if(io(e)>Qn)throw new nt("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Zn(e)}async function Lg(t){if(io(t)>Qn)throw new nt("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await fa(t);return new wn(e.privateKey,e.publicKey)}async function kg(t){if(t>Qn)throw new nt("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await zu(t);return new wn(e.privateKey,e.publicKey)}var ma={};kt(ma,{Secp256k1PrivateKey:()=>Jn,Secp256k1PublicKey:()=>Xn,generateKeyPair:()=>Zg,unmarshalSecp256k1PrivateKey:()=>Wg,unmarshalSecp256k1PublicKey:()=>Yg});var Ug=(t,e,r)=>t&e^~t&r,Pg=(t,e,r)=>t&e^t&r^e&r,Og=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298]),wr=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),Er=new Uint32Array(64),ha=class extends yn{constructor(){super(64,32,8,!1),this.A=wr[0]|0,this.B=wr[1]|0,this.C=wr[2]|0,this.D=wr[3]|0,this.E=wr[4]|0,this.F=wr[5]|0,this.G=wr[6]|0,this.H=wr[7]|0}get(){let{A:e,B:r,C:n,D:i,E:o,F:s,G:a,H:c}=this;return[e,r,n,i,o,s,a,c]}set(e,r,n,i,o,s,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=a|0,this.H=c|0}process(e,r){for(let l=0;l<16;l++,r+=4)Er[l]=e.getUint32(r,!1);for(let l=16;l<64;l++){let h=Er[l-15],g=Er[l-2],d=be(h,7)^be(h,18)^h>>>3,p=be(g,17)^be(g,19)^g>>>10;Er[l]=p+Er[l-7]+d+Er[l-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:u,H:f}=this;for(let l=0;l<64;l++){let h=be(a,6)^be(a,11)^be(a,25),g=f+h+Ug(a,c,u)+Og[l]+Er[l]|0,p=(be(n,2)^be(n,13)^be(n,22))+Pg(n,i,o)|0;f=u,u=c,c=a,a=s+g|0,s=o,o=i,i=n,n=g+p|0}n=n+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+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,o,s,a,c,u,f)}roundClean(){Er.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var Qu=zi(()=>new ha);function Kg(t){let e=Vn(t);Pe(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=e;if(r){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:Fg,hexToBytes:Mg}=Wi,Hr={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=Hr;if(t.length<2||t[0]!==2)throw new e("Invalid signature integer tag");let r=t[1],n=t.subarray(2,r+2);if(!r||n.length!==r)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:Fg(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=Hr,r=typeof t=="string"?Mg(t):t;if(!(r instanceof Uint8Array))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new e("Invalid signature tag");if(r[1]!==n-2)throw new e("Invalid signature: incorrect length");let{d:i,l:o}=Hr._parseInt(r.subarray(2)),{d:s,l:a}=Hr._parseInt(o);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s}},hexFromSig(t){let e=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=e(r(t.s)),i=e(r(t.r)),o=n.length/2,s=i.length/2,a=r(o),c=r(s);return`30${r(s+o+4)}02${c}${i}02${a}${n}`}},je=BigInt(0),ye=BigInt(1),pw=BigInt(2),Xu=BigInt(3),yw=BigInt(4);function Vg(t){let e=Kg(t),{Fp:r}=e,n=e.toBytes||((d,p,y)=>{let m=p.toAffine();return Ze(Uint8Array.from([4]),r.toBytes(m.x),r.toBytes(m.y))}),i=e.fromBytes||(d=>{let p=d.subarray(1),y=r.fromBytes(p.subarray(0,r.BYTES)),m=r.fromBytes(p.subarray(r.BYTES,2*r.BYTES));return{x:y,y:m}});function o(d){let{a:p,b:y}=e,m=r.sqr(d),w=r.mul(m,d);return r.add(r.add(w,r.mul(d,p)),y)}if(!r.eql(r.sqr(e.Gy),o(e.Gx)))throw new Error("bad generator point: equation left != right");function s(d){return typeof d=="bigint"&&je<d&&d<e.n}function a(d){if(!s(d))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(d){let{allowedPrivateKeyLengths:p,nByteLength:y,wrapPrivateKey:m,n:w}=e;if(p&&typeof d!="bigint"){if(d instanceof Uint8Array&&(d=We(d)),typeof d!="string"||!p.includes(d.length))throw new Error("Invalid key");d=d.padStart(y*2,"0")}let b;try{b=typeof d=="bigint"?d:Ye(At("private key",d,y))}catch{throw new Error(`private key must be ${y} bytes, hex or bigint, not ${typeof d}`)}return m&&(b=pt(b,w)),a(b),b}let u=new Map;function f(d){if(!(d instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(p,y,m){if(this.px=p,this.py=y,this.pz=m,p==null||!r.isValid(p))throw new Error("x required");if(y==null||!r.isValid(y))throw new Error("y required");if(m==null||!r.isValid(m))throw new Error("z required")}static fromAffine(p){let{x:y,y:m}=p||{};if(!p||!r.isValid(y)||!r.isValid(m))throw new Error("invalid affine point");if(p instanceof l)throw new Error("projective point not allowed");let w=b=>r.eql(b,r.ZERO);return w(y)&&w(m)?l.ZERO:new l(y,m,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(p){let y=r.invertBatch(p.map(m=>m.pz));return p.map((m,w)=>m.toAffine(y[w])).map(l.fromAffine)}static fromHex(p){let y=l.fromAffine(i(At("pointHex",p)));return y.assertValidity(),y}static fromPrivateKey(p){return l.BASE.multiply(c(p))}_setWindowSize(p){this._WINDOW_SIZE=p,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:p,y}=this.toAffine();if(!r.isValid(p)||!r.isValid(y))throw new Error("bad point: x or y not FE");let m=r.sqr(y),w=o(p);if(!r.eql(m,w))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:y,py:m,pz:w}=this,{px:b,py:L,pz:E}=p,S=r.eql(r.mul(y,E),r.mul(b,w)),k=r.eql(r.mul(m,E),r.mul(L,w));return S&&k}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){let{a:p,b:y}=e,m=r.mul(y,Xu),{px:w,py:b,pz:L}=this,E=r.ZERO,S=r.ZERO,k=r.ZERO,B=r.mul(w,w),O=r.mul(b,b),F=r.mul(L,L),P=r.mul(w,b);return P=r.add(P,P),k=r.mul(w,L),k=r.add(k,k),E=r.mul(p,k),S=r.mul(m,F),S=r.add(E,S),E=r.sub(O,S),S=r.add(O,S),S=r.mul(E,S),E=r.mul(P,E),k=r.mul(m,k),F=r.mul(p,F),P=r.sub(B,F),P=r.mul(p,P),P=r.add(P,k),k=r.add(B,B),B=r.add(k,B),B=r.add(B,F),B=r.mul(B,P),S=r.add(S,B),F=r.mul(b,L),F=r.add(F,F),B=r.mul(F,P),E=r.sub(E,B),k=r.mul(F,O),k=r.add(k,k),k=r.add(k,k),new l(E,S,k)}add(p){f(p);let{px:y,py:m,pz:w}=this,{px:b,py:L,pz:E}=p,S=r.ZERO,k=r.ZERO,B=r.ZERO,O=e.a,F=r.mul(e.b,Xu),P=r.mul(y,b),V=r.mul(m,L),Y=r.mul(w,E),tt=r.add(y,m),C=r.add(b,L);tt=r.mul(tt,C),C=r.add(P,V),tt=r.sub(tt,C),C=r.add(y,w);let R=r.add(b,E);return C=r.mul(C,R),R=r.add(P,Y),C=r.sub(C,R),R=r.add(m,w),S=r.add(L,E),R=r.mul(R,S),S=r.add(V,Y),R=r.sub(R,S),B=r.mul(O,C),S=r.mul(F,Y),B=r.add(S,B),S=r.sub(V,B),B=r.add(V,B),k=r.mul(S,B),V=r.add(P,P),V=r.add(V,P),Y=r.mul(O,Y),C=r.mul(F,C),V=r.add(V,Y),Y=r.sub(P,Y),Y=r.mul(O,Y),C=r.add(C,Y),P=r.mul(V,C),k=r.add(k,P),P=r.mul(R,C),S=r.mul(tt,S),S=r.sub(S,P),P=r.mul(tt,V),B=r.mul(R,B),B=r.add(B,P),new l(S,k,B)}subtract(p){return this.add(p.negate())}is0(){return this.equals(l.ZERO)}wNAF(p){return g.wNAFCached(this,u,p,y=>{let m=r.invertBatch(y.map(w=>w.pz));return y.map((w,b)=>w.toAffine(m[b])).map(l.fromAffine)})}multiplyUnsafe(p){let y=l.ZERO;if(p===je)return y;if(a(p),p===ye)return this;let{endo:m}=e;if(!m)return g.unsafeLadder(this,p);let{k1neg:w,k1:b,k2neg:L,k2:E}=m.splitScalar(p),S=y,k=y,B=this;for(;b>je||E>je;)b&ye&&(S=S.add(B)),E&ye&&(k=k.add(B)),B=B.double(),b>>=ye,E>>=ye;return w&&(S=S.negate()),L&&(k=k.negate()),k=new l(r.mul(k.px,m.beta),k.py,k.pz),S.add(k)}multiply(p){a(p);let y=p,m,w,{endo:b}=e;if(b){let{k1neg:L,k1:E,k2neg:S,k2:k}=b.splitScalar(y),{p:B,f:O}=this.wNAF(E),{p:F,f:P}=this.wNAF(k);B=g.constTimeNegate(L,B),F=g.constTimeNegate(S,F),F=new l(r.mul(F.px,b.beta),F.py,F.pz),m=B.add(F),w=O.add(P)}else{let{p:L,f:E}=this.wNAF(y);m=L,w=E}return l.normalizeZ([m,w])[0]}multiplyAndAddUnsafe(p,y,m){let w=l.BASE,b=(E,S)=>S===je||S===ye||!E.equals(w)?E.multiplyUnsafe(S):E.multiply(S),L=b(this,y).add(b(p,m));return L.is0()?void 0:L}toAffine(p){let{px:y,py:m,pz:w}=this,b=this.is0();p==null&&(p=b?r.ONE:r.inv(w));let L=r.mul(y,p),E=r.mul(m,p),S=r.mul(w,p);if(b)return{x:r.ZERO,y:r.ZERO};if(!r.eql(S,r.ONE))throw new Error("invZ was invalid");return{x:L,y:E}}isTorsionFree(){let{h:p,isTorsionFree:y}=e;if(p===ye)return!0;if(y)return y(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:p,clearCofactor:y}=e;return p===ye?this:y?y(l,this):this.multiplyUnsafe(e.h)}toRawBytes(p=!0){return this.assertValidity(),n(l,this,p)}toHex(p=!0){return We(this.toRawBytes(p))}}l.BASE=new l(e.Gx,e.Gy,r.ONE),l.ZERO=new l(r.ZERO,r.ONE,r.ZERO);let h=e.nBitLength,g=Qi(l,e.endo?Math.ceil(h/2):h);return{CURVE:e,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function qg(t){let e=Vn(t);return Pe(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Ju(t){let e=qg(t),{Fp:r,n}=e,i=r.BYTES+1,o=2*r.BYTES+1;function s(C){return je<C&&C<r.ORDER}function a(C){return pt(C,n)}function c(C){return Yi(C,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:h}=Vg({...e,toBytes(C,R,N){let U=R.toAffine(),I=r.toBytes(U.x),z=Ze;return N?z(Uint8Array.from([R.hasEvenY()?2:3]),I):z(Uint8Array.from([4]),I,r.toBytes(U.y))},fromBytes(C){let R=C.length,N=C[0],U=C.subarray(1);if(R===i&&(N===2||N===3)){let I=Ye(U);if(!s(I))throw new Error("Point is not on curve");let z=l(I),$=r.sqrt(z),Z=($&ye)===ye;return(N&1)===1!==Z&&($=r.neg($)),{x:I,y:$}}else if(R===o&&N===4){let I=r.fromBytes(U.subarray(0,r.BYTES)),z=r.fromBytes(U.subarray(r.BYTES,2*r.BYTES));return{x:I,y:z}}else throw new Error(`Point of length ${R} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),g=C=>We(gr(C,e.nByteLength));function d(C){let R=n>>ye;return C>R}function p(C){return d(C)?a(-C):C}let y=(C,R,N)=>Ye(C.slice(R,N));class m{constructor(R,N,U){this.r=R,this.s=N,this.recovery=U,this.assertValidity()}static fromCompact(R){let N=e.nByteLength;return R=At("compactSignature",R,N*2),new m(y(R,0,N),y(R,N,2*N))}static fromDER(R){let{r:N,s:U}=Hr.toSig(At("DER",R));return new m(N,U)}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(R){return new m(this.r,this.s,R)}recoverPublicKey(R){let{r:N,s:U,recovery:I}=this,z=k(At("msgHash",R));if(I==null||![0,1,2,3].includes(I))throw new Error("recovery id invalid");let $=I===2||I===3?N+e.n:N;if($>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let Z=I&1?"03":"02",et=u.fromHex(Z+g($)),it=c($),ht=a(-z*it),ot=a(U*it),ct=u.BASE.multiplyAndAddUnsafe(et,ht,ot);if(!ct)throw new Error("point at infinify");return ct.assertValidity(),ct}hasHighS(){return d(this.s)}normalizeS(){return this.hasHighS()?new m(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 g(this.r)+g(this.s)}}let w={isValidPrivateKey(C){try{return f(C),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let C=Vs(e.n);return du(e.randomBytes(C),e.n)},precompute(C=8,R=u.BASE){return R._setWindowSize(C),R.multiply(BigInt(3)),R}};function b(C,R=!0){return u.fromPrivateKey(C).toRawBytes(R)}function L(C){let R=C instanceof Uint8Array,N=typeof C=="string",U=(R||N)&&C.length;return R?U===i||U===o:N?U===2*i||U===2*o:C instanceof u}function E(C,R,N=!0){if(L(C))throw new Error("first arg must be private key");if(!L(R))throw new Error("second arg must be public key");return u.fromHex(R).multiply(f(C)).toRawBytes(N)}let S=e.bits2int||function(C){let R=Ye(C),N=C.length*8-e.nBitLength;return N>0?R>>BigInt(N):R},k=e.bits2int_modN||function(C){return a(S(C))},B=Mn(e.nBitLength);function O(C){if(typeof C!="bigint")throw new Error("bigint expected");if(!(je<=C&&C<B))throw new Error(`bigint expected < 2^${e.nBitLength}`);return gr(C,e.nByteLength)}function F(C,R,N=P){if(["recovered","canonical"].some(Bt=>Bt in N))throw new Error("sign() legacy options not supported");let{hash:U,randomBytes:I}=e,{lowS:z,prehash:$,extraEntropy:Z}=N;z==null&&(z=!0),C=At("msgHash",C),$&&(C=At("prehashed msgHash",U(C)));let et=k(C),it=f(R),ht=[O(it),O(et)];if(Z!=null){let Bt=Z===!0?I(r.BYTES):Z;ht.push(At("extraEntropy",Bt))}let ot=Ze(...ht),ct=et;function _t(Bt){let Mt=S(Bt);if(!h(Mt))return;let Vt=c(Mt),Dt=u.BASE.multiply(Mt).toAffine(),Gt=a(Dt.x);if(Gt===je)return;let Ve=a(Vt*a(ct+Gt*it));if(Ve===je)return;let Tr=(Dt.x===Gt?0:2)|Number(Dt.y&ye),In=Ve;return z&&d(Ve)&&(In=p(Ve),Tr^=1),new m(Gt,In,Tr)}return{seed:ot,k2sig:_t}}let P={lowS:e.lowS,prehash:!1},V={lowS:e.lowS,prehash:!1};function Y(C,R,N=P){let{seed:U,k2sig:I}=F(C,R,N),z=e;return Os(z.hash.outputLen,z.nByteLength,z.hmac)(U,I)}u.BASE._setWindowSize(8);function tt(C,R,N,U=V){let I=C;if(R=At("msgHash",R),N=At("publicKey",N),"strict"in U)throw new Error("options.strict was renamed to lowS");let{lowS:z,prehash:$}=U,Z,et;try{if(typeof I=="string"||I instanceof Uint8Array)try{Z=m.fromDER(I)}catch(Dt){if(!(Dt instanceof Hr.Err))throw Dt;Z=m.fromCompact(I)}else if(typeof I=="object"&&typeof I.r=="bigint"&&typeof I.s=="bigint"){let{r:Dt,s:Gt}=I;Z=new m(Dt,Gt)}else throw new Error("PARSE");et=u.fromHex(N)}catch(Dt){if(Dt.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if(z&&Z.hasHighS())return!1;$&&(R=e.hash(R));let{r:it,s:ht}=Z,ot=k(R),ct=c(ht),_t=a(ot*ct),Bt=a(it*ct),Mt=u.BASE.multiplyAndAddUnsafe(et,_t,Bt)?.toAffine();return Mt?a(Mt.x)===it:!1}return{CURVE:e,getPublicKey:b,getSharedSecret:E,sign:Y,verify:tt,ProjectivePoint:u,Signature:m,utils:w}}var oo=class extends dn{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,eu(e);let n=Fn(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,o=new Uint8Array(i);o.set(n.length>i?e.create().update(n).digest():n);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=e.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),o.fill(0)}update(e){return hn(this),this.iHash.update(e),this}digestInto(e){hn(this),Rs(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:o,blockLen:s,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=o,e.blockLen=s,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},da=(t,e,r)=>new oo(t,e).update(r).digest();da.create=(t,e)=>new oo(t,e);function zg(t){return{hash:t,hmac:(e,...r)=>da(t,e,qi(...r)),randomBytes:pn}}function ju(t,e){let r=n=>Ju({...t,...zg(n)});return Object.freeze({...r(e),create:r})}var rf=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),tf=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),Hg=BigInt(1),pa=BigInt(2),ef=(t,e)=>(t+e/pa)/e;function Gg(t){let e=rf,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,f=u*u*t%e,l=wt(f,r,e)*f%e,h=wt(l,r,e)*f%e,g=wt(h,pa,e)*u%e,d=wt(g,i,e)*g%e,p=wt(d,o,e)*d%e,y=wt(p,a,e)*p%e,m=wt(y,c,e)*y%e,w=wt(m,a,e)*p%e,b=wt(w,r,e)*f%e,L=wt(b,s,e)*d%e,E=wt(L,n,e)*u%e,S=wt(E,pa,e);if(!ya.eql(ya.sqr(S),t))throw new Error("Cannot find square root");return S}var ya=Zi(rf,void 0,void 0,{sqrt:Gg}),tr=ju({a:BigInt(0),b:BigInt(7),Fp:ya,n:tf,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=tf,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-Hg*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=ef(o*t,e),c=ef(-n*t,e),u=pt(t-a*r-c*i,e),f=pt(-a*n-c*o,e),l=u>s,h=f>s;if(l&&(u=e-u),h&&(f=e-f),u>s||f>s)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:l,k1:u,k2neg:h,k2:f}}}},Qu),Tw=BigInt(0);var Iw=tr.ProjectivePoint;function nf(){return tr.utils.randomPrivateKey()}async function of(t,e){let{digest:r}=await zt.digest(e);try{return tr.sign(r,t).toDERRawBytes()}catch(n){throw new nt(String(n),"ERR_INVALID_INPUT")}}async function sf(t,e,r){try{let{digest:n}=await zt.digest(r);return tr.verify(e,n,t)}catch(n){throw new nt(String(n),"ERR_INVALID_INPUT")}}function af(t){return tr.ProjectivePoint.fromHex(t).toRawBytes(!0)}function cf(t){try{tr.getPublicKey(t,!0)}catch(e){throw new nt(String(e),"ERR_INVALID_PRIVATE_KEY")}}function ga(t){try{tr.ProjectivePoint.fromHex(t)}catch(e){throw new nt(String(e),"ERR_INVALID_PUBLIC_KEY")}}function uf(t){try{return tr.getPublicKey(t,!0)}catch(e){throw new nt(String(e),"ERR_INVALID_PRIVATE_KEY")}}var Xn=class{_key;constructor(e){ga(e),this._key=e}async verify(e,r){return sf(this._key,r,e)}marshal(){return af(this._key)}get bytes(){return Oe.encode({Type:Et.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Ut(this.bytes,e.bytes)}async hash(){let{bytes:e}=await zt.digest(this.bytes);return e}},Jn=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??uf(e),cf(this._key),ga(this._publicKey)}async sign(e){return of(this._key,e)}get public(){return new Xn(this._publicKey)}marshal(){return this._key}get bytes(){return Ke.encode({Type:Et.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return Ut(this.bytes,e.bytes)}async hash(){let{bytes:e}=await zt.digest(this.bytes);return e}async id(){let e=await this.public.hash();return Nt(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return xn(this.bytes,e);throw new nt(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Wg(t){return new Jn(t)}function Yg(t){return new Xn(t)}async function Zg(){let t=nf();return new Jn(t)}var Gr={rsa:la,ed25519:sa,secp256k1:ma};function ff(t){let e=Object.keys(Gr).join(" / ");return new nt(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function xa(t){let e=Oe.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case Et.RSA:return Gr.rsa.unmarshalRsaPublicKey(r);case Et.Ed25519:return Gr.ed25519.unmarshalEd25519PublicKey(r);case Et.Secp256k1:return Gr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw ff(e.Type??"unknown")}}async function lf(t){let e=Ke.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case Et.RSA:return Gr.rsa.unmarshalRsaPrivateKey(r);case Et.Ed25519:return Gr.ed25519.unmarshalEd25519PrivateKey(r);case Et.Secp256k1:return Gr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw ff(e.Type??"RSA")}}var Ka=Tt(so(),1);var pf=(t=21)=>crypto.getRandomValues(new Uint8Array(t)).reduce((e,r)=>(r&=63,r<36?e+=r.toString(36):r<62?e+=(r-26).toString(36).toUpperCase():r>62?e+="-":e+="_",e),"");var er="/",yf=new TextEncoder().encode(er),ao=yf[0],En=class t{_buf;constructor(e,r){if(typeof e=="string")this._buf=gt(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==ao)throw new Error("Invalid key")}toString(e="utf8"){return Nt(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new t(e.join(er))}static random(){return new t(pf().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new t(e):typeof e.uint8Array=="function"?new t(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=yf),this._buf[0]!==ao){let e=new Uint8Array(this._buf.byteLength+1);e.fill(ao,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===ao;)this._buf=this._buf.subarray(0,-1)}less(e){let r=this.list(),n=e.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let o=r[i],s=n[i];if(o<s)return!0;if(o>s)return!1}return r.length<n.length}reverse(){return t.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(er).slice(1)}type(){return Jg(this.baseNamespace())}name(){return jg(this.baseNamespace())}instance(e){return new t(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(er)||(e+=er),e+=this.type(),new t(e)}parent(){let e=this.list();return e.length===1?new t(er):new t(e.slice(0,-1).join(er))}child(e){return this.toString()===er?e:e.toString()===er?this:new t(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return t.withNamespaces([...this.namespaces(),...tm(e.map(r=>r.namespaces()))])}};function Jg(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function jg(t){let e=t.split(":");return e[e.length-1]}function tm(t){return[].concat(...t)}var kl=Tt(ba(),1);var gf="ERR_IPNS_EXPIRED_RECORD",jn="ERR_UNRECOGNIZED_VALIDITY",mf="ERR_SIGNATURE_CREATION",rr="ERR_SIGNATURE_VERIFICATION",xf="ERR_UNRECOGNIZED_FORMAT";var wa="ERR_UNDEFINED_PARAMETER",vf="ERR_INVALID_RECORD_DATA",bf="ERR_INVALID_VALUE",wf="ERR_INVALID_EMBEDDED_KEY",Ef="ERR_MISSING_PRIVATE_KEY",Sf="ERR_RECORD_TOO_LARGE";var ee;(function(t){let e;(function(i){i.EOL="EOL"})(e=t.ValidityType||(t.ValidityType={}));let r;(function(i){i[i.EOL=0]="EOL"})(r||(r={})),function(i){i.codec=()=>Gn(r)}(e=t.ValidityType||(t.ValidityType={}));let n;t.codec=()=>(n==null&&(n=br((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.value!=null&&(o.uint32(10),o.bytes(i.value)),i.signatureV1!=null&&(o.uint32(18),o.bytes(i.signatureV1)),i.validityType!=null&&(o.uint32(24),t.ValidityType.codec().encode(i.validityType,o)),i.validity!=null&&(o.uint32(34),o.bytes(i.validity)),i.sequence!=null&&(o.uint32(40),o.uint64(i.sequence)),i.ttl!=null&&(o.uint32(48),o.uint64(i.ttl)),i.pubKey!=null&&(o.uint32(58),o.bytes(i.pubKey)),i.signatureV2!=null&&(o.uint32(66),o.bytes(i.signatureV2)),i.data!=null&&(o.uint32(74),o.bytes(i.data)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.value=i.bytes();break;case 2:s.signatureV1=i.bytes();break;case 3:s.validityType=t.ValidityType.codec().decode(i);break;case 4:s.validity=i.bytes();break;case 5:s.sequence=i.uint64();break;case 6:s.ttl=i.uint64();break;case 7:s.pubKey=i.bytes();break;case 8:s.signatureV2=i.bytes();break;case 9:s.data=i.bytes();break;default:i.skipType(c&7);break}}return s})),n),t.encode=i=>vr(i,t.codec()),t.decode=i=>xr(i,t.codec())})(ee||(ee={}));var em=["string","number","bigint","symbol"],rm=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function Bf(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(em.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(nm(t))return"Buffer";let r=im(t);return r||"Object"}function nm(t){return t&&t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer.call(null,t)}function im(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(rm.includes(e))return e}var T=class{constructor(e,r,n){this.major=e,this.majorEncoded=e<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};T.uint=new T(0,"uint",!0);T.negint=new T(1,"negint",!0);T.bytes=new T(2,"bytes",!0);T.string=new T(3,"string",!0);T.array=new T(4,"array",!1);T.map=new T(5,"map",!1);T.tag=new T(6,"tag",!1);T.float=new T(7,"float",!0);T.false=new T(7,"false",!0);T.true=new T(7,"true",!0);T.null=new T(7,"null",!0);T.undefined=new T(7,"undefined",!0);T.break=new T(7,"break",!0);var H=class{constructor(e,r,n){this.type=e,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var Sn=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",om=new TextDecoder,sm=new TextEncoder;function co(t){return Sn&&globalThis.Buffer.isBuffer(t)}function Sa(t){return t instanceof Uint8Array?co(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var If=Sn?(t,e,r)=>r-e>64?globalThis.Buffer.from(t.subarray(e,r)).toString("utf8"):Af(t,e,r):(t,e,r)=>r-e>64?om.decode(t.subarray(e,r)):Af(t,e,r),_f=Sn?t=>t.length>64?globalThis.Buffer.from(t):Cf(t):t=>t.length>64?sm.encode(t):Cf(t),Fe=t=>Uint8Array.from(t),Bn=Sn?(t,e,r)=>co(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),Rf=Sn?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),Sa(globalThis.Buffer.concat(t,e))):(t,e)=>{let r=new Uint8Array(e),n=0;for(let i of t)n+i.length>r.length&&(i=i.subarray(0,r.length-n)),r.set(i,n),n+=i.length;return r},Nf=Sn?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function Df(t,e){if(co(t)&&co(e))return t.compare(e);for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]<e[r]?-1:1;return 0}function Cf(t){let e=[],r=0;for(let n=0;n<t.length;n++){let i=t.charCodeAt(n);i<128?e[r++]=i:i<2048?(e[r++]=i>>6|192,e[r++]=i&63|128):(i&64512)===55296&&n+1<t.length&&(t.charCodeAt(n+1)&64512)===56320?(i=65536+((i&1023)<<10)+(t.charCodeAt(++n)&1023),e[r++]=i>>18|240,e[r++]=i>>12&63|128,e[r++]=i>>6&63|128,e[r++]=i&63|128):(e[r++]=i>>12|224,e[r++]=i>>6&63|128,e[r++]=i&63|128)}return e}function Af(t,e,r){let n=[];for(;e<r;){let i=t[e],o=null,s=i>239?4:i>223?3:i>191?2:1;if(e+s<=r){let a,c,u,f;switch(s){case 1:i<128&&(o=i);break;case 2:a=t[e+1],(a&192)===128&&(f=(i&31)<<6|a&63,f>127&&(o=f));break;case 3:a=t[e+1],c=t[e+2],(a&192)===128&&(c&192)===128&&(f=(i&15)<<12|(a&63)<<6|c&63,f>2047&&(f<55296||f>57343)&&(o=f));break;case 4:a=t[e+1],c=t[e+2],u=t[e+3],(a&192)===128&&(c&192)===128&&(u&192)===128&&(f=(i&15)<<18|(a&63)<<12|(c&63)<<6|u&63,f>65535&&f<1114112&&(o=f))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),e+=s}return am(n)}var Tf=4096;function am(t){let e=t.length;if(e<=Tf)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=Tf));return r}var cm=256,ti=class{constructor(e=cm){this.chunkSize=e,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(e){let r=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let i=r.length-(this.maxCursor-this.cursor)-1;r.set(e,i)}else{if(r){let i=r.length-(this.maxCursor-this.cursor)-1;i<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,i),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(r=Nf(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=Bn(n,0,this.cursor)}else r=Rf(this.chunks,this.cursor);return e&&this.reset(),r}};var Q="CBOR decode error:",Ba="CBOR encode error:",ei=[];ei[23]=1;ei[24]=2;ei[25]=3;ei[26]=5;ei[27]=9;function nr(t,e,r){if(t.length-e<r)throw new Error(`${Q} not enough data for type`)}var Ft=[24,256,65536,4294967296,BigInt("18446744073709551616")];function ae(t,e,r){nr(t,e,1);let n=t[e];if(r.strict===!0&&n<Ft[0])throw new Error(`${Q} integer encoded in more bytes than necessary (strict decode)`);return n}function ce(t,e,r){nr(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<Ft[1])throw new Error(`${Q} integer encoded in more bytes than necessary (strict decode)`);return n}function ue(t,e,r){nr(t,e,4);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(r.strict===!0&&n<Ft[2])throw new Error(`${Q} integer encoded in more bytes than necessary (strict decode)`);return n}function fe(t,e,r){nr(t,e,8);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3],i=t[e+4]*16777216+(t[e+5]<<16)+(t[e+6]<<8)+t[e+7],o=(BigInt(n)<<BigInt(32))+BigInt(i);if(r.strict===!0&&o<Ft[3])throw new Error(`${Q} integer encoded in more bytes than necessary (strict decode)`);if(o<=Number.MAX_SAFE_INTEGER)return Number(o);if(r.allowBigInt===!0)return o;throw new Error(`${Q} integers outside of the safe integer range are not supported`)}function Lf(t,e,r,n){return new H(T.uint,ae(t,e+1,n),2)}function kf(t,e,r,n){return new H(T.uint,ce(t,e+1,n),3)}function Uf(t,e,r,n){return new H(T.uint,ue(t,e+1,n),5)}function Pf(t,e,r,n){return new H(T.uint,fe(t,e+1,n),9)}function ge(t,e){return Ht(t,0,e.value)}function Ht(t,e,r){if(r<Ft[0]){let n=Number(r);t.push([e|n])}else if(r<Ft[1]){let n=Number(r);t.push([e|24,n])}else if(r<Ft[2]){let n=Number(r);t.push([e|25,n>>>8,n&255])}else if(r<Ft[3]){let n=Number(r);t.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<Ft[4]){let i=[e|27,0,0,0,0,0,0,0],o=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));i[8]=o&255,o=o>>8,i[7]=o&255,o=o>>8,i[6]=o&255,o=o>>8,i[5]=o&255,i[4]=s&255,s=s>>8,i[3]=s&255,s=s>>8,i[2]=s&255,s=s>>8,i[1]=s&255,t.push(i)}else throw new Error(`${Q} encountered BigInt larger than allowable range`)}}ge.encodedSize=function(e){return Ht.encodedSize(e.value)};Ht.encodedSize=function(e){return e<Ft[0]?1:e<Ft[1]?2:e<Ft[2]?3:e<Ft[3]?5:9};ge.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function Of(t,e,r,n){return new H(T.negint,-1-ae(t,e+1,n),2)}function Kf(t,e,r,n){return new H(T.negint,-1-ce(t,e+1,n),3)}function Ff(t,e,r,n){return new H(T.negint,-1-ue(t,e+1,n),5)}var Ca=BigInt(-1),Mf=BigInt(1);function Vf(t,e,r,n){let i=fe(t,e+1,n);if(typeof i!="bigint"){let o=-1-i;if(o>=Number.MIN_SAFE_INTEGER)return new H(T.negint,o,9)}if(n.allowBigInt!==!0)throw new Error(`${Q} integers outside of the safe integer range are not supported`);return new H(T.negint,Ca-BigInt(i),9)}function uo(t,e){let r=e.value,n=typeof r=="bigint"?r*Ca-Mf:r*-1-1;Ht(t,e.type.majorEncoded,n)}uo.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*Ca-Mf:r*-1-1;return n<Ft[0]?1:n<Ft[1]?2:n<Ft[2]?3:n<Ft[3]?5:9};uo.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function ri(t,e,r,n){nr(t,e,r+n);let i=Bn(t,e+r,e+r+n);return new H(T.bytes,i,r+n)}function qf(t,e,r,n){return ri(t,e,1,r)}function zf(t,e,r,n){return ri(t,e,2,ae(t,e+1,n))}function Hf(t,e,r,n){return ri(t,e,3,ce(t,e+1,n))}function Gf(t,e,r,n){return ri(t,e,5,ue(t,e+1,n))}function $f(t,e,r,n){let i=fe(t,e+1,n);if(typeof i=="bigint")throw new Error(`${Q} 64-bit integer bytes lengths not supported`);return ri(t,e,9,i)}function fo(t){return t.encodedBytes===void 0&&(t.encodedBytes=t.type===T.string?_f(t.value):t.value),t.encodedBytes}function Cn(t,e){let r=fo(e);Ht(t,e.type.majorEncoded,r.length),t.push(r)}Cn.encodedSize=function(e){let r=fo(e);return Ht.encodedSize(r.length)+r.length};Cn.compareTokens=function(e,r){return fm(fo(e),fo(r))};function fm(t,e){return t.length<e.length?-1:t.length>e.length?1:Df(t,e)}function ni(t,e,r,n,i){let o=r+n;nr(t,e,o);let s=new H(T.string,If(t,e+r,e+o),o);return i.retainStringBytes===!0&&(s.byteValue=Bn(t,e+r,e+o)),s}function Wf(t,e,r,n){return ni(t,e,1,r,n)}function Yf(t,e,r,n){return ni(t,e,2,ae(t,e+1,n),n)}function Zf(t,e,r,n){return ni(t,e,3,ce(t,e+1,n),n)}function Qf(t,e,r,n){return ni(t,e,5,ue(t,e+1,n),n)}function Xf(t,e,r,n){let i=fe(t,e+1,n);if(typeof i=="bigint")throw new Error(`${Q} 64-bit integer string lengths not supported`);return ni(t,e,9,i,n)}var Jf=Cn;function An(t,e,r,n){return new H(T.array,n,r)}function jf(t,e,r,n){return An(t,e,1,r)}function tl(t,e,r,n){return An(t,e,2,ae(t,e+1,n))}function el(t,e,r,n){return An(t,e,3,ce(t,e+1,n))}function rl(t,e,r,n){return An(t,e,5,ue(t,e+1,n))}function nl(t,e,r,n){let i=fe(t,e+1,n);if(typeof i=="bigint")throw new Error(`${Q} 64-bit integer array lengths not supported`);return An(t,e,9,i)}function il(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${Q} indefinite length items not allowed`);return An(t,e,1,1/0)}function lo(t,e){Ht(t,T.array.majorEncoded,e.value)}lo.compareTokens=ge.compareTokens;lo.encodedSize=function(e){return Ht.encodedSize(e.value)};function Tn(t,e,r,n){return new H(T.map,n,r)}function ol(t,e,r,n){return Tn(t,e,1,r)}function sl(t,e,r,n){return Tn(t,e,2,ae(t,e+1,n))}function al(t,e,r,n){return Tn(t,e,3,ce(t,e+1,n))}function cl(t,e,r,n){return Tn(t,e,5,ue(t,e+1,n))}function ul(t,e,r,n){let i=fe(t,e+1,n);if(typeof i=="bigint")throw new Error(`${Q} 64-bit integer map lengths not supported`);return Tn(t,e,9,i)}function fl(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${Q} indefinite length items not allowed`);return Tn(t,e,1,1/0)}function ho(t,e){Ht(t,T.map.majorEncoded,e.value)}ho.compareTokens=ge.compareTokens;ho.encodedSize=function(e){return Ht.encodedSize(e.value)};function ll(t,e,r,n){return new H(T.tag,r,1)}function hl(t,e,r,n){return new H(T.tag,ae(t,e+1,n),2)}function dl(t,e,r,n){return new H(T.tag,ce(t,e+1,n),3)}function pl(t,e,r,n){return new H(T.tag,ue(t,e+1,n),5)}function yl(t,e,r,n){return new H(T.tag,fe(t,e+1,n),9)}function po(t,e){Ht(t,T.tag.majorEncoded,e.value)}po.compareTokens=ge.compareTokens;po.encodedSize=function(e){return Ht.encodedSize(e.value)};var gm=20,mm=21,xm=22,vm=23;function gl(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${Q} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new H(T.null,null,1):new H(T.undefined,void 0,1)}function ml(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${Q} indefinite length items not allowed`);return new H(T.break,void 0,1)}function Aa(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${Q} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${Q} Infinity values are not supported`)}return new H(T.float,t,e)}function xl(t,e,r,n){return Aa(Ta(t,e+1),3,n)}function vl(t,e,r,n){return Aa(Ia(t,e+1),5,n)}function bl(t,e,r,n){return Aa(Bl(t,e+1),9,n)}function yo(t,e,r){let n=e.value;if(n===!1)t.push([T.float.majorEncoded|gm]);else if(n===!0)t.push([T.float.majorEncoded|mm]);else if(n===null)t.push([T.float.majorEncoded|xm]);else if(n===void 0)t.push([T.float.majorEncoded|vm]);else{let i,o=!1;(!r||r.float64!==!0)&&(El(n),i=Ta(Ce,1),n===i||Number.isNaN(n)?(Ce[0]=249,t.push(Ce.slice(0,3)),o=!0):(Sl(n),i=Ia(Ce,1),n===i&&(Ce[0]=250,t.push(Ce.slice(0,5)),o=!0))),o||(bm(n),i=Bl(Ce,1),Ce[0]=251,t.push(Ce.slice(0,9)))}}yo.encodedSize=function(e,r){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){El(n);let i=Ta(Ce,1);if(n===i||Number.isNaN(n))return 3;if(Sl(n),i=Ia(Ce,1),n===i)return 5}return 9};var wl=new ArrayBuffer(9),me=new DataView(wl,1),Ce=new Uint8Array(wl,0);function El(t){if(t===1/0)me.setUint16(0,31744,!1);else if(t===-1/0)me.setUint16(0,64512,!1);else if(Number.isNaN(t))me.setUint16(0,32256,!1);else{me.setFloat32(0,t);let e=me.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)me.setUint16(0,31744,!1);else if(r===0)me.setUint16(0,(t&2147483648)>>16|n>>13,!1);else{let i=r-127;i<-24?me.setUint16(0,0):i<-14?me.setUint16(0,(e&2147483648)>>16|1<<24+i,!1):me.setUint16(0,(e&2147483648)>>16|i+15<<10|n>>13,!1)}}}function Ta(t,e){if(t.length-e<2)throw new Error(`${Q} not enough data for float16`);let r=(t[e]<<8)+t[e+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,i=r&1023,o;return n===0?o=i*2**-24:n!==31?o=(i+1024)*2**(n-25):o=i===0?1/0:NaN,r&32768?-o:o}function Sl(t){me.setFloat32(0,t,!1)}function Ia(t,e){if(t.length-e<4)throw new Error(`${Q} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function bm(t){me.setFloat64(0,t,!1)}function Bl(t,e){if(t.length-e<8)throw new Error(`${Q} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}yo.compareTokens=ge.compareTokens;function ft(t,e,r){throw new Error(`${Q} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function go(t){return()=>{throw new Error(`${Q} ${t}`)}}var K=[];for(let t=0;t<=23;t++)K[t]=ft;K[24]=Lf;K[25]=kf;K[26]=Uf;K[27]=Pf;K[28]=ft;K[29]=ft;K[30]=ft;K[31]=ft;for(let t=32;t<=55;t++)K[t]=ft;K[56]=Of;K[57]=Kf;K[58]=Ff;K[59]=Vf;K[60]=ft;K[61]=ft;K[62]=ft;K[63]=ft;for(let t=64;t<=87;t++)K[t]=qf;K[88]=zf;K[89]=Hf;K[90]=Gf;K[91]=$f;K[92]=ft;K[93]=ft;K[94]=ft;K[95]=go("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)K[t]=Wf;K[120]=Yf;K[121]=Zf;K[122]=Qf;K[123]=Xf;K[124]=ft;K[125]=ft;K[126]=ft;K[127]=go("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)K[t]=jf;K[152]=tl;K[153]=el;K[154]=rl;K[155]=nl;K[156]=ft;K[157]=ft;K[158]=ft;K[159]=il;for(let t=160;t<=183;t++)K[t]=ol;K[184]=sl;K[185]=al;K[186]=cl;K[187]=ul;K[188]=ft;K[189]=ft;K[190]=ft;K[191]=fl;for(let t=192;t<=215;t++)K[t]=ll;K[216]=hl;K[217]=dl;K[218]=pl;K[219]=yl;K[220]=ft;K[221]=ft;K[222]=ft;K[223]=ft;for(let t=224;t<=243;t++)K[t]=go("simple values are not supported");K[244]=ft;K[245]=ft;K[246]=ft;K[247]=gl;K[248]=go("simple values are not supported");K[249]=xl;K[250]=vl;K[251]=bl;K[252]=ft;K[253]=ft;K[254]=ft;K[255]=ml;var Ae=[];for(let t=0;t<24;t++)Ae[t]=new H(T.uint,t,1);for(let t=-1;t>=-24;t--)Ae[31-t]=new H(T.negint,t,1);Ae[64]=new H(T.bytes,new Uint8Array(0),1);Ae[96]=new H(T.string,"",1);Ae[128]=new H(T.array,0,1);Ae[160]=new H(T.map,0,1);Ae[244]=new H(T.false,!1,1);Ae[245]=new H(T.true,!0,1);Ae[246]=new H(T.null,null,1);function Cl(t){switch(t.type){case T.false:return Fe([244]);case T.true:return Fe([245]);case T.null:return Fe([246]);case T.bytes:return t.value.length?void 0:Fe([64]);case T.string:return t.value===""?Fe([96]):void 0;case T.array:return t.value===0?Fe([128]):void 0;case T.map:return t.value===0?Fe([160]):void 0;case T.uint:return t.value<24?Fe([Number(t.value)]):void 0;case T.negint:if(t.value>=-24)return Fe([31-Number(t.value)])}}var Em={float64:!1,mapSorter:Cm,quickEncodeToken:Cl};function Sm(){let t=[];return t[T.uint.major]=ge,t[T.negint.major]=uo,t[T.bytes.major]=Cn,t[T.string.major]=Jf,t[T.array.major]=lo,t[T.map.major]=ho,t[T.tag.major]=po,t[T.float.major]=yo,t}var Al=Sm(),_a=new ti,xo=class t{constructor(e,r){this.obj=e,this.parent=r}includes(e){let r=this;do if(r.obj===e)return!0;while(r=r.parent);return!1}static createCheck(e,r){if(e&&e.includes(r))throw new Error(`${Ba} object contains circular references`);return new t(r,e)}},Sr={null:new H(T.null,null),undefined:new H(T.undefined,void 0),true:new H(T.true,!0),false:new H(T.false,!1),emptyArray:new H(T.array,0),emptyMap:new H(T.map,0)},Br={number(t,e,r,n){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new H(T.float,t):t>=0?new H(T.uint,t):new H(T.negint,t)},bigint(t,e,r,n){return t>=BigInt(0)?new H(T.uint,t):new H(T.negint,t)},Uint8Array(t,e,r,n){return new H(T.bytes,t)},string(t,e,r,n){return new H(T.string,t)},boolean(t,e,r,n){return t?Sr.true:Sr.false},null(t,e,r,n){return Sr.null},undefined(t,e,r,n){return Sr.undefined},ArrayBuffer(t,e,r,n){return new H(T.bytes,new Uint8Array(t))},DataView(t,e,r,n){return new H(T.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,r,n){if(!t.length)return r.addBreakTokens===!0?[Sr.emptyArray,new H(T.break)]:Sr.emptyArray;n=xo.createCheck(n,t);let i=[],o=0;for(let s of t)i[o++]=mo(s,r,n);return r.addBreakTokens?[new H(T.array,t.length),i,new H(T.break)]:[new H(T.array,t.length),i]},Object(t,e,r,n){let i=e!=="Object",o=i?t.keys():Object.keys(t),s=i?t.size:o.length;if(!s)return r.addBreakTokens===!0?[Sr.emptyMap,new H(T.break)]:Sr.emptyMap;n=xo.createCheck(n,t);let a=[],c=0;for(let u of o)a[c++]=[mo(u,r,n),mo(i?t.get(u):t[u],r,n)];return Bm(a,r),r.addBreakTokens?[new H(T.map,s),a,new H(T.break)]:[new H(T.map,s),a]}};Br.Map=Br.Object;Br.Buffer=Br.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))Br[`${t}Array`]=Br.DataView;function mo(t,e={},r){let n=Bf(t),i=e&&e.typeEncoders&&e.typeEncoders[n]||Br[n];if(typeof i=="function"){let s=i(t,n,e,r);if(s!=null)return s}let o=Br[n];if(!o)throw new Error(`${Ba} unsupported type: ${n}`);return o(t,n,e,r)}function Bm(t,e){e.mapSorter&&t.sort(e.mapSorter)}function Cm(t,e){let r=Array.isArray(t[0])?t[0][0]:t[0],n=Array.isArray(e[0])?e[0][0]:e[0];if(r.type!==n.type)return r.type.compare(n.type);let i=r.type.major,o=Al[i].compareTokens(r,n);return o===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),o}function Tl(t,e,r,n){if(Array.isArray(e))for(let i of e)Tl(t,i,r,n);else r[e.type.major](t,e,n)}function Am(t,e,r){let n=mo(t,r);if(!Array.isArray(n)&&r.quickEncodeToken){let i=r.quickEncodeToken(n);if(i)return i;let o=e[n.type.major];if(o.encodedSize){let s=o.encodedSize(n,r),a=new ti(s);if(o(a,n,r),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return Sa(a.chunks[0])}}return _a.reset(),Tl(_a,n,e,r),_a.toBytes(!0)}function Ra(t,e){return e=Object.assign({},Em,e),Am(t,Al,e)}var Tm={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},Na=class{constructor(e,r={}){this._pos=0,this.data=e,this.options=r}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let e=this.data[this._pos],r=Ae[e];if(r===void 0){let n=K[e];if(!n)throw new Error(`${Q} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let i=e&31;r=n(this.data,this._pos,i,this.options)}return this._pos+=r.encodedLength,r}},ii=Symbol.for("DONE"),vo=Symbol.for("BREAK");function Im(t,e,r){let n=[];for(let i=0;i<t.value;i++){let o=oi(e,r);if(o===vo){if(t.value===1/0)break;throw new Error(`${Q} got unexpected break to lengthed array`)}if(o===ii)throw new Error(`${Q} found array but not enough entries (got ${i}, expected ${t.value})`);n[i]=o}return n}function _m(t,e,r){let n=r.useMaps===!0,i=n?void 0:{},o=n?new Map:void 0;for(let s=0;s<t.value;s++){let a=oi(e,r);if(a===vo){if(t.value===1/0)break;throw new Error(`${Q} got unexpected break to lengthed map`)}if(a===ii)throw new Error(`${Q} found map but not enough entries (got ${s} [no key], expected ${t.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${Q} non-string keys not supported (got ${typeof a})`);if(r.rejectDuplicateMapKeys===!0&&(n&&o.has(a)||!n&&a in i))throw new Error(`${Q} found repeat map key "${a}"`);let c=oi(e,r);if(c===ii)throw new Error(`${Q} found map but not enough entries (got ${s} [no value], expected ${t.value})`);n?o.set(a,c):i[a]=c}return n?o:i}function oi(t,e){if(t.done())return ii;let r=t.next();if(r.type===T.break)return vo;if(r.type.terminal)return r.value;if(r.type===T.array)return Im(r,t,e);if(r.type===T.map)return _m(r,t,e);if(r.type===T.tag){if(e.tags&&typeof e.tags[r.value]=="function"){let n=oi(t,e);return e.tags[r.value](n)}throw new Error(`${Q} tag not supported (${r.value})`)}throw new Error("unsupported")}function Il(t,e){if(!(t instanceof Uint8Array))throw new Error(`${Q} data to decode must be a Uint8Array`);e=Object.assign({},Tm,e);let r=e.tokenizer||new Na(t,e),n=oi(r,e);if(n===ii)throw new Error(`${Q} did not find any content to decode`);if(n===vo)throw new Error(`${Q} got unexpected break`);return[n,t.subarray(r.pos())]}function Da(t,e){let[r,n]=Il(t,e);if(n.length>0)throw new Error(`${Q} too many terminals, data makes no sense`);return r}var Qt=Tt(so(),1);var _l=Tt(ba(),1);var La=cr("ipns:utils"),Rl=gt("/ipns/"),Nm=114;function Dm(t){let e=new RegExp("(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d+)Z"),r=String(t).trim().match(e);if(r==null)throw new Error("Invalid format");let n=parseInt(r[1],10),i=parseInt(r[2],10)-1,o=parseInt(r[3],10),s=parseInt(r[4],10),a=parseInt(r[5],10),c=parseInt(r[6],10),u=parseInt(r[7].padEnd(6,"0").slice(0,3),10);return new Date(Date.UTC(n,i,o,s,a,c,u))}var ka=async(t,e)=>{if(e==null||t==null){let n=new Error("one or more of the provided parameters are not defined");throw La.error(n),(0,Qt.default)(n,wa)}let r;if(e.pubKey!=null){try{r=xa(e.pubKey)}catch(i){throw La.error(i),i}if(!(await U0(e.pubKey)).equals(t))throw(0,Qt.default)(new Error("Embedded public key did not match PeerID"),wf)}else t.publicKey!=null&&(r=xa(t.publicKey));if(r!=null)return r;throw(0,Qt.default)(new Error("no public key is available"),wa)},Nl=(t,e,r)=>{let n=gt(e);return Ee([t,r,n])},bo=t=>{let e=gt("ipns-signature:");return Ee([e,t])},Ua=t=>"signatureV1"in t?ee.encode({value:gt(t.value),signatureV1:t.signatureV1,validityType:t.validityType,validity:gt(t.validity.toString()),sequence:t.sequence,ttl:t.ttl,pubKey:t.pubKey,signatureV2:t.signatureV2,data:t.data}):ee.encode({pubKey:t.pubKey,signatureV2:t.signatureV2,data:t.data});function ir(t){let e=ee.decode(t);if(e.sequence!=null&&(e.sequence=BigInt(e.sequence)),e.ttl!=null&&(e.ttl=BigInt(e.ttl)),e.signatureV2==null||e.data==null)throw(0,Qt.default)(new Error("missing data or signatureV2"),rr);let r=Ll(e.data),n=Oa(r.Value),i;try{i=_l.default.fromDate(Dm(Nt(r.Validity)))}catch{throw La.error("unrecognized validity format (not an rfc3339 format)"),(0,Qt.default)(new Error("unrecognized validity format (not an rfc3339 format)"),xf)}if(e.value!=null&&e.signatureV1!=null)return Lm(e),{value:n,validityType:ee.ValidityType.EOL,validity:i,sequence:r.Sequence,ttl:r.TTL,pubKey:e.pubKey,signatureV1:e.signatureV1,signatureV2:e.signatureV2,data:e.data};if(e.signatureV2!=null)return{value:n,validityType:ee.ValidityType.EOL,validity:i,sequence:r.Sequence,ttl:r.TTL,pubKey:e.pubKey,signatureV2:e.signatureV2,data:e.data};throw new Error("invalid record: does not include signatureV1 or signatureV2")}var wo=t=>Ee([Rl,t.toBytes()]),Pa=t=>ss(t.slice(Rl.length)),Dl=(t,e,r,n,i)=>{let o;if(r===ee.ValidityType.EOL)o=0;else throw(0,Qt.default)(new Error("Unknown validity type"),jn);return Ra({Value:t,Validity:e,ValidityType:o,Sequence:n,TTL:i})},Ll=t=>{let e=Da(t);if(e.ValidityType===0)e.ValidityType=ee.ValidityType.EOL;else throw(0,Qt.default)(new Error("Unknown validity type"),jn);return Number.isInteger(e.Sequence)&&(e.Sequence=BigInt(e.Sequence)),Number.isInteger(e.TTL)&&(e.TTL=BigInt(e.TTL)),e},Oa=t=>{if(t!=null){if(b0(t))return`/ipns/${t.toCID().toString(vi)}`;if(t instanceof Uint8Array){let n=Nt(t);n.startsWith("/")&&(t=n)}let e=t.toString().trim();if(e.startsWith("/")&&e.length>1)return e;let r=ie.asCID(t);if(r!=null)return r.code===Nm?`/ipns/${r.toString(vi)}`:`/ipfs/${r.toV1().toString()}`;try{return t instanceof Uint8Array?`/ipfs/${ie.decode(t).toV1().toString()}`:`/ipfs/${ie.parse(e).toV1().toString()}`}catch{}}throw(0,Qt.default)(new Error("Value must be a valid content path starting with /"),bf)},Lm=t=>{if(t.data==null)throw(0,Qt.default)(new Error("Record data is missing"),vf);let e=Ll(t.data);if(!Ut(e.Value,t.value??new Uint8Array(0)))throw(0,Qt.default)(new Error('Field "value" did not match between protobuf and CBOR'),rr);if(!Ut(e.Validity,t.validity??new Uint8Array(0)))throw(0,Qt.default)(new Error('Field "validity" did not match between protobuf and CBOR'),rr);if(e.ValidityType!==t.validityType)throw(0,Qt.default)(new Error('Field "validityType" did not match between protobuf and CBOR'),rr);if(e.Sequence!==t.sequence)throw(0,Qt.default)(new Error('Field "sequence" did not match between protobuf and CBOR'),rr);if(e.TTL!==t.ttl)throw(0,Qt.default)(new Error('Field "ttl" did not match between protobuf and CBOR'),rr)};var km=cr("ipns"),Um=_e.code,Pm="/ipns/",S8=Pm.length,Ul={v1Compatible:!0};async function Pl(t,e,r,n,i=Ul){let o=new kl.default(Date.now()+Number(n)),s=ee.ValidityType.EOL,[a,c]=n.toString().split("."),u=BigInt(a)*BigInt(1e5)+BigInt(c??"0");return Om(t,e,r,s,o,u,i)}var Om=async(t,e,r,n,i,o,s=Ul)=>{r=BigInt(r);let a=gt(i.toString()),c=Oa(e),u=gt(c);if(t.privateKey==null)throw(0,Ka.default)(new Error("Missing private key"),Ef);let f=await lf(t.privateKey),l=Dl(u,a,n,r,o),h=bo(l),g=await f.sign(h),d;if(t.publicKey!=null){let p=_r(t.toBytes());(p.code!==Um||!Ut(t.publicKey,p.digest))&&(d=t.publicKey)}if(s.v1Compatible===!0){let p=await Km(f,u,n,a),y={value:c,signatureV1:p,validity:i,validityType:n,sequence:r,ttl:o,signatureV2:g,data:l};return d!=null&&(y.pubKey=d),y}else{let p={value:c,validity:i,validityType:n,sequence:r,ttl:o,signatureV2:g,data:l};return d!=null&&(p.pubKey=d),p}};var Km=async(t,e,r,n)=>{try{let i=Nl(e,r,n);return await t.sign(i)}catch(i){throw km.error("record signature creation failed",i),(0,Ka.default)(new Error("record signature creation failed"),mf)}};function Eo(t,e){let r=e.map((n,i)=>({record:ir(n),index:i}));return r.sort((n,i)=>{let o=n.record.sequence,s=i.record.sequence;if(o>s)return-1;if(o<s)return 1;let a=n.record.validity.toDate(),c=i.record.validity.toDate();return a.getTime()>c.getTime()?-1:a.getTime()<c.getTime()?1:0}),r[0].index}var si=Tt(so(),1);var So=cr("ipns:validator"),Fm=1024*10,Mm=async(t,e)=>{let r=ir(e),n;try{let i=bo(r.data);n=await t.verify(i,r.signatureV2)}catch{n=!1}if(!n)throw So.error("record signature verification failed"),(0,si.default)(new Error("record signature verification failed"),rr);if(r.validityType===ee.ValidityType.EOL){if(r.validity.toDate().getTime()<Date.now())throw So.error("record has expired"),(0,si.default)(new Error("record has expired"),gf)}else if(r.validityType!=null)throw So.error("unrecognized validity type"),(0,si.default)(new Error("unrecognized validity type"),jn);So("ipns record for %b is valid",r.value)};async function Fa(t,e){if(e.byteLength>Fm)throw(0,si.default)(new Error("record too large"),Sf);let r=Pa(t),n=ir(e),i=await ka(r,n);await Mm(i,e)}var Me=class extends Event{constructor(e,r){super(e),this.detail=r}};var ai;(function(t){let e;t.codec=()=>(e==null&&(e=br((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.key!=null&&r.key.byteLength>0&&(n.uint32(10),n.bytes(r.key)),r.value!=null&&r.value.byteLength>0&&(n.uint32(18),n.bytes(r.value)),r.timeReceived!=null&&r.timeReceived!==""&&(n.uint32(42),n.string(r.timeReceived)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={key:new Uint8Array(0),value:new Uint8Array(0),timeReceived:""},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.key=r.bytes();break;case 2:i.value=r.bytes();break;case 5:i.timeReceived=r.string();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>vr(r,t.codec()),t.decode=r=>xr(r,t.codec())})(ai||(ai={}));function Ol(t){let e=t.getUTCFullYear(),r=String(t.getUTCMonth()+1).padStart(2,"0"),n=String(t.getUTCDate()).padStart(2,"0"),i=String(t.getUTCHours()).padStart(2,"0"),o=String(t.getUTCMinutes()).padStart(2,"0"),s=String(t.getUTCSeconds()).padStart(2,"0"),a=t.getUTCMilliseconds(),c=String(a*1e3*1e3).padStart(9,"0");return`${e}-${r}-${n}T${i}:${o}:${s}.${c}Z`}function Kl(t){let e=new RegExp("(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d+)Z"),r=String(t).trim().match(e);if(r==null)throw new Error("Invalid format");let n=parseInt(r[1],10),i=parseInt(r[2],10)-1,o=parseInt(r[3],10),s=parseInt(r[4],10),a=parseInt(r[5],10),c=parseInt(r[6],10),u=parseInt(r[7].slice(0,-6),10);return new Date(Date.UTC(n,i,o,s,a,c,u))}var ci=class t{key;value;timeReceived;constructor(e,r,n){if(!(e instanceof Uint8Array))throw new Error("key must be a Uint8Array");if(!(r instanceof Uint8Array))throw new Error("value must be a Uint8Array");this.key=e,this.value=r,this.timeReceived=n}serialize(){return ai.encode(this.prepareSerialize())}prepareSerialize(){return{key:this.key,value:this.value,timeReceived:Ol(this.timeReceived)}}static deserialize(e){let r=ai.decode(e);return new t(r.key,r.value,new Date(r.timeReceived))}static fromDeserialized(e){let r=Kl(e.timeReceived);if(e.key==null)throw new Error("key missing from deserialized object");if(e.value==null)throw new Error("value missing from deserialized object");return new t(e.key,e.value,r)}};function Ma(t){return new En("/dht/record/"+Nt(t,"base32"),!1)}function Fl(t){return{async put(e,r,n={}){try{let i=Ma(e),o=new ci(e,r,new Date);n.onProgress?.(new Me("ipns:routing:datastore:put")),await t.put(i,o.serialize(),n)}catch(i){throw n.onProgress?.(new Me("ipns:routing:datastore:error",i)),i}},async get(e,r={}){try{let n=Ma(e);r.onProgress?.(new Me("ipns:routing:datastore:get"));let i=await t.get(n,r);return ci.deserialize(i).value}catch(n){throw r.onProgress?.(new Me("ipns:routing:datastore:error",n)),n}},async has(e,r={}){let n=Ma(e);return t.has(n,r)}}}var qa=Tt(Vl(),1);var fi=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},za=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},ql=t=>globalThis.DOMException===void 0?new za(t):new DOMException(t),zl=t=>{let e=t.reason===void 0?ql("This operation was aborted."):t.reason;return e instanceof Error?e:ql(e)};function Ha(t,e,r,n){let i,o=new Promise((s,a)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){s(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(zl(c)),c.addEventListener("abort",()=>{a(zl(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{s(r())}catch(f){a(f)}return}let c=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,u=r instanceof Error?r:new fi(c);typeof t.cancel=="function"&&t.cancel(),a(u)},e),(async()=>{try{s(await t)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function Ga(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var Wr=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},or,$a=class{constructor(){or.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&Wr(this,or,"f")[this.size-1].priority>=r.priority){Wr(this,or,"f").push(n);return}let i=Ga(Wr(this,or,"f"),n,(o,s)=>s.priority-o.priority);Wr(this,or,"f").splice(i,0,n)}dequeue(){let e=Wr(this,or,"f").shift();return e?.run}filter(e){return Wr(this,or,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return Wr(this,or,"f").length}};or=new WeakMap;var Hl=$a;var St=function(t,e,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 e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},G=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},It,hi,di,Ar,Ro,pi,Co,Te,li,le,Ao,he,yi,Cr,To,Gl,$l,Zl,Wl,Yl,Io,Wa,Ya,No,Ql,_o,Do=class extends Error{},Za=class extends qa.default{constructor(e){var r,n,i,o;if(super(),It.add(this),hi.set(this,void 0),di.set(this,void 0),Ar.set(this,0),Ro.set(this,void 0),pi.set(this,void 0),Co.set(this,0),Te.set(this,void 0),li.set(this,void 0),le.set(this,void 0),Ao.set(this,void 0),he.set(this,0),yi.set(this,void 0),Cr.set(this,void 0),To.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:Hl,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(o=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof e.interval})`);St(this,hi,e.carryoverConcurrencyCount,"f"),St(this,di,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),St(this,Ro,e.intervalCap,"f"),St(this,pi,e.interval,"f"),St(this,le,new e.queueClass,"f"),St(this,Ao,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,St(this,To,e.throwOnTimeout===!0,"f"),St(this,Cr,e.autoStart===!1,"f")}get concurrency(){return G(this,yi,"f")}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);St(this,yi,e,"f"),G(this,It,"m",No).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:G(this,To,"f"),...r},new Promise((n,i)=>{G(this,le,"f").enqueue(async()=>{var o,s,a;St(this,he,(s=G(this,he,"f"),s++,s),"f"),St(this,Ar,(a=G(this,Ar,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new Do("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=Ha(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,G(this,It,"m",Ql).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof fi&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{G(this,It,"m",Zl).call(this)}},r),this.emit("add"),G(this,It,"m",Io).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return G(this,Cr,"f")?(St(this,Cr,!1,"f"),G(this,It,"m",No).call(this),this):this}pause(){St(this,Cr,!0,"f")}clear(){St(this,le,new(G(this,Ao,"f")),"f")}async onEmpty(){G(this,le,"f").size!==0&&await G(this,It,"m",_o).call(this,"empty")}async onSizeLessThan(e){G(this,le,"f").size<e||await G(this,It,"m",_o).call(this,"next",()=>G(this,le,"f").size<e)}async onIdle(){G(this,he,"f")===0&&G(this,le,"f").size===0||await G(this,It,"m",_o).call(this,"idle")}get size(){return G(this,le,"f").size}sizeBy(e){return G(this,le,"f").filter(e).length}get pending(){return G(this,he,"f")}get isPaused(){return G(this,Cr,"f")}};hi=new WeakMap,di=new WeakMap,Ar=new WeakMap,Ro=new WeakMap,pi=new WeakMap,Co=new WeakMap,Te=new WeakMap,li=new WeakMap,le=new WeakMap,Ao=new WeakMap,he=new WeakMap,yi=new WeakMap,Cr=new WeakMap,To=new WeakMap,It=new WeakSet,Gl=function(){return G(this,di,"f")||G(this,Ar,"f")<G(this,Ro,"f")},$l=function(){return G(this,he,"f")<G(this,yi,"f")},Zl=function(){var e;St(this,he,(e=G(this,he,"f"),e--,e),"f"),G(this,It,"m",Io).call(this),this.emit("next")},Wl=function(){G(this,It,"m",Ya).call(this),G(this,It,"m",Wa).call(this),St(this,li,void 0,"f")},Yl=function(){let e=Date.now();if(G(this,Te,"f")===void 0){let r=G(this,Co,"f")-e;if(r<0)St(this,Ar,G(this,hi,"f")?G(this,he,"f"):0,"f");else return G(this,li,"f")===void 0&&St(this,li,setTimeout(()=>{G(this,It,"m",Wl).call(this)},r),"f"),!0}return!1},Io=function(){if(G(this,le,"f").size===0)return G(this,Te,"f")&&clearInterval(G(this,Te,"f")),St(this,Te,void 0,"f"),this.emit("empty"),G(this,he,"f")===0&&this.emit("idle"),!1;if(!G(this,Cr,"f")){let e=!G(this,It,"a",Yl);if(G(this,It,"a",Gl)&&G(this,It,"a",$l)){let r=G(this,le,"f").dequeue();return r?(this.emit("active"),r(),e&&G(this,It,"m",Wa).call(this),!0):!1}}return!1},Wa=function(){G(this,di,"f")||G(this,Te,"f")!==void 0||(St(this,Te,setInterval(()=>{G(this,It,"m",Ya).call(this)},G(this,pi,"f")),"f"),St(this,Co,Date.now()+G(this,pi,"f"),"f"))},Ya=function(){G(this,Ar,"f")===0&&G(this,he,"f")===0&&G(this,Te,"f")&&(clearInterval(G(this,Te,"f")),St(this,Te,void 0,"f")),St(this,Ar,G(this,hi,"f")?G(this,he,"f"):0,"f"),G(this,It,"m",No).call(this)},No=function(){for(;G(this,It,"m",Io).call(this););},Ql=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new Do("The task was aborted."))},{once:!0})})},_o=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var Xl=Za;var th=Tt(jl(),1),Lo=class{lru;constructor(e){this.lru=(0,th.default)(e)}get(e){let r=this.lru.get(e);if(r!=null){if(r.expire!=null&&r.expire<Date.now()){this.lru.remove(e);return}return r.value}}set(e,r,n){this.lru.set(e,{value:r,expire:Date.now()+n})}has(e){return this.get(e)!=null}remove(e){this.lru.remove(e)}clear(){this.lru.clear()}};var Qa=new Lo(1e3),Hm=60*1e3,Gm=new Xl({concurrency:4}),eh=t=>{if(t.Path!=null)return t.Path;throw new Error(t.Message)};async function rh(t,e={}){return(async(n,i={})=>{let o=new URLSearchParams(i);o.set("arg",n);let s=o.toString();if(i.nocache!==!0&&Qa.has(s)){let c=Qa.get(s);if(c!=null)return eh(c)}let a=await Gm.add(async()=>{let c=await fetch(`https://ipfs.io/api/v0/dns?${o}`),u=new URL(c.url).search.slice(1),f=await c.json();return Qa.set(u,f,Hm),f});return eh(a)})(t,e)}var ko=cr("helia:ipns"),$m=60*1e3,nh=60*$m,Wm=24*nh,Xa=23*nh,Ja=class{routers;localStore;timeout;constructor(e,r=[]){this.routers=r,this.localStore=Fl(e.datastore)}async publish(e,r,n={}){try{let i=1n,o=wo(e);if(await this.localStore.has(o,n)){let c=await this.localStore.get(o,n);i=ir(c).sequence+1n}let s=await Pl(e,r,i,n.lifetime??Wm,n),a=Ua(s);return await this.localStore.put(o,a,n),n.offline!==!0&&await Promise.all(this.routers.map(async c=>{await c.put(o,a,n)})),s}catch(i){throw n.onProgress?.(new Me("ipns:publish:error",i)),i}}async resolve(e,r={}){let n=wo(e),i=await this.#e(n,r);return this.#t(i.value,r)}async resolveDns(e,r={}){let n=await rh(e,r);return this.#t(n,r)}republish(e={}){if(this.timeout!=null)throw new Error("Republish is already running");e.signal?.addEventListener("abort",()=>{clearTimeout(this.timeout)});async function r(){let n=Date.now();e.onProgress?.(new Me("ipns:republish:start"));let o=Date.now()-n,s=Xa-o;s<0&&(s=e.interval??Xa),setTimeout(()=>{r().catch(a=>{ko.error("error republishing",a)})},s)}this.timeout=setTimeout(()=>{r().catch(n=>{ko.error("error republishing",n)})},e.interval??Xa)}async#t(e,r={}){let n=e.split("/");if(n.length===3){let i=n[1];if(i==="ipns")return this.resolve(os(n[2]),r);if(i==="ipfs")return ie.parse(n[2])}throw ko.error("invalid ipfs path %s",e),new Error("Invalid value")}async#e(e,r={}){let n=[this.localStore,...this.routers];r.offline===!0&&(n=[this.localStore]);let i=[];if(await Promise.all(n.map(async s=>{try{let a=await s.get(e,r);await Fa(e,a),i.push(a)}catch(a){ko.error("error finding IPNS record",a)}})),i.length===0)throw new nt("Could not find record for routing key","ERR_NOT_FOUND");let o=i[Eo(e,i)];return await this.localStore.put(e,o,r),ir(o)}};function Ym(t,e=[]){return new Ja(t,e)}return mh(Zm);})();
15
+ `+a+e.substr(s+1),o=i-s-1,s=-1,++i}else(e[i]===" "||e[i]===" "||e[i]===",")&&(s=i);return e}function hl(t){return t.replace(/^\s+/,"")}});var j3=ae((Eg,J3)=>{var ir=ve();yn();Ke();var W3=J3.exports=ir.sha256=ir.sha256||{};ir.md.sha256=ir.md.algorithms.sha256=W3;W3.create=function(){Z3||dl();var t=null,e=ir.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,o=0;o<i;++o)n.fullMessageLength.push(0);return e=ir.util.createBuffer(),t={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=ir.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),Q3(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=ir.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(ys.substr(0,n.blockLength-s));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:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4,h5:t.h5,h6:t.h6,h7:t.h7};Q3(l,r,i);var p=ir.util.createBuffer();return p.putInt32(l.h0),p.putInt32(l.h1),p.putInt32(l.h2),p.putInt32(l.h3),p.putInt32(l.h4),p.putInt32(l.h5),p.putInt32(l.h6),p.putInt32(l.h7),p},n};var ys=null,Z3=!1,X3=null;function dl(){ys=String.fromCharCode(128),ys+=ir.util.fillString(String.fromCharCode(0),64),X3=[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],Z3=!0}function Q3(t,e,r){for(var n,i,o,s,a,c,u,f,l,p,d,h,m,y,g,x=r.length();x>=64;){for(u=0;u<16;++u)e[u]=r.getInt32();for(;u<64;++u)n=e[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=e[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,e[u]=n+e[u-7]+i+e[u-16]|0;for(f=t.h0,l=t.h1,p=t.h2,d=t.h3,h=t.h4,m=t.h5,y=t.h6,g=t.h7,u=0;u<64;++u)s=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=y^h&(m^y),o=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),c=f&l|p&(f^l),n=g+s+a+X3[u]+e[u],i=o+c,g=y,y=m,m=h,h=d+n>>>0,d=p,p=l,l=f,f=n+i>>>0;t.h0=t.h0+f|0,t.h1=t.h1+l|0,t.h2=t.h2+p|0,t.h3=t.h3+d|0,t.h4=t.h4+h|0,t.h5=t.h5+m|0,t.h6=t.h6+y|0,t.h7=t.h7+g|0,x-=64}}});var t4=ae((Sg,e4)=>{var or=ve();Ke();var z0=null;or.util.isNodejs&&!or.options.usePureJavaScript&&!process.versions["node-webkit"]&&(z0=K0());var pl=e4.exports=or.prng=or.prng||{};pl.create=function(t){for(var e={plugin:t,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=t.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();e.pools=n,e.pool=0,e.generate=function(u,f){if(!f)return e.generateSync(u);var l=e.plugin.cipher,p=e.plugin.increment,d=e.plugin.formatKey,h=e.plugin.formatSeed,m=or.util.createBuffer();e.key=null,y();function y(g){if(g)return f(g);if(m.length()>=u)return f(null,m.getBytes(u));if(e.generated>1048575&&(e.key=null),e.key===null)return or.util.nextTick(function(){o(y)});var x=l(e.key,e.seed);e.generated+=x.length,m.putBytes(x),e.key=d(l(e.key,p(e.seed))),e.seed=h(l(e.key,e.seed)),or.util.setImmediate(y)}},e.generateSync=function(u){var f=e.plugin.cipher,l=e.plugin.increment,p=e.plugin.formatKey,d=e.plugin.formatSeed;e.key=null;for(var h=or.util.createBuffer();h.length()<u;){e.generated>1048575&&(e.key=null),e.key===null&&s();var m=f(e.key,e.seed);e.generated+=m.length,h.putBytes(m),e.key=p(f(e.key,l(e.seed))),e.seed=d(f(e.key,e.seed))}return h.getBytes(u)};function o(u){if(e.pools[0].messageLength>=32)return a(),u();var f=32-e.pools[0].messageLength<<5;e.seedFile(f,function(l,p){if(l)return u(l);e.collect(p),a(),u()})}function s(){if(e.pools[0].messageLength>=32)return a();var u=32-e.pools[0].messageLength<<5;e.collect(e.seedFileSync(u)),a()}function a(){e.reseeds=e.reseeds===4294967295?0:e.reseeds+1;var u=e.plugin.md.create();u.update(e.keyBytes);for(var f=1,l=0;l<32;++l)e.reseeds%f===0&&(u.update(e.pools[l].digest().getBytes()),e.pools[l].start()),f=f<<1;e.keyBytes=u.digest().getBytes(),u.start(),u.update(e.keyBytes);var p=u.digest().getBytes();e.key=e.plugin.formatKey(e.keyBytes),e.seed=e.plugin.formatSeed(p),e.generated=0}function c(u){var f=null,l=or.util.globalScope,p=l.crypto||l.msCrypto;p&&p.getRandomValues&&(f=function(E){return p.getRandomValues(E)});var d=or.util.createBuffer();if(f)for(;d.length()<u;){var h=Math.max(1,Math.min(u-d.length(),65536)/4),m=new Uint32Array(Math.floor(h));try{f(m);for(var y=0;y<m.length;++y)d.putInt32(m[y])}catch(E){if(!(typeof QuotaExceededError<"u"&&E instanceof QuotaExceededError))throw E}}if(d.length()<u)for(var g,x,v,R=Math.floor(Math.random()*65536);d.length()<u;){x=16807*(R&65535),g=16807*(R>>16),x+=(g&32767)<<16,x+=g>>15,x=(x&2147483647)+(x>>31),R=x&4294967295;for(var y=0;y<3;++y)v=R>>>(y<<3),v^=Math.floor(Math.random()*256),d.putByte(v&255)}return d.getBytes(u)}return z0?(e.seedFile=function(u,f){z0.randomBytes(u,function(l,p){if(l)return f(l);f(null,p.toString())})},e.seedFileSync=function(u){return z0.randomBytes(u).toString()}):(e.seedFile=function(u,f){try{f(null,c(u))}catch(l){f(l)}},e.seedFileSync=c),e.collect=function(u){for(var f=u.length,l=0;l<f;++l)e.pools[e.pool].update(u.substr(l,1)),e.pool=e.pool===31?0:e.pool+1},e.collectInt=function(u,f){for(var l="",p=0;p<f;p+=8)l+=String.fromCharCode(u>>p&255);e.collect(l)},e.registerWorker=function(u){if(u===self)e.seedFile=function(l,p){function d(h){var m=h.data;m.forge&&m.forge.prng&&(self.removeEventListener("message",d),p(m.forge.prng.err,m.forge.prng.bytes))}self.addEventListener("message",d),self.postMessage({forge:{prng:{needed:l}}})};else{var f=function(l){var p=l.data;p.forge&&p.forge.prng&&e.seedFile(p.forge.prng.needed,function(d,h){u.postMessage({forge:{prng:{err:d,bytes:h}}})})};u.addEventListener("message",f)}},e}});var Di=ae((Ig,gs)=>{var je=ve();O0();j3();t4();Ke();(function(){if(je.random&&je.random.getBytes){gs.exports=je.random;return}(function(t){var e={},r=new Array(4),n=je.util.createBuffer();e.formatKey=function(l){var p=je.util.createBuffer(l);return l=new Array(4),l[0]=p.getInt32(),l[1]=p.getInt32(),l[2]=p.getInt32(),l[3]=p.getInt32(),je.aes._expandKey(l,!1)},e.formatSeed=function(l){var p=je.util.createBuffer(l);return l=new Array(4),l[0]=p.getInt32(),l[1]=p.getInt32(),l[2]=p.getInt32(),l[3]=p.getInt32(),l},e.cipher=function(l,p){return je.aes._updateBlock(l,p,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},e.increment=function(l){return++l[3],l},e.md=je.md.sha256;function i(){var l=je.prng.create(e);return l.getBytes=function(p,d){return l.generate(p,d)},l.getBytesSync=function(p){return l.generate(p)},l}var o=i(),s=null,a=je.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(l){return c.getRandomValues(l)}),je.options.usePureJavaScript||!je.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var u="";for(var f in navigator)try{typeof navigator[f]=="string"&&(u+=navigator[f])}catch{}o.collect(u),u=null}t&&(t().mousemove(function(l){o.collectInt(l.clientX,16),o.collectInt(l.clientY,16)}),t().keypress(function(l){o.collectInt(l.charCode,8)}))}if(!je.random)je.random=o;else for(var f in o)je.random[f]=o[f];je.random.createInstance=i,gs.exports=je.random})(typeof jQuery<"u"?jQuery:null)})()});var o4=ae((Ag,i4)=>{var yt=ve();Ke();var xs=[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],r4=[1,2,3,5],ml=function(t,e){return t<<e&65535|(t&65535)>>16-e},yl=function(t,e){return(t&65535)>>e|t<<16-e&65535};i4.exports=yt.rc2=yt.rc2||{};yt.rc2.expandKey=function(t,e){typeof t=="string"&&(t=yt.util.createBuffer(t)),e=e||128;var r=t,n=t.length(),i=e,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(xs[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,xs[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,xs[r.at(a+1)^r.at(a+o)]);return r};var n4=function(t,e,r){var n=!1,i=null,o=null,s=null,a,c,u,f,l=[];for(t=yt.rc2.expandKey(t,e),u=0;u<64;u++)l.push(t.getInt16Le());r?(a=function(h){for(u=0;u<4;u++)h[u]+=l[f]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),h[u]=ml(h[u],r4[u]),f++},c=function(h){for(u=0;u<4;u++)h[u]+=l[h[(u+3)%4]&63]}):(a=function(h){for(u=3;u>=0;u--)h[u]=yl(h[u],r4[u]),h[u]-=l[f]+(h[(u+3)%4]&h[(u+2)%4])+(~h[(u+3)%4]&h[(u+1)%4]),f--},c=function(h){for(u=3;u>=0;u--)h[u]-=l[h[(u+3)%4]&63]});var p=function(h){var m=[];for(u=0;u<4;u++){var y=i.getInt16Le();s!==null&&(r?y^=s.getInt16Le():s.putInt16Le(y)),m.push(y&65535)}f=r?0:63;for(var g=0;g<h.length;g++)for(var x=0;x<h[g][0];x++)h[g][1](m);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(m[u]):m[u]^=s.getInt16Le()),o.putInt16Le(m[u])},d=null;return d={start:function(h,m){h&&typeof h=="string"&&(h=yt.util.createBuffer(h)),n=!1,i=yt.util.createBuffer(),o=m||new yt.util.createBuffer,s=h,d.output=o},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)p([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(h){var m=!0;if(r)if(h)m=h(8,i,!r);else{var y=i.length()===8?8:8-i.length();i.fillWithByte(y,y)}if(m&&(n=!0,d.update()),!r&&(m=i.length()===0,m))if(h)m=h(8,o,!r);else{var g=o.length(),x=o.at(g-1);x>g?m=!1:o.truncate(x)}return m}},d};yt.rc2.startEncrypting=function(t,e,r){var n=yt.rc2.createEncryptionCipher(t,128);return n.start(e,r),n};yt.rc2.createEncryptionCipher=function(t,e){return n4(t,e,!0)};yt.rc2.startDecrypting=function(t,e,r){var n=yt.rc2.createDecryptionCipher(t,128);return n.start(e,r),n};yt.rc2.createDecryptionCipher=function(t,e){return n4(t,e,!1)}});var G0=ae((Tg,d4)=>{var vs=ve();d4.exports=vs.jsbn=vs.jsbn||{};var wr,gl=0xdeadbeefcafe,s4=(gl&16777215)==15715070;function B(t,e,r){this.data=[],t!=null&&(typeof t=="number"?this.fromNumber(t,e,r):e==null&&typeof t!="string"?this.fromString(t,256):this.fromString(t,e))}vs.jsbn.BigInteger=B;function le(){return new B(null)}function xl(t,e,r,n,i,o){for(;--o>=0;){var s=e*this.data[t++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function vl(t,e,r,n,i,o){for(var s=e&32767,a=e>>15;--o>=0;){var c=this.data[t]&32767,u=this.data[t++]>>15,f=a*c+u*s;c=s*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 a4(t,e,r,n,i,o){for(var s=e&16383,a=e>>14;--o>=0;){var c=this.data[t]&16383,u=this.data[t++]>>14,f=a*c+u*s;c=s*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=a4,wr=28):s4&&navigator.appName=="Microsoft Internet Explorer"?(B.prototype.am=vl,wr=30):s4&&navigator.appName!="Netscape"?(B.prototype.am=xl,wr=26):(B.prototype.am=a4,wr=28);B.prototype.DB=wr;B.prototype.DM=(1<<wr)-1;B.prototype.DV=1<<wr;var bs=52;B.prototype.FV=Math.pow(2,bs);B.prototype.F1=bs-wr;B.prototype.F2=2*wr-bs;var bl="0123456789abcdefghijklmnopqrstuvwxyz",$0=new Array,Qn,Bt;Qn="0".charCodeAt(0);for(Bt=0;Bt<=9;++Bt)$0[Qn++]=Bt;Qn="a".charCodeAt(0);for(Bt=10;Bt<36;++Bt)$0[Qn++]=Bt;Qn="A".charCodeAt(0);for(Bt=10;Bt<36;++Bt)$0[Qn++]=Bt;function c4(t){return bl.charAt(t)}function u4(t,e){var r=$0[t.charCodeAt(e)];return r??-1}function wl(t){for(var e=this.t-1;e>=0;--e)t.data[e]=this.data[e];t.t=this.t,t.s=this.s}function El(t){this.t=1,this.s=t<0?-1:0,t>0?this.data[0]=t:t<-1?this.data[0]=t+this.DV:this.t=0}function Gr(t){var e=le();return e.fromInt(t),e}function Sl(t,e){var r;if(e==16)r=4;else if(e==8)r=3;else if(e==256)r=8;else if(e==2)r=1;else if(e==32)r=5;else if(e==4)r=2;else{this.fromRadix(t,e);return}this.t=0,this.s=0;for(var n=t.length,i=!1,o=0;--n>=0;){var s=r==8?t[n]&255:u4(t,n);if(s<0){t.charAt(n)=="-"&&(i=!0);continue}i=!1,o==0?this.data[this.t++]=s:o+r>this.DB?(this.data[this.t-1]|=(s&(1<<this.DB-o)-1)<<o,this.data[this.t++]=s>>this.DB-o):this.data[this.t-1]|=s<<o,o+=r,o>=this.DB&&(o-=this.DB)}r==8&&t[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&B.ZERO.subTo(this,this)}function Il(){for(var t=this.s&this.DM;this.t>0&&this.data[this.t-1]==t;)--this.t}function Al(t){if(this.s<0)return"-"+this.negate().toString(t);var e;if(t==16)e=4;else if(t==8)e=3;else if(t==2)e=1;else if(t==32)e=5;else if(t==4)e=2;else return this.toRadix(t);var r=(1<<e)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%e;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=c4(n));s>=0;)a<e?(n=(this.data[s]&(1<<a)-1)<<e-a,n|=this.data[--s]>>(a+=this.DB-e)):(n=this.data[s]>>(a-=e)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=c4(n));return i?o:"0"}function Tl(){var t=le();return B.ZERO.subTo(this,t),t}function _l(){return this.s<0?this.negate():this}function Cl(t){var e=this.s-t.s;if(e!=0)return e;var r=this.t;if(e=r-t.t,e!=0)return this.s<0?-e:e;for(;--r>=0;)if((e=this.data[r]-t.data[r])!=0)return e;return 0}function H0(t){var e=1,r;return(r=t>>>16)!=0&&(t=r,e+=16),(r=t>>8)!=0&&(t=r,e+=8),(r=t>>4)!=0&&(t=r,e+=4),(r=t>>2)!=0&&(t=r,e+=2),(r=t>>1)!=0&&(t=r,e+=1),e}function Rl(){return this.t<=0?0:this.DB*(this.t-1)+H0(this.data[this.t-1]^this.s&this.DM)}function Bl(t,e){var r;for(r=this.t-1;r>=0;--r)e.data[r+t]=this.data[r];for(r=t-1;r>=0;--r)e.data[r]=0;e.t=this.t+t,e.s=this.s}function Pl(t,e){for(var r=t;r<this.t;++r)e.data[r-t]=this.data[r];e.t=Math.max(this.t-t,0),e.s=this.s}function Nl(t,e){var r=t%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(t/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)e.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)e.data[a]=0;e.data[o]=s,e.t=this.t+o+1,e.s=this.s,e.clamp()}function Ll(t,e){e.s=this.s;var r=Math.floor(t/this.DB);if(r>=this.t){e.t=0;return}var n=t%this.DB,i=this.DB-n,o=(1<<n)-1;e.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)e.data[s-r-1]|=(this.data[s]&o)<<i,e.data[s-r]=this.data[s]>>n;n>0&&(e.data[this.t-r-1]|=(this.s&o)<<i),e.t=this.t-r,e.clamp()}function Dl(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]-t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n-=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n-=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n-=t.s}e.s=n<0?-1:0,n<-1?e.data[r++]=this.DV+n:n>0&&(e.data[r++]=n),e.t=r,e.clamp()}function kl(t,e){var r=this.abs(),n=t.abs(),i=r.t;for(e.t=i+n.t;--i>=0;)e.data[i]=0;for(i=0;i<n.t;++i)e.data[i+r.t]=r.am(0,n.data[i],e,i,0,r.t);e.s=0,e.clamp(),this.s!=t.s&&B.ZERO.subTo(e,e)}function Ul(t){for(var e=this.abs(),r=t.t=2*e.t;--r>=0;)t.data[r]=0;for(r=0;r<e.t-1;++r){var n=e.am(r,e.data[r],t,2*r,0,1);(t.data[r+e.t]+=e.am(r+1,2*e.data[r],t,2*r+1,n,e.t-r-1))>=e.DV&&(t.data[r+e.t]-=e.DV,t.data[r+e.t+1]=1)}t.t>0&&(t.data[t.t-1]+=e.am(r,e.data[r],t,2*r,0,1)),t.s=0,t.clamp()}function Ol(t,e,r){var n=t.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){e?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=le());var o=le(),s=this.s,a=t.s,c=this.DB-H0(n.data[n.t-1]);c>0?(n.lShiftTo(c,o),i.lShiftTo(c,r)):(n.copyTo(o),i.copyTo(r));var u=o.t,f=o.data[u-1];if(f!=0){var l=f*(1<<this.F1)+(u>1?o.data[u-2]>>this.F2:0),p=this.FV/l,d=(1<<this.F1)/l,h=1<<this.F2,m=r.t,y=m-u,g=e??le();for(o.dlShiftTo(y,g),r.compareTo(g)>=0&&(r.data[r.t++]=1,r.subTo(g,r)),B.ONE.dlShiftTo(u,g),g.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--y>=0;){var x=r.data[--m]==f?this.DM:Math.floor(r.data[m]*p+(r.data[m-1]+h)*d);if((r.data[m]+=o.am(0,x,r,y,0,u))<x)for(o.dlShiftTo(y,g),r.subTo(g,r);r.data[m]<--x;)r.subTo(g,r)}e!=null&&(r.drShiftTo(u,e),s!=a&&B.ZERO.subTo(e,e)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&B.ZERO.subTo(r,r)}}}function Fl(t){var e=le();return this.abs().divRemTo(t,null,e),this.s<0&&e.compareTo(B.ZERO)>0&&t.subTo(e,e),e}function gn(t){this.m=t}function Ml(t){return t.s<0||t.compareTo(this.m)>=0?t.mod(this.m):t}function Kl(t){return t}function Vl(t){t.divRemTo(this.m,null,t)}function ql(t,e,r){t.multiplyTo(e,r),this.reduce(r)}function zl(t,e){t.squareTo(e),this.reduce(e)}gn.prototype.convert=Ml;gn.prototype.revert=Kl;gn.prototype.reduce=Vl;gn.prototype.mulTo=ql;gn.prototype.sqrTo=zl;function $l(){if(this.t<1)return 0;var t=this.data[0];if(!(t&1))return 0;var e=t&3;return e=e*(2-(t&15)*e)&15,e=e*(2-(t&255)*e)&255,e=e*(2-((t&65535)*e&65535))&65535,e=e*(2-t*e%this.DV)%this.DV,e>0?this.DV-e:-e}function xn(t){this.m=t,this.mp=t.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<t.DB-15)-1,this.mt2=2*t.t}function Hl(t){var e=le();return t.abs().dlShiftTo(this.m.t,e),e.divRemTo(this.m,null,e),t.s<0&&e.compareTo(B.ZERO)>0&&this.m.subTo(e,e),e}function Gl(t){var e=le();return t.copyTo(e),this.reduce(e),e}function Yl(t){for(;t.t<=this.mt2;)t.data[t.t++]=0;for(var e=0;e<this.m.t;++e){var r=t.data[e]&32767,n=r*this.mpl+((r*this.mph+(t.data[e]>>15)*this.mpl&this.um)<<15)&t.DM;for(r=e+this.m.t,t.data[r]+=this.m.am(0,n,t,e,0,this.m.t);t.data[r]>=t.DV;)t.data[r]-=t.DV,t.data[++r]++}t.clamp(),t.drShiftTo(this.m.t,t),t.compareTo(this.m)>=0&&t.subTo(this.m,t)}function Ql(t,e){t.squareTo(e),this.reduce(e)}function Wl(t,e,r){t.multiplyTo(e,r),this.reduce(r)}xn.prototype.convert=Hl;xn.prototype.revert=Gl;xn.prototype.reduce=Yl;xn.prototype.mulTo=Wl;xn.prototype.sqrTo=Ql;function Zl(){return(this.t>0?this.data[0]&1:this.s)==0}function Xl(t,e){if(t>4294967295||t<1)return B.ONE;var r=le(),n=le(),i=e.convert(this),o=H0(t)-1;for(i.copyTo(r);--o>=0;)if(e.sqrTo(r,n),(t&1<<o)>0)e.mulTo(n,i,r);else{var s=r;r=n,n=s}return e.revert(r)}function Jl(t,e){var r;return t<256||e.isEven()?r=new gn(e):r=new xn(e),this.exp(t,r)}B.prototype.copyTo=wl;B.prototype.fromInt=El;B.prototype.fromString=Sl;B.prototype.clamp=Il;B.prototype.dlShiftTo=Bl;B.prototype.drShiftTo=Pl;B.prototype.lShiftTo=Nl;B.prototype.rShiftTo=Ll;B.prototype.subTo=Dl;B.prototype.multiplyTo=kl;B.prototype.squareTo=Ul;B.prototype.divRemTo=Ol;B.prototype.invDigit=$l;B.prototype.isEven=Zl;B.prototype.exp=Xl;B.prototype.toString=Al;B.prototype.negate=Tl;B.prototype.abs=_l;B.prototype.compareTo=Cl;B.prototype.bitLength=Rl;B.prototype.mod=Fl;B.prototype.modPowInt=Jl;B.ZERO=Gr(0);B.ONE=Gr(1);function jl(){var t=le();return this.copyTo(t),t}function e7(){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 t7(){return this.t==0?this.s:this.data[0]<<24>>24}function r7(){return this.t==0?this.s:this.data[0]<<16>>16}function n7(t){return Math.floor(Math.LN2*this.DB/Math.log(t))}function i7(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function o7(t){if(t==null&&(t=10),this.signum()==0||t<2||t>36)return"0";var e=this.chunkSize(t),r=Math.pow(t,e),n=Gr(r),i=le(),o=le(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(t).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(t)+s}function s7(t,e){this.fromInt(0),e==null&&(e=10);for(var r=this.chunkSize(e),n=Math.pow(e,r),i=!1,o=0,s=0,a=0;a<t.length;++a){var c=u4(t,a);if(c<0){t.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=e*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(e,o)),this.dAddOffset(s,0)),i&&B.ZERO.subTo(this,this)}function a7(t,e,r){if(typeof e=="number")if(t<2)this.fromInt(1);else for(this.fromNumber(t,r),this.testBit(t-1)||this.bitwiseTo(B.ONE.shiftLeft(t-1),ws,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(e);)this.dAddOffset(2,0),this.bitLength()>t&&this.subTo(B.ONE.shiftLeft(t-1),this);else{var n=new Array,i=t&7;n.length=(t>>3)+1,e.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function c7(){var t=this.t,e=new Array;e[0]=this.s;var r=this.DB-t*this.DB%8,n,i=0;if(t-- >0)for(r<this.DB&&(n=this.data[t]>>r)!=(this.s&this.DM)>>r&&(e[i++]=n|this.s<<this.DB-r);t>=0;)r<8?(n=(this.data[t]&(1<<r)-1)<<8-r,n|=this.data[--t]>>(r+=this.DB-8)):(n=this.data[t]>>(r-=8)&255,r<=0&&(r+=this.DB,--t)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(e[i++]=n);return e}function u7(t){return this.compareTo(t)==0}function f7(t){return this.compareTo(t)<0?this:t}function l7(t){return this.compareTo(t)>0?this:t}function h7(t,e,r){var n,i,o=Math.min(t.t,this.t);for(n=0;n<o;++n)r.data[n]=e(this.data[n],t.data[n]);if(t.t<this.t){for(i=t.s&this.DM,n=o;n<this.t;++n)r.data[n]=e(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<t.t;++n)r.data[n]=e(i,t.data[n]);r.t=t.t}r.s=e(this.s,t.s),r.clamp()}function d7(t,e){return t&e}function p7(t){var e=le();return this.bitwiseTo(t,d7,e),e}function ws(t,e){return t|e}function m7(t){var e=le();return this.bitwiseTo(t,ws,e),e}function f4(t,e){return t^e}function y7(t){var e=le();return this.bitwiseTo(t,f4,e),e}function l4(t,e){return t&~e}function g7(t){var e=le();return this.bitwiseTo(t,l4,e),e}function x7(){for(var t=le(),e=0;e<this.t;++e)t.data[e]=this.DM&~this.data[e];return t.t=this.t,t.s=~this.s,t}function v7(t){var e=le();return t<0?this.rShiftTo(-t,e):this.lShiftTo(t,e),e}function b7(t){var e=le();return t<0?this.lShiftTo(-t,e):this.rShiftTo(t,e),e}function w7(t){if(t==0)return-1;var e=0;return t&65535||(t>>=16,e+=16),t&255||(t>>=8,e+=8),t&15||(t>>=4,e+=4),t&3||(t>>=2,e+=2),t&1||++e,e}function E7(){for(var t=0;t<this.t;++t)if(this.data[t]!=0)return t*this.DB+w7(this.data[t]);return this.s<0?this.t*this.DB:-1}function S7(t){for(var e=0;t!=0;)t&=t-1,++e;return e}function I7(){for(var t=0,e=this.s&this.DM,r=0;r<this.t;++r)t+=S7(this.data[r]^e);return t}function A7(t){var e=Math.floor(t/this.DB);return e>=this.t?this.s!=0:(this.data[e]&1<<t%this.DB)!=0}function T7(t,e){var r=B.ONE.shiftLeft(t);return this.bitwiseTo(r,e,r),r}function _7(t){return this.changeBit(t,ws)}function C7(t){return this.changeBit(t,l4)}function R7(t){return this.changeBit(t,f4)}function B7(t,e){for(var r=0,n=0,i=Math.min(t.t,this.t);r<i;)n+=this.data[r]+t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;if(t.t<this.t){for(n+=t.s;r<this.t;)n+=this.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<t.t;)n+=t.data[r],e.data[r++]=n&this.DM,n>>=this.DB;n+=t.s}e.s=n<0?-1:0,n>0?e.data[r++]=n:n<-1&&(e.data[r++]=this.DV+n),e.t=r,e.clamp()}function P7(t){var e=le();return this.addTo(t,e),e}function N7(t){var e=le();return this.subTo(t,e),e}function L7(t){var e=le();return this.multiplyTo(t,e),e}function D7(t){var e=le();return this.divRemTo(t,e,null),e}function k7(t){var e=le();return this.divRemTo(t,null,e),e}function U7(t){var e=le(),r=le();return this.divRemTo(t,e,r),new Array(e,r)}function O7(t){this.data[this.t]=this.am(0,t-1,this,0,0,this.t),++this.t,this.clamp()}function F7(t,e){if(t!=0){for(;this.t<=e;)this.data[this.t++]=0;for(this.data[e]+=t;this.data[e]>=this.DV;)this.data[e]-=this.DV,++e>=this.t&&(this.data[this.t++]=0),++this.data[e]}}function ki(){}function h4(t){return t}function M7(t,e,r){t.multiplyTo(e,r)}function K7(t,e){t.squareTo(e)}ki.prototype.convert=h4;ki.prototype.revert=h4;ki.prototype.mulTo=M7;ki.prototype.sqrTo=K7;function V7(t){return this.exp(t,new ki)}function q7(t,e,r){var n=Math.min(this.t+t.t,e);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,t.data[n],r,n,0,this.t);for(i=Math.min(t.t,e);n<i;++n)this.am(0,t.data[n],r,n,0,e-n);r.clamp()}function z7(t,e,r){--e;var n=r.t=this.t+t.t-e;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(e-this.t,0);n<t.t;++n)r.data[this.t+n-e]=this.am(e-n,t.data[n],r,0,0,this.t+n-e);r.clamp(),r.drShiftTo(1,r)}function Wn(t){this.r2=le(),this.q3=le(),B.ONE.dlShiftTo(2*t.t,this.r2),this.mu=this.r2.divide(t),this.m=t}function $7(t){if(t.s<0||t.t>2*this.m.t)return t.mod(this.m);if(t.compareTo(this.m)<0)return t;var e=le();return t.copyTo(e),this.reduce(e),e}function H7(t){return t}function G7(t){for(t.drShiftTo(this.m.t-1,this.r2),t.t>this.m.t+1&&(t.t=this.m.t+1,t.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);t.compareTo(this.r2)<0;)t.dAddOffset(1,this.m.t+1);for(t.subTo(this.r2,t);t.compareTo(this.m)>=0;)t.subTo(this.m,t)}function Y7(t,e){t.squareTo(e),this.reduce(e)}function Q7(t,e,r){t.multiplyTo(e,r),this.reduce(r)}Wn.prototype.convert=$7;Wn.prototype.revert=H7;Wn.prototype.reduce=G7;Wn.prototype.mulTo=Q7;Wn.prototype.sqrTo=Y7;function W7(t,e){var r=t.bitLength(),n,i=Gr(1),o;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?o=new gn(e):e.isEven()?o=new Wn(e):o=new xn(e);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var f=le();for(o.sqrTo(s[1],f);a<=u;)s[a]=le(),o.mulTo(f,s[a-2],s[a]),a+=2}var l=t.t-1,p,d=!0,h=le(),m;for(r=H0(t.data[l])-1;l>=0;){for(r>=c?p=t.data[l]>>r-c&u:(p=(t.data[l]&(1<<r+1)-1)<<c-r,l>0&&(p|=t.data[l-1]>>this.DB+r-c)),a=n;!(p&1);)p>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),d)s[p].copyTo(i),d=!1;else{for(;a>1;)o.sqrTo(i,h),o.sqrTo(h,i),a-=2;a>0?o.sqrTo(i,h):(m=i,i=h,h=m),o.mulTo(h,s[p],i)}for(;l>=0&&!(t.data[l]&1<<r);)o.sqrTo(i,h),m=i,i=h,h=m,--r<0&&(r=this.DB-1,--l)}return o.revert(i)}function Z7(t){var e=this.s<0?this.negate():this.clone(),r=t.s<0?t.negate():t.clone();if(e.compareTo(r)<0){var n=e;e=r,r=n}var i=e.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return e;for(i<o&&(o=i),o>0&&(e.rShiftTo(o,e),r.rShiftTo(o,r));e.signum()>0;)(i=e.getLowestSetBit())>0&&e.rShiftTo(i,e),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),e.compareTo(r)>=0?(e.subTo(r,e),e.rShiftTo(1,e)):(r.subTo(e,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function X7(t){if(t<=0)return 0;var e=this.DV%t,r=this.s<0?t-1:0;if(this.t>0)if(e==0)r=this.data[0]%t;else for(var n=this.t-1;n>=0;--n)r=(e*r+this.data[n])%t;return r}function J7(t){var e=t.isEven();if(this.isEven()&&e||t.signum()==0)return B.ZERO;for(var r=t.clone(),n=this.clone(),i=Gr(1),o=Gr(0),s=Gr(0),a=Gr(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),e?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(t,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(t,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),e?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(t,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(t,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),e&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),e&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(B.ONE)!=0)return B.ZERO;if(a.compareTo(t)>=0)return a.subtract(t);if(a.signum()<0)a.addTo(t,a);else return a;return a.signum()<0?a.add(t):a}var Kt=[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],j7=(1<<26)/Kt[Kt.length-1];function e9(t){var e,r=this.abs();if(r.t==1&&r.data[0]<=Kt[Kt.length-1]){for(e=0;e<Kt.length;++e)if(r.data[0]==Kt[e])return!0;return!1}if(r.isEven())return!1;for(e=1;e<Kt.length;){for(var n=Kt[e],i=e+1;i<Kt.length&&n<j7;)n*=Kt[i++];for(n=r.modInt(n);e<i;)if(n%Kt[e++]==0)return!1}return r.millerRabin(t)}function t9(t){var e=this.subtract(B.ONE),r=e.getLowestSetBit();if(r<=0)return!1;for(var n=e.shiftRight(r),i=r9(),o,s=0;s<t;++s){do o=new B(this.bitLength(),i);while(o.compareTo(B.ONE)<=0||o.compareTo(e)>=0);var a=o.modPow(n,this);if(a.compareTo(B.ONE)!=0&&a.compareTo(e)!=0){for(var c=1;c++<r&&a.compareTo(e)!=0;)if(a=a.modPowInt(2,this),a.compareTo(B.ONE)==0)return!1;if(a.compareTo(e)!=0)return!1}}return!0}function r9(){return{nextBytes:function(t){for(var e=0;e<t.length;++e)t[e]=Math.floor(Math.random()*256)}}}B.prototype.chunkSize=n7;B.prototype.toRadix=o7;B.prototype.fromRadix=s7;B.prototype.fromNumber=a7;B.prototype.bitwiseTo=h7;B.prototype.changeBit=T7;B.prototype.addTo=B7;B.prototype.dMultiply=O7;B.prototype.dAddOffset=F7;B.prototype.multiplyLowerTo=q7;B.prototype.multiplyUpperTo=z7;B.prototype.modInt=X7;B.prototype.millerRabin=t9;B.prototype.clone=jl;B.prototype.intValue=e7;B.prototype.byteValue=t7;B.prototype.shortValue=r7;B.prototype.signum=i7;B.prototype.toByteArray=c7;B.prototype.equals=u7;B.prototype.min=f7;B.prototype.max=l7;B.prototype.and=p7;B.prototype.or=m7;B.prototype.xor=y7;B.prototype.andNot=g7;B.prototype.not=x7;B.prototype.shiftLeft=v7;B.prototype.shiftRight=b7;B.prototype.getLowestSetBit=E7;B.prototype.bitCount=I7;B.prototype.testBit=A7;B.prototype.setBit=_7;B.prototype.clearBit=C7;B.prototype.flipBit=R7;B.prototype.add=P7;B.prototype.subtract=N7;B.prototype.multiply=L7;B.prototype.divide=D7;B.prototype.remainder=k7;B.prototype.divideAndRemainder=U7;B.prototype.modPow=W7;B.prototype.modInverse=J7;B.prototype.pow=V7;B.prototype.gcd=Z7;B.prototype.isProbablePrime=e9});var x4=ae((_g,g4)=>{var sr=ve();yn();Ke();var m4=g4.exports=sr.sha1=sr.sha1||{};sr.md.sha1=sr.md.algorithms.sha1=m4;m4.create=function(){y4||n9();var t=null,e=sr.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,o=0;o<i;++o)n.fullMessageLength.push(0);return e=sr.util.createBuffer(),t={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=sr.util.encodeUtf8(i));var s=i.length;n.messageLength+=s,s=[s/4294967296>>>0,s>>>0];for(var a=n.fullMessageLength.length-1;a>=0;--a)n.fullMessageLength[a]+=s[1],s[1]=s[0]+(n.fullMessageLength[a]/4294967296>>>0),n.fullMessageLength[a]=n.fullMessageLength[a]>>>0,s[0]=s[1]/4294967296>>>0;return e.putBytes(i),p4(t,r,e),(e.read>2048||e.length()===0)&&e.compact(),n},n.digest=function(){var i=sr.util.createBuffer();i.putBytes(e.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Es.substr(0,n.blockLength-s));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:t.h0,h1:t.h1,h2:t.h2,h3:t.h3,h4:t.h4};p4(l,r,i);var p=sr.util.createBuffer();return p.putInt32(l.h0),p.putInt32(l.h1),p.putInt32(l.h2),p.putInt32(l.h3),p.putInt32(l.h4),p},n};var Es=null,y4=!1;function n9(){Es=String.fromCharCode(128),Es+=sr.util.fillString(String.fromCharCode(0),64),y4=!0}function p4(t,e,r){for(var n,i,o,s,a,c,u,f,l=r.length();l>=64;){for(i=t.h0,o=t.h1,s=t.h2,a=t.h3,c=t.h4,f=0;f<16;++f)n=r.getInt32(),e[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<20;++f)n=e[f-3]^e[f-8]^e[f-14]^e[f-16],n=n<<1|n>>>31,e[f]=n,u=a^o&(s^a),n=(i<<5|i>>>27)+u+c+1518500249+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<32;++f)n=e[f-3]^e[f-8]^e[f-14]^e[f-16],n=n<<1|n>>>31,e[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<40;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+1859775393+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<60;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,u=o&s|a&(o^s),n=(i<<5|i>>>27)+u+c+2400959708+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<80;++f)n=e[f-6]^e[f-16]^e[f-28]^e[f-32],n=n<<2|n>>>30,e[f]=n,u=o^s^a,n=(i<<5|i>>>27)+u+c+3395469782+n,c=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;t.h0=t.h0+i|0,t.h1=t.h1+o|0,t.h2=t.h2+s|0,t.h3=t.h3+a|0,t.h4=t.h4+c|0,l-=64}}});var w4=ae((Cg,b4)=>{var ar=ve();Ke();Di();x4();var v4=b4.exports=ar.pkcs1=ar.pkcs1||{};v4.encode_rsa_oaep=function(t,e,r){var n,i,o,s;typeof r=="string"?(n=r,i=arguments[3]||void 0,o=arguments[4]||void 0):r&&(n=r.label||void 0,i=r.seed||void 0,o=r.md||void 0,r.mgf1&&r.mgf1.md&&(s=r.mgf1.md)),o?o.start():o=ar.md.sha1.create(),s||(s=o);var a=Math.ceil(t.n.bitLength()/8),c=a-2*o.digestLength-2;if(e.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=e.length,u.maxLength=c,u}n||(n=""),o.update(n,"raw");for(var f=o.digest(),l="",p=c-e.length,d=0;d<p;d++)l+="\0";var h=f.getBytes()+l+""+e;if(!i)i=ar.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var u=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw u.seedLength=i.length,u.digestLength=o.digestLength,u}var m=Y0(i,a-o.digestLength-1,s),y=ar.util.xorBytes(h,m,h.length),g=Y0(y,o.digestLength,s),x=ar.util.xorBytes(i,g,i.length);return"\0"+x+y};v4.decode_rsa_oaep=function(t,e,r){var n,i,o;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&&(o=r.mgf1.md));var s=Math.ceil(t.n.bitLength()/8);if(e.length!==s){var y=new Error("RSAES-OAEP encoded message length is invalid.");throw y.length=e.length,y.expectedLength=s,y}if(i===void 0?i=ar.md.sha1.create():i.start(),o||(o=i),s<2*i.digestLength+2)throw new Error("RSAES-OAEP key is too short for the hash function.");n||(n=""),i.update(n,"raw");for(var a=i.digest().getBytes(),c=e.charAt(0),u=e.substring(1,i.digestLength+1),f=e.substring(1+i.digestLength),l=Y0(f,i.digestLength,o),p=ar.util.xorBytes(u,l,u.length),d=Y0(p,s-i.digestLength-1,o),h=ar.util.xorBytes(f,d,f.length),m=h.substring(0,i.digestLength),y=c!=="\0",g=0;g<i.digestLength;++g)y|=a.charAt(g)!==m.charAt(g);for(var x=1,v=i.digestLength,R=i.digestLength;R<h.length;R++){var E=h.charCodeAt(R),S=E&1^1,D=x?65534:0;y|=E&D,x=x&S,v+=x}if(y||h.charCodeAt(v)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(v+1)};function Y0(t,e,r){r||(r=ar.md.sha1.create());for(var n="",i=Math.ceil(e/r.digestLength),o=0;o<i;++o){var s=String.fromCharCode(o>>24&255,o>>16&255,o>>8&255,o&255);r.start(),r.update(t+s),n+=r.digest().getBytes()}return n.substring(0,e)}});var E4=ae((Rg,Ss)=>{var Yr=ve();Ke();G0();Di();(function(){if(Yr.prime){Ss.exports=Yr.prime;return}var t=Ss.exports=Yr.prime=Yr.prime||{},e=Yr.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new e(null);n.fromInt(30);var i=function(l,p){return l|p};t.generateProbablePrime=function(l,p,d){typeof p=="function"&&(d=p,p={}),p=p||{};var h=p.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var m=p.prng||Yr.random,y={nextBytes:function(g){for(var x=m.getBytesSync(g.length),v=0;v<g.length;++v)g[v]=x.charCodeAt(v)}};if(h.name==="PRIMEINC")return o(l,y,h.options,d);throw new Error("Invalid prime generation algorithm: "+h.name)};function o(l,p,d,h){return"workers"in d?c(l,p,d,h):s(l,p,d,h)}function s(l,p,d,h){var m=u(l,p),y=0,g=f(m.bitLength());"millerRabinTests"in d&&(g=d.millerRabinTests);var x=10;"maxBlockTime"in d&&(x=d.maxBlockTime),a(m,l,p,y,g,x,h)}function a(l,p,d,h,m,y,g){var x=+new Date;do{if(l.bitLength()>p&&(l=u(p,d)),l.isProbablePrime(m))return g(null,l);l.dAddOffset(r[h++%8],0)}while(y<0||+new Date-x<y);Yr.util.setImmediate(function(){a(l,p,d,h,m,y,g)})}function c(l,p,d,h){if(typeof Worker>"u")return s(l,p,d,h);var m=u(l,p),y=d.workers,g=d.workLoad||100,x=g*30/8,v=d.workerScript||"forge/prime.worker.js";if(y===-1)return Yr.util.estimateCores(function(E,S){E&&(S=2),y=S-1,R()});R();function R(){y=Math.max(1,y);for(var E=[],S=0;S<y;++S)E[S]=new Worker(v);for(var D=y,S=0;S<y;++S)E[S].addEventListener("message",F);var I=!1;function F(K){if(!I){--D;var O=K.data;if(O.found){for(var q=0;q<E.length;++q)E[q].terminate();return I=!0,h(null,new e(O.prime,16))}m.bitLength()>l&&(m=u(l,p));var Z=m.toString(16);K.target.postMessage({hex:Z,workLoad:g}),m.dAddOffset(x,0)}}}}function u(l,p){var d=new e(l,p),h=l-1;return d.testBit(h)||d.bitwiseTo(e.ONE.shiftLeft(h),i,d),d.dAddOffset(31-d.mod(n).byteValue(),0),d}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 W0=ae((Bg,R4)=>{var W=ve();Li();G0();N0();w4();E4();Di();Ke();typeof fe>"u"&&(fe=W.jsbn.BigInteger);var fe,Is=W.util.isNodejs?K0():null,w=W.asn1,Pt=W.util;W.pki=W.pki||{};R4.exports=W.pki.rsa=W.rsa=W.rsa||{};var ee=W.pki,i9=[6,4,2,4,2,4,6,2],o9={name:"PrivateKeyInfo",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"PrivateKeyInfo.version",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"PrivateKeyInfo.privateKeyAlgorithm",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:w.Class.UNIVERSAL,type:w.Type.OID,constructed:!1,capture:"privateKeyOid"}]},{name:"PrivateKeyInfo",tagClass:w.Class.UNIVERSAL,type:w.Type.OCTETSTRING,constructed:!1,capture:"privateKey"}]},s9={name:"RSAPrivateKey",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPrivateKey.version",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyVersion"},{name:"RSAPrivateKey.modulus",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyModulus"},{name:"RSAPrivateKey.publicExponent",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyPublicExponent"},{name:"RSAPrivateKey.privateExponent",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyPrivateExponent"},{name:"RSAPrivateKey.prime1",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyPrime1"},{name:"RSAPrivateKey.prime2",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyPrime2"},{name:"RSAPrivateKey.exponent1",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyExponent1"},{name:"RSAPrivateKey.exponent2",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyExponent2"},{name:"RSAPrivateKey.coefficient",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"privateKeyCoefficient"}]},a9={name:"RSAPublicKey",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"RSAPublicKey.modulus",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"publicKeyModulus"},{name:"RSAPublicKey.exponent",tagClass:w.Class.UNIVERSAL,type:w.Type.INTEGER,constructed:!1,capture:"publicKeyExponent"}]},c9=W.pki.rsa.publicKeyValidator={name:"SubjectPublicKeyInfo",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,captureAsn1:"subjectPublicKeyInfo",value:[{name:"SubjectPublicKeyInfo.AlgorithmIdentifier",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:w.Class.UNIVERSAL,type:w.Type.OID,constructed:!1,capture:"publicKeyOid"}]},{name:"SubjectPublicKeyInfo.subjectPublicKey",tagClass:w.Class.UNIVERSAL,type:w.Type.BITSTRING,constructed:!1,value:[{name:"SubjectPublicKeyInfo.subjectPublicKey.RSAPublicKey",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,optional:!0,captureAsn1:"rsaPublicKey"}]}]},u9={name:"DigestInfo",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm",tagClass:w.Class.UNIVERSAL,type:w.Type.SEQUENCE,constructed:!0,value:[{name:"DigestInfo.DigestAlgorithm.algorithmIdentifier",tagClass:w.Class.UNIVERSAL,type:w.Type.OID,constructed:!1,capture:"algorithmIdentifier"},{name:"DigestInfo.DigestAlgorithm.parameters",tagClass:w.Class.UNIVERSAL,type:w.Type.NULL,capture:"parameters",optional:!0,constructed:!1}]},{name:"DigestInfo.digest",tagClass:w.Class.UNIVERSAL,type:w.Type.OCTETSTRING,constructed:!1,capture:"digest"}]},f9=function(t){var e;if(t.algorithm in ee.oids)e=ee.oids[t.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=t.algorithm,r}var n=w.oidToDer(e).getBytes(),i=w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[]),o=w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[]);o.value.push(w.create(w.Class.UNIVERSAL,w.Type.OID,!1,n)),o.value.push(w.create(w.Class.UNIVERSAL,w.Type.NULL,!1,""));var s=w.create(w.Class.UNIVERSAL,w.Type.OCTETSTRING,!1,t.digest().getBytes());return i.value.push(o),i.value.push(s),w.toDer(i).getBytes()},_4=function(t,e,r){if(r)return t.modPow(e.e,e.n);if(!e.p||!e.q)return t.modPow(e.d,e.n);e.dP||(e.dP=e.d.mod(e.p.subtract(fe.ONE))),e.dQ||(e.dQ=e.d.mod(e.q.subtract(fe.ONE))),e.qInv||(e.qInv=e.q.modInverse(e.p));var n;do n=new fe(W.util.bytesToHex(W.random.getBytes(e.n.bitLength()/8)),16);while(n.compareTo(e.n)>=0||!n.gcd(e.n).equals(fe.ONE));t=t.multiply(n.modPow(e.e,e.n)).mod(e.n);for(var i=t.mod(e.p).modPow(e.dP,e.p),o=t.mod(e.q).modPow(e.dQ,e.q);i.compareTo(o)<0;)i=i.add(e.p);var s=i.subtract(o).multiply(e.qInv).mod(e.p).multiply(e.q).add(o);return s=s.multiply(n.modInverse(e.n)).mod(e.n),s};ee.rsa.encrypt=function(t,e,r){var n=r,i,o=Math.ceil(e.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=C4(t,e,r)):(i=W.util.createBuffer(),i.putBytes(t));for(var s=new fe(i.toHex(),16),a=_4(s,e,n),c=a.toString(16),u=W.util.createBuffer(),f=o-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(W.util.hexToBytes(c)),u.getBytes()};ee.rsa.decrypt=function(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8);if(t.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=t.length,o.expected=i,o}var s=new fe(W.util.createBuffer(t).toHex(),16);if(s.compareTo(e.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=_4(s,e,r),c=a.toString(16),u=W.util.createBuffer(),f=i-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(W.util.hexToBytes(c)),n!==!1?Q0(u.getBytes(),e,r):u.getBytes()};ee.rsa.createKeyPairGenerationState=function(t,e,r){typeof t=="string"&&(t=parseInt(t,10)),t=t||2048,r=r||{};var n=r.prng||W.random,i={nextBytes:function(a){for(var c=n.getBytesSync(a.length),u=0;u<a.length;++u)a[u]=c.charCodeAt(u)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:t,rng:i,eInt:e||65537,e:new fe(null),p:null,q:null,qBits:t>>1,pBits:t-(t>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};ee.rsa.stepKeyPairGenerationState=function(t,e){"algorithm"in t||(t.algorithm="PRIMEINC");var r=new fe(null);r.fromInt(30);for(var n=0,i=function(l,p){return l|p},o=+new Date,s,a=0;t.keys===null&&(e<=0||a<e);){if(t.state===0){var c=t.p===null?t.pBits:t.qBits,u=c-1;t.pqState===0?(t.num=new fe(c,t.rng),t.num.testBit(u)||t.num.bitwiseTo(fe.ONE.shiftLeft(u),i,t.num),t.num.dAddOffset(31-t.num.mod(r).byteValue(),0),n=0,++t.pqState):t.pqState===1?t.num.bitLength()>c?t.pqState=0:t.num.isProbablePrime(h9(t.num.bitLength()))?++t.pqState:t.num.dAddOffset(i9[n++%8],0):t.pqState===2?t.pqState=t.num.subtract(fe.ONE).gcd(t.e).compareTo(fe.ONE)===0?3:0:t.pqState===3&&(t.pqState=0,t.p===null?t.p=t.num:t.q=t.num,t.p!==null&&t.q!==null&&++t.state,t.num=null)}else if(t.state===1)t.p.compareTo(t.q)<0&&(t.num=t.p,t.p=t.q,t.q=t.num),++t.state;else if(t.state===2)t.p1=t.p.subtract(fe.ONE),t.q1=t.q.subtract(fe.ONE),t.phi=t.p1.multiply(t.q1),++t.state;else if(t.state===3)t.phi.gcd(t.e).compareTo(fe.ONE)===0?++t.state:(t.p=null,t.q=null,t.state=0);else if(t.state===4)t.n=t.p.multiply(t.q),t.n.bitLength()===t.bits?++t.state:(t.q=null,t.state=0);else if(t.state===5){var f=t.e.modInverse(t.phi);t.keys={privateKey:ee.rsa.setPrivateKey(t.n,t.e,f,t.p,t.q,f.mod(t.p1),f.mod(t.q1),t.q.modInverse(t.p)),publicKey:ee.rsa.setPublicKey(t.n,t.e)}}s=+new Date,a+=s-o,o=s}return t.keys!==null};ee.rsa.generateKeyPair=function(t,e,r,n){if(arguments.length===1?typeof t=="object"?(r=t,t=void 0):typeof t=="function"&&(n=t,t=void 0):arguments.length===2?typeof t=="number"?typeof e=="function"?(n=e,e=void 0):typeof e!="number"&&(r=e,e=void 0):(r=t,n=e,t=void 0,e=void 0):arguments.length===3&&(typeof e=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=e,e=void 0)),r=r||{},t===void 0&&(t=r.bits||2048),e===void 0&&(e=r.e||65537),!W.options.usePureJavaScript&&!r.prng&&t>=256&&t<=16384&&(e===65537||e===3)){if(n){if(S4("generateKeyPair"))return Is.generateKeyPair("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:ee.privateKeyFromPem(u),publicKey:ee.publicKeyFromPem(c)})});if(I4("generateKey")&&I4("exportKey"))return Pt.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:T4(e),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return Pt.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=ee.privateKeyFromAsn1(w.fromDer(W.util.createBuffer(a)));n(null,{privateKey:c,publicKey:ee.setRsaPublicKey(c.n,c.e)})}});if(A4("generateKey")&&A4("exportKey")){var i=Pt.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:T4(e),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=Pt.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(f){var l=f.target.result,p=ee.privateKeyFromAsn1(w.fromDer(W.util.createBuffer(l)));n(null,{privateKey:p,publicKey:ee.setRsaPublicKey(p.n,p.e)})},u.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(S4("generateKeyPairSync")){var o=Is.generateKeyPairSync("rsa",{modulusLength:t,publicExponent:e,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:ee.privateKeyFromPem(o.privateKey),publicKey:ee.publicKeyFromPem(o.publicKey)}}}var s=ee.rsa.createKeyPairGenerationState(t,e,r);if(!n)return ee.rsa.stepKeyPairGenerationState(s,0),s.keys;l9(s,r,n)};ee.setRsaPublicKey=ee.rsa.setPublicKey=function(t,e){var r={n:t,e};return r.encrypt=function(n,i,o){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 C4(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return W.pkcs1.encode_rsa_oaep(c,a,o)}};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 s=i.encode(n,r,!0);return ee.rsa.encrypt(s,r,!0)},r.verify=function(n,i,o,s){typeof o=="string"?o=o.toUpperCase():o===void 0&&(o="RSASSA-PKCS1-V1_5"),s===void 0&&(s={_parseAllDigestBytes:!0}),"_parseAllDigestBytes"in s||(s._parseAllDigestBytes=!0),o==="RSASSA-PKCS1-V1_5"?o={verify:function(c,u){u=Q0(u,r,!0);var f=w.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),l={},p=[];if(!w.validate(f,u9,l,p)){var d=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw d.errors=p,d}var h=w.derToOid(l.algorithmIdentifier);if(!(h===W.oids.md2||h===W.oids.md5||h===W.oids.sha1||h===W.oids.sha224||h===W.oids.sha256||h===W.oids.sha384||h===W.oids.sha512||h===W.oids["sha512-224"]||h===W.oids["sha512-256"])){var d=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw d.oid=h,d}if((h===W.oids.md2||h===W.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}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(c,u){return u=Q0(u,r,!0),c===u}});var a=ee.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};ee.setRsaPrivateKey=ee.rsa.setPrivateKey=function(t,e,r,n,i,o,s,a){var c={n:t,e,d:r,p:n,q:i,dP:o,dQ:s,qInv:a};return c.decrypt=function(u,f,l){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var p=ee.rsa.decrypt(u,c,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:Q0};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(d,h){return W.pkcs1.decode_rsa_oaep(h,d,l)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(d){return d}};else throw new Error('Unsupported encryption scheme: "'+f+'".');return f.decode(p,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:f9},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return u}},l=1);var p=f.encode(u,c.n.bitLength());return ee.rsa.encrypt(p,c,l)},c};ee.wrapRsaPrivateKey=function(t){return w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,w.integerToDer(0).getBytes()),w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.OID,!1,w.oidToDer(ee.oids.rsaEncryption).getBytes()),w.create(w.Class.UNIVERSAL,w.Type.NULL,!1,"")]),w.create(w.Class.UNIVERSAL,w.Type.OCTETSTRING,!1,w.toDer(t).getBytes())])};ee.privateKeyFromAsn1=function(t){var e={},r=[];if(w.validate(t,o9,e,r)&&(t=w.fromDer(W.util.createBuffer(e.privateKey))),e={},r=[],!w.validate(t,s9,e,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,c,u,f,l;return i=W.util.createBuffer(e.privateKeyModulus).toHex(),o=W.util.createBuffer(e.privateKeyPublicExponent).toHex(),s=W.util.createBuffer(e.privateKeyPrivateExponent).toHex(),a=W.util.createBuffer(e.privateKeyPrime1).toHex(),c=W.util.createBuffer(e.privateKeyPrime2).toHex(),u=W.util.createBuffer(e.privateKeyExponent1).toHex(),f=W.util.createBuffer(e.privateKeyExponent2).toHex(),l=W.util.createBuffer(e.privateKeyCoefficient).toHex(),ee.setRsaPrivateKey(new fe(i,16),new fe(o,16),new fe(s,16),new fe(a,16),new fe(c,16),new fe(u,16),new fe(f,16),new fe(l,16))};ee.privateKeyToAsn1=ee.privateKeyToRSAPrivateKey=function(t){return w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,w.integerToDer(0).getBytes()),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,cr(t.n)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,cr(t.e)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,cr(t.d)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,cr(t.p)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,cr(t.q)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,cr(t.dP)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,cr(t.dQ)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,cr(t.qInv))])};ee.publicKeyFromAsn1=function(t){var e={},r=[];if(w.validate(t,c9,e,r)){var n=w.derToOid(e.publicKeyOid);if(n!==ee.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}t=e.rsaPublicKey}if(r=[],!w.validate(t,a9,e,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=W.util.createBuffer(e.publicKeyModulus).toHex(),s=W.util.createBuffer(e.publicKeyExponent).toHex();return ee.setRsaPublicKey(new fe(o,16),new fe(s,16))};ee.publicKeyToAsn1=ee.publicKeyToSubjectPublicKeyInfo=function(t){return w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.OID,!1,w.oidToDer(ee.oids.rsaEncryption).getBytes()),w.create(w.Class.UNIVERSAL,w.Type.NULL,!1,"")]),w.create(w.Class.UNIVERSAL,w.Type.BITSTRING,!1,[ee.publicKeyToRSAPublicKey(t)])])};ee.publicKeyToRSAPublicKey=function(t){return w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,cr(t.n)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,cr(t.e))])};function C4(t,e,r){var n=W.util.createBuffer(),i=Math.ceil(e.n.bitLength()/8);if(t.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=t.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-t.length,a;if(r===0||r===1){a=r===0?0:255;for(var c=0;c<s;++c)n.putByte(a)}else for(;s>0;){for(var u=0,f=W.random.getBytes(s),c=0;c<s;++c)a=f.charCodeAt(c),a===0?++u:n.putByte(a);s=u}return n.putByte(0),n.putBytes(t),n}function Q0(t,e,r,n){var i=Math.ceil(e.n.bitLength()/8),o=W.util.createBuffer(t),s=o.getByte(),a=o.getByte();if(s!==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(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(c=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++c}else if(a===2)for(c=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++c}var f=o.getByte();if(f!==0||c!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function l9(t,e,r){typeof e=="function"&&(r=e,e={}),e=e||{};var n={algorithm:{name:e.algorithm||"PRIMEINC",options:{workers:e.workers||2,workLoad:e.workLoad||100,workerScript:e.workerScript}}};"prng"in e&&(n.prng=e.prng),i();function i(){o(t.pBits,function(a,c){if(a)return r(a);if(t.p=c,t.q!==null)return s(a,t.q);o(t.qBits,s)})}function o(a,c){W.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(t.q=c,t.p.compareTo(t.q)<0){var u=t.p;t.p=t.q,t.q=u}if(t.p.subtract(fe.ONE).gcd(t.e).compareTo(fe.ONE)!==0){t.p=null,i();return}if(t.q.subtract(fe.ONE).gcd(t.e).compareTo(fe.ONE)!==0){t.q=null,o(t.qBits,s);return}if(t.p1=t.p.subtract(fe.ONE),t.q1=t.q.subtract(fe.ONE),t.phi=t.p1.multiply(t.q1),t.phi.gcd(t.e).compareTo(fe.ONE)!==0){t.p=t.q=null,i();return}if(t.n=t.p.multiply(t.q),t.n.bitLength()!==t.bits){t.q=null,o(t.qBits,s);return}var f=t.e.modInverse(t.phi);t.keys={privateKey:ee.rsa.setPrivateKey(t.n,t.e,f,t.p,t.q,f.mod(t.p1),f.mod(t.q1),t.q.modInverse(t.p)),publicKey:ee.rsa.setPublicKey(t.n,t.e)},r(null,t.keys)}}function cr(t){var e=t.toString(16);e[0]>="8"&&(e="00"+e);var r=W.util.hexToBytes(e);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function h9(t){return t<=100?27:t<=150?18:t<=200?15:t<=250?12:t<=300?9:t<=350?8:t<=400?7:t<=500?6:t<=600?5:t<=800?4:t<=1250?3:2}function S4(t){return W.util.isNodejs&&typeof Is[t]=="function"}function I4(t){return typeof Pt.globalScope<"u"&&typeof Pt.globalScope.crypto=="object"&&typeof Pt.globalScope.crypto.subtle=="object"&&typeof Pt.globalScope.crypto.subtle[t]=="function"}function A4(t){return typeof Pt.globalScope<"u"&&typeof Pt.globalScope.msCrypto=="object"&&typeof Pt.globalScope.msCrypto.subtle=="object"&&typeof Pt.globalScope.msCrypto.subtle[t]=="function"}function T4(t){for(var e=W.util.hexToBytes(t.toString(16)),r=new Uint8Array(e.length),n=0;n<e.length;++n)r[n]=e.charCodeAt(n);return r}});var k4=ae((Pg,D4)=>{var z=ve();O0();Li();K3();yn();N0();ms();Y3();Di();o4();W0();Ke();typeof B4>"u"&&(B4=z.jsbn.BigInteger);var B4,T=z.asn1,te=z.pki=z.pki||{};D4.exports=te.pbe=z.pbe=z.pbe||{};var vn=te.oids,d9={name:"EncryptedPrivateKeyInfo",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},p9={name:"PBES2Algorithms",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:T.Class.UNIVERSAL,type:T.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:T.Class.UNIVERSAL,type:T.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:T.Class.UNIVERSAL,type:T.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},m9={name:"pkcs-12PbeParams",tagClass:T.Class.UNIVERSAL,type:T.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:T.Class.UNIVERSAL,type:T.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:T.Class.UNIVERSAL,type:T.Type.INTEGER,constructed:!1,capture:"iterations"}]};te.encryptPrivateKeyInfo=function(t,e,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=z.random.getBytesSync(r.saltSize),i=r.count,o=T.integerToDer(i),s,a,c;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var u,f,l;switch(r.algorithm){case"aes128":s=16,u=16,f=vn["aes128-CBC"],l=z.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,f=vn["aes192-CBC"],l=z.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,f=vn["aes256-CBC"],l=z.aes.createEncryptionCipher;break;case"des":s=8,u=8,f=vn.desCBC,l=z.des.createEncryptionCipher;break;default:var p=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw p.algorithm=r.algorithm,p}var d="hmacWith"+r.prfAlgorithm.toUpperCase(),h=L4(d),m=z.pkcs5.pbkdf2(e,n,i,s,h),y=z.random.getBytesSync(u),g=l(m);g.start(y),g.update(T.toDer(t)),g.finish(),c=g.output.getBytes();var x=y9(n,o,s,d);a=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(vn.pkcs5PBES2).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(vn.pkcs5PBKDF2).getBytes()),x]),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(f).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,y)])])])}else if(r.algorithm==="3des"){s=24;var v=new z.util.ByteBuffer(n),m=te.pbe.generatePkcs12Key(e,v,1,i,s),y=te.pbe.generatePkcs12Key(e,v,2,i,s),g=z.des.createEncryptionCipher(m);g.start(y),g.update(T.toDer(t)),g.finish(),c=g.output.getBytes(),a=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(vn["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,n),T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,o.getBytes())])])}else{var p=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw p.algorithm=r.algorithm,p}var R=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[a,T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,c)]);return R};te.decryptPrivateKeyInfo=function(t,e){var r=null,n={},i=[];if(!T.validate(t,d9,n,i)){var o=new Error("Cannot read encrypted private key. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=T.derToOid(n.encryptionOid),a=te.pbe.getCipher(s,n.encryptionParams,e),c=z.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=T.fromDer(a.output)),r};te.encryptedPrivateKeyToPem=function(t,e){var r={type:"ENCRYPTED PRIVATE KEY",body:T.toDer(t).getBytes()};return z.pem.encode(r,{maxline:e})};te.encryptedPrivateKeyFromPem=function(t){var e=z.pem.decode(t)[0];if(e.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=e.type,r}if(e.procType&&e.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return T.fromDer(e.body)};te.encryptRsaPrivateKey=function(t,e,r){if(r=r||{},!r.legacy){var n=te.wrapRsaPrivateKey(te.privateKeyToAsn1(t));return n=te.encryptPrivateKeyInfo(n,e,r),te.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=z.random.getBytesSync(16),a=z.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=z.random.getBytesSync(8),a=z.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=z.random.getBytesSync(8),a=z.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=z.pbe.opensslDeriveBytes(e,o.substr(0,8),s),f=a(u);f.start(o),f.update(T.toDer(te.privateKeyToAsn1(t))),f.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:z.util.bytesToHex(o).toUpperCase()},body:f.output.getBytes()};return z.pem.encode(l)};te.decryptRsaPrivateKey=function(t,e){var r=null,n=z.pem.decode(t)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=z.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=z.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=z.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=z.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=z.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return z.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return z.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return z.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=z.util.hexToBytes(n.dekInfo.parameters),c=z.pbe.opensslDeriveBytes(e,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(z.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=te.decryptPrivateKeyInfo(T.fromDer(r),e):r=T.fromDer(r),r!==null&&(r=te.privateKeyFromAsn1(r)),r};te.pbe.generatePkcs12Key=function(t,e,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in z.md))throw new Error('"sha1" hash algorithm unavailable.');o=z.md.sha1.create()}var c=o.digestLength,u=o.blockLength,f=new z.util.ByteBuffer,l=new z.util.ByteBuffer;if(t!=null){for(a=0;a<t.length;a++)l.putInt16(t.charCodeAt(a));l.putInt16(0)}var p=l.length(),d=e.length(),h=new z.util.ByteBuffer;h.fillWithByte(r,u);var m=u*Math.ceil(d/u),y=new z.util.ByteBuffer;for(a=0;a<m;a++)y.putByte(e.at(a%d));var g=u*Math.ceil(p/u),x=new z.util.ByteBuffer;for(a=0;a<g;a++)x.putByte(l.at(a%p));var v=y;v.putBuffer(x);for(var R=Math.ceil(i/c),E=1;E<=R;E++){var S=new z.util.ByteBuffer;S.putBytes(h.bytes()),S.putBytes(v.bytes());for(var D=0;D<n;D++)o.start(),o.update(S.getBytes()),S=o.digest();var I=new z.util.ByteBuffer;for(a=0;a<u;a++)I.putByte(S.at(a%c));var F=Math.ceil(d/u)+Math.ceil(p/u),K=new z.util.ByteBuffer;for(s=0;s<F;s++){var O=new z.util.ByteBuffer(v.getBytes(u)),q=511;for(a=I.length()-1;a>=0;a--)q=q>>8,q+=I.at(a)+O.at(a),O.setAt(a,q&255);K.putBuffer(O)}v=K,f.putBuffer(S)}return f.truncate(f.length()-i),f};te.pbe.getCipher=function(t,e,r){switch(t){case te.oids.pkcs5PBES2:return te.pbe.getCipherForPBES2(t,e,r);case te.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case te.oids["pbewithSHAAnd40BitRC2-CBC"]:return te.pbe.getCipherForPKCS12PBE(t,e,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=t,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};te.pbe.getCipherForPBES2=function(t,e,r){var n={},i=[];if(!T.validate(e,p9,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}if(t=T.derToOid(n.kdfOid),t!==te.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=t,o.supportedOids=["pkcs5PBKDF2"],o}if(t=T.derToOid(n.encOid),t!==te.oids["aes128-CBC"]&&t!==te.oids["aes192-CBC"]&&t!==te.oids["aes256-CBC"]&&t!==te.oids["des-EDE3-CBC"]&&t!==te.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=t,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=z.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(te.oids[t]){case"aes128-CBC":c=16,u=z.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=z.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=z.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=z.des.createDecryptionCipher;break;case"desCBC":c=8,u=z.des.createDecryptionCipher;break}var f=N4(n.prfOid),l=z.pkcs5.pbkdf2(r,s,a,c,f),p=n.encIv,d=u(l);return d.start(p),d};te.pbe.getCipherForPKCS12PBE=function(t,e,r){var n={},i=[];if(!T.validate(e,m9,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}var s=z.util.createBuffer(n.salt),a=z.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,f;switch(t){case te.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,f=z.des.startDecrypting;break;case te.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,f=function(m,y){var g=z.rc2.createDecryptionCipher(m,40);return g.start(y,null),g};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=t,o}var l=N4(n.prfOid),p=te.pbe.generatePkcs12Key(r,s,1,a,c,l);l.start();var d=te.pbe.generatePkcs12Key(r,s,2,a,u,l);return f(p,d)};te.pbe.opensslDeriveBytes=function(t,e,r,n){if(typeof n>"u"||n===null){if(!("md5"in z.md))throw new Error('"md5" hash algorithm unavailable.');n=z.md.md5.create()}e===null&&(e="");for(var i=[P4(n,t+e)],o=16,s=1;o<r;++s,o+=16)i.push(P4(n,i[s-1]+t+e));return i.join("").substr(0,r)};function P4(t,e){return t.start().update(e).digest().getBytes()}function N4(t){var e;if(!t)e="hmacWithSHA1";else if(e=te.oids[T.derToOid(t)],!e){var r=new Error("Unsupported PRF OID.");throw r.oid=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return L4(e)}function L4(t){var e=z.md;switch(t){case"hmacWithSHA224":e=z.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":t=t.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=t,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!e||!(t in e))throw new Error("Unknown hash algorithm: "+t);return e[t].create()}function y9(t,e,r,n){var i=T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OCTETSTRING,!1,t),T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,e.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(T.create(T.Class.UNIVERSAL,T.Type.INTEGER,!1,z.util.hexToBytes(r.toString(16))),T.create(T.Class.UNIVERSAL,T.Type.SEQUENCE,!0,[T.create(T.Class.UNIVERSAL,T.Type.OID,!1,T.oidToDer(te.oids[n]).getBytes()),T.create(T.Class.UNIVERSAL,T.Type.NULL,!1,"")])),i}});var Nc=ae(($v,Pc)=>{var _e=ve();yn();Ke();var zi=Pc.exports=_e.sha512=_e.sha512||{};_e.md.sha512=_e.md.algorithms.sha512=zi;var Rc=_e.sha384=_e.sha512.sha384=_e.sha512.sha384||{};Rc.create=function(){return zi.create("SHA-384")};_e.md.sha384=_e.md.algorithms.sha384=Rc;_e.sha512.sha256=_e.sha512.sha256||{create:function(){return zi.create("SHA-512/256")}};_e.md["sha512/256"]=_e.md.algorithms["sha512/256"]=_e.sha512.sha256;_e.sha512.sha224=_e.sha512.sha224||{create:function(){return zi.create("SHA-512/224")}};_e.md["sha512/224"]=_e.md.algorithms["sha512/224"]=_e.sha512.sha224;zi.create=function(t){if(Bc||Fh(),typeof t>"u"&&(t="SHA-512"),!(t in Tn))throw new Error("Invalid SHA-512 algorithm: "+t);for(var e=Tn[t],r=null,n=_e.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(t){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:t.replace("-","").toLowerCase(),blockLength:128,digestLength:s,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=_e.util.createBuffer(),r=new Array(e.length);for(var u=0;u<e.length;++u)r[u]=e[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=_e.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),Cc(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=_e.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,p,d=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)l=a.fullMessageLength[h+1]*8,p=l/4294967296>>>0,d+=p,c.putInt32(d>>>0),d=l>>>0;c.putInt32(d);for(var m=new Array(r.length),h=0;h<r.length;++h)m[h]=r[h].slice(0);Cc(m,i,c);var y=_e.util.createBuffer(),g;t==="SHA-512"?g=m.length:t==="SHA-384"?g=m.length-2:g=m.length-4;for(var h=0;h<g;++h)y.putInt32(m[h][0]),(h!==g-1||t!=="SHA-512/224")&&y.putInt32(m[h][1]);return y},a};var ia=null,Bc=!1,oa=null,Tn=null;function Fh(){ia=String.fromCharCode(128),ia+=_e.util.fillString(String.fromCharCode(0),128),oa=[[1116352408,3609767458],[1899447441,602891725],[3049323471,3964484399],[3921009573,2173295548],[961987163,4081628472],[1508970993,3053834265],[2453635748,2937671579],[2870763221,3664609560],[3624381080,2734883394],[310598401,1164996542],[607225278,1323610764],[1426881987,3590304994],[1925078388,4068182383],[2162078206,991336113],[2614888103,633803317],[3248222580,3479774868],[3835390401,2666613458],[4022224774,944711139],[264347078,2341262773],[604807628,2007800933],[770255983,1495990901],[1249150122,1856431235],[1555081692,3175218132],[1996064986,2198950837],[2554220882,3999719339],[2821834349,766784016],[2952996808,2566594879],[3210313671,3203337956],[3336571891,1034457026],[3584528711,2466948901],[113926993,3758326383],[338241895,168717936],[666307205,1188179964],[773529912,1546045734],[1294757372,1522805485],[1396182291,2643833823],[1695183700,2343527390],[1986661051,1014477480],[2177026350,1206759142],[2456956037,344077627],[2730485921,1290863460],[2820302411,3158454273],[3259730800,3505952657],[3345764771,106217008],[3516065817,3606008344],[3600352804,1432725776],[4094571909,1467031594],[275423344,851169720],[430227734,3100823752],[506948616,1363258195],[659060556,3750685593],[883997877,3785050280],[958139571,3318307427],[1322822218,3812723403],[1537002063,2003034995],[1747873779,3602036899],[1955562222,1575990012],[2024104815,1125592928],[2227730452,2716904306],[2361852424,442776044],[2428436474,593698344],[2756734187,3733110249],[3204031479,2999351573],[3329325298,3815920427],[3391569614,3928383900],[3515267271,566280711],[3940187606,3454069534],[4118630271,4000239992],[116418474,1914138554],[174292421,2731055270],[289380356,3203993006],[460393269,320620315],[685471733,587496836],[852142971,1086792851],[1017036298,365543100],[1126000580,2618297676],[1288033470,3409855158],[1501505948,4234509866],[1607167915,987167468],[1816402316,1246189591]],Tn={},Tn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],Tn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],Tn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],Tn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],Bc=!0}function Cc(t,e,r){for(var n,i,o,s,a,c,u,f,l,p,d,h,m,y,g,x,v,R,E,S,D,I,F,K,O,q,Z,ne,A,P,N,U,C,$,Y,X=r.length();X>=128;){for(A=0;A<16;++A)e[A][0]=r.getInt32()>>>0,e[A][1]=r.getInt32()>>>0;for(;A<80;++A)U=e[A-2],P=U[0],N=U[1],n=((P>>>19|N<<13)^(N>>>29|P<<3)^P>>>6)>>>0,i=((P<<13|N>>>19)^(N<<3|P>>>29)^(P<<26|N>>>6))>>>0,$=e[A-15],P=$[0],N=$[1],o=((P>>>1|N<<31)^(P>>>8|N<<24)^P>>>7)>>>0,s=((P<<31|N>>>1)^(P<<24|N>>>8)^(P<<25|N>>>7))>>>0,C=e[A-7],Y=e[A-16],N=i+C[1]+s+Y[1],e[A][0]=n+C[0]+o+Y[0]+(N/4294967296>>>0)>>>0,e[A][1]=N>>>0;for(m=t[0][0],y=t[0][1],g=t[1][0],x=t[1][1],v=t[2][0],R=t[2][1],E=t[3][0],S=t[3][1],D=t[4][0],I=t[4][1],F=t[5][0],K=t[5][1],O=t[6][0],q=t[6][1],Z=t[7][0],ne=t[7][1],A=0;A<80;++A)u=((D>>>14|I<<18)^(D>>>18|I<<14)^(I>>>9|D<<23))>>>0,f=((D<<18|I>>>14)^(D<<14|I>>>18)^(I<<23|D>>>9))>>>0,l=(O^D&(F^O))>>>0,p=(q^I&(K^q))>>>0,a=((m>>>28|y<<4)^(y>>>2|m<<30)^(y>>>7|m<<25))>>>0,c=((m<<4|y>>>28)^(y<<30|m>>>2)^(y<<25|m>>>7))>>>0,d=(m&g|v&(m^g))>>>0,h=(y&x|R&(y^x))>>>0,N=ne+f+p+oa[A][1]+e[A][1],n=Z+u+l+oa[A][0]+e[A][0]+(N/4294967296>>>0)>>>0,i=N>>>0,N=c+h,o=a+d+(N/4294967296>>>0)>>>0,s=N>>>0,Z=O,ne=q,O=F,q=K,F=D,K=I,N=S+i,D=E+n+(N/4294967296>>>0)>>>0,I=N>>>0,E=v,S=R,v=g,R=x,g=m,x=y,N=i+s,m=n+o+(N/4294967296>>>0)>>>0,y=N>>>0;N=t[0][1]+y,t[0][0]=t[0][0]+m+(N/4294967296>>>0)>>>0,t[0][1]=N>>>0,N=t[1][1]+x,t[1][0]=t[1][0]+g+(N/4294967296>>>0)>>>0,t[1][1]=N>>>0,N=t[2][1]+R,t[2][0]=t[2][0]+v+(N/4294967296>>>0)>>>0,t[2][1]=N>>>0,N=t[3][1]+S,t[3][0]=t[3][0]+E+(N/4294967296>>>0)>>>0,t[3][1]=N>>>0,N=t[4][1]+I,t[4][0]=t[4][0]+D+(N/4294967296>>>0)>>>0,t[4][1]=N>>>0,N=t[5][1]+K,t[5][0]=t[5][0]+F+(N/4294967296>>>0)>>>0,t[5][1]=N>>>0,N=t[6][1]+q,t[6][0]=t[6][0]+O+(N/4294967296>>>0)>>>0,t[6][1]=N>>>0,N=t[7][1]+ne,t[7][0]=t[7][0]+Z+(N/4294967296>>>0)>>>0,t[7][1]=N>>>0,X-=128}}});var Wi=ae((Jb,nu)=>{"use strict";function ru(t,e){for(let r in e)Object.defineProperty(t,r,{value:e[r],enumerable:!0,configurable:!0});return t}function md(t,e,r){if(!t||typeof t=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof e=="object"&&(r=e,e=""),e&&(r.code=e);try{return ru(t,r)}catch{r.message=t.message,r.stack=t.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(t)),ru(new i,r)}}nu.exports=md});var xa=ae((ow,ga)=>{var iw=function(){typeof ga<"u"&&(ga.exports=m);var t=86400,e=3200,r=146097*e/400,n=t*r,i=1e3*n,o=864e13,s=4294967296,a=1e6,c="000000000",u=Math.trunc||function(I){var F=I-I%1;return F==0&&(I<0||I===0&&1/I!=1/0)?-0:F},f=m.prototype,l=(m.fromDate=function(I){return new m(+I)},m.fromInt64BE=R(0,1,2,3,0,4),m.fromInt64LE=R(3,2,1,0,4,0),m.fromString=function(O){var F,K=new m,O=(O+="").replace(/^\s*[+\-]?\d+/,function(Z){var Z=+Z,ne=1970+(Z-1970)%400;return K.year=Z-ne,ne}).replace(/(?:Z|([+\-]\d{2}):?(\d{2}))$/,function(q,Z,ne){return Z<0&&(ne*=-1),F=6e4*(60*+Z+ +ne),""}).replace(/\.\d+$/,function(q){return K.nano=+(q+c).substr(1,9),""}).split(/\D+/);if(1<O.length?O[1]--:O[1]=0,K.time=F=Date.UTC.apply(Date,O)-(F||0),isNaN(F))throw new TypeError("Invalid Date");return y(K)},m.fromTimeT=function(I){return x(I,0)},f.year=0,f.time=0,f.nano=0,f.addNano=function(I){return this.nano+=+I||0,this},f.getNano=function(){var I=y(this);return(I.time%1e3*a+ +I.nano+1e9)%1e9},f.getTimeT=function(){var F=y(this),I=Math.floor(F.time/1e3),F=F.year;return F&&(I+=F*r*t/e),I},f.getYear=function(){return this.toDate().getUTCFullYear()+this.year},f.toDate=function(){return g(y(this).time)},f.toJSON=function(){return this.toString().replace(/0{1,6}Z$/,"Z")},f.toString=function(I){var F=this,K=F.toDate(),O={H:function(){return S(K.getUTCHours())},L:function(){return D(K.getUTCMilliseconds(),3)},M:function(){return S(K.getUTCMinutes())},N:function(){return D(F.getNano(),9)},S:function(){return S(K.getUTCSeconds())},Y:function(){var q=F.getYear();return 999999<q?"+"+q:9999<q?"+"+D(q,6):0<=q?D(q,4):-999999<=q?"-"+D(-q,6):q},a:function(){return d[K.getUTCDay()]},b:function(){return p[K.getUTCMonth()]},d:function(){return S(K.getUTCDate())},e:function(){return function(q){return(9<q?"":" ")+(0|q)}(K.getUTCDate())},m:function(){return S(K.getUTCMonth()+1)}};return function q(Z){return Z.replace(/%./g,function(ne){var P=ne[1],A=h[P],P=O[P];return A?q(A):P?P():ne})}(I||l)},f.writeInt64BE=v(0,1,2,3,0,4),f.writeInt64LE=v(3,2,1,0,4,0),"%Y-%m-%dT%H:%M:%S.%NZ"),p=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],d=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],h={"%":"%",F:"%Y-%m-%d",n:`
16
+ `,R:"%H:%M",T:"%H:%M:%S",t:" ",X:"%T",Z:"GMT",z:"+0000"};return m;function m(I,F,K){var O=this;if(!(O instanceof m))return new m(I,F,K);O.time=+I||0,O.nano=+F||0,O.year=+K||0,y(O)}function y(I){var F,K,O,q=I.year,Z=I.time,ne=I.nano,A=((ne<0||a<=ne)&&(ne-=(K=Math.floor(ne/a))*a,Z+=K,K=1),q%e);return(Z<-o||o<Z||A)&&((F=u(Z/i))&&(q+=F*e,Z-=F*i),(O=g(Z)).setUTCFullYear(A+O.getUTCFullYear()),O=(Z=+O)+(F=u((q-=A)/e))*i,F&&-o<=O&&O<=o&&(q-=F*e,Z=O),K=1),K&&(I.year=q,I.time=Z,I.nano=ne),I}function g(I){var F=new Date(0);return F.setTime(I),F}function x(q,O){q=+q||0;var K=u((O=(O|0)*s)/n)+u(q/n),O=O%n+q%n,q=u(O/n);return q&&(K+=q,O-=q*n),new m(1e3*O,0,K*e)}function v(I,F,K,O,q,Z){return function(A,P){var U=y(this);A=A||new Array(8),E(A,P|=0);var C=Math.floor(U.time/1e3),U=U.year*(r*t/e),N=u(U/s)+u(C/s),U=U%s+C%s,C=Math.floor(U/s);return C&&(N+=C,U-=C*s),ne(A,P+q,N),ne(A,P+Z,U),A};function ne(A,P,N){A[P+I]=N>>24&255,A[P+F]=N>>16&255,A[P+K]=N>>8&255,A[P+O]=255&N}}function R(I,F,K,O,q,Z){return function(A,P){E(A,P|=0);var N=ne(A,P+q);return x(ne(A,P+Z),N)};function ne(A,P){return 16777216*A[P+I]+(A[P+F]<<16|A[P+K]<<8|A[P+O])}}function E(I,F){if(I=I&&I.length,I==null)throw new TypeError("Invalid Buffer");if(I<F+8)throw new RangeError("Out of range")}function S(I){return(9<I?"":"0")+(0|I)}function D(I,F){return(c+(0|I)).substr(-F)}}()});var Pf=ae(o0=>{(function(){var t,e,r,n,i,o,s,a;a=function(c){var u,f,l,p;return u=(c&255<<24)>>>24,f=(c&255<<16)>>>16,l=(c&65280)>>>8,p=c&255,[u,f,l,p].join(".")},s=function(c){var u,f,l,p,d,h;for(u=[],l=p=0;p<=3&&c.length!==0;l=++p){if(l>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}h=e(c),d=h[0],f=h[1],c=c.substring(f),u.push(d)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),o=r("a"),i=r("A"),e=function(c){var u,f,l,p,d;for(p=0,u=10,f="9",l=0,c.length>1&&c[l]==="0"&&(c[l+1]==="x"||c[l+1]==="X"?(l+=2,u=16):"0"<=c[l+1]&&c[l+1]<="9"&&(l++,u=8,f="7")),d=l;l<c.length;){if("0"<=c[l]&&c[l]<=f)p=p*u+(r(c[l])-n)>>>0;else if(u===16)if("a"<=c[l]&&c[l]<="f")p=p*u+(10+r(c[l])-o)>>>0;else if("A"<=c[l]&&c[l]<="F")p=p*u+(10+r(c[l])-i)>>>0;else break;else break;if(p>4294967295)throw new Error("too large");l++}if(l===d)throw new Error("empty octet");return[p,l]},t=function(){function c(u,f){var l,p,d,h;if(typeof u!="string")throw new Error("Missing `net' parameter");if(f||(h=u.split("/",2),u=h[0],f=h[1]),f||(f=32),typeof f=="string"&&f.indexOf(".")>-1){try{this.maskLong=s(f)}catch(m){throw l=m,new Error("Invalid mask: "+f)}for(p=d=32;d>=0;p=--d)if(this.maskLong===4294967295<<32-p>>>0){this.bitmask=p;break}}else if(f||f===0)this.bitmask=parseInt(f,10),this.maskLong=0,this.bitmask>0&&(this.maskLong=4294967295<<32-this.bitmask>>>0);else throw new Error("Invalid mask: empty");try{this.netLong=(s(u)&this.maskLong)>>>0}catch(m){throw l=m,new Error("Invalid net address: "+u)}if(!(this.bitmask<=32))throw new Error("Invalid mask for ip4: "+f);this.size=Math.pow(2,32-this.bitmask),this.base=a(this.netLong),this.mask=a(this.maskLong),this.hostmask=a(~this.maskLong),this.first=this.bitmask<=30?a(this.netLong+1):this.base,this.last=this.bitmask<=30?a(this.netLong+this.size-2):a(this.netLong+this.size-1),this.broadcast=this.bitmask<=30?a(this.netLong+this.size-1):void 0}return c.prototype.contains=function(u){return typeof u=="string"&&(u.indexOf("/")>0||u.split(".").length!==4)&&(u=new c(u)),u instanceof c?this.contains(u.base)&&this.contains(u.broadcast||u.last):(s(u)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},c.prototype.next=function(u){return u==null&&(u=1),new c(a(this.netLong+this.size*u),this.mask)},c.prototype.forEach=function(u){var f,l,p;for(p=s(this.first),l=s(this.last),f=0;p<=l;)u(a(p),p,f),f++,p++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),o0.ip2long=s,o0.long2ip=a,o0.Netmask=t}).call(o0)});var Ff=ae((Of,zo)=>{(function(t){"use strict";let e="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${e}\\.${e}\\.${e}\\.${e}$`,"i"),threeOctet:new RegExp(`^${e}\\.${e}\\.${e}$`,"i"),twoOctet:new RegExp(`^${e}\\.${e}$`,"i"),longValue:new RegExp(`^${e}$`,"i")},n=new RegExp("^0[0-7]+$","i"),i=new RegExp("^0x[a-f0-9]+$","i"),o="%[0-9a-z]{1,}",s="(?:[0-9a-f]+::?)+",a={zoneIndex:new RegExp(o,"i"),native:new RegExp(`^(::)?(${s})?([0-9a-f]+)?(::)?(${o})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${e}\\.${e}\\.${e}\\.${e}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${s})|(?:::)(?:${s})?)${e}\\.${e}\\.${e}\\.${e}(${o})?$`,"i")};function c(d,h){if(d.indexOf("::")!==d.lastIndexOf("::"))return null;let m=0,y=-1,g=(d.match(a.zoneIndex)||[])[0],x,v;for(g&&(g=g.substring(1),d=d.replace(/%.+$/,""));(y=d.indexOf(":",y+1))>=0;)m++;if(d.substr(0,2)==="::"&&m--,d.substr(-2,2)==="::"&&m--,m>h)return null;for(v=h-m,x=":";v--;)x+="0:";return d=d.replace("::",x),d[0]===":"&&(d=d.slice(1)),d[d.length-1]===":"&&(d=d.slice(0,-1)),h=function(){let R=d.split(":"),E=[];for(let S=0;S<R.length;S++)E.push(parseInt(R[S],16));return E}(),{parts:h,zoneId:g}}function u(d,h,m,y){if(d.length!==h.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let g=0,x;for(;y>0;){if(x=m-y,x<0&&(x=0),d[g]>>x!==h[g]>>x)return!1;y-=m,g+=1}return!0}function f(d){if(i.test(d))return parseInt(d,16);if(d[0]==="0"&&!isNaN(parseInt(d[1],10))){if(n.test(d))return parseInt(d,8);throw new Error(`ipaddr: cannot parse ${d} as octal`)}return parseInt(d,10)}function l(d,h){for(;d.length<h;)d=`0${d}`;return d}let p={};p.IPv4=function(){function d(h){if(h.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let m,y;for(m=0;m<h.length;m++)if(y=h[m],!(0<=y&&y<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=h}return d.prototype.SpecialRanges={unspecified:[[new d([0,0,0,0]),8]],broadcast:[[new d([255,255,255,255]),32]],multicast:[[new d([224,0,0,0]),4]],linkLocal:[[new d([169,254,0,0]),16]],loopback:[[new d([127,0,0,0]),8]],carrierGradeNat:[[new d([100,64,0,0]),10]],private:[[new d([10,0,0,0]),8],[new d([172,16,0,0]),12],[new d([192,168,0,0]),16]],reserved:[[new d([192,0,0,0]),24],[new d([192,0,2,0]),24],[new d([192,88,99,0]),24],[new d([198,18,0,0]),15],[new d([198,51,100,0]),24],[new d([203,0,113,0]),24],[new d([240,0,0,0]),4]]},d.prototype.kind=function(){return"ipv4"},d.prototype.match=function(h,m){let y;if(m===void 0&&(y=h,h=y[0],m=y[1]),h.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,h.octets,8,m)},d.prototype.prefixLengthFromSubnetMask=function(){let h=0,m=!1,y={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},g,x,v;for(g=3;g>=0;g-=1)if(x=this.octets[g],x in y){if(v=y[x],m&&v!==0)return null;v!==8&&(m=!0),h+=v}else return null;return 32-h},d.prototype.range=function(){return p.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){return this.octets.slice(0)},d.prototype.toIPv4MappedAddress=function(){return p.IPv6.parse(`::ffff:${this.toString()}`)},d.prototype.toNormalizedString=function(){return this.toString()},d.prototype.toString=function(){return this.octets.join(".")},d}(),p.IPv4.broadcastAddressFromCIDR=function(d){try{let h=this.parseCIDR(d),m=h[0].toByteArray(),y=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],x=0;for(;x<4;)g.push(parseInt(m[x],10)|parseInt(y[x],10)^255),x++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},p.IPv4.isIPv4=function(d){return this.parser(d)!==null},p.IPv4.isValid=function(d){try{return new this(this.parser(d)),!0}catch{return!1}},p.IPv4.isValidFourPartDecimal=function(d){return!!(p.IPv4.isValid(d)&&d.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},p.IPv4.networkAddressFromCIDR=function(d){let h,m,y,g,x;try{for(h=this.parseCIDR(d),y=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],m=0;m<4;)g.push(parseInt(y[m],10)&parseInt(x[m],10)),m++;return new this(g)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},p.IPv4.parse=function(d){let h=this.parser(d);if(h===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(h)},p.IPv4.parseCIDR=function(d){let h;if(h=d.match(/^(.+)\/(\d+)$/)){let m=parseInt(h[2]);if(m>=0&&m<=32){let y=[this.parse(h[1]),m];return Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},p.IPv4.parser=function(d){let h,m,y;if(h=d.match(r.fourOctet))return function(){let g=h.slice(1,6),x=[];for(let v=0;v<g.length;v++)m=g[v],x.push(f(m));return x}();if(h=d.match(r.longValue)){if(y=f(h[1]),y>4294967295||y<0)throw new Error("ipaddr: address outside defined range");return function(){let g=[],x;for(x=0;x<=24;x+=8)g.push(y>>x&255);return g}().reverse()}else return(h=d.match(r.twoOctet))?function(){let g=h.slice(1,4),x=[];if(y=f(g[1]),y>16777215||y<0)throw new Error("ipaddr: address outside defined range");return x.push(f(g[0])),x.push(y>>16&255),x.push(y>>8&255),x.push(y&255),x}():(h=d.match(r.threeOctet))?function(){let g=h.slice(1,5),x=[];if(y=f(g[2]),y>65535||y<0)throw new Error("ipaddr: address outside defined range");return x.push(f(g[0])),x.push(f(g[1])),x.push(y>>8&255),x.push(y&255),x}():null},p.IPv4.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>32)throw new Error("ipaddr: invalid IPv4 prefix length");let h=[0,0,0,0],m=0,y=Math.floor(d/8);for(;m<y;)h[m]=255,m++;return y<4&&(h[y]=Math.pow(2,d%8)-1<<8-d%8),new this(h)},p.IPv6=function(){function d(h,m){let y,g;if(h.length===16)for(this.parts=[],y=0;y<=14;y+=2)this.parts.push(h[y]<<8|h[y+1]);else if(h.length===8)this.parts=h;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(y=0;y<this.parts.length;y++)if(g=this.parts[y],!(0<=g&&g<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");m&&(this.zoneId=m)}return d.prototype.SpecialRanges={unspecified:[new d([0,0,0,0,0,0,0,0]),128],linkLocal:[new d([65152,0,0,0,0,0,0,0]),10],multicast:[new d([65280,0,0,0,0,0,0,0]),8],loopback:[new d([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new d([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new d([0,0,0,0,0,65535,0,0]),96],rfc6145:[new d([0,0,0,0,65535,0,0,0]),96],rfc6052:[new d([100,65435,0,0,0,0,0,0]),96],"6to4":[new d([8194,0,0,0,0,0,0,0]),16],teredo:[new d([8193,0,0,0,0,0,0,0]),32],reserved:[[new d([8193,3512,0,0,0,0,0,0]),32]],benchmarking:[new d([8193,2,0,0,0,0,0,0]),48],amt:[new d([8193,3,0,0,0,0,0,0]),32],as112v6:[new d([8193,4,274,0,0,0,0,0]),48],deprecated:[new d([8193,16,0,0,0,0,0,0]),28],orchid2:[new d([8193,32,0,0,0,0,0,0]),28]},d.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},d.prototype.kind=function(){return"ipv6"},d.prototype.match=function(h,m){let y;if(m===void 0&&(y=h,h=y[0],m=y[1]),h.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,h.parts,16,m)},d.prototype.prefixLengthFromSubnetMask=function(){let h=0,m=!1,y={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},g,x;for(let v=7;v>=0;v-=1)if(g=this.parts[v],g in y){if(x=y[g],m&&x!==0)return null;x!==16&&(m=!0),h+=x}else return null;return 128-h},d.prototype.range=function(){return p.subnetMatch(this,this.SpecialRanges)},d.prototype.toByteArray=function(){let h,m=[],y=this.parts;for(let g=0;g<y.length;g++)h=y[g],m.push(h>>8),m.push(h&255);return m},d.prototype.toFixedLengthString=function(){let h=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(l(this.parts[g].toString(16),4));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),h+m},d.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let h=this.parts.slice(-2),m=h[0],y=h[1];return new p.IPv4([m>>8,m&255,y>>8,y&255])},d.prototype.toNormalizedString=function(){let h=function(){let y=[];for(let g=0;g<this.parts.length;g++)y.push(this.parts[g].toString(16));return y}.call(this).join(":"),m="";return this.zoneId&&(m=`%${this.zoneId}`),h+m},d.prototype.toRFC5952String=function(){let h=/((^|:)(0(:|$)){2,})/g,m=this.toNormalizedString(),y=0,g=-1,x;for(;x=h.exec(m);)x[0].length>g&&(y=x.index,g=x[0].length);return g<0?m:`${m.substring(0,y)}::${m.substring(y+g)}`},d.prototype.toString=function(){return this.toRFC5952String()},d}(),p.IPv6.broadcastAddressFromCIDR=function(d){try{let h=this.parseCIDR(d),m=h[0].toByteArray(),y=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],x=0;for(;x<16;)g.push(parseInt(m[x],10)|parseInt(y[x],10)^255),x++;return new this(g)}catch(h){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${h})`)}},p.IPv6.isIPv6=function(d){return this.parser(d)!==null},p.IPv6.isValid=function(d){if(typeof d=="string"&&d.indexOf(":")===-1)return!1;try{let h=this.parser(d);return new this(h.parts,h.zoneId),!0}catch{return!1}},p.IPv6.networkAddressFromCIDR=function(d){let h,m,y,g,x;try{for(h=this.parseCIDR(d),y=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),g=[],m=0;m<16;)g.push(parseInt(y[m],10)&parseInt(x[m],10)),m++;return new this(g)}catch(v){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${v})`)}},p.IPv6.parse=function(d){let h=this.parser(d);if(h.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(h.parts,h.zoneId)},p.IPv6.parseCIDR=function(d){let h,m,y;if((m=d.match(/^(.+)\/(\d+)$/))&&(h=parseInt(m[2]),h>=0&&h<=128))return y=[this.parse(m[1]),h],Object.defineProperty(y,"toString",{value:function(){return this.join("/")}}),y;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},p.IPv6.parser=function(d){let h,m,y,g,x,v;if(y=d.match(a.deprecatedTransitional))return this.parser(`::ffff:${y[1]}`);if(a.native.test(d))return c(d,8);if((y=d.match(a.transitional))&&(v=y[6]||"",h=c(y[1].slice(0,-1)+v,6),h.parts)){for(x=[parseInt(y[2]),parseInt(y[3]),parseInt(y[4]),parseInt(y[5])],m=0;m<x.length;m++)if(g=x[m],!(0<=g&&g<=255))return null;return h.parts.push(x[0]<<8|x[1]),h.parts.push(x[2]<<8|x[3]),{parts:h.parts,zoneId:h.zoneId}}return null},p.IPv6.subnetMaskFromPrefixLength=function(d){if(d=parseInt(d),d<0||d>128)throw new Error("ipaddr: invalid IPv6 prefix length");let h=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],m=0,y=Math.floor(d/8);for(;m<y;)h[m]=255,m++;return y<16&&(h[y]=Math.pow(2,d%8)-1<<8-d%8),new this(h)},p.fromByteArray=function(d){let h=d.length;if(h===4)return new p.IPv4(d);if(h===16)return new p.IPv6(d);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},p.isValid=function(d){return p.IPv6.isValid(d)||p.IPv4.isValid(d)},p.parse=function(d){if(p.IPv6.isValid(d))return p.IPv6.parse(d);if(p.IPv4.isValid(d))return p.IPv4.parse(d);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},p.parseCIDR=function(d){try{return p.IPv6.parseCIDR(d)}catch{try{return p.IPv4.parseCIDR(d)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},p.process=function(d){let h=this.parse(d);return h.kind()==="ipv6"&&h.isIPv4MappedAddress()?h.toIPv4Address():h},p.subnetMatch=function(d,h,m){let y,g,x,v;m==null&&(m="unicast");for(g in h)if(Object.prototype.hasOwnProperty.call(h,g)){for(x=h[g],x[0]&&!(x[0]instanceof Array)&&(x=[x]),y=0;y<x.length;y++)if(v=x[y],d.kind()===v[0].kind()&&d.match.apply(d,v))return g}return m},typeof zo<"u"&&zo.exports?zo.exports=p:t.ipaddr=p})(Of)});var d2=ae((MT,C6)=>{C6.exports=function(t){if(!t)throw Error("hashlru must have a max value, of type number, greater than 0");var e=0,r=Object.create(null),n=Object.create(null);function i(o,s){r[o]=s,e++,e>=t&&(e=0,n=r,r=Object.create(null))}return{has:function(o){return r[o]!==void 0||n[o]!==void 0},remove:function(o){r[o]!==void 0&&(r[o]=void 0),n[o]!==void 0&&(n[o]=void 0)},get:function(o){var s=r[o];if(s!==void 0)return s;if((s=n[o])!==void 0)return i(o,s),s},set:function(o,s){r[o]!==void 0?r[o]=s:i(o,s)},clear:function(){r=Object.create(null),n=Object.create(null)}}}});var B6=ae((KT,p2)=>{"use strict";var dm=Object.prototype.hasOwnProperty,mt="~";function d0(){}Object.create&&(d0.prototype=Object.create(null),new d0().__proto__||(mt=!1));function pm(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function R6(t,e,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new pm(r,n||t,i),s=mt?mt+e:e;return t._events[s]?t._events[s].fn?t._events[s]=[t._events[s],o]:t._events[s].push(o):(t._events[s]=o,t._eventsCount++),t}function r1(t,e){--t._eventsCount===0?t._events=new d0:delete t._events[e]}function ft(){this._events=new d0,this._eventsCount=0}ft.prototype.eventNames=function(){var e=[],r,n;if(this._eventsCount===0)return e;for(n in r=this._events)dm.call(r,n)&&e.push(mt?n.slice(1):n);return Object.getOwnPropertySymbols?e.concat(Object.getOwnPropertySymbols(r)):e};ft.prototype.listeners=function(e){var r=mt?mt+e:e,n=this._events[r];if(!n)return[];if(n.fn)return[n.fn];for(var i=0,o=n.length,s=new Array(o);i<o;i++)s[i]=n[i].fn;return s};ft.prototype.listenerCount=function(e){var r=mt?mt+e:e,n=this._events[r];return n?n.fn?1:n.length:0};ft.prototype.emit=function(e,r,n,i,o,s){var a=mt?mt+e:e;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,f,l;if(c.fn){switch(c.once&&this.removeListener(e,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,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,o),!0;case 6:return c.fn.call(c.context,r,n,i,o,s),!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 p=c.length,d;for(l=0;l<p;l++)switch(c[l].once&&this.removeListener(e,c[l].fn,void 0,!0),u){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,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(d=1,f=new Array(u-1);d<u;d++)f[d-1]=arguments[d];c[l].fn.apply(c[l].context,f)}}return!0};ft.prototype.on=function(e,r,n){return R6(this,e,r,n,!1)};ft.prototype.once=function(e,r,n){return R6(this,e,r,n,!0)};ft.prototype.removeListener=function(e,r,n,i){var o=mt?mt+e:e;if(!this._events[o])return this;if(!r)return r1(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&r1(this,o);else{for(var a=0,c=[],u=s.length;a<u;a++)(s[a].fn!==r||i&&!s[a].once||n&&s[a].context!==n)&&c.push(s[a]);c.length?this._events[o]=c.length===1?c[0]:c:r1(this,o)}return this};ft.prototype.removeAllListeners=function(e){var r;return e?(r=mt?mt+e:e,this._events[r]&&r1(this,r)):(this._events=new d0,this._eventsCount=0),this};ft.prototype.off=ft.prototype.removeListener;ft.prototype.addListener=ft.prototype.on;ft.prefixed=mt;ft.EventEmitter=ft;typeof p2<"u"&&(p2.exports=ft)});var I2=ae((n_,S2)=>{"use strict";var Ei=typeof Reflect=="object"?Reflect:null,z6=Ei&&typeof Ei.apply=="function"?Ei.apply:function(e,r,n){return Function.prototype.apply.call(e,r,n)},h1;Ei&&typeof Ei.ownKeys=="function"?h1=Ei.ownKeys:Object.getOwnPropertySymbols?h1=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:h1=function(e){return Object.getOwnPropertyNames(e)};function bm(t){console&&console.warn&&console.warn(t)}var H6=Number.isNaN||function(e){return e!==e};function Se(){Se.init.call(this)}S2.exports=Se;S2.exports.once=Im;Se.EventEmitter=Se;Se.prototype._events=void 0;Se.prototype._eventsCount=0;Se.prototype._maxListeners=void 0;var $6=10;function d1(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}Object.defineProperty(Se,"defaultMaxListeners",{enumerable:!0,get:function(){return $6},set:function(t){if(typeof t!="number"||t<0||H6(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");$6=t}});Se.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};Se.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||H6(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function G6(t){return t._maxListeners===void 0?Se.defaultMaxListeners:t._maxListeners}Se.prototype.getMaxListeners=function(){return G6(this)};Se.prototype.emit=function(e){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=e==="error",o=this._events;if(o!==void 0)i=i&&o.error===void 0;else if(!i)return!1;if(i){var s;if(r.length>0&&(s=r[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var c=o[e];if(c===void 0)return!1;if(typeof c=="function")z6(c,this,r);else for(var u=c.length,f=X6(c,u),n=0;n<u;++n)z6(f[n],this,r);return!0};function Y6(t,e,r,n){var i,o,s;if(d1(r),o=t._events,o===void 0?(o=t._events=Object.create(null),t._eventsCount=0):(o.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]),s===void 0)s=o[e]=r,++t._eventsCount;else if(typeof s=="function"?s=o[e]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),i=G6(t),i>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=s.length,bm(a)}return t}Se.prototype.addListener=function(e,r){return Y6(this,e,r,!1)};Se.prototype.on=Se.prototype.addListener;Se.prototype.prependListener=function(e,r){return Y6(this,e,r,!0)};function wm(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Q6(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},i=wm.bind(n);return i.listener=r,n.wrapFn=i,i}Se.prototype.once=function(e,r){return d1(r),this.on(e,Q6(this,e,r)),this};Se.prototype.prependOnceListener=function(e,r){return d1(r),this.prependListener(e,Q6(this,e,r)),this};Se.prototype.removeListener=function(e,r){var n,i,o,s,a;if(d1(r),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||r));else if(typeof n!="function"){for(o=-1,s=n.length-1;s>=0;s--)if(n[s]===r||n[s].listener===r){a=n[s].listener,o=s;break}if(o<0)return this;o===0?n.shift():Em(n,o),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||r)}return this};Se.prototype.off=Se.prototype.removeListener;Se.prototype.removeAllListeners=function(e){var r,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var o=Object.keys(n),s;for(i=0;i<o.length;++i)s=o[i],s!=="removeListener"&&this.removeAllListeners(s);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if(r=n[e],typeof r=="function")this.removeListener(e,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(e,r[i]);return this};function W6(t,e,r){var n=t._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?Sm(i):X6(i,i.length)}Se.prototype.listeners=function(e){return W6(this,e,!0)};Se.prototype.rawListeners=function(e){return W6(this,e,!1)};Se.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):Z6.call(t,e)};Se.prototype.listenerCount=Z6;function Z6(t){var e=this._events;if(e!==void 0){var r=e[t];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}Se.prototype.eventNames=function(){return this._eventsCount>0?h1(this._events):[]};function X6(t,e){for(var r=new Array(e),n=0;n<e;++n)r[n]=t[n];return r}function Em(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}function Sm(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}function Im(t,e){return new Promise(function(r,n){function i(s){t.removeListener(e,o),n(s)}function o(){typeof t.removeListener=="function"&&t.removeListener("error",i),r([].slice.call(arguments))}J6(t,e,o,{once:!0}),e!=="error"&&Am(t,i,{once:!0})})}function Am(t,e,r){typeof t.on=="function"&&J6(t,"error",e,r)}function J6(t,e,r,n){if(typeof t.on=="function")n.once?t.once(e,r):t.on(e,r);else if(typeof t.addEventListener=="function")t.addEventListener(e,function i(o){n.once&&t.removeEventListener(e,i),r(o)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t)}});var sy={};Ye(sy,{ipns:()=>oy,ipnsSelector:()=>Uo,ipnsValidator:()=>Oa});var A0=class t extends Error{code;type;constructor(e="The operation was aborted"){super(e),this.code=t.code,this.type=t.type}static code="ABORT_ERR";static type="aborted"},k=class extends Error{code;props;constructor(e,r,n){super(e),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var wt=me(J2(),1);var F1={};Ye(F1,{base32:()=>Ft,base32hex:()=>W5,base32hexpad:()=>X5,base32hexpadupper:()=>J5,base32hexupper:()=>Z5,base32pad:()=>Y5,base32padupper:()=>Q5,base32upper:()=>o3,base32z:()=>j5});function q5(t,e){if(t.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<t.length;i++){var o=t.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=t.length,c=t.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(h){if(h instanceof Uint8Array||(ArrayBuffer.isView(h)?h=new Uint8Array(h.buffer,h.byteOffset,h.byteLength):Array.isArray(h)&&(h=Uint8Array.from(h))),!(h instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(h.length===0)return"";for(var m=0,y=0,g=0,x=h.length;g!==x&&h[g]===0;)g++,m++;for(var v=(x-g)*f+1>>>0,R=new Uint8Array(v);g!==x;){for(var E=h[g],S=0,D=v-1;(E!==0||S<y)&&D!==-1;D--,S++)E+=256*R[D]>>>0,R[D]=E%a>>>0,E=E/a>>>0;if(E!==0)throw new Error("Non-zero carry");y=S,g++}for(var I=v-y;I!==v&&R[I]===0;)I++;for(var F=c.repeat(m);I<v;++I)F+=t.charAt(R[I]);return F}function p(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var m=0;if(h[m]!==" "){for(var y=0,g=0;h[m]===c;)y++,m++;for(var x=(h.length-m)*u+1>>>0,v=new Uint8Array(x);h[m];){var R=r[h.charCodeAt(m)];if(R===255)return;for(var E=0,S=x-1;(R!==0||E<g)&&S!==-1;S--,E++)R+=a*v[S]>>>0,v[S]=R%256>>>0,R=R/256>>>0;if(R!==0)throw new Error("Non-zero carry");g=E,m++}if(h[m]!==" "){for(var D=x-g;D!==x&&v[D]===0;)D++;for(var I=new Uint8Array(y+(x-D)),F=y;D!==x;)I[F++]=v[D++];return I}}}function d(h){var m=p(h);if(m)return m;throw new Error(`Non-${e} character`)}return{encode:l,decodeUnsafe:p,decode:d}}var z5=q5,$5=z5,j2=$5;var hy=new Uint8Array(0);var e3=(t,e)=>{if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0},yr=t=>{if(t instanceof Uint8Array&&t.constructor.name==="Uint8Array")return t;if(t instanceof ArrayBuffer)return new Uint8Array(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Unknown type, must be binary type")};var t3=t=>new TextEncoder().encode(t),r3=t=>new TextDecoder().decode(t);var D1=class{constructor(e,r,n){this.name=e,this.prefix=r,this.baseEncode=n}encode(e){if(e instanceof Uint8Array)return`${this.prefix}${this.baseEncode(e)}`;throw Error("Unknown type, must be binary type")}},k1=class{constructor(e,r,n){if(this.name=e,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(e){if(typeof e=="string"){if(e.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(e)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(e.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(e){return i3(this,e)}},U1=class{constructor(e){this.decoders=e}or(e){return i3(this,e)}decode(e){let r=e[0],n=this.decoders[r];if(n)return n.decode(e);throw RangeError(`Unable to decode multibase string ${JSON.stringify(e)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},i3=(t,e)=>new U1({...t.decoders||{[t.prefix]:t},...e.decoders||{[e.prefix]:e}}),O1=class{constructor(e,r,n,i){this.name=e,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new D1(e,r,n),this.decoder=new k1(e,r,i)}encode(e){return this.encoder.encode(e)}decode(e){return this.decoder.decode(e)}},Mn=({name:t,prefix:e,encode:r,decode:n})=>new O1(t,e,r,n),Vr=({prefix:t,name:e,alphabet:r})=>{let{encode:n,decode:i}=j2(r,e);return Mn({prefix:t,name:e,encode:n,decode:o=>yr(i(o))})},H5=(t,e,r,n)=>{let i={};for(let f=0;f<e.length;++f)i[e[f]]=f;let o=t.length;for(;t[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,c=0,u=0;for(let f=0;f<o;++f){let l=i[t[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);c=c<<r|l,a+=r,a>=8&&(a-=8,s[u++]=255&c>>a)}if(a>=r||255&c<<8-a)throw new SyntaxError("Unexpected end of data");return s},G5=(t,e,r)=>{let n=e[e.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<t.length;++c)for(a=a<<8|t[c],s+=8;s>r;)s-=r,o+=e[i&a>>s];if(s&&(o+=e[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},ke=({name:t,prefix:e,bitsPerChar:r,alphabet:n})=>Mn({prefix:e,name:t,encode(i){return G5(i,n,r)},decode(i){return H5(i,n,r,t)}});var Ft=ke({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),o3=ke({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Y5=ke({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Q5=ke({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),W5=ke({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Z5=ke({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),X5=ke({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),J5=ke({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),j5=ke({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var M1={};Ye(M1,{base58btc:()=>Fe,base58flickr:()=>e8});var Fe=Vr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),e8=Vr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var K1={};Ye(K1,{base64:()=>pn,base64pad:()=>t8,base64url:()=>r8,base64urlpad:()=>n8});var pn=ke({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),t8=ke({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),r8=ke({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),n8=ke({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});wt.default.formatters.b=t=>t==null?"undefined":Fe.baseEncode(t);wt.default.formatters.t=t=>t==null?"undefined":Ft.baseEncode(t);wt.default.formatters.m=t=>t==null?"undefined":pn.baseEncode(t);wt.default.formatters.p=t=>t==null?"undefined":t.toString();wt.default.formatters.c=t=>t==null?"undefined":t.toString();wt.default.formatters.k=t=>t==null?"undefined":t.toString();wt.default.formatters.a=t=>t==null?"undefined":t.toString();function i8(t){let e=()=>{};return e.enabled=!1,e.color="",e.diff=0,e.log=()=>{},e.namespace=t,e.destroy=()=>!0,e.extend=()=>e,e}function J(t){let e=i8(`${t}:trace`);return wt.default.enabled(`${t}:trace`)&&wt.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(e=(0,wt.default)(`${t}:trace`)),Object.assign((0,wt.default)(t),{error:(0,wt.default)(`${t}:error`),trace:e})}var V1=Symbol.for("@libp2p/peer-id");function s3(t){return t!=null&&!!t[V1]}var q1={};Ye(q1,{base10:()=>o8});var o8=Vr({prefix:"9",name:"base10",alphabet:"0123456789"});var z1={};Ye(z1,{base16:()=>s8,base16upper:()=>a8});var s8=ke({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),a8=ke({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var $1={};Ye($1,{base2:()=>c8});var c8=ke({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var H1={};Ye(H1,{base256emoji:()=>d8});var a3=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}"),u8=a3.reduce((t,e,r)=>(t[r]=e,t),[]),f8=a3.reduce((t,e,r)=>(t[e.codePointAt(0)]=r,t),[]);function l8(t){return t.reduce((e,r)=>(e+=u8[r],e),"")}function h8(t){let e=[];for(let r of t){let n=f8[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);e.push(n)}return new Uint8Array(e)}var d8=Mn({prefix:"\u{1F680}",name:"base256emoji",encode:l8,decode:h8});var G1={};Ye(G1,{base36:()=>C0,base36upper:()=>p8});var C0=Vr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),p8=Vr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Y1={};Ye(Y1,{base8:()=>m8});var m8=ke({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Q1={};Ye(Q1,{identity:()=>y8});var y8=Mn({prefix:"\0",name:"identity",encode:t=>r3(t),decode:t=>t3(t)});var Ny=new TextEncoder,Ly=new TextDecoder;var Z1={};Ye(Z1,{identity:()=>rr});var v8=f3,c3=128,b8=127,w8=~b8,E8=Math.pow(2,31);function f3(t,e,r){e=e||[],r=r||0;for(var n=r;t>=E8;)e[r++]=t&255|c3,t/=128;for(;t&w8;)e[r++]=t&255|c3,t>>>=7;return e[r]=t|0,f3.bytes=r-n+1,e}var S8=W1,I8=128,u3=127;function W1(t,n){var r=0,n=n||0,i=0,o=n,s,a=t.length;do{if(o>=a)throw W1.bytes=0,new RangeError("Could not decode varint");s=t[o++],r+=i<28?(s&u3)<<i:(s&u3)*Math.pow(2,i),i+=7}while(s>=I8);return W1.bytes=o-n,r}var A8=Math.pow(2,7),T8=Math.pow(2,14),_8=Math.pow(2,21),C8=Math.pow(2,28),R8=Math.pow(2,35),B8=Math.pow(2,42),P8=Math.pow(2,49),N8=Math.pow(2,56),L8=Math.pow(2,63),D8=function(t){return t<A8?1:t<T8?2:t<_8?3:t<C8?4:t<R8?5:t<B8?6:t<P8?7:t<N8?8:t<L8?9:10},k8={encode:v8,decode:S8,encodingLength:D8},U8=k8,Ti=U8;var _i=(t,e=0)=>[Ti.decode(t,e),Ti.decode.bytes],Kn=(t,e,r=0)=>(Ti.encode(t,e,r),e),Vn=t=>Ti.encodingLength(t);var tr=(t,e)=>{let r=e.byteLength,n=Vn(t),i=n+Vn(r),o=new Uint8Array(i+r);return Kn(t,o,0),Kn(r,o,n),o.set(e,i),new qn(t,r,e,o)},gr=t=>{let e=yr(t),[r,n]=_i(e),[i,o]=_i(e.subarray(n)),s=e.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new qn(r,i,s,e)},l3=(t,e)=>{if(t===e)return!0;{let r=e;return t.code===r.code&&t.size===r.size&&r.bytes instanceof Uint8Array&&e3(t.bytes,r.bytes)}},qn=class{constructor(e,r,n,i){this.code=e,this.size=r,this.digest=n,this.bytes=i}};var h3=0,O8="identity",d3=yr,F8=t=>tr(h3,d3(t)),rr={code:h3,name:O8,encode:d3,digest:F8};var j1={};Ye(j1,{sha256:()=>Ne,sha512:()=>M8});var J1=({name:t,code:e,encode:r})=>new X1(t,e,r),X1=class{constructor(e,r,n){this.name=e,this.code=r,this.encode=n}digest(e){if(e instanceof Uint8Array){let r=this.encode(e);return r instanceof Uint8Array?tr(this.code,r):r.then(n=>tr(this.code,n))}else throw Error("Unknown type, must be binary type")}};var m3=t=>async e=>new Uint8Array(await crypto.subtle.digest(t,e)),Ne=J1({name:"sha2-256",code:18,encode:m3("SHA-256")}),M8=J1({name:"sha2-512",code:19,encode:m3("SHA-512")});var y3=(t,e)=>{let{bytes:r,version:n}=t;switch(n){case 0:return V8(r,es(t),e||Fe.encoder);default:return q8(r,es(t),e||Ft.encoder)}};var g3=new WeakMap,es=t=>{let e=g3.get(t);if(e==null){let r=new Map;return g3.set(t,r),r}return e},Me=class t{constructor(e,r,n,i){this.code=r,this.version=e,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:e,multihash:r}=this;if(e!==Ci)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==z8)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return t.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:e,digest:r}=this.multihash,n=tr(e,r);return t.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(e){return t.equals(this,e)}static equals(e,r){let n=r;return n&&e.code===n.code&&e.version===n.version&&l3(e.multihash,n.multihash)}toString(e){return y3(this,e)}toJSON(){return{"/":y3(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(e){if(e==null)return null;let r=e;if(r instanceof t)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new t(n,i,o,s||x3(n,i,o.bytes))}else if(r[$8]===!0){let{version:n,multihash:i,code:o}=r,s=gr(i);return t.create(n,o,s)}else return null}static create(e,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(e){case 0:{if(r!==Ci)throw new Error(`Version 0 CID must use dag-pb (code: ${Ci}) block encoding`);return new t(e,r,n,n.bytes)}case 1:{let i=x3(e,r,n.bytes);return new t(e,r,n,i)}default:throw new Error("Invalid version")}}static createV0(e){return t.create(0,Ci,e)}static createV1(e,r){return t.create(1,e,r)}static decode(e){let[r,n]=t.decodeFirst(e);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(e){let r=t.inspectBytes(e),n=r.size-r.multihashSize,i=yr(e.subarray(n,n+r.multihashSize));if(i.byteLength!==r.multihashSize)throw new Error("Incorrect length");let o=i.subarray(r.multihashSize-r.digestSize),s=new qn(r.multihashCode,r.digestSize,o,i);return[r.version===0?t.createV0(s):t.createV1(r.codec,s),e.subarray(r.size)]}static inspectBytes(e){let r=0,n=()=>{let[l,p]=_i(e.subarray(r));return r+=p,l},i=n(),o=Ci;if(i===18?(i=0,r=0):o=n(),i!==0&&i!==1)throw new RangeError(`Invalid CID version ${i}`);let s=r,a=n(),c=n(),u=r+c,f=u-s;return{version:i,codec:o,multihashCode:a,digestSize:c,multihashSize:f,size:u}}static parse(e,r){let[n,i]=K8(e,r),o=t.decode(i);if(o.version===0&&e[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return es(o).set(n,e),o}},K8=(t,e)=>{switch(t[0]){case"Q":{let r=e||Fe;return[Fe.prefix,r.decode(`${Fe.prefix}${t}`)]}case Fe.prefix:{let r=e||Fe;return[Fe.prefix,r.decode(t)]}case Ft.prefix:{let r=e||Ft;return[Ft.prefix,r.decode(t)]}default:{if(e==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[t[0],e.decode(t)]}}},V8=(t,e,r)=>{let{prefix:n}=r;if(n!==Fe.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=e.get(n);if(i==null){let o=r.encode(t).slice(1);return e.set(n,o),o}else return i},q8=(t,e,r)=>{let{prefix:n}=r,i=e.get(n);if(i==null){let o=r.encode(t);return e.set(n,o),o}else return i},Ci=112,z8=18,x3=(t,e,r)=>{let n=Vn(t),i=n+Vn(e),o=new Uint8Array(i+r.byteLength);return Kn(t,o,0),Kn(e,o,n),o.set(r,i),o},$8=Symbol.for("@ipld/js-cid/CID");var zr={...Q1,...$1,...Y1,...q1,...z1,...F1,...G1,...M1,...K1,...H1},Wy={...j1,...Z1};function de(t,e){if(t===e)return!0;if(t.byteLength!==e.byteLength)return!1;for(let r=0;r<t.byteLength;r++)if(t[r]!==e[r])return!1;return!0}var H8=Symbol.for("nodejs.util.inspect.custom"),v3=Object.values(zr).map(t=>t.decoder).reduce((t,e)=>t.or(e),zr.identity.decoder),b3=114,ts=36,rs=37,Ri=class{type;multihash;privateKey;publicKey;string;constructor(e){this.type=e.type,this.multihash=e.multihash,this.privateKey=e.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}[V1]=!0;toString(){return this.string==null&&(this.string=Fe.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return Me.createV1(b3,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(e){if(e instanceof Uint8Array)return de(this.multihash.bytes,e);if(typeof e=="string")return Ce(e).equals(this);if(e?.multihash?.bytes!=null)return de(this.multihash.bytes,e.multihash.bytes);throw new Error("not valid Id")}[H8](){return`PeerId(${this.toString()})`}},zn=class extends Ri{type="RSA";publicKey;constructor(e){super({...e,type:"RSA"}),this.publicKey=e.publicKey}},$n=class extends Ri{type="Ed25519";publicKey;constructor(e){super({...e,type:"Ed25519"}),this.publicKey=e.multihash.digest}},Hn=class extends Ri{type="secp256k1";publicKey;constructor(e){super({...e,type:"secp256k1"}),this.publicKey=e.multihash.digest}};function Ce(t,e){if(e=e??v3,t.charAt(0)==="1"||t.charAt(0)==="Q"){let r=gr(Fe.decode(`z${t}`));return t.startsWith("12D")?new $n({multihash:r}):t.startsWith("16U")?new Hn({multihash:r}):new zn({multihash:r})}return xr(v3.decode(t))}function xr(t){try{let e=gr(t);if(e.code===rr.code){if(e.digest.length===ts)return new $n({multihash:e});if(e.digest.length===rs)return new Hn({multihash:e})}if(e.code===Ne.code)return new zn({multihash:e})}catch{return G8(Me.decode(t))}throw new Error("Supplied PeerID CID is invalid")}function G8(t){if(t==null||t.multihash==null||t.version==null||t.version===1&&t.code!==b3)throw new Error("Supplied PeerID CID is invalid");let e=t.multihash;if(e.code===Ne.code)return new zn({multihash:t.multihash});if(e.code===rr.code){if(e.digest.length===ts)return new $n({multihash:t.multihash});if(e.digest.length===rs)return new Hn({multihash:t.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function B0(t,e){return t.length===ts?new $n({multihash:tr(rr.code,t),privateKey:e}):t.length===rs?new Hn({multihash:tr(rr.code,t),privateKey:e}):new zn({multihash:await Ne.digest(t),publicKey:t,privateKey:e})}var wo={};Ye(wo,{generateEphemeralKeyPair:()=>wc,generateKeyPair:()=>fd,generateKeyPairFromSeed:()=>ld,importKey:()=>pd,keyStretcher:()=>_c,keysPBM:()=>ii,marshalPrivateKey:()=>dd,marshalPublicKey:()=>hd,supportedKeys:()=>fr,unmarshalPrivateKey:()=>bo,unmarshalPublicKey:()=>vo});var Hb=me(Li(),1),Gb=me(k4(),1);var xo=me(ve(),1);function Er(t){return globalThis.Buffer!=null?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t}function Sr(t=0){return globalThis.Buffer?.alloc!=null?Er(globalThis.Buffer.alloc(t)):new Uint8Array(t)}function et(t=0){return globalThis.Buffer?.allocUnsafe!=null?Er(globalThis.Buffer.allocUnsafe(t)):new Uint8Array(t)}function O4(t,e,r,n){return{name:t,prefix:e,encoder:{name:t,prefix:e,encode:r},decoder:{decode:n}}}var U4=O4("utf8","u",t=>"u"+new TextDecoder("utf8").decode(t),t=>new TextEncoder().encode(t.substring(1))),As=O4("ascii","a",t=>{let e="a";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e},t=>{t=t.substring(1);let e=et(t.length);for(let r=0;r<t.length;r++)e[r]=t.charCodeAt(r);return e}),g9={utf8:U4,"utf-8":U4,hex:zr.base16,latin1:As,ascii:As,binary:As,...zr},Z0=g9;function ce(t,e="utf8"){let r=Z0[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Er(globalThis.Buffer.from(t,"utf-8")):r.decoder.decode(`${r.prefix}${t}`)}var ra={};Ye(ra,{Ed25519PrivateKey:()=>An,Ed25519PublicKey:()=>qi,generateKeyPair:()=>Nh,generateKeyPairFromSeed:()=>ta,unmarshalEd25519PrivateKey:()=>Bh,unmarshalEd25519PublicKey:()=>Ph});function F4(t){if(!Number.isSafeInteger(t)||t<0)throw new Error(`Wrong positive integer: ${t}`)}function Ts(t,...e){if(!(t instanceof Uint8Array))throw new Error("Expected Uint8Array");if(e.length>0&&!e.includes(t.length))throw new Error(`Expected Uint8Array of length ${e}, not of length=${t.length}`)}function M4(t){if(typeof t!="function"||typeof t.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");F4(t.outputLen),F4(t.blockLen)}function Zn(t,e=!0){if(t.destroyed)throw new Error("Hash instance has been destroyed");if(e&&t.finished)throw new Error("Hash#digest() has already been called")}function K4(t,e){Ts(t);let r=e.outputLen;if(t.length<r)throw new Error(`digestInto() expects output buffer of length at least ${r}`)}var X0=typeof globalThis=="object"&&"crypto"in globalThis?globalThis.crypto:void 0;var V4=t=>t instanceof Uint8Array;var J0=t=>new DataView(t.buffer,t.byteOffset,t.byteLength),Vt=(t,e)=>t<<32-e|t>>>e,x9=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;if(!x9)throw new Error("Non little-endian hardware is not supported");function _s(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function Ui(t){if(typeof t=="string"&&(t=_s(t)),!V4(t))throw new Error(`expected Uint8Array, got ${typeof t}`);return t}function j0(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!V4(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}var Xn=class{clone(){return this._cloneInto()}},$g={}.toString;function eo(t){let e=n=>t().update(Ui(n)).digest(),r=t();return e.outputLen=r.outputLen,e.blockLen=r.blockLen,e.create=()=>t(),e}function Jn(t=32){if(X0&&typeof X0.getRandomValues=="function")return X0.getRandomValues(new Uint8Array(t));throw new Error("crypto.getRandomValues must be defined")}function v9(t,e,r,n){if(typeof t.setBigUint64=="function")return t.setBigUint64(e,r,n);let i=BigInt(32),o=BigInt(4294967295),s=Number(r>>i&o),a=Number(r&o),c=n?4:0,u=n?0:4;t.setUint32(e+c,s,n),t.setUint32(e+u,a,n)}var jn=class extends Xn{constructor(e,r,n,i){super(),this.blockLen=e,this.outputLen=r,this.padOffset=n,this.isLE=i,this.finished=!1,this.length=0,this.pos=0,this.destroyed=!1,this.buffer=new Uint8Array(e),this.view=J0(this.buffer)}update(e){Zn(this);let{view:r,buffer:n,blockLen:i}=this;e=Ui(e);let o=e.length;for(let s=0;s<o;){let a=Math.min(i-this.pos,o-s);if(a===i){let c=J0(e);for(;i<=o-s;s+=i)this.process(c,s);continue}n.set(e.subarray(s,s+a),this.pos),this.pos+=a,s+=a,this.pos===i&&(this.process(r,0),this.pos=0)}return this.length+=e.length,this.roundClean(),this}digestInto(e){Zn(this),K4(e,this),this.finished=!0;let{buffer:r,view:n,blockLen:i,isLE:o}=this,{pos:s}=this;r[s++]=128,this.buffer.subarray(s).fill(0),this.padOffset>i-s&&(this.process(n,0),s=0);for(let l=s;l<i;l++)r[l]=0;v9(n,i-8,BigInt(this.length*8),o),this.process(n,0);let a=J0(e),c=this.outputLen;if(c%4)throw new Error("_sha2: outputLen should be aligned to 32bit");let u=c/4,f=this.get();if(u>f.length)throw new Error("_sha2: outputLen bigger than state");for(let l=0;l<u;l++)a.setUint32(4*l,f[l],o)}digest(){let{buffer:e,outputLen:r}=this;this.digestInto(e);let n=e.slice(0,r);return this.destroy(),n}_cloneInto(e){e||(e=new this.constructor),e.set(...this.get());let{blockLen:r,buffer:n,length:i,finished:o,destroyed:s,pos:a}=this;return e.length=i,e.pos=a,e.finished=o,e.destroyed=s,i%r&&e.buffer.set(n),e}};var to=BigInt(4294967295),Cs=BigInt(32);function q4(t,e=!1){return e?{h:Number(t&to),l:Number(t>>Cs&to)}:{h:Number(t>>Cs&to)|0,l:Number(t&to)|0}}function b9(t,e=!1){let r=new Uint32Array(t.length),n=new Uint32Array(t.length);for(let i=0;i<t.length;i++){let{h:o,l:s}=q4(t[i],e);[r[i],n[i]]=[o,s]}return[r,n]}var w9=(t,e)=>BigInt(t>>>0)<<Cs|BigInt(e>>>0),E9=(t,e,r)=>t>>>r,S9=(t,e,r)=>t<<32-r|e>>>r,I9=(t,e,r)=>t>>>r|e<<32-r,A9=(t,e,r)=>t<<32-r|e>>>r,T9=(t,e,r)=>t<<64-r|e>>>r-32,_9=(t,e,r)=>t>>>r-32|e<<64-r,C9=(t,e)=>e,R9=(t,e)=>t,B9=(t,e,r)=>t<<r|e>>>32-r,P9=(t,e,r)=>e<<r|t>>>32-r,N9=(t,e,r)=>e<<r-32|t>>>64-r,L9=(t,e,r)=>t<<r-32|e>>>64-r;function D9(t,e,r,n){let i=(e>>>0)+(n>>>0);return{h:t+r+(i/2**32|0)|0,l:i|0}}var k9=(t,e,r)=>(t>>>0)+(e>>>0)+(r>>>0),U9=(t,e,r,n)=>e+r+n+(t/2**32|0)|0,O9=(t,e,r,n)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0),F9=(t,e,r,n,i)=>e+r+n+i+(t/2**32|0)|0,M9=(t,e,r,n,i)=>(t>>>0)+(e>>>0)+(r>>>0)+(n>>>0)+(i>>>0),K9=(t,e,r,n,i,o)=>e+r+n+i+o+(t/2**32|0)|0;var V9={fromBig:q4,split:b9,toBig:w9,shrSH:E9,shrSL:S9,rotrSH:I9,rotrSL:A9,rotrBH:T9,rotrBL:_9,rotr32H:C9,rotr32L:R9,rotlSH:B9,rotlSL:P9,rotlBH:N9,rotlBL:L9,add:D9,add3L:k9,add3H:U9,add4L:O9,add4H:F9,add5H:K9,add5L:M9},re=V9;var[q9,z9]=(()=>re.split(["0x428a2f98d728ae22","0x7137449123ef65cd","0xb5c0fbcfec4d3b2f","0xe9b5dba58189dbbc","0x3956c25bf348b538","0x59f111f1b605d019","0x923f82a4af194f9b","0xab1c5ed5da6d8118","0xd807aa98a3030242","0x12835b0145706fbe","0x243185be4ee4b28c","0x550c7dc3d5ffb4e2","0x72be5d74f27b896f","0x80deb1fe3b1696b1","0x9bdc06a725c71235","0xc19bf174cf692694","0xe49b69c19ef14ad2","0xefbe4786384f25e3","0x0fc19dc68b8cd5b5","0x240ca1cc77ac9c65","0x2de92c6f592b0275","0x4a7484aa6ea6e483","0x5cb0a9dcbd41fbd4","0x76f988da831153b5","0x983e5152ee66dfab","0xa831c66d2db43210","0xb00327c898fb213f","0xbf597fc7beef0ee4","0xc6e00bf33da88fc2","0xd5a79147930aa725","0x06ca6351e003826f","0x142929670a0e6e70","0x27b70a8546d22ffc","0x2e1b21385c26c926","0x4d2c6dfc5ac42aed","0x53380d139d95b3df","0x650a73548baf63de","0x766a0abb3c77b2a8","0x81c2c92e47edaee6","0x92722c851482353b","0xa2bfe8a14cf10364","0xa81a664bbc423001","0xc24b8b70d0f89791","0xc76c51a30654be30","0xd192e819d6ef5218","0xd69906245565a910","0xf40e35855771202a","0x106aa07032bbd1b8","0x19a4c116b8d2d0c8","0x1e376c085141ab53","0x2748774cdf8eeb99","0x34b0bcb5e19b48a8","0x391c0cb3c5c95a63","0x4ed8aa4ae3418acb","0x5b9cca4f7763e373","0x682e6ff3d6b2b8a3","0x748f82ee5defb2fc","0x78a5636f43172f60","0x84c87814a1f0ab72","0x8cc702081a6439ec","0x90befffa23631e28","0xa4506cebde82bde9","0xbef9a3f7b2c67915","0xc67178f2e372532b","0xca273eceea26619c","0xd186b8c721c0c207","0xeada7dd6cde0eb1e","0xf57d4f7fee6ed178","0x06f067aa72176fba","0x0a637dc5a2c898a6","0x113f9804bef90dae","0x1b710b35131c471b","0x28db77f523047d84","0x32caab7b40c72493","0x3c9ebe0a15c9bebc","0x431d67c49c100d4c","0x4cc5d4becb3e42b6","0x597f299cfc657e2a","0x5fcb6fab3ad6faec","0x6c44198c4a475817"].map(t=>BigInt(t))))(),Qr=new Uint32Array(80),Wr=new Uint32Array(80),Rs=class extends jn{constructor(){super(128,64,16,!1),this.Ah=1779033703,this.Al=-205731576,this.Bh=-1150833019,this.Bl=-2067093701,this.Ch=1013904242,this.Cl=-23791573,this.Dh=-1521486534,this.Dl=1595750129,this.Eh=1359893119,this.El=-1377402159,this.Fh=-1694144372,this.Fl=725511199,this.Gh=528734635,this.Gl=-79577749,this.Hh=1541459225,this.Hl=327033209}get(){let{Ah:e,Al:r,Bh:n,Bl:i,Ch:o,Cl:s,Dh:a,Dl:c,Eh:u,El:f,Fh:l,Fl:p,Gh:d,Gl:h,Hh:m,Hl:y}=this;return[e,r,n,i,o,s,a,c,u,f,l,p,d,h,m,y]}set(e,r,n,i,o,s,a,c,u,f,l,p,d,h,m,y){this.Ah=e|0,this.Al=r|0,this.Bh=n|0,this.Bl=i|0,this.Ch=o|0,this.Cl=s|0,this.Dh=a|0,this.Dl=c|0,this.Eh=u|0,this.El=f|0,this.Fh=l|0,this.Fl=p|0,this.Gh=d|0,this.Gl=h|0,this.Hh=m|0,this.Hl=y|0}process(e,r){for(let v=0;v<16;v++,r+=4)Qr[v]=e.getUint32(r),Wr[v]=e.getUint32(r+=4);for(let v=16;v<80;v++){let R=Qr[v-15]|0,E=Wr[v-15]|0,S=re.rotrSH(R,E,1)^re.rotrSH(R,E,8)^re.shrSH(R,E,7),D=re.rotrSL(R,E,1)^re.rotrSL(R,E,8)^re.shrSL(R,E,7),I=Qr[v-2]|0,F=Wr[v-2]|0,K=re.rotrSH(I,F,19)^re.rotrBH(I,F,61)^re.shrSH(I,F,6),O=re.rotrSL(I,F,19)^re.rotrBL(I,F,61)^re.shrSL(I,F,6),q=re.add4L(D,O,Wr[v-7],Wr[v-16]),Z=re.add4H(q,S,K,Qr[v-7],Qr[v-16]);Qr[v]=Z|0,Wr[v]=q|0}let{Ah:n,Al:i,Bh:o,Bl:s,Ch:a,Cl:c,Dh:u,Dl:f,Eh:l,El:p,Fh:d,Fl:h,Gh:m,Gl:y,Hh:g,Hl:x}=this;for(let v=0;v<80;v++){let R=re.rotrSH(l,p,14)^re.rotrSH(l,p,18)^re.rotrBH(l,p,41),E=re.rotrSL(l,p,14)^re.rotrSL(l,p,18)^re.rotrBL(l,p,41),S=l&d^~l&m,D=p&h^~p&y,I=re.add5L(x,E,D,z9[v],Wr[v]),F=re.add5H(I,g,R,S,q9[v],Qr[v]),K=I|0,O=re.rotrSH(n,i,28)^re.rotrBH(n,i,34)^re.rotrBH(n,i,39),q=re.rotrSL(n,i,28)^re.rotrBL(n,i,34)^re.rotrBL(n,i,39),Z=n&o^n&a^o&a,ne=i&s^i&c^s&c;g=m|0,x=y|0,m=d|0,y=h|0,d=l|0,h=p|0,{h:l,l:p}=re.add(u|0,f|0,F|0,K|0),u=a|0,f=c|0,a=o|0,c=s|0,o=n|0,s=i|0;let A=re.add3L(K,q,ne);n=re.add3H(A,F,O,Z),i=A|0}({h:n,l:i}=re.add(this.Ah|0,this.Al|0,n|0,i|0)),{h:o,l:s}=re.add(this.Bh|0,this.Bl|0,o|0,s|0),{h:a,l:c}=re.add(this.Ch|0,this.Cl|0,a|0,c|0),{h:u,l:f}=re.add(this.Dh|0,this.Dl|0,u|0,f|0),{h:l,l:p}=re.add(this.Eh|0,this.El|0,l|0,p|0),{h:d,l:h}=re.add(this.Fh|0,this.Fl|0,d|0,h|0),{h:m,l:y}=re.add(this.Gh|0,this.Gl|0,m|0,y|0),{h:g,l:x}=re.add(this.Hh|0,this.Hl|0,g|0,x|0),this.set(n,i,o,s,a,c,u,f,l,p,d,h,m,y,g,x)}roundClean(){Qr.fill(0),Wr.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 Bs=eo(()=>new Rs);var io={};Ye(io,{bitGet:()=>Z9,bitLen:()=>W9,bitMask:()=>Oi,bitSet:()=>X9,bytesToHex:()=>Ir,bytesToNumberBE:()=>Ar,bytesToNumberLE:()=>Zr,concatBytes:()=>Tr,createHmacDrbg:()=>Ls,ensureBytes:()=>Ue,equalBytes:()=>Y9,hexToBytes:()=>bn,hexToNumber:()=>Ns,numberToBytesBE:()=>Xr,numberToBytesLE:()=>wn,numberToHexUnpadded:()=>H4,numberToVarBytesBE:()=>G9,utf8ToBytes:()=>Q9,validateObject:()=>ur});var $4=BigInt(0),ro=BigInt(1),$9=BigInt(2),no=t=>t instanceof Uint8Array,H9=Array.from({length:256},(t,e)=>e.toString(16).padStart(2,"0"));function Ir(t){if(!no(t))throw new Error("Uint8Array expected");let e="";for(let r=0;r<t.length;r++)e+=H9[t[r]];return e}function H4(t){let e=t.toString(16);return e.length&1?`0${e}`:e}function Ns(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);return BigInt(t===""?"0":`0x${t}`)}function bn(t){if(typeof t!="string")throw new Error("hex string expected, got "+typeof t);let e=t.length;if(e%2)throw new Error("padded hex string expected, got unpadded hex of length "+e);let r=new Uint8Array(e/2);for(let n=0;n<r.length;n++){let i=n*2,o=t.slice(i,i+2),s=Number.parseInt(o,16);if(Number.isNaN(s)||s<0)throw new Error("Invalid byte sequence");r[n]=s}return r}function Ar(t){return Ns(Ir(t))}function Zr(t){if(!no(t))throw new Error("Uint8Array expected");return Ns(Ir(Uint8Array.from(t).reverse()))}function Xr(t,e){return bn(t.toString(16).padStart(e*2,"0"))}function wn(t,e){return Xr(t,e).reverse()}function G9(t){return bn(H4(t))}function Ue(t,e,r){let n;if(typeof e=="string")try{n=bn(e)}catch(o){throw new Error(`${t} must be valid hex string, got "${e}". Cause: ${o}`)}else if(no(e))n=Uint8Array.from(e);else throw new Error(`${t} must be hex string or Uint8Array`);let i=n.length;if(typeof r=="number"&&i!==r)throw new Error(`${t} expected ${r} bytes, got ${i}`);return n}function Tr(...t){let e=new Uint8Array(t.reduce((n,i)=>n+i.length,0)),r=0;return t.forEach(n=>{if(!no(n))throw new Error("Uint8Array expected");e.set(n,r),r+=n.length}),e}function Y9(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==e[r])return!1;return!0}function Q9(t){if(typeof t!="string")throw new Error(`utf8ToBytes expected string, got ${typeof t}`);return new Uint8Array(new TextEncoder().encode(t))}function W9(t){let e;for(e=0;t>$4;t>>=ro,e+=1);return e}function Z9(t,e){return t>>BigInt(e)&ro}var X9=(t,e,r)=>t|(r?ro:$4)<<BigInt(e),Oi=t=>($9<<BigInt(t-1))-ro,Ps=t=>new Uint8Array(t),z4=t=>Uint8Array.from(t);function Ls(t,e,r){if(typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof e!="number"||e<2)throw new Error("qByteLen must be a number");if(typeof r!="function")throw new Error("hmacFn must be a function");let n=Ps(t),i=Ps(t),o=0,s=()=>{n.fill(1),i.fill(0),o=0},a=(...l)=>r(i,n,...l),c=(l=Ps())=>{i=a(z4([0]),l),n=a(),l.length!==0&&(i=a(z4([1]),l),n=a())},u=()=>{if(o++>=1e3)throw new Error("drbg: tried 1000 values");let l=0,p=[];for(;l<e;){n=a();let d=n.slice();p.push(d),l+=n.length}return Tr(...p)};return(l,p)=>{s(),c(l);let d;for(;!(d=p(u()));)c();return s(),d}}var J9={bigint:t=>typeof t=="bigint",function:t=>typeof t=="function",boolean:t=>typeof t=="boolean",string:t=>typeof t=="string",stringOrUint8Array:t=>typeof t=="string"||t instanceof Uint8Array,isSafeInteger:t=>Number.isSafeInteger(t),array:t=>Array.isArray(t),field:(t,e)=>e.Fp.isValid(t),hash:t=>typeof t=="function"&&Number.isSafeInteger(t.outputLen)};function ur(t,e,r={}){let n=(i,o,s)=>{let a=J9[o];if(typeof a!="function")throw new Error(`Invalid validator "${o}", expected function`);let c=t[i];if(!(s&&c===void 0)&&!a(c,t))throw new Error(`Invalid param ${String(i)}=${c} (${typeof c}), expected ${o}`)};for(let[i,o]of Object.entries(e))n(i,o,!1);for(let[i,o]of Object.entries(r))n(i,o,!0);return t}var Ze=BigInt(0),Be=BigInt(1),En=BigInt(2),j9=BigInt(3),Ds=BigInt(4),G4=BigInt(5),Y4=BigInt(8),eh=BigInt(9),th=BigInt(16);function we(t,e){let r=t%e;return r>=Ze?r:e+r}function rh(t,e,r){if(r<=Ze||e<Ze)throw new Error("Expected power/modulo > 0");if(r===Be)return Ze;let n=Be;for(;e>Ze;)e&Be&&(n=n*t%r),t=t*t%r,e>>=Be;return n}function Pe(t,e,r){let n=t;for(;e-- >Ze;)n*=n,n%=r;return n}function oo(t,e){if(t===Ze||e<=Ze)throw new Error(`invert: expected positive integers, got n=${t} mod=${e}`);let r=we(t,e),n=e,i=Ze,o=Be,s=Be,a=Ze;for(;r!==Ze;){let u=n/r,f=n%r,l=i-s*u,p=o-a*u;n=r,r=f,i=s,o=a,s=l,a=p}if(n!==Be)throw new Error("invert: does not exist");return we(i,e)}function nh(t){let e=(t-Be)/En,r,n,i;for(r=t-Be,n=0;r%En===Ze;r/=En,n++);for(i=En;i<t&&rh(i,e,t)!==t-Be;i++);if(n===1){let s=(t+Be)/Ds;return function(c,u){let f=c.pow(u,s);if(!c.eql(c.sqr(f),u))throw new Error("Cannot find square root");return f}}let o=(r+Be)/En;return function(a,c){if(a.pow(c,e)===a.neg(a.ONE))throw new Error("Cannot find square root");let u=n,f=a.pow(a.mul(a.ONE,i),r),l=a.pow(c,o),p=a.pow(c,r);for(;!a.eql(p,a.ONE);){if(a.eql(p,a.ZERO))return a.ZERO;let d=1;for(let m=a.sqr(p);d<u&&!a.eql(m,a.ONE);d++)m=a.sqr(m);let h=a.pow(f,Be<<BigInt(u-d-1));f=a.sqr(h),l=a.mul(l,h),p=a.mul(p,f),u=d}return l}}function ih(t){if(t%Ds===j9){let e=(t+Be)/Ds;return function(n,i){let o=n.pow(i,e);if(!n.eql(n.sqr(o),i))throw new Error("Cannot find square root");return o}}if(t%Y4===G4){let e=(t-G4)/Y4;return function(n,i){let o=n.mul(i,En),s=n.pow(o,e),a=n.mul(i,s),c=n.mul(n.mul(a,En),s),u=n.mul(a,n.sub(c,n.ONE));if(!n.eql(n.sqr(u),i))throw new Error("Cannot find square root");return u}}return t%th,nh(t)}var Q4=(t,e)=>(we(t,e)&Be)===Be,oh=["create","isValid","is0","neg","inv","sqrt","sqr","eql","add","sub","mul","pow","div","addN","subN","mulN","sqrN"];function ks(t){let e={ORDER:"bigint",MASK:"bigint",BYTES:"isSafeInteger",BITS:"isSafeInteger"},r=oh.reduce((n,i)=>(n[i]="function",n),e);return ur(t,r)}function sh(t,e,r){if(r<Ze)throw new Error("Expected power > 0");if(r===Ze)return t.ONE;if(r===Be)return e;let n=t.ONE,i=e;for(;r>Ze;)r&Be&&(n=t.mul(n,i)),i=t.sqr(i),r>>=Be;return n}function ah(t,e){let r=new Array(e.length),n=e.reduce((o,s,a)=>t.is0(s)?o:(r[a]=o,t.mul(o,s)),t.ONE),i=t.inv(n);return e.reduceRight((o,s,a)=>t.is0(s)?o:(r[a]=t.mul(o,r[a]),t.mul(o,s)),i),r}function Us(t,e){let r=e!==void 0?e:t.toString(2).length,n=Math.ceil(r/8);return{nBitLength:r,nByteLength:n}}function so(t,e,r=!1,n={}){if(t<=Ze)throw new Error(`Expected Field ORDER > 0, got ${t}`);let{nBitLength:i,nByteLength:o}=Us(t,e);if(o>2048)throw new Error("Field lengths over 2048 bytes are not supported");let s=ih(t),a=Object.freeze({ORDER:t,BITS:i,BYTES:o,MASK:Oi(i),ZERO:Ze,ONE:Be,create:c=>we(c,t),isValid:c=>{if(typeof c!="bigint")throw new Error(`Invalid field element: expected bigint, got ${typeof c}`);return Ze<=c&&c<t},is0:c=>c===Ze,isOdd:c=>(c&Be)===Be,neg:c=>we(-c,t),eql:(c,u)=>c===u,sqr:c=>we(c*c,t),add:(c,u)=>we(c+u,t),sub:(c,u)=>we(c-u,t),mul:(c,u)=>we(c*u,t),pow:(c,u)=>sh(a,c,u),div:(c,u)=>we(c*oo(u,t),t),sqrN:c=>c*c,addN:(c,u)=>c+u,subN:(c,u)=>c-u,mulN:(c,u)=>c*u,inv:c=>oo(c,t),sqrt:n.sqrt||(c=>s(a,c)),invertBatch:c=>ah(a,c),cmov:(c,u,f)=>f?u:c,toBytes:c=>r?wn(c,o):Xr(c,o),fromBytes:c=>{if(c.length!==o)throw new Error(`Fp.fromBytes: expected ${o}, got ${c.length}`);return r?Zr(c):Ar(c)}});return Object.freeze(a)}function W4(t,e){if(!t.isOdd)throw new Error("Field doesn't have isOdd");let r=t.sqrt(e);return t.isOdd(r)?t.neg(r):r}function Z4(t){if(typeof t!="bigint")throw new Error("field order must be bigint");let e=t.toString(2).length;return Math.ceil(e/8)}function Os(t){let e=Z4(t);return e+Math.ceil(e/2)}function X4(t,e,r=!1){let n=t.length,i=Z4(e),o=Os(e);if(n<16||n<o||n>1024)throw new Error(`expected ${o}-1024 bytes of input, got ${n}`);let s=r?Ar(t):Zr(t),a=we(s,e-Be)+Be;return r?wn(a,i):Xr(a,i)}var uh=BigInt(0),Fs=BigInt(1);function ao(t,e){let r=(i,o)=>{let s=o.negate();return i?s:o},n=i=>{let o=Math.ceil(e/i)+1,s=2**(i-1);return{windows:o,windowSize:s}};return{constTimeNegate:r,unsafeLadder(i,o){let s=t.ZERO,a=i;for(;o>uh;)o&Fs&&(s=s.add(a)),a=a.double(),o>>=Fs;return s},precomputeWindow(i,o){let{windows:s,windowSize:a}=n(o),c=[],u=i,f=u;for(let l=0;l<s;l++){f=u,c.push(f);for(let p=1;p<a;p++)f=f.add(u),c.push(f);u=f.double()}return c},wNAF(i,o,s){let{windows:a,windowSize:c}=n(i),u=t.ZERO,f=t.BASE,l=BigInt(2**i-1),p=2**i,d=BigInt(i);for(let h=0;h<a;h++){let m=h*c,y=Number(s&l);s>>=d,y>c&&(y-=p,s+=Fs);let g=m,x=m+Math.abs(y)-1,v=h%2!==0,R=y<0;y===0?f=f.add(r(v,o[g])):u=u.add(r(R,o[x]))}return{p:u,f}},wNAFCached(i,o,s,a){let c=i._WINDOW_SIZE||1,u=o.get(i);return u||(u=this.precomputeWindow(i,c),c!==1&&o.set(i,a(u))),this.wNAF(c,u,s)}}}function Fi(t){return ks(t.Fp),ur(t,{n:"bigint",h:"bigint",Gx:"field",Gy:"field"},{nBitLength:"isSafeInteger",nByteLength:"isSafeInteger"}),Object.freeze({...Us(t.n,t.nBitLength),...t,p:t.Fp.ORDER})}var qt=BigInt(0),Et=BigInt(1),co=BigInt(2),fh=BigInt(8),lh={zip215:!0};function hh(t){let e=Fi(t);return ur(t,{hash:"function",a:"bigint",d:"bigint",randomBytes:"function"},{adjustScalarBytes:"function",domain:"function",uvRatio:"function",mapToCurve:"function"}),Object.freeze({...e})}function uo(t){let e=hh(t),{Fp:r,n,prehash:i,hash:o,randomBytes:s,nByteLength:a,h:c}=e,u=co<<BigInt(a*8)-Et,f=r.create,l=e.uvRatio||((U,C)=>{try{return{isValid:!0,value:r.sqrt(U*r.inv(C))}}catch{return{isValid:!1,value:qt}}}),p=e.adjustScalarBytes||(U=>U),d=e.domain||((U,C,$)=>{if(C.length||$)throw new Error("Contexts/pre-hash are not supported");return U}),h=U=>typeof U=="bigint"&&qt<U,m=(U,C)=>h(U)&&h(C)&&U<C,y=U=>U===qt||m(U,u);function g(U,C){if(m(U,C))return U;throw new Error(`Expected valid scalar < ${C}, got ${typeof U} ${U}`)}function x(U){return U===qt?U:g(U,n)}let v=new Map;function R(U){if(!(U instanceof E))throw new Error("ExtendedPoint expected")}class E{constructor(C,$,Y,X){if(this.ex=C,this.ey=$,this.ez=Y,this.et=X,!y(C))throw new Error("x required");if(!y($))throw new Error("y required");if(!y(Y))throw new Error("z required");if(!y(X))throw new Error("t required")}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static fromAffine(C){if(C instanceof E)throw new Error("extended point not allowed");let{x:$,y:Y}=C||{};if(!y($)||!y(Y))throw new Error("invalid affine point");return new E($,Y,Et,f($*Y))}static normalizeZ(C){let $=r.invertBatch(C.map(Y=>Y.ez));return C.map((Y,X)=>Y.toAffine($[X])).map(E.fromAffine)}_setWindowSize(C){this._WINDOW_SIZE=C,v.delete(this)}assertValidity(){let{a:C,d:$}=e;if(this.is0())throw new Error("bad point: ZERO");let{ex:Y,ey:X,ez:ie,et:se}=this,xe=f(Y*Y),ue=f(X*X),he=f(ie*ie),Ge=f(he*he),De=f(xe*C),rt=f(he*f(De+ue)),nt=f(Ge+f($*f(xe*ue)));if(rt!==nt)throw new Error("bad point: equation left != right (1)");let We=f(Y*X),ot=f(ie*se);if(We!==ot)throw new Error("bad point: equation left != right (2)")}equals(C){R(C);let{ex:$,ey:Y,ez:X}=this,{ex:ie,ey:se,ez:xe}=C,ue=f($*xe),he=f(ie*X),Ge=f(Y*xe),De=f(se*X);return ue===he&&Ge===De}is0(){return this.equals(E.ZERO)}negate(){return new E(f(-this.ex),this.ey,this.ez,f(-this.et))}double(){let{a:C}=e,{ex:$,ey:Y,ez:X}=this,ie=f($*$),se=f(Y*Y),xe=f(co*f(X*X)),ue=f(C*ie),he=$+Y,Ge=f(f(he*he)-ie-se),De=ue+se,rt=De-xe,nt=ue-se,We=f(Ge*rt),ot=f(De*nt),mr=f(Ge*nt),hn=f(rt*De);return new E(We,ot,hn,mr)}add(C){R(C);let{a:$,d:Y}=e,{ex:X,ey:ie,ez:se,et:xe}=this,{ex:ue,ey:he,ez:Ge,et:De}=C;if($===BigInt(-1)){let K2=f((ie-X)*(he+ue)),V2=f((ie+X)*(he-ue)),L1=f(V2-K2);if(L1===qt)return this.double();let q2=f(se*co*De),z2=f(xe*co*Ge),$2=z2+q2,H2=V2+K2,G2=z2-q2,b5=f($2*L1),w5=f(H2*G2),E5=f($2*G2),S5=f(L1*H2);return new E(b5,w5,S5,E5)}let rt=f(X*ue),nt=f(ie*he),We=f(xe*Y*De),ot=f(se*Ge),mr=f((X+ie)*(ue+he)-rt-nt),hn=ot-We,Ai=ot+We,M2=f(nt-$*rt),y5=f(mr*hn),g5=f(Ai*M2),x5=f(mr*M2),v5=f(hn*Ai);return new E(y5,g5,v5,x5)}subtract(C){return this.add(C.negate())}wNAF(C){return I.wNAFCached(this,v,C,E.normalizeZ)}multiply(C){let{p:$,f:Y}=this.wNAF(g(C,n));return E.normalizeZ([$,Y])[0]}multiplyUnsafe(C){let $=x(C);return $===qt?D:this.equals(D)||$===Et?this:this.equals(S)?this.wNAF($).p:I.unsafeLadder(this,$)}isSmallOrder(){return this.multiplyUnsafe(c).is0()}isTorsionFree(){return I.unsafeLadder(this,n).is0()}toAffine(C){let{ex:$,ey:Y,ez:X}=this,ie=this.is0();C==null&&(C=ie?fh:r.inv(X));let se=f($*C),xe=f(Y*C),ue=f(X*C);if(ie)return{x:qt,y:Et};if(ue!==Et)throw new Error("invZ was invalid");return{x:se,y:xe}}clearCofactor(){let{h:C}=e;return C===Et?this:this.multiplyUnsafe(C)}static fromHex(C,$=!1){let{d:Y,a:X}=e,ie=r.BYTES;C=Ue("pointHex",C,ie);let se=C.slice(),xe=C[ie-1];se[ie-1]=xe&-129;let ue=Zr(se);ue===qt||($?g(ue,u):g(ue,r.ORDER));let he=f(ue*ue),Ge=f(he-Et),De=f(Y*he-X),{isValid:rt,value:nt}=l(Ge,De);if(!rt)throw new Error("Point.fromHex: invalid y coordinate");let We=(nt&Et)===Et,ot=(xe&128)!==0;if(!$&&nt===qt&&ot)throw new Error("Point.fromHex: x=0 and x_0=1");return ot!==We&&(nt=f(-nt)),E.fromAffine({x:nt,y:ue})}static fromPrivateKey(C){return O(C).point}toRawBytes(){let{x:C,y:$}=this.toAffine(),Y=wn($,r.BYTES);return Y[Y.length-1]|=C&Et?128:0,Y}toHex(){return Ir(this.toRawBytes())}}E.BASE=new E(e.Gx,e.Gy,Et,f(e.Gx*e.Gy)),E.ZERO=new E(qt,Et,Et,qt);let{BASE:S,ZERO:D}=E,I=ao(E,a*8);function F(U){return we(U,n)}function K(U){return F(Zr(U))}function O(U){let C=a;U=Ue("private key",U,C);let $=Ue("hashed private key",o(U),2*C),Y=p($.slice(0,C)),X=$.slice(C,2*C),ie=K(Y),se=S.multiply(ie),xe=se.toRawBytes();return{head:Y,prefix:X,scalar:ie,point:se,pointBytes:xe}}function q(U){return O(U).pointBytes}function Z(U=new Uint8Array,...C){let $=Tr(...C);return K(o(d($,Ue("context",U),!!i)))}function ne(U,C,$={}){U=Ue("message",U),i&&(U=i(U));let{prefix:Y,scalar:X,pointBytes:ie}=O(C),se=Z($.context,Y,U),xe=S.multiply(se).toRawBytes(),ue=Z($.context,xe,ie,U),he=F(se+ue*X);x(he);let Ge=Tr(xe,wn(he,r.BYTES));return Ue("result",Ge,a*2)}let A=lh;function P(U,C,$,Y=A){let{context:X,zip215:ie}=Y,se=r.BYTES;U=Ue("signature",U,2*se),C=Ue("message",C),i&&(C=i(C));let xe=Zr(U.slice(se,2*se)),ue,he,Ge;try{ue=E.fromHex($,ie),he=E.fromHex(U.slice(0,se),ie),Ge=S.multiplyUnsafe(xe)}catch{return!1}if(!ie&&ue.isSmallOrder())return!1;let De=Z(X,he.toRawBytes(),ue.toRawBytes(),C);return he.add(ue.multiplyUnsafe(De)).subtract(Ge).clearCofactor().equals(E.ZERO)}return S._setWindowSize(8),{CURVE:e,getPublicKey:q,sign:ne,verify:P,ExtendedPoint:E,utils:{getExtendedPublicKey:O,randomPrivateKey:()=>s(r.BYTES),precompute(U=8,C=E.BASE){return C._setWindowSize(U),C.multiply(BigInt(3)),C}}}}var Ks=BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),J4=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),hx=BigInt(0),dh=BigInt(1),Ms=BigInt(2),ph=BigInt(5),j4=BigInt(10),mh=BigInt(20),yh=BigInt(40),ec=BigInt(80);function gh(t){let e=Ks,n=t*t%e*t%e,i=Pe(n,Ms,e)*n%e,o=Pe(i,dh,e)*t%e,s=Pe(o,ph,e)*o%e,a=Pe(s,j4,e)*s%e,c=Pe(a,mh,e)*a%e,u=Pe(c,yh,e)*c%e,f=Pe(u,ec,e)*u%e,l=Pe(f,ec,e)*u%e,p=Pe(l,j4,e)*s%e;return{pow_p_5_8:Pe(p,Ms,e)*t%e,b2:n}}function xh(t){return t[0]&=248,t[31]&=127,t[31]|=64,t}function vh(t,e){let r=Ks,n=we(e*e*e,r),i=we(n*n*e,r),o=gh(t*i).pow_p_5_8,s=we(t*n*o,r),a=we(e*s*s,r),c=s,u=we(s*J4,r),f=a===t,l=a===we(-t,r),p=a===we(-t*J4,r);return f&&(s=c),(l||p)&&(s=u),Q4(s,r)&&(s=we(-s,r)),{isValid:f||l,value:s}}var _r=so(Ks,void 0,!0),Vs={a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),Fp:_r,n:BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960"),hash:Bs,randomBytes:Jn,adjustScalarBytes:xh,uvRatio:vh},ei=uo(Vs);function tc(t,e,r){if(e.length>255)throw new Error("Context is too big");return j0(_s("SigEd25519 no Ed25519 collisions"),new Uint8Array([r?1:0,e.length]),e,t)}var dx=uo({...Vs,domain:tc}),px=uo({...Vs,domain:tc,prehash:Bs});var bh=(_r.ORDER+BigInt(3))/BigInt(8),mx=_r.pow(Ms,bh),yx=_r.sqrt(_r.neg(_r.ONE)),gx=(_r.ORDER-BigInt(5))/BigInt(8),xx=BigInt(486662);var vx=W4(_r,_r.neg(BigInt(486664)));var bx=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),wx=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Ex=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Sx=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952");var Ix=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");var ti=32,Cr=64,fo=32;async function rc(){let t=ei.utils.randomPrivateKey(),e=ei.getPublicKey(t);return{privateKey:sc(t,e),publicKey:e}}async function nc(t){if(t.length!==fo)throw new TypeError('"seed" must be 32 bytes in length.');if(!(t instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let e=t,r=ei.getPublicKey(e);return{privateKey:sc(e,r),publicKey:r}}async function ic(t,e){let r=t.subarray(0,fo);return ei.sign(e,r)}async function oc(t,e,r){return ei.verify(e,r,t)}function sc(t,e){let r=new Uint8Array(Cr);for(let n=0;n<fo;n++)r[n]=t[n],r[fo+n]=e[n];return r}function be(t,e){e==null&&(e=t.reduce((i,o)=>i+o.length,0));let r=et(e),n=0;for(let i of t)r.set(i,n),n+=i.length;return Er(r)}var Ve={get(t=globalThis){let e=t.crypto;if(e==null||e.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return e}};var qs={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function lo(t){let e=t?.algorithm??"AES-GCM",r=t?.keyLength??16,n=t?.nonceLength??12,i=t?.digest??"SHA-256",o=t?.saltLength??16,s=t?.iterations??32767,a=Ve.get();r*=8;async function c(l,p){let d=a.getRandomValues(new Uint8Array(o)),h=a.getRandomValues(new Uint8Array(n)),m={name:e,iv:h};typeof p=="string"&&(p=ce(p));let y;if(p.length===0){y=await a.subtle.importKey("jwk",qs,{name:"AES-GCM"},!0,["encrypt"]);try{let x={name:"PBKDF2",salt:d,iterations:s,hash:{name:i}},v=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,v,{name:e,length:r},!0,["encrypt"])}catch{y=await a.subtle.importKey("jwk",qs,{name:"AES-GCM"},!0,["encrypt"])}}else{let x={name:"PBKDF2",salt:d,iterations:s,hash:{name:i}},v=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);y=await a.subtle.deriveKey(x,v,{name:e,length:r},!0,["encrypt"])}let g=await a.subtle.encrypt(m,y,l);return be([d,m.iv,new Uint8Array(g)])}async function u(l,p){let d=l.subarray(0,o),h=l.subarray(o,o+n),m=l.subarray(o+n),y={name:e,iv:h};typeof p=="string"&&(p=ce(p));let g;if(p.length===0)try{let v={name:"PBKDF2",salt:d,iterations:s,hash:{name:i}},R=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(v,R,{name:e,length:r},!0,["decrypt"])}catch{g=await a.subtle.importKey("jwk",qs,{name:"AES-GCM"},!0,["decrypt"])}else{let v={name:"PBKDF2",salt:d,iterations:s,hash:{name:i}},R=await a.subtle.importKey("raw",p,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(v,R,{name:e,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(y,g,m);return new Uint8Array(x)}return{encrypt:c,decrypt:u}}async function ri(t,e){let n=await lo().encrypt(t,e);return pn.encode(n)}var ii={};Ye(ii,{KeyType:()=>Te,PrivateKey:()=>Ht,PublicKey:()=>$t});var zs=new Float32Array([-0]),Jr=new Uint8Array(zs.buffer);function cc(t,e,r){zs[0]=t,e[r]=Jr[0],e[r+1]=Jr[1],e[r+2]=Jr[2],e[r+3]=Jr[3]}function uc(t,e){return Jr[0]=t[e],Jr[1]=t[e+1],Jr[2]=t[e+2],Jr[3]=t[e+3],zs[0]}var $s=new Float64Array([-0]),st=new Uint8Array($s.buffer);function fc(t,e,r){$s[0]=t,e[r]=st[0],e[r+1]=st[1],e[r+2]=st[2],e[r+3]=st[3],e[r+4]=st[4],e[r+5]=st[5],e[r+6]=st[6],e[r+7]=st[7]}function lc(t,e){return st[0]=t[e],st[1]=t[e+1],st[2]=t[e+2],st[3]=t[e+3],st[4]=t[e+4],st[5]=t[e+5],st[6]=t[e+6],st[7]=t[e+7],$s[0]}var Eh=BigInt(Number.MAX_SAFE_INTEGER),Sh=BigInt(Number.MIN_SAFE_INTEGER),gt=class t{lo;hi;constructor(e,r){this.lo=e|0,this.hi=r|0}toNumber(e=!1){if(!e&&this.hi>>>31>0){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296}toBigInt(e=!1){if(e)return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n);if(this.hi>>>31){let r=~this.lo+1>>>0,n=~this.hi>>>0;return r===0&&(n=n+1>>>0),-(BigInt(r)+(BigInt(n)<<32n))}return BigInt(this.lo>>>0)+(BigInt(this.hi>>>0)<<32n)}toString(e=!1){return this.toBigInt(e).toString()}zzEncode(){let e=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^e)>>>0,this.lo=(this.lo<<1^e)>>>0,this}zzDecode(){let e=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^e)>>>0,this.hi=(this.hi>>>1^e)>>>0,this}length(){let e=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?e<16384?e<128?1:2:e<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}static fromBigInt(e){if(e===0n)return Sn;if(e<Eh&&e>Sh)return this.fromNumber(Number(e));let r=e<0n;r&&(e=-e);let n=e>>32n,i=e-(n<<32n);return r&&(n=~n|0n,i=~i|0n,++i>hc&&(i=0n,++n>hc&&(n=0n))),new t(Number(i),Number(n))}static fromNumber(e){if(e===0)return Sn;let r=e<0;r&&(e=-e);let n=e>>>0,i=(e-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new t(n,i)}static from(e){return typeof e=="number"?t.fromNumber(e):typeof e=="bigint"?t.fromBigInt(e):typeof e=="string"?t.fromBigInt(BigInt(e)):e.low!=null||e.high!=null?new t(e.low>>>0,e.high>>>0):Sn}},Sn=new gt(0,0);Sn.toBigInt=function(){return 0n};Sn.zzEncode=Sn.zzDecode=function(){return this};Sn.length=function(){return 1};var hc=4294967296n;function dc(t){let e=0,r=0;for(let n=0;n<t.length;++n)r=t.charCodeAt(n),r<128?e+=1:r<2048?e+=2:(r&64512)===55296&&(t.charCodeAt(n+1)&64512)===56320?(++n,e+=4):e+=3;return e}function pc(t,e,r){if(r-e<1)return"";let i,o=[],s=0,a;for(;e<r;)a=t[e++],a<128?o[s++]=a:a>191&&a<224?o[s++]=(a&31)<<6|t[e++]&63:a>239&&a<365?(a=((a&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,o[s++]=55296+(a>>10),o[s++]=56320+(a&1023)):o[s++]=(a&15)<<12|(t[e++]&63)<<6|t[e++]&63,s>8191&&((i??(i=[])).push(String.fromCharCode.apply(String,o)),s=0);return i!=null?(s>0&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))}function Hs(t,e,r){let n=r,i,o;for(let s=0;s<t.length;++s)i=t.charCodeAt(s),i<128?e[r++]=i:i<2048?(e[r++]=i>>6|192,e[r++]=i&63|128):(i&64512)===55296&&((o=t.charCodeAt(s+1))&64512)===56320?(i=65536+((i&1023)<<10)+(o&1023),++s,e[r++]=i>>18|240,e[r++]=i>>12&63|128,e[r++]=i>>6&63|128,e[r++]=i&63|128):(e[r++]=i>>12|224,e[r++]=i>>6&63|128,e[r++]=i&63|128);return r-n}function zt(t,e){return RangeError(`index out of range: ${t.pos} + ${e??1} > ${t.len}`)}function ho(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}var Gs=class{buf;pos;len;_slice=Uint8Array.prototype.subarray;constructor(e){this.buf=e,this.pos=0,this.len=e.length}uint32(){let e=4294967295;if(e=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(e=(e|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(e=(e|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return e;if((this.pos+=5)>this.len)throw this.pos=this.len,zt(this,10);return e}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)|0}bool(){return this.uint32()!==0}fixed32(){if(this.pos+4>this.len)throw zt(this,4);return ho(this.buf,this.pos+=4)}sfixed32(){if(this.pos+4>this.len)throw zt(this,4);return ho(this.buf,this.pos+=4)|0}float(){if(this.pos+4>this.len)throw zt(this,4);let e=uc(this.buf,this.pos);return this.pos+=4,e}double(){if(this.pos+8>this.len)throw zt(this,4);let e=lc(this.buf,this.pos);return this.pos+=8,e}bytes(){let e=this.uint32(),r=this.pos,n=this.pos+e;if(n>this.len)throw zt(this,e);return this.pos+=e,r===n?new Uint8Array(0):this.buf.subarray(r,n)}string(){let e=this.bytes();return pc(e,0,e.length)}skip(e){if(typeof e=="number"){if(this.pos+e>this.len)throw zt(this,e);this.pos+=e}else do if(this.pos>=this.len)throw zt(this);while(this.buf[this.pos++]&128);return this}skipType(e){switch(e){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(e=this.uint32()&7)!==4;)this.skipType(e);break;case 5:this.skip(4);break;default:throw Error(`invalid wire type ${e} at offset ${this.pos}`)}return this}readLongVarint(){let e=new gt(0,0),r=0;if(this.len-this.pos>4){for(;r<4;++r)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e;if(e.lo=(e.lo|(this.buf[this.pos]&127)<<28)>>>0,e.hi=(e.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return e;r=0}else{for(;r<3;++r){if(this.pos>=this.len)throw zt(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<r*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<r*7)>>>0,e}if(this.len-this.pos>4){for(;r<5;++r)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;r<5;++r){if(this.pos>=this.len)throw zt(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<r*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}readFixed64(){if(this.pos+8>this.len)throw zt(this,8);let e=ho(this.buf,this.pos+=4),r=ho(this.buf,this.pos+=4);return new gt(e,r)}int64(){return this.readLongVarint().toBigInt()}int64Number(){return this.readLongVarint().toNumber()}int64String(){return this.readLongVarint().toString()}uint64(){return this.readLongVarint().toBigInt(!0)}uint64Number(){return this.readLongVarint().toNumber(!0)}uint64String(){return this.readLongVarint().toString(!0)}sint64(){return this.readLongVarint().zzDecode().toBigInt()}sint64Number(){return this.readLongVarint().zzDecode().toNumber()}sint64String(){return this.readLongVarint().zzDecode().toString()}fixed64(){return this.readFixed64().toBigInt()}fixed64Number(){return this.readFixed64().toNumber()}fixed64String(){return this.readFixed64().toString()}sfixed64(){return this.readFixed64().toBigInt()}sfixed64Number(){return this.readFixed64().toNumber()}sfixed64String(){return this.readFixed64().toString()}};function Ys(t){return new Gs(t instanceof Uint8Array?t:t.subarray())}function Nt(t,e){let r=Ys(t);return e.decode(r)}function Qs(t){let e=t??8192,r=e>>>1,n,i=e;return function(s){if(s<1||s>r)return et(s);i+s>e&&(n=et(e),i=0);let a=n.subarray(i,i+=s);return i&7&&(i=(i|7)+1),a}}var In=class{fn;len;next;val;constructor(e,r,n){this.fn=e,this.len=r,this.next=void 0,this.val=n}};function Ws(){}var Xs=class{head;tail;len;next;constructor(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}},Ih=Qs();function Ah(t){return globalThis.Buffer!=null?et(t):Ih(t)}var Vi=class{len;head;tail;states;constructor(){this.len=0,this.head=new In(Ws,0,0),this.tail=this.head,this.states=null}_push(e,r,n){return this.tail=this.tail.next=new In(e,r,n),this.len+=r,this}uint32(e){return this.len+=(this.tail=this.tail.next=new Js((e=e>>>0)<128?1:e<16384?2:e<2097152?3:e<268435456?4:5,e)).len,this}int32(e){return e<0?this._push(Mi,10,gt.fromNumber(e)):this.uint32(e)}sint32(e){return this.uint32((e<<1^e>>31)>>>0)}uint64(e){let r=gt.fromBigInt(e);return this._push(Mi,r.length(),r)}uint64Number(e){let r=gt.fromNumber(e);return this._push(Mi,r.length(),r)}uint64String(e){return this.uint64(BigInt(e))}int64(e){return this.uint64(e)}int64Number(e){return this.uint64Number(e)}int64String(e){return this.uint64String(e)}sint64(e){let r=gt.fromBigInt(e).zzEncode();return this._push(Mi,r.length(),r)}sint64Number(e){let r=gt.fromNumber(e).zzEncode();return this._push(Mi,r.length(),r)}sint64String(e){return this.sint64(BigInt(e))}bool(e){return this._push(Zs,1,e?1:0)}fixed32(e){return this._push(Ki,4,e>>>0)}sfixed32(e){return this.fixed32(e)}fixed64(e){let r=gt.fromBigInt(e);return this._push(Ki,4,r.lo)._push(Ki,4,r.hi)}fixed64Number(e){let r=gt.fromNumber(e);return this._push(Ki,4,r.lo)._push(Ki,4,r.hi)}fixed64String(e){return this.fixed64(BigInt(e))}sfixed64(e){return this.fixed64(e)}sfixed64Number(e){return this.fixed64Number(e)}sfixed64String(e){return this.fixed64String(e)}float(e){return this._push(cc,4,e)}double(e){return this._push(fc,8,e)}bytes(e){let r=e.length>>>0;return r===0?this._push(Zs,1,0):this.uint32(r)._push(_h,r,e)}string(e){let r=dc(e);return r!==0?this.uint32(r)._push(Hs,r,e):this._push(Zs,1,0)}fork(){return this.states=new Xs(this),this.head=this.tail=new In(Ws,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 In(Ws,0,0),this.len=0),this}ldelim(){let e=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n!==0&&(this.tail.next=e.next,this.tail=r,this.len+=n),this}finish(){let e=this.head.next,r=Ah(this.len),n=0;for(;e!=null;)e.fn(e.val,r,n),n+=e.len,e=e.next;return r}};function Zs(t,e,r){e[r]=t&255}function Th(t,e,r){for(;t>127;)e[r++]=t&127|128,t>>>=7;e[r]=t}var Js=class extends In{next;constructor(e,r){super(Th,e,r),this.next=void 0}};function Mi(t,e,r){for(;t.hi!==0;)e[r++]=t.lo&127|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[r++]=t.lo&127|128,t.lo=t.lo>>>7;e[r++]=t.lo}function Ki(t,e,r){e[r]=t&255,e[r+1]=t>>>8&255,e[r+2]=t>>>16&255,e[r+3]=t>>>24}function _h(t,e,r){e.set(t,r)}globalThis.Buffer!=null&&(Vi.prototype.bytes=function(t){let e=t.length>>>0;return this.uint32(e),e>0&&this._push(Ch,e,t),this},Vi.prototype.string=function(t){let e=globalThis.Buffer.byteLength(t);return this.uint32(e),e>0&&this._push(Rh,e,t),this});function Ch(t,e,r){e.set(t,r)}function Rh(t,e,r){t.length<40?Hs(t,e,r):e.utf8Write!=null?e.utf8Write(t,r):e.set(ce(t),r)}function js(){return new Vi}function Lt(t,e){let r=js();return e.encode(t,r,{lengthDelimited:!1}),r.finish()}var ni;(function(t){t[t.VARINT=0]="VARINT",t[t.BIT64=1]="BIT64",t[t.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",t[t.START_GROUP=3]="START_GROUP",t[t.END_GROUP=4]="END_GROUP",t[t.BIT32=5]="BIT32"})(ni||(ni={}));function po(t,e,r,n){return{name:t,type:e,encode:r,decode:n}}function jr(t){function e(i){if(t[i.toString()]==null)throw new Error("Invalid enum value");return t[i]}let r=function(o,s){let a=e(o);s.int32(a)},n=function(o){let s=o.int32();return e(s)};return po("enum",ni.VARINT,r,n)}function Dt(t,e){return po("message",ni.LENGTH_DELIMITED,t,e)}var Te;(function(t){t.RSA="RSA",t.Ed25519="Ed25519",t.Secp256k1="Secp256k1"})(Te||(Te={}));var ea;(function(t){t[t.RSA=0]="RSA",t[t.Ed25519=1]="Ed25519",t[t.Secp256k1=2]="Secp256k1"})(ea||(ea={}));(function(t){t.codec=()=>jr(ea)})(Te||(Te={}));var $t;(function(t){let e;t.codec=()=>(e==null&&(e=Dt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Te.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=Te.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Lt(r,t.codec()),t.decode=r=>Nt(r,t.codec())})($t||($t={}));var Ht;(function(t){let e;t.codec=()=>(e==null&&(e=Dt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),Te.codec().encode(r.Type,n)),r.Data!=null&&(n.uint32(18),n.bytes(r.Data)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.Type=Te.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Lt(r,t.codec()),t.decode=r=>Nt(r,t.codec())})(Ht||(Ht={}));var qi=class{_key;constructor(e){this._key=oi(e,ti)}async verify(e,r){return oc(this._key,r,e)}marshal(){return this._key}get bytes(){return $t.encode({Type:Te.Ed25519,Data:this.marshal()}).subarray()}equals(e){return de(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ne.digest(this.bytes);return e}},An=class{_key;_publicKey;constructor(e,r){this._key=oi(e,Cr),this._publicKey=oi(r,ti)}async sign(e){return ic(this._key,e)}get public(){return new qi(this._publicKey)}marshal(){return this._key}get bytes(){return Ht.encode({Type:Te.Ed25519,Data:this.marshal()}).subarray()}equals(e){return de(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ne.digest(this.bytes);return e}async id(){let e=rr.digest(this.public.bytes);return Fe.encode(e.bytes).substring(1)}async export(e,r="libp2p-key"){if(r==="libp2p-key")return ri(this.bytes,e);throw new k(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Bh(t){if(t.length>Cr){t=oi(t,Cr+ti);let n=t.subarray(0,Cr),i=t.subarray(Cr,t.length);return new An(n,i)}t=oi(t,Cr);let e=t.subarray(0,Cr),r=t.subarray(ti);return new An(e,r)}function Ph(t){return t=oi(t,ti),new qi(t)}async function Nh(){let{privateKey:t,publicKey:e}=await rc();return new An(t,e)}async function ta(t){let{privateKey:e,publicKey:r}=await nc(t);return new An(e,r)}function oi(t,e){if(t=Uint8Array.from(t??[]),t.length!==e)throw new k(`Key must be a Uint8Array of length ${e}, got ${t.length}`,"ERR_INVALID_KEY_TYPE");return t}function Q(t,e="utf8"){let r=Z0[e];if(r==null)throw new Error(`Unsupported encoding "${e}"`);return(e==="utf8"||e==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString("utf8"):r.encoder.encode(t).substring(1)}var bv=me(Ke(),1),wv=me(G0(),1),yc=me(ve(),1);function Gt(t,e){let r=Uint8Array.from(t.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=be([new Uint8Array(e-r.length),r])}return Q(r,"base64url")}function St(t){let e=mo(t);return new yc.default.jsbn.BigInteger(Q(e,"base16"),16)}function mo(t,e){let r=ce(t,"base64urlpad");if(e!=null){if(r.length>e)throw new Error("byte array longer than desired length");r=be([new Uint8Array(e-r.length),r])}return r}var gc={"P-256":256,"P-384":384,"P-521":521},Lh=Object.keys(gc),na=Lh.join(" / ");async function xc(t){if(t!=="P-256"&&t!=="P-384"&&t!=="P-521")throw new k(`Unknown curve: ${t}. Must be ${na}`,"ERR_INVALID_CURVE");let e=await Ve.get().subtle.generateKey({name:"ECDH",namedCurve:t},!0,["deriveBits"]),r=async(o,s)=>{let a;s!=null?a=await Ve.get().subtle.importKey("jwk",kh(t,s),{name:"ECDH",namedCurve:t},!1,["deriveBits"]):a=e.privateKey;let c=await Ve.get().subtle.importKey("jwk",bc(t,o),{name:"ECDH",namedCurve:t},!1,[]),u=await Ve.get().subtle.deriveBits({name:"ECDH",namedCurve:t,public:c},a,gc[t]);return new Uint8Array(u,0,u.byteLength)},n=await Ve.get().subtle.exportKey("jwk",e.publicKey);return{key:Dh(n),genSharedKey:r}}var vc={"P-256":32,"P-384":48,"P-521":66};function Dh(t){if(t.crv==null||t.x==null||t.y==null)throw new k("JWK was missing components","ERR_INVALID_PARAMETERS");if(t.crv!=="P-256"&&t.crv!=="P-384"&&t.crv!=="P-521")throw new k(`Unknown curve: ${t.crv}. Must be ${na}`,"ERR_INVALID_CURVE");let e=vc[t.crv];return be([Uint8Array.from([4]),mo(t.x,e),mo(t.y,e)],1+e*2)}function bc(t,e){if(t!=="P-256"&&t!=="P-384"&&t!=="P-521")throw new k(`Unknown curve: ${t}. Must be ${na}`,"ERR_INVALID_CURVE");let r=vc[t];if(!de(e.subarray(0,1),Uint8Array.from([4])))throw new k("Cannot unmarshal public key - invalid key format","ERR_INVALID_KEY_FORMAT");return{kty:"EC",crv:t,x:Q(e.subarray(1,r+1),"base64url"),y:Q(e.subarray(1+r),"base64url"),ext:!0}}var kh=(t,e)=>({...bc(t,e.public),d:Q(e.private,"base64url")});var wc=xc;async function Ec(t,e){let r=pn.decode(t);return lo().decrypt(r,e)}var Sc={SHA1:20,SHA256:32,SHA512:64};var Uh={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},Oh=async(t,e)=>{let r=await Ve.get().subtle.sign({name:"HMAC"},t,e);return new Uint8Array(r,0,r.byteLength)};async function Ic(t,e){let r=Uh[t],n=await Ve.get().subtle.importKey("raw",e,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(i){return Oh(n,i)},length:Sc[t]}}var Tc={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function _c(t,e,r){let n=Tc[t];if(n==null){let x=Object.keys(Tc).join(" / ");throw new k(`unknown cipher type '${t}'. Must be ${x}`,"ERR_INVALID_CIPHER_TYPE")}if(e==null)throw new k("missing hash type","ERR_MISSING_HASH_TYPE");let i=n.keySize,o=n.ivSize,s=20,a=ce("key expansion"),c=2*(o+i+s),u=await Ic(e,r),f=await u.digest(a),l=[],p=0;for(;p<c;){let x=await u.digest(be([f,a])),v=x.length;p+v>c&&(v=c-p),l.push(x),p+=v,f=await u.digest(f)}let d=c/2,h=be(l),m=h.subarray(0,d),y=h.subarray(d,c),g=x=>({iv:x.subarray(0,o),cipherKey:x.subarray(o,o+i),macKey:x.subarray(o+i)});return{k1:g(m),k2:g(y)}}var ca={};Ye(ca,{MAX_KEY_SIZE:()=>Gi,RsaPrivateKey:()=>si,RsaPublicKey:()=>Hi,fromJwk:()=>Yh,generateKeyPair:()=>Qh,unmarshalRsaPrivateKey:()=>Hh,unmarshalRsaPublicKey:()=>Gh});var $i=me(ve(),1);var hb=me(Nc(),1);function _n(t){if(isNaN(t)||t<=0)throw new k("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Jn(t)}var Qv=me(W0(),1),sa=me(ve(),1);function Lc(t,e){return e.map(r=>St(t[r]))}function Dc(t){return sa.default.pki.setRsaPrivateKey(...Lc(t,["n","e","d","p","q","dp","dq","qi"]))}function kc(t){return sa.default.pki.setRsaPublicKey(...Lc(t,["n","e"]))}var Cn={};Ye(Cn,{jwkToPkcs1:()=>Kh,jwkToPkix:()=>qh,pkcs1ToJwk:()=>Mh,pkixToJwk:()=>Vh});var Xv=me(Li(),1),Jv=me(W0(),1);var Rr=me(ve(),1);function Mh(t){let e=Rr.default.asn1.fromDer(Q(t,"ascii")),r=Rr.default.pki.privateKeyFromAsn1(e);return{kty:"RSA",n:Gt(r.n),e:Gt(r.e),d:Gt(r.d),p:Gt(r.p),q:Gt(r.q),dp:Gt(r.dP),dq:Gt(r.dQ),qi:Gt(r.qInv),alg:"RS256"}}function Kh(t){if(t.n==null||t.e==null||t.d==null||t.p==null||t.q==null||t.dp==null||t.dq==null||t.qi==null)throw new k("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Rr.default.pki.privateKeyToAsn1({n:St(t.n),e:St(t.e),d:St(t.d),p:St(t.p),q:St(t.q),dP:St(t.dp),dQ:St(t.dq),qInv:St(t.qi)});return ce(Rr.default.asn1.toDer(e).getBytes(),"ascii")}function Vh(t){let e=Rr.default.asn1.fromDer(Q(t,"ascii")),r=Rr.default.pki.publicKeyFromAsn1(e);return{kty:"RSA",n:Gt(r.n),e:Gt(r.e)}}function qh(t){if(t.n==null||t.e==null)throw new k("JWK was missing components","ERR_INVALID_PARAMETERS");let e=Rr.default.pki.publicKeyToAsn1({n:St(t.n),e:St(t.e)});return ce(Rr.default.asn1.toDer(e).getBytes(),"ascii")}async function Uc(t){let e=await Ve.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:t,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await Mc(e);return{privateKey:r[0],publicKey:r[1]}}async function aa(t){let r=[await Ve.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await zh(t)],n=await Mc({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function Oc(t,e){let r=await Ve.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Ve.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(e));return new Uint8Array(n,0,n.byteLength)}async function Fc(t,e,r){let n=await Ve.get().subtle.importKey("jwk",t,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return Ve.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,e,r)}async function Mc(t){if(t.privateKey==null||t.publicKey==null)throw new k("Private and public key are required","ERR_INVALID_PARAMETERS");return Promise.all([Ve.get().subtle.exportKey("jwk",t.privateKey),Ve.get().subtle.exportKey("jwk",t.publicKey)])}async function zh(t){return Ve.get().subtle.importKey("jwk",{kty:t.kty,n:t.n,e:t.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function Kc(t,e,r,n){let i=e?kc(t):Dc(t),o=Q(Uint8Array.from(r),"ascii"),s=n(o,i);return ce(s,"ascii")}function Vc(t,e){return Kc(t,!0,e,(r,n)=>n.encrypt(r))}function qc(t,e){return Kc(t,!1,e,(r,n)=>n.decrypt(r))}function yo(t){if(t.kty!=="RSA")throw new k("invalid key type","ERR_INVALID_KEY_TYPE");if(t.n==null)throw new k("invalid key modulus","ERR_INVALID_KEY_MODULUS");return ce(t.n,"base64url").length*8}var Gi=8192,Hi=class{_key;constructor(e){this._key=e}async verify(e,r){return Fc(this._key,r,e)}marshal(){return Cn.jwkToPkix(this._key)}get bytes(){return $t.encode({Type:Te.RSA,Data:this.marshal()}).subarray()}encrypt(e){return Vc(this._key,e)}equals(e){return de(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ne.digest(this.bytes);return e}},si=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r}genSecret(){return _n(16)}async sign(e){return Oc(this._key,e)}get public(){if(this._publicKey==null)throw new k("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new Hi(this._publicKey)}decrypt(e){return qc(this._key,e)}marshal(){return Cn.jwkToPkcs1(this._key)}get bytes(){return Ht.encode({Type:Te.RSA,Data:this.marshal()}).subarray()}equals(e){return de(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ne.digest(this.bytes);return e}async id(){let e=await this.public.hash();return Q(e,"base58btc")}async export(e,r="pkcs-8"){if(r==="pkcs-8"){let n=new $i.default.util.ByteBuffer(this.marshal()),i=$i.default.asn1.fromDer(n),o=$i.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return $i.default.pki.encryptRsaPrivateKey(o,e,s)}else{if(r==="libp2p-key")return ri(this.bytes,e);throw new k(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Hh(t){let e=Cn.pkcs1ToJwk(t);if(yo(e)>Gi)throw new k("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let r=await aa(e);return new si(r.privateKey,r.publicKey)}function Gh(t){let e=Cn.pkixToJwk(t);if(yo(e)>Gi)throw new k("key size is too large","ERR_KEY_SIZE_TOO_LARGE");return new Hi(e)}async function Yh(t){if(yo(t)>Gi)throw new k("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await aa(t);return new si(e.privateKey,e.publicKey)}async function Qh(t){if(t>Gi)throw new k("key size is too large","ERR_KEY_SIZE_TOO_LARGE");let e=await Uc(t);return new si(e.privateKey,e.publicKey)}var pa={};Ye(pa,{Secp256k1PrivateKey:()=>Qi,Secp256k1PublicKey:()=>Yi,generateKeyPair:()=>ud,unmarshalSecp256k1PrivateKey:()=>ad,unmarshalSecp256k1PublicKey:()=>cd});var Wh=(t,e,r)=>t&e^~t&r,Zh=(t,e,r)=>t&e^t&r^e&r,Xh=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]),en=new Uint32Array([1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225]),tn=new Uint32Array(64),ua=class extends jn{constructor(){super(64,32,8,!1),this.A=en[0]|0,this.B=en[1]|0,this.C=en[2]|0,this.D=en[3]|0,this.E=en[4]|0,this.F=en[5]|0,this.G=en[6]|0,this.H=en[7]|0}get(){let{A:e,B:r,C:n,D:i,E:o,F:s,G:a,H:c}=this;return[e,r,n,i,o,s,a,c]}set(e,r,n,i,o,s,a,c){this.A=e|0,this.B=r|0,this.C=n|0,this.D=i|0,this.E=o|0,this.F=s|0,this.G=a|0,this.H=c|0}process(e,r){for(let l=0;l<16;l++,r+=4)tn[l]=e.getUint32(r,!1);for(let l=16;l<64;l++){let p=tn[l-15],d=tn[l-2],h=Vt(p,7)^Vt(p,18)^p>>>3,m=Vt(d,17)^Vt(d,19)^d>>>10;tn[l]=m+tn[l-7]+h+tn[l-16]|0}let{A:n,B:i,C:o,D:s,E:a,F:c,G:u,H:f}=this;for(let l=0;l<64;l++){let p=Vt(a,6)^Vt(a,11)^Vt(a,25),d=f+p+Wh(a,c,u)+Xh[l]+tn[l]|0,m=(Vt(n,2)^Vt(n,13)^Vt(n,22))+Zh(n,i,o)|0;f=u,u=c,c=a,a=s+d|0,s=o,o=i,i=n,n=d+m|0}n=n+this.A|0,i=i+this.B|0,o=o+this.C|0,s=s+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,o,s,a,c,u,f)}roundClean(){tn.fill(0)}destroy(){this.set(0,0,0,0,0,0,0,0),this.buffer.fill(0)}};var zc=eo(()=>new ua);function Jh(t){let e=Fi(t);ur(e,{a:"field",b:"field"},{allowedPrivateKeyLengths:"array",wrapPrivateKey:"boolean",isTorsionFree:"function",clearCofactor:"function",allowInfinityPoint:"boolean",fromBytes:"function",toBytes:"function"});let{endo:r,Fp:n,a:i}=e;if(r){if(!n.eql(i,n.ZERO))throw new Error("Endomorphism can only be defined for Koblitz curves that have a=0");if(typeof r!="object"||typeof r.beta!="bigint"||typeof r.splitScalar!="function")throw new Error("Expected endomorphism with beta: bigint and splitScalar: function")}return Object.freeze({...e})}var{bytesToNumberBE:jh,hexToBytes:ed}=io,Rn={Err:class extends Error{constructor(e=""){super(e)}},_parseInt(t){let{Err:e}=Rn;if(t.length<2||t[0]!==2)throw new e("Invalid signature integer tag");let r=t[1],n=t.subarray(2,r+2);if(!r||n.length!==r)throw new e("Invalid signature integer: wrong length");if(n[0]&128)throw new e("Invalid signature integer: negative");if(n[0]===0&&!(n[1]&128))throw new e("Invalid signature integer: unnecessary leading zero");return{d:jh(n),l:t.subarray(r+2)}},toSig(t){let{Err:e}=Rn,r=typeof t=="string"?ed(t):t;if(!(r instanceof Uint8Array))throw new Error("ui8a expected");let n=r.length;if(n<2||r[0]!=48)throw new e("Invalid signature tag");if(r[1]!==n-2)throw new e("Invalid signature: incorrect length");let{d:i,l:o}=Rn._parseInt(r.subarray(2)),{d:s,l:a}=Rn._parseInt(o);if(a.length)throw new e("Invalid signature: left bytes after parsing");return{r:i,s}},hexFromSig(t){let e=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=e(r(t.s)),i=e(r(t.r)),o=n.length/2,s=i.length/2,a=r(o),c=r(s);return`30${r(s+o+4)}02${c}${i}02${a}${n}`}},Br=BigInt(0),kt=BigInt(1),wb=BigInt(2),$c=BigInt(3),Eb=BigInt(4);function td(t){let e=Jh(t),{Fp:r}=e,n=e.toBytes||((h,m,y)=>{let g=m.toAffine();return Tr(Uint8Array.from([4]),r.toBytes(g.x),r.toBytes(g.y))}),i=e.fromBytes||(h=>{let m=h.subarray(1),y=r.fromBytes(m.subarray(0,r.BYTES)),g=r.fromBytes(m.subarray(r.BYTES,2*r.BYTES));return{x:y,y:g}});function o(h){let{a:m,b:y}=e,g=r.sqr(h),x=r.mul(g,h);return r.add(r.add(x,r.mul(h,m)),y)}if(!r.eql(r.sqr(e.Gy),o(e.Gx)))throw new Error("bad generator point: equation left != right");function s(h){return typeof h=="bigint"&&Br<h&&h<e.n}function a(h){if(!s(h))throw new Error("Expected valid bigint: 0 < bigint < curve.n")}function c(h){let{allowedPrivateKeyLengths:m,nByteLength:y,wrapPrivateKey:g,n:x}=e;if(m&&typeof h!="bigint"){if(h instanceof Uint8Array&&(h=Ir(h)),typeof h!="string"||!m.includes(h.length))throw new Error("Invalid key");h=h.padStart(y*2,"0")}let v;try{v=typeof h=="bigint"?h:Ar(Ue("private key",h,y))}catch{throw new Error(`private key must be ${y} bytes, hex or bigint, not ${typeof h}`)}return g&&(v=we(v,x)),a(v),v}let u=new Map;function f(h){if(!(h instanceof l))throw new Error("ProjectivePoint expected")}class l{constructor(m,y,g){if(this.px=m,this.py=y,this.pz=g,m==null||!r.isValid(m))throw new Error("x required");if(y==null||!r.isValid(y))throw new Error("y required");if(g==null||!r.isValid(g))throw new Error("z required")}static fromAffine(m){let{x:y,y:g}=m||{};if(!m||!r.isValid(y)||!r.isValid(g))throw new Error("invalid affine point");if(m instanceof l)throw new Error("projective point not allowed");let x=v=>r.eql(v,r.ZERO);return x(y)&&x(g)?l.ZERO:new l(y,g,r.ONE)}get x(){return this.toAffine().x}get y(){return this.toAffine().y}static normalizeZ(m){let y=r.invertBatch(m.map(g=>g.pz));return m.map((g,x)=>g.toAffine(y[x])).map(l.fromAffine)}static fromHex(m){let y=l.fromAffine(i(Ue("pointHex",m)));return y.assertValidity(),y}static fromPrivateKey(m){return l.BASE.multiply(c(m))}_setWindowSize(m){this._WINDOW_SIZE=m,u.delete(this)}assertValidity(){if(this.is0()){if(e.allowInfinityPoint&&!r.is0(this.py))return;throw new Error("bad point: ZERO")}let{x:m,y}=this.toAffine();if(!r.isValid(m)||!r.isValid(y))throw new Error("bad point: x or y not FE");let g=r.sqr(y),x=o(m);if(!r.eql(g,x))throw new Error("bad point: equation left != right");if(!this.isTorsionFree())throw new Error("bad point: not in prime-order subgroup")}hasEvenY(){let{y:m}=this.toAffine();if(r.isOdd)return!r.isOdd(m);throw new Error("Field doesn't support isOdd")}equals(m){f(m);let{px:y,py:g,pz:x}=this,{px:v,py:R,pz:E}=m,S=r.eql(r.mul(y,E),r.mul(v,x)),D=r.eql(r.mul(g,E),r.mul(R,x));return S&&D}negate(){return new l(this.px,r.neg(this.py),this.pz)}double(){let{a:m,b:y}=e,g=r.mul(y,$c),{px:x,py:v,pz:R}=this,E=r.ZERO,S=r.ZERO,D=r.ZERO,I=r.mul(x,x),F=r.mul(v,v),K=r.mul(R,R),O=r.mul(x,v);return O=r.add(O,O),D=r.mul(x,R),D=r.add(D,D),E=r.mul(m,D),S=r.mul(g,K),S=r.add(E,S),E=r.sub(F,S),S=r.add(F,S),S=r.mul(E,S),E=r.mul(O,E),D=r.mul(g,D),K=r.mul(m,K),O=r.sub(I,K),O=r.mul(m,O),O=r.add(O,D),D=r.add(I,I),I=r.add(D,I),I=r.add(I,K),I=r.mul(I,O),S=r.add(S,I),K=r.mul(v,R),K=r.add(K,K),I=r.mul(K,O),E=r.sub(E,I),D=r.mul(K,F),D=r.add(D,D),D=r.add(D,D),new l(E,S,D)}add(m){f(m);let{px:y,py:g,pz:x}=this,{px:v,py:R,pz:E}=m,S=r.ZERO,D=r.ZERO,I=r.ZERO,F=e.a,K=r.mul(e.b,$c),O=r.mul(y,v),q=r.mul(g,R),Z=r.mul(x,E),ne=r.add(y,g),A=r.add(v,R);ne=r.mul(ne,A),A=r.add(O,q),ne=r.sub(ne,A),A=r.add(y,x);let P=r.add(v,E);return A=r.mul(A,P),P=r.add(O,Z),A=r.sub(A,P),P=r.add(g,x),S=r.add(R,E),P=r.mul(P,S),S=r.add(q,Z),P=r.sub(P,S),I=r.mul(F,A),S=r.mul(K,Z),I=r.add(S,I),S=r.sub(q,I),I=r.add(q,I),D=r.mul(S,I),q=r.add(O,O),q=r.add(q,O),Z=r.mul(F,Z),A=r.mul(K,A),q=r.add(q,Z),Z=r.sub(O,Z),Z=r.mul(F,Z),A=r.add(A,Z),O=r.mul(q,A),D=r.add(D,O),O=r.mul(P,A),S=r.mul(ne,S),S=r.sub(S,O),O=r.mul(ne,q),I=r.mul(P,I),I=r.add(I,O),new l(S,D,I)}subtract(m){return this.add(m.negate())}is0(){return this.equals(l.ZERO)}wNAF(m){return d.wNAFCached(this,u,m,y=>{let g=r.invertBatch(y.map(x=>x.pz));return y.map((x,v)=>x.toAffine(g[v])).map(l.fromAffine)})}multiplyUnsafe(m){let y=l.ZERO;if(m===Br)return y;if(a(m),m===kt)return this;let{endo:g}=e;if(!g)return d.unsafeLadder(this,m);let{k1neg:x,k1:v,k2neg:R,k2:E}=g.splitScalar(m),S=y,D=y,I=this;for(;v>Br||E>Br;)v&kt&&(S=S.add(I)),E&kt&&(D=D.add(I)),I=I.double(),v>>=kt,E>>=kt;return x&&(S=S.negate()),R&&(D=D.negate()),D=new l(r.mul(D.px,g.beta),D.py,D.pz),S.add(D)}multiply(m){a(m);let y=m,g,x,{endo:v}=e;if(v){let{k1neg:R,k1:E,k2neg:S,k2:D}=v.splitScalar(y),{p:I,f:F}=this.wNAF(E),{p:K,f:O}=this.wNAF(D);I=d.constTimeNegate(R,I),K=d.constTimeNegate(S,K),K=new l(r.mul(K.px,v.beta),K.py,K.pz),g=I.add(K),x=F.add(O)}else{let{p:R,f:E}=this.wNAF(y);g=R,x=E}return l.normalizeZ([g,x])[0]}multiplyAndAddUnsafe(m,y,g){let x=l.BASE,v=(E,S)=>S===Br||S===kt||!E.equals(x)?E.multiplyUnsafe(S):E.multiply(S),R=v(this,y).add(v(m,g));return R.is0()?void 0:R}toAffine(m){let{px:y,py:g,pz:x}=this,v=this.is0();m==null&&(m=v?r.ONE:r.inv(x));let R=r.mul(y,m),E=r.mul(g,m),S=r.mul(x,m);if(v)return{x:r.ZERO,y:r.ZERO};if(!r.eql(S,r.ONE))throw new Error("invZ was invalid");return{x:R,y:E}}isTorsionFree(){let{h:m,isTorsionFree:y}=e;if(m===kt)return!0;if(y)return y(l,this);throw new Error("isTorsionFree() has not been declared for the elliptic curve")}clearCofactor(){let{h:m,clearCofactor:y}=e;return m===kt?this:y?y(l,this):this.multiplyUnsafe(e.h)}toRawBytes(m=!0){return this.assertValidity(),n(l,this,m)}toHex(m=!0){return Ir(this.toRawBytes(m))}}l.BASE=new l(e.Gx,e.Gy,r.ONE),l.ZERO=new l(r.ZERO,r.ONE,r.ZERO);let p=e.nBitLength,d=ao(l,e.endo?Math.ceil(p/2):p);return{CURVE:e,ProjectivePoint:l,normPrivateKeyToScalar:c,weierstrassEquation:o,isWithinCurveOrder:s}}function rd(t){let e=Fi(t);return ur(e,{hash:"hash",hmac:"function",randomBytes:"function"},{bits2int:"function",bits2int_modN:"function",lowS:"boolean"}),Object.freeze({lowS:!0,...e})}function Hc(t){let e=rd(t),{Fp:r,n}=e,i=r.BYTES+1,o=2*r.BYTES+1;function s(A){return Br<A&&A<r.ORDER}function a(A){return we(A,n)}function c(A){return oo(A,n)}let{ProjectivePoint:u,normPrivateKeyToScalar:f,weierstrassEquation:l,isWithinCurveOrder:p}=td({...e,toBytes(A,P,N){let U=P.toAffine(),C=r.toBytes(U.x),$=Tr;return N?$(Uint8Array.from([P.hasEvenY()?2:3]),C):$(Uint8Array.from([4]),C,r.toBytes(U.y))},fromBytes(A){let P=A.length,N=A[0],U=A.subarray(1);if(P===i&&(N===2||N===3)){let C=Ar(U);if(!s(C))throw new Error("Point is not on curve");let $=l(C),Y=r.sqrt($),X=(Y&kt)===kt;return(N&1)===1!==X&&(Y=r.neg(Y)),{x:C,y:Y}}else if(P===o&&N===4){let C=r.fromBytes(U.subarray(0,r.BYTES)),$=r.fromBytes(U.subarray(r.BYTES,2*r.BYTES));return{x:C,y:$}}else throw new Error(`Point of length ${P} was invalid. Expected ${i} compressed bytes or ${o} uncompressed bytes`)}}),d=A=>Ir(Xr(A,e.nByteLength));function h(A){let P=n>>kt;return A>P}function m(A){return h(A)?a(-A):A}let y=(A,P,N)=>Ar(A.slice(P,N));class g{constructor(P,N,U){this.r=P,this.s=N,this.recovery=U,this.assertValidity()}static fromCompact(P){let N=e.nByteLength;return P=Ue("compactSignature",P,N*2),new g(y(P,0,N),y(P,N,2*N))}static fromDER(P){let{r:N,s:U}=Rn.toSig(Ue("DER",P));return new g(N,U)}assertValidity(){if(!p(this.r))throw new Error("r must be 0 < r < CURVE.n");if(!p(this.s))throw new Error("s must be 0 < s < CURVE.n")}addRecoveryBit(P){return new g(this.r,this.s,P)}recoverPublicKey(P){let{r:N,s:U,recovery:C}=this,$=D(Ue("msgHash",P));if(C==null||![0,1,2,3].includes(C))throw new Error("recovery id invalid");let Y=C===2||C===3?N+e.n:N;if(Y>=r.ORDER)throw new Error("recovery id 2 or 3 invalid");let X=C&1?"03":"02",ie=u.fromHex(X+d(Y)),se=c(Y),xe=a(-$*se),ue=a(U*se),he=u.BASE.multiplyAndAddUnsafe(ie,xe,ue);if(!he)throw new Error("point at infinify");return he.assertValidity(),he}hasHighS(){return h(this.s)}normalizeS(){return this.hasHighS()?new g(this.r,a(-this.s),this.recovery):this}toDERRawBytes(){return bn(this.toDERHex())}toDERHex(){return Rn.hexFromSig({r:this.r,s:this.s})}toCompactRawBytes(){return bn(this.toCompactHex())}toCompactHex(){return d(this.r)+d(this.s)}}let x={isValidPrivateKey(A){try{return f(A),!0}catch{return!1}},normPrivateKeyToScalar:f,randomPrivateKey:()=>{let A=Os(e.n);return X4(e.randomBytes(A),e.n)},precompute(A=8,P=u.BASE){return P._setWindowSize(A),P.multiply(BigInt(3)),P}};function v(A,P=!0){return u.fromPrivateKey(A).toRawBytes(P)}function R(A){let P=A instanceof Uint8Array,N=typeof A=="string",U=(P||N)&&A.length;return P?U===i||U===o:N?U===2*i||U===2*o:A instanceof u}function E(A,P,N=!0){if(R(A))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(A)).toRawBytes(N)}let S=e.bits2int||function(A){let P=Ar(A),N=A.length*8-e.nBitLength;return N>0?P>>BigInt(N):P},D=e.bits2int_modN||function(A){return a(S(A))},I=Oi(e.nBitLength);function F(A){if(typeof A!="bigint")throw new Error("bigint expected");if(!(Br<=A&&A<I))throw new Error(`bigint expected < 2^${e.nBitLength}`);return Xr(A,e.nByteLength)}function K(A,P,N=O){if(["recovered","canonical"].some(De=>De in N))throw new Error("sign() legacy options not supported");let{hash:U,randomBytes:C}=e,{lowS:$,prehash:Y,extraEntropy:X}=N;$==null&&($=!0),A=Ue("msgHash",A),Y&&(A=Ue("prehashed msgHash",U(A)));let ie=D(A),se=f(P),xe=[F(se),F(ie)];if(X!=null){let De=X===!0?C(r.BYTES):X;xe.push(Ue("extraEntropy",De))}let ue=Tr(...xe),he=ie;function Ge(De){let rt=S(De);if(!p(rt))return;let nt=c(rt),We=u.BASE.multiply(rt).toAffine(),ot=a(We.x);if(ot===Br)return;let mr=a(nt*a(he+ot*se));if(mr===Br)return;let hn=(We.x===ot?0:2)|Number(We.y&kt),Ai=mr;return $&&h(mr)&&(Ai=m(mr),hn^=1),new g(ot,Ai,hn)}return{seed:ue,k2sig:Ge}}let O={lowS:e.lowS,prehash:!1},q={lowS:e.lowS,prehash:!1};function Z(A,P,N=O){let{seed:U,k2sig:C}=K(A,P,N),$=e;return Ls($.hash.outputLen,$.nByteLength,$.hmac)(U,C)}u.BASE._setWindowSize(8);function ne(A,P,N,U=q){let C=A;if(P=Ue("msgHash",P),N=Ue("publicKey",N),"strict"in U)throw new Error("options.strict was renamed to lowS");let{lowS:$,prehash:Y}=U,X,ie;try{if(typeof C=="string"||C instanceof Uint8Array)try{X=g.fromDER(C)}catch(We){if(!(We instanceof Rn.Err))throw We;X=g.fromCompact(C)}else if(typeof C=="object"&&typeof C.r=="bigint"&&typeof C.s=="bigint"){let{r:We,s:ot}=C;X=new g(We,ot)}else throw new Error("PARSE");ie=u.fromHex(N)}catch(We){if(We.message==="PARSE")throw new Error("signature must be Signature instance, Uint8Array or hex string");return!1}if($&&X.hasHighS())return!1;Y&&(P=e.hash(P));let{r:se,s:xe}=X,ue=D(P),he=c(xe),Ge=a(ue*he),De=a(se*he),rt=u.BASE.multiplyAndAddUnsafe(ie,Ge,De)?.toAffine();return rt?a(rt.x)===se:!1}return{CURVE:e,getPublicKey:v,getSharedSecret:E,sign:Z,verify:ne,ProjectivePoint:u,Signature:g,utils:x}}var go=class extends Xn{constructor(e,r){super(),this.finished=!1,this.destroyed=!1,M4(e);let n=Ui(r);if(this.iHash=e.create(),typeof this.iHash.update!="function")throw new Error("Expected instance of class which extends utils.Hash");this.blockLen=this.iHash.blockLen,this.outputLen=this.iHash.outputLen;let i=this.blockLen,o=new Uint8Array(i);o.set(n.length>i?e.create().update(n).digest():n);for(let s=0;s<o.length;s++)o[s]^=54;this.iHash.update(o),this.oHash=e.create();for(let s=0;s<o.length;s++)o[s]^=106;this.oHash.update(o),o.fill(0)}update(e){return Zn(this),this.iHash.update(e),this}digestInto(e){Zn(this),Ts(e,this.outputLen),this.finished=!0,this.iHash.digestInto(e),this.oHash.update(e),this.oHash.digestInto(e),this.destroy()}digest(){let e=new Uint8Array(this.oHash.outputLen);return this.digestInto(e),e}_cloneInto(e){e||(e=Object.create(Object.getPrototypeOf(this),{}));let{oHash:r,iHash:n,finished:i,destroyed:o,blockLen:s,outputLen:a}=this;return e=e,e.finished=i,e.destroyed=o,e.blockLen=s,e.outputLen=a,e.oHash=r._cloneInto(e.oHash),e.iHash=n._cloneInto(e.iHash),e}destroy(){this.destroyed=!0,this.oHash.destroy(),this.iHash.destroy()}},fa=(t,e,r)=>new go(t,e).update(r).digest();fa.create=(t,e)=>new go(t,e);function nd(t){return{hash:t,hmac:(e,...r)=>fa(t,e,j0(...r)),randomBytes:Jn}}function Gc(t,e){let r=n=>Hc({...t,...nd(n)});return Object.freeze({...r(e),create:r})}var Wc=BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),Yc=BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),id=BigInt(1),la=BigInt(2),Qc=(t,e)=>(t+e/la)/e;function od(t){let e=Wc,r=BigInt(3),n=BigInt(6),i=BigInt(11),o=BigInt(22),s=BigInt(23),a=BigInt(44),c=BigInt(88),u=t*t*t%e,f=u*u*t%e,l=Pe(f,r,e)*f%e,p=Pe(l,r,e)*f%e,d=Pe(p,la,e)*u%e,h=Pe(d,i,e)*d%e,m=Pe(h,o,e)*h%e,y=Pe(m,a,e)*m%e,g=Pe(y,c,e)*y%e,x=Pe(g,a,e)*m%e,v=Pe(x,r,e)*f%e,R=Pe(v,s,e)*h%e,E=Pe(R,n,e)*u%e,S=Pe(E,la,e);if(!ha.eql(ha.sqr(S),t))throw new Error("Cannot find square root");return S}var ha=so(Wc,void 0,void 0,{sqrt:od}),Pr=Gc({a:BigInt(0),b:BigInt(7),Fp:ha,n:Yc,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),h:BigInt(1),lowS:!0,endo:{beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar:t=>{let e=Yc,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-id*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=Qc(o*t,e),c=Qc(-n*t,e),u=we(t-a*r-c*i,e),f=we(-a*n-c*o,e),l=u>s,p=f>s;if(l&&(u=e-u),p&&(f=e-f),u>s||f>s)throw new Error("splitScalar: Endomorphism failed, k="+t);return{k1neg:l,k1:u,k2neg:p,k2:f}}}},zc),Db=BigInt(0);var kb=Pr.ProjectivePoint;function Zc(){return Pr.utils.randomPrivateKey()}async function Xc(t,e){let{digest:r}=await Ne.digest(e);try{return Pr.sign(r,t).toDERRawBytes()}catch(n){throw new k(String(n),"ERR_INVALID_INPUT")}}async function Jc(t,e,r){try{let{digest:n}=await Ne.digest(r);return Pr.verify(e,n,t)}catch(n){throw new k(String(n),"ERR_INVALID_INPUT")}}function jc(t){return Pr.ProjectivePoint.fromHex(t).toRawBytes(!0)}function eu(t){try{Pr.getPublicKey(t,!0)}catch(e){throw new k(String(e),"ERR_INVALID_PRIVATE_KEY")}}function da(t){try{Pr.ProjectivePoint.fromHex(t)}catch(e){throw new k(String(e),"ERR_INVALID_PUBLIC_KEY")}}function tu(t){try{return Pr.getPublicKey(t,!0)}catch(e){throw new k(String(e),"ERR_INVALID_PRIVATE_KEY")}}var Yi=class{_key;constructor(e){da(e),this._key=e}async verify(e,r){return Jc(this._key,r,e)}marshal(){return jc(this._key)}get bytes(){return $t.encode({Type:Te.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return de(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ne.digest(this.bytes);return e}},Qi=class{_key;_publicKey;constructor(e,r){this._key=e,this._publicKey=r??tu(e),eu(this._key),da(this._publicKey)}async sign(e){return Xc(this._key,e)}get public(){return new Yi(this._publicKey)}marshal(){return this._key}get bytes(){return Ht.encode({Type:Te.Secp256k1,Data:this.marshal()}).subarray()}equals(e){return de(this.bytes,e.bytes)}async hash(){let{bytes:e}=await Ne.digest(this.bytes);return e}async id(){let e=await this.public.hash();return Q(e,"base58btc")}async export(e,r="libp2p-key"){if(r==="libp2p-key")return ri(this.bytes,e);throw new k(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function ad(t){return new Qi(t)}function cd(t){return new Yi(t)}async function ud(){let t=Zc();return new Qi(t)}var fr={rsa:ca,ed25519:ra,secp256k1:pa};function ma(t){let e=Object.keys(fr).join(" / ");return new k(`invalid or unsupported key type ${t}. Must be ${e}`,"ERR_UNSUPPORTED_KEY_TYPE")}function ya(t){if(t=t.toLowerCase(),t==="rsa"||t==="ed25519"||t==="secp256k1")return fr[t];throw ma(t)}async function fd(t,e){return ya(t).generateKeyPair(e??2048)}async function ld(t,e,r){if(t.toLowerCase()!=="ed25519")throw new k("Seed key derivation is unimplemented for RSA or secp256k1","ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return ta(e)}function vo(t){let e=$t.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case Te.RSA:return fr.rsa.unmarshalRsaPublicKey(r);case Te.Ed25519:return fr.ed25519.unmarshalEd25519PublicKey(r);case Te.Secp256k1:return fr.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw ma(e.Type??"unknown")}}function hd(t,e){return e=(e??"rsa").toLowerCase(),ya(e),t.bytes}async function bo(t){let e=Ht.decode(t),r=e.Data??new Uint8Array;switch(e.Type){case Te.RSA:return fr.rsa.unmarshalRsaPrivateKey(r);case Te.Ed25519:return fr.ed25519.unmarshalEd25519PrivateKey(r);case Te.Secp256k1:return fr.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw ma(e.Type??"RSA")}}function dd(t,e){return e=(e??"rsa").toLowerCase(),ya(e),t.bytes}async function pd(t,e){try{let i=await Ec(t,e);return await bo(i)}catch{}let r=xo.default.pki.decryptRsaPrivateKey(t,e);if(r===null)throw new k("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=xo.default.asn1.toDer(xo.default.pki.privateKeyToAsn1(r));return n=ce(n.getBytes(),"ascii"),fr.rsa.unmarshalRsaPrivateKey(n)}var Ua=me(Wi(),1);var iu=(t=21)=>crypto.getRandomValues(new Uint8Array(t)).reduce((e,r)=>(r&=63,r<36?e+=r.toString(36):r<62?e+=(r-26).toString(36).toUpperCase():r>62?e+="-":e+="_",e),"");var Nr="/",ou=new TextEncoder().encode(Nr),Eo=ou[0],lr=class t{_buf;constructor(e,r){if(typeof e=="string")this._buf=ce(e);else if(e instanceof Uint8Array)this._buf=e;else throw new Error("Invalid key, should be String of Uint8Array");if(r==null&&(r=!0),r&&this.clean(),this._buf.byteLength===0||this._buf[0]!==Eo)throw new Error("Invalid key")}toString(e="utf8"){return Q(this._buf,e)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(e){return new t(e.join(Nr))}static random(){return new t(iu().replace(/-/g,""))}static asKey(e){return e instanceof Uint8Array||typeof e=="string"?new t(e):typeof e.uint8Array=="function"?new t(e.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=ou),this._buf[0]!==Eo){let e=new Uint8Array(this._buf.byteLength+1);e.fill(Eo,0,1),e.set(this._buf,1),this._buf=e}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Eo;)this._buf=this._buf.subarray(0,-1)}less(e){let r=this.list(),n=e.list();for(let i=0;i<r.length;i++){if(n.length<i+1)return!1;let o=r[i],s=n[i];if(o<s)return!0;if(o>s)return!1}return r.length<n.length}reverse(){return t.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let e=this.namespaces();return e[e.length-1]}list(){return this.toString().split(Nr).slice(1)}type(){return yd(this.baseNamespace())}name(){return gd(this.baseNamespace())}instance(e){return new t(this.toString()+":"+e)}path(){let e=this.parent().toString();return e.endsWith(Nr)||(e+=Nr),e+=this.type(),new t(e)}parent(){let e=this.list();return e.length===1?new t(Nr):new t(e.slice(0,-1).join(Nr))}child(e){return this.toString()===Nr?e:e.toString()===Nr?this:new t(this.toString()+e.toString(),!1)}isAncestorOf(e){return e.toString()===this.toString()?!1:e.toString().startsWith(this.toString())}isDecendantOf(e){return e.toString()===this.toString()?!1:this.toString().startsWith(e.toString())}isTopLevel(){return this.list().length===1}concat(...e){return t.withNamespaces([...this.namespaces(),...xd(e.map(r=>r.namespaces()))])}};function yd(t){let e=t.split(":");return e.length<2?"":e.slice(0,-1).join(":")}function gd(t){let e=t.split(":");return e[e.length-1]}function xd(t){return[].concat(...t)}var Af=me(xa(),1);var su="ERR_IPNS_EXPIRED_RECORD",Zi="ERR_UNRECOGNIZED_VALIDITY",au="ERR_SIGNATURE_CREATION",Lr="ERR_SIGNATURE_VERIFICATION",cu="ERR_UNRECOGNIZED_FORMAT";var va="ERR_UNDEFINED_PARAMETER",uu="ERR_INVALID_RECORD_DATA",fu="ERR_INVALID_VALUE",lu="ERR_INVALID_EMBEDDED_KEY",hu="ERR_MISSING_PRIVATE_KEY",du="ERR_RECORD_TOO_LARGE";var xt;(function(t){let e;(function(i){i.EOL="EOL"})(e=t.ValidityType||(t.ValidityType={}));let r;(function(i){i[i.EOL=0]="EOL"})(r||(r={})),function(i){i.codec=()=>jr(r)}(e=t.ValidityType||(t.ValidityType={}));let n;t.codec=()=>(n==null&&(n=Dt((i,o,s={})=>{s.lengthDelimited!==!1&&o.fork(),i.value!=null&&(o.uint32(10),o.bytes(i.value)),i.signatureV1!=null&&(o.uint32(18),o.bytes(i.signatureV1)),i.validityType!=null&&(o.uint32(24),t.ValidityType.codec().encode(i.validityType,o)),i.validity!=null&&(o.uint32(34),o.bytes(i.validity)),i.sequence!=null&&(o.uint32(40),o.uint64(i.sequence)),i.ttl!=null&&(o.uint32(48),o.uint64(i.ttl)),i.pubKey!=null&&(o.uint32(58),o.bytes(i.pubKey)),i.signatureV2!=null&&(o.uint32(66),o.bytes(i.signatureV2)),i.data!=null&&(o.uint32(74),o.bytes(i.data)),s.lengthDelimited!==!1&&o.ldelim()},(i,o)=>{let s={},a=o==null?i.len:i.pos+o;for(;i.pos<a;){let c=i.uint32();switch(c>>>3){case 1:s.value=i.bytes();break;case 2:s.signatureV1=i.bytes();break;case 3:s.validityType=t.ValidityType.codec().decode(i);break;case 4:s.validity=i.bytes();break;case 5:s.sequence=i.uint64();break;case 6:s.ttl=i.uint64();break;case 7:s.pubKey=i.bytes();break;case 8:s.signatureV2=i.bytes();break;case 9:s.data=i.bytes();break;default:i.skipType(c&7);break}}return s})),n),t.encode=i=>Lt(i,t.codec()),t.decode=i=>Nt(i,t.codec())})(xt||(xt={}));var vd=["string","number","bigint","symbol"],bd=["Function","Generator","AsyncGenerator","GeneratorFunction","AsyncGeneratorFunction","AsyncFunction","Observable","Array","Buffer","Object","RegExp","Date","Error","Map","Set","WeakMap","WeakSet","ArrayBuffer","SharedArrayBuffer","DataView","Promise","URL","HTMLElement","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"];function pu(t){if(t===null)return"null";if(t===void 0)return"undefined";if(t===!0||t===!1)return"boolean";let e=typeof t;if(vd.includes(e))return e;if(e==="function")return"Function";if(Array.isArray(t))return"Array";if(wd(t))return"Buffer";let r=Ed(t);return r||"Object"}function wd(t){return t&&t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer.call(null,t)}function Ed(t){let e=Object.prototype.toString.call(t).slice(8,-1);if(bd.includes(e))return e}var _=class{constructor(e,r,n){this.major=e,this.majorEncoded=e<<5,this.name=r,this.terminal=n}toString(){return`Type[${this.major}].${this.name}`}compare(e){return this.major<e.major?-1:this.major>e.major?1:0}};_.uint=new _(0,"uint",!0);_.negint=new _(1,"negint",!0);_.bytes=new _(2,"bytes",!0);_.string=new _(3,"string",!0);_.array=new _(4,"array",!1);_.map=new _(5,"map",!1);_.tag=new _(6,"tag",!1);_.float=new _(7,"float",!0);_.false=new _(7,"false",!0);_.true=new _(7,"true",!0);_.null=new _(7,"null",!0);_.undefined=new _(7,"undefined",!0);_.break=new _(7,"break",!0);var H=class{constructor(e,r,n){this.type=e,this.value=r,this.encodedLength=n,this.encodedBytes=void 0,this.byteValue=void 0}toString(){return`Token[${this.type}].${this.value}`}};var ai=globalThis.process&&!globalThis.process.browser&&globalThis.Buffer&&typeof globalThis.Buffer.isBuffer=="function",Sd=new TextDecoder,Id=new TextEncoder;function So(t){return ai&&globalThis.Buffer.isBuffer(t)}function wa(t){return t instanceof Uint8Array?So(t)?new Uint8Array(t.buffer,t.byteOffset,t.byteLength):t:Uint8Array.from(t)}var xu=ai?(t,e,r)=>r-e>64?globalThis.Buffer.from(t.subarray(e,r)).toString("utf8"):yu(t,e,r):(t,e,r)=>r-e>64?Sd.decode(t.subarray(e,r)):yu(t,e,r),vu=ai?t=>t.length>64?globalThis.Buffer.from(t):mu(t):t=>t.length>64?Id.encode(t):mu(t),hr=t=>Uint8Array.from(t),ci=ai?(t,e,r)=>So(t)?new Uint8Array(t.subarray(e,r)):t.slice(e,r):(t,e,r)=>t.slice(e,r),bu=ai?(t,e)=>(t=t.map(r=>r instanceof Uint8Array?r:globalThis.Buffer.from(r)),wa(globalThis.Buffer.concat(t,e))):(t,e)=>{let r=new Uint8Array(e),n=0;for(let i of t)n+i.length>r.length&&(i=i.subarray(0,r.length-n)),r.set(i,n),n+=i.length;return r},wu=ai?t=>globalThis.Buffer.allocUnsafe(t):t=>new Uint8Array(t);function Eu(t,e){if(So(t)&&So(e))return t.compare(e);for(let r=0;r<t.length;r++)if(t[r]!==e[r])return t[r]<e[r]?-1:1;return 0}function mu(t){let e=[],r=0;for(let n=0;n<t.length;n++){let i=t.charCodeAt(n);i<128?e[r++]=i:i<2048?(e[r++]=i>>6|192,e[r++]=i&63|128):(i&64512)===55296&&n+1<t.length&&(t.charCodeAt(n+1)&64512)===56320?(i=65536+((i&1023)<<10)+(t.charCodeAt(++n)&1023),e[r++]=i>>18|240,e[r++]=i>>12&63|128,e[r++]=i>>6&63|128,e[r++]=i&63|128):(e[r++]=i>>12|224,e[r++]=i>>6&63|128,e[r++]=i&63|128)}return e}function yu(t,e,r){let n=[];for(;e<r;){let i=t[e],o=null,s=i>239?4:i>223?3:i>191?2:1;if(e+s<=r){let a,c,u,f;switch(s){case 1:i<128&&(o=i);break;case 2:a=t[e+1],(a&192)===128&&(f=(i&31)<<6|a&63,f>127&&(o=f));break;case 3:a=t[e+1],c=t[e+2],(a&192)===128&&(c&192)===128&&(f=(i&15)<<12|(a&63)<<6|c&63,f>2047&&(f<55296||f>57343)&&(o=f));break;case 4:a=t[e+1],c=t[e+2],u=t[e+3],(a&192)===128&&(c&192)===128&&(u&192)===128&&(f=(i&15)<<18|(a&63)<<12|(c&63)<<6|u&63,f>65535&&f<1114112&&(o=f))}}o===null?(o=65533,s=1):o>65535&&(o-=65536,n.push(o>>>10&1023|55296),o=56320|o&1023),n.push(o),e+=s}return Ad(n)}var gu=4096;function Ad(t){let e=t.length;if(e<=gu)return String.fromCharCode.apply(String,t);let r="",n=0;for(;n<e;)r+=String.fromCharCode.apply(String,t.slice(n,n+=gu));return r}var Td=256,Xi=class{constructor(e=Td){this.chunkSize=e,this.cursor=0,this.maxCursor=-1,this.chunks=[],this._initReuseChunk=null}reset(){this.cursor=0,this.maxCursor=-1,this.chunks.length&&(this.chunks=[]),this._initReuseChunk!==null&&(this.chunks.push(this._initReuseChunk),this.maxCursor=this._initReuseChunk.length-1)}push(e){let r=this.chunks[this.chunks.length-1];if(this.cursor+e.length<=this.maxCursor+1){let i=r.length-(this.maxCursor-this.cursor)-1;r.set(e,i)}else{if(r){let i=r.length-(this.maxCursor-this.cursor)-1;i<r.length&&(this.chunks[this.chunks.length-1]=r.subarray(0,i),this.maxCursor=this.cursor-1)}e.length<64&&e.length<this.chunkSize?(r=wu(this.chunkSize),this.chunks.push(r),this.maxCursor+=r.length,this._initReuseChunk===null&&(this._initReuseChunk=r),r.set(e,0)):(this.chunks.push(e),this.maxCursor+=e.length)}this.cursor+=e.length}toBytes(e=!1){let r;if(this.chunks.length===1){let n=this.chunks[0];e&&this.cursor>n.length/2?(r=this.cursor===n.length?n:n.subarray(0,this.cursor),this._initReuseChunk=null,this.chunks=[]):r=ci(n,0,this.cursor)}else r=bu(this.chunks,this.cursor);return e&&this.reset(),r}};var j="CBOR decode error:",Ea="CBOR encode error:",Ji=[];Ji[23]=1;Ji[24]=2;Ji[25]=3;Ji[26]=5;Ji[27]=9;function Dr(t,e,r){if(t.length-e<r)throw new Error(`${j} not enough data for type`)}var tt=[24,256,65536,4294967296,BigInt("18446744073709551616")];function It(t,e,r){Dr(t,e,1);let n=t[e];if(r.strict===!0&&n<tt[0])throw new Error(`${j} integer encoded in more bytes than necessary (strict decode)`);return n}function At(t,e,r){Dr(t,e,2);let n=t[e]<<8|t[e+1];if(r.strict===!0&&n<tt[1])throw new Error(`${j} integer encoded in more bytes than necessary (strict decode)`);return n}function Tt(t,e,r){Dr(t,e,4);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3];if(r.strict===!0&&n<tt[2])throw new Error(`${j} integer encoded in more bytes than necessary (strict decode)`);return n}function _t(t,e,r){Dr(t,e,8);let n=t[e]*16777216+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3],i=t[e+4]*16777216+(t[e+5]<<16)+(t[e+6]<<8)+t[e+7],o=(BigInt(n)<<BigInt(32))+BigInt(i);if(r.strict===!0&&o<tt[3])throw new Error(`${j} integer encoded in more bytes than necessary (strict decode)`);if(o<=Number.MAX_SAFE_INTEGER)return Number(o);if(r.allowBigInt===!0)return o;throw new Error(`${j} integers outside of the safe integer range are not supported`)}function Su(t,e,r,n){return new H(_.uint,It(t,e+1,n),2)}function Iu(t,e,r,n){return new H(_.uint,At(t,e+1,n),3)}function Au(t,e,r,n){return new H(_.uint,Tt(t,e+1,n),5)}function Tu(t,e,r,n){return new H(_.uint,_t(t,e+1,n),9)}function Ut(t,e){return it(t,0,e.value)}function it(t,e,r){if(r<tt[0]){let n=Number(r);t.push([e|n])}else if(r<tt[1]){let n=Number(r);t.push([e|24,n])}else if(r<tt[2]){let n=Number(r);t.push([e|25,n>>>8,n&255])}else if(r<tt[3]){let n=Number(r);t.push([e|26,n>>>24&255,n>>>16&255,n>>>8&255,n&255])}else{let n=BigInt(r);if(n<tt[4]){let i=[e|27,0,0,0,0,0,0,0],o=Number(n&BigInt(4294967295)),s=Number(n>>BigInt(32)&BigInt(4294967295));i[8]=o&255,o=o>>8,i[7]=o&255,o=o>>8,i[6]=o&255,o=o>>8,i[5]=o&255,i[4]=s&255,s=s>>8,i[3]=s&255,s=s>>8,i[2]=s&255,s=s>>8,i[1]=s&255,t.push(i)}else throw new Error(`${j} encountered BigInt larger than allowable range`)}}Ut.encodedSize=function(e){return it.encodedSize(e.value)};it.encodedSize=function(e){return e<tt[0]?1:e<tt[1]?2:e<tt[2]?3:e<tt[3]?5:9};Ut.compareTokens=function(e,r){return e.value<r.value?-1:e.value>r.value?1:0};function _u(t,e,r,n){return new H(_.negint,-1-It(t,e+1,n),2)}function Cu(t,e,r,n){return new H(_.negint,-1-At(t,e+1,n),3)}function Ru(t,e,r,n){return new H(_.negint,-1-Tt(t,e+1,n),5)}var Sa=BigInt(-1),Bu=BigInt(1);function Pu(t,e,r,n){let i=_t(t,e+1,n);if(typeof i!="bigint"){let o=-1-i;if(o>=Number.MIN_SAFE_INTEGER)return new H(_.negint,o,9)}if(n.allowBigInt!==!0)throw new Error(`${j} integers outside of the safe integer range are not supported`);return new H(_.negint,Sa-BigInt(i),9)}function Io(t,e){let r=e.value,n=typeof r=="bigint"?r*Sa-Bu:r*-1-1;it(t,e.type.majorEncoded,n)}Io.encodedSize=function(e){let r=e.value,n=typeof r=="bigint"?r*Sa-Bu:r*-1-1;return n<tt[0]?1:n<tt[1]?2:n<tt[2]?3:n<tt[3]?5:9};Io.compareTokens=function(e,r){return e.value<r.value?1:e.value>r.value?-1:0};function ji(t,e,r,n){Dr(t,e,r+n);let i=ci(t,e+r,e+r+n);return new H(_.bytes,i,r+n)}function Nu(t,e,r,n){return ji(t,e,1,r)}function Lu(t,e,r,n){return ji(t,e,2,It(t,e+1,n))}function Du(t,e,r,n){return ji(t,e,3,At(t,e+1,n))}function ku(t,e,r,n){return ji(t,e,5,Tt(t,e+1,n))}function Uu(t,e,r,n){let i=_t(t,e+1,n);if(typeof i=="bigint")throw new Error(`${j} 64-bit integer bytes lengths not supported`);return ji(t,e,9,i)}function Ao(t){return t.encodedBytes===void 0&&(t.encodedBytes=t.type===_.string?vu(t.value):t.value),t.encodedBytes}function ui(t,e){let r=Ao(e);it(t,e.type.majorEncoded,r.length),t.push(r)}ui.encodedSize=function(e){let r=Ao(e);return it.encodedSize(r.length)+r.length};ui.compareTokens=function(e,r){return Cd(Ao(e),Ao(r))};function Cd(t,e){return t.length<e.length?-1:t.length>e.length?1:Eu(t,e)}function e0(t,e,r,n,i){let o=r+n;Dr(t,e,o);let s=new H(_.string,xu(t,e+r,e+o),o);return i.retainStringBytes===!0&&(s.byteValue=ci(t,e+r,e+o)),s}function Ou(t,e,r,n){return e0(t,e,1,r,n)}function Fu(t,e,r,n){return e0(t,e,2,It(t,e+1,n),n)}function Mu(t,e,r,n){return e0(t,e,3,At(t,e+1,n),n)}function Ku(t,e,r,n){return e0(t,e,5,Tt(t,e+1,n),n)}function Vu(t,e,r,n){let i=_t(t,e+1,n);if(typeof i=="bigint")throw new Error(`${j} 64-bit integer string lengths not supported`);return e0(t,e,9,i,n)}var qu=ui;function fi(t,e,r,n){return new H(_.array,n,r)}function zu(t,e,r,n){return fi(t,e,1,r)}function $u(t,e,r,n){return fi(t,e,2,It(t,e+1,n))}function Hu(t,e,r,n){return fi(t,e,3,At(t,e+1,n))}function Gu(t,e,r,n){return fi(t,e,5,Tt(t,e+1,n))}function Yu(t,e,r,n){let i=_t(t,e+1,n);if(typeof i=="bigint")throw new Error(`${j} 64-bit integer array lengths not supported`);return fi(t,e,9,i)}function Qu(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${j} indefinite length items not allowed`);return fi(t,e,1,1/0)}function To(t,e){it(t,_.array.majorEncoded,e.value)}To.compareTokens=Ut.compareTokens;To.encodedSize=function(e){return it.encodedSize(e.value)};function li(t,e,r,n){return new H(_.map,n,r)}function Wu(t,e,r,n){return li(t,e,1,r)}function Zu(t,e,r,n){return li(t,e,2,It(t,e+1,n))}function Xu(t,e,r,n){return li(t,e,3,At(t,e+1,n))}function Ju(t,e,r,n){return li(t,e,5,Tt(t,e+1,n))}function ju(t,e,r,n){let i=_t(t,e+1,n);if(typeof i=="bigint")throw new Error(`${j} 64-bit integer map lengths not supported`);return li(t,e,9,i)}function ef(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${j} indefinite length items not allowed`);return li(t,e,1,1/0)}function _o(t,e){it(t,_.map.majorEncoded,e.value)}_o.compareTokens=Ut.compareTokens;_o.encodedSize=function(e){return it.encodedSize(e.value)};function tf(t,e,r,n){return new H(_.tag,r,1)}function rf(t,e,r,n){return new H(_.tag,It(t,e+1,n),2)}function nf(t,e,r,n){return new H(_.tag,At(t,e+1,n),3)}function of(t,e,r,n){return new H(_.tag,Tt(t,e+1,n),5)}function sf(t,e,r,n){return new H(_.tag,_t(t,e+1,n),9)}function Co(t,e){it(t,_.tag.majorEncoded,e.value)}Co.compareTokens=Ut.compareTokens;Co.encodedSize=function(e){return it.encodedSize(e.value)};var Dd=20,kd=21,Ud=22,Od=23;function af(t,e,r,n){if(n.allowUndefined===!1)throw new Error(`${j} undefined values are not supported`);return n.coerceUndefinedToNull===!0?new H(_.null,null,1):new H(_.undefined,void 0,1)}function cf(t,e,r,n){if(n.allowIndefinite===!1)throw new Error(`${j} indefinite length items not allowed`);return new H(_.break,void 0,1)}function Ia(t,e,r){if(r){if(r.allowNaN===!1&&Number.isNaN(t))throw new Error(`${j} NaN values are not supported`);if(r.allowInfinity===!1&&(t===1/0||t===-1/0))throw new Error(`${j} Infinity values are not supported`)}return new H(_.float,t,e)}function uf(t,e,r,n){return Ia(Aa(t,e+1),3,n)}function ff(t,e,r,n){return Ia(Ta(t,e+1),5,n)}function lf(t,e,r,n){return Ia(mf(t,e+1),9,n)}function Ro(t,e,r){let n=e.value;if(n===!1)t.push([_.float.majorEncoded|Dd]);else if(n===!0)t.push([_.float.majorEncoded|kd]);else if(n===null)t.push([_.float.majorEncoded|Ud]);else if(n===void 0)t.push([_.float.majorEncoded|Od]);else{let i,o=!1;(!r||r.float64!==!0)&&(df(n),i=Aa(Yt,1),n===i||Number.isNaN(n)?(Yt[0]=249,t.push(Yt.slice(0,3)),o=!0):(pf(n),i=Ta(Yt,1),n===i&&(Yt[0]=250,t.push(Yt.slice(0,5)),o=!0))),o||(Fd(n),i=mf(Yt,1),Yt[0]=251,t.push(Yt.slice(0,9)))}}Ro.encodedSize=function(e,r){let n=e.value;if(n===!1||n===!0||n===null||n===void 0)return 1;if(!r||r.float64!==!0){df(n);let i=Aa(Yt,1);if(n===i||Number.isNaN(n))return 3;if(pf(n),i=Ta(Yt,1),n===i)return 5}return 9};var hf=new ArrayBuffer(9),Ot=new DataView(hf,1),Yt=new Uint8Array(hf,0);function df(t){if(t===1/0)Ot.setUint16(0,31744,!1);else if(t===-1/0)Ot.setUint16(0,64512,!1);else if(Number.isNaN(t))Ot.setUint16(0,32256,!1);else{Ot.setFloat32(0,t);let e=Ot.getUint32(0),r=(e&2139095040)>>23,n=e&8388607;if(r===255)Ot.setUint16(0,31744,!1);else if(r===0)Ot.setUint16(0,(t&2147483648)>>16|n>>13,!1);else{let i=r-127;i<-24?Ot.setUint16(0,0):i<-14?Ot.setUint16(0,(e&2147483648)>>16|1<<24+i,!1):Ot.setUint16(0,(e&2147483648)>>16|i+15<<10|n>>13,!1)}}}function Aa(t,e){if(t.length-e<2)throw new Error(`${j} not enough data for float16`);let r=(t[e]<<8)+t[e+1];if(r===31744)return 1/0;if(r===64512)return-1/0;if(r===32256)return NaN;let n=r>>10&31,i=r&1023,o;return n===0?o=i*2**-24:n!==31?o=(i+1024)*2**(n-25):o=i===0?1/0:NaN,r&32768?-o:o}function pf(t){Ot.setFloat32(0,t,!1)}function Ta(t,e){if(t.length-e<4)throw new Error(`${j} not enough data for float32`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,4).getFloat32(0,!1)}function Fd(t){Ot.setFloat64(0,t,!1)}function mf(t,e){if(t.length-e<8)throw new Error(`${j} not enough data for float64`);let r=(t.byteOffset||0)+e;return new DataView(t.buffer,r,8).getFloat64(0,!1)}Ro.compareTokens=Ut.compareTokens;function pe(t,e,r){throw new Error(`${j} encountered invalid minor (${r}) for major ${t[e]>>>5}`)}function Bo(t){return()=>{throw new Error(`${j} ${t}`)}}var M=[];for(let t=0;t<=23;t++)M[t]=pe;M[24]=Su;M[25]=Iu;M[26]=Au;M[27]=Tu;M[28]=pe;M[29]=pe;M[30]=pe;M[31]=pe;for(let t=32;t<=55;t++)M[t]=pe;M[56]=_u;M[57]=Cu;M[58]=Ru;M[59]=Pu;M[60]=pe;M[61]=pe;M[62]=pe;M[63]=pe;for(let t=64;t<=87;t++)M[t]=Nu;M[88]=Lu;M[89]=Du;M[90]=ku;M[91]=Uu;M[92]=pe;M[93]=pe;M[94]=pe;M[95]=Bo("indefinite length bytes/strings are not supported");for(let t=96;t<=119;t++)M[t]=Ou;M[120]=Fu;M[121]=Mu;M[122]=Ku;M[123]=Vu;M[124]=pe;M[125]=pe;M[126]=pe;M[127]=Bo("indefinite length bytes/strings are not supported");for(let t=128;t<=151;t++)M[t]=zu;M[152]=$u;M[153]=Hu;M[154]=Gu;M[155]=Yu;M[156]=pe;M[157]=pe;M[158]=pe;M[159]=Qu;for(let t=160;t<=183;t++)M[t]=Wu;M[184]=Zu;M[185]=Xu;M[186]=Ju;M[187]=ju;M[188]=pe;M[189]=pe;M[190]=pe;M[191]=ef;for(let t=192;t<=215;t++)M[t]=tf;M[216]=rf;M[217]=nf;M[218]=of;M[219]=sf;M[220]=pe;M[221]=pe;M[222]=pe;M[223]=pe;for(let t=224;t<=243;t++)M[t]=Bo("simple values are not supported");M[244]=pe;M[245]=pe;M[246]=pe;M[247]=af;M[248]=Bo("simple values are not supported");M[249]=uf;M[250]=ff;M[251]=lf;M[252]=pe;M[253]=pe;M[254]=pe;M[255]=cf;var Qt=[];for(let t=0;t<24;t++)Qt[t]=new H(_.uint,t,1);for(let t=-1;t>=-24;t--)Qt[31-t]=new H(_.negint,t,1);Qt[64]=new H(_.bytes,new Uint8Array(0),1);Qt[96]=new H(_.string,"",1);Qt[128]=new H(_.array,0,1);Qt[160]=new H(_.map,0,1);Qt[244]=new H(_.false,!1,1);Qt[245]=new H(_.true,!0,1);Qt[246]=new H(_.null,null,1);function yf(t){switch(t.type){case _.false:return hr([244]);case _.true:return hr([245]);case _.null:return hr([246]);case _.bytes:return t.value.length?void 0:hr([64]);case _.string:return t.value===""?hr([96]):void 0;case _.array:return t.value===0?hr([128]):void 0;case _.map:return t.value===0?hr([160]):void 0;case _.uint:return t.value<24?hr([Number(t.value)]):void 0;case _.negint:if(t.value>=-24)return hr([31-Number(t.value)])}}var Kd={float64:!1,mapSorter:zd,quickEncodeToken:yf};function Vd(){let t=[];return t[_.uint.major]=Ut,t[_.negint.major]=Io,t[_.bytes.major]=ui,t[_.string.major]=qu,t[_.array.major]=To,t[_.map.major]=_o,t[_.tag.major]=Co,t[_.float.major]=Ro,t}var gf=Vd(),_a=new Xi,No=class t{constructor(e,r){this.obj=e,this.parent=r}includes(e){let r=this;do if(r.obj===e)return!0;while(r=r.parent);return!1}static createCheck(e,r){if(e&&e.includes(r))throw new Error(`${Ea} object contains circular references`);return new t(r,e)}},rn={null:new H(_.null,null),undefined:new H(_.undefined,void 0),true:new H(_.true,!0),false:new H(_.false,!1),emptyArray:new H(_.array,0),emptyMap:new H(_.map,0)},nn={number(t,e,r,n){return!Number.isInteger(t)||!Number.isSafeInteger(t)?new H(_.float,t):t>=0?new H(_.uint,t):new H(_.negint,t)},bigint(t,e,r,n){return t>=BigInt(0)?new H(_.uint,t):new H(_.negint,t)},Uint8Array(t,e,r,n){return new H(_.bytes,t)},string(t,e,r,n){return new H(_.string,t)},boolean(t,e,r,n){return t?rn.true:rn.false},null(t,e,r,n){return rn.null},undefined(t,e,r,n){return rn.undefined},ArrayBuffer(t,e,r,n){return new H(_.bytes,new Uint8Array(t))},DataView(t,e,r,n){return new H(_.bytes,new Uint8Array(t.buffer,t.byteOffset,t.byteLength))},Array(t,e,r,n){if(!t.length)return r.addBreakTokens===!0?[rn.emptyArray,new H(_.break)]:rn.emptyArray;n=No.createCheck(n,t);let i=[],o=0;for(let s of t)i[o++]=Po(s,r,n);return r.addBreakTokens?[new H(_.array,t.length),i,new H(_.break)]:[new H(_.array,t.length),i]},Object(t,e,r,n){let i=e!=="Object",o=i?t.keys():Object.keys(t),s=i?t.size:o.length;if(!s)return r.addBreakTokens===!0?[rn.emptyMap,new H(_.break)]:rn.emptyMap;n=No.createCheck(n,t);let a=[],c=0;for(let u of o)a[c++]=[Po(u,r,n),Po(i?t.get(u):t[u],r,n)];return qd(a,r),r.addBreakTokens?[new H(_.map,s),a,new H(_.break)]:[new H(_.map,s),a]}};nn.Map=nn.Object;nn.Buffer=nn.Uint8Array;for(let t of"Uint8Clamped Uint16 Uint32 Int8 Int16 Int32 BigUint64 BigInt64 Float32 Float64".split(" "))nn[`${t}Array`]=nn.DataView;function Po(t,e={},r){let n=pu(t),i=e&&e.typeEncoders&&e.typeEncoders[n]||nn[n];if(typeof i=="function"){let s=i(t,n,e,r);if(s!=null)return s}let o=nn[n];if(!o)throw new Error(`${Ea} unsupported type: ${n}`);return o(t,n,e,r)}function qd(t,e){e.mapSorter&&t.sort(e.mapSorter)}function zd(t,e){let r=Array.isArray(t[0])?t[0][0]:t[0],n=Array.isArray(e[0])?e[0][0]:e[0];if(r.type!==n.type)return r.type.compare(n.type);let i=r.type.major,o=gf[i].compareTokens(r,n);return o===0&&console.warn("WARNING: complex key types used, CBOR key sorting guarantees are gone"),o}function xf(t,e,r,n){if(Array.isArray(e))for(let i of e)xf(t,i,r,n);else r[e.type.major](t,e,n)}function $d(t,e,r){let n=Po(t,r);if(!Array.isArray(n)&&r.quickEncodeToken){let i=r.quickEncodeToken(n);if(i)return i;let o=e[n.type.major];if(o.encodedSize){let s=o.encodedSize(n,r),a=new Xi(s);if(o(a,n,r),a.chunks.length!==1)throw new Error(`Unexpected error: pre-calculated length for ${n} was wrong`);return wa(a.chunks[0])}}return _a.reset(),xf(_a,n,e,r),_a.toBytes(!0)}function Ca(t,e){return e=Object.assign({},Kd,e),$d(t,gf,e)}var Hd={strict:!1,allowIndefinite:!0,allowUndefined:!0,allowBigInt:!0},Ra=class{constructor(e,r={}){this._pos=0,this.data=e,this.options=r}pos(){return this._pos}done(){return this._pos>=this.data.length}next(){let e=this.data[this._pos],r=Qt[e];if(r===void 0){let n=M[e];if(!n)throw new Error(`${j} no decoder for major type ${e>>>5} (byte 0x${e.toString(16).padStart(2,"0")})`);let i=e&31;r=n(this.data,this._pos,i,this.options)}return this._pos+=r.encodedLength,r}},t0=Symbol.for("DONE"),Lo=Symbol.for("BREAK");function Gd(t,e,r){let n=[];for(let i=0;i<t.value;i++){let o=r0(e,r);if(o===Lo){if(t.value===1/0)break;throw new Error(`${j} got unexpected break to lengthed array`)}if(o===t0)throw new Error(`${j} found array but not enough entries (got ${i}, expected ${t.value})`);n[i]=o}return n}function Yd(t,e,r){let n=r.useMaps===!0,i=n?void 0:{},o=n?new Map:void 0;for(let s=0;s<t.value;s++){let a=r0(e,r);if(a===Lo){if(t.value===1/0)break;throw new Error(`${j} got unexpected break to lengthed map`)}if(a===t0)throw new Error(`${j} found map but not enough entries (got ${s} [no key], expected ${t.value})`);if(n!==!0&&typeof a!="string")throw new Error(`${j} non-string keys not supported (got ${typeof a})`);if(r.rejectDuplicateMapKeys===!0&&(n&&o.has(a)||!n&&a in i))throw new Error(`${j} found repeat map key "${a}"`);let c=r0(e,r);if(c===t0)throw new Error(`${j} found map but not enough entries (got ${s} [no value], expected ${t.value})`);n?o.set(a,c):i[a]=c}return n?o:i}function r0(t,e){if(t.done())return t0;let r=t.next();if(r.type===_.break)return Lo;if(r.type.terminal)return r.value;if(r.type===_.array)return Gd(r,t,e);if(r.type===_.map)return Yd(r,t,e);if(r.type===_.tag){if(e.tags&&typeof e.tags[r.value]=="function"){let n=r0(t,e);return e.tags[r.value](n)}throw new Error(`${j} tag not supported (${r.value})`)}throw new Error("unsupported")}function vf(t,e){if(!(t instanceof Uint8Array))throw new Error(`${j} data to decode must be a Uint8Array`);e=Object.assign({},Hd,e);let r=e.tokenizer||new Ra(t,e),n=r0(r,e);if(n===t0)throw new Error(`${j} did not find any content to decode`);if(n===Lo)throw new Error(`${j} got unexpected break`);return[n,t.subarray(r.pos())]}function Ba(t,e){let[r,n]=vf(t,e);if(n.length>0)throw new Error(`${j} too many terminals, data makes no sense`);return r}var dt=me(Wi(),1);var bf=me(xa(),1);var Pa=J("ipns:utils"),wf=ce("/ipns/"),Wd=114;function Zd(t){let e=new RegExp("(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d+)Z"),r=String(t).trim().match(e);if(r==null)throw new Error("Invalid format");let n=parseInt(r[1],10),i=parseInt(r[2],10)-1,o=parseInt(r[3],10),s=parseInt(r[4],10),a=parseInt(r[5],10),c=parseInt(r[6],10),u=parseInt(r[7].padEnd(6,"0").slice(0,3),10);return new Date(Date.UTC(n,i,o,s,a,c,u))}var Na=async(t,e)=>{if(e==null||t==null){let n=new Error("one or more of the provided parameters are not defined");throw Pa.error(n),(0,dt.default)(n,va)}let r;if(e.pubKey!=null){try{r=vo(e.pubKey)}catch(i){throw Pa.error(i),i}if(!(await B0(e.pubKey)).equals(t))throw(0,dt.default)(new Error("Embedded public key did not match PeerID"),lu)}else t.publicKey!=null&&(r=vo(t.publicKey));if(r!=null)return r;throw(0,dt.default)(new Error("no public key is available"),va)},Ef=(t,e,r)=>{let n=ce(e);return be([t,r,n])},Do=t=>{let e=ce("ipns-signature:");return be([e,t])},La=t=>"signatureV1"in t?xt.encode({value:ce(t.value),signatureV1:t.signatureV1,validityType:t.validityType,validity:ce(t.validity.toString()),sequence:t.sequence,ttl:t.ttl,pubKey:t.pubKey,signatureV2:t.signatureV2,data:t.data}):xt.encode({pubKey:t.pubKey,signatureV2:t.signatureV2,data:t.data});function kr(t){let e=xt.decode(t);if(e.sequence!=null&&(e.sequence=BigInt(e.sequence)),e.ttl!=null&&(e.ttl=BigInt(e.ttl)),e.signatureV2==null||e.data==null)throw(0,dt.default)(new Error("missing data or signatureV2"),Lr);let r=If(e.data),n=ka(r.Value),i;try{i=bf.default.fromDate(Zd(Q(r.Validity)))}catch{throw Pa.error("unrecognized validity format (not an rfc3339 format)"),(0,dt.default)(new Error("unrecognized validity format (not an rfc3339 format)"),cu)}if(e.value!=null&&e.signatureV1!=null)return Xd(e),{value:n,validityType:xt.ValidityType.EOL,validity:i,sequence:r.Sequence,ttl:r.TTL,pubKey:e.pubKey,signatureV1:e.signatureV1,signatureV2:e.signatureV2,data:e.data};if(e.signatureV2!=null)return{value:n,validityType:xt.ValidityType.EOL,validity:i,sequence:r.Sequence,ttl:r.TTL,pubKey:e.pubKey,signatureV2:e.signatureV2,data:e.data};throw new Error("invalid record: does not include signatureV1 or signatureV2")}var ko=t=>be([wf,t.toBytes()]),Da=t=>xr(t.slice(wf.length)),Sf=(t,e,r,n,i)=>{let o;if(r===xt.ValidityType.EOL)o=0;else throw(0,dt.default)(new Error("Unknown validity type"),Zi);return Ca({Value:t,Validity:e,ValidityType:o,Sequence:n,TTL:i})},If=t=>{let e=Ba(t);if(e.ValidityType===0)e.ValidityType=xt.ValidityType.EOL;else throw(0,dt.default)(new Error("Unknown validity type"),Zi);return Number.isInteger(e.Sequence)&&(e.Sequence=BigInt(e.Sequence)),Number.isInteger(e.TTL)&&(e.TTL=BigInt(e.TTL)),e},ka=t=>{if(t!=null){if(s3(t))return`/ipns/${t.toCID().toString(C0)}`;if(t instanceof Uint8Array){let n=Q(t);n.startsWith("/")&&(t=n)}let e=t.toString().trim();if(e.startsWith("/")&&e.length>1)return e;let r=Me.asCID(t);if(r!=null)return r.code===Wd?`/ipns/${r.toString(C0)}`:`/ipfs/${r.toV1().toString()}`;try{return t instanceof Uint8Array?`/ipfs/${Me.decode(t).toV1().toString()}`:`/ipfs/${Me.parse(e).toV1().toString()}`}catch{}}throw(0,dt.default)(new Error("Value must be a valid content path starting with /"),fu)},Xd=t=>{if(t.data==null)throw(0,dt.default)(new Error("Record data is missing"),uu);let e=If(t.data);if(!de(e.Value,t.value??new Uint8Array(0)))throw(0,dt.default)(new Error('Field "value" did not match between protobuf and CBOR'),Lr);if(!de(e.Validity,t.validity??new Uint8Array(0)))throw(0,dt.default)(new Error('Field "validity" did not match between protobuf and CBOR'),Lr);if(e.ValidityType!==t.validityType)throw(0,dt.default)(new Error('Field "validityType" did not match between protobuf and CBOR'),Lr);if(e.Sequence!==t.sequence)throw(0,dt.default)(new Error('Field "sequence" did not match between protobuf and CBOR'),Lr);if(e.TTL!==t.ttl)throw(0,dt.default)(new Error('Field "ttl" did not match between protobuf and CBOR'),Lr)};var Jd=J("ipns"),jd=rr.code,ep="/ipns/",TE=ep.length,Tf={v1Compatible:!0};async function _f(t,e,r,n,i=Tf){let o=new Af.default(Date.now()+Number(n)),s=xt.ValidityType.EOL,[a,c]=n.toString().split("."),u=BigInt(a)*BigInt(1e5)+BigInt(c??"0");return tp(t,e,r,s,o,u,i)}var tp=async(t,e,r,n,i,o,s=Tf)=>{r=BigInt(r);let a=ce(i.toString()),c=ka(e),u=ce(c);if(t.privateKey==null)throw(0,Ua.default)(new Error("Missing private key"),hu);let f=await bo(t.privateKey),l=Sf(u,a,n,r,o),p=Do(l),d=await f.sign(p),h;if(t.publicKey!=null){let m=gr(t.toBytes());(m.code!==jd||!de(t.publicKey,m.digest))&&(h=t.publicKey)}if(s.v1Compatible===!0){let m=await rp(f,u,n,a),y={value:c,signatureV1:m,validity:i,validityType:n,sequence:r,ttl:o,signatureV2:d,data:l};return h!=null&&(y.pubKey=h),y}else{let m={value:c,validity:i,validityType:n,sequence:r,ttl:o,signatureV2:d,data:l};return h!=null&&(m.pubKey=h),m}};var rp=async(t,e,r,n)=>{try{let i=Ef(e,r,n);return await t.sign(i)}catch(i){throw Jd.error("record signature creation failed",i),(0,Ua.default)(new Error("record signature creation failed"),au)}};function Uo(t,e){let r=e.map((n,i)=>({record:kr(n),index:i}));return r.sort((n,i)=>{let o=n.record.sequence,s=i.record.sequence;if(o>s)return-1;if(o<s)return 1;let a=n.record.validity.toDate(),c=i.record.validity.toDate();return a.getTime()>c.getTime()?-1:a.getTime()<c.getTime()?1:0}),r[0].index}var n0=me(Wi(),1);var Oo=J("ipns:validator"),np=1024*10,ip=async(t,e)=>{let r=kr(e),n;try{let i=Do(r.data);n=await t.verify(i,r.signatureV2)}catch{n=!1}if(!n)throw Oo.error("record signature verification failed"),(0,n0.default)(new Error("record signature verification failed"),Lr);if(r.validityType===xt.ValidityType.EOL){if(r.validity.toDate().getTime()<Date.now())throw Oo.error("record has expired"),(0,n0.default)(new Error("record has expired"),su)}else if(r.validityType!=null)throw Oo.error("unrecognized validity type"),(0,n0.default)(new Error("unrecognized validity type"),Zi);Oo("ipns record for %b is valid",r.value)};async function Oa(t,e){if(e.byteLength>np)throw(0,n0.default)(new Error("record too large"),du);let r=Da(t),n=kr(e),i=await Na(r,n);await ip(i,e)}var dr=class extends Event{constructor(e,r){super(e),this.detail=r}};var Cf=Symbol.for("@libp2p/content-routing");var at=class extends EventTarget{#e=new Map;listenerCount(e){let r=this.#e.get(e);return r==null?0:r.length}addEventListener(e,r,n){super.addEventListener(e,r,n);let i=this.#e.get(e);i==null&&(i=[],this.#e.set(e,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(e,r,n){super.removeEventListener(e.toString(),r??null,n);let i=this.#e.get(e);i!=null&&(i=i.filter(({callback:o})=>o!==r),this.#e.set(e,i))}dispatchEvent(e){let r=super.dispatchEvent(e),n=this.#e.get(e.type);return n==null||(n=n.filter(({once:i})=>!i),this.#e.set(e.type,n)),r}safeDispatchEvent(e,r){return this.dispatchEvent(new qe(e,r))}},Fa=class extends Event{detail;constructor(e,r){super(e,r),this.detail=r?.detail}},qe=globalThis.CustomEvent??Fa;var Rf=Symbol.for("@libp2p/peer-discovery");var Bf=Symbol.for("@libp2p/peer-routing");function op(t){return t[Symbol.asyncIterator]!=null}function sp(t){if(op(t))return(async()=>{for await(let e of t);})();for(let e of t);}var i0=sp;function ct(){let t={};return t.promise=new Promise((e,r)=>{t.resolve=e,t.reject=r}),t}var Fo=class{buffer;mask;top;btm;next;constructor(e){if(!(e>0)||e-1&e)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(e),this.mask=e-1,this.top=0,this.btm=0,this.next=null}push(e){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=e,this.top=this.top+1&this.mask,!0)}shift(){let e=this.buffer[this.btm];if(e!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,e}isEmpty(){return this.buffer[this.btm]===void 0}},hi=class{size;hwm;head;tail;constructor(e={}){this.hwm=e.splitLimit??16,this.head=new Fo(this.hwm),this.tail=this.head,this.size=0}calculateSize(e){return e?.byteLength!=null?e.byteLength:1}push(e){if(e?.value!=null&&(this.size+=this.calculateSize(e.value)),!this.head.push(e)){let r=this.head;this.head=r.next=new Fo(2*this.head.buffer.length),this.head.push(e)}}shift(){let e=this.tail.shift();if(e===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,e=this.tail.shift()}return e?.value!=null&&(this.size-=this.calculateSize(e.value)),e}isEmpty(){return this.head.isEmpty()}};var Ma=class extends Error{type;code;constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function Mo(t={}){return ap(r=>{let n=r.shift();if(n==null)return{done:!0};if(n.error!=null)throw n.error;return{done:n.done===!0,value:n.value}},t)}function ap(t,e){e=e??{};let r=e.onEnd,n=new hi,i,o,s,a=ct(),c=async()=>{try{return n.isEmpty()?s?{done:!0}:await new Promise((y,g)=>{o=x=>{o=null,n.push(x);try{y(t(n))}catch(v){g(v)}return i}}):t(n)}finally{n.isEmpty()&&queueMicrotask(()=>{a.resolve(),a=ct()})}},u=y=>o!=null?o(y):(n.push(y),i),f=y=>(n=new hi,o!=null?o({error:y}):(n.push({error:y}),i)),l=y=>{if(s)return i;if(e?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return u({done:!1,value:y})},p=y=>s?i:(s=!0,y!=null?f(y):u({done:!0})),d=()=>(n=new hi,p(),{done:!0}),h=y=>(p(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:c,return:d,throw:h,push:l,end:p,get readableLength(){return n.size},onEmpty:async y=>{let g=y?.signal;if(g?.throwIfAborted(),n.isEmpty())return;let x,v;g!=null&&(x=new Promise((R,E)=>{v=()=>{E(new Ma)},g.addEventListener("abort",v)}));try{await Promise.race([a.promise,x])}finally{v!=null&&g!=null&&g?.removeEventListener("abort",v)}}},r==null)return i;let m=i;return i={[Symbol.asyncIterator](){return this},next(){return m.next()},throw(y){return m.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return m.return(),r!=null&&(r(),r=void 0),{done:!0}},push:l,end(y){return m.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return m.readableLength}},i}function cp(t){return t[Symbol.asyncIterator]!=null}function up(...t){let e=[];for(let r of t)cp(r)||e.push(r);return e.length===t.length?function*(){for(let r of e)yield*r}():async function*(){let r=Mo({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(t.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var Wt=up;var Kf=me(Pf(),1);var Nf="[a-fA-F\\d:]",on=t=>t&&t.includeBoundaries?`(?:(?<=\\s|^)(?=${Nf})|(?<=${Nf})(?=\\s|$))`:"",Zt="(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}",Qe="[a-fA-F\\d]{1,4}",Ko=`
17
+ (?:
18
+ (?:${Qe}:){7}(?:${Qe}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
19
+ (?:${Qe}:){6}(?:${Zt}|:${Qe}|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4
20
+ (?:${Qe}:){5}(?::${Zt}|(?::${Qe}){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4
21
+ (?:${Qe}:){4}(?:(?::${Qe}){0,1}:${Zt}|(?::${Qe}){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4
22
+ (?:${Qe}:){3}(?:(?::${Qe}){0,2}:${Zt}|(?::${Qe}){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4
23
+ (?:${Qe}:){2}(?:(?::${Qe}){0,3}:${Zt}|(?::${Qe}){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4
24
+ (?:${Qe}:){1}(?:(?::${Qe}){0,4}:${Zt}|(?::${Qe}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
25
+ (?::(?:(?::${Qe}){0,5}:${Zt}|(?::${Qe}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
26
+ )(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
27
+ `.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),fp=new RegExp(`(?:^${Zt}$)|(?:^${Ko}$)`),lp=new RegExp(`^${Zt}$`),hp=new RegExp(`^${Ko}$`),Ka=t=>t&&t.exact?fp:new RegExp(`(?:${on(t)}${Zt}${on(t)})|(?:${on(t)}${Ko}${on(t)})`,"g");Ka.v4=t=>t&&t.exact?lp:new RegExp(`${on(t)}${Zt}${on(t)}`,"g");Ka.v6=t=>t&&t.exact?hp:new RegExp(`${on(t)}${Ko}${on(t)}`,"g");var Lf=Ka;var Vo=class{index=0;input="";new(e){return this.index=0,this.input=e,this}readAtomically(e){let r=this.index,n=e();return n===void 0&&(this.index=r),n}parseWith(e){let r=e();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(e){return this.readAtomically(()=>{let r=this.readChar();if(r===e)return r})}readSeparator(e,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(e)===void 0))return n()})}readNumber(e,r,n,i){return this.readAtomically(()=>{let o=0,s=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 p=Number.parseInt(l,e);if(!Number.isNaN(p))return p});if(f===void 0)break;if(o*=e,o+=f,o>u||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&c&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let e=new Uint8Array(4);for(let r=0;r<e.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;e[r]=n}return e})}readIPv6Addr(){let e=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let s=this.readSeparator(":",n,()=>this.readIPv4Addr());if(s!==void 0)return r[i]=s[0],r[i+1]=s[1],r[i+2]=s[2],r[i+3]=s[3],[i+4,!0]}let o=this.readSeparator(":",n,()=>this.readNumber(16,4,!0,2));if(o===void 0)return[i,!1];r[i]=o>>8,r[i+1]=o&255}return[r.length,!1]};return this.readAtomically(()=>{let r=new Uint8Array(16),[n,i]=e(r);if(n===16)return r;if(i||this.readGivenChar(":")===void 0||this.readGivenChar(":")===void 0)return;let o=new Uint8Array(14),s=16-(n+2),[a]=e(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Df=45,dp=15,di=new Vo;function Va(t){if(!(t.length>dp))return di.new(t).parseWith(()=>di.readIPv4Addr())}function qa(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>Df))return di.new(t).parseWith(()=>di.readIPv6Addr())}function qo(t){if(t.includes("%")&&(t=t.split("%")[0]),!(t.length>Df))return di.new(t).parseWith(()=>di.readIPAddr())}function kf(t){return!!Va(t)}function Uf(t){return!!qa(t)}function pi(t){return!!qo(t)}var Vf=me(Ff(),1),{isValid:pp,parse:mp}=Vf.default,yp=["0.0.0.0/8","10.0.0.0/8","100.64.0.0/10","127.0.0.0/8","169.254.0.0/16","172.16.0.0/12","192.0.0.0/24","192.0.0.0/29","192.0.0.8/32","192.0.0.9/32","192.0.0.10/32","192.0.0.170/32","192.0.0.171/32","192.0.2.0/24","192.31.196.0/24","192.52.193.0/24","192.88.99.0/24","192.168.0.0/16","192.175.48.0/24","198.18.0.0/15","198.51.100.0/24","203.0.113.0/24","240.0.0.0/4","255.255.255.255/32"],gp=yp.map(t=>new Kf.Netmask(t));function xp(t){for(let e of gp)if(e.contains(t))return!0;return!1}function Mf(t){return/^::$/.test(t)||/^::1$/.test(t)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(t)||/^100::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001::([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:2[0-9a-fA-F]:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2001:db8:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^2002:([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4}):?([0-9a-fA-F]{0,4})$/.test(t)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(t)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(t)||/^ff([0-9a-fA-F]{2,2}):/i.test(t)}var qf=t=>{if(pp(t)){let e=mp(t);if(e.kind()==="ipv4")return xp(e.toNormalizedString());if(e.kind()==="ipv6")return Mf(t)}else if(pi(t)&&Lf.v6().test(t))return Mf(t)};var s0=qf;var zf="/lan",$f="/ipfs",Hf="/kad/1.0.0",Gf="/dht/record",za="/dht/provider";function vp(t){let[e,r]=t[Symbol.asyncIterator]!=null?[t[Symbol.asyncIterator](),Symbol.asyncIterator]:[t[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>e.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:e.next(),[r](){return this}}}var Yf=vp;function bp(t){return t[Symbol.asyncIterator]!=null}function wp(t,e){if(bp(t))return async function*(){for await(let a of t)yield e(a)}();let r=Yf(t),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=e(n);if(typeof o.then=="function")return async function*(){yield await o;for await(let a of r)yield e(a)}();let s=e;return function*(){yield o;for(let a of r)yield s(a)}()}var $o=wp;var Ho=globalThis.CustomEvent??Event;async function*a0(t,e={}){let r=e.concurrency??1/0;r<1&&(r=1/0);let n=e.ordered==null?!1:e.ordered,i=new EventTarget,o=[],s=ct(),a=ct(),c=!1,u,f=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let h of t){if(o.length===r&&(s=ct(),await s.promise),f)break;let m={done:!1};o.push(m),h().then(y=>{m.done=!0,m.ok=!0,m.value=y,i.dispatchEvent(new Ho("task-complete"))},y=>{m.done=!0,m.err=y,i.dispatchEvent(new Ho("task-complete"))})}c=!0,i.dispatchEvent(new Ho("task-complete"))}catch(h){u=h,i.dispatchEvent(new Ho("task-complete"))}});function l(){return n?o[0]?.done:!!o.find(h=>h.done)}function*p(){for(;o.length>0&&o[0].done;){let h=o[0];if(o.shift(),h.ok)yield h.value;else throw f=!0,s.resolve(),h.err;s.resolve()}}function*d(){for(;l();)for(let h=0;h<o.length;h++)if(o[h].done){let m=o[h];if(o.splice(h,1),h--,m.ok)yield m.value;else throw f=!0,s.resolve(),m.err;s.resolve()}}for(;;){if(l()||(a=ct(),await a.promise),u!=null)throw u;if(n?yield*p():yield*d(),c&&o.length===0)break}}function Xt(t,...e){if(t==null)throw new Error("Empty pipeline");if($a(t)){let n=t;t=()=>n.source}else if(Wf(t)||Qf(t)){let n=t;t=()=>n}let r=[t,...e];if(r.length>1&&$a(r[r.length-1])&&(r[r.length-1]=r[r.length-1].sink),r.length>2)for(let n=1;n<r.length-1;n++)$a(r[n])&&(r[n]=Sp(r[n]));return Ep(...r)}var Ep=(...t)=>{let e;for(;t.length>0;)e=t.shift()(e);return e},Qf=t=>t?.[Symbol.asyncIterator]!=null,Wf=t=>t?.[Symbol.iterator]!=null,$a=t=>t==null?!1:t.sink!=null&&t.source!=null,Sp=t=>e=>{let r=t.sink(e);if(r?.then!=null){let n=Mo({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=t.source;if(Qf(o))i=async function*(){yield*o,n.end()};else if(Wf(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return Wt(n,i())}return t.source};var Ip=Math.pow(2,7),Ap=Math.pow(2,14),Tp=Math.pow(2,21),Ha=Math.pow(2,28),Ga=Math.pow(2,35),Ya=Math.pow(2,42),Qa=Math.pow(2,49),ge=128,ut=127;function vt(t){if(t<Ip)return 1;if(t<Ap)return 2;if(t<Tp)return 3;if(t<Ha)return 4;if(t<Ga)return 5;if(t<Ya)return 6;if(t<Qa)return 7;if(Number.MAX_SAFE_INTEGER!=null&&t>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return 8}function _p(t,e,r=0){switch(vt(t)){case 8:e[r++]=t&255|ge,t/=128;case 7:e[r++]=t&255|ge,t/=128;case 6:e[r++]=t&255|ge,t/=128;case 5:e[r++]=t&255|ge,t/=128;case 4:e[r++]=t&255|ge,t>>>=7;case 3:e[r++]=t&255|ge,t>>>=7;case 2:e[r++]=t&255|ge,t>>>=7;case 1:{e[r++]=t&255,t>>>=7;break}default:throw new Error("unreachable")}return e}function Cp(t,e,r=0){switch(vt(t)){case 8:e.set(r++,t&255|ge),t/=128;case 7:e.set(r++,t&255|ge),t/=128;case 6:e.set(r++,t&255|ge),t/=128;case 5:e.set(r++,t&255|ge),t/=128;case 4:e.set(r++,t&255|ge),t>>>=7;case 3:e.set(r++,t&255|ge),t>>>=7;case 2:e.set(r++,t&255|ge),t>>>=7;case 1:{e.set(r++,t&255),t>>>=7;break}default:throw new Error("unreachable")}return e}function Rp(t,e){let r=t[e],n=0;if(n+=r&ut,r<ge||(r=t[e+1],n+=(r&ut)<<7,r<ge)||(r=t[e+2],n+=(r&ut)<<14,r<ge)||(r=t[e+3],n+=(r&ut)<<21,r<ge)||(r=t[e+4],n+=(r&ut)*Ha,r<ge)||(r=t[e+5],n+=(r&ut)*Ga,r<ge)||(r=t[e+6],n+=(r&ut)*Ya,r<ge)||(r=t[e+7],n+=(r&ut)*Qa,r<ge))return n;throw new RangeError("Could not decode varint")}function Bp(t,e){let r=t.get(e),n=0;if(n+=r&ut,r<ge||(r=t.get(e+1),n+=(r&ut)<<7,r<ge)||(r=t.get(e+2),n+=(r&ut)<<14,r<ge)||(r=t.get(e+3),n+=(r&ut)<<21,r<ge)||(r=t.get(e+4),n+=(r&ut)*Ha,r<ge)||(r=t.get(e+5),n+=(r&ut)*Ga,r<ge)||(r=t.get(e+6),n+=(r&ut)*Ya,r<ge)||(r=t.get(e+7),n+=(r&ut)*Qa,r<ge))return n;throw new RangeError("Could not decode varint")}function pr(t,e,r=0){return e==null&&(e=et(vt(t))),e instanceof Uint8Array?_p(t,e,r):Cp(t,e,r)}function Jt(t,e=0){return t instanceof Uint8Array?Rp(t,e):Bp(t,e)}var TS=parseInt("0xFFFF",16),_S=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var Jf=kf,kp=Uf,Wa=function(t){let e=0;if(t=t.toString().trim(),Jf(t)){let r=new Uint8Array(e+4);return t.split(/\./g).forEach(n=>{r[e++]=parseInt(n,10)&255}),r}if(kp(t)){let r=t.split(":",8),n;for(n=0;n<r.length;n++){let o=Jf(r[n]),s;o&&(s=Wa(r[n]),r[n]=Q(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,Q(s.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 o=[n,1];for(n=9-r.length;n>0;n--)o.push("0");r.splice.apply(r,o)}let i=new Uint8Array(e+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[e++]=o>>8&255,i[e++]=o&255}return i}throw new Error("invalid ip address")},jf=function(t,e=0,r){e=~~e,r=r??t.length-e;let n=new DataView(t.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(t[e+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(e+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var mi={},Za={},Op=[[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"]];Op.forEach(t=>{let e=Fp(...t);Za[e.code]=e,mi[e.name]=e});function Fp(t,e,r,n,i){return{code:t,size:e,name:r,resolvable:!!n,path:!!i}}function Ee(t){if(typeof t=="number"){if(Za[t]!=null)return Za[t];throw new Error(`no protocol with code: ${t}`)}else if(typeof t=="string"){if(mi[t]!=null)return mi[t];throw new Error(`no protocol with name: ${t}`)}throw new Error(`invalid protocol id type: ${typeof t}`)}var cI=Ee("ip4"),uI=Ee("ip6"),fI=Ee("ipcidr");function Ja(t,e){switch(Ee(t).code){case 4:case 41:return Kp(e);case 42:return r6(e);case 6:case 273:case 33:case 132:return i6(e).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return r6(e);case 421:return $p(e);case 444:return n6(e);case 445:return n6(e);case 466:return zp(e);default:return Q(e,"base16")}}function ja(t,e){switch(Ee(t).code){case 4:return e6(e);case 41:return e6(e);case 42:return t6(e);case 6:case 273:case 33:case 132:return e2(parseInt(e,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return t6(e);case 421:return Vp(e);case 444:return Hp(e);case 445:return Gp(e);case 466:return qp(e);default:return ce(e,"base16")}}var Xa=Object.values(zr).map(t=>t.decoder),Mp=function(){let t=Xa[0].or(Xa[1]);return Xa.slice(2).forEach(e=>t=t.or(e)),t}();function e6(t){if(!pi(t))throw new Error("invalid ip address");return Wa(t)}function Kp(t){let e=jf(t,0,t.length);if(e==null)throw new Error("ipBuff is required");if(!pi(e))throw new Error("invalid ip address");return e}function e2(t){let e=new ArrayBuffer(2);return new DataView(e).setUint16(0,t),new Uint8Array(e)}function i6(t){return new DataView(t.buffer).getUint16(t.byteOffset)}function t6(t){let e=ce(t),r=Uint8Array.from(pr(e.length));return be([r,e],r.length+e.length)}function r6(t){let e=Jt(t);if(t=t.slice(vt(e)),t.length!==e)throw new Error("inconsistent lengths");return Q(t)}function Vp(t){let e;t[0]==="Q"||t[0]==="1"?e=gr(Fe.decode(`z${t}`)).bytes:e=Me.parse(t).multihash.bytes;let r=Uint8Array.from(pr(e.length));return be([r,e],r.length+e.length)}function qp(t){let e=Mp.decode(t),r=Uint8Array.from(pr(e.length));return be([r,e],r.length+e.length)}function zp(t){let e=Jt(t),r=t.slice(vt(e));if(r.length!==e)throw new Error("inconsistent lengths");return"u"+Q(r,"base64url")}function $p(t){let e=Jt(t),r=t.slice(vt(e));if(r.length!==e)throw new Error("inconsistent lengths");return Q(r,"base58btc")}function Hp(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==16)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion address.`);let r=Ft.decode("b"+e[0]),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=e2(n);return be([r,i],r.length+i.length)}function Gp(t){let e=t.split(":");if(e.length!==2)throw new Error(`failed to parse onion addr: ["'${e.join('", "')}'"]' does not contain a port number`);if(e[0].length!==56)throw new Error(`failed to parse onion addr: ${e[0]} not a Tor onion3 address.`);let r=Ft.decode(`b${e[0]}`),n=parseInt(e[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=e2(n);return be([r,i],r.length+i.length)}function n6(t){let e=t.slice(0,t.length-2),r=t.slice(t.length-2),n=Q(e,"base32"),i=i6(r);return`${n}:${i}`}function o6(t){t=t2(t);let e=[],r=[],n=null,i=t.split("/").slice(1);if(i.length===1&&i[0]==="")return{bytes:new Uint8Array,string:"/",tuples:[],stringTuples:[],path:null};for(let o=0;o<i.length;o++){let s=i[o],a=Ee(s);if(a.size===0){e.push([a.code]),r.push([a.code]);continue}if(o++,o>=i.length)throw a6("invalid address: "+t);if(a.path===!0){n=t2(i.slice(o).join("/")),e.push([a.code,ja(a.code,n)]),r.push([a.code,n]);break}let c=ja(a.code,i[o]);e.push([a.code,c]),r.push([a.code,Ja(a.code,c)])}return{string:s6(r),bytes:n2(e),tuples:e,stringTuples:r,path:n}}function r2(t){let e=[],r=[],n=null,i=0;for(;i<t.length;){let o=Jt(t,i),s=vt(o),a=Ee(o),c=Yp(a,t.slice(i+s));if(c===0){e.push([o]),r.push([o]),i+=s;continue}let u=t.slice(i+s,i+s+c);if(i+=c+s,i>t.length)throw a6("Invalid address Uint8Array: "+Q(t,"base16"));e.push([o,u]);let f=Ja(o,u);if(r.push([o,f]),a.path===!0){n=f;break}}return{bytes:Uint8Array.from(t),string:s6(r),tuples:e,stringTuples:r,path:n}}function s6(t){let e=[];return t.map(r=>{let n=Ee(r[0]);return e.push(n.name),r.length>1&&r[1]!=null&&e.push(r[1]),null}),t2(e.join("/"))}function n2(t){return be(t.map(e=>{let r=Ee(e[0]),n=Uint8Array.from(pr(r.code));return e.length>1&&e[1]!=null&&(n=be([n,e[1]])),n}))}function Yp(t,e){if(t.size>0)return t.size/8;if(t.size===0)return 0;{let r=Jt(e instanceof Uint8Array?e:Uint8Array.from(e));return r+vt(r)}}function t2(t){return"/"+t.trim().split("/").filter(e=>e).join("/")}function a6(t){return new Error("Error parsing address: "+t)}var Qp=Symbol.for("nodejs.util.inspect.custom"),Wp=[Ee("dns").code,Ee("dns4").code,Ee("dns6").code,Ee("dnsaddr").code],Zp=new Map,c6=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Xp(t){return!!t?.[c6]}var o2=class t{bytes;#e;#t;#r;#n;[c6]=!0;constructor(e){e==null&&(e="");let r;if(e instanceof Uint8Array)r=r2(e);else if(typeof e=="string"){if(e.length>0&&e.charAt(0)!=="/")throw new Error(`multiaddr "${e}" must start with a "/"`);r=o6(e)}else if(Xp(e))r=r2(e.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr");this.bytes=r.bytes,this.#e=r.string,this.#t=r.tuples,this.#r=r.stringTuples,this.#n=r.path}toString(){return this.#e}toJSON(){return this.toString()}toOptions(){let e,r,n,i,o="",s=Ee("tcp"),a=Ee("udp"),c=Ee("ip4"),u=Ee("ip6"),f=Ee("dns6"),l=Ee("ip6zone");for(let[d,h]of this.stringTuples())d===l.code&&(o=`%${h??""}`),Wp.includes(d)&&(r=s.name,i=443,n=`${h??""}${o}`,e=d===f.code?6:4),(d===s.code||d===a.code)&&(r=Ee(d).name,i=parseInt(h??"")),(d===c.code||d===u.code)&&(r=Ee(d).name,n=`${h??""}${o}`,e=d===u.code?6:4);if(e==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:e,host:n,transport:r,port:i}}protos(){return this.#t.map(([e])=>Object.assign({},Ee(e)))}protoCodes(){return this.#t.map(([e])=>e)}protoNames(){return this.#t.map(([e])=>Ee(e).name)}tuples(){return this.#t}stringTuples(){return this.#r}encapsulate(e){return e=new t(e),new t(this.toString()+e.toString())}decapsulate(e){let r=e.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${e.toString()}`);return new t(n.slice(0,i))}decapsulateCode(e){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===e)return new t(n2(r.slice(0,n)));return this}getPeerId(){try{let e=[];this.stringTuples().forEach(([n,i])=>{n===mi.p2p.code&&e.push([n,i]),n===mi["p2p-circuit"].code&&(e=[])});let r=e.pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?Q(Fe.decode(`z${n}`),"base58btc"):Q(Me.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){return this.#n}equals(e){return de(this.bytes,e.bytes)}async resolve(e){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=Zp.get(r.name);if(n==null)throw new k(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,e)).map(o=>new t(o))}nodeAddress(){let e=this.toOptions();if(e.transport!=="tcp"&&e.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${e.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:e.family,address:e.host,port:e.port}}isThinWaistAddress(e){let r=(e??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[Qp](){return`Multiaddr(${this.#e})`}};function i2(t){return new o2(t)}var u0;(function(t){let e;t.codec=()=>(e==null&&(e=Dt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.key!=null&&r.key.byteLength>0&&(n.uint32(10),n.bytes(r.key)),r.value!=null&&r.value.byteLength>0&&(n.uint32(18),n.bytes(r.value)),r.timeReceived!=null&&r.timeReceived!==""&&(n.uint32(42),n.string(r.timeReceived)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={key:new Uint8Array(0),value:new Uint8Array(0),timeReceived:""},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.key=r.bytes();break;case 2:i.value=r.bytes();break;case 5:i.timeReceived=r.string();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Lt(r,t.codec()),t.decode=r=>Nt(r,t.codec())})(u0||(u0={}));function u6(t){let e=t.getUTCFullYear(),r=String(t.getUTCMonth()+1).padStart(2,"0"),n=String(t.getUTCDate()).padStart(2,"0"),i=String(t.getUTCHours()).padStart(2,"0"),o=String(t.getUTCMinutes()).padStart(2,"0"),s=String(t.getUTCSeconds()).padStart(2,"0"),a=t.getUTCMilliseconds(),c=String(a*1e3*1e3).padStart(9,"0");return`${e}-${r}-${n}T${i}:${o}:${s}.${c}Z`}function f6(t){let e=new RegExp("(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d+)Z"),r=String(t).trim().match(e);if(r==null)throw new Error("Invalid format");let n=parseInt(r[1],10),i=parseInt(r[2],10)-1,o=parseInt(r[3],10),s=parseInt(r[4],10),a=parseInt(r[5],10),c=parseInt(r[6],10),u=parseInt(r[7].slice(0,-6),10);return new Date(Date.UTC(n,i,o,s,a,c,u))}var ze=class t{key;value;timeReceived;constructor(e,r,n){if(!(e instanceof Uint8Array))throw new Error("key must be a Uint8Array");if(!(r instanceof Uint8Array))throw new Error("value must be a Uint8Array");this.key=e,this.value=r,this.timeReceived=n}serialize(){return u0.encode(this.prepareSerialize())}prepareSerialize(){return{key:this.key,value:this.value,timeReceived:u6(this.timeReceived)}}static deserialize(e){let r=u0.decode(e);return new t(r.key,r.value,new Date(r.timeReceived))}static fromDeserialized(e){let r=f6(e.timeReceived);if(e.key==null)throw new Error("key missing from deserialized object");if(e.value==null)throw new Error("value missing from deserialized object");return new t(e.key,e.value,r)}};var l6;(function(t){let e;t.codec=()=>(e==null&&(e=Dt((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.key!=null&&(n.uint32(10),n.bytes(r.key)),r.value!=null&&(n.uint32(18),n.bytes(r.value)),r.author!=null&&(n.uint32(26),n.bytes(r.author)),r.signature!=null&&(n.uint32(34),n.bytes(r.signature)),r.timeReceived!=null&&(n.uint32(42),n.string(r.timeReceived)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.key=r.bytes();break;case 2:i.value=r.bytes();break;case 3:i.author=r.bytes();break;case 4:i.signature=r.bytes();break;case 5:i.timeReceived=r.string();break;default:r.skipType(s&7);break}}return i})),e),t.encode=r=>Lt(r,t.codec()),t.decode=r=>Nt(r,t.codec())})(l6||(l6={}));var sn;(function(t){let e;(function(a){a.PUT_VALUE="PUT_VALUE",a.GET_VALUE="GET_VALUE",a.ADD_PROVIDER="ADD_PROVIDER",a.GET_PROVIDERS="GET_PROVIDERS",a.FIND_NODE="FIND_NODE",a.PING="PING"})(e=t.MessageType||(t.MessageType={}));let r;(function(a){a[a.PUT_VALUE=0]="PUT_VALUE",a[a.GET_VALUE=1]="GET_VALUE",a[a.ADD_PROVIDER=2]="ADD_PROVIDER",a[a.GET_PROVIDERS=3]="GET_PROVIDERS",a[a.FIND_NODE=4]="FIND_NODE",a[a.PING=5]="PING"})(r||(r={})),function(a){a.codec=()=>jr(r)}(e=t.MessageType||(t.MessageType={}));let n;(function(a){a.NOT_CONNECTED="NOT_CONNECTED",a.CONNECTED="CONNECTED",a.CAN_CONNECT="CAN_CONNECT",a.CANNOT_CONNECT="CANNOT_CONNECT"})(n=t.ConnectionType||(t.ConnectionType={}));let i;(function(a){a[a.NOT_CONNECTED=0]="NOT_CONNECTED",a[a.CONNECTED=1]="CONNECTED",a[a.CAN_CONNECT=2]="CAN_CONNECT",a[a.CANNOT_CONNECT=3]="CANNOT_CONNECT"})(i||(i={})),function(a){a.codec=()=>jr(i)}(n=t.ConnectionType||(t.ConnectionType={}));let o;(function(a){let c;a.codec=()=>(c==null&&(c=Dt((u,f,l={})=>{if(l.lengthDelimited!==!1&&f.fork(),u.id!=null&&(f.uint32(10),f.bytes(u.id)),u.addrs!=null)for(let p of u.addrs)f.uint32(18),f.bytes(p);u.connection!=null&&(f.uint32(24),t.ConnectionType.codec().encode(u.connection,f)),l.lengthDelimited!==!1&&f.ldelim()},(u,f)=>{let l={addrs:[]},p=f==null?u.len:u.pos+f;for(;u.pos<p;){let d=u.uint32();switch(d>>>3){case 1:l.id=u.bytes();break;case 2:l.addrs.push(u.bytes());break;case 3:l.connection=t.ConnectionType.codec().decode(u);break;default:u.skipType(d&7);break}}return l})),c),a.encode=u=>Lt(u,a.codec()),a.decode=u=>Nt(u,a.codec())})(o=t.Peer||(t.Peer={}));let s;t.codec=()=>(s==null&&(s=Dt((a,c,u={})=>{if(u.lengthDelimited!==!1&&c.fork(),a.type!=null&&(c.uint32(8),t.MessageType.codec().encode(a.type,c)),a.clusterLevelRaw!=null&&(c.uint32(80),c.int32(a.clusterLevelRaw)),a.key!=null&&(c.uint32(18),c.bytes(a.key)),a.record!=null&&(c.uint32(26),c.bytes(a.record)),a.closerPeers!=null)for(let f of a.closerPeers)c.uint32(66),t.Peer.codec().encode(f,c);if(a.providerPeers!=null)for(let f of a.providerPeers)c.uint32(74),t.Peer.codec().encode(f,c);u.lengthDelimited!==!1&&c.ldelim()},(a,c)=>{let u={closerPeers:[],providerPeers:[]},f=c==null?a.len:a.pos+c;for(;a.pos<f;){let l=a.uint32();switch(l>>>3){case 1:u.type=t.MessageType.codec().decode(a);break;case 10:u.clusterLevelRaw=a.int32();break;case 2:u.key=a.bytes();break;case 3:u.record=a.bytes();break;case 8:u.closerPeers.push(t.Peer.codec().decode(a,a.uint32()));break;case 9:u.providerPeers.push(t.Peer.codec().decode(a,a.uint32()));break;default:a.skipType(l&7);break}}return u})),s),t.encode=a=>Lt(a,t.codec()),t.decode=a=>Nt(a,t.codec())})(sn||(sn={}));var $e=sn.MessageType,jp=sn.ConnectionType,p6=Object.keys($e),Oe=class t{type;key;clusterLevelRaw;closerPeers;providerPeers;record;constructor(e,r,n){if(!(r instanceof Uint8Array))throw new Error("Key must be a Uint8Array");this.type=e,this.key=r,this.clusterLevelRaw=n,this.closerPeers=[],this.providerPeers=[],this.record=void 0}get clusterLevel(){let e=this.clusterLevelRaw-1;return e<0?0:e}set clusterLevel(e){this.clusterLevelRaw=e}serialize(){return sn.encode({key:this.key,type:this.type,clusterLevelRaw:this.clusterLevelRaw,closerPeers:this.closerPeers.map(h6),providerPeers:this.providerPeers.map(h6),record:this.record==null?void 0:this.record.serialize().subarray()})}static deserialize(e){let r=sn.decode(e),n=new t(r.type??sn.MessageType.PUT_VALUE,r.key??Uint8Array.from([]),r.clusterLevelRaw??0);return n.closerPeers=r.closerPeers.map(d6),n.providerPeers=r.providerPeers.map(d6),r.record?.length!=null&&(n.record=ze.deserialize(r.record)),n}};function h6(t){return{id:t.id.toBytes(),addrs:(t.multiaddrs??[]).map(r=>r.bytes),connection:jp.CONNECTED}}function d6(t){if(t.id==null)throw new Error("Invalid peer in message");return{id:xr(t.id),multiaddrs:(t.addrs??[]).map(e=>i2(e)),protocols:[]}}function s2(t,e={}){let r={...t,name:"SEND_QUERY",type:0,messageName:t.type,messageType:p6.indexOf(t.type.toString())};return e.onProgress?.(new qe("kad-dht:query:send-query",{detail:r})),r}function f0(t,e={}){let r={...t,name:"PEER_RESPONSE",type:1,messageName:t.messageType,closer:t.closer!=null?t.closer:[],providers:t.providers!=null?t.providers:[]};return e.onProgress?.(new qe("kad-dht:query:peer-response",{detail:r})),r}function Go(t,e={}){let r={...t,name:"FINAL_PEER",type:2};return e.onProgress?.(new qe("kad-dht:query:final-peer",{detail:r})),r}function pt(t,e={}){let r={...t,name:"QUERY_ERROR",type:3};return e.onProgress?.(new qe("kad-dht:query:query-error",{detail:r})),r}function a2(t,e={}){let r={...t,name:"PROVIDER",type:4};return e.onProgress?.(new qe("kad-dht:query:provider",{detail:r})),r}function l0(t,e={}){let r={...t,name:"VALUE",type:5};return e.onProgress?.(new qe("kad-dht:query:value",{detail:r})),r}function c2(t,e={}){let r={...t,name:"DIAL_PEER",type:7};return e.onProgress?.(new qe("kad-dht:query:dial-peer",{detail:r})),r}function m6(t,e,r){if(r.length===0){let s="No records given";throw new k(s,"ERR_NO_RECORDS_RECEIVED")}let i=Q(e).split("/");if(i.length<3){let s="Record key does not have a selector function";throw new k(s,"ERR_NO_SELECTOR_FUNCTION_FOR_RECORD_KEY")}let o=t[i[1].toString()];if(o==null){let s=`No selector function configured for key type "${i[1]}"`;throw new k(s,"ERR_UNRECOGNIZED_KEY_PREFIX")}return r.length===1?0:o(e,r)}function em(t,e){return 0}var y6={pk:em};async function yi(t,e){let r=e.key,i=Q(r).split("/");if(i.length<3)return;let o=t[i[1].toString()];if(o==null){let s=`No validator available for key type "${i[1]}"`;throw new k(s,"ERR_INVALID_RECORD_KEY_TYPE")}await o(r,e.value)}var tm=async(t,e)=>{if(!(t instanceof Uint8Array))throw new k('"key" must be a Uint8Array',"ERR_INVALID_RECORD_KEY_NOT_BUFFER");if(t.byteLength<5)throw new k("invalid public key record","ERR_INVALID_RECORD_KEY_TOO_SHORT");if(Q(t.subarray(0,4))!=="/pk/")throw new k("key was not prefixed with /pk/","ERR_INVALID_RECORD_KEY_BAD_PREFIX");let n=t.slice(4),i=await Ne.digest(e);if(!de(n,i.bytes))throw new k("public key does not match passed in key","ERR_INVALID_RECORD_HASH_MISMATCH")},g6={pk:tm};var rm=ce("/pk/");function gi(t){return{...t,multiaddrs:t.multiaddrs.filter(e=>{let[[r,n]]=e.stringTuples();if(r===53||r===54||r===55)return n!=="localhost";if(r!==4&&r!==6||n==null)return!1;let i=s0(n);return i==null?!0:!i})}}function xi(t){return{...t,multiaddrs:t.multiaddrs.filter(e=>{let[[r,n]]=e.stringTuples();if(n==="localhost")return!0;if(r!==4&&r!==6||n==null)return!1;let i=s0(n);return i??!1})}}async function an(t){return(await Ne.digest(t)).digest}async function jt(t){return an(t.toBytes())}function Ur(t){return new lr(`${Gf}/${Q(t,"base32")}`,!1)}function x6(t){return be([rm,t.toBytes()])}function v6(t){return Q(t.subarray(0,4))==="/pk/"}function b6(t){return xr(t.subarray(4))}function u2(t,e){let r=new Date;return new ze(t,e,r).serialize()}function w6(t,e=100){let r;return()=>{clearTimeout(r),r=setTimeout(()=>{t()},e)}}var Yo=class{log;components;validators;selectors;peerRouting;queryManager;network;constructor(e,r){let{validators:n,selectors:i,peerRouting:o,queryManager:s,network:a,lan:c}=r;this.components=e,this.log=J(`libp2p:kad-dht:${c?"lan":"wan"}:content-fetching`),this.validators=n,this.selectors=i,this.peerRouting=o,this.queryManager=s,this.network=a}async putLocal(e,r){let n=Ur(e);await this.components.datastore.put(n,r)}async getLocal(e){this.log("getLocal %b",e);let r=Ur(e);this.log("fetching record for key %k",r);let n=await this.components.datastore.get(r);this.log("found %k in local datastore",r);let i=ze.deserialize(n);return await yi(this.validators,i),i}async*sendCorrectionRecord(e,r,n,i={}){this.log("sendCorrection for %b",e);let o=u2(e,n);for(let{value:s,from:a}of r){if(de(s,n)){this.log("record was ok");continue}if(this.components.peerId.equals(a)){try{let f=Ur(e);this.log(`Storing corrected record for key ${f.toString()}`),await this.components.datastore.put(f,o.subarray())}catch(f){this.log.error("Failed error correcting self",f)}continue}let c=!1,u=new Oe($e.PUT_VALUE,e,0);u.record=ze.deserialize(o);for await(let f of this.network.sendRequest(a,u,i))f.name==="PEER_RESPONSE"&&f.record!=null&&de(f.record.value,ze.deserialize(o).value)&&(c=!0),yield f;c||(yield pt({from:a,error:new k("value not put correctly","ERR_PUT_VALUE_INVALID")},i)),this.log.error("Failed error correcting entry")}}async*put(e,r,n={}){this.log("put key %b value %b",e,r);let i=u2(e,r),o=Ur(e);this.log(`storing record for key ${o.toString()}`),await this.components.datastore.put(o,i.subarray()),yield*Xt(this.peerRouting.getClosestPeers(e,{signal:n.signal}),s=>$o(s,a=>async()=>{if(a.name!=="FINAL_PEER")return[a];let c=[],u=new Oe($e.PUT_VALUE,e,0);u.record=ze.deserialize(i),this.log("send put to %p",a.peer.id);for await(let f of this.network.sendRequest(a.peer.id,u,n))c.push(f),f.name==="PEER_RESPONSE"&&(f.record!=null&&de(f.record.value,ze.deserialize(i).value)||c.push(pt({from:a.peer.id,error:new k("value not put correctly","ERR_PUT_VALUE_INVALID")},n)));return c}),s=>a0(s,{ordered:!1,concurrency:3}),async function*(s){for await(let a of s)yield*a})}async*get(e,r={}){this.log("get %b",e);let n=[];for await(let a of this.getMany(e,r))a.name==="VALUE"&&n.push(a),yield a;if(n.length===0)return;let i=n.map(a=>a.value),o=0;try{o=m6(this.selectors,e,i)}catch(a){if(a.code!=="ERR_NO_SELECTOR_FUNCTION_FOR_RECORD_KEY")throw a}let s=i[o];if(this.log("GetValue %b %b",e,s),s==null)throw new k("best value was not found","ERR_NOT_FOUND");yield*this.sendCorrectionRecord(e,n,s,r),yield n[o]}async*getMany(e,r={}){this.log("getMany values for %b",e);try{let o=await this.getLocal(e);yield l0({value:o.value,from:this.components.peerId},r)}catch(o){this.log("error getting local value for %b",e,o)}let n=this,i=async function*({peer:o,signal:s}){for await(let a of n.peerRouting.getValueOrPeers(o,e,{signal:s}))yield a,a.name==="PEER_RESPONSE"&&a.record!=null&&(yield l0({from:o,value:a.record.value},r))};yield*this.queryManager.run(e,i,r)}};var Qo=class{log;components;network;peerRouting;queryManager;routingTable;providers;constructor(e,r){let{network:n,peerRouting:i,queryManager:o,routingTable:s,providers:a,lan:c}=r;this.components=e,this.log=J(`libp2p:kad-dht:${c?"lan":"wan"}:content-routing`),this.network=n,this.peerRouting=i,this.queryManager=o,this.routingTable=s,this.providers=a}async*provide(e,r,n={}){this.log("provide %s",e),await this.providers.addProvider(e,this.components.peerId);let i=new Oe($e.ADD_PROVIDER,e.multihash.bytes,0);i.providerPeers=[{id:this.components.peerId,multiaddrs:r,protocols:[]}];let o=0,s=a=>async()=>{if(a.name!=="FINAL_PEER")return[a];let c=[];this.log("putProvider %s to %p",e,a.peer.id);try{this.log("sending provider record for %s to %p",e,a.peer.id);for await(let u of this.network.sendMessage(a.peer.id,i,n))u.name==="PEER_RESPONSE"&&(this.log("sent provider record for %s to %p",e,a.peer.id),o++),c.push(u)}catch(u){this.log.error("error sending provide record to peer %p",a.peer.id,u),c.push(pt({from:a.peer.id,error:u},n))}return c};yield*Xt(this.peerRouting.getClosestPeers(e.multihash.bytes,n),a=>$o(a,c=>s(c)),a=>a0(a,{ordered:!1,concurrency:3}),async function*(a){for await(let c of a)yield*c}),this.log("sent provider records to %d peers",o)}async*findProviders(e,r){let n=this.routingTable.kBucketSize,i=e.multihash.bytes,o=this;this.log("findProviders %c",e);let s=await this.providers.getProviders(e);if(s.length>0){let u=[];for(let f of s.slice(0,n))try{let l=await this.components.peerStore.get(f);u.push({id:f,multiaddrs:l.addresses.map(({multiaddr:p})=>p),protocols:l.protocols})}catch(l){if(l.code!=="ERR_NOT_FOUND")throw l;this.log("no peer store entry for %p",f)}yield f0({from:this.components.peerId,messageType:$e.GET_PROVIDERS,providers:u},r),yield a2({from:this.components.peerId,providers:u},r)}if(s.length>=n)return;let a=async function*({peer:u,signal:f}){let l=new Oe($e.GET_PROVIDERS,i,0);yield*o.network.sendRequest(u,l,{...r,signal:f})},c=new Set(s.map(u=>u.toString()));for await(let u of this.queryManager.run(i,a,r))if(yield u,u.name==="PEER_RESPONSE"){this.log("Found %d provider entries for %c and %d closer peers",u.providers.length,e,u.closer.length);let f=[];for(let l of u.providers)c.has(l.id.toString())||(c.add(l.id.toString()),f.push(l));if(f.length>0&&(yield a2({from:u.from,providers:f},r)),c.size===n)return}}};var h0=class extends Error{constructor(e,r){super(e??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function E6(t){if(t!=null){if(typeof t[Symbol.iterator]=="function")return t[Symbol.iterator]();if(typeof t[Symbol.asyncIterator]=="function")return t[Symbol.asyncIterator]();if(typeof t.next=="function")return t}throw new Error("argument is not an iterator or iterable")}function S6(t,e,r){let n=r??{},i=E6(t);async function*o(){let s,a=()=>{s?.()};for(e.addEventListener("abort",a);;){let c;try{if(e.aborted){let{abortMessage:f,abortCode:l}=n;throw new h0(f,l)}let u=new Promise((f,l)=>{s=()=>{let{abortMessage:p,abortCode:d}=n;l(new h0(p,d))}});c=await Promise.race([u,i.next()]),s=null}catch(u){e.removeEventListener("abort",a);let f=u.type==="aborted"&&e.aborted;if(f&&n.onAbort!=null&&n.onAbort(t),typeof i.return=="function")try{let l=i.return();l instanceof Promise&&l.catch(p=>{n.onReturnError!=null&&n.onReturnError(p)})}catch(l){n.onReturnError!=null&&n.onReturnError(l)}if(f&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}e.removeEventListener("abort",a)}return o()}function nm(t,e,r){return n=>t(S6(n,e,r))}function l2(t,e,r){return{sink:nm(t.sink,e,{...r,onAbort:void 0}),source:S6(t.source,e,r)}}function im(t){return t[Symbol.asyncIterator]!=null}function om(t){if(im(t))return(async()=>{for await(let e of t)return e})();for(let e of t)return e}var I6=om;var T6=Symbol.for("@achingbrain/uint8arraylist");function A6(t,e){if(e==null||e<0)throw new RangeError("index is out of bounds");let r=0;for(let n of t){let i=r+n.byteLength;if(e<i)return{buf:n,index:e-r};r=i}throw new RangeError("index is out of bounds")}function Wo(t){return!!t?.[T6]}var bi=class t{constructor(...e){Object.defineProperty(this,T6,{value:!0}),this.bufs=[],this.length=0,e.length>0&&this.appendAll(e)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...e){this.appendAll(e)}appendAll(e){let r=0;for(let n of e)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(Wo(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...e){this.prependAll(e)}prependAll(e){let r=0;for(let n of e.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(Wo(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(e){let r=A6(this.bufs,e);return r.buf[r.index]}set(e,r){let n=A6(this.bufs,e);n.buf[n.index]=r}write(e,r=0){if(e instanceof Uint8Array)for(let n=0;n<e.length;n++)this.set(r+n,e[n]);else if(Wo(e))for(let n=0;n<e.length;n++)this.set(r+n,e.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(e){if(e=Math.trunc(e),!(Number.isNaN(e)||e<=0)){if(e===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(e>=this.bufs[0].byteLength)e-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(e),this.length-=e;break}}}slice(e,r){let{bufs:n,length:i}=this._subList(e,r);return be(n,i)}subarray(e,r){let{bufs:n,length:i}=this._subList(e,r);return n.length===1?n[0]:be(n,i)}sublist(e,r){let{bufs:n,length:i}=this._subList(e,r),o=new t;return o.length=i,o.bufs=n,o}_subList(e,r){if(e=e??0,r=r??this.length,e<0&&(e=this.length+e),r<0&&(r=this.length+r),e<0||r>this.length)throw new RangeError("index is out of bounds");if(e===r)return{bufs:[],length:0};if(e===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,e>=c)continue;let u=e>=a&&e<c,f=r>a&&r<=c;if(u&&f){if(e===a&&r===c){n.push(s);break}let l=e-a;n.push(s.subarray(l,l+(r-e)));break}if(u){if(e===0){n.push(s);continue}n.push(s.subarray(e-a));continue}if(f){if(r===c){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-e}}indexOf(e,r=0){if(!Wo(e)&&!(e instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=e instanceof Uint8Array?e:e.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),e.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let o=256,s=new Int32Array(o);for(let l=0;l<o;l++)s[l]=-1;for(let l=0;l<i;l++)s[n[l]]=l;let a=s,c=this.byteLength-n.byteLength,u=n.byteLength-1,f;for(let l=r;l<=c;l+=f){f=0;for(let p=u;p>=0;p--){let d=this.get(l+p);if(n[p]!==d){f=Math.max(1,p-a[d]);break}}if(f===0)return l}return-1}getInt8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(e,r){let n=et(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,e)}getInt16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(e,r,n){let i=Sr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,e)}getInt32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(e,r,n){let i=Sr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,e)}getBigInt64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(e,r,n){let i=Sr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,e)}getUint8(e){let r=this.subarray(e,e+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(e,r){let n=et(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,e)}getUint16(e,r){let n=this.subarray(e,e+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(e,r,n){let i=Sr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,e)}getUint32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(e,r,n){let i=Sr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,e)}getBigUint64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(e,r,n){let i=Sr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,e)}getFloat32(e,r){let n=this.subarray(e,e+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(e,r,n){let i=Sr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,e)}getFloat64(e,r){let n=this.subarray(e,e+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(e,r,n){let i=Sr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,e)}equals(e){if(e==null||!(e instanceof t)||e.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!de(this.bufs[r],e.bufs[r]))return!1;return!0}static fromUint8Arrays(e,r){let n=new t;return n.bufs=e,r==null&&(r=e.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};function Zo(t){return t[Symbol.asyncIterator]!=null}var Xo=t=>{let e=vt(t),r=et(e);return pr(t,r),Xo.bytes=e,r};Xo.bytes=0;function Pn(t,e){e=e??{};let r=e.lengthEncoder??Xo;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return Zo(t)?async function*(){for await(let i of t)yield*n(i)}():function*(){for(let i of t)yield*n(i)}()}Pn.single=(t,e)=>{e=e??{};let r=e.lengthEncoder??Xo;return new bi(r(t.byteLength),t)};var wi=me(Wi(),1);var sm=8,am=1024*1024*4,Nn;(function(t){t[t.LENGTH=0]="LENGTH",t[t.DATA=1]="DATA"})(Nn||(Nn={}));var h2=t=>{let e=Jt(t);return h2.bytes=vt(e),e};h2.bytes=0;function Ln(t,e){let r=new bi,n=Nn.LENGTH,i=-1,o=e?.lengthDecoder??h2,s=e?.maxLengthLength??sm,a=e?.maxDataLength??am;function*c(){for(;r.byteLength>0;){if(n===Nn.LENGTH)try{if(i=o(r),i<0)throw(0,wi.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,wi.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let u=o.bytes;r.consume(u),e?.onLength!=null&&e.onLength(i),n=Nn.DATA}catch(u){if(u instanceof RangeError){if(r.byteLength>s)throw(0,wi.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw u}if(n===Nn.DATA){if(r.byteLength<i)break;let u=r.sublist(0,i);r.consume(i),e?.onData!=null&&e.onData(u),yield u,n=Nn.LENGTH}}}return Zo(t)?async function*(){for await(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,wi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let u of t)r.append(u),yield*c();if(r.byteLength>0)throw(0,wi.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Ln.fromReader=(t,e)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await t.next(r);if(o===!0)return;s!=null&&(yield s)}catch(o){if(o.code==="ERR_UNDER_READ")return{done:!0,value:null};throw o}finally{r=1}}();return Ln(n,{...e??{},onLength:o=>{r=o}})};var Jo=class extends at{log;protocol;running;components;constructor(e,r){super();let{protocol:n,lan:i}=r;this.components=e,this.log=J(`libp2p:kad-dht:${i?"lan":"wan"}:network`),this.running=!1,this.protocol=n}async start(){this.running||(this.running=!0)}async stop(){this.running=!1}isStarted(){return this.running}async*sendRequest(e,r,n={}){if(!this.running)return;this.log("sending %s to %p",r.type,e),yield c2({peer:e},n),yield s2({to:e,type:r.type},n);let i;try{let s=await(await this.components.connectionManager.openConnection(e,n)).newStream(this.protocol,n),a=await this._writeReadMessage(s,r.serialize(),n);yield f0({from:e,messageType:a.type,closer:a.closerPeers,providers:a.providerPeers,record:a.record},n)}catch(o){yield pt({from:e,error:o},n)}finally{i!=null&&await i.close()}}async*sendMessage(e,r,n={}){if(!this.running)return;this.log("sending %s to %p",r.type,e),yield c2({peer:e},n),yield s2({to:e,type:r.type},n);let i;try{let s=await(await this.components.connectionManager.openConnection(e,n)).newStream(this.protocol,n);await this._writeMessage(s,r.serialize(),n),yield f0({from:e,messageType:r.type},n)}catch(o){yield pt({from:e,error:o},n)}finally{i!=null&&await i.close()}}async _writeMessage(e,r,n){n.signal!=null&&(e=l2(e,n.signal)),await Xt([r],i=>Pn(i),e,i0)}async _writeReadMessage(e,r,n){n.signal!=null&&(e=l2(e,n.signal));let i=await Xt([r],s=>Pn(s),e,s=>Ln(s),async s=>{let a=await I6(s);if(a!=null)return a;throw new k("No message received","ERR_NO_MESSAGE_RECEIVED")}),o=Oe.deserialize(i);return o.closerPeers.forEach(s=>{this.dispatchEvent(new qe("peer",{detail:s}))}),o.providerPeers.forEach(s=>{this.dispatchEvent(new qe("peer",{detail:s}))}),o}};var cT=me(O0(),1),cm=me(ve(),1);var lm=me(ms(),1),hm=me(Ke(),1);function jo(t,e){for(let r=0;r<t.byteLength;r++){if(t[r]<e[r])return-1;if(t[r]>e[r])return 1}return t.byteLength>e.byteLength?1:t.byteLength<e.byteLength?-1:0}function Or(t,e){if(t.length!==e.length)throw new Error("Inputs should have the same length");let r=et(t.length);for(let n=0;n<t.length;n++)r[n]=t[n]^e[n];return Er(r)}var e1=class{originDhtKey;capacity;peerDistances;constructor(e,r){this.originDhtKey=e,this.capacity=r,this.peerDistances=[]}get length(){return this.peerDistances.length}get peers(){return this.peerDistances.map(e=>e.peerId)}async add(e){if(this.peerDistances.find(i=>i.peerId.equals(e))!=null)return;let r=await jt(e),n={peerId:e,distance:Or(this.originDhtKey,r)};this.peerDistances.push(n),this.peerDistances.sort((i,o)=>jo(i.distance,o.distance)),this.peerDistances=this.peerDistances.slice(0,this.capacity)}async anyCloser(e){if(e.length===0)return!1;if(this.length===0)return!0;let r=await Promise.all(e.map(jt)),n=this.peerDistances[this.peerDistances.length-1].distance;for(let i of r){let o=Or(this.originDhtKey,i);if(jo(o,n)<0)return!0}return!1}};var t1=class{components;log;routingTable;network;validators;queryManager;constructor(e,r){let{routingTable:n,network:i,validators:o,queryManager:s,lan:a}=r;this.components=e,this.routingTable=n,this.network=i,this.validators=o,this.queryManager=s,this.log=J(`libp2p:kad-dht:${a?"lan":"wan"}:peer-routing`)}async findPeerLocal(e){let r,n=await this.routingTable.find(e);if(n!=null){this.log("findPeerLocal found %p in routing table",e);try{r=await this.components.peerStore.get(n)}catch(i){if(i.code!=="ERR_NOT_FOUND")throw i}}if(r==null)try{r=await this.components.peerStore.get(e)}catch(i){if(i.code!=="ERR_NOT_FOUND")throw i}if(r!=null)return this.log("findPeerLocal found %p in peer store",e),{id:r.id,multiaddrs:r.addresses.map(i=>i.multiaddr),protocols:[]}}async*_getValueSingle(e,r,n={}){let i=new Oe($e.GET_VALUE,r,0);yield*this.network.sendRequest(e,i,n)}async*getPublicKeyFromNode(e,r={}){let n=x6(e);for await(let i of this._getValueSingle(e,n,r))if(yield i,i.name==="PEER_RESPONSE"&&i.record!=null){let o=await B0(wo.marshalPublicKey({bytes:i.record.value}));if(!o.equals(e))throw new k("public key does not match id","ERR_PUBLIC_KEY_DOES_NOT_MATCH_ID");if(o.publicKey==null)throw new k("public key missing","ERR_PUBLIC_KEY_MISSING");yield l0({from:e,value:o.publicKey},r)}throw new k(`Node not responding with its public key: ${e.toString()}`,"ERR_INVALID_RECORD")}async*findPeer(e,r={}){this.log("findPeer %p",e);let n=await this.findPeerLocal(e);if(n!=null){this.log("found local"),yield Go({from:this.components.peerId,peer:n},r);return}let i=this,o=async function*({peer:a,signal:c}){let u=new Oe($e.FIND_NODE,e.toBytes(),0);for await(let f of i.network.sendRequest(a,u,{...r,signal:c}))if(yield f,f.name==="PEER_RESPONSE"){let l=f.closer.find(p=>p.id.equals(e));l!=null&&(yield Go({from:f.from,peer:l},r))}},s=!1;for await(let a of this.queryManager.run(e.toBytes(),o,r))a.name==="FINAL_PEER"&&(s=!0),yield a;s||(yield pt({from:this.components.peerId,error:new k("Not found","ERR_NOT_FOUND")},r))}async*getClosestPeers(e,r={}){this.log("getClosestPeers to %b",e);let n=await an(e),i=this.routingTable.closestPeers(n),o=this,s=new e1(n,this.routingTable.kBucketSize);await Promise.all(i.map(async c=>{await s.add(c)}));let a=async function*({peer:c,signal:u}){o.log("closerPeersSingle %s from %p",Q(e,"base32"),c);let f=new Oe($e.FIND_NODE,e,0);yield*o.network.sendRequest(c,f,{...r,signal:u})};for await(let c of this.queryManager.run(e,a,r))yield c,c.name==="PEER_RESPONSE"&&await Promise.all(c.closer.map(async u=>{await s.add(u.id)}));this.log("found %d peers close to %b",s.length,e);for(let c of s.peers)try{let u=await this.components.peerStore.get(c);yield Go({from:this.components.peerId,peer:{id:c,multiaddrs:u.addresses.map(({multiaddr:f})=>f),protocols:u.protocols}},r)}catch(u){if(u.code!=="ERR_NOT_FOUND")throw u}}async*getValueOrPeers(e,r,n={}){for await(let i of this._getValueSingle(e,r,n)){if(i.name==="PEER_RESPONSE"&&i.record!=null)try{await this._verifyRecordOnline(i.record)}catch{let s="invalid record received, discarded";this.log(s),yield pt({from:i.from,error:new k(s,"ERR_INVALID_RECORD")},n);continue}yield i}}async _verifyRecordOnline(e){if(e.timeReceived==null)throw new k("invalid record received","ERR_INVALID_RECORD");await yi(this.validators,new ze(e.key,e.value,e.timeReceived))}async getCloserPeersOffline(e,r){let n=await an(e),i=this.routingTable.closestPeers(n),o=[];for(let s of i)if(!s.equals(r))try{let a=await this.components.peerStore.get(s);o.push({id:s,multiaddrs:a.addresses.map(({multiaddr:c})=>c),protocols:a.protocols})}catch(a){if(a.code!=="ERR_NOT_FOUND")throw a}return o.length>0?this.log("getCloserPeersOffline found %d peer(s) closer to %b than %p",o.length,e,r):this.log("getCloserPeersOffline could not find peer closer to %b than %p",e,r),o}};var K6=me(d2(),1);var m2=me(B6(),1);var p0=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},y2=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},P6=t=>globalThis.DOMException===void 0?new y2(t):new DOMException(t),N6=t=>{let e=t.reason===void 0?P6("This operation was aborted."):t.reason;return e instanceof Error?e:P6(e)};function g2(t,e,r,n){let i,o=new Promise((s,a)=>{if(typeof e!="number"||Math.sign(e)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${e}\``);if(e===Number.POSITIVE_INFINITY){s(t);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(N6(c)),c.addEventListener("abort",()=>{a(N6(c))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{s(r())}catch(f){a(f)}return}let c=typeof r=="string"?r:`Promise timed out after ${e} milliseconds`,u=r instanceof Error?r:new p0(c);typeof t.cancel=="function"&&t.cancel(),a(u)},e),(async()=>{try{s(await t)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function x2(t,e,r){let n=0,i=t.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(t[s],e)<=0?(n=++s,i-=o+1):i=o}return n}var Dn=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},Fr,v2=class{constructor(){Fr.set(this,[])}enqueue(e,r){r={priority:0,...r};let n={priority:r.priority,run:e};if(this.size&&Dn(this,Fr,"f")[this.size-1].priority>=r.priority){Dn(this,Fr,"f").push(n);return}let i=x2(Dn(this,Fr,"f"),n,(o,s)=>s.priority-o.priority);Dn(this,Fr,"f").splice(i,0,n)}dequeue(){let e=Dn(this,Fr,"f").shift();return e?.run}filter(e){return Dn(this,Fr,"f").filter(r=>r.priority===e.priority).map(r=>r.run)}get size(){return Dn(this,Fr,"f").length}};Fr=new WeakMap;var L6=v2;var Le=function(t,e,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 e=="function"?t!==e||!i:!e.has(t))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(t,r):i?i.value=r:e.set(t,r),r},G=function(t,e,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?t!==e||!n:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(t):n?n.value:e.get(t)},He,y0,g0,un,c1,x0,n1,er,m0,Ct,i1,Rt,v0,cn,o1,D6,k6,F6,U6,O6,s1,b2,w2,u1,M6,a1,f1=class extends Error{},E2=class extends m2.default{constructor(e){var r,n,i,o;if(super(),He.add(this),y0.set(this,void 0),g0.set(this,void 0),un.set(this,0),c1.set(this,void 0),x0.set(this,void 0),n1.set(this,0),er.set(this,void 0),m0.set(this,void 0),Ct.set(this,void 0),i1.set(this,void 0),Rt.set(this,0),v0.set(this,void 0),cn.set(this,void 0),o1.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),e={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:L6,...e},!(typeof e.intervalCap=="number"&&e.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=e.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof e.intervalCap})`);if(e.interval===void 0||!(Number.isFinite(e.interval)&&e.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(o=(i=e.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof e.interval})`);Le(this,y0,e.carryoverConcurrencyCount,"f"),Le(this,g0,e.intervalCap===Number.POSITIVE_INFINITY||e.interval===0,"f"),Le(this,c1,e.intervalCap,"f"),Le(this,x0,e.interval,"f"),Le(this,Ct,new e.queueClass,"f"),Le(this,i1,e.queueClass,"f"),this.concurrency=e.concurrency,this.timeout=e.timeout,Le(this,o1,e.throwOnTimeout===!0,"f"),Le(this,cn,e.autoStart===!1,"f")}get concurrency(){return G(this,v0,"f")}set concurrency(e){if(!(typeof e=="number"&&e>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${e}\` (${typeof e})`);Le(this,v0,e,"f"),G(this,He,"m",u1).call(this)}async add(e,r={}){return r={timeout:this.timeout,throwOnTimeout:G(this,o1,"f"),...r},new Promise((n,i)=>{G(this,Ct,"f").enqueue(async()=>{var o,s,a;Le(this,Rt,(s=G(this,Rt,"f"),s++,s),"f"),Le(this,un,(a=G(this,un,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new f1("The task was aborted.");let c=e({signal:r.signal});r.timeout&&(c=g2(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,G(this,He,"m",M6).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof p0&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{G(this,He,"m",F6).call(this)}},r),this.emit("add"),G(this,He,"m",s1).call(this)})}async addAll(e,r){return Promise.all(e.map(async n=>this.add(n,r)))}start(){return G(this,cn,"f")?(Le(this,cn,!1,"f"),G(this,He,"m",u1).call(this),this):this}pause(){Le(this,cn,!0,"f")}clear(){Le(this,Ct,new(G(this,i1,"f")),"f")}async onEmpty(){G(this,Ct,"f").size!==0&&await G(this,He,"m",a1).call(this,"empty")}async onSizeLessThan(e){G(this,Ct,"f").size<e||await G(this,He,"m",a1).call(this,"next",()=>G(this,Ct,"f").size<e)}async onIdle(){G(this,Rt,"f")===0&&G(this,Ct,"f").size===0||await G(this,He,"m",a1).call(this,"idle")}get size(){return G(this,Ct,"f").size}sizeBy(e){return G(this,Ct,"f").filter(e).length}get pending(){return G(this,Rt,"f")}get isPaused(){return G(this,cn,"f")}};y0=new WeakMap,g0=new WeakMap,un=new WeakMap,c1=new WeakMap,x0=new WeakMap,n1=new WeakMap,er=new WeakMap,m0=new WeakMap,Ct=new WeakMap,i1=new WeakMap,Rt=new WeakMap,v0=new WeakMap,cn=new WeakMap,o1=new WeakMap,He=new WeakSet,D6=function(){return G(this,g0,"f")||G(this,un,"f")<G(this,c1,"f")},k6=function(){return G(this,Rt,"f")<G(this,v0,"f")},F6=function(){var e;Le(this,Rt,(e=G(this,Rt,"f"),e--,e),"f"),G(this,He,"m",s1).call(this),this.emit("next")},U6=function(){G(this,He,"m",w2).call(this),G(this,He,"m",b2).call(this),Le(this,m0,void 0,"f")},O6=function(){let e=Date.now();if(G(this,er,"f")===void 0){let r=G(this,n1,"f")-e;if(r<0)Le(this,un,G(this,y0,"f")?G(this,Rt,"f"):0,"f");else return G(this,m0,"f")===void 0&&Le(this,m0,setTimeout(()=>{G(this,He,"m",U6).call(this)},r),"f"),!0}return!1},s1=function(){if(G(this,Ct,"f").size===0)return G(this,er,"f")&&clearInterval(G(this,er,"f")),Le(this,er,void 0,"f"),this.emit("empty"),G(this,Rt,"f")===0&&this.emit("idle"),!1;if(!G(this,cn,"f")){let e=!G(this,He,"a",O6);if(G(this,He,"a",D6)&&G(this,He,"a",k6)){let r=G(this,Ct,"f").dequeue();return r?(this.emit("active"),r(),e&&G(this,He,"m",b2).call(this),!0):!1}}return!1},b2=function(){G(this,g0,"f")||G(this,er,"f")!==void 0||(Le(this,er,setInterval(()=>{G(this,He,"m",w2).call(this)},G(this,x0,"f")),"f"),Le(this,n1,Date.now()+G(this,x0,"f"),"f"))},w2=function(){G(this,un,"f")===0&&G(this,Rt,"f")===0&&G(this,er,"f")&&(clearInterval(G(this,er,"f")),Le(this,er,void 0,"f")),Le(this,un,G(this,y0,"f")?G(this,Rt,"f"):0,"f"),G(this,He,"m",u1).call(this)},u1=function(){for(;G(this,He,"m",s1).call(this););},M6=async function(e){return new Promise((r,n)=>{e.addEventListener("abort",()=>{n(new f1("The task was aborted."))},{once:!0})})},a1=async function(e,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(e,i),n())};this.on(e,i)})};var fn=E2;var Mr=J("libp2p:kad-dht:providers"),l1=class{components;cache;cleanupInterval;provideValidity;syncQueue;started;cleaner;constructor(e,r={}){let{cacheSize:n,cleanupInterval:i,provideValidity:o}=r;this.components=e,this.cleanupInterval=i??36e5,this.provideValidity=o??864e5,this.cache=(0,K6.default)(n??256),this.syncQueue=new fn({concurrency:1}),this.started=!1}isStarted(){return this.started}async start(){this.started||(this.started=!0,this.cleaner=setInterval(()=>{this._cleanup().catch(e=>{Mr.error(e)})},this.cleanupInterval))}async stop(){this.started=!1,this.cleaner!=null&&(clearInterval(this.cleaner),this.cleaner=void 0)}async _cleanup(){await this.syncQueue.add(async()=>{let e=Date.now(),r=0,n=0,i=new Map,o=this.components.datastore.batch(),s=this.components.datastore.query({prefix:za});for await(let a of s)try{let{cid:c,peerId:u}=V6(a.key),f=q6(a.value).getTime(),l=Date.now(),p=l-f,d=p>this.provideValidity;if(Mr("comparing: %d - %d = %d > %d %s",l,f,p,this.provideValidity,d?"(expired)":""),d){n++,o.delete(a.key);let h=i.get(c)??new Set;h.add(u),i.set(c,h)}r++}catch(c){Mr.error(c.message)}i.size>0?(Mr("deleting %d / %d entries",n,r),await o.commit()):Mr("nothing to delete");for(let[a,c]of i){let u=b0(a),f=this.cache.get(u);if(f!=null){for(let l of c)f.delete(l);f.size===0?this.cache.remove(u):this.cache.set(u,f)}}Mr("Cleanup successful (%dms)",Date.now()-e)})}async _getProvidersMap(e){let r=b0(e),n=this.cache.get(r);return n==null&&(n=await vm(this.components.datastore,e),this.cache.set(r,n)),n}async addProvider(e,r){await this.syncQueue.add(async()=>{Mr("%p provides %s",r,e);let n=await this._getProvidersMap(e);Mr("loaded %s provs",n.size);let i=new Date;n.set(r.toString(),i);let o=b0(e);this.cache.set(o,n),await xm(this.components.datastore,e,r,i)})}async getProviders(e){return this.syncQueue.add(async()=>(Mr("get providers for %s",e),[...(await this._getProvidersMap(e)).keys()].map(n=>Ce(n))),{throwOnTimeout:!0})}};function b0(t){let e=typeof t=="string"?t:Q(t.multihash.bytes,"base32");return`${za}/${e}`}async function xm(t,e,r,n){let i=[b0(e),"/",r.toString()].join(""),o=new lr(i),s=pr(n.getTime());await t.put(o,s)}function V6(t){let e=t.toString().split("/");if(e.length!==5)throw new Error(`incorrectly formatted provider entry key in datastore: ${t.toString()}`);return{cid:e[3],peerId:e[4]}}async function vm(t,e){let r=new Map,n=t.query({prefix:b0(e)});for await(let i of n){let{peerId:o}=V6(i.key);r.set(o,q6(i.value))}return r}function q6(t){return new Date(Jt(t))}var kn=me(I2(),1);function Kr(t,e){let r={[Symbol.iterator]:()=>r,next:()=>{let n=t.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:e(i)}}};return r}var A2=class{map;constructor(e){if(this.map=new Map,e!=null)for(let[r,n]of e.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(e){this.map.delete(e.toString())}entries(){return Kr(this.map.entries(),e=>[Ce(e[0]),e[1]])}forEach(e){this.map.forEach((r,n)=>{e(r,Ce(n),this)})}get(e){return this.map.get(e.toString())}has(e){return this.map.has(e.toString())}set(e,r){this.map.set(e.toString(),r)}keys(){return Kr(this.map.keys(),e=>Ce(e))}values(){return this.map.values()}get size(){return this.map.size}};var ln=class t{set;constructor(e){if(this.set=new Set,e!=null)for(let r of e)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(e){this.set.add(e.toString())}clear(){this.set.clear()}delete(e){this.set.delete(e.toString())}entries(){return Kr(this.set.entries(),e=>{let r=Ce(e[0]);return[r,r]})}forEach(e){this.set.forEach(r=>{let n=Ce(r);e(n,n,this)})}has(e){return this.set.has(e.toString())}values(){return Kr(this.set.values(),e=>Ce(e))}intersection(e){let r=new t;for(let n of e)this.has(n)&&r.add(n);return r}difference(e){let r=new t;for(let n of this)e.has(n)||r.add(n);return r}union(e){let r=new t;for(let n of e)r.add(n);for(let n of this)r.add(n);return r}};var T2=class t{list;constructor(e){if(this.list=[],e!=null)for(let r of e)this.list.push(r.toString())}[Symbol.iterator](){return Kr(this.list.entries(),e=>Ce(e[1]))}concat(e){let r=new t(this);for(let n of e)r.push(n);return r}entries(){return Kr(this.list.entries(),e=>[e[0],Ce(e[1])])}every(e){return this.list.every((r,n)=>e(Ce(r),n,this))}filter(e){let r=new t;return this.list.forEach((n,i)=>{let o=Ce(n);e(o,i,this)&&r.push(o)}),r}find(e){let r=this.list.find((n,i)=>e(Ce(n),i,this));if(r!=null)return Ce(r)}findIndex(e){return this.list.findIndex((r,n)=>e(Ce(r),n,this))}forEach(e){this.list.forEach((r,n)=>{e(Ce(r),n,this)})}includes(e){return this.list.includes(e.toString())}indexOf(e){return this.list.indexOf(e.toString())}pop(){let e=this.list.pop();if(e!=null)return Ce(e)}push(...e){for(let r of e)this.list.push(r.toString())}shift(){let e=this.list.shift();if(e!=null)return Ce(e)}unshift(...e){let r=this.list.length;for(let n=e.length-1;n>-1;n--)r=this.list.unshift(e[n].toString());return r}get length(){return this.list.length}};function Si(t){let e=new globalThis.AbortController;function r(){e.abort();for(let o of t)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}for(let o of t){if(o?.aborted===!0){r();break}o?.addEventListener!=null&&o.addEventListener("abort",r)}function n(){for(let o of t)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}let i=e.signal;return i.clear=n,i}var Tm=BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");async function*j6(t){let{key:e,startingPeer:r,ourPeerId:n,signal:i,query:o,alpha:s,pathIndex:a,numPaths:c,cleanUp:u,queryFuncTimeout:f,log:l,peersSeen:p}=t,d=new fn({concurrency:s}),h=await an(e);function m(y,g){if(y==null)return;p.add(y);let x=BigInt("0x"+Q(Or(g,h),"base16"));d.add(async()=>{let v=[i];f!=null&&v.push(AbortSignal.timeout(f));let R=Si(v);try{for await(let E of o({key:e,peer:y,signal:R,pathIndex:a,numPaths:c})){if(R.aborted)return;if(E.name==="PEER_RESPONSE")for(let S of E.closer){if(p.has(S.id)){l("already seen %p in query",S.id);continue}if(n.equals(S.id)){l("not querying ourselves");continue}let D=await jt(S.id);if(BigInt("0x"+Q(Or(D,h),"base16"))>x){l("skipping %p as they are not closer to %b than %p",S.id,e,y);continue}l("querying closer peer %p",S.id),m(S.id,D)}d.emit("completed",E)}}catch(E){if(!i.aborted)return pt({from:y,error:E},t)}finally{R.clear()}},{priority:Tm-x}).catch(v=>{l.error(v)})}m(r,await jt(r)),yield*_m(d,i,u,l)}async function*_m(t,e,r,n){let i=ct(),o=!0,s=[],a=()=>{o&&(n("clean up queue, results %d, queue size %d, pending tasks %d",s.length,t.size,t.pending),o=!1,t.clear(),s.splice(0,s.length))};for(t.on("completed",c=>{s.push(c),i.resolve()}),t.on("error",c=>{n("queue error",c),a(),i.reject(c)}),t.on("idle",()=>{n("queue idle"),o=!1,i.resolve()}),e.addEventListener("abort",()=>{n("abort queue");let c=o;a(),c&&i.reject(new k("Query aborted","ERR_QUERY_ABORTED"))}),r.addEventListener("cleanup",()=>{a(),i.resolve()});o;)for(await i.promise,i=ct();s.length>0;){let c=s.shift();c!=null&&(yield c)}yield*s}var m1=class{components;lan;disjointPaths;alpha;shutDownController;running;queries;metrics;routingTable;initialQuerySelfHasRun;constructor(e,r){let{lan:n=!1,disjointPaths:i=20,alpha:o=3}=r;this.components=e,this.disjointPaths=i??20,this.running=!1,this.alpha=o??3,this.lan=n,this.queries=0,this.initialQuerySelfHasRun=r.initialQuerySelfHasRun,this.routingTable=r.routingTable,this.shutDownController=new AbortController;try{kn.setMaxListeners!=null&&(0,kn.setMaxListeners)(1/0,this.shutDownController.signal)}catch{}}isStarted(){return this.running}async start(){this.running=!0,this.components.metrics!=null&&this.metrics==null&&(this.metrics={runningQueries:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_running_queries`),queryTime:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_query_time_seconds`)})}async stop(){this.running=!1,this.shutDownController.abort()}async*run(e,r,n={}){if(!this.running)throw new Error("QueryManager not started");let i=this.metrics?.queryTime.timer();if(n.signal==null){n.signal=AbortSignal.timeout(3e4);try{kn.setMaxListeners!=null&&(0,kn.setMaxListeners)(1/0,n.signal)}catch{}}let o=Si([this.shutDownController.signal,n.signal]);try{kn.setMaxListeners!=null&&(0,kn.setMaxListeners)(1/0,o)}catch{}let s=J(`libp2p:kad-dht:${this.lan?"lan":"wan"}:query:`+Q(e,"base58btc")),a=Date.now(),c=new at;try{n.isSelfQuery!==!0&&this.initialQuerySelfHasRun!=null&&(s("waiting for initial query-self query before continuing"),await Promise.race([new Promise((h,m)=>{o.addEventListener("abort",()=>{m(new A0("Query was aborted before self-query ran"))})}),this.initialQuerySelfHasRun.promise]),this.initialQuerySelfHasRun=void 0),s("query:start"),this.queries++,this.metrics?.runningQueries.update(this.queries);let u=await an(e),f=this.routingTable.closestPeers(u),l=f.slice(0,Math.min(this.disjointPaths,f.length));if(f.length===0){s.error("Running query with no peers");return}let p=new ln,d=l.map((h,m)=>j6({key:e,startingPeer:h,ourPeerId:this.components.peerId,signal:o,query:r,pathIndex:m,numPaths:l.length,alpha:this.alpha,cleanUp:c,queryFuncTimeout:n.queryFuncTimeout,log:s,peersSeen:p,onProgress:n.onProgress}));for await(let h of Wt(...d))yield h,h.name==="QUERY_ERROR"&&s("error",h.error)}catch(u){if(!(!this.running&&u.code==="ERR_QUERY_ABORTED"))throw u}finally{o.clear(),this.queries--,this.metrics?.runningQueries.update(this.queries),i?.(),c.dispatchEvent(new qe("cleanup")),s("query:done in %dms",Date.now()-a)}}};var R2=me(I2(),1);function Rm(t){return t[Symbol.asyncIterator]!=null}function Bm(t){if(Rm(t))return(async()=>{let e=0;for await(let r of t)e++;return e})();{let e=0;for(let r of t)e++;return e}}var y1=Bm;function Pm(t){return t[Symbol.asyncIterator]!=null}function Nm(t,e){return Pm(t)?async function*(){let r=0;if(!(e<1)){for await(let n of t)if(yield n,r++,r===e)return}}():function*(){let r=0;if(!(e<1)){for(let n of t)if(yield n,r++,r===e)return}}()}var e5=Nm;var g1=class extends Error{constructor(e){super(e),this.name="TimeoutError"}},_2=class extends Error{constructor(e){super(),this.name="AbortError",this.message=e}},t5=t=>globalThis.DOMException===void 0?new _2(t):new DOMException(t),r5=t=>{let e=t.reason===void 0?t5("This operation was aborted."):t.reason;return e instanceof Error?e:t5(e)};function C2(t,e){let{milliseconds:r,fallback:n,message:i,customTimers:o={setTimeout,clearTimeout}}=e,s,c=new Promise((u,f)=>{if(typeof r!="number"||Math.sign(r)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${r}\``);if(e.signal){let{signal:p}=e;p.aborted&&f(r5(p)),p.addEventListener("abort",()=>{f(r5(p))})}if(r===Number.POSITIVE_INFINITY){t.then(u,f);return}let l=new g1;s=o.setTimeout.call(void 0,()=>{if(n){try{u(n())}catch(p){f(p)}return}typeof t.cancel=="function"&&t.cancel(),i===!1?u():i instanceof Error?f(i):(l.message=i??`Promise timed out after ${r} milliseconds`,f(l))},r),(async()=>{try{u(await t)}catch(p){f(p)}})()}).finally(()=>{c.clear()});return c.clear=()=>{o.clearTimeout.call(void 0,s),s=void 0},c}var Lm=t=>{let e=t.on||t.addListener||t.addEventListener,r=t.off||t.removeListener||t.removeEventListener;if(!e||!r)throw new TypeError("Emitter is not compatible");return{addListener:e.bind(t),removeListener:r.bind(t)}};function Dm(t,e,r){let n,i=new Promise((o,s)=>{if(r={rejectionEvents:["error"],multiArgs:!1,resolveImmediately:!1,...r},!(r.count>=0&&(r.count===Number.POSITIVE_INFINITY||Number.isInteger(r.count))))throw new TypeError("The `count` option should be at least 0 or more");r.signal?.throwIfAborted();let a=[e].flat(),c=[],{addListener:u,removeListener:f}=Lm(t),l=(...d)=>{let h=r.multiArgs?d:d[0];r.filter&&!r.filter(h)||(c.push(h),r.count===c.length&&(n(),o(c)))},p=d=>{n(),s(d)};n=()=>{for(let d of a)f(d,l);for(let d of r.rejectionEvents)f(d,p)};for(let d of a)u(d,l);for(let d of r.rejectionEvents)u(d,p);r.signal&&r.signal.addEventListener("abort",()=>{p(r.signal.reason)},{once:!0}),r.resolveImmediately&&o(c)});if(i.cancel=n,typeof r.timeout=="number"){let o=C2(i,{milliseconds:r.timeout});return o.cancel=n,o}return i}function n5(t,e,r){typeof r=="function"&&(r={filter:r}),r={...r,count:1,resolveImmediately:!1};let n=Dm(t,e,r),i=n.then(o=>o[0]);return i.cancel=n.cancel,i}var x1=class{log;components;peerRouting;routingTable;count;interval;initialInterval;queryTimeout;started;timeoutId;controller;initialQuerySelfHasRun;querySelfPromise;constructor(e,r){let{peerRouting:n,lan:i,count:o,interval:s,queryTimeout:a,routingTable:c}=r;this.components=e,this.log=J(`libp2p:kad-dht:${i?"lan":"wan"}:query-self`),this.started=!1,this.peerRouting=n,this.routingTable=c,this.count=o??20,this.interval=s??3e5,this.initialInterval=r.initialInterval??1e3,this.queryTimeout=a??5e3,this.initialQuerySelfHasRun=r.initialQuerySelfHasRun}isStarted(){return this.started}start(){this.started||(this.started=!0,clearTimeout(this.timeoutId),this.timeoutId=setTimeout(()=>{this.querySelf().catch(e=>{this.log.error("error running self-query",e)})},this.initialInterval))}stop(){this.started=!1,this.timeoutId!=null&&clearTimeout(this.timeoutId),this.controller!=null&&this.controller.abort()}async querySelf(){if(!this.started){this.log("skip self-query because we are not started");return}if(this.querySelfPromise!=null)return this.log("joining existing self query"),this.querySelfPromise.promise;if(this.querySelfPromise=ct(),this.started){this.controller=new AbortController;let e=Si([this.controller.signal,AbortSignal.timeout(this.queryTimeout)]);try{R2.setMaxListeners!=null&&(0,R2.setMaxListeners)(1/0,e)}catch{}try{this.routingTable.size===0&&(this.log("routing table was empty, waiting for some peers before running query"),await n5(this.routingTable,"peer:add",{signal:e})),this.log("run self-query, look for %d peers timing out after %dms",this.count,this.queryTimeout);let r=Date.now(),n=await Xt(this.peerRouting.getClosestPeers(this.components.peerId.toBytes(),{signal:e,isSelfQuery:!0}),i=>e5(i,this.count),async i=>y1(i));this.log("self-query found %d peers in %dms",n,Date.now()-r)}catch(r){this.log.error("self-query error",r)}finally{e.clear(),this.initialQuerySelfHasRun!=null&&(this.initialQuerySelfHasRun.resolve(),this.initialQuerySelfHasRun=void 0)}}this.querySelfPromise.resolve(),this.querySelfPromise=void 0,this.started&&(this.timeoutId=setTimeout(()=>{this.querySelf().catch(e=>{this.log.error("error running self-query",e)})},this.interval))}};function i5(t,e){if(t===e)return!0;if(t.length!==e.length)return!1;for(let r=0,n=t.length;r<n;++r)if(t[r]!==e[r])return!1;return!0}function B2(){return{contacts:[],dontSplit:!1,left:null,right:null}}function w0(t,e){if(!(e instanceof Uint8Array))throw new TypeError(t+" is not a Uint8Array")}var v1=class t extends at{localNodeId;root;numberOfNodesPerKBucket;numberOfNodesToPing;distance;arbiter;constructor(e){super(),this.localNodeId=e.localNodeId,this.numberOfNodesPerKBucket=e.numberOfNodesPerKBucket??20,this.numberOfNodesToPing=e.numberOfNodesToPing??3,this.distance=e.distance??t.distance,this.arbiter=e.arbiter??t.arbiter,w0("option.localNodeId as parameter 1",this.localNodeId),this.root=B2()}static arbiter(e,r){return(e.vectorClock??0)>(r.vectorClock??0)?e:r}static distance(e,r){let n=0,i=0,o=Math.min(e.length,r.length),s=Math.max(e.length,r.length);for(;i<o;++i)n=n*256+(e[i]^r[i]);for(;i<s;++i)n=n*256+255;return n}add(e){w0("contact.id",e?.id);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,e.id,r++);let i=this._indexOf(n,e.id);return i>=0?(this._update(n,i,e),this):n.contacts.length<this.numberOfNodesPerKBucket?(n.contacts.push(e),this.safeDispatchEvent("added",{detail:e}),this):n.dontSplit?(this.safeDispatchEvent("ping",{detail:{oldContacts:n.contacts.slice(0,this.numberOfNodesToPing),newContact:e}}),this):(this._split(n,r),this.add(e))}closest(e,r=1/0){if(w0("id",e),!Number.isInteger(r)&&r!==1/0||r<=0)throw new TypeError("n is not positive number");let n=[];for(let i=[this.root],o=0;i.length>0&&n.length<r;){let s=i.pop();if(s!=null)if(s.contacts===null){let a=this._determineNode(s,e,o++);i.push(s.left===a?s.right:s.left),i.push(a)}else n=n.concat(s.contacts)}return n.map(i=>({distance:this.distance(i.id,e),contact:i})).sort((i,o)=>i.distance-o.distance).slice(0,r).map(i=>i.contact)}count(){let e=0;for(let r=[this.root];r.length>0;){let n=r.pop();n!=null&&(n.contacts===null?r.push(n.right,n.left):e+=n.contacts.length)}return e}_determineNode(e,r,n){let i=n>>3,o=n%8;return r.length<=i&&o!==0?e.left:r[i]&1<<7-o?e.right:e.left}get(e){w0("id",e);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,e,r++);let i=this._indexOf(n,e);return i>=0?n.contacts[i]:void 0}_indexOf(e,r){for(let n=0;n<e.contacts.length;++n)if(i5(e.contacts[n].id,r))return n;return-1}remove(e){w0("the id as parameter 1",e);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,e,r++);let i=this._indexOf(n,e);if(i>=0){let o=n.contacts.splice(i,1)[0];this.safeDispatchEvent("removed",{detail:o})}return this}_split(e,r){e.left=B2(),e.right=B2();for(let o of e.contacts)this._determineNode(e,o.id,r).contacts.push(o);e.contacts=null;let n=this._determineNode(e,this.localNodeId,r),i=e.left===n?e.right:e.left;i.dontSplit=!0}toArray(){let e=[];for(let r=[this.root];r.length>0;){let n=r.pop();n!=null&&(n.contacts===null?r.push(n.right,n.left):e=e.concat(n.contacts))}return e}*toIterable(){for(let e=[this.root];e.length>0;){let r=e.pop();r!=null&&(r.contacts===null?e.push(r.right,r.left):yield*r.contacts)}}_update(e,r,n){if(!i5(e.contacts[r].id,n.id))throw new Error("wrong index for _update");let i=e.contacts[r],o=this.arbiter(i,n);o===i&&i!==n||(e.contacts.splice(r,1),e.contacts.push(o),this.safeDispatchEvent("updated",{detail:{incumbent:i,selection:o}}))}};var Fm="kad-close",Mm=50,o5=20,Km=1e4,Vm=10,b1=class extends at{kBucketSize;kb;pingQueue;log;components;lan;pingTimeout;pingConcurrency;running;protocol;tagName;tagValue;metrics;constructor(e,r){super();let{kBucketSize:n,pingTimeout:i,lan:o,pingConcurrency:s,protocol:a,tagName:c,tagValue:u}=r;this.components=e,this.log=J(`libp2p:kad-dht:${o?"lan":"wan"}:routing-table`),this.kBucketSize=n??o5,this.pingTimeout=i??Km,this.pingConcurrency=s??Vm,this.lan=o,this.running=!1,this.protocol=a,this.tagName=c??Fm,this.tagValue=u??Mm;let f=()=>{this.metrics?.pingQueueSize.update(this.pingQueue.size),this.metrics?.pingRunning.update(this.pingQueue.pending)};this.pingQueue=new fn({concurrency:this.pingConcurrency}),this.pingQueue.addListener("add",f),this.pingQueue.addListener("next",f),this._onPing=this._onPing.bind(this)}isStarted(){return this.running}async start(){this.running=!0,this.components.metrics!=null&&(this.metrics={routingTableSize:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_routing_table_size`),pingQueueSize:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_ping_queue_size`),pingRunning:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_ping_running`)});let e=new v1({localNodeId:await jt(this.components.peerId),numberOfNodesPerKBucket:this.kBucketSize,numberOfNodesToPing:1});this.kb=e,e.addEventListener("ping",this._onPing),this._tagPeers(e)}async stop(){this.running=!1,this.pingQueue.clear(),this.kb=void 0}_tagPeers(e){let r=new ln,n=w6(()=>{let i=new ln(e.closest(e.localNodeId,o5).map(a=>a.peer)),o=i.difference(r),s=r.difference(i);Promise.resolve().then(async()=>{for(let a of o)await this.components.peerStore.merge(a,{tags:{[this.tagName]:{value:this.tagValue}}});for(let a of s)await this.components.peerStore.merge(a,{tags:{[this.tagName]:void 0}})}).catch(a=>{this.log.error("Could not update peer tags",a)}),r=i});e.addEventListener("added",i=>{n(),this.safeDispatchEvent("peer:add",{detail:i.detail.peer})}),e.addEventListener("removed",i=>{n(),this.safeDispatchEvent("peer:remove",{detail:i.detail.peer})})}_onPing(e){let{oldContacts:r,newContact:n}=e.detail;this.pingQueue.add(async()=>{if(!this.running)return;let i=0;try{await Promise.all(r.map(async o=>{try{let s={signal:AbortSignal.timeout(this.pingTimeout)};this.log("pinging old contact %p",o.peer),await(await(await this.components.connectionManager.openConnection(o.peer,s)).newStream(this.protocol,s)).close(),i++}catch(s){this.running&&this.kb!=null&&(this.log.error("could not ping peer %p",o.peer,s),this.log("evicting old contact after ping failed %p",o.peer),this.kb.remove(o.id))}finally{this.metrics?.routingTableSize.update(this.size)}})),this.running&&i<r.length&&this.kb!=null&&(this.log("adding new contact %p",n.peer),this.kb.add(n))}catch(o){this.log.error("could not process k-bucket ping event",o)}}).catch(i=>{this.log.error("could not process k-bucket ping event",i)})}get size(){return this.kb==null?0:this.kb.count()}async find(e){let r=await jt(e),n=this.closestPeer(r);if(n!=null&&e.equals(n))return n}closestPeer(e){let r=this.closestPeers(e,1);if(r.length>0)return r[0]}closestPeers(e,r=this.kBucketSize){return this.kb==null?[]:this.kb.closest(e,r).map(i=>i.peer)}async add(e){if(this.kb==null)throw new Error("RoutingTable is not started");let r=await jt(e);this.kb.add({id:r,peer:e}),this.log("added %p with kad id %b",e,r),this.metrics?.routingTableSize.update(this.size)}async remove(e){if(this.kb==null)throw new Error("RoutingTable is not started");let r=await jt(e);this.kb.remove(r),this.metrics?.routingTableSize.update(this.size)}};var s5=[77591,22417,43971,28421,740,29829,71467,228973,196661,78537,27689,36431,44415,14362,19456,106025,96308,2882,49509,21149,87173,131409,75844,23676,121838,30291,17492,2953,7564,110620,129477,127283,53113,72417,165166,109690,21200,102125,24049,71504,90342,25307,72039,26812,26715,32264,133800,71161,88956,171987,51779,24425,16671,30251,186294,247761,14202,2121,8465,35024,4876,85917,169730,3638,256836,96184,943,18678,6583,52907,35807,112254,214097,18796,11595,9243,23554,887,268203,382004,24590,111335,11625,16619,29039,102425,69006,97976,92362,32552,63717,41433,128974,137630,59943,10019,13986,35430,33665,108037,43799,43280,38195,29078,58629,18265,14425,46832,235538,40830,77881,110717,58937,3463,325358,51300,47623,117252,19007,10170,20540,91237,294813,4951,79841,56232,36270,128547,69209,66275,100156,32063,73531,34439,80937,28892,44466,88595,216307,32583,49620,16605,82127,45807,21630,78726,20235,40163,111007,96926,5567,72083,21665,58844,39419,179767,48328,42662,51550,5251,37811,49608,81056,50854,55513,20922,18891,197409,164656,32593,71449,220474,58919,85682,67854,13758,35066,3565,61905,214793,119572,141419,21504,10302,27354,67003,46131,32668,15165,64871,34450,17821,2757,11452,34189,5160,12257,85523,560,53385,65887,119549,135620,312353,115979,122356,10867,193231,124537,54783,90675,120791,4715,142253,50943,17271,43358,25331,4917,120566,34580,12878,33786,160528,32523,4869,301307,104817,81491,23276,8832,97911,31265,52065,7998,49622,9715,43998,34091,84587,20664,69041,29419,53205,10838,58288,116145,6185,5154,141795,35924,21307,144738,43730,12085,8279,10002,119,133779,199668,72938,31768,39176,67875,38453,9700,44144,4121,116048,41733,12868,82669,92308,128,34262,11332,7712,90764,36141,13553,71312,77470,117314,96549,49135,23602,54468,28605,6327,62308,17171,67531,21319,14105,894,107722,46157,8503,51069,100472,45138,15246,14577,35609,191464,1757,13364,161349,32067,91705,81144,52339,5408,91066,21983,14157,100545,4372,26630,129112,1423,29676,213626,4397,88436,99190,6877,49958,26122,114348,60661,29818,293118,50042,179738,16400,163423,89627,31040,43973,36638,45952,5153,1894,109322,1898,134021,12402,112077,68309,190269,69866,31938,107383,11522,105232,11248,14868,39852,71707,186525,16530,38162,106212,11700,5130,16608,26998,59586,108399,230033,43683,48135,82179,2073,5015,196684,189293,16378,23452,8301,35640,11632,214551,29240,57644,33137,91949,55157,52384,117313,5090,17717,89668,49363,82238,241035,66216,29066,184088,97206,62820,26595,4241,135635,173672,8202,459,71355,146294,29587,3008,135385,141203,14803,6634,45094,69362,50925,546,51884,62011,83296,234584,44515,56050,89476,87751,19373,12691,149923,19794,13833,35846,87557,58339,2884,19145,25647,12224,11024,77338,64608,122297,53025,7205,36189,36294,170779,21750,7739,173883,75192,35664,224240,113121,30181,26267,27036,117827,92015,106516,55628,203549,67949,60462,60844,35911,20457,1820,920,19773,8738,73173,181993,38521,98254,76257,46008,92796,5384,26868,151566,22124,2411,15919,186872,180021,28099,152961,78811,80237,62352,102653,74259,184890,16792,123702,224945,29940,19512,75283,14059,112691,92811,233329,20411,138569,53341,109802,50600,134528,66747,5529,166531,31578,64732,67189,1596,126357,967,167999,206598,109752,119431,207825,78791,91938,10301,27311,24233,252343,28831,32812,66002,112267,90895,8786,8095,16824,22866,21813,60507,174833,19549,130985,117051,52110,6938,81923,123864,38061,919,18680,53534,46739,112893,161529,85429,26761,11900,81121,91968,15390,217947,56524,1713,6654,37089,85630,138866,61850,16491,75577,16884,98296,73523,6140,44645,6062,36366,29844,57946,37932,42472,5266,20834,19309,33753,127182,134259,35810,41805,45878,312001,14881,47757,49251,120050,44252,3708,25856,107864,120347,1228,36550,41682,34496,47025,8393,173365,246526,12894,161607,35670,90785,126572,2095,124731,157033,58694,554,12786,9642,4817,16136,47864,174698,66992,4639,69284,10625,40710,27763,51738,30404,264105,137904,109882,52487,42824,57514,2740,10479,146799,107390,16586,88038,174951,9410,16185,44158,5568,40658,46108,12763,97385,26175,108859,664,230732,67470,46663,14395,50750,141320,93140,15361,47997,55784,6791,307840,118569,107326,18056,58281,260415,54691,8790,73332,45633,7511,45674,143373,14031,11799,94491,35646,96544,14560,26049,32983,25791,83814,42094,231370,63955,139212,2359,169908,3108,183486,105867,28197,32941,124968,26402,88267,149768,23053,3078,19091,52924,25383,19209,111548,97361,3959,24880,235061,9099,24921,161254,151405,20508,7159,34381,20133,11434,74036,19974,34769,36585,1076,22454,17354,38727,235160,111547,96454,117448,156940,91330,37299,7310,26915,117060,51369,22620,61861,322264,106850,111694,15091,2624,40345,300446,177064,1707,27389,54792,327783,132669,183543,59003,17744,20603,151134,106923,53084,71803,279424,319816,11579,21946,16728,38274,72711,5085,83391,88646,40159,25027,34680,10752,12988,54126,30365,18338,100445,230674,44874,84974,143877,123253,139372,28082,91477,144002,13096,219729,46016,50029,42377,14601,6660,58244,58978,23918,88206,113611,64452,17541,41032,10942,12021,49189,10978,40175,37156,10947,71709,106894,112538,57007,137486,150608,152719,40615,7746,279716,13101,19524,28708,40578,72320,1096,182051,94527,51275,22833,45164,81917,77519,48508,5421,140302,37845,149830,5587,27579,5357,428725,248187,6326,206760,39814,32585,89923,44341,288753,284443,96368,31201,94189,119504,20359,52073,103216,179,27934,32801,96035,34111,34309,101326,18198,20704,210266,37643,27880,141873,106e3,19414,56614,167714,66483,107885,86602,4379,20796,75467,4987,5017,118857,26003,34308,114428,29198,6686,29697,73632,3739,69795,16798,41504,7207,30722,21436,36735,28067,28545,3239,11221,36031,41889,100010,19247,317673,29495,174554,6424,129725,53845,94986,7955,59676,2604,191497,19735,102214,62954,23844,11872,179525,261436,34492,428,78404,142035,16747,17246,27578,37021,33672,57944,26056,135760,2369,61674,122066,31327,19374,157065,40553,130982,69619,71290,38855,72100,92903,95940,51422,165999,65713,57873,50726,7288,20272,2081,42326,22624,81120,57914,79352,19447,1684,72302,11774,302559,161481,96396,13692,414988,3721,79066,56627,46883,21150,11747,12184,5856,113458,176117,84416,52079,27933,3354,59765,141359,2212,216309,2555,23458,196722,142463,45701,44548,28798,19418,215,29916,9396,10574,114226,84475,13520,18694,34056,4524,90302,62930,13539,19407,77209,7728,38088,9535,2263,23875,183945,17750,26274,67172,10585,28042,22199,7478,51331,66030,26774,192929,31434,25850,50197,52926,178158,4679,181256,70184,229600,9959,105594,72158,73974,2726,35085,78087,23284,35568,51713,155676,5401,27254,11966,17569,223253,71993,103357,111477,55722,30504,26034,46774,35392,36285,214814,41143,163465,1051,16094,81044,6636,76489,179102,20712,39178,35683,125177,54219,30617,52994,25324,50123,2543,87529,58995,10688,125199,12388,60158,125481,131646,7642,133350,65874,3438,97277,101450,10075,56344,116821,50778,60547,98016,106135,13859,14255,16300,77373,173521,8285,45932,37426,4054,114295,55947,7703,39114,52,51119,128135,19714,60715,9554,50492,88180,2823,118271,52993,122625,97919,23859,37895,25040,33614,32102,20431,3577,9275,15686,43031,157741,110358,1884,40291,125391,13736,5008,64881,87336,77381,70711,43032,49155,118587,70494,4318,10168,30126,12580,10524,280104,104001,145413,2862,84140,6603,106005,13566,12780,11251,42830,571,179910,82443,13146,469,42714,32591,265217,424024,92553,54721,134100,6007,15242,114681,59030,16718,85465,200214,85982,55174,165013,23493,56964,82529,109150,32706,27568,82442,5350,14976,13165,44890,60021,21343,33978,17264,4655,22328,27819,75730,16567,55483,14510,17926,45827,150609,3704,7385,272531,161543,76904,122163,52405,2039,19165,41623,14423,228354,3369,176360,85491,7122,35789,303724,4465,13628,2233,55311,118771,20713,10006,221519,45115,71021,35650,29775,7337,10864,20665,21142,1746,15080,1624,32449,10905,105743,229797,7701,3940,22997,178467,57208,389057,39683,59403,63344,63125,54847,69691,18336,56448,3362,37202,18282,29648,138224,35867,10495,5911,28814,26653,31514,176702,26550,45621,11734,4525,40543,73944,121080,27858,155561,14887,44670,30742,8796,107455,113472,56369,75581,183777,240095,133699,153299,8768,160464,26058,49078,103971,21875,71486,44888,17156,9678,89541,123019,102337,3972,83930,21245,87852,109660,287918,183019,686,10100,39177,283941,11274,24736,26793,26214,25995,77011,141580,4070,23742,46285,46632,30700,26669,19056,35951,115575,174034,56097,35463,87425,24575,44245,38701,82317,85922,281616,100333,147697,61503,7730,84330,8530,59917,61597,17173,9092,32658,90288,193136,39023,20381,56654,31132,7779,1919,1375,117128,30819,11169,40938,23935,115201,101155,151034,4835,11231,74550,89388,59951,91704,107312,167882,115062,12732,72738,88703,464019,158267,57995,60496,737,14371,123867,4174,243339,159946,7568,16025,134556,110916,38103,191,80226,88794,29688,27230,10454,76308,57647,77409,113483,66864,14745,19808,12023,46583,84805,16015,17102,2231,20611,3547,95740,250131,34559,108894,8498,15853,159169,148920,20942,2813,93160,45188,210613,45531,52587,149062,39782,28194,57849,60965,84954,89766,84453,100927,16501,27658,165311,103841,54192,207341,19558,20084,319622,5672,205467,98462,61849,36279,13609,147177,24726,165015,209489,59591,31157,6551,117580,75060,141146,277310,21072,22023,106474,63041,137443,122965,68371,5383,42146,98961,113467,30863,23794,4843,99630,30392,82679,13699,241612,33601,93146,24319,18643,32155,95669,40440,15333,34089,67799,142144,58245,38633,114531,117400,77861,188726,5507,2568,8853,10987,107222,2663,2421,11530,13345,30075,41785,118661,104786,17459,12490,16281,71936,193555,17431,5944,71758,26485,77317,20803,367167,158,7362,93430,11735,172445,46002,11532,54482,930,62911,2235,23004,179236,4764,101859,208113,22477,55163,95579,14098,67320,162556,90709,156949,3826,57492,4025,34092,87442,104565,6718,186015,28214,14209,10039,107186,233912,58877,81637,55265,39828,6194,145813,50831,105849,4974,88319,122296,10272,197216,95714,51540,72418,23324,91555,8743,140452,250249,51666,34124,7229,38592,129641,78169,174242,22464,149964,51450,14034,10026,95376,26190,120062,14401,8700,265,31386,143573,7203,229889,61567,4227,140981,2466,72052,10787,10062,30958,6099,38471,30103,23202,208101,70847,467,58934,32271,32984,36637,24107,30771,17109,73353,13650,2098,157040,67366,66904,106018,265380,107238,18535,44025,32681,144983,62505,91295,56120,3082,77508,10322,63023,36700,81885,224127,16721,45023,239261,111272,13852,7866,149243,204199,32309,22084,42029,38316,126644,104973,14406,43454,67322,61310,15789,40285,24026,181047,6301,70927,23319,115823,27248,66693,115875,278566,63007,146844,56841,59007,87368,180001,22370,42114,80605,12022,10374,308,25079,14689,12618,63368,7936,264973,212291,136713,95999,105801,18965,32075,48700,52230,35119,96912,32992,8586,16606,101333,101812,14969,39930,759,193090,27387,42914,12937,5058,62646,64528,38624,25743,37502,3716,4435,30352,178687,26461,132611,42002,138442,35833,59582,16345,8048,60319,49349,309,47800,49739,90482,26405,34470,63786,32479,85028,39866,47846,11649,23934,29466,2816,42864,31828,7410,74885,49632,47629,111801,90749,19536,18767,105764,59606,21223,10746,76298,22220,39408,7190,79654,64856,11602,82156,272765,17079,70089,245473,51813,184407,384678,1576,122249,5064,27481,6188,25790,74361,27541,318284,45430,31488,620,93579,45723,192118,22670,51913,4162,70244,35966,26397,16199,50899,209613,121702,287507,2993,36101,132229,67345,33062,76295,118628,78705,52316,34375,107083,107454,44863,127561,33964,3073,154010,190914,55967,39074,6272,31047,5550,41123,26154,98638,47110,19998,148091,50229,31329,59900,195442,19106,61347,73497,70015,682,45850,25776,38022,148951,6288,37411,232526,109277,27286,32342,9262,5220,16651,23175,46740,129438,78614,121925,66914,88710,127952,5563,21500,34521,10739,14863,191006,62956,17359,16749,67027,56284,69134,43301,35039,58883,54466,60823,404451,75743,59856,86979,7923,34273,83785,32142,7693,268986,197428,282681,17049,22346,22990,92245,107180,3357,37104,96724,49153,7683,31197,43267,82231,164276,23696,20848,188364,22309,24821,158707,1018,22514,70922,27792,45589,59709,10765,736,35218,63479,51987,24275,63588,55361,92929,81964,4658,20122,12330,44058,13065,311456,72224,8337,211229,38979,22590,138478,52757,32595,133600,8838,31549,94412,43391,90056,1585,94802,127271,6223,31889,137038,132910,2165,57616,230152,6080,10748,36737,74579,134062,50525,180532,119270,34556,76155,82394,52595,29258,31435,87820,67996,26943,183878,38007,2410,13526,180297,69856,3503,187396,167700,7838,16701,9199,56267,3661,37407,65994,23767,5708,62508,221700,67088,86978,46776,84434,32088,5612,9149,88244,21685,95151,46750,189612,2979,506311,2594,3628,40074,105039,78243,28523,6651,38058,71999,30992,12764,68261,108991,6165,26450,61961,13400,22426,7490,60890,109623,2070,12958,50355,67979,257096,7213,42578,52121,35716,65461,7516,124758,39268,302,64712,14977,1467,219452,2840,34229,11121,21602,19270,63574,8024,1532,17331,79839,78885,52029,180767,57957,6069,91265,61380,55767,8927,32881,287603,22149,35029,68876,6428,199567,46926,13412,104132,21434,366616,45060,110046,81924,128910,45886,52821,130416,29416,77342,21762,67329,121432,79924,11724,38625,81006,102033,28338,13326,3250,82056,82526,38212,21112,12382,111495,3263,7414,86274,93490,40844,30224,45212,24019,48411,71367,24941,76729,57776,3769,38114,202019,197745,31953,237533,33270,201580,255648,100798,44741,32241,98468,106931,10085,15090,170358,33154,66787,18819,69760,25061,234005,82660,6295,131975,16874,9076,4094,25005,17740,40908,19533,220019,44330,99792,50040,19619,13950,55228,24423,31253,95308,103177,184795,28590,82285,5059,3210,75525,49894,70007,56178,10580,36051,139681,21617,98736,3555,106306,164189,37352,63915,47824,24883,145530,61904,28444,11483,19837,145446,30420,112972,85939,11835,191233,2262,20705,58630,1753,148334,1197,144714,6887,11223,107667,60879,77914,4151,57417,81594,96681,169430,1784,20444,95138,254041,27038,596,7117,72808,13759,3353,126776,21074,55322,27081,36942,39547,139830,179275,4453,713,8722,71399,19204,25785,22794,23923,104114,11291,25458,102309,88396,75288,230440,206396,104551,58447,130857,37247,94734,31548,176529,226077,65159,20104,10096,66881,94191,237909,27109,37404,1520,27421,25220,113003,23423,24884,50585,6286,231877,150800,11789,3226,90004,60642,5053,202400,61442,132531,175329,57138,30116,103847,9973,75367,16452,32360,59119,21246,10191,164804,23305,61051,37348,154530,13214,5468,50403,66754,130976,50559,80515,14436,155492,84017,5472,43107,41240,2890,90431,70188,382,76234,48040,50211,281038,237007,32115,142178,1536,22761,96429,1811,31243,1679,49143,55209,17402,235054,61494,7462,77030,34925,87609,78002,9499,9027,73289,201078,101379,63544,27666,5469,10642,30029,49816,132979,95620,58086,351930,116300,2110,2043,30845,6154,11279,16727,4122,2277,27281,4971,3650,39060,61970,65951,39674,75686,38151,11370,130809,177895,32665,63725,122267,7857,39618,118483,44792,157755,178624,136994,24260,41308,22471,12404,21707,12486,30473,52781,50246,20247,39065,909,56825,103158,128603,31542,1089,41935,32744,12428,37963,84420,33134,72921,208449,42622,168151,127335,147107,46699,38216,12591,94342,85814,31423,24944,2605,87542,67473,192551,4496,56321,91819,17630,6300,256183,114569,202090,33209,35289,34897,24967,40520,43470,5344,10199,34810,14283,10381,10017,62923,49924,23233,64539,13051,35686,19698,11570,135555,120868,44924,87065,52318,52335,47586,140906,245885,109834,78668,9065,46990,25258,72022,61243,40838,4545,146387,10537,11557,17470,36930,68104,46711,24264,79401,81043,18225,120488,24746,84338,81652,28266,13776,21878,46973,1047,230465,73357,95777,24973,210160,62210,58404,110633,169651,6937,41870,9909,26822,191062,76553,27519,96256,239070,2478,205678,67955,58532,20601,50120,19148,78501,195724,110740,8249,109665,27446,30568,57631,31425,49752,32820,65504,50079,3663,102256,219898,23849,211315,14645,4359,91767,9528,12449,49366,7941,49763,107848,8930,27086,50686,9744,10447,81935,39513,46514,1670,29229,6172,22312,137280,97759,9806,14445,22976,56458,73391,34983,93760,174219,52573,33149,59747,2429,136277,75123,165263,91040,7446,57632,48633,97140,246081,84766,151684,79918,93268,120346,54059,54875,77858,32996,103590,45276,11968,19600,25849,17159,132907,42828,16817,4913,99462,103303,27395,5737,74184,20749,21160,14377,77062,131403,158735,10999,27799,77785,9320,34366,51593,61070,33746,47048,29268,36675,30262,53297,9832,82e3,20188,122292,39917,7331,18160,68301,185935,134830,15031,4935,10004,165845,185534,46923,30109,44134,122631,18874,22903,112790,26561,18549,348902,82871,140345,255565,135390,63556,103747,145055,179600,145662,296111,61661,211987,23952,52342,126343,48450,32919,44277,82185,9591,62139,205363,376969,394874,108461,18040,120885,14798,39863,16571,16794,58271,81025,55206,14640,118656,6361,44092,85970,6262,153863,108244,180200,72264,79947,38044,10050,5735,61221,80712,5471,115689,11391,11661,184257,20010,60116,30320,19327,134598,45455,27542,18004,125092,452272,1549,91523,46567,180063,156026,2608,11174,58848,37788,65907,80194,30490,5786,40775,119519,106241,11323,156297,8425,61495,2617,29675,2425,59886,112582,49142,59618,4863,50597,86710,50650,168632,27693,85641,83643,18993,25768,84284,28090,93592,36627,312804,43381,9887,9402,100931,97165,3311,173330,66805,28935,4963,184460,3201,78102,19126,21607,37496,24938,22615,16153,32862,134792,153318,61120,6067,2812,12826,12792,23825,37559,64662,202250,102694,155488,85881,149193,46233,65383,15521,106982,11358,176786,25752,39717,34208,24510,32464,77742,39371,72028,138229,60688,71386,102834,132477,2208,11548,63670,271279,28351,30338,38620,32491,99845,143885,152266,13252,2825,178663,108097,1775,78201,14897,113573,163346,62292,171129,22183,96598,38733,64971,166776,117445,9968,146393,44677,74867,20908,97328,12761,25656,26785,9148,112344,26115,99176,110121,22437,49547,6180,79320,5835,31392,43328,33377,75870,119860,69497,80273,7325,155219,43167,111173,28347,20222,3763,71752,55041,47252,14618,28088,15012,97805,194698,54636,2036,41349,6173,96604,61530,51859,43782,13361,24334,22668,24792,7070,23441,16789,3209,36211,208475,26242,32880,122181,182407,21444,31060,88459,29929,77907,12716,10934,97005,20599,31690,8403,58445,30303,22700,10336,86731,103115,337709,72556,46788,112566,47684,67089,53548,36874,56487,41387,125985,26893,40071,106683,73712,18787,40105,72992,67246,137276,50802,36790,70328,138827,22466,39263,183295,29858,50975,9322,57397,10654,24364,30383,55799,41600,23584,127295,296610,129078,143558,244131,86397,36049,1085,80677,3820,108139,5476,34767,24683,7758,13060,7239,131671,250593,59556,103392,29810,4188,252323,39404,116877,7651,43600,40338,13554,157253,39196,25978,144387,61211,234,50104,6129,10449,93777,9240,356378,274148,4439,72970,3724,147770,78680,62570,115877,40027,40547,36817,224392,64609,34795,165027,67440,2477,37206,23431,50754,164797,46018,94995,170982,27051,7957,22767,3674,27900,56419,18930,60701,41302,2692,84749,339721,61996,111094,80221,50129,1045,8153,62945,19202,8250,37208,37418,32560,79477,41106,88569,33963,36693,5892,30570,1581,66471,49647,11922,160717,29442,5643,114865,82962,95982,132098,22633,22838,94726,54556,28566,205039,162340,33216,16849,35847,221339,94851,26533,71469,1805,3804,12935,45483,71020,36310,65381,192960,34240,35165,59773,1248,46954,155332,96864,4246,388800,16129,57133,74592,44807,442014,38203,42574,80818,91592,26377,36424,65760,977,77387,22628,147610,28018,30561,98454,6969,119628,63648,18170,36854,26601,64018,22027,37279,51395,152934,21153,9430,58760,194742,5330,55115,34158,28917,174111,13171,122326,1526,43896,66094,25325,4234,148354,11450,275,18999,112191,44365,22723,68409,8733,57746,96565,75007,14196,108844,29475,88599,177563,100792,106156,86323,93726,14248,135341,194131,40126,47099,14779,8272,39597,95983,171398,65882,28052,10393,47213,40689,22120,72212,106829,34964,109146,753,648,21660,30047,17527,181025,5619,145357,4085,216883,9359,186951,24779,53931,24545,36197,223296,62628,168101,4243,107313,30321,26642,13049,51059,31027,107912,807,73550,26551,84369,122422,165872,49754,74213,234264,33151,52014,33100,87183,22365,52500,40013,23302,5652,72723,21404,26107,48434,587,94049,168493,96418,32871,70860,31709,25128,443,71597,166253,15670,70994,26341,133675,28280,75491,54756,47955,56028,26182,11952,113272,472197,64640,110753,17919,337,50642,22576,142,87371,53391,93210,126694,15285,19642,85667,14148,1506,42092,52962,33243,11970,20734,135843,57044,58880,13002,219134,22876,64754,232519,4257,43120,321573,24799,64526,124728,52579,81472,70831,276848,17403,74359,23021,182101,74597,23744,148267,12055,7976,5349,11772,67540,167347,65318,18720,127832,108238,22828,90233,9987,259080,118185,73209,79270,13775,90100,137742,90799,70569,15699,19961,9087,67475,57872,39731,8810,134897,131868,146849,19898,3334,2281,167061,91073,60356,467742,74712,188,53179,137679,92769,29241,9537,132595,80119,1041,88962,5976,40171,44911,102859,139059,104558,98987,47761,19272,71472,113864,175377,73338,10857,23402,23758,1591,139864,5644,4076,118760,16427,134198,18853,20291,100849,37423,22038,36677,19071,195521,57445,11069,31869,55718,66882,148490,44,41296,75242,49704,166810,9906,20943,122258,49112,105667,15969,10344,6408,187694,21399,72742,58970,14867,14376,81889,41856,23225,15042,56993,16074,131389,74276,72407,53875,383108,53597,37363,68993,44854,122548,430927,198279,38430,80409,12245,2981,628,2818,17760,37437,238229,7968,46892,2200,3730,34190,65983,37959,112291,87850,70827,6522,20750,73913,111621,41652,19587,2780,58668,25916,85259,18200,168962,95781,42445,102050,7776,57662,103313,47742,96358,41964,66174,100396,29069,204735,19679,27978,7479,40264,22534,61183,36081,107436,58223,14680,23002,101311,24716,124108,12908,5646,31750,40380,14215,232799,102772,14122,96775,61398,50917,12096,149880,67833,598749,124194,155871,49216,790,14677,65319,56917,7440,145744,95701,12206,49405,129269,76199,45732,9767,11058,9047,210885,11051,7392,26307,2130,8132,147526,20802,232698,115660,50060,59789,57344,107623,80343,112676,23291,9866,160971,34032,118291,15719,59730,164911,28975,2659,58046,78480,21854,66209,53863,109085,116045,29021,46481,107552,22130,18764,70254,31272,11300,52460,43933,84738,20721,53869,190840,79673,105300,7561,321817,66924,13940,33281,101046,183181,32176,71878,5678,62924,79535,56646,40303,19559,27703,93042,73368,42187,3670,37376,46440,7023,36816,109628,20680,5940,276440,275233,170848,112093,136996,14984,20226,111441,77693,112960,48577,39370,55707,50314,123404,26570,54281,61372,123391,4857,35928,246740,132507,106646,44241,7196,92258,9825,37688,51197,303141,5590,15476,132986,10955,85782,34486,26696,7991,28813,18858,39546,11703,11365,38185,5716,93555,11925,40121,60002,6985,10976,171384,3887,43394,13337,56346,6381,252336,39573,75042,53711,1028,31781,44295,95925,131713,7214,68125,43571,70954,213234,1628,8760,13391,65485,17320,56038,1710,25248,60803,57399,19839,3870,326,281556,50945,72400,21460,316244,75619,56246,98775,481,13513,55765,50427,7388,123519,32929,57908,27124,61316,101097,57467,30228,48792,10788,20402,37318,50526,155730,34456,158065,145305,17832,43733,64052,4506,35072,205355,177028,184004,187081,68616,35938,83703,10367,36892,93186,260137,51934,89970,4985,23445,26755,21558,7948,78741,23376,124405,85594,68596,57536,49351,12619,56593,132668,99924,109728,71844,71935,196018,65464,17617,14987,89701,143773,33997,8687,22701,33258,2914,4436,72108,85610,9671,49067,2327,82988,1361,1672,44033,35777,30269,24057,10605,82236,616,15793,13919,47249,112086,116698,9484,80207,90574,33304,68624,93127,56101,42210,160929,4827,38995,38095,4701,125119,5027,33680,9236,231236,14135,87837,23318,70261,78893,30151,81482,14332,1084,74256,27532,46644,79185,3148,62615,6981,55672,31668,36825,1849,14536,37446,14738,23779,43058,162749,72199,1168,21346,5592,85932,85302,9668,18351,57135,150360,2080,228015,77953,34670,119302,151751,31009,106725,84265,45214,59289,74178,113071,263206,111009,4021,44449,188119,192629,123592,392506,292847,114487,12831,205858,9852,20780,79648,75767,357014,97721,18166,21005,67950,33226,204009,16536,2987,11335,66717,144910,47950,17262,55060,15063,2934,51038,26775,178497,66008,3427,49433,128592,20036,157553,63861,3089,23015,51210,28696,35933,49942,71135,231518,99620,17248,21835,176536,20676,16944,38700,165831,233253,295625,36723,13023,52745,10907,19423,67972,125868,95473,82875,1183,108455,52685,33417,64095,21433,52438,33191,127809,44505,211823,7810,2752,95548,162031,7185,91196,47563,61721,33359,17897,23682,42806,178101,22874,49707,199897,75419,82456,8618,11171,79712,116847,18783,44190,46564,5346,59046,95032,7893,14916,3214,26800,24172,121453,34362,10250,17408,18888,4840,68696,22831,13162,36005,32512,14800,62357,41723,45046,27247,37486,5372,2564,34261,298500,66509,133920,89138,31305,117697,19097,108304,81386,84106,23802,46411,63304,946,51417,41777,41041,19501,115864,60743,294354,37955,94165,18116,1156,17937,20645,57114,90804,58042,48643,92288,9861,2557,88546,61333,101008,12853,5148,87856,4152,144503,73841,18718,9789,147565,10846,42085,12789,30223,8993,56352,67203,2448,28215,6052,23540,126319,75933,36689,80235,23231,23561,21383,38800,77548,102798,21234,31468,158608,46188,63960,191679,8051,67014,11185,170078,42186,28827,34777,41930,212079,12421,34750,24111,110344,73918,45171,70826,141949,40063,23979,24254,37309,26724,27179,24718,83648,54938,14591,17425,29525,102675,48975,48654,12316,8929,60640,41709,50168,63264,89812,50716,48632,38755,138583,160123,55579,71829,24230,233277,46322,39650,166388,34718,24108,98252,7031,106695,62498,18258,35062,217827,78731,34824,33354,19520,60852,2432,60224,8587,2836,62955,702,20227,42285,40560,95592,62486,11094,53035,143291,18842,46177,77994,1770,9657,107422,172915,32655,128716,25886,25164,156740,119928,165875,85817,11007,89110,33956,12652,65156,180266,8494,36889,19958,20955,96,1264,118288,135769,44754,86671,5632,19026,168220,289120,33569,93821,66144,70635,7687,5642,2714,55445,56636,71545,184182,93133,7332,37389,12643,52315,22729,11014,158742,17050,152889,50178,34601,41945,52136,9948,26914,63548,95721,115951,40759,8960,158258,38938,49232,48325,42234,81523,253019,66128,40978,20048,238048,38760,62928,122560,118532,43687,137472,163689,26680,9878,17448,51035,16211,60834,36749,29178,14241,59868,150086,2305,26477,42422,34342,165341,83279,33894,14257,29928,12743,13957,125571,89134,66712,10952,16507,147839,30146,7249,16565,45399,39874,114565,215780,31990,230881,171477,102,196546,44538,10880,84948,281705,86651,10617,31395,2342,453658,43569,60561,132901,21845,17727,58556,258242,22262,58728,4008,77997,11806,37431,30599,81375,109137,185787,114085,217292,97453,169085,30593,60212,11544,102056,65580,2384,91655,4855,95725,7295,157994,16228,20669,53276,141590,105246,17334,25440,76067,17967,39321,38911,11362,28559,63807,21627,26468,85816,40120,1025,15234,58319,69516,66512,124548,75845,78873,22137,46681,51242,85683,32909,76747,35555,43396,101465,1765,73094,1077,2962,39028,66777,57831,42048,15828,13962,36041,63657,52412,5242,58846,2141,5506,219012,134451,3936,182230,17558,17153,152237,22621,49377,170216,35257,68233,65374,6510,11126,212151,7184,2480,22517,3437,33073,30156,16557,3768,55067,86829,91e3,12350,148650,66017,79424,70885,49066,28250,21369,51213,34533,11510,3258,18176,18465,84413,6315,36411,163765,4346,356,107618,598,13727,285026,162695,8749,14583,7132,63521,184253,32378,25991,5604,30961,53675,4874,84693,5086,34811,26978,56564,7904,33519,51221,113942,69253,6664,125563,22055,220680,102008,742,51930,19494,176108,44424,35123,13025,75685,11759,74335,22250,181453,131147,16984,132115,154311,11991,76452,52609,85351,196,30969,9198,74919,2529,56838,71779,29187,116304,3504,62330,41190,86153,28393,254926,104228,105189,13264,84359,3574,12415,8534,57147,10175,188174,59504,60932,66318,16407,107921,17638,99103,49278,28403,39786,145865,8462,3558,43406,142271,29139,21989,36552,93955,72365,7176,13556,106185,37957,321774,17782,129017,51154,27938,24952,1935,39366,2791,33489,41582,56078,24558,9311,5449,218786,27808,190429,68013,36020,86003,29735,3404,87348,119357,115714,2324,86796,81973,40992,43376,93621,28784,16808,36367,2517,2909,191926,24978,55303,53308,205724,60068,3098,21375,64784,23949,26579,63121,12319,80145,39967,97861,6757,70143,67642,37082,34698,69140,122883,46151,62187,80934,429,19437,135071,137885,222647,13331,154065,327,61778,74257,40116,37493,14855,85079,237641,42342,102164,199965,71204,4662,29368,5042,113914,122214,8955,13149,102503,43173,5659,163787,69003,307084,63392,171080,21390,81918,86666,36622,24126,28887,5736,28054,207170,163428,79891,346467,95363,38980,111806,80828,9200,19288,294896,114468,87405,111715,141705,7015,72754,68463,48738,243147,33397,101210,37051,98801,82847,20397,4940,185559,18716,54718,83491,11725,40803,1128,12128,23060,5174,7745,67007,46701,1571,27807,180186,256996,18975,16837,7877,212758,250379,15440,87954,57755,24719,124057,83461,258,50864,8874,29038,71289,31627,15429,9005,4061,113851,107716,82819,13651,79656,117851,17539,111446,12938,39724,190787,4352,15402,21070,62708,8539,23777,73853,13552,38810,86117,16285,56400,1718,75342,142863,29033,378,110113,180321,32586,23606,26393,160984,207987,23783,8406,16904,24596,47274,11693,46539,60524,78595,48423,31718,20170,9009,146268,15183,191060,172765,1349,138436,37365,10970,40509,225817,20021,70394,152138,21541,66559,66544,89352,2725,17258,91345,7313,3815,115868,8660,40362,4071,103524,39388,118275,21950,6549,38226,32754,209574,29201,43495,18028,20296,40597,18370,47520,202450,24134,2219,8195,69545,38041,136934,46374,19041,159811,84865,58620,846,98749,13569,30714,97246,32186,4479,27355,92973,35214,151491,75963,37631,1561,27200,238083,23182,60756,12291,25766,39355,102333,87362,65741,59906,19538,201575,48772,102938,24438,292580,39964,66366,9004,61379,50548,37622,38732,28379,68180,76622,17488,69849,5963,7219,48143,43413,55358,540,58691,29506,19245,52193,48621,5518,13048,118625,44755,191081,42061,89197,2259,60665,66994,71210,51232,3585,142096,55024,7892,8345,58653,463307,65658,64319,137941,136323,53499,12746,43492,6978,95163,29925,60175,5128,7352,41463,184756,121146,20473,18426,4598,5309,54580,14277,121151,10691,56711,43880,63409,76682,11830,172218,264898,32632,66536,81062,31649,25788,92774,60222,11100,63159,9432,224657,25240,53613,152,138620,163829,2397,85345,12501,37507,64932,38575,43522,65789,80198,78796,35226,3851,108891,73311,3060,28391,93671,39663,46142,30982,66041,37281,68157,26553,71872,81142,211527,39747,118119,22695,2859,11066,20232,168911,7933,197005,17066,111071,44434,133994,120798,12766,227798,45756,132852,29917,36076,55352,65281,129800,41958,18944,84678,18580,168093,132621,39997,54092,27740,32354,3770,114118,103242,43918,15899,18574,145944,3190,123469,219903,24169,100571,62403,16776,92779,14535,17168,16475,14304,37231,1712,28218,242754,61688,28980,1318,51359,222657,99200,67989,31772,23932,35351,201251,49041,27306,19128,40135,3986,77333,19649,120683,151927,21081,7076,78375,77501,101599,8011,89585,96715,58179,5378,102138,106793,26051,217276,4197,16297,27014,46721,13322,22806,5278,29629,70632,9647,71519,58818,40603,128530,8903,36770,56900,31483,26935,43845,34265,34920,87658,6114,84767,64250,47318,50720,19264,162514,33357,13117,6705,46696,75032,71054,87004,42035,69138,11903,99854,102328,19611,34525,69312,6431,49842,101600,133178,108751,41829,89939,225664,48916,99556,9195,130387,5960,36857,116724,53518,94002,39077,53996,6945,22261,64291,8314,152785,57588,16522,9091,5048,87671,35441,39509,1945,12423,158923,178413,37549,14095,1475,73188,62878,4819,24012,68534,42606,4010,120809,57497,59564,101758,103718,32701,80116,12345,95834,46918,21468,53213,15665,31200,3867,5140,96013,250744,21016,10069,13968,35449,180829,27683,39704,59956,22893,3115,26293,32785,75934,62445,141162,62720,2018,83638,19949,114012,95006,3330,99829,130935,309272,9565,55874,121727,37017,23586,319858,40970,27602,8625,112329,61060,100088,118525,25922,16232,1907,60671,51583,44553,80993,5262,94679,8676,940,20736,11823,3020,16476,12340,152600,97416,3703,25744,66826,16245,16876,46446,84798,74227,176020,45192,61955,75496,23946,23626,40372,26036,6149,11822,30582,16541,41914,82385,232823,40921,80773,14930,3631,7517,39619,4348,36180,126106,138939,62611,1477,113512,47321,25052,14546,118881,29060,23589,128322,36795,18401,137921,104699,267929,36194,172791,18113,4766,188215,30083,332586,94089,5805,77909,22194,68234,154976,43220,40660,70001,184893,138095,11128,103010,22663,5108,212615,8485,5565,49222,54614,26530,42639,16319,55062,152662,105595,21114,22216,10294,68158,10436,86950,7206,62115,3977,3657,59874,456,118617,18156,106663,112229,80992,17442,8217,55551,5133,34344,251927,51153,39364,201321,7816,66803,23057,156724,145664,14276,95705,979,2796,6875,13429,212525,50602,26276,28284,3424,19465,52397,46963,31420,51399,206476,92317,48851,637,100820,83349,10317,60227,21972,6908,282439,32857,224767,95629,83882,42106,87338,69757,29840,68709,37665,45244,114577,49188,175943,54009,186746,106158,70168,3358,234002,50555,9221,129338,9562,20118,32923,78479,118280,65752,4977,10474,102174,60947,129006,10570,83451,8598,8078,159367,123785,80438,16742,5905,5281,181513,42402,6977,163136,93179,42191,14968,50421,112401,105440,33456,57347,121611,4221,94954,36517,24046,27796,6255,33394,72990,135408,116627,1233,57874,25654,95419,68156,401399,313338,55208,45573,93124,119251,47200,38196,11909,130667,45391,73904,64964,167846,4137,115606,52036,62214,7969,160925,7187,1132,134835,40309,73195,64494,80472,444841,61111,26500,45323,40743,53625,52797,22659,15631,29739,36706,28841,39147,102836,26794,10536,14845,87305,45874,12241,127587,83833,57183,79722,30844,41304,84655,20825,92500,3722,25655,27811,10157,81634,31362,34088,92487,70123,22190,185100,72658,139035,192523,88241,2078,230490,44528,85638,100198,22088,29982,291233,241062,13865,4445,137791,37835,107218,31726,19718,38234,72528,23046,19177,66695,5109,17251,28077,5617,21554,47839,72425,133825,1486,73065,181275,141508,21768,62971,63082,2512,34200,9904,120309,6392,91243,68416,268253,41199,116757,138551,185526,41246,28986,4093,19057,17295,4148,245766,122360,35356,112075,20301,75441,10998,7977,19769,62922,937,63547,100196,26427,157820,20983,236696,22935,8140,90315,156004,47204,140973,7726,45097,52725,22636,23436,257282,105247,522,88389,216031,202204,46812,211666,19693,68828,81691,45925,11256,30292,372,5236,167826,88328,232776,151611,5360,82104,18841,80393,25465,18285,20320,72377,31730,33160,45803,38715,27705,37379,24163,18360,103586,4015,32305,269494,91252,20080,36567,54650,7797,57073,12650,31164,42209,6375,261663,105528,81661,106002,2800,5375,17247,43151,4442,15727,194619,100855,144898,62320,78465,39929,16454,1967,28311,61363,17219,9395,8745,121445,76939,80385,162380,22009,54191,44248,16299,122830,48151,74429,78291,64755,14238,44966,2511,17712,67954,93583,829,105899,49935,84750,11591,33185,85447,42717,27409,208542,28965,62052,52525,5597,25694,65594,16343,63224,276188,12475,9331,127507,38522,57287,24128,133161,79723,105548,133695,48917,27558,43278,46520,13778,141954,110785,83366,17715,46317,105763,66298,147013,41086,94180,16478,220447,44611,730,19722,78975,117889,125643,26254,16574,18480,65006,15806,38549,246418,46052,36056,8440,34984,30170,3163,59800,4458,115442,4283,41970,33507,104078,1653,22,121158,276486,3655,6338,24048,133421,23641,2161,24422,36006,8086,10675,181474,12307,29514,59143,14729,52509,87128,122470,19446,80852,33314,24573,119864,14237,9652,57779,6612,51851,15284,98871,90581,124466,156831,21190,22015,71380,161906,87247,69201,18392,17908,108470,72962,40719,14338,17911,95260,43339,20610,78916,20710,72451,11315,31448,17263,58853,178878,48111,116002,45497,80506,82605,85880,36300,121755,25215,36118,301929,88728,405223,276136,553,34704,212438,49970,78329,922,20711,25036,257130,38295,145369,18128,15385,30829,55656,48345,8012,3561,28004,122041,192900,58338,112508,41085,29976,87040,47117,23905,4336,92061,138880,97407,42083,172121,6256,25192,172671,5,93568,1420,12677,31605,56743,40620,6015,78415,231077,31298,80026,13902,19048,24924,170586,32955,176119,87859,36731,6773,27711,24658,26475,115216,133207,93250,95820,88522,8317,5714,124047,55219,86860,19677,23961,22928,162209,8904,225992,359835,56084,96201,29392,96558,86071,93643,55114,13347,8183,95129,82012,2017,123336,34219,115554,157159,47747,101684,41008,18735,193781,104151,226906,7552,179874,124113,31159,21162,44010,14771,51268,166128,31382,73124,77438,92830,205709,12113,1292,38937,13114,1334,2118,15597,69581,14449,21934,76618,48728,67038,14967,51495,24243,87736,147249,26720,11119,46063,43749,5843,44147,152629,133428,65703,14269,45604,57982,28672,55616,45957,8438,95433,37698,220862,132034,39456,61870,4161,26501,73560,56418,9845,4654,20916,10456,88920,119358,9015,65931,96507,48029,38534,21676,109081,43078,34943,25089,6131,28766,23665,5477,10255,16695,67,45778,42443,42770,29534,23733,100513,62617,42630,48746,14191,43753,50295,26007,8792,57243,43119,54725,164253,58250,112304,131796,25165,4651,3188,24831,47748,3705,19540,13211,102095,5593,18699,23666,32005,117571,33541,60584,74573,86311,99443,25172,27222,168938,7143,11853,53560,18834,19960,86522,28217,53266,117700,72989,34323,18721,66450,34346,74056,47217,202002,46269,9429,68582,75458,37823,82843,96652,32549,145144,27958,19820,158086,31955,201406,135379,31207,192545,12950,51704,9094,248263,76147,64028,110009,79407,89345,99284,223492,47966,26848,15359,201137,2861,110507,71231,72297,31851,118777,71039,151051,240855,16333,50766,14727,7939,4149,80908,418780,88378,59276,1327,7284,38576,79814,65820,42199,84860,49574,62596,12396,70598,40117,8648,7994,16836,7630,14047,359699,106878,525,29037,28064,13380,11675,50669,74216,103539,180314,27449,56299,172344,19274,7301,246099,32043,19422,36506,129317,6806,30140,4614,46639,66926,932,86600,6322,27847,233103,10541,39025,34887,3517,12972,26220,2031,66561,115015,48658,47596,12714,33845,3893,16165,35237,89983,14769,11962,147224,47018,29977,27979,5552,82338,86023,131368,1218,24853,237840,132193,15455,40873,3668,65351,53388,15229,59889,272245,47934,11858,34347,18038,90853,86981,300602,19343,114181,29362,84921,6095,106059,79472,38015,1206,48741,6208,8e4,21916,17423,6002,108083,24479,34931,56661,9511,26995,100694,163853,35997,81254,58321,18919,171890,86877,91341,74503,70477,53412,7027,59281,39892,131302,5864,15947,61301,67466,162369,47956,27874,35624,282324,21270,111847,102548,41482,30955,116737,28264,8592,55458,22301,75090,29821,30697,51709,3041,19208,8038,24634,30467,87509,126428,19389,18814,152686,20701,83474,45832,80891,105808,11378,153223,120770,98186,150633,49838,9141,12755,30962,5260,74490,21256,31678,65062,33326,289838,187831,20595,89768,2805,58535,10844,70085,12090,2451,138068,98544,24461,4511,6754,41684,28203,3383,65355,82833,30161,83924,234361,128424,28921,222594,33975,125491,34069,11508,67464,144226,41850,98703,34371,7901,21254,38398,65651,23549,53883,213340,123269,12028,71764,177701,28758,2623,68395,11549,15232,68603,9660,63116,36079,57093,31198,20475,48467,89984,35619,186847,107469,31389,43631,73867,41949,68841,114250,1605,30564,63403,17588,27680,99533,12641,70325,50428,73426,78379,11855,91651,72081,91720,60198,15743,12065,83398,140046,6761,46598,45900,5068,886,62448,148968,37347,19405,9680,15819,43496,63370,75667,163700,37639,3633,22774,34341,183131,134335,37200,23915,7054,14194,12970,26438,13350,285521,25594,8219,104410,91039,168804,138480,149734,15907,33818,61132,60082,4622,110187,56736,13551,73571,3945,73463,65498,17758,263266,17593,2710,27585,54469,38200,45367,63754,28881,3473,12791,98287,31895,65787,4463,94536,24951,36332,59901,28803,52130,86403,7668,181822,74831,18977,9850,177206,145485,109798,7292,31421,26280,77211,58511,12507,127004,11113,147,8729,56208,43066,79926,129937,31345,83947,39915,46146,98763,42566,1337,13192,18323,105163,80570,117753,16555,72883,11077,159438,40764,70933,83329,26066,12276,72059,21655,173836,126713,69454,153482,91585,70644,102558,110483,6764,127864,190133,3961,101798,20945,71138,82402,90884,69669,44753,923,16939,59700,164258,25969,27082,31399,43846,6306,246093,51342,6153,151581,202801,182731,56475,162188,89426,141356,14355,121815,27536,28023,65257,77523,106668,127314,24947,12790,38796,169698,23555,10725,44573,183083,42088,62716,43265,105958,32050,44067,50118,1668,3874,6243,318411,16599,1691,94999,52378,28671,216728,123258,2059,34969,69225,5913,136280,171443,141515,91662,22175,135282,80020,92270,1663,4808,4482,3495,34691,5226,109830,108512,17342,107488,11606,123190,100247,29666,146527,113014,15794,30894,13224,39585,243192,22351,9903,7836,47699,11078,25468,122291,48821,26780,122679,75521,81450,630,4895,92900,55074,74293,17441,3563,111657,103102,51613,12318,52370,36191,68245,34269,40445,41354,122901,168604,182500,62012,42557,11259,24428,115113,86345,12362,3909,78430,86852,134602,20459,47853,93879,22577,7659,3688,38555,13349,17381,56715,91639,12493,10895,92438,3142,37057,28928,2004,36427,32268,34222,209974,10432,67436,41989,173518,107930,27079,62729,30908,55558,5828,45031,14902,53546,8204,144263,60255,14520,88212,86582,109589,69356,8064,47449,8505,66558,16886,4844,52817,111260,215129,12941,91118,650,20770,6273,73089,40618,62790,2873,35002,14023,97208,19386,102646,36993,143736,135457,35385,113601,17893,32627,84439,100619,56016,6581,57264,172160,45452,111710,203627,70131,24100,322787,1996,35665,70078,22358,90922,83658,4097,63200,58499,14542,99153,52159,6615,12414,63415,31986,16823,1579,65405,137809,8841,16898,48082,259,33014,42375,12260,179850,73667,91389,98882,29532,17311,326251,41092,5928,20742,44964,48019,43505,9317,49265,6643,192712,48424,163487,19861,20113,70848,31928,105333,23685,78563,14638,54755,7158,24142,44018,20774,125255,20331,24280,10163,1285,2336,39851,4299,117269,46714,63816,87779,159624,11731,9971,990,137317,108831,50994,74554,162680,23640,131597,146962,170620,34829,91205,21184,1913,63616,18427,93136,156592,17519,67565,115882,138220,78622,88535,18115,2711,33554,109492,54298,971,24914,25863,36363,45715,27099,194995,14299,178181,111488,72395,322385,157719,130787,11897,81843,83999,11369,49280,118604,40922,61332,110343,53407,75639,40582,300440,54722,25637,13694,48248,48278,194521,56203,52779,48783,72627,10953,376,16733,280238,26351,230789,15132,25168,137270,3588,63704,73376,94031,74284,19443,159557,9697,39901,13351,119050,15406,146455,3460,29556,75195,37673,102524,92329,47289,98413,15311,100684,56345,7116,95480,11590,7200,167,23610,58426,17730,136656,27944,53151,2701,8824,103124,3017,90744,113588,53216,79736,65940,26931,498,29568,80540,143543,21292,1740,59268,16561,180816,42323,50174,40890,52866,10703,57169,4700,17191,4424,93511,49698,166650,26972,48631,165169,82879,69326,202970,4007,2376,231325,139592,22119,62851,37504,68816,58345,67398,186643,43331,277416,53749,15746,23102,17432,4793,151138,48822,54265,48203,198688,14305,54287,2291,18018,113378,123260,7180,97549,87027,120085,2920,76080,8190,102005,5641,64580,14955,59802,54028,58884,19367,81779,412567,85957,97053,103637,78871,29364,27637,141728,4767,30686,112738,130146,42745,12730,105040,14844,232,210944,36581,152317,135543,29744,3129,55647,58149,46319,27265,17499,28005,59948,7170,34138,5702,293047,110892,408,91760,218674,18469,46095,81403,14389,4610,35672,73060,11006,74848,104820,118143,190357,20043,105358,141735,5115,27093,45924,123073,52599,29433,9616,238350,78610,24851,58858,26769,31969,24613,18294,4982,32735,39639,143563,112073,202205,12567,4873,88601,44897,81503,101648,81362,34662,85277,17574,48173,21435,221188,40215,39576,80786,26544,64668,81841,10731,37733,247986,149188,127703,495,18382,54388,72446,43071,30974,198723,89608,41360,190,33045,8386,31658,19992,237838,119015,137622,50890,100913,6460,116233,267230,26621,104129,65114,14190,41542,14888,85962,23342,23041,26453,43725,71809,45186,4770,46452,53894,56616,221286,18973,9038,109299,55365,19366,26863,18808,60909,69353,41738,83463,12100,68561,72860,3980,13796,49340,12332,31311,27418,4255,53430,18976,45523,510,14224,30477,26581,4530,3651,101663,139840,22709,150861,31996,63923,120623,262522,3076,10528,2929,14672,130238,18087,9816,121894,100308,25085,55111,14565,18952,53293,2042,369988,23674,61789,133529,28783,108293,35477,47119,36448,71049,40015,33055,78598,198442,1833,159937,40654,77444,189245,113153,8621,18599,38553,35223,166072,2375,11659,21786,89523,6032,12116,63046,159398,18454,3678,32521,47626,11411,103527,38896,42946,15696,26370,10185,8413,37080,165583,4331,63555,14907,72220,50056,6623,62236,36565,49783,10049,17503,100581,55951,146244,24724,9626,17969,25524,109300,173965,99994,101056,46459,43647,53737,277968,8347,123521,74858,33829,44762,77574,877,81377,222525,123532,30602,43881,53145,2973,16284,81940,61281,127044,63620,9875,14756,114829,19032,9202,52759,119141,23928,120551,19607,3599,33401,76821,73233,117430,39968,36539,7071,5446,121735,194059,15206,45283,6706,15603,65615,1207,165723,92275,34773,104447,8396,32353,205240,164323,13600,60555,79205,25532,22907,33410,57480,107111,69630,32137,47832,70913,33161,20321,2371,117348,10714,86246,1625,11763,17900,268,78457,99175,97940,101092,86660,32221,14041,128504,125080,53744,124263,31017,13897,403,31859,21964,5633,111630,5547,77329,17961,18241,84995,25984,12983,67491,62168,47262,5241,297,51191,7351,8967,147212,82060,16821,782,11033,82431,62957,5026,43459,77963,203477,53528,6247,191852,87774,74164,215654,13467,1522,219964,28589,244104,16242,117821,67725,72570,156792,17186,15979,26990,44128,193014,35276,57125,16212,166451,68017,6905,77608,16364,53777,75921,76426,37975,26203,269296,64099,84122,12077,38533,830,4407,20139,963,43028,38902,42911,37503,83343,85045,16979,1165,60835,137387,58380,86990,110066,134540,56331,193845,81238,17922,163093,38744,110641,12502,56404,34862,26865,125964,12965,111648,25547,7771,27196,136980,9555,29551,107158,57885,18831,37705,35505,101742,13970,102109,62548,124657,23328,11124,89592,146376,248050,6241,22033,18337,80685,29898,11908,216623,67721,106162,146610,21377,15085,91552,42041,62560,122532,125336,102365,121537,142559,29693,223919,11515,110495,18776,22494,5895,185059,103592,229351,51220,100102,37027,257855,29359,54123,36066,106493,12244,79258,32002,432,56205,94836,90182,6726,14762,29391,48938,26864,38083,60364,3310,60192,14766,205567,57504,110760,22649,24666,46333,21517,3430,13135,28873,27052,158809,11597,20529,6695,23138,22960,37137,45574,6545,305877,43423,26153,24769,59844,14501,10430,134352,56169,13213,103432,49523,35181,13435,12408,129475,64620,230854,77390,51990,15653,83248,33466,44571,117828,51481,2187,10559,68019,18021,54895,48247,18354,33737,4554,108595,37288,39767,116707,9175,3726,108877,21616,83684,49862,1938,8543,276466,20134,108498,48770,102254,31914,131520,185291,100559,51890,209,19526,76471,50544,71814,99351,8172,198526,28816,20419,9109,98389,136777,76479,75596,30635,165417,48216,120220,25955,211071,39314,24308,32164,2559,146280,43403,9233,17947,90585,1786,86920,125662,2457,64741,32152,32918,122882,78538,44001,31723,56426,23375,103172,88177,145697,52506,49319,68016,31664,41488,18486,110400,7030,28241,986,109199,19900,42147,56864,65287,49183,7858,24e3,30453,840,16673,25907,68916,89927,6309,158335,36407,199737,130464,13137,59603,201778,195292,21015,42466,179062,172561,89492,11075,180407,31868,72493,20998,60217,9865,19530,39274,130266,54539,21623,12535,13505,40641,73375,4087,85633,2153,3117,70680,55788,92096,47509,98493,37490,271936,151475,3032,16171,96642,34106,78425,125761,19591,3366,19316,54508,24183,50786,194248,91528,33253,34622,108355,41741,705,3814,3883,108929,13203,67831,10142,59754,68208,29128,84820,56880,38794,24972,48571,40821,40476,18137,164254,24064,236309,79181,11282,395,39169,2013,51587,28551,9645,701,109513,115899,113566,12762,62045,58322,103726,41343,40866,244102,143816,2490,70346,40973,52618,15412,30720,104315,38917,42027,93676,17513,107418,20706,123890,13399,97727,24044,87962,65606,44250,98044,65276,74790,101473,19350,91570,1326,87790,172042,7577,100813,86896,85891,41512,108130,27794,14875,71431,12835,156250,58135,3759,22476,42176,115873,34686,56523,73643,108505,51491,20838,12721,32863,45700,29496,13700,34294,55360,29206,155942,123812,7706,163234,203,132720,49358,144431,8130,175788,35818,3270,76832,25710,54095,97274,28779,94621,74396,19092,128242,58067,20885,14670,93255,15107,63291,23654,126900,129421,59294,262659,9798,3251,67344,28600,44629,50672,29072,26999,31526,23183,49175,165843,175455,17282,175411,32022,45989,30298,90690,78118,83156,23749,35636,31317,7069,80381,94561,133756,14960,97404,6138,41065,78041,32843,16601,34123,9559,146529,123377,96395,54441,42012,84257,123541,10745,22139,106459,11720,150883,172651,154996,110538,4728,53447,25704,2009,71152,119354,21166,66604,1429,216162,8637,122250,63520,27180,29172,36124,276428,107787,77184,4680,14952,104903,24418,14793,51561,52931,8371,26342,48526,7118,92066,67280,40653,8847,34597,105438,14198,50163,61188,146286,50315,41205,170829,161496,585,197359,95056,1687,365794,91349,48507,5804,49263,5146,104902,96365,117343,132222,46084,96919,16875,8073,262381,79982,52663,13928,16056,153908,15145,109256,132308,18763,24904,167644,13618,40750,18686,147124,114709,150038,52849,2938,12568,48617,8778,5459,44202,44591,74914,17183,248689,13878,7822,80060,23116,194037,18487,2067,7798,43077,33678,244028,31320,74273,2794,19466,8218,36280,183997,48124,19416,29656,19280,98734,7715,18311,30701,133602,150307,126956,7378,2933,79903,13178,12593,86571,26604,92446,13574,44205,65699,427599,21118,8245,14407,27877,47936,33542,7916,26460,117762,21596,37818,2249,127359,209394,60044,47677,308089,36791,154971,31417,6998,150042,174360,12255,43009,29335,48739,3912,101398,53340,2580,146939,151295,45360,125275,15273,45383,27456,48761,23314,8750,60801,85823,104759,27894,123685,66968,39480,26917,55290,83305,2696,98390,57569,145853,340733,4919,20024,52268,30884,7413,203685,70989,112855,4129,50536,349518,68205,332641,159581,135361,236026,37563,176404,64899,6578,122033,63871,1850,85234,82089,66124,74145,121098,107351,12687,36881,117334,13136,14698,85933,93866,18047,32620,310,15094,46e3,88451,23632,36645,27940,87618,80520,58892,20976,27702,140090,96075,67841,103292,238964,87778,107338,17019,83427,67522,7302,8261,47570,116787,8730,80484,61772,174422,56005,131193,52875,14588,28471,59817,9586,15720,158155,51307,109734,15196,11025,59331,3884,52626,102602,84797,25158,27314,4437,20488,76214,189248,35023,114952,157376,2827,62439,102878,129749,36405,10329,109339,108633,36662,1254,13267,5470,87105,58004,15397,10434,159667,21864,52022,179464,3013,32147,31496,116832,18494,105502,129227,107267,50033,13481,9954,24267,22141,16257,116154,36185,950,115685,11305,176708,2048,178671,112573,287867,162328,497663,95170,50979,193861,50987,30368,136257,31830,46549,15119,169876,23788,17462,249887,57377,1949,35448,14791,43769,210091,3783,34612,282103,88380,245190,5457,20491,98908,11402,86899,117916,16028,162584,60644,320177,156096,31065,55876,22e3,77655,9992,23397,13757,317623,63978,215255,2443,17648,93231,27388,104529,93807,55505,140477,12046,112040,70887,40152,94365,112353,25063,114679,266061,71248,119555,15589,2244,617,14129,211431,70110,100652,7777,4383,85911,89221,21010,120615,58357,86405,37554,41647,18,15143,69662,60491,14714,186134,148344,42347,5410,168175,44535,42449,343894,129417,99682,20659,27272,140483,63455,222159,17536,13722,42637,62324,11976,114691,148109,2283,32057,182393,4295,147364,33705,2075,44303,30274,28331,63740,69740,29148,10346,44862,33716,73937,153333,12930,38784,247159,2515,41053,20256,83368,256189,54639,115240,5096,24661,175419,153552,26516,141,138176,63885,34115,47222,55709,2765,28479,38875,236608,12229,22921,77291,54426,45388,2860,57787,114579,295139,105782,17826,71066,19119,54364,69385,16568,12323,28057,33346,34919,124763,155533,101386,31644,8627,49001,303600,29868,63213,9103,77280,71333,9696,138789,37059,24823,5057,21352,32368,114208,56803,19424,10445,58514,8661,209508,26187,171838,10460,63454,14016,122504,41328,21329,46618,32493,38225,7855,31763,7945,29876,8734,6438,24205,97490,139977,130740,47323,33195,85390,57194,13813,60600,21313,96251,7699,27584,170521,139271,1363,4402,336738,129223,84983,69150,13147,3590,163929,207225,155260,55916,20288,4503,8398,98490,11773,27512,37113,84976,86558,28365,11756,116005,182148,13733,115313,47644,67208,85069,9347,14995,226141,14704,101835,41159,35314,13113,63526,214039,29978,50446,83339,17440,129441,72522,118641,97816,24907,73844,15717,118884,167255,96509,162793,30847,36849,51297,78974,77793,10427,1873,2972,9999,35074,28190,64297,146836,46298,60038,163007,108919,61219,2403,75022,127339,4233,110389,69022,9833,128097,88016,79390,222936,22570,94657,28462,56956,38803,81536,30474,152794,19566,16481,147408,74574,81895,20731,1918,1366,76367,187321,54494,24366,21690,61696,33283,107477,77499,31112,414383,74362,18463,218441,120929,59848,258629,201924,69269,454,19989,13054,59894,3623,58908,20681,35723,78523,102680,38988,184112,108087,50944,132704,52966,21699,18860,96349,201411,82697,85395,95658,5093,6427,177894,44191,32755,26961,155739,6249,31310,81030,26574,84311,120155,86730,113535,7424,48888,13516,45747,98098,20077,183995,81945,43210,26704,40420,75831,45648,11180,6855,57927,65528,124096,34851,2598,156633,107572,127352,38169,123845,60142,62722,105584,232364,23211,68120,1601,22169,89299,747,258039,80572,7258,152249,11862,101204,8834,121434,33761,19175,133142,46343,40178,48723,3589,41977,30210,38868,62257,10087,82658,87827,90646,16415,47552,351723,28298,72225,91146,272760,1701,11295,1652,109651,300747,51863,198800,29446,11794,32345,37538,22356,33102,37590,113544,37970,11478,179743,25454,103417,59905,221970,105196,145604,7817,164809,102360,16974,75840,255333,56902,6659,1954,645,59400,67769,7689,18675,5215,13793,20536,27852,3387,29523,259718,16860,94625,43143,29245,15848,233581,22685,63631,78557,22836,133302,84513,1348,51826,47129,98836,58284,1830,1749,94642,10933,6145,12506,10975,13879,103781,144434,10268,28409,32346,52968,121567,107374,77268,23686,35097,10501,155275,15303,47136,21102,168741,55332,90385,15996,84817,681,137803,25054,142275,6163,38175,8056,124296,240642,65621,4934,178205,16101,62803,60964,18230,100622,76465,44689,14545,9543,47514,16852,93380,28048,12047,107106,37575,101485,77047,57326,34819,96137,76916,6469,46264,115983,75768,87668,69942,13027,165,8373,114231,26434,52844,42799,182044,23580,146254,38081,43236,33883,146220,382894,14606,46035,36481,166621,35417,95382,2957,59384,60428,36358,66343,75378,22267,22950,83528,17577,56474,25285,4619,179691,75355,95836,53295,34588,171410,4487,14679,84208,44015,18562,109133,54101,11531,86052,174479,303157,28095,9953,35642,14564,39802,16145,77606,117406,53038,121117,53624,22062,1212,7632,127157,237292,189087,10478,127345,102515,181997,86752,87623,10966,121602,68783,68681,83042,114380,138349,191305,67176,50085,39016,1427,42384,1412,67118,122616,72389,25260,2237,13576,137346,19938,20304,2191,68759,5373,61364,238507,75814,23931,69565,38993,131741,38364,12528,87762,5679,129853,5310,186831,32653,90338,260176,389531,108118,26843,43985,50175,30563,25106,56965,18130,140428,4542,165503,117991,24219,229605,1819,129663,1240,3797,76093,18398,71339,51919,93043,27175,47060,216257,6483,35051,1217,16512,80798,129064,13225,69339,8548,237079,72298,2575,34280,51379,117910,55671,53345,247552,29486,39328,140821,34681,57045,60177,5004,90269,78522,2479,322607,48474,61296,13057,31558,4678,59271,6699,27044,31988,35944,12503,83480,4389,136508,3781,114121,70279,4488,155829,42214,2898,68191,75695,305850,45041,74344,106509,30087,17429,93292,12477,290,23080,114802,35714,18751,26554,105424,17775,2144,2412,100610,65192,113975,52975,180272,135050,129815,76238,106483,21440,63186,4260,46189,9711,28249,4169,23429,23390,8324,141585,63809,67668,38457,38063,39226,59972,1189,203916,62368,14403,16949,61767,85801,1739,40147,35049,76757,33124,62102,15780,103593,103009,53484,22952,67973,114645,6566,5245,50462,7601,8288,3513,194571,80276,1908,54592,5124,58571,2513,6800,273997,193904,1119,17991,117245,2508,129156,82366,26278,71465,63341,56943,39662,106116,94966,156875,9736,2204,122308,94418,27134,1280,24539,49022,45314,3764,50904,46424,30699,28087,293839,9400,33646,40165,822,147499,50263,116179,29085,11863,31314,5578,17797,5104,12454,1604,15342,219206,10232,67800,94261,25872,13565,90339,78971,75377,26649,41184,47695,11514,35369,20767,14227,41953,309396,148270,147938,33074,14453,27499,109019,39018,25738,240196,158931,52820,8612,95853,21524,137010,84901,70869,70021,116794,48404,38771,6732,1070,70990,187297,49140,5238,576,3564,253975,16027,16483,2811,37775,19034,25259,4053,2e3,70083,95774,19713,33431,92703,91314,42381,288770,48194,95985,3991,77418,13406,241328,245086,56533,35275,62725,9246,51924,70181,95331,16163,31410,79016,39312,120878,119371,275987,80124,27712,9186,220,23598,146167,85209,68238,282190,57048,31273,30555,80913,17594,75779,59160,135002,101219,189377,29225,96735,60126,62522,104e3,27620,86814,17240,147533,11001,5425,43682,410,49460,87270,69480,46315,59448,1816,76201,9431,11788,87960,29063,65539,47347,11678,33846,7008,196704,9895,6753,8633,120892,59970,572824,115934,6646,202559,892,48351,37611,251282,57823,67263,57750,26527,34485,90747,7685,88370,6144,64182,1709,41969,21458,62327,181657,49247,225330,122600,114574,107124,85361,111833,63243,71420,15655,191178,72430,18063,51425,54002,12364,53225,86557,18193,97580,41232,138398,67821,128724,8944,233212,101353,52099,42127,14006,120107,32789,32132,3498,18123,33758,56058,5779,128760,59888,98869,18445,84702,51911,13234,218379,20093,39031,8074,70195,20708,23462,24355,131384,60189,26390,10403,41060,7140,10781,49410,42261,87202,82566,41663,43105,60276,2768,5733,74176,28329,2297,145430,131632,83615,122915,105441,655,224102,5284,136426,67763,16294,188511,32538,61049,27893,3394,13951,159099,28542,17930,145360,9492,190122,32285,78855,26440,13570,58648,73908,4239,124561,2444,74172,53131,11468,10794,73566,11623,35343,64710,30481,4163,10328,38309,29901,10538,154377,76132,92405,24839,11679,3465,13449,11637,7824,2337,57754,1260,14458,41118,19878,38661,13416,159180,37074,163164,54137,28627,52134,184900,8520,40385,29546,30502,22386,66527,107458,6850,24022,47983,30603,35083,8934,304066,39500,9,28261,33026,77251,9374,44833,116312,34990,29236,63563,125639,135405,165398,159055,55690,88141,69643,236964,31983,25572,20436,36746,60896,31850,16179,11828,5888,3043,66368,9750,31167,7915,53111,36430,1333,64344,93659,20061,60596,180191,51630,6792,30244,43509,101058,22409,420,44210,109783,43223,27030,72477,72831,32679,29235,7675,47556,12258,39907,149412,84926,118247,24692,71717,105038,86009,45941,41189,89453,29856,52543,30627,226798,67303,59230,67415,34408,1367,99685,16867,128419,52147,4111,125381,117881,16173,44093,102224,31575,23234,24870,83790,127407,239098,3200,994,1255,100903,242275,117266,55116,38205,16140,29662,11307,40414,208793,123355,56470,4862,75600,30119,58218,70828,24075,26974,7802,192353,4851,5475,78720,66596,3409,28573,64396,30381,30690,59859,88256,5406,99945,103064,34463,37727,24238,86643,60088,4057,23741,5967,162904,38240,28356,93858,25510,122879,6897,3278,7057,11971,4400,35461,211413,21395,59615,39471,87233,55795,128426,3051,22470,41950,14705,3974,180108,80476,78442,204996,91987,15634,67610,139015,142373,35611,51134,10387,4353,153456,57749,181039,14183,68447,151532,21107,36452,20551,3186,46247,46383,129666,88736,140662,146243,2066,8360,7978,64818,106963,17896,47801,10723,114821,223295,74192,3293,3393,16987,74064,11277,91622,4270,29828,27951,387869,103235,1374,61988,120083,477,145892,128378,11779,211263,61354,18221,17869,46530,83061,108538,157981,90608,67199,95080,49064,195814,12302,66307,10348,231346,160732,112859,63633,146558,21271,31037,198802,47622,12862,95710,3910,77850,73961,85585,34752,61e3,4082,24595,103679,71107,8208,79568,150019,16615,24961,139857,32664,197366,4559,54735,32696,4126,162019,75698,13916,70108,159638,19834,9349,24675,175560,49643,18206,52459,27992,10809,88865,401975,133172,29e3,34558,30915,3658,25834,42430,36562,125265,18182,10155,40149,97082,208980,19575,60853,90529,66545,9600,789,46420,2317,88593,55595,98980,115302,5742,169155,1073,177901,3472,11189,63711,78643,65472,50459,127979,93,42202,67053,21720,157650,11145,141378,42033,22824,85705,79114,35584,15974,1510,54172,28562,12451,104226,19190,97151,73024,20948,5151,81741,21499,29006,84183,198074,54003,45120,170125,26240,35177,28389,64863,79974,60778,176915,232183,45342,2038,80253,41564,40703,32689,5430,100689,5366,23007,134279,14266,26712,73993,24934,64242,52113,102887,61801,46415,201049,54251,62133,122757,164883,30815,139966,2319,30842,766,13362,10287,134518,86111,81665,82440,28333,43019,18963,8804,161944,23439,102144,101145,80029,39052,248708,30350,117340,11878,128467,974,138625,63961,5237,74778,61834,67040,43814,13690,65947,33809,232476,115258,181745,28824,94013,9510,10246,93722,81976,7217,114383,3493,16014,69045,72692,12145,80981,9507,6692,1620,60820,330444,35474,33962,4797,7053,295463,46445,27026,12491,77988,49524,35675,90947,29114,166705,101385,133782,32704,6186,84595,176031,185623,45966,151302,63069,1699,107491,947,15458,74452,196212,6046,10498,12163,10239,35191,243951,9277,9090,29539,54460,22820,26514,112549,60372,51753,48756,21812,70861,260326,41,44222,10441,16961,48148,138771,216194,5914,52153,53400,212036,56519,26245,10117,45888,15294,138019,90913,26368,43842,42111,23348,6082,194845,161089,156206,51546,11647,30759,302912,262094,8635,78876,26535,35283,54183,31183,85484,147873,12989,5197,6356,72894,65347,20150,27370,73787,1493,45918,12366,190217,20724,13858,10981,67449,81213,7553,14115,72242,271517,11842,48310,88743,143726,22177,3290,243231,58452,62937,12592,1654,40066,33477,13751,9921,128442,15868,7106,75236,83773,10775,36938,10482,170465,17368,17469,161508,32752,98340,800,19824,264456,3901,87319,2867,26782,9630,113102,185815,24197,44584,86366,40224,3636,140916,31731,267731,9567,53678,72984,29389,27963,17106,50282,284911,60170,8322,12608,23374,89652,5268,39044,229766,8869,151350,31436,177342,12269,183212,120418,116270,2843,78888,69192,7865,184099,1086,129897,18383,70508,20242,18508,229924,124569,35749,50589,55626,9884,83115,40971,30671,18135,14452,38861,17844,201826,5549,26413,17189,13561,38539,10679,143331,3314,36785,171194,49685,187713,67506,4618,104039,17060,195080,50648,33159,19238,67559,134840,28599,157523,17130,38064,117398,94355,31918,13575,34538,40326,13997,3494,348283,62481,26862,3603,104426,244363,153709,112487,304612,199674,41239,35545,54869,293005,28223,26277,26899,4533,18518,15492,38587,80488,70485,160395,263,60162,11382,222152,4696,250751,51921,182609,10707,48463,46243,1227,49111,111564,46502,33342,56846,68541,63559,858,139927,16654,229375,76759,26478,33205,95828,23399,92945,2637,35630,28470,143992,50214,14174,21456,166191,65665,1711,21594,78019,97599,111701,36,147151,110246,189022,43021,30397,40757,131935,42065,73335,48039,26596,28984,15102,2361,7421,202167,69744,43766,52826,3642,83304,33873,75140,63169,192389,36551,92748,13039,123959,233220,21738,84447,77230,20228,187852,19095,25799,92136,108774,29237,53947,2299,118106,2687,8830,42331,202924,33667,2023,73763,30704,19363,19779,16737,35629,48081,24068,101013,162338,291912,13749,24745,328289,167679,70086,48299,23306,16732,17801,43322,54589,3586,63653,43624,53474,925,109177,251316,43805,13082,19511,86565,142182,92461,17117,101033,103319,64589,4022,4351,235897,5352,82705,107142,46391,156084,5860,61365,10558,13045,7717,18357,33922,12590,33065,6928,46993,783,46937,67846,8952,26295,6107,119656,18799,17458,50747,4229,179559,112727,118080,20683,41464,125468,51560,49749,44231,7359,35339,62988,136487,67015,5208,29150,24956,105186,48858,6143,18097,6972,16404,73489,58742,97196,36357,164616,5834,32267,13746,147733,15113,132091,34127,106298,39729,106426,22294,9780,15602,36213,71502,42808,66802,599,60755,5851,39120,67363,108623,126368,72770,91263,32486,30596,151717,7951,52002,43103,11768,68942,40901,39344,24037,127500,116890,48403,16926,86750,17745,48648,159545,34460,58419,5634,114317,67865,31462,23352,24010,98185,125708,69686,68337,13610,26271,70691,2980,4768,27225,102402,75453,28106,8104,6931,1176,6274,6475,112635,22498,6176,238686,26832,28893,90319,14441,15682,15087,39517,45270,109134,104440,45965,47645,81772,7876,52683,87720,12898,4505,185665,2769,113401,15664,57592,105229,137381,97059,119268,6876,43309,33886,128363,35476,144249,67013,143587,83367,25703,91436,59347,53236,2289,16519,19844,46309,58558,99834,23313,218816,231303,36388,51333,183535,109792,139277,54306,90139,18235,8275,32710,37677,82464,86025,92204,88842,117723,37570,128723,234242,76350,73795,34896,148247,58424,11105,11744,45746,63372,17118,49772,199520,81902,38004,22911,33752,3125,1995,53792,4689,26909,108150,146062,69674,41811,161444,84855,8999,28561,16731,93937,3189,21967,24890,22943,1356,145300,51569,28802,517,118679,31703,40607,48098,108854,25003,10233,73969,177495,5248,24516,215347,146192,48712,60626,69188,40735,5866,586,101541,6509,47590,52129,5969,222045,110933,25733,24223,65339,62812,2414,155418,35819,16022,78423,43138,20995,128255,240673,46745,236093,72176,57085,97841,61248,107,36068,193177,105427,55726,215229,20446,47228,100420,87091,14429,121708,23605,21157,187721,21880,2997,203976,99166,95068,25877,7724,98925,83401,4829,13182,18229,13718,239662,38653,116505,153497,30589,89029,38962,181302,43853,78872,180301,4786,248240,7401,106136,112590,77745,19731,60880,77789,125748,135487,5975,48627,34084,12419,215770,47557,254582,10364,106495,21856,67539,88981,38805,21428,48732,42316,12149,16078,52808,25327,51322,33850,51147,12253,122354,46077,56483,254553,115417,81834,150991,94662,86668,7381,12841,100650,18218,15741,22372,68294,50705,15535,84660,61887,22553,72299,31361,24824,17743,46820,64288,31582,77006,111674,116384,30760,80920,86149,77192,51979,79691,60342,122805,103800,240873,160744,233114,78962,54920,8608,3484,316104,72548,24337,5088,230040,21926,10172,36838,26,86221,83458,102176,12062,17571,41929,41170,28428,68239,41750,103930,2634,18313,53019,34825,97837,63115,24606,73157,152474,14715,91439,37033,109806,140259,30668,174760,380,135597,95673,136073,65073,134249,13829,17279,122305,4420,46444,10237,64848,203623,70728,10349,182885,65075,24519,25783,40318,34139,22222,63394,55266,102764,41422,20126,65100,90408,53640,35128,48932,11192,38935,96839,34782,39492,19396,41332,6250,5511,19492,51304,25936,104466,54099,73771,86115,5080,7669,30891,111700,13931,25276,72289,135447,14820,258641,25265,31005,281179,75286,393,95359,14623,13584,6680,101227,80173,44933,76666,54542,13244,39348,458,25379,109451,134348,81143,6959,65554,12027,51311,8716,57589,140731,28467,23316,17272,30458,25980,55229,77197,83798,28302,114784,7428,34548,26241,14712,39336,103304,18928,54080,12870,334,87722,15208,16895,142098,114262,39820,83913,57817,28682,7721,14900,108672,11250,62246,42849,415188,1724,26555,24549,25505,26443,107450,145899,61035,43528,6901,60726,65906,267741,21338,147590,42079,18924,73017,135236,15393,5206,4026,84185,1531,5988,113890,82647,303391,7386,69844,71611,189865,76523,31877,13315,19314,198575,32821,1928,67641,25913,104475,103489,3297,70391,18406,15446,113347,19295,93790,27856,1792,167471,116449,8541,4408,41757,63233,25765,86680,64501,27034,24816,34975,6079,4486,49693,36229,16917,21581,62426,27862,11612,54284,35702,194034,355,24277,48262,87411,70504,310164,118018,12516,47559,43502,57433,107139,9290,66533,80863,14634,34312,91725,28606,21342,67241,72355,43244,375789,37402,174015,105070,8342,44167,67494,1890,16365,11723,271002,1865,47918,8350,45564,27742,25110,125803,8553,49504,81925,62211,4534,15491,19011,80373,206920,667,102405,128623,245524,5553,113309,192739,65766,19567,22832,261958,29679,21293,71134,20962,105123,24721,860,21752,33448,18372,157167,94822,35770,173224,232737,75729,28937,46828,28062,25453,5207,140366,36665,30652,6169,67920,150458,92040,23186,184604,92330,20891,176492,49427,27828,38305,42495,143982,49560,25503,90043,29747,65328,47830,12932,11068,77721,9003,25213,94205,140426,46090,89945,138173,192691,33329,112232,129905,35709,27514,1841,19957,31411,127476,53572,17497,173549,55063,175135,19841,69314,5192,237921,117660,150697,4060,273045,50414,98940,65348,153665,164423,58804,156695,48994,213928,86036,28608,8355,39574,34540,16927,135680,18374,151587,10830,53805,16878,16623,4282,48030,8537,14986,46102,13062,72897,72,33050,108227,39451,45935,651,113320,40535,95176,57450,48843,5003,19019,10407,211163,3848,1068,4988,32091,30095,41692,15099,43602,107434,50744,7627,171349,16313,150832,352665,207750,33937,38256,51091,156e3,87889,90663,84175,24908,114900,50365,31494,83829,5398,169342,47521,54818,18935,8356,43094,41212,174536,10082,92550,6678,60614,23355,69721,14796,34149,128830,58187,3179,208,40325,28399,225029,401412,51150,31580,207268,6657,10993,69818,64282,289845,23308,12961,38447,6681,52944,31855,2572,47646,120728,179148,37240,45196,218274,4816,3695,21961,50084,35209,18073,51452,27004,6100,33941,1377,84831,171214,85,141510,9078,99227,32610,6417,11718,49868,65579,87902,73018,49062,46280,61742,21512,40862,107733,15941,29168,157765,144919,14487,5767,158014,140070,7241,573,71584,16921,223566,40331,179473,35081,47926,140885,41508,52104,59180,42310,32811,29048,123517,102413,80208,10104,14746,12649,153641,126022,37965,113017,4171,83,142592,2809,6362,50416,71323,116894,260776,16204,1524,5760,30351,12658,20703,54403,36083,45408,74772,4946,14485,50759,111222,10890,2195,167147,92962,130534,16283,177256,35016,15472,210156,151187,73922,117691,43250,52051,37392,24811,24358,30830,5775,818,21969,1476,127322,151783,58392,31021,106913,65215,89407,90802,28531,11690,20234,95249,44602,37256,18707,11928,5161,4410,26571,51903,49768,22008,25252,65780,209499,68769,203726,13249,137363,48845,86823,6658,5674,31881,1083,1823,108676,34518,166752,13791,14287,91576,91429,8665,11529,26401,16191,91972,30964,5254,28486,54697,79613,66520,18447,22870,45203,194466,22822,51703,12278,76716,44595,73455,33546,12235,144843,36154,51247,11116,33040,3180,225753,60864,1972,28469,12891,28879,10338,144157,56294,353058,38302,41447,87532,110616,27065,168438,6557,1213,50804,144643,24817,2390,136531,38174,247513,16190,4059,122791,131994,137430,39506,57650,16305,5188,54309,106128,20628,88071,67394,395446,250285,66176,91254,1399,114196,43915,60230,44853,27206,106353,43013,18733,345105,226453,51202,16607,57106,117175,35492,10476,89598,127439,15187,39624,13688,61570,10615,31111,59370,6238,175252,32143,224492,41388,95408,34384,148238,78307,38959,9340,160091,61443,15737,11216,41244,170,38299,102443,113097,26382,14027,33707,3957,76300,66160,19431,18900,6952,1717,108656,82206,188021,257335,27295,43999,41210,31777,46956,57457,12657,11489,15697,48060,204748,53583,82422,284790,30503,137341,8120,19615,220311,15991,10217,63424,9808,67431,70976,98221,4491,15177,28535,144789,751,13230,2394,1504,33977,132104,30316,22230,931,97193,185240,24826,22687,174322,15307,22988,1390,188745,180325,29580,59068,74903,18994,29195,79,15436,7622,38462,11566,138710,44828,45774,37768,99236,68137,84083,19282,22698,17134,74807,126662,173497,46248,16938,119735,3212,28292,213652,49013,9975,32180,45660,86250,4801,68788,95490,77482,113751,11994,44624,94452,46839,128497,100316,5798,58588,73184,202987,65417,37790,88524,1606,43156,97964,105717,34947,11203,100060,37742,130074,93653,107799,94311,196106,41347,8035,10780,16390,27883,118236,167395,1979,25006,19375,31628,18916,144723,78502,114047,103107,86492,107686,5844,20934,206963,23556,22591,16562,146333,20167,10471,117434,33085,2863,9740,36669,41849,37271,22790,18209,28979,8231,12952,54408,21731,25130,45208,55748,138120,75826,414,29593,9925,292865,25999,683,123149,7036,92159,86055,61827,103680,23176,54918,58466,57578,13305,5709,86479,16697,31064,17660,200919,10770,49793,33423,32370,52047,16488,62555,6459,8426,83493,7763,59725,82812,18628,67760,79405,68557,9612,7673,28102,56517,69620,171797,32458,29541,15870,81109,32080,207644,71495,21202,11039,91036,61230,2810,130800,32260,4613,60590,37112,75214,33979,126402,155062,30642,63875,12810,194463,82799,47664,16725,36685,43367,61099,449,172150,102867,21691,301838,36745,7130,18671,57316,34852,38034,54182,35578,65900,99486,19771,3456,2658,16914,99866,28390,28109,8262,21147,34353,20006,4228,137085,1675,203023,283196,198286,214375,163329,290603,152574,40471,83506,30068,14730,23177,131539,34759,27668,32178,71896,104799,116305,85430,119262,42860,25160,8911,23428,49437,105322,6519,16203,6349,74711,1230,38045,8540,75165,44736,25909,51026,317034,4984,32281,91312,27060,44431,17817,45363,155937,239085,35697,59784,91993,29531,126740,213757,76560,167776,285273,24262,8237,65030,41160,74437,48804,118916,13159,37842,1031,75349,1478,11655,108777,23435,277425,101734,67469,70231,124711,43532,28514,65526,54956,1e3,21882,17728,25302,40952,52214,149632,1999,2111,3259,63362,89961,220561,39777,26335,9063,10572,12416,34551,34623,38604,24723,5947,15588,69927,66252,119177,69173,46629,28714,70715,212408,20521,406913,74380,11716,50659,50862,37009,88460,130101,7210,53853,538,65120,151950,55806,163748,52837,13153,21100,16674,64536,6091,138201,44837,58547,3723,163,2177,32288,85454,34033,8497,14282,25742,10535,10741,79559,117493,243787,49337,100718,79495,40139,42956,7551,55433,15421,31509,23034,45081,547,61176,53434,328001,8470,36263,30145,4519,74173,53935,11845,73774,60211,78025,3,4102,73782,109293,315332,48412,26683,13714,6865,20128,18490,104141,325,39470,171970,115860,15707,7268,73301,74336,31370,2368,111827,107757,136231,142844,97138,96638,84053,38691,23801,1588,10573,122098,77039,240,186135,146101,11996,18143,112963,46171,155836,348769,47795,121213,116266,132515,3344,144804,31286,99187,255838,129694,35894,48779,55235,148582,71967,65282,15174,13920,47080,6147,108242,157593,125025,7136,1286,28957,127956,28402,98813,20805,7532,109417,40610,5041,32958,15142,18408,108596,33543,50517,27748,80114,233434,91447,487,37094,100048,30541,43477,10639,89862,155868,37667,8726,60684,237903,73408,99589,12190,38739,97348,3914,13594,2680,149016,13907,30171,28343,23530,115225,61104,35821,147679,14337,4297,244282,24085,326976,56428,7851,21303,131620,71446,83253,68692,111870,5224,15813,38197,49026,45057,13660,3306,76345,40671,27905,91072,996,68527,62085,91351,122634,55109,168209,2024,27560,112707,17352,8306,167115,169921,166958,5031,46020,11844,67284,19130,76185,6920,32849,5450,14610,22451,21002,17392,31872,66682,84796,13709,40210,59898,12029,8719,53564,21462,91884,21647,88379,194428,12754,37797,132826,160016,22567,54383,53186,77611,31107,8339,4694,19185,90355,23597,17222,140675,28442,23668,55977,9128,61555,28774,155229,17658,9390,24379,69357,15752,127381,239631,62460,93181,55913,45133,140155,18676,25249,33164,29581,82837,67223,22362,29975,7317,52813,1943,29613,20012,207130,49617,49651,5636,15334,36313,29226,28084,95247,72072,19e3,224932,15811,114,32127,38097,37508,88507,37225,27359,91626,12193,69279,20608,11055,88156,92808,2152,57259,55275,72789,24475,104414,1708,9882,3818,48661,66897,1631,34806,227930,85815,87753,18321,250664,72733,25107,206797,50891,8082,196411,92596,96764,152823,65514,22819,387277,62176,51225,40329,15563,189,3659,73670,64357,51793,275136,33482,86653,74615,67058,11318,125720,15388,22388,8267,1730,102663,170910,40784,7144,85373,13040,7088,94309,583,44224,140424,77439,18496,164026,36578,4722,9151,5824,63365,26510,35199,40500,79277,32495,44614,35233,9566,203293,152144,7097,2330,183480,98629,13423,330887,44130,68600,30939,97829,31012,345465,56747,94879,4939,160027,149761,99423,46099,32251,15332,8761,96094,128555,5763,235318,222223,55729,30241,55420,201746,3987,81382,8259,49325,23287,7719,24633,251100,92311,18591,110533,64759,170260,393860,7175,21144,132887,3593,75346,101277,91109,16387,259187,11627,57459,173829,44694,55780,49797,89192,120443,62622,3904,14814,23887,1027,112258,64955,99800,11132,66353,36202,48624,18158,88481,96882,43059,11040,2455,7077,21651,181159,99126,100434,61388,68186,19161,110468,120052,8819,55324,41494,7014,37689,3618,87729,92615,207943,9823,128657,12587,15857,6379,67628,51216,71775,157617,63244,1503,3864,218754,110864,5769,21492,7243,1192,87921,85529,31512,18537,42698,35350,73510,84474,34301,8991,21013,35034,566,38832,19838,35586,37216,39413,55006,12178,59742,856,84563,6900,25632,17437,49786,30723,13847,70845,4044,7843,23944,235976,55530,48942,6518,20939,73769,192653,52936,95207,23895,132542,142982,22632,87452,48042,54018,178468,10728,26230,23559,363,81269,142012,5718,346258,31456,84333,246476,51018,66692,101804,120570,39962,30373,70593,2864,60541,19425,54209,104092,7201,31545,48018,25865,15442,46257,40443,8328,6451,111782,47527,97754,33046,470,245116,31095,39,91934,87208,73470,36708,36521,12801,70624,36272,8892,79768,12427,55454,103756,5908,52390,62962,22720,141138,94634,41689,128402,126390,6628,106394,35527,134394,82727,254651,194502,148064,89549,3202,28359,957,21954,27906,49840,142747,8307,24206,48978,1186,71728,133038,71474,91306,6333,110959,74600,70387,18983,62609,56057,22970,1147,135850,1321,28834,3578,59715,102227,32827,81415,99952,55636,257598,390,22702,35701,85872,402916,39216,189795,14929,19467,10112,144422,61514,5279,63421,134686,41436,8424,51925,10598,132295,124416,4604,194739,210929,57866,31829,51626,50007,9976,91878,61906,56168,81906,60918,61859,40017,23059,16887,40927,62064,12785,32893,32913,21782,93965,20169,44387,79084,38463,11457,93950,27127,157050,2697,337088,5116,54128,48255,33279,8821,27352,25515,124022,65710,28906,38557,33390,1722,104435,72215,38551,12094,30978,25113,6671,37355,175109,42862,98024,65406,221276,59624,118012,64637,78760,86697,21426,1639,40350,12584,67193,84144,31396,7863,143011,69629,63112,9454,28666,65798,46372,134721,6314,51402,30837,151922,2847,38676,38008,92823,136245,17540,5504,109295,205242,37606,5211,214892,1586,20670,208711,137743,19328,40652,16995,20023,14657,154919,34422,12996,13918,38221,47690,16398,2959,37680,89122,6721,198469,91876,172043,83898,101992,26084,94570,3635,76958,22853,76497,38266,176590,168403,44464,142840,79180,184594,1984,41806,83147,11985,6546,366068,59732,24533,271505,8736,39084,222992,93429,28962,58985,86665,8432,30028,14548,32439,54424,165029,55175,27458,69046,121277,46168,33732,20661,24581,135574,123110,37556,79260,72611,16957,12939,46162,58238,44907,72936,253758,41324,32518,96480,11949,124438,65280,43256,34107,53533,43531,37037,28366,45970,32741,173438,6121,194202,62969,26355,30314,58370,28455,1848,50519,82830,90393,21761,295490,10936,256940,133568,44050,20269,4089,27457,21610,219460,36743,14821,101388,52005,13124,30979,140816,167362,26054,18458,60789,34917,40447,26606,33422,9066,3452,83614,5761,20263,137238,25038,91310,101,52322,74548,42572,38084,214054,186568,31802,17665,30620,141936,37730,14420,4265,187218,49640,188208,51441,55388,96452,66659,40869,42039,60967,221027,19234,178581,29105,96050,9165,196118,157335,3738,40354,117436,2965,34136,59659,15570,50843,230035,31444,71260,43886,18316,5387,38500,168508,17406,32174,8828,103373,143806,90367,3560,18719,122310,16508,26719,2541,105429,6645,37998,73190,10591,235916,49737,87112,233941,53188,32193,79154,4544,52905,126477,7580,63501,57314,3216,31337,6541,103083,60846,49,9756,15481,1355,43840,14319,13743,27486,10222,73114,230718,418644,16706,6674,279748,23058,45273,295831,86306,2743,5535,88773,21829,35253,120938,31153,3169,16839,42847,8751,80974,33942,36867,35514,16485,26474,77775,56877,5391,48346,3882,108713,31403,27804,55248,26235,43821,136104,40118,175507,28034,203908,18732,1788,34030,106427,36958,54359,7251,44936,15356,69139,455,157915,22173,140291,50348,43275,82066,49621,54952,15216,36226,96695,66855,6936,1987,8227,196087,4631,68827,99004,47541,110265,17953,147605,110242,58520,31312,38724,329975,642,3155,34497,75937,6207,73843,6120,17249,51429,117746,3218,910,68961,319671,14938,29555,34700,1649,66673,72268,9655,76800,153087,6941,210168,27130,35398,1780,73242,3135,56689,19556,165307,8765,35967,121458,13333,70453,17350,117253,22265,13340,44265,39869,441,3742,135025,23581,33309,16543,17731,13291,157637,283005,21408,101360,63887,52312,83873,5338,233779,23759,186949,34531,177320,38069,156465,91004,19353,59852,68160,14891,1338,1072,29823,1950,28901,81407,313445,73038,84807,162348,240257,37162,138934,16111,58013,41253,102951,16457,96056,19541,56402,67217,41638,94381,89674,29481,37456,80815,151579,13937,13683,132537,19699,134545,67020,29816,222341,141235,427578,48868,129557,233342,23077,87871,16213,18728,16184,9469,37913,19680,2798,171356,178328,13216,50049,72690,71904,124644,55455,7504,29052,41036,266546,19899,30391,188755,8659,59469,16,104298,112943,53865,76203,138226,68857,139953,14125,107625,119795,173133,4398,50273,48808,54390,16466,122086,31835,67035,50971,48859,7508,46427,66477,73021,84615,39985,83076,46779,201569,53336,36443,60865,168164,143810,51393,25548,169307,32896,24485,38424,21837,29087,275813,51674,6714,64883,46169,187369,55186,76192,12852,12018,62134,31067,118303,16542,12125,10579,4928,26291,43854,7091,10946,253716,109062,39283,17261,113012,258512,47764,125126,32646,55892,80279,201623,149872,3192,385,1208,48750,5376,58738,22335,5427,82416,47811,32435,143086,38930,94128,59975,156037,37977,38224,62485,7698,50405,71027,16462,21559,136153,34131,107506,162069,63703,3101,215029,40407,4178,3774,9187,80019,17880,97926,67579,2600,18405,8351,47924,86638,70820,92206,86453,29610,42241,119200,3198,15466,67813,57863,35454,4779,99518,4649,104641,144269,33730,38073,65864,6838,109456,193298,154007,5623,45741,30846,182578,25573,157224,1543,58575,138703,146140,44971,49356,18275,59064,20300,13122,11848,24453,11973,9797,86843,2919,25530,49210,1130,161220,76788,75373,85604,34926,36014,17777,17255,51533,11676,92226,51845,119859,21525,5936,18507,28050,1140,31418,14857,34207,47859,10750,36382,32079,106909,59426,87757,38393,110042,15965,97104,33757,35344,97993,53979,33651,45407,41884,82515,173089,7177,58371,35365,47543,51927,35587,10670,23544,29306,84233,39976,76076,62097,9007,8668,28119,78281,120790,19835,143020,54968,18670,64959,20649,34469,42570,33001,136570,87796,120044,1106,58700,63951,127623,12805,83057,40212,31773,49850,7361,54336,347524,101314,23751,19569,48791,29174,49369,20467,7465,75842,38281,623,112457,60210,28849,51003,94720,6426,90047,85560,43761,3579,85105,34607,90410,118528,7224,42907,111163,18168,6960,161135,191298,5247,100584,127552,171568,20121,91173,12636,54615,20199,63730,98105,2396,40387,14438,125012,4765,33235,12865,45299,37728,82098,77872,114037,59253,19675,24838,398016,102561,11446,17069,57508,178277,65836,99941,26114,2585,271882,136866,50126,11027,155648,118367,14585,8910,123015,335383,40434,41016,53021,14439,87098,176860,201543,121888,2358,9286,5739,22666,54270,37884,169381,33984,93859,16124,89364,72207,51639,76366,99029,65812,2198,12147,174891,194289,6986,30252,88822,21284,11445,288337,160821,33034,100869,43852,25761,52882,1144,103809,1924,84458,86079,43411,13542,139276,18141,34978,41298,7276,26481,173800,33210,17951,142652,33616,33677,2210,19941,98568,2486,192414,80136,12058,235883,50963,249638,29572,27221,47034,6124,72107,63346,97620,158513,299699,40388,23235,37176,224244,198386,121323,67992,23827,63170,17838,106622,158590,26807,5345,23489,91891,55474,74834,37981,13058,5977,72552,34706,26828,145172,19904,21367,34043,960,77092,91381,4733,47446,7680,41697,5170,16960,14741,46101,13656,473,51842,37433,11103,11551,121951,13191,97536,165932,50397,51628,129028,9069,44885,6590,59195,47045,32940,225472,90345,21833,13303,29407,96615,141951,5198,6028,18395,7181,3861,14966,156358,167182,36529,55253,25942,173153,30959,27261,50691,150176,162201,38467,48462,80602,42163,118482,168,108756,26011,17166,54149,456538,22512,91374,13816,90358,131615,18132,226707,1824,28139,26860,42253,93877,77351,65575,8980,80574,22020,27948,40422,91324,76376,13528,39281,91685,82215,122541,144066,1983,193851,17283,26320,2739,194978,4790,26845,42627,61300,65815,174612,55133,4200,191130,79771,158321,52280,166796,221620,62461,11278,4067,88152,83409,31717,121367,13522,47325,37945,10406,174348,249321,154101,64912,29938,51775,17220,15776,166138,78890,84425,54121,42861,16368,24572,291647,10197,32073,22651,11677,97509,26952,35787,18424,41910,71614,94977,72318,41594,70024,275419,37702,60199,7335,39107,61315,18271,18394,33768,87884,104277,123724,7277,56288,71981,189803,49320,3352,6798,14240,8954,69220,94433,57372,28620,68863,193727,85575,42309,41667,67689,42081,22543,44824,12719,28540,114236,101553,27638,27296,4300,5353,4663,19379,94098,3758,95888,95144,80344,87320,28447,259518,12718,71391,152731,37063,24132,31911,104896,15672,103782,1521,4945,72541,23717,122632,15619,87175,206120,29428,189780,61416,28350,44457,972,1175,47233,198738,95789,41907,21953,97034,59341,22864,53713,16873,32971,20693,20954,31336,21477,16169,38370,16412,9019,3841,24599,21938,17085,6484,81198,76413,5849,72514,12320,65247,276175,37234,59796,52642,16312,57349,198507,94148,46134,18958,125552,1747,18725,151873,14901,5490,68287,29470,3689,64794,40814,26018,25692,54450,2703,88278,124886,173087,174e3,24159,179477,24276,46004,201876,209202,445,52876,31948,30206,157610,39180,18439,44124,50469,5774,96278,222758,200216,50290,45486,20435,46986,46276,140133,142326,15569,13363,47522,92583,2182,7135,16853,22998,30272,4952,63263,35623,39096,53789,44864,20053,110392,124213,4630,16087,28221,127787,25839,77481,44693,13464,113146,6983,27069,55717,50102,4760,7107,26186,66507,59145,36032,104182,71328,29425,64317,50781,47465,94298,69706,74899,22754,120756,25108,93077,56834,73286,39928,16218,41699,176763,7555,70819,50083,26895,23315,26014,16773,123079,41712,5719,31516,90427,158540,85051,183128,40864,27505,55392,9058,45224,96857,30901,136622,96557,56304,120061,11501,151448,5773,89743,7769,86069,2935,18471,41628,10114,33660,110170,49479,26745,92846,33221,26731,18795,87076,8550,2100,29972,120289,3077,72490,33784,2630,208722,50861,63483,79029,6419,39467,14302,45286,64207,9686,67513,44170,1050,77246,59266,17055,53801,7150,11111,42432,4278,94579,362117,36175,42902,41933,39002,98489,22913,74161,84773,57036,17556,162288,74485,178760,93867,73635,128860,50362,261,67455,80001,46080,35662,4368,25247,19230,74393,22588,1822,27682,235324,13798,85998,13194,235067,23514,71669,147632,23191,134748,214683,105101,1518,25489,247114,7380,54842,26922,3971,26361,20844,68642,170517,77339,123255,8963,77818,150998,48466,36806,2732,23261,11741,236162,18243,126216,28690,50546,16385,92760,197383,246558,201295,88255,67588,71687,176076,172653,169058,33906,63747,24835,157621,43338,30050,46152,132741,2770,51371,94835,6614,15112,11749,56936,1250,19027,399017,58036,100215,23388,55815,308768,124152,94803,9521,64186,8971,28,30427,62163,7616,103838,35079,29203,131235,7743,17389,10882,37420,61460,228512,85363,41581,131077,62822,119647,10130,54445,26925,19968,29016,24446,74028,24176,61448,67185,9254,8563,119129,9771,99184,37716,39514,10532,221512,258753,218630,55980,23394,32141,61924,66749,32411,3741,36475,26678,77010,44946,91203,128749,116953,20476,49625,53116,13735,102335,29376,51946,83407,67892,59212,34685,21083,1546,112982,32972,74397,1078,190545,16082,86140,58591,89611,101531,10061,105104,76319,20035,17551,52611,169061,190842,100780,23907,90413,115619,9675,34710,193435,49443,129734,11183,258877,16318,136182,126808,44635,27304,192375,2599,125648,47051,12091,23814,721,58800,40137,66726,97930,60877,74487,7942,54326,9841,41428,13762,8211,85383,6950,99177,79806,201786,296464,124087,13144,29741,41721,47634,55088,254286,106408,17041,99064,12942,64086,45233,14005,2612,55827,255,7984,13980,38574,12776,46654,73499,249951,2101,26676,25996,132326,116415,119062,50449,31033,23038,11589,179252,20007,14860,129270,21143,17796,144715,60106,70758,69842,34674,282133,44014,16774,57268,38528,24053,46373,201667,28327,471023,51889,102667,21193,114909,84132,69317,96723,67969,16134,68145,15058,28765,32035,2524,101089,98664,25045,76571,14957,86040,118506,262428,154764,81573,39681,283900,73287,127825,544,80448,52347,38512,175971,15180,45467,33086,46552,48894,81107,43213,36672,54025,76703,8053,7608,13299,56619,20752,238099,54164,105133,1444,32942,953,37564,8e3,66316,119463,106817,404,13667,149108,128597,31267,10269,49836,106150,1484,52330,76965,160486,171648,38456,31263,22424,37738,66245,67467,143369,60471,75610,20895,115528,86070,60854,40796,49347,18989,15030,11371,37578,15779,79867,10187,86462,46402,155626,93200,40229,7090,57547,108053,99598,11088,47505,41218,206017,2173,20988,30219,22919,80563,57566,42369,93141,41675,2407,182519,120495,27154,16702,29456,14349,7958,16688,117177,140375,42467,261919,74916,153569,10836,34742,49526,7621,105997,12212,2270,392377,7755,17959,25086,232152,138791,33847,13860,35316,5811,1344,71259,50452,207539,92635,50359,5821,33674,30255,2086,2587,96264,17543,42,6029,9580,43007,139248,82831,12917,29607,25786,51467,42137,85161,100698,31561,88989,121990,278500,3602,109344,37982,15279,116442,28936,30880,87894,58079,128661,126731,67392,28051,146885,4861,16216,97344,42827,147561,153948,22684,21335,47685,1853,43349,15185,59642,10229,25520,187921,108972,5579,98037,24945,6697,19193,63734,137934,75056,89740,19767,224268,56138,63643,151661,39313,70618,84031,89723,84074,13703,85626,35460,8867,64845,3439,57906,99776,63968,49270,81130,34356,16210,23547,36446,34090,140028,72439,2221,22163,57058,363492,113754,18913,95451,48663,54464,54037,176097,68425,3023,34906,29482,117389,341780,80431,58330,16753,92616,60907,94846,147486,4498,48646,7773,46801,7778,18946,464978,47558,33223,177444,7328,15626,63337,94700,11743,9351,255024,39098,16447,42647,96230,39769,58840,10068,63439,35800,65843,58823,413844,9156,51258,7434,61791,85018,6872,3692,28096,7121,33024,6009,75532,31997,192535,9661,3304,9547,14753,31987,25314,55689,15896,20430,39472,31340,99744,25398,115569,54883,28719,205423,23071,57855,64638,149867,25671,82403,37616,20668,39989,77996,74948,140555,175248,64810,36515,46595,4958,248773,24045,28728,136673,168704,20804,114833,100325,27135,21205,96151,153134,45992,7093,13992,76047,1980,19432,145001,75159,87462,17710,1013,45556,34297,144882,20648,26061,11319,129567,108555,18872,464580,33386,22717,65948,167189,5603,135042,79542,8801,202632,18114,91882,5973,5239,67315,4431,60916,47819,71693,32597,32606,18183,45072,80329,76385,24749,51305,40314,156514,14693,130345,13168,66214,18029,12858,34801,27628,14544,10823,40522,40185,33739,148694,23548,9923,61012,28859,17933,19442,34364,99849,164107,141167,30629,21054,6744,36491,8096,42474,41706,155060,30650,10600,163442,1143,96655,61390,52359,7559,51568,64256,203854,4467,22453,14504,436398,7878,6980,8293,63610,293747,16167,35763,19627,147603,15419,18032,110744,51346,33681,54571,40472,48615,39073,21604,13754,173027,92560,11083,47299,63062,11813,52007,29883,9734,139722,15953,1550,20651,13616,49306,16113,90089,92326,7584,30712,72424,164858,6831,152871,55746,197721,34167,196442,6022,112107,55215,7538,123381,4920,43539,77165,8939,50392,34192,20225,79762,22505,58667,40770,29788,97180,82835,4568,8579,13273,363569,35898,49983,436,36598,3237,131691,62418,35591,8101,4073,379438,65218,76072,33887,2968,27573,212619,288680,68278,72851,150504,217896,6913,121339,22017,35340,51072,43616,75043,31437,10833,81487,4364,22968,41454,106687,85446,19863,109625,149241,524,141850,214404,54376,657,237023,9401,108137,53800,32474,49712,53334,126876,27337,45552,177696,8269,15036,12097,42240,2328,125374,119295,99715,2500,19624,39441,27220,102691,60957,94543,39101,18566,67362,13975,78230,25017,34017,239007,90027,39351,41681,35354,43822,1043,916,58587,141983,94818,38799,75459,41114,67432,16195,36606,59568,22272,126769,31424,68659,12287,134302,257977,5756,207285,95637,47248,117689,19583,77451,22373,12200,54993,117118,34244,29386,34562,53819,71267,64172,77665,49368,7716,59301,25749,45426,194789,17297,2650,1766,32501,45198,20403,20984,6600,14171,94604,19037,5402,29896,9938,59935,109708,88081,145182,44844,39167,352626,164173,35374,45982,6122,154,73419,220487,53834,53601,17992,8609,229321,5610,68098,66815,71012,95069,140968,27396,8957,134489,24656,86659,56598,134852,17316,123838,255436,6613,41610,138033,81452,32023,32396,123687,63398,8693,29712,30407,19296,121188,3551,36099,20032,111948,56624,16547,27453,35916,15378,52039,56849,13489,22214,73177,53097,277349,2157,14029,187886,10260,141743,246460,91880,50869,3788,49486,133566,54950,33120,129337,53768,18333,9525,26902,312251,10297,9020,70759,16647,112432,59260,84609,9818,82766,73569,468,46001,75780,55028,52106,11498,43645,108069,17150,17753,29417,16705,31799,9606,289,122254,115975,8620,6133,255357,56908,14456,133464,43554,79224,11247,29630,160,12756,25464,65960,350428,62521,321796,100359,67358,35169,46172,113128,48988,88868,31094,33266,6847,60887,98188,49659,69117,92977,220228,13947,80181,35103,62170,97351,13475,2440,199768,19498,36597,46971,25234,67806,62881,84717,73648,181966,10488,94149,21550,26655,63436,48375,14405,165650,9621,24439,28043,42735,4490,29963,56674,45373,1934,262446,50855,67098,26898,5261,52696,40644,33900,9440,180286,87162,22940,19704,26936,69769,10254,101759,27406,12243,48e3,73926,113215,54935,5726,192787,4312,106216,9366,11550,52949,23457,212271,277152,133895,108374,6191,96477,29980,218916,58024,54696,40853,91124,65894,91170,65908,252552,6793,29212,15389,44516,122515,52617,35058,9017,103536,39510,49136,19242,130652,662077,74699,47024,31422,8517,73351,24399,13867,128360,4810,4434,61779,111983,61036,17798,110240,59722,102960,39688,10001,23803,23039,176498,56659,44814,134295,17188,77577,74466,226175,102472,154333,63900,111747,18062,41171,79669,32773,408933,42562,28931,30907,107388,43487,2946,240310,23938,24354,319,184983,7927,6488,1422,10790,68809,68209,64775,4361,202,17123,59634,51200,44391,18188,17843,2619,74278,3230,9540,47187,21702,36274,56894,43907,16310,34790,16866,6150,5561,13587,107545,108873,126867,86986,28640,33427,19017,5762,80637,17430,46903,2047,131055,25958,13558,5444,47152,13900,44563,122857,45348,70863,39593,54332,38068,33637,318,40310,143467,18502,24520,11377,62013,28942,27246,28269,83545,17999,59015,90707,30065,15161,34720,1263,37008,2012,6060,98575,92933,5721,299,199555,24578,29223,2985,743,115825,109523,136657,47454,26378,53586,3733,174945,93340,244456,5693,37386,28782,89767,27545,23573,18798,136425,34320,84778,20041,48453,38215,7477,71958,40621,8773,5874,187927,105965,51100,43533,18083,8443,10180,43597,2003,183999,69689,12216,129696,146188,62389,34044,68410,12765,43273,26949,266807,3345,34477,79197,5688,47539,213110,21634,22257,50092,32222,42346,39530,63668,98,134978,74022,5152,59088,174145,37220,9934,9545,118937,5724,87240,19875,15784,40143,23263,87513,181654,285152,37881,263241,4966,43934,10433,186657,6470,74416,225854,25908,142677,246262,32280,6192,75890,45546,143264,135305,29742,47013,77787,11732,126658,8763,37950,21806,57557,113464,89465,108995,164574,23894,22996,23169,15369,23117,17642,130607,40503,36239,280990,44666,9981,40427,147487,26869,168452,32886,32991,46798,240839,15111,70502,65697,88548,44145,28701,48767,31139,206777,35659,181164,166262,14554,171445,31786,66523,76607,17956,6507,31279,90476,116611,167918,6560,1243,115324,80128,41867,55897,187323,37069,32596,189444,145931,13390,105530,65709,26805,6999,55714,41300,22915,68951,22138,21120,22264,10058,19945,33635,56123,99085,10032,5818,6016,46649,57476,35264,94413,112522,262288,93686,83038,14341,23204,28807,66084,77987,6101,126673,7133,38126,5923,122091,170240,97772,46874,215746,43948,41622,3272,55596,8332,146411,251315,13533,8561,81521,115449,48616,175175,2063,186556,3036,134537,75772,29728,82360,22973,186559,86348,89100,38388,82297,45610,2613,87082,9986,177812,57884,23591,47485,42543,33582,44713,74439,257444,252451,31825,35631,38540,33066,5147,13973,4343,51830,70378,22827,26448,95560,36896,241741,48067,203953,298860,61620,20450,3220,67272,6586,107662,100160,108684,6929,57226,4762,7457,1320,40404,77204,99309,62750,208653,59977,44e3,74315,34332,5819,172217,64904,114077,18147,84012,1791,98456,90930,21446,116669,103938,7422,85140,59713,5768,326211,16239,75411,13229,29398,10758,236107,1539,112472,95979,152154,151294,306,21196,38146,10700,6891,84282,109646,56492,40539,6589,119491,51354,30685,140209,136906,29622,73617,49553,70525,51671,166869,139616,74395,37439,49595,45678,11959,33211,86560,52434,9282,62690,112155,130810,5243,108261,99970,265613,72551,80049,6391,33365,90721,66737,69872,87011,1860,9032,112544,60905,37371,89015,140351,19076,850,373531,2802,36725,218795,72062,28990,16550,24614,7815,6187,26336,33373,32162,42791,73555,32062,23386,10244,56392,49442,27076,136262,12412,14883,1134,33675,97153,199281,15608,100152,74072,47942,254301,36451,16026,10687,65067,56708,254030,30290,50490,13864,57941,259331,35588,23485,43486,24869,21620,92971,22072,88645,1048,182050,13343,32452,14825,19509,3325,216938,45740,99716,189082,53740,78245,25609,24311,176777,47340,308354,40669,66085,14102,125339,9225,128709,97207,1271,200933,78439,113451,88975,18324,46521,11819,18570,141756,72512,170020,52754,63550,118515,103073,93330,32736,50499,14722,31600,68452,398867,29316,172786,18417,104924,2606,5670,84818,16288,67106,59580,82929,607401,291,85829,359,15897,35830,50696,65630,52672,22115,356968,29895,40837,231192,34024,38957,26722,406,23335,124952,72068,68804,13268,147101,164740,276569,162596,66943,11569,26654,66358,4777,23229,102127,5848,978,2921,59666,5371,28212,90108,42938,39320,2499,4271,108792,33510,125072,71653,65239,38250,66357,38577,13964,86251,35708,50755,36010,29448,12209,3844,38222,206337,100876,67827,137088,14167,252225,84163,195270,1306,5703,54198,779,46802,22028,51124,86759,70560,113164,35685,162145,45471,34561,422,2611,6464,47486,19223,38246,9191,18331,89942,243642,212364,15893,17518,22617,6409,30046,126182,59716,36560,104428,18846,26592,19458,50793,147333,30826,1388,27647,10922,14495,33545,19269,135828,39727,41601,46931,233379,49169,131130,182112,16276,82381,118209,142445,128310,19672,28740,82907,33436,3118,102206,28723,24819,41937,38854,5157,3881,111491,1142,9776,421673,152241,29309,14961,87854,6054,15424,3796,82656,54996,2108,55367,239450,154525,9643,118103,106041,64601,68549,48707,30266,25772,18740,9462,229669,91798,112152,191327,14493,72828,8175,66636,236474,25817,87351,129027,76653,20422,22983,71240,27846,44661,12399,46158,77704,53101,35032,11072,17300,109294,33638,24408,1895,11241,760,17584,82479,125877,63150,141075,34259,23274,81698,15732,43577,48340,91584,14688,16379,24481,150280,96420,262050,48635,43727,61819,56268,72003,88178,17281,79912,13218,122519,125295,166396,11811,2171,118930,67746,17636,178278,174656,95661,173039,83845,79689,17473,98555,127696,203415,54730,22925,232239,9309,12136,175026,20740,180188,10747,39816,314017,266131,10040,175732,112550,220651,31974,37393,888,23008,86799,4303,64905,148467,75337,251,3284,370102,50264,9835,5438,23655,4481,29851,329,12855,7162,64931,78141,12804,42372,296771,83547,18624,34874,86271,3360,48665,77735,88767,11463,63527,28889,22258,29140,194315,113924,25499,6406,31334,1845,4802,49184,43455,35469,127594,92970,61038,115005,38840,87761,106838,8811,20572,55637,11162,96721,132425,108925,2948,125457,36356,3502,75270,27622,127192,2561,123095,49394,61155,16897,110064,9699,89448,53356,19628,220310,21622,83036,9885,112214,6087,26713,17901,161912,91492,3440,68594,9266,92238,8087,6866,150194,72175,80701,13459,31836,43243,239700,95846,44749,50647,21945,230538,120612,132371,244604,5193,105637,34661,41341,68775,85393,1874,8771,33718,49672,77403,595452,99507,6490,58895,128742,7704,39239,73217,43816,62824,37804,199976,22361,80005,87514,94832,14089,4574,139975,59142,75523,100268,43906,53442,15152,2547,186002,17011,19513,204282,3343,60568,128318,119250,4298,51871,41336,71759,21921,45074,98169,145889,99427,11350,1237,5520,28799,7803,53702,21026,136352,38293,128690,12158,90132,44600,10184,26957,39459,126025,78904,82999,59373,39301,150198,120529,153042,20177,50089,14764,271571,30530,123161,38975,101562,22941,5648,124654,109243,69817,71675,49162,106884,21241,107795,30258,16572,188262,141456,7688,60718,8271,11044,32440,104608,103419,236109,93156,43293,128929,42107,67180,25201,115254,185488,130954,72813,167547,20537,39969,38432,22582,184022,1139,27199,5655,17767,97412,122606,209377,27070,35871,326617,188954,42680,73512,80911,22629,3011,95021,315242,157737,383,41821,41808,19335,27950,15674,25677,110950,35375,76835,59108,57370,35262,16569,160415,37706,78086,32041,49691,137143,9782,172080,50148,77917,6323,10110,69172,17711,21795,59511,76184,135114,31046,132319,59105,157578,20549,80778,57649,158421,65143,4575,72235,21899,10797,92745,34035,106079,80159,4508,78304,25350,75457,46458,32937,25623,47,8531,104751,84953,8138,36508,187199,66310,115274,13253,32461,38536,1916,42007,187160,35055,26325,84394,35963,94216,45590,97782];var w1=15,E1=class{log;peerRouting;routingTable;refreshInterval;refreshQueryTimeout;commonPrefixLengthRefreshedAt;refreshTimeoutId;constructor(e){let{peerRouting:r,routingTable:n,refreshInterval:i,refreshQueryTimeout:o,lan:s}=e;this.log=J(`libp2p:kad-dht:${s?"lan":"wan"}:routing-table:refresh`),this.peerRouting=r,this.routingTable=n,this.refreshInterval=i??3e5,this.refreshQueryTimeout=o??3e4,this.commonPrefixLengthRefreshedAt=[],this.refreshTable=this.refreshTable.bind(this)}async start(){this.log(`refreshing routing table every ${this.refreshInterval}ms`),this.refreshTable(!0)}async stop(){this.refreshTimeoutId!=null&&clearTimeout(this.refreshTimeoutId)}refreshTable(e=!1){this.log("refreshing routing table");let r=this._maxCommonPrefix(),n=this._getTrackedCommonPrefixLengthsForRefresh(r);this.log(`max common prefix length ${r}`),this.log(`tracked CPLs [ ${n.map(i=>i.toISOString()).join(", ")} ]`),Promise.all(n.map(async(i,o)=>{try{if(await this._refreshCommonPrefixLength(o,i,e),this._numPeersForCpl(r)===0){let s=Math.min(2*(o+1),n.length-1);for(let a=o+1;a<s+1;a++)try{await this._refreshCommonPrefixLength(a,i,e)}catch(c){this.log.error(c)}}}catch(s){this.log.error(s)}})).catch(i=>{this.log.error(i)}).then(()=>{this.refreshTimeoutId=setTimeout(this.refreshTable,this.refreshInterval),this.refreshTimeoutId.unref!=null&&this.refreshTimeoutId.unref()}).catch(i=>{this.log.error(i)})}async _refreshCommonPrefixLength(e,r,n){if(!n&&r.getTime()>Date.now()-this.refreshInterval){this.log("not running refresh for cpl %s as time since last refresh not above interval",e);return}let i=await this._generateRandomPeerId(e);this.log("starting refreshing cpl %s with key %p (routing table size was %s)",e,i,this.routingTable.size);let o=await y1(this.peerRouting.getClosestPeers(i.toBytes(),{signal:AbortSignal.timeout(this.refreshQueryTimeout)}));this.log(`found ${o} peers that were close to imaginary peer %p`,i),this.log("finished refreshing cpl %s with key %p (routing table size is now %s)",e,i,this.routingTable.size)}_getTrackedCommonPrefixLengthsForRefresh(e){e>w1&&(e=w1);let r=[];for(let n=0;n<=e;n++)r[n]=this.commonPrefixLengthRefreshedAt[n]??new Date;return r}async _generateRandomPeerId(e){if(this.routingTable.kb==null)throw new Error("Routing table not started");let r=_n(2),n=(r[1]<<8)+r[0],i=await this._makePeerId(this.routingTable.kb.localNodeId,n,e);return xr(i)}async _makePeerId(e,r,n){if(n>w1)throw new Error(`Cannot generate peer ID for common prefix length greater than ${w1}`);let s=new DataView(e.buffer,e.byteOffset,e.byteLength).getUint16(0,!1)^32768>>n,a=65535<<16-(n+1),c=s&a|r&~a,u=s5[c],f=new ArrayBuffer(34),l=new DataView(f,0,f.byteLength);return l.setUint8(0,Ne.code),l.setUint8(1,32),l.setUint32(2,u,!1),new Uint8Array(l.buffer,l.byteOffset,l.byteLength)}_maxCommonPrefix(){let e=0;for(let r of this._prefixLengths())r>e&&(e=r);return e}_numPeersForCpl(e){let r=0;for(let n of this._prefixLengths())n===e&&r++;return r}*_prefixLengths(){if(this.routingTable.kb!=null)for(let{id:e}of this.routingTable.kb.toIterable()){let r=Or(this.routingTable.kb.localNodeId,e),n=0;for(let i of r)if(i===0)n++;else break;yield n}}};var E0=J("libp2p:kad-dht:rpc:handlers:add-provider"),S1=class{providers;constructor(e){let{providers:r}=e;this.providers=r}async handle(e,r){if(E0("start"),r.key==null||r.key.length===0)throw new k("Missing key","ERR_MISSING_KEY");let n;try{n=Me.decode(r.key)}catch{throw new k("Invalid CID","ERR_INVALID_CID")}(r.providerPeers==null||r.providerPeers.length===0)&&E0.error("no providers found in message"),await Promise.all(r.providerPeers.map(async i=>{if(!i.id.equals(e)){E0("invalid provider peer %p from %p",i.id,e);return}if(i.multiaddrs.length<1){E0("no valid addresses for provider %p. Ignore",e);return}E0("received provider %p for %s (addrs %s)",e,n,i.multiaddrs.map(o=>o.toString())),await this.providers.addProvider(n,i.id)}))}};var a5=J("libp2p:kad-dht:rpc:handlers:find-node"),I1=class{peerRouting;lan;components;constructor(e,r){let{peerRouting:n,lan:i}=r;this.components=e,this.peerRouting=n,this.lan=!!i}async handle(e,r){a5("incoming request from %p for peers closer to %b",e,r.key);let n=[];de(this.components.peerId.toBytes(),r.key)?n=[{id:this.components.peerId,multiaddrs:this.components.addressManager.getAddresses().map(o=>o.decapsulateCode(Ee("p2p").code)),protocols:[]}]:n=await this.peerRouting.getCloserPeersOffline(r.key,e),n=n.map(this.lan?xi:gi).filter(({multiaddrs:o})=>o.length);let i=new Oe(r.type,new Uint8Array(0),r.clusterLevel);return n.length>0?i.closerPeers=n:a5("could not find any peers closer to %b than %p",r.key,e),i}};var c5=J("libp2p:kad-dht:rpc:handlers:get-providers"),A1=class{components;peerRouting;providers;lan;constructor(e,r){let{peerRouting:n,providers:i,lan:o}=r;this.components=e,this.peerRouting=n,this.providers=i,this.lan=!!o}async handle(e,r){let n;try{n=Me.decode(r.key)}catch{throw new k("Invalid CID","ERR_INVALID_CID")}c5("%p asking for providers for %s",e,n);let[i,o]=await Promise.all([this.providers.getProviders(n),this.peerRouting.getCloserPeersOffline(r.key,e)]),s=await this._getPeers(i),a=await this._getPeers(o.map(({id:u})=>u)),c=new Oe(r.type,r.key,r.clusterLevel);return s.length>0&&(c.providerPeers=s),a.length>0&&(c.closerPeers=a),c5("got %s providers %s closerPeers",s.length,a.length),c}async _getAddresses(e){return[]}async _getPeers(e){let r=[],n=this.lan?xi:gi;for(let i of e)try{let o=await this.components.peerStore.get(i),s=n({id:i,multiaddrs:o.addresses.map(({multiaddr:a})=>a),protocols:o.protocols});s.multiaddrs.length>0&&r.push(s)}catch(o){if(o.code!=="ERR_NOT_FOUND")throw o}return r}};var Ii=J("libp2p:kad-dht:rpc:handlers:get-value"),T1=class{components;peerRouting;constructor(e,r){let{peerRouting:n}=r;this.components=e,this.peerRouting=n}async handle(e,r){let n=r.key;if(Ii("%p asked for key %b",e,n),n==null||n.length===0)throw new k("Invalid key","ERR_INVALID_KEY");let i=new Oe($e.GET_VALUE,n,r.clusterLevel);if(v6(n)){Ii("is public key");let a=b6(n),c;try{let u=await this.components.peerStore.get(a);if(u.id.publicKey==null)throw new k("No public key found in key book","ERR_NOT_FOUND");c=u.id.publicKey}catch(u){if(u.code!=="ERR_NOT_FOUND")throw u}if(c!=null)return Ii("returning found public key"),i.record=new ze(n,c,new Date),i}let[o,s]=await Promise.all([this._checkLocalDatastore(n),this.peerRouting.getCloserPeersOffline(r.key,e)]);return o!=null&&(Ii("had record for %b in local datastore",n),i.record=o),s.length>0&&(Ii("had %s closer peers in routing table",s.length),i.closerPeers=s),i}async _checkLocalDatastore(e){Ii("checkLocalDatastore looking for %b",e);let r=Ur(e),n;try{n=await this.components.datastore.get(r)}catch(o){if(o.code==="ERR_NOT_FOUND")return;throw o}let i=ze.deserialize(n);if(i==null)throw new k("Invalid record","ERR_INVALID_RECORD");if(i.timeReceived==null||Date.now()-i.timeReceived.getTime()>1296e5){await this.components.datastore.delete(r);return}return i}};var Hm=J("libp2p:kad-dht:rpc:handlers:ping"),_1=class{async handle(e,r){return Hm("ping from %p",e),r}};var C1=class{log;components;validators;constructor(e,r){let{validators:n}=r;this.components=e,this.log=J("libp2p:kad-dht:rpc:handlers:put-value"),this.validators=n}async handle(e,r){let n=r.key;this.log("%p asked us to store value for key %b",e,n);let i=r.record;if(i==null){let o=`Empty record from: ${e.toString()}`;throw this.log.error(o),new k(o,"ERR_EMPTY_RECORD")}try{await yi(this.validators,i),i.timeReceived=new Date;let o=Ur(i.key);await this.components.datastore.put(o,i.serialize().subarray()),this.log("put record for %b into datastore under key %k",n,o)}catch(o){this.log("did not put record for key %b into datastore %o",n,o)}return r}};var R1=class{handlers;routingTable;log;constructor(e,r){let{providers:n,peerRouting:i,validators:o,lan:s}=r;this.log=J("libp2p:kad-dht:rpc"),this.routingTable=r.routingTable,this.handlers={[$e.GET_VALUE]:new T1(e,{peerRouting:i}),[$e.PUT_VALUE]:new C1(e,{validators:o}),[$e.FIND_NODE]:new I1(e,{peerRouting:i,lan:s}),[$e.ADD_PROVIDER]:new S1({providers:n}),[$e.GET_PROVIDERS]:new A1(e,{peerRouting:i,providers:n,lan:s}),[$e.PING]:new _1}}async handleMessage(e,r){try{await this.routingTable.add(e)}catch(i){this.log.error("Failed to update the kbucket store",i)}let n=this.handlers[r.type];if(n==null){this.log.error(`no handler found for message type: ${r.type}`);return}return n.handle(e,r)}onIncomingStream(e){Promise.resolve().then(async()=>{let{stream:r,connection:n}=e,i=n.remotePeer;try{await this.routingTable.add(i)}catch(s){this.log.error(s)}let o=this;await Xt(r,s=>Ln(s),async function*(s){for await(let a of s){let c=Oe.deserialize(a);o.log("incoming %s from %p",c.type,i);let u=await o.handleMessage(i,c);u!=null&&(yield u.serialize())}},s=>Pn(s),r)}).catch(r=>{this.log.error(r)})}};var B1=class extends at{log;components;protocol;running;registrarId;constructor(e,r){super();let{protocol:n,lan:i}=r;this.components=e,this.log=J(`libp2p:kad-dht:topology-listener:${i?"lan":"wan"}`),this.running=!1,this.protocol=n}isStarted(){return this.running}async start(){this.running||(this.running=!0,this.registrarId=await this.components.registrar.register(this.protocol,{onConnect:e=>{this.log("observed peer %p with protocol %s",e,this.protocol),this.dispatchEvent(new qe("peer",{detail:e}))}}))}async stop(){this.running=!1,this.registrarId!=null&&(this.components.registrar.unregister(this.registrarId),this.registrarId=void 0)}};var Gm=32,Ym=64,S0=class extends at{protocol;routingTable;providers;network;peerRouting;components;log;running;kBucketSize;clientMode;lan;validators;selectors;queryManager;contentFetching;contentRouting;routingTableRefresh;rpc;topologyListener;querySelf;maxInboundStreams;maxOutboundStreams;constructor(e,r){super();let{kBucketSize:n,clientMode:i,validators:o,selectors:s,querySelfInterval:a,lan:c,protocolPrefix:u,pingTimeout:f,pingConcurrency:l,maxInboundStreams:p,maxOutboundStreams:d,providers:h}=r;this.running=!1,this.components=e,this.lan=!!c,this.log=J(`libp2p:kad-dht:${c===!0?"lan":"wan"}`),this.protocol=`${u??$f}${c===!0?zf:""}${Hf}`,this.kBucketSize=n??20,this.clientMode=i??!0,this.maxInboundStreams=p??Gm,this.maxOutboundStreams=d??Ym,this.routingTable=new b1(e,{kBucketSize:n,lan:this.lan,pingTimeout:f,pingConcurrency:l,protocol:this.protocol}),this.providers=new l1(e,h??{}),this.validators={...g6,...o},this.selectors={...y6,...s},this.network=new Jo(e,{protocol:this.protocol,lan:this.lan});let m=ct();r.allowQueryWithZeroPeers===!0&&m.resolve(),this.queryManager=new m1(e,{disjointPaths:Math.ceil(this.kBucketSize/2),lan:c,initialQuerySelfHasRun:m,routingTable:this.routingTable}),this.peerRouting=new t1(e,{routingTable:this.routingTable,network:this.network,validators:this.validators,queryManager:this.queryManager,lan:this.lan}),this.contentFetching=new Yo(e,{validators:this.validators,selectors:this.selectors,peerRouting:this.peerRouting,queryManager:this.queryManager,network:this.network,lan:this.lan}),this.contentRouting=new Qo(e,{network:this.network,peerRouting:this.peerRouting,queryManager:this.queryManager,routingTable:this.routingTable,providers:this.providers,lan:this.lan}),this.routingTableRefresh=new E1({peerRouting:this.peerRouting,routingTable:this.routingTable,lan:this.lan}),this.rpc=new R1(e,{routingTable:this.routingTable,providers:this.providers,peerRouting:this.peerRouting,validators:this.validators,lan:this.lan}),this.topologyListener=new B1(e,{protocol:this.protocol,lan:this.lan}),this.querySelf=new x1(e,{peerRouting:this.peerRouting,interval:a,initialInterval:r.initialQuerySelfInterval,lan:this.lan,initialQuerySelfHasRun:m,routingTable:this.routingTable}),this.network.addEventListener("peer",y=>{let g=y.detail;this.onPeerConnect(g).catch(x=>{this.log.error("could not add %p to routing table",g.id,x)}),this.dispatchEvent(new qe("peer",{detail:g}))}),this.topologyListener.addEventListener("peer",y=>{let g=y.detail;Promise.resolve().then(async()=>{let x=await this.components.peerStore.get(g),v={id:g,multiaddrs:x.addresses.map(({multiaddr:R})=>R),protocols:x.protocols};await this.onPeerConnect(v)}).catch(x=>{this.log.error("could not add %p to routing table",g,x)})})}async onPeerConnect(e){if(this.log("peer %p connected with protocols",e.id,e.protocols),this.lan?e=xi(e):e=gi(e),e.multiaddrs.length===0){this.log("ignoring %p as they do not have any %s addresses in %s",e.id,this.lan?"private":"public",e.multiaddrs.map(r=>r.toString()));return}try{await this.routingTable.add(e.id)}catch(r){this.log.error("could not add %p to routing table",e.id,r)}}isStarted(){return this.running}async getMode(){return this.clientMode?"client":"server"}async setMode(e){await this.components.registrar.unhandle(this.protocol),e==="client"?(this.log("enabling client mode"),this.clientMode=!0):(this.log("enabling server mode"),this.clientMode=!1,await this.components.registrar.handle(this.protocol,this.rpc.onIncomingStream.bind(this.rpc),{maxInboundStreams:this.maxInboundStreams,maxOutboundStreams:this.maxOutboundStreams}))}async start(){this.running=!0,await this.setMode(this.clientMode?"client":"server"),await Promise.all([this.providers.start(),this.queryManager.start(),this.network.start(),this.routingTable.start(),this.topologyListener.start()]),this.querySelf.start(),await this.routingTableRefresh.start()}async stop(){this.running=!1,this.querySelf.stop(),await Promise.all([this.providers.stop(),this.queryManager.stop(),this.network.stop(),this.routingTable.stop(),this.routingTableRefresh.stop(),this.topologyListener.stop()])}async*put(e,r,n={}){yield*this.contentFetching.put(e,r,n)}async*get(e,r={}){yield*this.contentFetching.get(e,r)}async*provide(e,r={}){yield*this.contentRouting.provide(e,this.components.addressManager.getAddresses(),r)}async*findProviders(e,r={}){yield*this.contentRouting.findProviders(e,r)}async*findPeer(e,r={}){yield*this.peerRouting.findPeer(e,r)}async*getClosestPeers(e,r={}){yield*this.peerRouting.getClosestPeers(e,r)}async refreshRoutingTable(){this.routingTableRefresh.refreshTable(!0)}};var P2=J("libp2p:kad-dht"),N2=class{dht;constructor(e){this.dht=e}async provide(e,r={}){await i0(this.dht.provide(e,r))}async*findProviders(e,r={}){for await(let n of this.dht.findProviders(e,r))n.name==="PROVIDER"&&(yield*n.providers)}async put(e,r,n){await i0(this.dht.put(e,r,n))}async get(e,r){for await(let n of this.dht.get(e,r))if(n.name==="VALUE")return n.value;throw new k("Not found","ERR_NOT_FOUND")}},L2=class{dht;constructor(e){this.dht=e}async findPeer(e,r={}){for await(let n of this.dht.findPeer(e,r))if(n.name==="FINAL_PEER")return n.peer;throw new k("Not found","ERR_NOT_FOUND")}async*getClosestPeers(e,r={}){for await(let n of this.dht.getClosestPeers(e,r))n.name==="FINAL_PEER"&&(yield n.peer)}},Qm=290,Wm=54,Zm=55,Xm=56,Jm=4,jm=41;function ey(t){let e=t.stringTuples();for(let r of e)if(r[0]===Qm)return!1;if(e[0][0]===Wm||e[0][0]===Zm||e[0][0]===Xm)return!0;if(e[0][0]===Jm||e[0][0]===jm){let r=s0(`${e[0][1]}`);return r==null||!r}return!1}var D2=class extends at{wan;lan;components;contentRouting;peerRouting;constructor(e,r={}){super(),this.components=e,this.wan=new S0(e,{protocolPrefix:"/ipfs",...r,lan:!1}),this.lan=new S0(e,{protocolPrefix:"/ipfs",...r,clientMode:!1,lan:!0}),this.contentRouting=new N2(this),this.peerRouting=new L2(this),this.wan.addEventListener("peer",n=>{this.dispatchEvent(new qe("peer",{detail:n.detail}))}),this.lan.addEventListener("peer",n=>{this.dispatchEvent(new qe("peer",{detail:n.detail}))}),r.clientMode==null&&e.events.addEventListener("self:peer:update",n=>{P2("received update of self-peer info");let i=n.detail.peer.addresses.some(({multiaddr:o})=>ey(o));this.getMode().then(async o=>{i&&o==="client"?await this.setMode("server"):o==="server"&&!i&&await this.setMode("client")}).catch(o=>{P2.error("error setting dht server mode",o)})})}[Symbol.toStringTag]="@libp2p/dual-kad-dht";get[Cf](){return this.contentRouting}get[Bf](){return this.peerRouting}get[Rf](){return this}isStarted(){return this.wan.isStarted()&&this.lan.isStarted()}async getMode(){return this.wan.getMode()}async setMode(e){await this.wan.setMode(e)}async start(){await Promise.all([this.lan.start(),this.wan.start()])}async stop(){await Promise.all([this.lan.stop(),this.wan.stop()])}async*put(e,r,n={}){for await(let i of Wt(this.lan.put(e,r,n),this.wan.put(e,r,n)))yield i}async*get(e,r={}){let n=!1,i=!1;for await(let o of Wt(this.lan.get(e,r),this.wan.get(e,r)))yield o,o.name==="DIAL_PEER"&&(n=!0),o.name==="VALUE"&&(n=!0,o.value!=null&&(i=!0)),o.name==="SEND_QUERY"&&(n=!0);if(!n)throw new k("No peers found in routing table!","ERR_NO_PEERS_IN_ROUTING_TABLE");i||(yield pt({from:this.components.peerId,error:new k("Not found","ERR_NOT_FOUND")},r))}async*provide(e,r={}){let n=0,i=0,o=[],s=[this.lan];await this.wan.getMode()==="server"&&s.push(this.wan);for await(let a of Wt(...s.map(c=>c.provide(e,r))))yield a,a.name==="SEND_QUERY"&&n++,a.name==="QUERY_ERROR"&&o.push(a.error),a.name==="PEER_RESPONSE"&&a.messageName==="ADD_PROVIDER"&&(P2("sent provider record for %s to %p",e,a.from),i++);if(i===0)throw o.length>0?new k(`Failed to provide to ${o.length} of ${n} peers`,"ERR_PROVIDES_FAILED",{errors:o}):new k("Failed to provide - no peers found","ERR_PROVIDES_FAILED")}async*findProviders(e,r={}){yield*Wt(this.lan.findProviders(e,r),this.wan.findProviders(e,r))}async*findPeer(e,r={}){let n=!1;for await(let i of Wt(this.lan.findPeer(e,r),this.wan.findPeer(e,r)))yield i,(i.name==="SEND_QUERY"||i.name==="FINAL_PEER")&&(n=!0);if(!n)throw new k("Peer lookup failed","ERR_LOOKUP_FAILED")}async*getClosestPeers(e,r={}){yield*Wt(this.lan.getClosestPeers(e,r),this.wan.getClosestPeers(e,r))}async refreshRoutingTable(){await Promise.all([this.lan.refreshRoutingTable(),this.wan.refreshRoutingTable()])}};var u5;(function(t){t[t.SEND_QUERY=0]="SEND_QUERY",t[t.PEER_RESPONSE=1]="PEER_RESPONSE",t[t.FINAL_PEER=2]="FINAL_PEER",t[t.QUERY_ERROR=3]="QUERY_ERROR",t[t.PROVIDER=4]="PROVIDER",t[t.VALUE=5]="VALUE",t[t.ADD_PEER=6]="ADD_PEER",t[t.DIAL_PEER=7]="DIAL_PEER"})(u5||(u5={}));var f5;(function(t){t[t.PUT_VALUE=0]="PUT_VALUE",t[t.GET_VALUE=1]="GET_VALUE",t[t.ADD_PROVIDER=2]="ADD_PROVIDER",t[t.GET_PROVIDERS=3]="GET_PROVIDERS",t[t.FIND_NODE=4]="FIND_NODE",t[t.PING=5]="PING"})(f5||(f5={}));function k2(t){return new lr("/dht/record/"+Q(t,"base32"),!1)}function l5(t){return{async put(e,r,n={}){try{let i=k2(e),o=new ze(e,r,new Date);n.onProgress?.(new dr("ipns:routing:datastore:put")),await t.put(i,o.serialize(),n)}catch(i){throw n.onProgress?.(new dr("ipns:routing:datastore:error",i)),i}},async get(e,r={}){try{let n=k2(e);r.onProgress?.(new dr("ipns:routing:datastore:get"));let i=await t.get(n,r);return ze.deserialize(i).value}catch(n){throw r.onProgress?.(new dr("ipns:routing:datastore:error",n)),n}},async has(e,r={}){let n=k2(e);return t.has(n,r)}}}var h5=me(d2(),1),P1=class{lru;constructor(e){this.lru=(0,h5.default)(e)}get(e){let r=this.lru.get(e);if(r!=null){if(r.expire!=null&&r.expire<Date.now()){this.lru.remove(e);return}return r.value}}set(e,r,n){this.lru.set(e,{value:r,expire:Date.now()+n})}has(e){return this.get(e)!=null}remove(e){this.lru.remove(e)}clear(){this.lru.clear()}};var U2=new P1(1e3),ty=60*1e3,ry=new fn({concurrency:4}),d5=t=>{if(t.Path!=null)return t.Path;throw new Error(t.Message)};async function p5(t,e={}){return(async(n,i={})=>{let o=new URLSearchParams(i);o.set("arg",n);let s=o.toString();if(i.nocache!==!0&&U2.has(s)){let c=U2.get(s);if(c!=null)return d5(c)}let a=await ry.add(async()=>{let c=await fetch(`https://ipfs.io/api/v0/dns?${o}`),u=new URL(c.url).search.slice(1),f=await c.json();return U2.set(u,f,ty),f});return d5(a)})(t,e)}var N1=J("helia:ipns"),ny=60*1e3,m5=60*ny,iy=24*m5,O2=23*m5,F2=class{routers;localStore;timeout;constructor(e,r=[]){this.routers=r,this.localStore=l5(e.datastore)}async publish(e,r,n={}){try{let i=1n,o=ko(e);if(await this.localStore.has(o,n)){let c=await this.localStore.get(o,n);i=kr(c).sequence+1n}let s=await _f(e,r,i,n.lifetime??iy,n),a=La(s);return await this.localStore.put(o,a,n),n.offline!==!0&&await Promise.all(this.routers.map(async c=>{await c.put(o,a,n)})),s}catch(i){throw n.onProgress?.(new dr("ipns:publish:error",i)),i}}async resolve(e,r={}){let n=ko(e),i=await this.#t(n,r);return this.#e(i.value,r)}async resolveDns(e,r={}){let n=await p5(e,r);return this.#e(n,r)}republish(e={}){if(this.timeout!=null)throw new Error("Republish is already running");e.signal?.addEventListener("abort",()=>{clearTimeout(this.timeout)});async function r(){let n=Date.now();e.onProgress?.(new dr("ipns:republish:start"));let o=Date.now()-n,s=O2-o;s<0&&(s=e.interval??O2),setTimeout(()=>{r().catch(a=>{N1.error("error republishing",a)})},s)}this.timeout=setTimeout(()=>{r().catch(n=>{N1.error("error republishing",n)})},e.interval??O2)}async#e(e,r={}){let n=e.split("/");if(n.length===3){let i=n[1];if(i==="ipns")return this.resolve(Ce(n[2]),r);if(i==="ipfs")return Me.parse(n[2])}throw N1.error("invalid ipfs path %s",e),new Error("Invalid value")}async#t(e,r={}){let n=[this.localStore,...this.routers];r.offline===!0&&(n=[this.localStore]);let i=[];if(await Promise.all(n.map(async s=>{try{let a=await s.get(e,r);await Oa(e,a),i.push(a)}catch(a){N1.error("error finding IPNS record",a)}})),i.length===0)throw new k("Could not find record for routing key","ERR_NOT_FOUND");let o=i[Uo(e,i)];return await this.localStore.put(e,o,r),kr(o)}};function oy(t,e=[]){return new F2(t,e)}return R5(sy);})();
17
28
  /*! Bundled license information:
18
29
 
19
30
  @noble/hashes/esm/utils.js: