@libp2p/kad-dht 7.0.0 → 7.0.2
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 +19 -19
- package/dist/src/content-fetching/index.d.ts +5 -5
- package/dist/src/content-fetching/index.d.ts.map +1 -1
- package/dist/src/content-fetching/index.js +6 -6
- package/dist/src/content-fetching/index.js.map +1 -1
- package/dist/src/content-routing/index.d.ts +3 -3
- package/dist/src/content-routing/index.d.ts.map +1 -1
- package/dist/src/content-routing/index.js +1 -1
- package/dist/src/content-routing/index.js.map +1 -1
- package/dist/src/dual-kad-dht.d.ts +9 -9
- package/dist/src/dual-kad-dht.d.ts.map +1 -1
- package/dist/src/dual-kad-dht.js +6 -6
- package/dist/src/dual-kad-dht.js.map +1 -1
- package/dist/src/kad-dht.d.ts +9 -9
- package/dist/src/kad-dht.d.ts.map +1 -1
- package/dist/src/kad-dht.js +1 -1
- package/dist/src/kad-dht.js.map +1 -1
- package/dist/src/message/dht.d.ts.map +1 -1
- package/dist/src/message/dht.js.map +1 -1
- package/dist/src/message/index.d.ts.map +1 -1
- package/dist/src/network.d.ts +3 -2
- package/dist/src/network.d.ts.map +1 -1
- package/dist/src/network.js +2 -2
- package/dist/src/network.js.map +1 -1
- package/dist/src/peer-list/index.d.ts.map +1 -1
- package/dist/src/peer-list/peer-distance-list.d.ts.map +1 -1
- package/dist/src/peer-routing/index.d.ts +6 -6
- package/dist/src/peer-routing/index.d.ts.map +1 -1
- package/dist/src/peer-routing/index.js +9 -9
- package/dist/src/peer-routing/index.js.map +1 -1
- package/dist/src/providers.d.ts.map +1 -1
- package/dist/src/providers.js +8 -3
- package/dist/src/providers.js.map +1 -1
- package/dist/src/query/manager.d.ts +2 -2
- package/dist/src/query/manager.d.ts.map +1 -1
- package/dist/src/query/query-path.d.ts.map +1 -1
- package/dist/src/query/query-path.js +2 -2
- package/dist/src/query/query-path.js.map +1 -1
- package/dist/src/query-self.d.ts.map +1 -1
- package/dist/src/routing-table/index.d.ts +1 -1
- package/dist/src/routing-table/index.d.ts.map +1 -1
- package/dist/src/routing-table/index.js +1 -1
- package/dist/src/routing-table/index.js.map +1 -1
- package/dist/src/routing-table/refresh.d.ts +3 -2
- package/dist/src/routing-table/refresh.d.ts.map +1 -1
- package/dist/src/routing-table/refresh.js.map +1 -1
- package/dist/src/rpc/handlers/add-provider.d.ts +1 -1
- package/dist/src/rpc/handlers/add-provider.d.ts.map +1 -1
- package/dist/src/rpc/handlers/add-provider.js +3 -3
- package/dist/src/rpc/handlers/add-provider.js.map +1 -1
- package/dist/src/rpc/handlers/find-node.d.ts.map +1 -1
- package/dist/src/rpc/handlers/get-providers.d.ts +2 -1
- package/dist/src/rpc/handlers/get-providers.d.ts.map +1 -1
- package/dist/src/rpc/handlers/get-providers.js +2 -2
- package/dist/src/rpc/handlers/get-providers.js.map +1 -1
- package/dist/src/rpc/handlers/get-value.d.ts +1 -1
- package/dist/src/rpc/handlers/get-value.d.ts.map +1 -1
- package/dist/src/rpc/handlers/get-value.js +5 -5
- package/dist/src/rpc/handlers/get-value.js.map +1 -1
- package/dist/src/rpc/handlers/ping.d.ts.map +1 -1
- package/dist/src/rpc/handlers/put-value.d.ts.map +1 -1
- package/dist/src/rpc/handlers/put-value.js +2 -2
- package/dist/src/rpc/handlers/put-value.js.map +1 -1
- package/dist/src/rpc/index.d.ts.map +1 -1
- package/dist/src/topology-listener.d.ts +1 -1
- package/dist/src/topology-listener.d.ts.map +1 -1
- package/dist/src/topology-listener.js +1 -1
- package/dist/src/topology-listener.js.map +1 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +1 -1
- package/dist/src/utils.js.map +1 -1
- package/dist/typedoc-urls.json +1 -0
- package/package.json +4 -7
- package/src/content-fetching/index.ts +13 -13
- package/src/content-routing/index.ts +4 -4
- package/src/dual-kad-dht.ts +20 -20
- package/src/kad-dht.ts +16 -16
- package/src/message/dht.ts +2 -2
- package/src/message/index.ts +5 -5
- package/src/network.ts +10 -9
- package/src/peer-list/index.ts +5 -5
- package/src/peer-list/peer-distance-list.ts +4 -4
- package/src/peer-routing/index.ts +17 -17
- package/src/providers.ts +19 -14
- package/src/query/manager.ts +5 -5
- package/src/query/query-path.ts +6 -6
- package/src/query-self.ts +4 -4
- package/src/routing-table/index.ts +11 -11
- package/src/routing-table/refresh.ts +11 -10
- package/src/rpc/handlers/add-provider.ts +4 -4
- package/src/rpc/handlers/find-node.ts +1 -1
- package/src/rpc/handlers/get-providers.ts +6 -5
- package/src/rpc/handlers/get-value.ts +7 -7
- package/src/rpc/handlers/ping.ts +1 -1
- package/src/rpc/handlers/put-value.ts +3 -3
- package/src/rpc/index.ts +2 -2
- package/src/topology-listener.ts +3 -3
- package/src/utils.ts +12 -12
package/dist/index.min.js
CHANGED
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
(function (root, factory) {(typeof module === 'object' && module.exports) ? module.exports = factory() : root.Libp2PKadDht = factory()}(typeof self !== 'undefined' ? self : this, function () {
|
|
2
|
-
"use strict";var Libp2PKadDht=(()=>{var ku=Object.create;var p1=Object.defineProperty;var Du=Object.getOwnPropertyDescriptor;var Fu=Object.getOwnPropertyNames;var Uu=Object.getPrototypeOf,Ou=Object.prototype.hasOwnProperty;var D=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Lt=(e,t)=>{for(var r in t)p1(e,r,{get:t[r],enumerable:!0})},J2=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Fu(t))!Ou.call(e,i)&&i!==r&&p1(e,i,{get:()=>t[i],enumerable:!(n=Du(t,i))||n.enumerable});return e};var R=(e,t,r)=>(r=e!=null?ku(Uu(e)):{},J2(t||!e||!e.__esModule?p1(r,"default",{value:e,enumerable:!0}):r,e)),Mu=e=>J2(p1({},"__esModule",{value:!0}),e);var ra=D(d1=>{"use strict";d1.byteLength=Vu;d1.toByteArray=zu;d1.fromByteArray=Gu;var _e=[],oe=[],Ku=typeof Uint8Array<"u"?Uint8Array:Array,co="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Dr=0,ta=co.length;Dr<ta;++Dr)_e[Dr]=co[Dr],oe[co.charCodeAt(Dr)]=Dr;var Dr,ta;oe["-".charCodeAt(0)]=62;oe["_".charCodeAt(0)]=63;function ea(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function Vu(e){var t=ea(e),r=t[0],n=t[1];return(r+n)*3/4-n}function qu(e,t,r){return(t+r)*3/4-r}function zu(e){var t,r=ea(e),n=r[0],i=r[1],o=new Ku(qu(e,n,i)),s=0,a=i>0?n-4:n,u;for(u=0;u<a;u+=4)t=oe[e.charCodeAt(u)]<<18|oe[e.charCodeAt(u+1)]<<12|oe[e.charCodeAt(u+2)]<<6|oe[e.charCodeAt(u+3)],o[s++]=t>>16&255,o[s++]=t>>8&255,o[s++]=t&255;return i===2&&(t=oe[e.charCodeAt(u)]<<2|oe[e.charCodeAt(u+1)]>>4,o[s++]=t&255),i===1&&(t=oe[e.charCodeAt(u)]<<10|oe[e.charCodeAt(u+1)]<<4|oe[e.charCodeAt(u+2)]>>2,o[s++]=t>>8&255,o[s++]=t&255),o}function $u(e){return _e[e>>18&63]+_e[e>>12&63]+_e[e>>6&63]+_e[e&63]}function Hu(e,t,r){for(var n,i=[],o=t;o<r;o+=3)n=(e[o]<<16&16711680)+(e[o+1]<<8&65280)+(e[o+2]&255),i.push($u(n));return i.join("")}function Gu(e){for(var t,r=e.length,n=r%3,i=[],o=16383,s=0,a=r-n;s<a;s+=o)i.push(Hu(e,s,s+o>a?a:s+o));return n===1?(t=e[r-1],i.push(_e[t>>2]+_e[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(_e[t>>10]+_e[t>>4&63]+_e[t<<2&63]+"=")),i.join("")}});var na=D(fo=>{fo.read=function(e,t,r,n,i){var o,s,a=i*8-n-1,u=(1<<a)-1,c=u>>1,f=-7,l=r?i-1:0,d=r?-1:1,p=e[t+l];for(l+=d,o=p&(1<<-f)-1,p>>=-f,f+=a;f>0;o=o*256+e[t+l],l+=d,f-=8);for(s=o&(1<<-f)-1,o>>=-f,f+=n;f>0;s=s*256+e[t+l],l+=d,f-=8);if(o===0)o=1-c;else{if(o===u)return s?NaN:(p?-1:1)*(1/0);s=s+Math.pow(2,n),o=o-c}return(p?-1:1)*s*Math.pow(2,o-n)};fo.write=function(e,t,r,n,i,o){var s,a,u,c=o*8-i-1,f=(1<<c)-1,l=f>>1,d=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:o-1,h=n?1:-1,y=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=f):(s=Math.floor(Math.log(t)/Math.LN2),t*(u=Math.pow(2,-s))<1&&(s--,u*=2),s+l>=1?t+=d/u:t+=d*Math.pow(2,1-l),t*u>=2&&(s++,u/=2),s+l>=f?(a=0,s=f):s+l>=1?(a=(t*u-1)*Math.pow(2,i),s=s+l):(a=t*Math.pow(2,l-1)*Math.pow(2,i),s=0));i>=8;e[r+p]=a&255,p+=h,a/=256,i-=8);for(s=s<<i|a,c+=i;c>0;e[r+p]=s&255,p+=h,s/=256,c-=8);e[r+p-h]|=y*128}});var wa=D(yn=>{"use strict";var lo=ra(),pn=na(),ia=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;yn.Buffer=E;yn.SlowBuffer=ju;yn.INSPECT_MAX_BYTES=50;var y1=2147483647;yn.kMaxLength=y1;E.TYPED_ARRAY_SUPPORT=Qu();!E.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function Qu(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(E.prototype,"parent",{enumerable:!0,get:function(){if(E.isBuffer(this))return this.buffer}});Object.defineProperty(E.prototype,"offset",{enumerable:!0,get:function(){if(E.isBuffer(this))return this.byteOffset}});function Ze(e){if(e>y1)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,E.prototype),t}function E(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return go(e)}return ua(e,t,r)}E.poolSize=8192;function ua(e,t,r){if(typeof e=="string")return Yu(e,t);if(ArrayBuffer.isView(e))return Zu(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Te(e,ArrayBuffer)||e&&Te(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Te(e,SharedArrayBuffer)||e&&Te(e.buffer,SharedArrayBuffer)))return po(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return E.from(n,t,r);let i=Xu(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return E.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}E.from=function(e,t,r){return ua(e,t,r)};Object.setPrototypeOf(E.prototype,Uint8Array.prototype);Object.setPrototypeOf(E,Uint8Array);function ca(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function Wu(e,t,r){return ca(e),e<=0?Ze(e):t!==void 0?typeof r=="string"?Ze(e).fill(t,r):Ze(e).fill(t):Ze(e)}E.alloc=function(e,t,r){return Wu(e,t,r)};function go(e){return ca(e),Ze(e<0?0:mo(e)|0)}E.allocUnsafe=function(e){return go(e)};E.allocUnsafeSlow=function(e){return go(e)};function Yu(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!E.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=fa(e,t)|0,n=Ze(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function ho(e){let t=e.length<0?0:mo(e.length)|0,r=Ze(t);for(let n=0;n<t;n+=1)r[n]=e[n]&255;return r}function Zu(e){if(Te(e,Uint8Array)){let t=new Uint8Array(e);return po(t.buffer,t.byteOffset,t.byteLength)}return ho(e)}function po(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('"length" is outside of buffer bounds');let n;return t===void 0&&r===void 0?n=new Uint8Array(e):r===void 0?n=new Uint8Array(e,t):n=new Uint8Array(e,t,r),Object.setPrototypeOf(n,E.prototype),n}function Xu(e){if(E.isBuffer(e)){let t=mo(e.length)|0,r=Ze(t);return r.length===0||e.copy(r,0,0,t),r}if(e.length!==void 0)return typeof e.length!="number"||vo(e.length)?Ze(0):ho(e);if(e.type==="Buffer"&&Array.isArray(e.data))return ho(e.data)}function mo(e){if(e>=y1)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+y1.toString(16)+" bytes");return e|0}function ju(e){return+e!=e&&(e=0),E.alloc(+e)}E.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==E.prototype};E.compare=function(t,r){if(Te(t,Uint8Array)&&(t=E.from(t,t.offset,t.byteLength)),Te(r,Uint8Array)&&(r=E.from(r,r.offset,r.byteLength)),!E.isBuffer(t)||!E.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let n=t.length,i=r.length;for(let o=0,s=Math.min(n,i);o<s;++o)if(t[o]!==r[o]){n=t[o],i=r[o];break}return n<i?-1:i<n?1:0};E.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}};E.concat=function(t,r){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(t.length===0)return E.alloc(0);let n;if(r===void 0)for(r=0,n=0;n<t.length;++n)r+=t[n].length;let i=E.allocUnsafe(r),o=0;for(n=0;n<t.length;++n){let s=t[n];if(Te(s,Uint8Array))o+s.length>i.length?(E.isBuffer(s)||(s=E.from(s)),s.copy(i,o)):Uint8Array.prototype.set.call(i,s,o);else if(E.isBuffer(s))s.copy(i,o);else throw new TypeError('"list" argument must be an Array of Buffers');o+=s.length}return i};function fa(e,t){if(E.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Te(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return yo(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return va(e).length;default:if(i)return n?-1:yo(e).length;t=(""+t).toLowerCase(),i=!0}}E.byteLength=fa;function Ju(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return cc(this,t,r);case"utf8":case"utf-8":return ha(this,t,r);case"ascii":return ac(this,t,r);case"latin1":case"binary":return uc(this,t,r);case"base64":return oc(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return fc(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}E.prototype._isBuffer=!0;function Fr(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}E.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;r<t;r+=2)Fr(this,r,r+1);return this};E.prototype.swap32=function(){let t=this.length;if(t%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let r=0;r<t;r+=4)Fr(this,r,r+3),Fr(this,r+1,r+2);return this};E.prototype.swap64=function(){let t=this.length;if(t%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let r=0;r<t;r+=8)Fr(this,r,r+7),Fr(this,r+1,r+6),Fr(this,r+2,r+5),Fr(this,r+3,r+4);return this};E.prototype.toString=function(){let t=this.length;return t===0?"":arguments.length===0?ha(this,0,t):Ju.apply(this,arguments)};E.prototype.toLocaleString=E.prototype.toString;E.prototype.equals=function(t){if(!E.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t?!0:E.compare(this,t)===0};E.prototype.inspect=function(){let t="",r=yn.INSPECT_MAX_BYTES;return t=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(t+=" ... "),"<Buffer "+t+">"};ia&&(E.prototype[ia]=E.prototype.inspect);E.prototype.compare=function(t,r,n,i,o){if(Te(t,Uint8Array)&&(t=E.from(t,t.offset,t.byteLength)),!E.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),o===void 0&&(o=this.length),r<0||n>t.length||i<0||o>this.length)throw new RangeError("out of range index");if(i>=o&&r>=n)return 0;if(i>=o)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,o>>>=0,this===t)return 0;let s=o-i,a=n-r,u=Math.min(s,a),c=this.slice(i,o),f=t.slice(r,n);for(let l=0;l<u;++l)if(c[l]!==f[l]){s=c[l],a=f[l];break}return s<a?-1:a<s?1:0};function la(e,t,r,n,i){if(e.length===0)return-1;if(typeof r=="string"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,vo(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=E.from(t,n)),E.isBuffer(t))return t.length===0?-1:oa(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):oa(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function oa(e,t,r,n,i){let o=1,s=e.length,a=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;o=2,s/=2,a/=2,r/=2}function u(f,l){return o===1?f[l]:f.readUInt16BE(l*o)}let c;if(i){let f=-1;for(c=r;c<s;c++)if(u(e,c)===u(t,f===-1?0:c-f)){if(f===-1&&(f=c),c-f+1===a)return f*o}else f!==-1&&(c-=c-f),f=-1}else for(r+a>s&&(r=s-a),c=r;c>=0;c--){let f=!0;for(let l=0;l<a;l++)if(u(e,c+l)!==u(t,l)){f=!1;break}if(f)return c}return-1}E.prototype.includes=function(t,r,n){return this.indexOf(t,r,n)!==-1};E.prototype.indexOf=function(t,r,n){return la(this,t,r,n,!0)};E.prototype.lastIndexOf=function(t,r,n){return la(this,t,r,n,!1)};function tc(e,t,r,n){r=Number(r)||0;let i=e.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;let o=t.length;n>o/2&&(n=o/2);let s;for(s=0;s<n;++s){let a=parseInt(t.substr(s*2,2),16);if(vo(a))return s;e[r+s]=a}return s}function ec(e,t,r,n){return g1(yo(t,e.length-r),e,r,n)}function rc(e,t,r,n){return g1(dc(t),e,r,n)}function nc(e,t,r,n){return g1(va(t),e,r,n)}function ic(e,t,r,n){return g1(yc(t,e.length-r),e,r,n)}E.prototype.write=function(t,r,n,i){if(r===void 0)i="utf8",n=this.length,r=0;else if(n===void 0&&typeof r=="string")i=r,n=this.length,r=0;else if(isFinite(r))r=r>>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let o=this.length-r;if((n===void 0||n>o)&&(n=o),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return tc(this,t,r,n);case"utf8":case"utf-8":return ec(this,t,r,n);case"ascii":case"latin1":case"binary":return rc(this,t,r,n);case"base64":return nc(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ic(this,t,r,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}};E.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function oc(e,t,r){return t===0&&r===e.length?lo.fromByteArray(e):lo.fromByteArray(e.slice(t,r))}function ha(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i<r;){let o=e[i],s=null,a=o>239?4:o>223?3:o>191?2:1;if(i+a<=r){let u,c,f,l;switch(a){case 1:o<128&&(s=o);break;case 2:u=e[i+1],(u&192)===128&&(l=(o&31)<<6|u&63,l>127&&(s=l));break;case 3:u=e[i+1],c=e[i+2],(u&192)===128&&(c&192)===128&&(l=(o&15)<<12|(u&63)<<6|c&63,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:u=e[i+1],c=e[i+2],f=e[i+3],(u&192)===128&&(c&192)===128&&(f&192)===128&&(l=(o&15)<<18|(u&63)<<12|(c&63)<<6|f&63,l>65535&&l<1114112&&(s=l))}}s===null?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),i+=a}return sc(n)}var sa=4096;function sc(e){let t=e.length;if(t<=sa)return String.fromCharCode.apply(String,e);let r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=sa));return r}function ac(e,t,r){let n="";r=Math.min(e.length,r);for(let i=t;i<r;++i)n+=String.fromCharCode(e[i]&127);return n}function uc(e,t,r){let n="";r=Math.min(e.length,r);for(let i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function cc(e,t,r){let n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);let i="";for(let o=t;o<r;++o)i+=gc[e[o]];return i}function fc(e,t,r){let n=e.slice(t,r),i="";for(let o=0;o<n.length-1;o+=2)i+=String.fromCharCode(n[o]+n[o+1]*256);return i}E.prototype.slice=function(t,r){let n=this.length;t=~~t,r=r===void 0?n:~~r,t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),r<t&&(r=t);let i=this.subarray(t,r);return Object.setPrototypeOf(i,E.prototype),i};function kt(e,t,r){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}E.prototype.readUintLE=E.prototype.readUIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||kt(t,r,this.length);let i=this[t],o=1,s=0;for(;++s<r&&(o*=256);)i+=this[t+s]*o;return i};E.prototype.readUintBE=E.prototype.readUIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||kt(t,r,this.length);let i=this[t+--r],o=1;for(;r>0&&(o*=256);)i+=this[t+--r]*o;return i};E.prototype.readUint8=E.prototype.readUInt8=function(t,r){return t=t>>>0,r||kt(t,1,this.length),this[t]};E.prototype.readUint16LE=E.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||kt(t,2,this.length),this[t]|this[t+1]<<8};E.prototype.readUint16BE=E.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||kt(t,2,this.length),this[t]<<8|this[t+1]};E.prototype.readUint32LE=E.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};E.prototype.readUint32BE=E.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};E.prototype.readBigUInt64LE=gr(function(t){t=t>>>0,dn(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&f0(t,this.length-8);let i=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,o=this[++t]+this[++t]*2**8+this[++t]*2**16+n*2**24;return BigInt(i)+(BigInt(o)<<BigInt(32))});E.prototype.readBigUInt64BE=gr(function(t){t=t>>>0,dn(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&f0(t,this.length-8);let i=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],o=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n;return(BigInt(i)<<BigInt(32))+BigInt(o)});E.prototype.readIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||kt(t,r,this.length);let i=this[t],o=1,s=0;for(;++s<r&&(o*=256);)i+=this[t+s]*o;return o*=128,i>=o&&(i-=Math.pow(2,8*r)),i};E.prototype.readIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||kt(t,r,this.length);let i=r,o=1,s=this[t+--i];for(;i>0&&(o*=256);)s+=this[t+--i]*o;return o*=128,s>=o&&(s-=Math.pow(2,8*r)),s};E.prototype.readInt8=function(t,r){return t=t>>>0,r||kt(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};E.prototype.readInt16LE=function(t,r){t=t>>>0,r||kt(t,2,this.length);let n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};E.prototype.readInt16BE=function(t,r){t=t>>>0,r||kt(t,2,this.length);let n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};E.prototype.readInt32LE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};E.prototype.readInt32BE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};E.prototype.readBigInt64LE=gr(function(t){t=t>>>0,dn(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&f0(t,this.length-8);let i=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(n<<24);return(BigInt(i)<<BigInt(32))+BigInt(r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24)});E.prototype.readBigInt64BE=gr(function(t){t=t>>>0,dn(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&f0(t,this.length-8);let i=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(i)<<BigInt(32))+BigInt(this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n)});E.prototype.readFloatLE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),pn.read(this,t,!0,23,4)};E.prototype.readFloatBE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),pn.read(this,t,!1,23,4)};E.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||kt(t,8,this.length),pn.read(this,t,!0,52,8)};E.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||kt(t,8,this.length),pn.read(this,t,!1,52,8)};function Wt(e,t,r,n,i,o){if(!E.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<o)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}E.prototype.writeUintLE=E.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let a=Math.pow(2,8*n)-1;Wt(this,t,r,n,a,0)}let o=1,s=0;for(this[r]=t&255;++s<n&&(o*=256);)this[r+s]=t/o&255;return r+n};E.prototype.writeUintBE=E.prototype.writeUIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let a=Math.pow(2,8*n)-1;Wt(this,t,r,n,a,0)}let o=n-1,s=1;for(this[r+o]=t&255;--o>=0&&(s*=256);)this[r+o]=t/s&255;return r+n};E.prototype.writeUint8=E.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,1,255,0),this[r]=t&255,r+1};E.prototype.writeUint16LE=E.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};E.prototype.writeUint16BE=E.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};E.prototype.writeUint32LE=E.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4};E.prototype.writeUint32BE=E.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function pa(e,t,r,n,i){xa(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,r}function da(e,t,r,n,i){xa(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r+7]=o,o=o>>8,e[r+6]=o,o=o>>8,e[r+5]=o,o=o>>8,e[r+4]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=s,s=s>>8,e[r+2]=s,s=s>>8,e[r+1]=s,s=s>>8,e[r]=s,r+8}E.prototype.writeBigUInt64LE=gr(function(t,r=0){return pa(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});E.prototype.writeBigUInt64BE=gr(function(t,r=0){return da(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});E.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let u=Math.pow(2,8*n-1);Wt(this,t,r,n,u-1,-u)}let o=0,s=1,a=0;for(this[r]=t&255;++o<n&&(s*=256);)t<0&&a===0&&this[r+o-1]!==0&&(a=1),this[r+o]=(t/s>>0)-a&255;return r+n};E.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let u=Math.pow(2,8*n-1);Wt(this,t,r,n,u-1,-u)}let o=n-1,s=1,a=0;for(this[r+o]=t&255;--o>=0&&(s*=256);)t<0&&a===0&&this[r+o+1]!==0&&(a=1),this[r+o]=(t/s>>0)-a&255;return r+n};E.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};E.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};E.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};E.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4};E.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};E.prototype.writeBigInt64LE=gr(function(t,r=0){return pa(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});E.prototype.writeBigInt64BE=gr(function(t,r=0){return da(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ya(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function ga(e,t,r,n,i){return t=+t,r=r>>>0,i||ya(e,t,r,4,34028234663852886e22,-34028234663852886e22),pn.write(e,t,r,n,23,4),r+4}E.prototype.writeFloatLE=function(t,r,n){return ga(this,t,r,!0,n)};E.prototype.writeFloatBE=function(t,r,n){return ga(this,t,r,!1,n)};function ma(e,t,r,n,i){return t=+t,r=r>>>0,i||ya(e,t,r,8,17976931348623157e292,-17976931348623157e292),pn.write(e,t,r,n,52,8),r+8}E.prototype.writeDoubleLE=function(t,r,n){return ma(this,t,r,!0,n)};E.prototype.writeDoubleBE=function(t,r,n){return ma(this,t,r,!1,n)};E.prototype.copy=function(t,r,n,i){if(!E.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i<n&&(i=n),i===n||t.length===0||this.length===0)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-r<i-n&&(i=t.length-r+n);let o=i-n;return this===t&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(r,n,i):Uint8Array.prototype.set.call(t,this.subarray(n,i),r),o};E.prototype.fill=function(t,r,n,i){if(typeof t=="string"){if(typeof r=="string"?(i=r,r=0,n=this.length):typeof n=="string"&&(i=n,n=this.length),i!==void 0&&typeof i!="string")throw new TypeError("encoding must be a string");if(typeof i=="string"&&!E.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(t.length===1){let s=t.charCodeAt(0);(i==="utf8"&&s<128||i==="latin1")&&(t=s)}}else typeof t=="number"?t=t&255:typeof t=="boolean"&&(t=Number(t));if(r<0||this.length<r||this.length<n)throw new RangeError("Out of range index");if(n<=r)return this;r=r>>>0,n=n===void 0?this.length:n>>>0,t||(t=0);let o;if(typeof t=="number")for(o=r;o<n;++o)this[o]=t;else{let s=E.isBuffer(t)?t:E.from(t,i),a=s.length;if(a===0)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(o=0;o<n-r;++o)this[o+r]=s[o%a]}return this};var hn={};function xo(e,t,r){hn[e]=class extends r{constructor(){super(),Object.defineProperty(this,"message",{value:t.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name}get code(){return e}set code(i){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:i,writable:!0})}toString(){return`${this.name} [${e}]: ${this.message}`}}}xo("ERR_BUFFER_OUT_OF_BOUNDS",function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError);xo("ERR_INVALID_ARG_TYPE",function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`},TypeError);xo("ERR_OUT_OF_RANGE",function(e,t,r){let n=`The value of "${e}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=aa(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=aa(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function aa(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function lc(e,t,r){dn(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&f0(t,e.length-(r+1))}function xa(e,t,r,n,i,o){if(e>r||e<t){let s=typeof t=="bigint"?"n":"",a;throw o>3?t===0||t===BigInt(0)?a=`>= 0${s} and < 2${s} ** ${(o+1)*8}${s}`:a=`>= -(2${s} ** ${(o+1)*8-1}${s}) and < 2 ** ${(o+1)*8-1}${s}`:a=`>= ${t}${s} and <= ${r}${s}`,new hn.ERR_OUT_OF_RANGE("value",a,e)}lc(n,i,o)}function dn(e,t){if(typeof e!="number")throw new hn.ERR_INVALID_ARG_TYPE(t,"number",e)}function f0(e,t,r){throw Math.floor(e)!==e?(dn(e,r),new hn.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new hn.ERR_BUFFER_OUT_OF_BOUNDS:new hn.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var hc=/[^+/0-9A-Za-z-_]/g;function pc(e){if(e=e.split("=")[0],e=e.trim().replace(hc,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function yo(e,t){t=t||1/0;let r,n=e.length,i=null,o=[];for(let s=0;s<n;++s){if(r=e.charCodeAt(s),r>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}else if(s+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return o}function dc(e){let t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function yc(e,t){let r,n,i,o=[];for(let s=0;s<e.length&&!((t-=2)<0);++s)r=e.charCodeAt(s),n=r>>8,i=r%256,o.push(i),o.push(n);return o}function va(e){return lo.toByteArray(pc(e))}function g1(e,t,r,n){let i;for(i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function Te(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function vo(e){return e!==e}var gc=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function gr(e){return typeof BigInt>"u"?mc:e}function mc(){throw new Error("BigInt not supported")}});var Sa=D((wo,Ea)=>{var m1=wa(),Re=m1.Buffer;function ba(e,t){for(var r in e)t[r]=e[r]}Re.from&&Re.alloc&&Re.allocUnsafe&&Re.allocUnsafeSlow?Ea.exports=m1:(ba(m1,wo),wo.Buffer=Ur);function Ur(e,t,r){return Re(e,t,r)}Ur.prototype=Object.create(Re.prototype);ba(Re,Ur);Ur.from=function(e,t,r){if(typeof e=="number")throw new TypeError("Argument must not be a number");return Re(e,t,r)};Ur.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError("Argument must be a number");var n=Re(e);return t!==void 0?typeof r=="string"?n.fill(t,r):n.fill(t):n.fill(0),n};Ur.allocUnsafe=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return Re(e)};Ur.allocUnsafeSlow=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return m1.SlowBuffer(e)}});var Aa=D((Fd,Eo)=>{"use strict";var bo=65536,xc=4294967295;function vc(){throw new Error(`Secure random number generation is not supported by this browser.
|
|
3
|
-
Use Chrome, Firefox or Internet Explorer 11`)}var wc=Sa().Buffer,x1=globalThis.crypto||globalThis.msCrypto;x1&&x1.getRandomValues?Eo.exports=bc:Eo.exports=vc;function bc(e,t){if(e>xc)throw new RangeError("requested too many random bytes");var r=wc.allocUnsafe(e);if(e>0)if(e>bo)for(var n=0;n<e;n+=bo)x1.getRandomValues(r.slice(n,n+bo));else x1.getRandomValues(r);return typeof t=="function"?process.nextTick(function(){t(null,r)}):r}});var b1=D((Ud,So)=>{"use strict";var gn=typeof Reflect=="object"?Reflect:null,Ba=gn&&typeof gn.apply=="function"?gn.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},v1;gn&&typeof gn.ownKeys=="function"?v1=gn.ownKeys:Object.getOwnPropertySymbols?v1=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:v1=function(t){return Object.getOwnPropertyNames(t)};function Ec(e){console&&console.warn&&console.warn(e)}var Ca=Number.isNaN||function(t){return t!==t};function nt(){nt.init.call(this)}So.exports=nt;So.exports.once=Ic;nt.EventEmitter=nt;nt.prototype._events=void 0;nt.prototype._eventsCount=0;nt.prototype._maxListeners=void 0;var Ia=10;function w1(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(nt,"defaultMaxListeners",{enumerable:!0,get:function(){return Ia},set:function(e){if(typeof e!="number"||e<0||Ca(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");Ia=e}});nt.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};nt.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||Ca(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function _a(e){return e._maxListeners===void 0?nt.defaultMaxListeners:e._maxListeners}nt.prototype.getMaxListeners=function(){return _a(this)};nt.prototype.emit=function(t){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=t==="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 u=o[t];if(u===void 0)return!1;if(typeof u=="function")Ba(u,this,r);else for(var c=u.length,f=La(u,c),n=0;n<c;++n)Ba(f[n],this,r);return!0};function Ta(e,t,r,n){var i,o,s;if(w1(r),o=e._events,o===void 0?(o=e._events=Object.create(null),e._eventsCount=0):(o.newListener!==void 0&&(e.emit("newListener",t,r.listener?r.listener:r),o=e._events),s=o[t]),s===void 0)s=o[t]=r,++e._eventsCount;else if(typeof s=="function"?s=o[t]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),i=_a(e),i>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=e,a.type=t,a.count=s.length,Ec(a)}return e}nt.prototype.addListener=function(t,r){return Ta(this,t,r,!1)};nt.prototype.on=nt.prototype.addListener;nt.prototype.prependListener=function(t,r){return Ta(this,t,r,!0)};function Sc(){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 Ra(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=Sc.bind(n);return i.listener=r,n.wrapFn=i,i}nt.prototype.once=function(t,r){return w1(r),this.on(t,Ra(this,t,r)),this};nt.prototype.prependOnceListener=function(t,r){return w1(r),this.prependListener(t,Ra(this,t,r)),this};nt.prototype.removeListener=function(t,r){var n,i,o,s,a;if(w1(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,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():Ac(n,o),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||r)}return this};nt.prototype.off=nt.prototype.removeListener;nt.prototype.removeAllListeners=function(t){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[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),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[t],typeof r=="function")this.removeListener(t,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(t,r[i]);return this};function Pa(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?Bc(i):La(i,i.length)}nt.prototype.listeners=function(t){return Pa(this,t,!0)};nt.prototype.rawListeners=function(t){return Pa(this,t,!1)};nt.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):Na.call(e,t)};nt.prototype.listenerCount=Na;function Na(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}nt.prototype.eventNames=function(){return this._eventsCount>0?v1(this._events):[]};function La(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function Ac(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function Bc(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function Ic(e,t){return new Promise(function(r,n){function i(s){e.removeListener(t,o),n(s)}function o(){typeof e.removeListener=="function"&&e.removeListener("error",i),r([].slice.call(arguments))}ka(e,t,o,{once:!0}),t!=="error"&&Cc(e,i,{once:!0})})}function Cc(e,t,r){typeof e.on=="function"&&ka(e,"error",t,r)}function ka(e,t,r,n){if(typeof e.on=="function")n.once?e.once(t,r):e.on(t,r);else if(typeof e.addEventListener=="function")e.addEventListener(t,function i(o){n.once&&e.removeEventListener(t,i),r(o)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e)}});var Ua=D((Od,Fa)=>{"use strict";var _c=Aa(),{EventEmitter:Tc}=b1();function Da(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let r=0,n=e.length;r<n;++r)if(e[r]!==t[r])return!1;return!0}function Ao(){return{contacts:[],dontSplit:!1,left:null,right:null}}function l0(e,t){if(!(t instanceof Uint8Array))throw new TypeError(e+" is not a Uint8Array")}var mn=class extends Tc{constructor(t={}){super(),this.localNodeId=t.localNodeId||_c(20),this.numberOfNodesPerKBucket=t.numberOfNodesPerKBucket||20,this.numberOfNodesToPing=t.numberOfNodesToPing||3,this.distance=t.distance||mn.distance,this.arbiter=t.arbiter||mn.arbiter,this.metadata=Object.assign({},t.metadata),l0("option.localNodeId as parameter 1",this.localNodeId),this.root=Ao()}static arbiter(t,r){return t.vectorClock>r.vectorClock?t:r}static distance(t,r){let n=0,i=0,o=Math.min(t.length,r.length),s=Math.max(t.length,r.length);for(;i<o;++i)n=n*256+(t[i]^r[i]);for(;i<s;++i)n=n*256+255;return n}add(t){l0("contact.id",(t||{}).id);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,t.id,r++);let i=this._indexOf(n,t.id);return i>=0?(this._update(n,i,t),this):n.contacts.length<this.numberOfNodesPerKBucket?(n.contacts.push(t),this.emit("added",t),this):n.dontSplit?(this.emit("ping",n.contacts.slice(0,this.numberOfNodesToPing),t),this):(this._split(n,r),this.add(t))}closest(t,r=1/0){if(l0("id",t),!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.contacts===null){let a=this._determineNode(s,t,o++);i.push(s.left===a?s.right:s.left),i.push(a)}else n=n.concat(s.contacts)}return n.map(i=>[this.distance(i.id,t),i]).sort((i,o)=>i[0]-o[0]).slice(0,r).map(i=>i[1])}count(){let t=0;for(let r=[this.root];r.length>0;){let n=r.pop();n.contacts===null?r.push(n.right,n.left):t+=n.contacts.length}return t}_determineNode(t,r,n){let i=n>>3,o=n%8;return r.length<=i&&o!==0?t.left:r[i]&1<<7-o?t.right:t.left}get(t){l0("id",t);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,t,r++);let i=this._indexOf(n,t);return i>=0?n.contacts[i]:null}_indexOf(t,r){for(let n=0;n<t.contacts.length;++n)if(Da(t.contacts[n].id,r))return n;return-1}remove(t){l0("the id as parameter 1",t);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,t,r++);let i=this._indexOf(n,t);if(i>=0){let o=n.contacts.splice(i,1)[0];this.emit("removed",o)}return this}_split(t,r){t.left=Ao(),t.right=Ao();for(let o of t.contacts)this._determineNode(t,o.id,r).contacts.push(o);t.contacts=null;let n=this._determineNode(t,this.localNodeId,r),i=t.left===n?t.right:t.left;i.dontSplit=!0}toArray(){let t=[];for(let r=[this.root];r.length>0;){let n=r.pop();n.contacts===null?r.push(n.right,n.left):t=t.concat(n.contacts)}return t}*toIterable(){for(let t=[this.root];t.length>0;){let r=t.pop();r.contacts===null?t.push(r.right,r.left):yield*r.contacts}}_update(t,r,n){if(!Da(t.contacts[r].id,n.id))throw new Error("wrong index for _update");let i=t.contacts[r],o=this.arbiter(i,n);o===i&&i!==n||(t.contacts.splice(r,1),t.contacts.push(o),this.emit("updated",i,o))}};Fa.exports=mn});var a3=D((Fy,s3)=>{"use strict";s3.exports=Mf;function Mf(e,t){for(var r=new Array(arguments.length-1),n=0,i=2,o=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise(function(a,u){r[n]=function(f){if(o)if(o=!1,f)u(f);else{for(var l=new Array(arguments.length-1),d=0;d<l.length;)l[d++]=arguments[d];a.apply(null,l)}};try{e.apply(t||null,r)}catch(c){o&&(o=!1,u(c))}})}});var l3=D(f3=>{"use strict";var B1=f3;B1.length=function(t){var r=t.length;if(!r)return 0;for(var n=0;--r%4>1&&t.charAt(r)==="=";)++n;return Math.ceil(t.length*3)/4-n};var En=new Array(64),c3=new Array(123);for(me=0;me<64;)c3[En[me]=me<26?me+65:me<52?me+71:me<62?me-4:me-59|43]=me++;var me;B1.encode=function(t,r,n){for(var i=null,o=[],s=0,a=0,u;r<n;){var c=t[r++];switch(a){case 0:o[s++]=En[c>>2],u=(c&3)<<4,a=1;break;case 1:o[s++]=En[u|c>>4],u=(c&15)<<2,a=2;break;case 2:o[s++]=En[u|c>>6],o[s++]=En[c&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=En[u],o[s++]=61,a===1&&(o[s++]=61)),i?(s&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))};var u3="invalid encoding";B1.decode=function(t,r,n){for(var i=n,o=0,s,a=0;a<t.length;){var u=t.charCodeAt(a++);if(u===61&&o>1)break;if((u=c3[u])===void 0)throw Error(u3);switch(o){case 0:s=u,o=1;break;case 1:r[n++]=s<<2|(u&48)>>4,s=u,o=2;break;case 2:r[n++]=(s&15)<<4|(u&60)>>2,s=u,o=3;break;case 3:r[n++]=(s&3)<<6|u,o=0;break}}if(o===1)throw Error(u3);return n-i};B1.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}});var p3=D((Oy,h3)=>{"use strict";h3.exports=I1;function I1(){this._listeners={}}I1.prototype.on=function(t,r,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:r,ctx:n||this}),this};I1.prototype.off=function(t,r){if(t===void 0)this._listeners={};else if(r===void 0)this._listeners[t]=[];else for(var n=this._listeners[t],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};I1.prototype.emit=function(t){var r=this._listeners[t];if(r){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<r.length;)r[i].fn.apply(r[i++].ctx,n)}return this}});var w3=D((My,v3)=>{"use strict";v3.exports=d3(d3);function d3(e){return typeof Float32Array<"u"?function(){var t=new Float32Array([-0]),r=new Uint8Array(t.buffer),n=r[3]===128;function i(u,c,f){t[0]=u,c[f]=r[0],c[f+1]=r[1],c[f+2]=r[2],c[f+3]=r[3]}function o(u,c,f){t[0]=u,c[f]=r[3],c[f+1]=r[2],c[f+2]=r[1],c[f+3]=r[0]}e.writeFloatLE=n?i:o,e.writeFloatBE=n?o:i;function s(u,c){return r[0]=u[c],r[1]=u[c+1],r[2]=u[c+2],r[3]=u[c+3],t[0]}function a(u,c){return r[3]=u[c],r[2]=u[c+1],r[1]=u[c+2],r[0]=u[c+3],t[0]}e.readFloatLE=n?s:a,e.readFloatBE=n?a:s}():function(){function t(n,i,o,s){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,o,s);else if(isNaN(i))n(2143289344,o,s);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,o,s);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,o,s);else{var u=Math.floor(Math.log(i)/Math.LN2),c=Math.round(i*Math.pow(2,-u)*8388608)&8388607;n((a<<31|u+127<<23|c)>>>0,o,s)}}e.writeFloatLE=t.bind(null,y3),e.writeFloatBE=t.bind(null,g3);function r(n,i,o){var s=n(i,o),a=(s>>31)*2+1,u=s>>>23&255,c=s&8388607;return u===255?c?NaN:a*(1/0):u===0?a*1401298464324817e-60*c:a*Math.pow(2,u-150)*(c+8388608)}e.readFloatLE=r.bind(null,m3),e.readFloatBE=r.bind(null,x3)}(),typeof Float64Array<"u"?function(){var t=new Float64Array([-0]),r=new Uint8Array(t.buffer),n=r[7]===128;function i(u,c,f){t[0]=u,c[f]=r[0],c[f+1]=r[1],c[f+2]=r[2],c[f+3]=r[3],c[f+4]=r[4],c[f+5]=r[5],c[f+6]=r[6],c[f+7]=r[7]}function o(u,c,f){t[0]=u,c[f]=r[7],c[f+1]=r[6],c[f+2]=r[5],c[f+3]=r[4],c[f+4]=r[3],c[f+5]=r[2],c[f+6]=r[1],c[f+7]=r[0]}e.writeDoubleLE=n?i:o,e.writeDoubleBE=n?o:i;function s(u,c){return r[0]=u[c],r[1]=u[c+1],r[2]=u[c+2],r[3]=u[c+3],r[4]=u[c+4],r[5]=u[c+5],r[6]=u[c+6],r[7]=u[c+7],t[0]}function a(u,c){return r[7]=u[c],r[6]=u[c+1],r[5]=u[c+2],r[4]=u[c+3],r[3]=u[c+4],r[2]=u[c+5],r[1]=u[c+6],r[0]=u[c+7],t[0]}e.readDoubleLE=n?s:a,e.readDoubleBE=n?a:s}():function(){function t(n,i,o,s,a,u){var c=s<0?1:0;if(c&&(s=-s),s===0)n(0,a,u+i),n(1/s>0?0:2147483648,a,u+o);else if(isNaN(s))n(0,a,u+i),n(2146959360,a,u+o);else if(s>17976931348623157e292)n(0,a,u+i),n((c<<31|2146435072)>>>0,a,u+o);else{var f;if(s<22250738585072014e-324)f=s/5e-324,n(f>>>0,a,u+i),n((c<<31|f/4294967296)>>>0,a,u+o);else{var l=Math.floor(Math.log(s)/Math.LN2);l===1024&&(l=1023),f=s*Math.pow(2,-l),n(f*4503599627370496>>>0,a,u+i),n((c<<31|l+1023<<20|f*1048576&1048575)>>>0,a,u+o)}}}e.writeDoubleLE=t.bind(null,y3,0,4),e.writeDoubleBE=t.bind(null,g3,4,0);function r(n,i,o,s,a){var u=n(s,a+i),c=n(s,a+o),f=(c>>31)*2+1,l=c>>>20&2047,d=4294967296*(c&1048575)+u;return l===2047?d?NaN:f*(1/0):l===0?f*5e-324*d:f*Math.pow(2,l-1075)*(d+4503599627370496)}e.readDoubleLE=r.bind(null,m3,0,4),e.readDoubleBE=r.bind(null,x3,4,0)}(),e}function y3(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function g3(e,t,r){t[r]=e>>>24,t[r+1]=e>>>16&255,t[r+2]=e>>>8&255,t[r+3]=e&255}function m3(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function x3(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}});var b3=D((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}});var S3=D(E3=>{"use strict";var Go=E3;Go.length=function(t){for(var r=0,n=0,i=0;i<t.length;++i)n=t.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(t.charCodeAt(i+1)&64512)===56320?(++i,r+=4):r+=3;return r};Go.read=function(t,r,n){var i=n-r;if(i<1)return"";for(var o=null,s=[],a=0,u;r<n;)u=t[r++],u<128?s[a++]=u:u>191&&u<224?s[a++]=(u&31)<<6|t[r++]&63:u>239&&u<365?(u=((u&7)<<18|(t[r++]&63)<<12|(t[r++]&63)<<6|t[r++]&63)-65536,s[a++]=55296+(u>>10),s[a++]=56320+(u&1023)):s[a++]=(u&15)<<12|(t[r++]&63)<<6|t[r++]&63,a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0);return o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join("")):String.fromCharCode.apply(String,s.slice(0,a))};Go.write=function(t,r,n){for(var i=n,o,s,a=0;a<t.length;++a)o=t.charCodeAt(a),o<128?r[n++]=o:o<2048?(r[n++]=o>>6|192,r[n++]=o&63|128):(o&64512)===55296&&((s=t.charCodeAt(a+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++a,r[n++]=o>>18|240,r[n++]=o>>12&63|128,r[n++]=o>>6&63|128,r[n++]=o&63|128):(r[n++]=o>>12|224,r[n++]=o>>6&63|128,r[n++]=o&63|128);return n-i}});var B3=D((Vy,A3)=>{"use strict";A3.exports=Kf;function Kf(e,t,r){var n=r||8192,i=n>>>1,o=null,s=n;return function(u){if(u<1||u>i)return e(u);s+u>n&&(o=e(n),s=0);var c=t.call(o,s,s+=u);return s&7&&(s=(s|7)+1),c}}});var C3=D((qy,I3)=>{"use strict";I3.exports=Ft;var y0=qr();function Ft(e,t){this.lo=e>>>0,this.hi=t>>>0}var Vr=Ft.zero=new Ft(0,0);Vr.toNumber=function(){return 0};Vr.zzEncode=Vr.zzDecode=function(){return this};Vr.length=function(){return 1};var Vf=Ft.zeroHash="\0\0\0\0\0\0\0\0";Ft.fromNumber=function(t){if(t===0)return Vr;var r=t<0;r&&(t=-t);var n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Ft(n,i)};Ft.from=function(t){if(typeof t=="number")return Ft.fromNumber(t);if(y0.isString(t))if(y0.Long)t=y0.Long.fromString(t);else return Ft.fromNumber(parseInt(t,10));return t.low||t.high?new Ft(t.low>>>0,t.high>>>0):Vr};Ft.prototype.toNumber=function(t){if(!t&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};Ft.prototype.toLong=function(t){return y0.Long?new y0.Long(this.lo|0,this.hi|0,Boolean(t)):{low:this.lo|0,high:this.hi|0,unsigned:Boolean(t)}};var wr=String.prototype.charCodeAt;Ft.fromHash=function(t){return t===Vf?Vr:new Ft((wr.call(t,0)|wr.call(t,1)<<8|wr.call(t,2)<<16|wr.call(t,3)<<24)>>>0,(wr.call(t,4)|wr.call(t,5)<<8|wr.call(t,6)<<16|wr.call(t,7)<<24)>>>0)};Ft.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};Ft.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this};Ft.prototype.zzDecode=function(){var t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this};Ft.prototype.length=function(){var t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var qr=D(Qo=>{"use strict";var F=Qo;F.asPromise=a3();F.base64=l3();F.EventEmitter=p3();F.float=w3();F.inquire=b3();F.utf8=S3();F.pool=B3();F.LongBits=C3();F.isNode=Boolean(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);F.global=F.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||Qo;F.emptyArray=Object.freeze?Object.freeze([]):[];F.emptyObject=Object.freeze?Object.freeze({}):{};F.isInteger=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t};F.isString=function(t){return typeof t=="string"||t instanceof String};F.isObject=function(t){return t&&typeof t=="object"};F.isset=F.isSet=function(t,r){var n=t[r];return n!=null&&t.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};F.Buffer=function(){try{var e=F.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch{return null}}();F._Buffer_from=null;F._Buffer_allocUnsafe=null;F.newBuffer=function(t){return typeof t=="number"?F.Buffer?F._Buffer_allocUnsafe(t):new F.Array(t):F.Buffer?F._Buffer_from(t):typeof Uint8Array>"u"?t:new Uint8Array(t)};F.Array=typeof Uint8Array<"u"?Uint8Array:Array;F.Long=F.global.dcodeIO&&F.global.dcodeIO.Long||F.global.Long||F.inquire("long");F.key2Re=/^true|false|0|1$/;F.key32Re=/^-?(?:0|[1-9][0-9]*)$/;F.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;F.longToHash=function(t){return t?F.LongBits.from(t).toHash():F.LongBits.zeroHash};F.longFromHash=function(t,r){var n=F.LongBits.fromHash(t);return F.Long?F.Long.fromBits(n.lo,n.hi,r):n.toNumber(Boolean(r))};function _3(e,t,r){for(var n=Object.keys(t),i=0;i<n.length;++i)(e[n[i]]===void 0||!r)&&(e[n[i]]=t[n[i]]);return e}F.merge=_3;F.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function T3(e){function t(r,n){if(!(this instanceof t))return new t(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&_3(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get(){return e},set:void 0,enumerable:!1,configurable:!0},toString:{value(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}F.newError=T3;F.ProtocolError=T3("ProtocolError");F.oneOfGetter=function(t){for(var r={},n=0;n<t.length;++n)r[t[n]]=1;return function(){for(var i=Object.keys(this),o=i.length-1;o>-1;--o)if(r[i[o]]===1&&this[i[o]]!==void 0&&this[i[o]]!==null)return i[o]}};F.oneOfSetter=function(t){return function(r){for(var n=0;n<t.length;++n)t[n]!==r&&delete this[t[n]]}};F.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};F._configure=function(){var e=F.Buffer;if(!e){F._Buffer_from=F._Buffer_allocUnsafe=null;return}F._Buffer_from=e.from!==Uint8Array.from&&e.from||function(r,n){return new e(r,n)},F._Buffer_allocUnsafe=e.allocUnsafe||function(r){return new e(r)}}});var Zo=D(($y,k3)=>{"use strict";k3.exports=At;var Ne=qr(),Yo,N3=Ne.LongBits,qf=Ne.utf8;function xe(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function At(e){this.buf=e,this.pos=0,this.len=e.length}var R3=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new At(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new At(t);throw Error("illegal buffer")},L3=function(){return Ne.Buffer?function(r){return(At.create=function(i){return Ne.Buffer.isBuffer(i)?new Yo(i):R3(i)})(r)}:R3};At.create=L3();At.prototype._slice=Ne.Array.prototype.subarray||Ne.Array.prototype.slice;At.prototype.uint32=function(){var t=4294967295;return function(){if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,xe(this,10);return t}}();At.prototype.int32=function(){return this.uint32()|0};At.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function Wo(){var e=new N3(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*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;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw xe(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw xe(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}At.prototype.bool=function(){return this.uint32()!==0};function C1(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}At.prototype.fixed32=function(){if(this.pos+4>this.len)throw xe(this,4);return C1(this.buf,this.pos+=4)};At.prototype.sfixed32=function(){if(this.pos+4>this.len)throw xe(this,4);return C1(this.buf,this.pos+=4)|0};function P3(){if(this.pos+8>this.len)throw xe(this,8);return new N3(C1(this.buf,this.pos+=4),C1(this.buf,this.pos+=4))}At.prototype.float=function(){if(this.pos+4>this.len)throw xe(this,4);var t=Ne.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};At.prototype.double=function(){if(this.pos+8>this.len)throw xe(this,4);var t=Ne.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};At.prototype.bytes=function(){var t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw xe(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};At.prototype.string=function(){var t=this.bytes();return qf.read(t,0,t.length)};At.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw xe(this,t);this.pos+=t}else do if(this.pos>=this.len)throw xe(this);while(this.buf[this.pos++]&128);return this};At.prototype.skipType=function(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};At._configure=function(e){Yo=e,At.create=L3(),Yo._configure();var t=Ne.Long?"toLong":"toNumber";Ne.merge(At.prototype,{int64:function(){return Wo.call(this)[t](!1)},uint64:function(){return Wo.call(this)[t](!0)},sint64:function(){return Wo.call(this).zzDecode()[t](!1)},fixed64:function(){return P3.call(this)[t](!0)},sfixed64:function(){return P3.call(this)[t](!1)}})}});var O3=D((Hy,U3)=>{"use strict";U3.exports=zr;var F3=Zo();(zr.prototype=Object.create(F3.prototype)).constructor=zr;var D3=qr();function zr(e){F3.call(this,e)}zr._configure=function(){D3.Buffer&&(zr.prototype._slice=D3.Buffer.prototype.slice)};zr.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))};zr._configure()});var ns=D((Gy,q3)=>{"use strict";q3.exports=Z;var se=qr(),Xo,_1=se.LongBits,M3=se.base64,K3=se.utf8;function g0(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function Jo(){}function zf(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function Z(){this.len=0,this.head=new g0(Jo,0,0),this.tail=this.head,this.states=null}var V3=function(){return se.Buffer?function(){return(Z.create=function(){return new Xo})()}:function(){return new Z}};Z.create=V3();Z.alloc=function(t){return new se.Array(t)};se.Array!==Array&&(Z.alloc=se.pool(Z.alloc,se.Array.prototype.subarray));Z.prototype._push=function(t,r,n){return this.tail=this.tail.next=new g0(t,r,n),this.len+=r,this};function ts(e,t,r){t[r]=e&255}function $f(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}function es(e,t){this.len=e,this.next=void 0,this.val=t}es.prototype=Object.create(g0.prototype);es.prototype.fn=$f;Z.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new es((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this};Z.prototype.int32=function(t){return t<0?this._push(rs,10,_1.fromNumber(t)):this.uint32(t)};Z.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function rs(e,t,r){for(;e.hi;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}Z.prototype.uint64=function(t){var r=_1.from(t);return this._push(rs,r.length(),r)};Z.prototype.int64=Z.prototype.uint64;Z.prototype.sint64=function(t){var r=_1.from(t).zzEncode();return this._push(rs,r.length(),r)};Z.prototype.bool=function(t){return this._push(ts,1,t?1:0)};function jo(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}Z.prototype.fixed32=function(t){return this._push(jo,4,t>>>0)};Z.prototype.sfixed32=Z.prototype.fixed32;Z.prototype.fixed64=function(t){var r=_1.from(t);return this._push(jo,4,r.lo)._push(jo,4,r.hi)};Z.prototype.sfixed64=Z.prototype.fixed64;Z.prototype.float=function(t){return this._push(se.float.writeFloatLE,4,t)};Z.prototype.double=function(t){return this._push(se.float.writeDoubleLE,8,t)};var Hf=se.Array.prototype.set?function(t,r,n){r.set(t,n)}:function(t,r,n){for(var i=0;i<t.length;++i)r[n+i]=t[i]};Z.prototype.bytes=function(t){var r=t.length>>>0;if(!r)return this._push(ts,1,0);if(se.isString(t)){var n=Z.alloc(r=M3.length(t));M3.decode(t,n,0),t=n}return this.uint32(r)._push(Hf,r,t)};Z.prototype.string=function(t){var r=K3.length(t);return r?this.uint32(r)._push(K3.write,r,t):this._push(ts,1,0)};Z.prototype.fork=function(){return this.states=new zf(this),this.head=this.tail=new g0(Jo,0,0),this.len=0,this};Z.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new g0(Jo,0,0),this.len=0),this};Z.prototype.ldelim=function(){var t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=r,this.len+=n),this};Z.prototype.finish=function(){for(var t=this.head.next,r=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r};Z._configure=function(e){Xo=e,Z.create=V3(),Xo._configure()}});var H3=D((Qy,$3)=>{"use strict";$3.exports=Le;var z3=ns();(Le.prototype=Object.create(z3.prototype)).constructor=Le;var br=qr();function Le(){z3.call(this)}Le._configure=function(){Le.alloc=br._Buffer_allocUnsafe,Le.writeBytesBuffer=br.Buffer&&br.Buffer.prototype instanceof Uint8Array&&br.Buffer.prototype.set.name==="set"?function(t,r,n){r.set(t,n)}:function(t,r,n){if(t.copy)t.copy(r,n,0,t.length);else for(var i=0;i<t.length;)r[n++]=t[i++]}};Le.prototype.bytes=function(t){br.isString(t)&&(t=br._Buffer_from(t,"base64"));var r=t.length>>>0;return this.uint32(r),r&&this._push(Le.writeBytesBuffer,r,t),this};function Gf(e,t,r){e.length<40?br.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}Le.prototype.string=function(t){var r=br.Buffer.byteLength(t);return this.uint32(r),r&&this._push(Gf,r,t),this};Le._configure()});var j3=D(x0=>{(function(){var e,t,r,n,i,o,s,a;a=function(u){var c,f,l,d;return c=(u&255<<24)>>>24,f=(u&255<<16)>>>16,l=(u&255<<8)>>>8,d=u&255,[c,f,l,d].join(".")},s=function(u){var c,f,l,d,p,h;for(c=[],l=d=0;d<=3&&u.length!==0;l=++d){if(l>0){if(u[0]!==".")throw new Error("Invalid IP");u=u.substring(1)}h=t(u),p=h[0],f=h[1],u=u.substring(f),c.push(p)}if(u.length!==0)throw new Error("Invalid IP");switch(c.length){case 1:if(c[0]>4294967295)throw new Error("Invalid IP");return c[0]>>>0;case 2:if(c[0]>255||c[1]>16777215)throw new Error("Invalid IP");return(c[0]<<24|c[1])>>>0;case 3:if(c[0]>255||c[1]>255||c[2]>65535)throw new Error("Invalid IP");return(c[0]<<24|c[1]<<16|c[2])>>>0;case 4:if(c[0]>255||c[1]>255||c[2]>255||c[3]>255)throw new Error("Invalid IP");return(c[0]<<24|c[1]<<16|c[2]<<8|c[3])>>>0;default:throw new Error("Invalid IP")}},r=function(u){return u.charCodeAt(0)},n=r("0"),o=r("a"),i=r("A"),t=function(u){var c,f,l,d,p;for(d=0,c=10,f="9",l=0,u.length>1&&u[l]==="0"&&(u[l+1]==="x"||u[l+1]==="X"?(l+=2,c=16):"0"<=u[l+1]&&u[l+1]<="9"&&(l++,c=8,f="7")),p=l;l<u.length;){if("0"<=u[l]&&u[l]<=f)d=d*c+(r(u[l])-n)>>>0;else if(c===16)if("a"<=u[l]&&u[l]<="f")d=d*c+(10+r(u[l])-o)>>>0;else if("A"<=u[l]&&u[l]<="F")d=d*c+(10+r(u[l])-i)>>>0;else break;else break;if(d>4294967295)throw new Error("too large");l++}if(l===p)throw new Error("empty octet");return[d,l]},e=function(){function u(c,f){var l,d,p,h;if(typeof c!="string")throw new Error("Missing `net' parameter");if(f||(h=c.split("/",2),c=h[0],f=h[1]),f||(f=32),typeof f=="string"&&f.indexOf(".")>-1){try{this.maskLong=s(f)}catch(y){throw l=y,new Error("Invalid mask: "+f)}for(d=p=32;p>=0;d=--p)if(this.maskLong===4294967295<<32-d>>>0){this.bitmask=d;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(c)&this.maskLong)>>>0}catch(y){throw l=y,new Error("Invalid net address: "+c)}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 u.prototype.contains=function(c){return typeof c=="string"&&(c.indexOf("/")>0||c.split(".").length!==4)&&(c=new u(c)),c instanceof u?this.contains(c.base)&&this.contains(c.broadcast||c.last):(s(c)&this.maskLong)>>>0===(this.netLong&this.maskLong)>>>0},u.prototype.next=function(c){return c==null&&(c=1),new u(a(this.netLong+this.size*c),this.mask)},u.prototype.forEach=function(c){var f,l,d;for(d=s(this.first),l=s(this.last),f=0;d<=l;)c(a(d),d,f),f++,d++},u.prototype.toString=function(){return this.base+"/"+this.bitmask},u}(),x0.ip2long=s,x0.long2ip=a,x0.Netmask=e}).call(x0)});var u4=D((a4,N1)=>{(function(e){"use strict";let t="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${t}\\.${t}\\.${t}\\.${t}$`,"i"),threeOctet:new RegExp(`^${t}\\.${t}\\.${t}$`,"i"),twoOctet:new RegExp(`^${t}\\.${t}$`,"i"),longValue:new RegExp(`^${t}$`,"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(`^(?:::)(${t}\\.${t}\\.${t}\\.${t}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${s})|(?:::)(?:${s})?)${t}\\.${t}\\.${t}\\.${t}(${o})?$`,"i")};function u(p,h){if(p.indexOf("::")!==p.lastIndexOf("::"))return null;let y=0,g=-1,m=(p.match(a.zoneIndex)||[])[0],v,b;for(m&&(m=m.substring(1),p=p.replace(/%.+$/,""));(g=p.indexOf(":",g+1))>=0;)y++;if(p.substr(0,2)==="::"&&y--,p.substr(-2,2)==="::"&&y--,y>h)return null;for(b=h-y,v=":";b--;)v+="0:";return p=p.replace("::",v),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),h=function(){let L=p.split(":"),_=[];for(let C=0;C<L.length;C++)_.push(parseInt(L[C],16));return _}(),{parts:h,zoneId:m}}function c(p,h,y,g){if(p.length!==h.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let m=0,v;for(;g>0;){if(v=y-g,v<0&&(v=0),p[m]>>v!==h[m]>>v)return!1;g-=y,m+=1}return!0}function f(p){if(i.test(p))return parseInt(p,16);if(p[0]==="0"&&!isNaN(parseInt(p[1],10))){if(n.test(p))return parseInt(p,8);throw new Error(`ipaddr: cannot parse ${p} as octal`)}return parseInt(p,10)}function l(p,h){for(;p.length<h;)p=`0${p}`;return p}let d={};d.IPv4=function(){function p(h){if(h.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let y,g;for(y=0;y<h.length;y++)if(g=h[y],!(0<=g&&g<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=h}return p.prototype.SpecialRanges={unspecified:[[new p([0,0,0,0]),8]],broadcast:[[new p([255,255,255,255]),32]],multicast:[[new p([224,0,0,0]),4]],linkLocal:[[new p([169,254,0,0]),16]],loopback:[[new p([127,0,0,0]),8]],carrierGradeNat:[[new p([100,64,0,0]),10]],private:[[new p([10,0,0,0]),8],[new p([172,16,0,0]),12],[new p([192,168,0,0]),16]],reserved:[[new p([192,0,0,0]),24],[new p([192,0,2,0]),24],[new p([192,88,99,0]),24],[new p([198,51,100,0]),24],[new p([203,0,113,0]),24],[new p([240,0,0,0]),4]]},p.prototype.kind=function(){return"ipv4"},p.prototype.match=function(h,y){let g;if(y===void 0&&(g=h,h=g[0],y=g[1]),h.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return c(this.octets,h.octets,8,y)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,y=!1,g={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},m,v,b;for(m=3;m>=0;m-=1)if(v=this.octets[m],v in g){if(b=g[v],y&&b!==0)return null;b!==8&&(y=!0),h+=b}else return null;return 32-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){return this.octets.slice(0)},p.prototype.toIPv4MappedAddress=function(){return d.IPv6.parse(`::ffff:${this.toString()}`)},p.prototype.toNormalizedString=function(){return this.toString()},p.prototype.toString=function(){return this.octets.join(".")},p}(),d.IPv4.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),y=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],v=0;for(;v<4;)m.push(parseInt(y[v],10)|parseInt(g[v],10)^255),v++;return new this(m)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.isIPv4=function(p){return this.parser(p)!==null},d.IPv4.isValid=function(p){try{return new this(this.parser(p)),!0}catch{return!1}},d.IPv4.isValidFourPartDecimal=function(p){return!!(d.IPv4.isValid(p)&&p.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},d.IPv4.networkAddressFromCIDR=function(p){let h,y,g,m,v;try{for(h=this.parseCIDR(p),g=h[0].toByteArray(),v=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],y=0;y<4;)m.push(parseInt(g[y],10)&parseInt(v[y],10)),y++;return new this(m)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.parse=function(p){let h=this.parser(p);if(h===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(h)},d.IPv4.parseCIDR=function(p){let h;if(h=p.match(/^(.+)\/(\d+)$/)){let y=parseInt(h[2]);if(y>=0&&y<=32){let g=[this.parse(h[1]),y];return Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(p){let h,y,g;if(h=p.match(r.fourOctet))return function(){let m=h.slice(1,6),v=[];for(let b=0;b<m.length;b++)y=m[b],v.push(f(y));return v}();if(h=p.match(r.longValue)){if(g=f(h[1]),g>4294967295||g<0)throw new Error("ipaddr: address outside defined range");return function(){let m=[],v;for(v=0;v<=24;v+=8)m.push(g>>v&255);return m}().reverse()}else return(h=p.match(r.twoOctet))?function(){let m=h.slice(1,4),v=[];if(g=f(m[1]),g>16777215||g<0)throw new Error("ipaddr: address outside defined range");return v.push(f(m[0])),v.push(g>>16&255),v.push(g>>8&255),v.push(g&255),v}():(h=p.match(r.threeOctet))?function(){let m=h.slice(1,5),v=[];if(g=f(m[2]),g>65535||g<0)throw new Error("ipaddr: address outside defined range");return v.push(f(m[0])),v.push(f(m[1])),v.push(g>>8&255),v.push(g&255),v}():null},d.IPv4.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>32)throw new Error("ipaddr: invalid IPv4 prefix length");let h=[0,0,0,0],y=0,g=Math.floor(p/8);for(;y<g;)h[y]=255,y++;return g<4&&(h[g]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.IPv6=function(){function p(h,y){let g,m;if(h.length===16)for(this.parts=[],g=0;g<=14;g+=2)this.parts.push(h[g]<<8|h[g+1]);else if(h.length===8)this.parts=h;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(g=0;g<this.parts.length;g++)if(m=this.parts[g],!(0<=m&&m<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");y&&(this.zoneId=y)}return p.prototype.SpecialRanges={unspecified:[new p([0,0,0,0,0,0,0,0]),128],linkLocal:[new p([65152,0,0,0,0,0,0,0]),10],multicast:[new p([65280,0,0,0,0,0,0,0]),8],loopback:[new p([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new p([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new p([0,0,0,0,0,65535,0,0]),96],rfc6145:[new p([0,0,0,0,65535,0,0,0]),96],rfc6052:[new p([100,65435,0,0,0,0,0,0]),96],"6to4":[new p([8194,0,0,0,0,0,0,0]),16],teredo:[new p([8193,0,0,0,0,0,0,0]),32],reserved:[[new p([8193,3512,0,0,0,0,0,0]),32]]},p.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},p.prototype.kind=function(){return"ipv6"},p.prototype.match=function(h,y){let g;if(y===void 0&&(g=h,h=g[0],y=g[1]),h.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return c(this.parts,h.parts,16,y)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,y=!1,g={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},m,v;for(let b=7;b>=0;b-=1)if(m=this.parts[b],m in g){if(v=g[m],y&&v!==0)return null;v!==16&&(y=!0),h+=v}else return null;return 128-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){let h,y=[],g=this.parts;for(let m=0;m<g.length;m++)h=g[m],y.push(h>>8),y.push(h&255);return y},p.prototype.toFixedLengthString=function(){let h=function(){let g=[];for(let m=0;m<this.parts.length;m++)g.push(l(this.parts[m].toString(16),4));return g}.call(this).join(":"),y="";return this.zoneId&&(y=`%${this.zoneId}`),h+y},p.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let h=this.parts.slice(-2),y=h[0],g=h[1];return new d.IPv4([y>>8,y&255,g>>8,g&255])},p.prototype.toNormalizedString=function(){let h=function(){let g=[];for(let m=0;m<this.parts.length;m++)g.push(this.parts[m].toString(16));return g}.call(this).join(":"),y="";return this.zoneId&&(y=`%${this.zoneId}`),h+y},p.prototype.toRFC5952String=function(){let h=/((^|:)(0(:|$)){2,})/g,y=this.toNormalizedString(),g=0,m=-1,v;for(;v=h.exec(y);)v[0].length>m&&(g=v.index,m=v[0].length);return m<0?y:`${y.substring(0,g)}::${y.substring(g+m)}`},p.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},p}(),d.IPv6.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),y=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],v=0;for(;v<16;)m.push(parseInt(y[v],10)|parseInt(g[v],10)^255),v++;return new this(m)}catch(h){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${h})`)}},d.IPv6.isIPv6=function(p){return this.parser(p)!==null},d.IPv6.isValid=function(p){if(typeof p=="string"&&p.indexOf(":")===-1)return!1;try{let h=this.parser(p);return new this(h.parts,h.zoneId),!0}catch{return!1}},d.IPv6.networkAddressFromCIDR=function(p){let h,y,g,m,v;try{for(h=this.parseCIDR(p),g=h[0].toByteArray(),v=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],y=0;y<16;)m.push(parseInt(g[y],10)&parseInt(v[y],10)),y++;return new this(m)}catch(b){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${b})`)}},d.IPv6.parse=function(p){let h=this.parser(p);if(h.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(h.parts,h.zoneId)},d.IPv6.parseCIDR=function(p){let h,y,g;if((y=p.match(/^(.+)\/(\d+)$/))&&(h=parseInt(y[2]),h>=0&&h<=128))return g=[this.parse(y[1]),h],Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},d.IPv6.parser=function(p){let h,y,g,m,v,b;if(g=p.match(a.deprecatedTransitional))return this.parser(`::ffff:${g[1]}`);if(a.native.test(p))return u(p,8);if((g=p.match(a.transitional))&&(b=g[6]||"",h=u(g[1].slice(0,-1)+b,6),h.parts)){for(v=[parseInt(g[2]),parseInt(g[3]),parseInt(g[4]),parseInt(g[5])],y=0;y<v.length;y++)if(m=v[y],!(0<=m&&m<=255))return null;return h.parts.push(v[0]<<8|v[1]),h.parts.push(v[2]<<8|v[3]),{parts:h.parts,zoneId:h.zoneId}}return null},d.IPv6.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>128)throw new Error("ipaddr: invalid IPv6 prefix length");let h=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],y=0,g=Math.floor(p/8);for(;y<g;)h[y]=255,y++;return g<16&&(h[g]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.fromByteArray=function(p){let h=p.length;if(h===4)return new d.IPv4(p);if(h===16)return new d.IPv6(p);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},d.isValid=function(p){return d.IPv6.isValid(p)||d.IPv4.isValid(p)},d.parse=function(p){if(d.IPv6.isValid(p))return d.IPv6.parse(p);if(d.IPv4.isValid(p))return d.IPv4.parse(p);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},d.parseCIDR=function(p){try{return d.IPv6.parseCIDR(p)}catch{try{return d.IPv4.parseCIDR(p)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},d.process=function(p){let h=this.parse(p);return h.kind()==="ipv6"&&h.isIPv4MappedAddress()?h.toIPv4Address():h},d.subnetMatch=function(p,h,y){let g,m,v,b;y==null&&(y="unicast");for(m in h)if(Object.prototype.hasOwnProperty.call(h,m)){for(v=h[m],v[0]&&!(v[0]instanceof Array)&&(v=[v]),g=0;g<v.length;g++)if(b=v[g],p.kind()===b[0].kind()&&p.match.apply(p,b))return m}return y},typeof N1<"u"&&N1.exports?N1.exports=d:e.ipaddr=d})(a4)});var ot=D((Rg,d4)=>{"use strict";function p4(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function s7(e,t,r){if(!e||typeof e=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof t=="object"&&(r=t,t=""),t&&(r.code=t);try{return p4(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),p4(new i,r)}}d4.exports=s7});var L4=D((Zg,ys)=>{"use strict";var l7=Object.prototype.hasOwnProperty,zt="~";function w0(){}Object.create&&(w0.prototype=Object.create(null),new w0().__proto__||(zt=!1));function h7(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function N4(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new h7(r,n||e,i),s=zt?zt+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],o]:e._events[s].push(o):(e._events[s]=o,e._eventsCount++),e}function L1(e,t){--e._eventsCount===0?e._events=new w0:delete e._events[t]}function Vt(){this._events=new w0,this._eventsCount=0}Vt.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)l7.call(r,n)&&t.push(zt?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};Vt.prototype.listeners=function(t){var r=zt?zt+t:t,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};Vt.prototype.listenerCount=function(t){var r=zt?zt+t:t,n=this._events[r];return n?n.fn?1:n.length:0};Vt.prototype.emit=function(t,r,n,i,o,s){var a=zt?zt+t:t;if(!this._events[a])return!1;var u=this._events[a],c=arguments.length,f,l;if(u.fn){switch(u.once&&this.removeListener(t,u.fn,void 0,!0),c){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,r),!0;case 3:return u.fn.call(u.context,r,n),!0;case 4:return u.fn.call(u.context,r,n,i),!0;case 5:return u.fn.call(u.context,r,n,i,o),!0;case 6:return u.fn.call(u.context,r,n,i,o,s),!0}for(l=1,f=new Array(c-1);l<c;l++)f[l-1]=arguments[l];u.fn.apply(u.context,f)}else{var d=u.length,p;for(l=0;l<d;l++)switch(u[l].once&&this.removeListener(t,u[l].fn,void 0,!0),c){case 1:u[l].fn.call(u[l].context);break;case 2:u[l].fn.call(u[l].context,r);break;case 3:u[l].fn.call(u[l].context,r,n);break;case 4:u[l].fn.call(u[l].context,r,n,i);break;default:if(!f)for(p=1,f=new Array(c-1);p<c;p++)f[p-1]=arguments[p];u[l].fn.apply(u[l].context,f)}}return!0};Vt.prototype.on=function(t,r,n){return N4(this,t,r,n,!1)};Vt.prototype.once=function(t,r,n){return N4(this,t,r,n,!0)};Vt.prototype.removeListener=function(t,r,n,i){var o=zt?zt+t:t;if(!this._events[o])return this;if(!r)return L1(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&L1(this,o);else{for(var a=0,u=[],c=s.length;a<c;a++)(s[a].fn!==r||i&&!s[a].once||n&&s[a].context!==n)&&u.push(s[a]);u.length?this._events[o]=u.length===1?u[0]:u:L1(this,o)}return this};Vt.prototype.removeAllListeners=function(t){var r;return t?(r=zt?zt+t:t,this._events[r]&&L1(this,r)):(this._events=new w0,this._eventsCount=0),this};Vt.prototype.off=Vt.prototype.removeListener;Vt.prototype.addListener=Vt.prototype.on;Vt.prefixed=zt;Vt.EventEmitter=Vt;typeof ys<"u"&&(ys.exports=Vt)});var $4=D((im,z4)=>{"use strict";z4.exports=function(){return Date.now()}});var G4=D((om,H4)=>{"use strict";var V1=$4(),Es=class{constructor(t,r,n){let i=this;this._started=V1(),this._rescheduled=0,this._scheduled=r,this._args=n,this._triggered=!1,this._timerWrapper=()=>{i._rescheduled>0?(i._scheduled=i._rescheduled-(V1()-i._started),i._schedule(i._scheduled)):(i._triggered=!0,t.apply(null,i._args))},this._timer=setTimeout(this._timerWrapper,r)}reschedule(t){t||(t=this._scheduled);let r=V1();r+t-(this._started+this._scheduled)<0?(clearTimeout(this._timer),this._schedule(t)):this._triggered?this._schedule(t):(this._started=r,this._rescheduled=t)}_schedule(t){this._triggered=!1,this._started=V1(),this._rescheduled=0,this._scheduled=t,this._timer=setTimeout(this._timerWrapper,t)}clear(){clearTimeout(this._timer)}};function d7(){if(typeof arguments[0]!="function")throw new Error("callback needed");if(typeof arguments[1]!="number")throw new Error("timeout needed");let e;if(arguments.length>0){e=new Array(arguments.length-2);for(var t=0;t<e.length;t++)e[t]=arguments[t+2]}return new Es(arguments[0],arguments[1],e)}H4.exports=d7});var Nn=D((sm,W4)=>{"use strict";var{AbortController:y7}=globalThis,Q4=G4(),_0=class extends y7{constructor(t){super(),this._ms=t,this._timer=Q4(()=>this.abort(),t),Object.setPrototypeOf(this,_0.prototype)}abort(){return this._timer.clear(),super.abort()}clear(){this._timer.clear()}reset(){this._timer.clear(),this._timer=Q4(()=>this.abort(),this._ms)}};W4.exports={TimeoutController:_0}});var Z4=D((am,Y4)=>{var Ln=1e3,kn=Ln*60,Dn=kn*60,Gr=Dn*24,g7=Gr*7,m7=Gr*365.25;Y4.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return x7(e);if(r==="number"&&isFinite(e))return t.long?w7(e):v7(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function x7(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*m7;case"weeks":case"week":case"w":return r*g7;case"days":case"day":case"d":return r*Gr;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Dn;case"minutes":case"minute":case"mins":case"min":case"m":return r*kn;case"seconds":case"second":case"secs":case"sec":case"s":return r*Ln;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function v7(e){var t=Math.abs(e);return t>=Gr?Math.round(e/Gr)+"d":t>=Dn?Math.round(e/Dn)+"h":t>=kn?Math.round(e/kn)+"m":t>=Ln?Math.round(e/Ln)+"s":e+"ms"}function w7(e){var t=Math.abs(e);return t>=Gr?q1(e,t,Gr,"day"):t>=Dn?q1(e,t,Dn,"hour"):t>=kn?q1(e,t,kn,"minute"):t>=Ln?q1(e,t,Ln,"second"):e+" ms"}function q1(e,t,r,n){var i=t>=r*1.5;return Math.round(e/r)+" "+n+(i?"s":"")}});var j4=D((um,X4)=>{function b7(e){r.debug=r,r.default=r,r.coerce=u,r.disable=o,r.enable=i,r.enabled=s,r.humanize=Z4(),r.destroy=c,Object.keys(e).forEach(f=>{r[f]=e[f]}),r.names=[],r.skips=[],r.formatters={};function t(f){let l=0;for(let d=0;d<f.length;d++)l=(l<<5)-l+f.charCodeAt(d),l|=0;return r.colors[Math.abs(l)%r.colors.length]}r.selectColor=t;function r(f){let l,d=null,p,h;function y(...g){if(!y.enabled)return;let m=y,v=Number(new Date),b=v-(l||v);m.diff=b,m.prev=l,m.curr=v,l=v,g[0]=r.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let L=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(C,K)=>{if(C==="%%")return"%";L++;let $=r.formatters[K];if(typeof $=="function"){let Tt=g[L];C=$.call(m,Tt),g.splice(L,1),L--}return C}),r.formatArgs.call(m,g),(m.log||r.log).apply(m,g)}return y.namespace=f,y.useColors=r.useColors(),y.color=r.selectColor(f),y.extend=n,y.destroy=r.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(p!==r.namespaces&&(p=r.namespaces,h=r.enabled(f)),h),set:g=>{d=g}}),typeof r.init=="function"&&r.init(y),y}function n(f,l){let d=r(this.namespace+(typeof l>"u"?":":l)+f);return d.log=this.log,d}function i(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let l,d=(typeof f=="string"?f:"").split(/[\s,]+/),p=d.length;for(l=0;l<p;l++)d[l]&&(f=d[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,d;for(l=0,d=r.skips.length;l<d;l++)if(r.skips[l].test(f))return!1;for(l=0,d=r.names.length;l<d;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 u(f){return f instanceof Error?f.stack||f.message:f}function c(){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}X4.exports=b7});var J4=D((ee,z1)=>{ee.formatArgs=S7;ee.save=A7;ee.load=B7;ee.useColors=E7;ee.storage=I7();ee.destroy=(()=>{let e=!1;return()=>{e||(e=!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`."))}})();ee.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 E7(){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 S7(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+z1.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),e.splice(n,0,t)}ee.log=console.debug||console.log||(()=>{});function A7(e){try{e?ee.storage.setItem("debug",e):ee.storage.removeItem("debug")}catch{}}function B7(){let e;try{e=ee.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function I7(){try{return localStorage}catch{}}z1.exports=j4()(ee);var{formatters:C7}=z1.exports;C7.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var et=D((Mm,a5)=>{a5.exports={options:{usePureJavaScript:!1}}});var f5=D((Km,c5)=>{var As={};c5.exports=As;var u5={};As.encode=function(e,t,r){if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(e instanceof Uint8Array))n=k7(e,t);else{var i=0,o=t.length,s=t.charAt(0),a=[0];for(i=0;i<e.length;++i){for(var u=0,c=e[i];u<a.length;++u)c+=a[u]<<8,a[u]=c%o,c=c/o|0;for(;c>0;)a.push(c%o),c=c/o|0}for(i=0;e[i]===0&&i<e.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=t[a[i]]}if(r){var f=new RegExp(".{1,"+r+"}","g");n=n.match(f).join(`\r
|
|
4
|
-
`)}return n};As.decode=function(e,t){if(typeof e!="string")throw new TypeError('"input" must be a string.');if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');var r=u5[t];if(!r){r=u5[t]=[];for(var n=0;n<t.length;++n)r[t.charCodeAt(n)]=n}e=e.replace(/\s/g,"");for(var i=t.length,o=t.charAt(0),s=[0],n=0;n<e.length;n++){var a=r[e.charCodeAt(n)];if(a===void 0)return;for(var u=0,c=a;u<s.length;++u)c+=s[u]*i,s[u]=c&255,c>>=8;for(;c>0;)s.push(c&255),c>>=8}for(var f=0;e[f]===o&&f<e.length-1;++f)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function k7(e,t){var r=0,n=t.length,i=t.charAt(0),o=[0];for(r=0;r<e.length();++r){for(var s=0,a=e.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 u="";for(r=0;e.at(r)===0&&r<e.length()-1;++r)u+=i;for(r=o.length-1;r>=0;--r)u+=t[o[r]];return u}});var Ct=D((Vm,d5)=>{var l5=et(),h5=f5(),x=d5.exports=l5.util=l5.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(u){if(u.source===window&&u.data===e){u.stopPropagation();var c=t.slice();t.length=0,c.forEach(function(f){f()})}};var s=a,e="forge.setImmediate",t=[];x.setImmediate=function(u){t.push(u),t.length===1&&window.postMessage(e,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var u=t.slice();t.length=0,u.forEach(function(c){c()})}).observe(i,{attributes:!0});var o=x.setImmediate;x.setImmediate=function(u){Date.now()-r>15?(r=Date.now(),o(u)):(t.push(u),t.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(e){return Object.prototype.toString.call(e)==="[object Array]"};x.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};x.isArrayBufferView=function(e){return e&&x.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function T0(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}x.ByteBuffer=Bs;function Bs(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(x.isArrayBuffer(e)||x.isArrayBufferView(e))if(typeof Buffer<"u"&&e instanceof Buffer)this.data=e.toString("binary");else{var t=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,t)}catch{for(var r=0;r<t.length;++r)this.putByte(t[r])}}else(e instanceof Bs||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}x.ByteStringBuffer=Bs;var D7=4096;x.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>D7&&(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(e){return this.putBytes(String.fromCharCode(e))};x.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this};x.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};x.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(x.encodeUtf8(e))};x.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};x.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};x.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};x.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};x.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};x.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))};x.ByteStringBuffer.prototype.putInt=function(e,t){T0(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};x.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};x.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};x.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};x.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};x.ByteStringBuffer.prototype.getInt24=function(){var e=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,e};x.ByteStringBuffer.prototype.getInt32=function(){var e=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,e};x.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};x.ByteStringBuffer.prototype.getInt24Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,e};x.ByteStringBuffer.prototype.getInt32Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,e};x.ByteStringBuffer.prototype.getInt=function(e){T0(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};x.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};x.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};x.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};x.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};x.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this};x.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};x.ByteStringBuffer.prototype.copy=function(){var e=x.createBuffer(this.data);return e.read=this.read,e};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(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this};x.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.length;++t){var r=this.data.charCodeAt(t);r<16&&(e+="0"),e+=r.toString(16)}return e};x.ByteStringBuffer.prototype.toString=function(){return x.decodeUtf8(this.bytes())};function F7(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=x.isArrayBuffer(e),n=x.isArrayBufferView(e);if(r||n){r?this.data=new DataView(e):this.data=new DataView(e.buffer,e.byteOffset,e.byteLength),this.write="writeOffset"in t?t.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,e!=null&&this.putBytes(e),"writeOffset"in t&&(this.write=t.writeOffset)}x.DataBuffer=F7;x.DataBuffer.prototype.length=function(){return this.write-this.read};x.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};x.DataBuffer.prototype.accommodate=function(e,t){if(this.length()>=e)return this;t=Math.max(t||this.growSize,e);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(r),this.data=new DataView(n.buffer),this};x.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};x.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};x.DataBuffer.prototype.putBytes=function(e,t){if(x.isArrayBufferView(e)){var r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(x.isArrayBuffer(e)){var r=new Uint8Array(e);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(e instanceof x.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&x.isArrayBufferView(e.data)){var r=new Uint8Array(e.data.byteLength,e.read,e.length());this.accommodate(r.byteLength);var i=new Uint8Array(e.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(e instanceof x.ByteStringBuffer&&(e=e.data,t="binary"),t=t||"binary",typeof e=="string"){var o;if(t==="hex")return this.accommodate(Math.ceil(e.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.hex.decode(e,o,this.write),this;if(t==="base64")return this.accommodate(Math.ceil(e.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.base64.decode(e,o,this.write),this;if(t==="utf8"&&(e=x.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.raw.decode(o),this;if(t==="utf16")return this.accommodate(e.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=x.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};x.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};x.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};x.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};x.DataBuffer.prototype.putInt24=function(e){return this.accommodate(3),this.data.setInt16(this.write,e>>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this};x.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};x.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};x.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this};x.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};x.DataBuffer.prototype.putInt=function(e,t){T0(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};x.DataBuffer.prototype.putSignedInt=function(e,t){return T0(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};x.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};x.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};x.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};x.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};x.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};x.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};x.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};x.DataBuffer.prototype.getInt=function(e){T0(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};x.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};x.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};x.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};x.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};x.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),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 e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this};x.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};x.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};x.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.byteLength;++t){var r=this.data.getUint8(t);r<16&&(e+="0"),e+=r.toString(16)}return e};x.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return x.binary.raw.encode(t);if(e==="hex")return x.binary.hex.encode(t);if(e==="base64")return x.binary.base64.encode(t);if(e==="utf8")return x.text.utf8.decode(t);if(e==="utf16")return x.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};x.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=x.encodeUtf8(e)),new x.ByteBuffer(e)};x.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};x.xorBytes=function(e,t,r){for(var n="",i="",o="",s=0,a=0;r>0;--r,++s)i=e.charCodeAt(s)^t.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};x.hexToBytes=function(e){var t="",r=0;for(e.length&!0&&(r=1,t+=String.fromCharCode(parseInt(e[0],16)));r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t};x.bytesToHex=function(e){return x.createBuffer(e).toHex()};x.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var Br="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Ir=[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],p5="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";x.encode64=function(e,t){for(var r="",n="",i,o,s,a=0;a<e.length;)i=e.charCodeAt(a++),o=e.charCodeAt(a++),s=e.charCodeAt(a++),r+=Br.charAt(i>>2),r+=Br.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Br.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Br.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
|
5
|
-
`,r=r.substr(t));return n+=r,n};x.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",r,n,i,o,s=0;s<e.length;)r=Ir[e.charCodeAt(s++)-43],n=Ir[e.charCodeAt(s++)-43],i=Ir[e.charCodeAt(s++)-43],o=Ir[e.charCodeAt(s++)-43],t+=String.fromCharCode(r<<2|n>>4),i!==64&&(t+=String.fromCharCode((n&15)<<4|i>>2),o!==64&&(t+=String.fromCharCode((i&3)<<6|o)));return t};x.encodeUtf8=function(e){return unescape(encodeURIComponent(e))};x.decodeUtf8=function(e){return decodeURIComponent(escape(e))};x.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:
|
|
6
|
-
`,r=r.substr(t));return n+=r,n};x.binary.base64.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/4)*3)),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,u=0,c=r;u<e.length;)i=Ir[e.charCodeAt(u++)-43],o=Ir[e.charCodeAt(u++)-43],s=Ir[e.charCodeAt(u++)-43],a=Ir[e.charCodeAt(u++)-43],n[c++]=i<<2|o>>4,s!==64&&(n[c++]=(o&15)<<4|s>>2,a!==64&&(n[c++]=(s&3)<<6|a));return t?c-r:n.subarray(0,c)};x.binary.base58.encode=function(e,t){return x.binary.baseN.encode(e,p5,t)};x.binary.base58.decode=function(e,t){return x.binary.baseN.decode(e,p5,t)};x.text={utf8:{},utf16:{}};x.text.utf8.encode=function(e,t,r){e=x.encodeUtf8(e);var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,o=0;o<e.length;++o)n[i++]=e.charCodeAt(o);return t?i-r:n};x.text.utf8.decode=function(e){return x.decodeUtf8(String.fromCharCode.apply(null,e))};x.text.utf16.encode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<e.length;++a)i[s++]=e.charCodeAt(a),o+=2;return t?o-r:n};x.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};x.deflate=function(e,t,r){if(t=x.decode64(e.deflate(x.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};x.inflate=function(e,t,r){var n=e.inflate(x.encode64(t)).rval;return n===null?null:x.decode64(n)};var Is=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=x.encode64(JSON.stringify(r)),n=e.setItem(t,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},Cs=function(e,t){if(!e)throw new Error("WebStorage not available.");var r=e.getItem(t);if(e.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(x.decode64(r))),r},U7=function(e,t,r,n){var i=Cs(e,t);i===null&&(i={}),i[r]=n,Is(e,t,i)},O7=function(e,t,r){var n=Cs(e,t);return n!==null&&(n=r in n?n[r]:null),n},M7=function(e,t,r){var n=Cs(e,t);if(n!==null&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),Is(e,t,n)}},K7=function(e,t){Is(e,t,null)},H1=function(e,t,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(t[0]===null)throw new Error("Flash local storage not available.");n=e.apply(this,t),o=i==="flash"}(i==="web"||i==="both")&&(t[0]=localStorage,n=e.apply(this,t),o=!0)}catch(u){s=u}if(o)break}if(!o)throw s;return n};x.setItem=function(e,t,r,n,i){H1(U7,arguments,i)};x.getItem=function(e,t,r,n){return H1(O7,arguments,n)};x.removeItem=function(e,t,r,n){H1(M7,arguments,n)};x.clearItems=function(e,t,r){H1(K7,arguments,r)};x.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};x.format=function(e){for(var t=/%./g,r,n,i=0,o=[],s=0;r=t.exec(e);){n=e.substring(s,t.lastIndex-2),n.length>0&&o.push(n),s=t.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(e.substring(s)),o.join("")};x.formatNumber=function(e,t,r,n){var i=e,o=isNaN(t=Math.abs(t))?2:t,s=r===void 0?",":r,a=n===void 0?".":n,u=i<0?"-":"",c=parseInt(i=Math.abs(+i||0).toFixed(o),10)+"",f=c.length>3?c.length%3:0;return u+(f?c.substr(0,f)+a:"")+c.substr(f).replace(/(\d{3})(?=\d)/g,"$1"+a)+(o?s+Math.abs(i-c).toFixed(o).slice(2):"")};x.formatSize=function(e){return e>=1073741824?e=x.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=x.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=x.formatNumber(e/1024,0)+" KiB":e=x.formatNumber(e,0)+" bytes",e};x.bytesFromIP=function(e){return e.indexOf(".")!==-1?x.bytesFromIPv4(e):e.indexOf(":")!==-1?x.bytesFromIPv6(e):null};x.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=x.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};x.bytesFromIPv6=function(e){var t=0;e=e.split(":").filter(function(s){return s.length===0&&++t,!0});for(var r=(8-e.length+t)*2,n=x.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=x.hexToBytes(e[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};x.bytesToIP=function(e){return e.length===4?x.bytesToIPv4(e):e.length===16?x.bytesToIPv6(e):null};x.bytesToIPv4=function(e){if(e.length!==4)return null;for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t.join(".")};x.bytesToIPv6=function(e){if(e.length!==16)return null;for(var t=[],r=[],n=0,i=0;i<e.length;i+=2){for(var o=x.bytesToHex(e[i]+e[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=r[r.length-1],a=t.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))}t.push(o)}if(r.length>0){var u=r[n];u.end-u.start>0&&(t.splice(u.start,u.end-u.start+1,""),u.start===0&&t.unshift(""),u.end===7&&t.push(""))}return t.join(":")};x.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in x&&!e.update)return t(null,x.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return x.cores=navigator.hardwareConcurrency,t(null,x.cores);if(typeof Worker>"u")return x.cores=1,t(null,x.cores);if(typeof Blob>"u")return x.cores=2,t(null,x.cores);var r=URL.createObjectURL(new Blob(["(",function(){self.addEventListener("message",function(s){for(var a=Date.now(),u=a+4;Date.now()<u;);self.postMessage({st:a,et:u})})}.toString(),")()"],{type:"application/javascript"}));n([],5,16);function n(s,a,u){if(a===0){var c=Math.floor(s.reduce(function(f,l){return f+l},0)/s.length);return x.cores=Math.max(1,c),URL.revokeObjectURL(r),t(null,x.cores)}i(u,function(f,l){s.push(o(u,l)),n(s,a-1,u)})}function i(s,a){for(var u=[],c=[],f=0;f<s;++f){var l=new Worker(r);l.addEventListener("message",function(d){if(c.push(d.data),c.length===s){for(var p=0;p<s;++p)u[p].terminate();a(null,c)}}),u.push(l)}for(var f=0;f<s;++f)u[f].postMessage(f)}function o(s,a){for(var u=[],c=0;c<s;++c)for(var f=a[c],l=u[c]=[],d=0;d<s;++d)if(c!==d){var p=a[d];(f.st>p.st&&f.st<p.et||p.st>f.st&&p.st<f.et)&&l.push(d)}return u.reduce(function(h,y){return Math.max(h,y.length)},0)}}});var Ts=D((qm,y5)=>{var Ut=et();Ct();y5.exports=Ut.cipher=Ut.cipher||{};Ut.cipher.algorithms=Ut.cipher.algorithms||{};Ut.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ut.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ut.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};Ut.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ut.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ut.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};Ut.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),Ut.cipher.algorithms[e]=t};Ut.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in Ut.cipher.algorithms?Ut.cipher.algorithms[e]:null};var _s=Ut.cipher.BlockCipher=function(e){this.algorithm=e.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=e.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=e.decrypt,this.algorithm.initialize(e)};_s.prototype.start=function(e){e=e||{};var t={};for(var r in e)t[r]=e[r];t.decrypt=this._decrypt,this._finish=!1,this._input=Ut.util.createBuffer(),this.output=e.output||Ut.util.createBuffer(),this.mode.start(t)};_s.prototype.update=function(e){for(e&&this._input.putBuffer(e);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};_s.prototype.finish=function(e){e&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return e(this.blockSize,r,!1)},this.mode.unpad=function(r){return e(this.blockSize,r,!0)});var t={};return t.decrypt=this._decrypt,t.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,t)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,t))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,t))}});var Ps=D((zm,g5)=>{var Ot=et();Ct();Ot.cipher=Ot.cipher||{};var H=g5.exports=Ot.cipher.modes=Ot.cipher.modes||{};H.ecb=function(e){e=e||{},this.name="ECB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};H.ecb.prototype.start=function(e){};H.ecb.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};H.ecb.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};H.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};H.ecb.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};H.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};H.cbc.prototype.start=function(e){if(e.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in e)this._iv=G1(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};H.cbc.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n]);this._prev=this._outBlock};H.cbc.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};H.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};H.cbc.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};H.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};H.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=G1(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};H.cfb.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32()^this._outBlock[i],t.putInt32(this._inBlock[i]);return}var 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]=e.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};H.cfb.prototype.decrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32(),t.putInt32(this._inBlock[i]^this._outBlock[i]);return}var 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]=e.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};H.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};H.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=G1(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};H.ofb.prototype.encrypt=function(e,t,r){var n=e.length();if(e.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)t.putInt32(e.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var 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(e.getInt32()^this._outBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};H.ofb.prototype.decrypt=H.ofb.prototype.encrypt;H.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};H.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=G1(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};H.ctr.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)t.putInt32(e.getInt32()^this._outBlock[i]);else{var 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(e.getInt32()^this._outBlock[i]);if(o>0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}Q1(this._inBlock)};H.ctr.prototype.decrypt=H.ctr.prototype.encrypt;H.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0,this._R=3774873600};H.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=Ot.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=Ot.util.createBuffer(e.additionalData):r=Ot.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=Ot.util.createBuffer(e.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=t.length();if(n===12)this._j0=[t.getInt32(),t.getInt32(),t.getInt32(),1];else{for(this._j0=[0,0,0,0];t.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(Rs(n*8)))}this._inBlock=this._j0.slice(0),Q1(this._inBlock),this._partialBytes=0,r=Ot.util.createBuffer(r),this._aDataLength=Rs(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()])};H.gcm.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^=e.getInt32());this._cipherLength+=this.blockSize}else{var 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(e.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 e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),Q1(this._inBlock)};H.gcm.prototype.decrypt=function(e,t,r){var n=e.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),Q1(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};H.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=Ot.util.createBuffer();var n=this._aDataLength.concat(Rs(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)),t.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};H.gcm.prototype.multiply=function(e,t){for(var r=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){var o=e[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};H.gcm.prototype.pow=function(e,t){for(var r=e[3]&1,n=3;n>0;--n)t[n]=e[n]>>>1|(e[n-1]&1)<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)};H.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=e[n]>>>(7-r%8)*4&15,o=this._m[r][i];t[0]^=o[0],t[1]^=o[1],t[2]^=o[2],t[3]^=o[3]}return t};H.gcm.prototype.ghash=function(e,t,r){return t[0]^=r[0],t[1]^=r[1],t[2]^=r[2],t[3]^=r[3],this.tableMultiply(t)};H.gcm.prototype.generateHashTable=function(e,t){for(var r=8/t,n=4*r,i=16*r,o=new Array(i),s=0;s<i;++s){var a=[0,0,0,0],u=s/n|0,c=(n-1-s%n)*t;a[u]=1<<t-1<<c,o[s]=this.generateSubHashTable(this.multiply(a,e),t)}return o};H.gcm.prototype.generateSubHashTable=function(e,t){var r=1<<t,n=r>>>1,i=new Array(r);i[n]=e.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],u=i[s];i[o+s]=[a[0]^u[0],a[1]^u[1],a[2]^u[2],a[3]^u[3]]}o*=2}for(i[0]=[0,0,0,0],o=n+1;o<r;++o){var c=i[o^n];i[o]=[e[0]^c[0],e[1]^c[1],e[2]^c[2],e[3]^c[3]]}return i};function G1(e,t){if(typeof e=="string"&&(e=Ot.util.createBuffer(e)),Ot.util.isArray(e)&&e.length>4){var r=e;e=Ot.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(e.length()<t)throw new Error("Invalid IV length; got "+e.length()+" bytes and expected "+t+" bytes.");if(!Ot.util.isArray(e)){for(var i=[],o=t/4,n=0;n<o;++n)i.push(e.getInt32());e=i}return e}function Q1(e){e[e.length-1]=e[e.length-1]+1&4294967295}function Rs(e){return[e/4294967296|0,e&4294967295]}});var Y1=D(($m,w5)=>{var st=et();Ts();Ps();Ct();w5.exports=st.aes=st.aes||{};st.aes.startEncrypting=function(e,t,r,n){var i=W1({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};st.aes.createEncryptionCipher=function(e,t){return W1({key:e,output:null,decrypt:!1,mode:t})};st.aes.startDecrypting=function(e,t,r,n){var i=W1({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};st.aes.createDecryptionCipher=function(e,t){return W1({key:e,output:null,decrypt:!0,mode:t})};st.aes.Algorithm=function(e,t){ks||x5();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return Ls(r._w,n,i,!1)},decrypt:function(n,i){return Ls(r._w,n,i,!0)}}}),r._init=!1};st.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t=e.key,r;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=st.util.createBuffer(t);else if(st.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=st.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!st.util.isArray(t)){r=t,t=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)t.push(r.getInt32())}}if(!st.util.isArray(t)||!(t.length===4||t.length===6||t.length===8))throw new Error("Invalid key parameter.");var o=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(o)!==-1;this._w=v5(t,e.decrypt&&!s),this._init=!0}};st.aes._expandKey=function(e,t){return ks||x5(),v5(e,t)};st.aes._updateBlock=Ls;On("AES-ECB",st.cipher.modes.ecb);On("AES-CBC",st.cipher.modes.cbc);On("AES-CFB",st.cipher.modes.cfb);On("AES-OFB",st.cipher.modes.ofb);On("AES-CTR",st.cipher.modes.ctr);On("AES-GCM",st.cipher.modes.gcm);function On(e,t){var r=function(){return new st.aes.Algorithm(e,t)};st.cipher.registerAlgorithm(e,r)}var ks=!1,Un=4,$t,Ns,m5,Qr,be;function x5(){ks=!0,m5=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),t=0;t<128;++t)e[t]=t<<1,e[t+128]=t+128<<1^283;$t=new Array(256),Ns=new Array(256),Qr=new Array(4),be=new Array(4);for(var t=0;t<4;++t)Qr[t]=new Array(256),be[t]=new Array(256);for(var r=0,n=0,i,o,s,a,u,c,f,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,$t[r]=a,Ns[a]=r,u=e[a],i=e[r],o=e[i],s=e[o],c=u<<24^a<<16^a<<8^(a^u),f=(i^o^s)<<24^(r^s)<<16^(r^o^s)<<8^(r^i^s);for(var l=0;l<4;++l)Qr[l][r]=c,be[l][a]=f,c=c<<24|c>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^e[e[e[i^s]]],n^=e[e[n]])}}function v5(e,t){for(var r=e.slice(0),n,i=1,o=r.length,s=o+6+1,a=Un*s,u=o;u<a;++u)n=r[u-1],u%o===0?(n=$t[n>>>16&255]<<24^$t[n>>>8&255]<<16^$t[n&255]<<8^$t[n>>>24]^m5[i]<<24,i++):o>6&&u%o===4&&(n=$t[n>>>24]<<24^$t[n>>>16&255]<<16^$t[n>>>8&255]<<8^$t[n&255]),r[u]=r[u-o]^n;if(t){var c,f=be[0],l=be[1],d=be[2],p=be[3],h=r.slice(0);a=r.length;for(var u=0,y=a-Un;u<a;u+=Un,y-=Un)if(u===0||u===a-Un)h[u]=r[y],h[u+1]=r[y+3],h[u+2]=r[y+2],h[u+3]=r[y+1];else for(var g=0;g<Un;++g)c=r[y+g],h[u+(3&-g)]=f[$t[c>>>24]]^l[$t[c>>>16&255]]^d[$t[c>>>8&255]]^p[$t[c&255]];r=h}return r}function Ls(e,t,r,n){var i=e.length/4-1,o,s,a,u,c;n?(o=be[0],s=be[1],a=be[2],u=be[3],c=Ns):(o=Qr[0],s=Qr[1],a=Qr[2],u=Qr[3],c=$t);var f,l,d,p,h,y,g;f=t[0]^e[0],l=t[n?3:1]^e[1],d=t[2]^e[2],p=t[n?1:3]^e[3];for(var m=3,v=1;v<i;++v)h=o[f>>>24]^s[l>>>16&255]^a[d>>>8&255]^u[p&255]^e[++m],y=o[l>>>24]^s[d>>>16&255]^a[p>>>8&255]^u[f&255]^e[++m],g=o[d>>>24]^s[p>>>16&255]^a[f>>>8&255]^u[l&255]^e[++m],p=o[p>>>24]^s[f>>>16&255]^a[l>>>8&255]^u[d&255]^e[++m],f=h,l=y,d=g;r[0]=c[f>>>24]<<24^c[l>>>16&255]<<16^c[d>>>8&255]<<8^c[p&255]^e[++m],r[n?3:1]=c[l>>>24]<<24^c[d>>>16&255]<<16^c[p>>>8&255]<<8^c[f&255]^e[++m],r[2]=c[d>>>24]<<24^c[p>>>16&255]<<16^c[f>>>8&255]<<8^c[l&255]^e[++m],r[n?1:3]=c[p>>>24]<<24^c[f>>>16&255]<<16^c[l>>>8&255]<<8^c[d&255]^e[++m]}function W1(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=st.cipher.createDecipher(r,e.key):n=st.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof st.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Z1=D((tx,b5)=>{var R0=et();R0.pki=R0.pki||{};var Fs=b5.exports=R0.pki.oids=R0.oids=R0.oids||{};function I(e,t){Fs[e]=t,Fs[t]=e}function tt(e,t){Fs[e]=t}I("1.2.840.113549.1.1.1","rsaEncryption");I("1.2.840.113549.1.1.4","md5WithRSAEncryption");I("1.2.840.113549.1.1.5","sha1WithRSAEncryption");I("1.2.840.113549.1.1.7","RSAES-OAEP");I("1.2.840.113549.1.1.8","mgf1");I("1.2.840.113549.1.1.9","pSpecified");I("1.2.840.113549.1.1.10","RSASSA-PSS");I("1.2.840.113549.1.1.11","sha256WithRSAEncryption");I("1.2.840.113549.1.1.12","sha384WithRSAEncryption");I("1.2.840.113549.1.1.13","sha512WithRSAEncryption");I("1.3.101.112","EdDSA25519");I("1.2.840.10040.4.3","dsa-with-sha1");I("1.3.14.3.2.7","desCBC");I("1.3.14.3.2.26","sha1");I("1.3.14.3.2.29","sha1WithRSASignature");I("2.16.840.1.101.3.4.2.1","sha256");I("2.16.840.1.101.3.4.2.2","sha384");I("2.16.840.1.101.3.4.2.3","sha512");I("2.16.840.1.101.3.4.2.4","sha224");I("2.16.840.1.101.3.4.2.5","sha512-224");I("2.16.840.1.101.3.4.2.6","sha512-256");I("1.2.840.113549.2.2","md2");I("1.2.840.113549.2.5","md5");I("1.2.840.113549.1.7.1","data");I("1.2.840.113549.1.7.2","signedData");I("1.2.840.113549.1.7.3","envelopedData");I("1.2.840.113549.1.7.4","signedAndEnvelopedData");I("1.2.840.113549.1.7.5","digestedData");I("1.2.840.113549.1.7.6","encryptedData");I("1.2.840.113549.1.9.1","emailAddress");I("1.2.840.113549.1.9.2","unstructuredName");I("1.2.840.113549.1.9.3","contentType");I("1.2.840.113549.1.9.4","messageDigest");I("1.2.840.113549.1.9.5","signingTime");I("1.2.840.113549.1.9.6","counterSignature");I("1.2.840.113549.1.9.7","challengePassword");I("1.2.840.113549.1.9.8","unstructuredAddress");I("1.2.840.113549.1.9.14","extensionRequest");I("1.2.840.113549.1.9.20","friendlyName");I("1.2.840.113549.1.9.21","localKeyId");I("1.2.840.113549.1.9.22.1","x509Certificate");I("1.2.840.113549.1.12.10.1.1","keyBag");I("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");I("1.2.840.113549.1.12.10.1.3","certBag");I("1.2.840.113549.1.12.10.1.4","crlBag");I("1.2.840.113549.1.12.10.1.5","secretBag");I("1.2.840.113549.1.12.10.1.6","safeContentsBag");I("1.2.840.113549.1.5.13","pkcs5PBES2");I("1.2.840.113549.1.5.12","pkcs5PBKDF2");I("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");I("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");I("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");I("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");I("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");I("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");I("1.2.840.113549.2.7","hmacWithSHA1");I("1.2.840.113549.2.8","hmacWithSHA224");I("1.2.840.113549.2.9","hmacWithSHA256");I("1.2.840.113549.2.10","hmacWithSHA384");I("1.2.840.113549.2.11","hmacWithSHA512");I("1.2.840.113549.3.7","des-EDE3-CBC");I("2.16.840.1.101.3.4.1.2","aes128-CBC");I("2.16.840.1.101.3.4.1.22","aes192-CBC");I("2.16.840.1.101.3.4.1.42","aes256-CBC");I("2.5.4.3","commonName");I("2.5.4.4","surname");I("2.5.4.5","serialNumber");I("2.5.4.6","countryName");I("2.5.4.7","localityName");I("2.5.4.8","stateOrProvinceName");I("2.5.4.9","streetAddress");I("2.5.4.10","organizationName");I("2.5.4.11","organizationalUnitName");I("2.5.4.12","title");I("2.5.4.13","description");I("2.5.4.15","businessCategory");I("2.5.4.17","postalCode");I("2.5.4.42","givenName");I("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");I("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");I("2.16.840.1.113730.1.1","nsCertType");I("2.16.840.1.113730.1.13","nsComment");tt("2.5.29.1","authorityKeyIdentifier");tt("2.5.29.2","keyAttributes");tt("2.5.29.3","certificatePolicies");tt("2.5.29.4","keyUsageRestriction");tt("2.5.29.5","policyMapping");tt("2.5.29.6","subtreesConstraint");tt("2.5.29.7","subjectAltName");tt("2.5.29.8","issuerAltName");tt("2.5.29.9","subjectDirectoryAttributes");tt("2.5.29.10","basicConstraints");tt("2.5.29.11","nameConstraints");tt("2.5.29.12","policyConstraints");tt("2.5.29.13","basicConstraints");I("2.5.29.14","subjectKeyIdentifier");I("2.5.29.15","keyUsage");tt("2.5.29.16","privateKeyUsagePeriod");I("2.5.29.17","subjectAltName");I("2.5.29.18","issuerAltName");I("2.5.29.19","basicConstraints");tt("2.5.29.20","cRLNumber");tt("2.5.29.21","cRLReason");tt("2.5.29.22","expirationDate");tt("2.5.29.23","instructionCode");tt("2.5.29.24","invalidityDate");tt("2.5.29.25","cRLDistributionPoints");tt("2.5.29.26","issuingDistributionPoint");tt("2.5.29.27","deltaCRLIndicator");tt("2.5.29.28","issuingDistributionPoint");tt("2.5.29.29","certificateIssuer");tt("2.5.29.30","nameConstraints");I("2.5.29.31","cRLDistributionPoints");I("2.5.29.32","certificatePolicies");tt("2.5.29.33","policyMappings");tt("2.5.29.34","policyConstraints");I("2.5.29.35","authorityKeyIdentifier");tt("2.5.29.36","policyConstraints");I("2.5.29.37","extKeyUsage");tt("2.5.29.46","freshestCRL");tt("2.5.29.54","inhibitAnyPolicy");I("1.3.6.1.4.1.11129.2.4.2","timestampList");I("1.3.6.1.5.5.7.1.1","authorityInfoAccess");I("1.3.6.1.5.5.7.3.1","serverAuth");I("1.3.6.1.5.5.7.3.2","clientAuth");I("1.3.6.1.5.5.7.3.3","codeSigning");I("1.3.6.1.5.5.7.3.4","emailProtection");I("1.3.6.1.5.5.7.3.8","timeStamping")});var N0=D((ex,S5)=>{var ct=et();Ct();Z1();var T=S5.exports=ct.asn1=ct.asn1||{};T.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};T.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};T.create=function(e,t,r,n,i){if(ct.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:e,type:t,constructed:r,composed:r||ct.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=T.copy(a)),a};T.copy=function(e,t){var r;if(ct.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(T.copy(e[n],t));return r}return typeof e=="string"?e:(r={tagClass:e.tagClass,type:e.type,constructed:e.constructed,composed:e.composed,value:T.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};T.equals=function(e,t,r){if(ct.util.isArray(e)){if(!ct.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!T.equals(e[n],t[n]))return!1;return!0}if(typeof e!=typeof t)return!1;if(typeof e=="string")return e===t;var i=e.tagClass===t.tagClass&&e.type===t.type&&e.constructed===t.constructed&&e.composed===t.composed&&T.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};T.getBerValueLength=function(e){var t=e.getByte();if(t!==128){var r,n=t&128;return n?r=e.getInt((t&127)<<3):r=t,r}};function P0(e,t,r){if(r>t){var n=new Error("Too few bytes to parse DER.");throw n.available=e.length(),n.remaining=t,n.requested=r,n}}var H7=function(e,t){var r=e.getByte();if(t--,r!==128){var n,i=r&128;if(!i)n=r;else{var o=r&127;P0(e,t,o),n=e.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};T.fromDer=function(e,t){t===void 0&&(t={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof t=="boolean"&&(t={strict:t,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in t||(t.strict=!0),"parseAllBytes"in t||(t.parseAllBytes=!0),"decodeBitStrings"in t||(t.decodeBitStrings=!0),typeof e=="string"&&(e=ct.util.createBuffer(e));var r=e.length(),n=X1(e,e.length(),0,t);if(t.parseAllBytes&&e.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=e.length(),i}return n};function X1(e,t,r,n){var i;P0(e,t,2);var o=e.getByte();t--;var s=o&192,a=o&31;i=e.length();var u=H7(e,t);if(t-=i-e.length(),u!==void 0&&u>t){if(n.strict){var c=new Error("Too few bytes to read ASN.1 value.");throw c.available=e.length(),c.remaining=t,c.requested=u,c}u=t}var f,l,d=(o&32)===32;if(d)if(f=[],u===void 0)for(;;){if(P0(e,t,2),e.bytes(2)===String.fromCharCode(0,0)){e.getBytes(2),t-=2;break}i=e.length(),f.push(X1(e,t,r+1,n)),t-=i-e.length()}else for(;u>0;)i=e.length(),f.push(X1(e,u,r+1,n)),t-=i-e.length(),u-=i-e.length();if(f===void 0&&s===T.Class.UNIVERSAL&&a===T.Type.BITSTRING&&(l=e.bytes(u)),f===void 0&&n.decodeBitStrings&&s===T.Class.UNIVERSAL&&a===T.Type.BITSTRING&&u>1){var p=e.read,h=t,y=0;if(a===T.Type.BITSTRING&&(P0(e,t,1),y=e.getByte(),t--),y===0)try{i=e.length();var g={strict:!0,decodeBitStrings:!0},m=X1(e,t,r+1,g),v=i-e.length();t-=v,a==T.Type.BITSTRING&&v++;var b=m.tagClass;v===u&&(b===T.Class.UNIVERSAL||b===T.Class.CONTEXT_SPECIFIC)&&(f=[m])}catch{}f===void 0&&(e.read=p,t=h)}if(f===void 0){if(u===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");u=t}if(a===T.Type.BMPSTRING)for(f="";u>0;u-=2)P0(e,t,2),f+=String.fromCharCode(e.getInt16()),t-=2;else f=e.getBytes(u),t-=u}var L=l===void 0?null:{bitStringContents:l};return T.create(s,a,d,f,L)}T.toDer=function(e){var t=ct.util.createBuffer(),r=e.tagClass|e.type,n=ct.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=T.equals(e,e.original))),i)n.putBytes(e.bitStringContents);else if(e.composed){e.constructed?r|=32:n.putByte(0);for(var o=0;o<e.value.length;++o)e.value[o]!==void 0&&n.putBuffer(T.toDer(e.value[o]))}else if(e.type===T.Type.BMPSTRING)for(var o=0;o<e.value.length;++o)n.putInt16(e.value.charCodeAt(o));else e.type===T.Type.INTEGER&&e.value.length>1&&(e.value.charCodeAt(0)===0&&!(e.value.charCodeAt(1)&128)||e.value.charCodeAt(0)===255&&(e.value.charCodeAt(1)&128)===128)?n.putBytes(e.value.substr(1)):n.putBytes(e.value);if(t.putByte(r),n.length()<=127)t.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);t.putByte(a.length|128);for(var o=a.length-1;o>=0;--o)t.putByte(a.charCodeAt(o))}return t.putBuffer(n),t};T.oidToDer=function(e){var t=e.split("."),r=ct.util.createBuffer();r.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var n,i,o,s,a=2;a<t.length;++a){n=!0,i=[],o=parseInt(t[a],10);do s=o&127,o=o>>>7,n||(s|=128),i.push(s),n=!1;while(o>0);for(var u=i.length-1;u>=0;--u)r.putByte(i[u])}return r};T.derToOid=function(e){var t;typeof e=="string"&&(e=ct.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var n=0;e.length()>0;)r=e.getByte(),n=n<<7,r&128?n+=r&127:(t+="."+(n+r),n=0);return t};T.utcTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),o=parseInt(e.substr(6,2),10),s=parseInt(e.substr(8,2),10),a=0;if(e.length>11){var u=e.charAt(10),c=10;u!=="+"&&u!=="-"&&(a=parseInt(e.substr(10,2),10),c+=2)}if(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,0),c&&(u=e.charAt(c),u==="+"||u==="-")){var f=parseInt(e.substr(c+1,2),10),l=parseInt(e.substr(c+4,2),10),d=f*60+l;d*=6e4,u==="+"?t.setTime(+t-d):t.setTime(+t+d)}return t};T.generalizedTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,4),10),n=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),s=parseInt(e.substr(10,2),10),a=parseInt(e.substr(12,2),10),u=0,c=0,f=!1;e.charAt(e.length-1)==="Z"&&(f=!0);var l=e.length-5,d=e.charAt(l);if(d==="+"||d==="-"){var p=parseInt(e.substr(l+1,2),10),h=parseInt(e.substr(l+4,2),10);c=p*60+h,c*=6e4,d==="+"&&(c*=-1),f=!0}return e.charAt(14)==="."&&(u=parseFloat(e.substr(14),10)*1e3),f?(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,u),t.setTime(+t+c)):(t.setFullYear(r,n,i),t.setHours(o,s,a,u)),t};T.dateToUtcTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push((""+e.getUTCFullYear()).substr(2)),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};T.dateToGeneralizedTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push(""+e.getUTCFullYear()),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};T.integerToDer=function(e){var t=ct.util.createBuffer();if(e>=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=e,r};T.derToInteger=function(e){typeof e=="string"&&(e=ct.util.createBuffer(e));var t=e.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)};T.validate=function(e,t,r,n){var i=!1;if((e.tagClass===t.tagClass||typeof t.tagClass>"u")&&(e.type===t.type||typeof t.type>"u"))if(e.constructed===t.constructed||typeof t.constructed>"u"){if(i=!0,t.value&&ct.util.isArray(t.value))for(var o=0,s=0;i&&s<t.value.length;++s)i=t.value[s].optional||!1,e.value[o]&&(i=T.validate(e.value[o],t.value[s],r,n),i?++o:t.value[s].optional&&(i=!0)),!i&&n&&n.push("["+t.name+'] Tag class "'+t.tagClass+'", type "'+t.type+'" expected value length "'+t.value.length+'", got "'+e.value.length+'"');if(i&&r&&(t.capture&&(r[t.capture]=e.value),t.captureAsn1&&(r[t.captureAsn1]=e),t.captureBitStringContents&&"bitStringContents"in e&&(r[t.captureBitStringContents]=e.bitStringContents),t.captureBitStringValue&&"bitStringContents"in e)){var a;if(e.bitStringContents.length<2)r[t.captureBitStringValue]="";else{var u=e.bitStringContents.charCodeAt(0);if(u!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[t.captureBitStringValue]=e.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+e.constructed+'"');else n&&(e.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));return i};var E5=/[^\\u0000-\\u00ff]/;T.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
|
|
2
|
+
"use strict";var Libp2PKadDht=(()=>{var wc=Object.create;var hi=Object.defineProperty;var bc=Object.getOwnPropertyDescriptor;var Ec=Object.getOwnPropertyNames;var Sc=Object.getPrototypeOf,Ac=Object.prototype.hasOwnProperty;var D=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Nt=(e,t)=>{for(var r in t)hi(e,r,{get:t[r],enumerable:!0})},Q2=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ec(t))!Ac.call(e,i)&&i!==r&&hi(e,i,{get:()=>t[i],enumerable:!(n=bc(t,i))||n.enumerable});return e};var K=(e,t,r)=>(r=e!=null?wc(Sc(e)):{},Q2(t||!e||!e.__esModule?hi(r,"default",{value:e,enumerable:!0}):r,e)),Bc=e=>Q2(hi({},"__esModule",{value:!0}),e);var Z2=D(pi=>{"use strict";pi.byteLength=Cc;pi.toByteArray=Tc;pi.fromByteArray=Lc;var Te=[],se=[],Ic=typeof Uint8Array<"u"?Uint8Array:Array,co="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Or=0,W2=co.length;Or<W2;++Or)Te[Or]=co[Or],se[co.charCodeAt(Or)]=Or;var Or,W2;se["-".charCodeAt(0)]=62;se["_".charCodeAt(0)]=63;function Y2(e){var t=e.length;if(t%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function Cc(e){var t=Y2(e),r=t[0],n=t[1];return(r+n)*3/4-n}function _c(e,t,r){return(t+r)*3/4-r}function Tc(e){var t,r=Y2(e),n=r[0],i=r[1],o=new Ic(_c(e,n,i)),s=0,a=i>0?n-4:n,c;for(c=0;c<a;c+=4)t=se[e.charCodeAt(c)]<<18|se[e.charCodeAt(c+1)]<<12|se[e.charCodeAt(c+2)]<<6|se[e.charCodeAt(c+3)],o[s++]=t>>16&255,o[s++]=t>>8&255,o[s++]=t&255;return i===2&&(t=se[e.charCodeAt(c)]<<2|se[e.charCodeAt(c+1)]>>4,o[s++]=t&255),i===1&&(t=se[e.charCodeAt(c)]<<10|se[e.charCodeAt(c+1)]<<4|se[e.charCodeAt(c+2)]>>2,o[s++]=t>>8&255,o[s++]=t&255),o}function Rc(e){return Te[e>>18&63]+Te[e>>12&63]+Te[e>>6&63]+Te[e&63]}function Pc(e,t,r){for(var n,i=[],o=t;o<r;o+=3)n=(e[o]<<16&16711680)+(e[o+1]<<8&65280)+(e[o+2]&255),i.push(Rc(n));return i.join("")}function Lc(e){for(var t,r=e.length,n=r%3,i=[],o=16383,s=0,a=r-n;s<a;s+=o)i.push(Pc(e,s,s+o>a?a:s+o));return n===1?(t=e[r-1],i.push(Te[t>>2]+Te[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(Te[t>>10]+Te[t>>4&63]+Te[t<<2&63]+"=")),i.join("")}});var X2=D(uo=>{uo.read=function(e,t,r,n,i){var o,s,a=i*8-n-1,c=(1<<a)-1,u=c>>1,f=-7,l=r?i-1:0,d=r?-1:1,p=e[t+l];for(l+=d,o=p&(1<<-f)-1,p>>=-f,f+=a;f>0;o=o*256+e[t+l],l+=d,f-=8);for(s=o&(1<<-f)-1,o>>=-f,f+=n;f>0;s=s*256+e[t+l],l+=d,f-=8);if(o===0)o=1-u;else{if(o===c)return s?NaN:(p?-1:1)*(1/0);s=s+Math.pow(2,n),o=o-u}return(p?-1:1)*s*Math.pow(2,o-n)};uo.write=function(e,t,r,n,i,o){var s,a,c,u=o*8-i-1,f=(1<<u)-1,l=f>>1,d=i===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:o-1,h=n?1:-1,y=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(a=isNaN(t)?1:0,s=f):(s=Math.floor(Math.log(t)/Math.LN2),t*(c=Math.pow(2,-s))<1&&(s--,c*=2),s+l>=1?t+=d/c:t+=d*Math.pow(2,1-l),t*c>=2&&(s++,c/=2),s+l>=f?(a=0,s=f):s+l>=1?(a=(t*c-1)*Math.pow(2,i),s=s+l):(a=t*Math.pow(2,l-1)*Math.pow(2,i),s=0));i>=8;e[r+p]=a&255,p+=h,a/=256,i-=8);for(s=s<<i|a,u+=i;u>0;e[r+p]=s&255,p+=h,s/=256,u-=8);e[r+p-h]|=y*128}});var da=D(mn=>{"use strict";var fo=Z2(),yn=X2(),j2=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;mn.Buffer=E;mn.SlowBuffer=Oc;mn.INSPECT_MAX_BYTES=50;var di=2147483647;mn.kMaxLength=di;E.TYPED_ARRAY_SUPPORT=Nc();!E.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function Nc(){try{let e=new Uint8Array(1),t={foo:function(){return 42}};return Object.setPrototypeOf(t,Uint8Array.prototype),Object.setPrototypeOf(e,t),e.foo()===42}catch{return!1}}Object.defineProperty(E.prototype,"parent",{enumerable:!0,get:function(){if(E.isBuffer(this))return this.buffer}});Object.defineProperty(E.prototype,"offset",{enumerable:!0,get:function(){if(E.isBuffer(this))return this.byteOffset}});function Xe(e){if(e>di)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,E.prototype),t}function E(e,t,r){if(typeof e=="number"){if(typeof t=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return yo(e)}return ra(e,t,r)}E.poolSize=8192;function ra(e,t,r){if(typeof e=="string")return Dc(e,t);if(ArrayBuffer.isView(e))return Fc(e);if(e==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);if(Re(e,ArrayBuffer)||e&&Re(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Re(e,SharedArrayBuffer)||e&&Re(e.buffer,SharedArrayBuffer)))return ho(e,t,r);if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let n=e.valueOf&&e.valueOf();if(n!=null&&n!==e)return E.from(n,t,r);let i=Uc(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return E.from(e[Symbol.toPrimitive]("string"),t,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e)}E.from=function(e,t,r){return ra(e,t,r)};Object.setPrototypeOf(E.prototype,Uint8Array.prototype);Object.setPrototypeOf(E,Uint8Array);function na(e){if(typeof e!="number")throw new TypeError('"size" argument must be of type number');if(e<0)throw new RangeError('The value "'+e+'" is invalid for option "size"')}function kc(e,t,r){return na(e),e<=0?Xe(e):t!==void 0?typeof r=="string"?Xe(e).fill(t,r):Xe(e).fill(t):Xe(e)}E.alloc=function(e,t,r){return kc(e,t,r)};function yo(e){return na(e),Xe(e<0?0:go(e)|0)}E.allocUnsafe=function(e){return yo(e)};E.allocUnsafeSlow=function(e){return yo(e)};function Dc(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!E.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=ia(e,t)|0,n=Xe(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function lo(e){let t=e.length<0?0:go(e.length)|0,r=Xe(t);for(let n=0;n<t;n+=1)r[n]=e[n]&255;return r}function Fc(e){if(Re(e,Uint8Array)){let t=new Uint8Array(e);return ho(t.buffer,t.byteOffset,t.byteLength)}return lo(e)}function ho(e,t,r){if(t<0||e.byteLength<t)throw new RangeError('"offset" is outside of buffer bounds');if(e.byteLength<t+(r||0))throw new RangeError('"length" is outside of buffer bounds');let n;return t===void 0&&r===void 0?n=new Uint8Array(e):r===void 0?n=new Uint8Array(e,t):n=new Uint8Array(e,t,r),Object.setPrototypeOf(n,E.prototype),n}function Uc(e){if(E.isBuffer(e)){let t=go(e.length)|0,r=Xe(t);return r.length===0||e.copy(r,0,0,t),r}if(e.length!==void 0)return typeof e.length!="number"||xo(e.length)?Xe(0):lo(e);if(e.type==="Buffer"&&Array.isArray(e.data))return lo(e.data)}function go(e){if(e>=di)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+di.toString(16)+" bytes");return e|0}function Oc(e){return+e!=e&&(e=0),E.alloc(+e)}E.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==E.prototype};E.compare=function(t,r){if(Re(t,Uint8Array)&&(t=E.from(t,t.offset,t.byteLength)),Re(r,Uint8Array)&&(r=E.from(r,r.offset,r.byteLength)),!E.isBuffer(t)||!E.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===r)return 0;let n=t.length,i=r.length;for(let o=0,s=Math.min(n,i);o<s;++o)if(t[o]!==r[o]){n=t[o],i=r[o];break}return n<i?-1:i<n?1:0};E.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}};E.concat=function(t,r){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(t.length===0)return E.alloc(0);let n;if(r===void 0)for(r=0,n=0;n<t.length;++n)r+=t[n].length;let i=E.allocUnsafe(r),o=0;for(n=0;n<t.length;++n){let s=t[n];if(Re(s,Uint8Array))o+s.length>i.length?(E.isBuffer(s)||(s=E.from(s)),s.copy(i,o)):Uint8Array.prototype.set.call(i,s,o);else if(E.isBuffer(s))s.copy(i,o);else throw new TypeError('"list" argument must be an Array of Buffers');o+=s.length}return i};function ia(e,t){if(E.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Re(e,ArrayBuffer))return e.byteLength;if(typeof e!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof e);let r=e.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;let i=!1;for(;;)switch(t){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return po(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return pa(e).length;default:if(i)return n?-1:po(e).length;t=(""+t).toLowerCase(),i=!0}}E.byteLength=ia;function Mc(e,t,r){let n=!1;if((t===void 0||t<0)&&(t=0),t>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,t>>>=0,r<=t))return"";for(e||(e="utf8");;)switch(e){case"hex":return Yc(this,t,r);case"utf8":case"utf-8":return sa(this,t,r);case"ascii":return Qc(this,t,r);case"latin1":case"binary":return Wc(this,t,r);case"base64":return Hc(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Zc(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}E.prototype._isBuffer=!0;function Mr(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}E.prototype.swap16=function(){let t=this.length;if(t%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;r<t;r+=2)Mr(this,r,r+1);return this};E.prototype.swap32=function(){let t=this.length;if(t%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let r=0;r<t;r+=4)Mr(this,r,r+3),Mr(this,r+1,r+2);return this};E.prototype.swap64=function(){let t=this.length;if(t%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let r=0;r<t;r+=8)Mr(this,r,r+7),Mr(this,r+1,r+6),Mr(this,r+2,r+5),Mr(this,r+3,r+4);return this};E.prototype.toString=function(){let t=this.length;return t===0?"":arguments.length===0?sa(this,0,t):Mc.apply(this,arguments)};E.prototype.toLocaleString=E.prototype.toString;E.prototype.equals=function(t){if(!E.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t?!0:E.compare(this,t)===0};E.prototype.inspect=function(){let t="",r=mn.INSPECT_MAX_BYTES;return t=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(t+=" ... "),"<Buffer "+t+">"};j2&&(E.prototype[j2]=E.prototype.inspect);E.prototype.compare=function(t,r,n,i,o){if(Re(t,Uint8Array)&&(t=E.from(t,t.offset,t.byteLength)),!E.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(r===void 0&&(r=0),n===void 0&&(n=t?t.length:0),i===void 0&&(i=0),o===void 0&&(o=this.length),r<0||n>t.length||i<0||o>this.length)throw new RangeError("out of range index");if(i>=o&&r>=n)return 0;if(i>=o)return-1;if(r>=n)return 1;if(r>>>=0,n>>>=0,i>>>=0,o>>>=0,this===t)return 0;let s=o-i,a=n-r,c=Math.min(s,a),u=this.slice(i,o),f=t.slice(r,n);for(let l=0;l<c;++l)if(u[l]!==f[l]){s=u[l],a=f[l];break}return s<a?-1:a<s?1:0};function oa(e,t,r,n,i){if(e.length===0)return-1;if(typeof r=="string"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,xo(r)&&(r=i?0:e.length-1),r<0&&(r=e.length+r),r>=e.length){if(i)return-1;r=e.length-1}else if(r<0)if(i)r=0;else return-1;if(typeof t=="string"&&(t=E.from(t,n)),E.isBuffer(t))return t.length===0?-1:J2(e,t,r,n,i);if(typeof t=="number")return t=t&255,typeof Uint8Array.prototype.indexOf=="function"?i?Uint8Array.prototype.indexOf.call(e,t,r):Uint8Array.prototype.lastIndexOf.call(e,t,r):J2(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function J2(e,t,r,n,i){let o=1,s=e.length,a=t.length;if(n!==void 0&&(n=String(n).toLowerCase(),n==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(e.length<2||t.length<2)return-1;o=2,s/=2,a/=2,r/=2}function c(f,l){return o===1?f[l]:f.readUInt16BE(l*o)}let u;if(i){let f=-1;for(u=r;u<s;u++)if(c(e,u)===c(t,f===-1?0:u-f)){if(f===-1&&(f=u),u-f+1===a)return f*o}else f!==-1&&(u-=u-f),f=-1}else for(r+a>s&&(r=s-a),u=r;u>=0;u--){let f=!0;for(let l=0;l<a;l++)if(c(e,u+l)!==c(t,l)){f=!1;break}if(f)return u}return-1}E.prototype.includes=function(t,r,n){return this.indexOf(t,r,n)!==-1};E.prototype.indexOf=function(t,r,n){return oa(this,t,r,n,!0)};E.prototype.lastIndexOf=function(t,r,n){return oa(this,t,r,n,!1)};function Kc(e,t,r,n){r=Number(r)||0;let i=e.length-r;n?(n=Number(n),n>i&&(n=i)):n=i;let o=t.length;n>o/2&&(n=o/2);let s;for(s=0;s<n;++s){let a=parseInt(t.substr(s*2,2),16);if(xo(a))return s;e[r+s]=a}return s}function Vc(e,t,r,n){return yi(po(t,e.length-r),e,r,n)}function qc(e,t,r,n){return yi(tu(t),e,r,n)}function zc(e,t,r,n){return yi(pa(t),e,r,n)}function $c(e,t,r,n){return yi(eu(t,e.length-r),e,r,n)}E.prototype.write=function(t,r,n,i){if(r===void 0)i="utf8",n=this.length,r=0;else if(n===void 0&&typeof r=="string")i=r,n=this.length,r=0;else if(isFinite(r))r=r>>>0,isFinite(n)?(n=n>>>0,i===void 0&&(i="utf8")):(i=n,n=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let o=this.length-r;if((n===void 0||n>o)&&(n=o),t.length>0&&(n<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return Kc(this,t,r,n);case"utf8":case"utf-8":return Vc(this,t,r,n);case"ascii":case"latin1":case"binary":return qc(this,t,r,n);case"base64":return zc(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return $c(this,t,r,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}};E.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Hc(e,t,r){return t===0&&r===e.length?fo.fromByteArray(e):fo.fromByteArray(e.slice(t,r))}function sa(e,t,r){r=Math.min(e.length,r);let n=[],i=t;for(;i<r;){let o=e[i],s=null,a=o>239?4:o>223?3:o>191?2:1;if(i+a<=r){let c,u,f,l;switch(a){case 1:o<128&&(s=o);break;case 2:c=e[i+1],(c&192)===128&&(l=(o&31)<<6|c&63,l>127&&(s=l));break;case 3:c=e[i+1],u=e[i+2],(c&192)===128&&(u&192)===128&&(l=(o&15)<<12|(c&63)<<6|u&63,l>2047&&(l<55296||l>57343)&&(s=l));break;case 4:c=e[i+1],u=e[i+2],f=e[i+3],(c&192)===128&&(u&192)===128&&(f&192)===128&&(l=(o&15)<<18|(c&63)<<12|(u&63)<<6|f&63,l>65535&&l<1114112&&(s=l))}}s===null?(s=65533,a=1):s>65535&&(s-=65536,n.push(s>>>10&1023|55296),s=56320|s&1023),n.push(s),i+=a}return Gc(n)}var ta=4096;function Gc(e){let t=e.length;if(t<=ta)return String.fromCharCode.apply(String,e);let r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=ta));return r}function Qc(e,t,r){let n="";r=Math.min(e.length,r);for(let i=t;i<r;++i)n+=String.fromCharCode(e[i]&127);return n}function Wc(e,t,r){let n="";r=Math.min(e.length,r);for(let i=t;i<r;++i)n+=String.fromCharCode(e[i]);return n}function Yc(e,t,r){let n=e.length;(!t||t<0)&&(t=0),(!r||r<0||r>n)&&(r=n);let i="";for(let o=t;o<r;++o)i+=ru[e[o]];return i}function Zc(e,t,r){let n=e.slice(t,r),i="";for(let o=0;o<n.length-1;o+=2)i+=String.fromCharCode(n[o]+n[o+1]*256);return i}E.prototype.slice=function(t,r){let n=this.length;t=~~t,r=r===void 0?n:~~r,t<0?(t+=n,t<0&&(t=0)):t>n&&(t=n),r<0?(r+=n,r<0&&(r=0)):r>n&&(r=n),r<t&&(r=t);let i=this.subarray(t,r);return Object.setPrototypeOf(i,E.prototype),i};function kt(e,t,r){if(e%1!==0||e<0)throw new RangeError("offset is not uint");if(e+t>r)throw new RangeError("Trying to access beyond buffer length")}E.prototype.readUintLE=E.prototype.readUIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||kt(t,r,this.length);let i=this[t],o=1,s=0;for(;++s<r&&(o*=256);)i+=this[t+s]*o;return i};E.prototype.readUintBE=E.prototype.readUIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||kt(t,r,this.length);let i=this[t+--r],o=1;for(;r>0&&(o*=256);)i+=this[t+--r]*o;return i};E.prototype.readUint8=E.prototype.readUInt8=function(t,r){return t=t>>>0,r||kt(t,1,this.length),this[t]};E.prototype.readUint16LE=E.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||kt(t,2,this.length),this[t]|this[t+1]<<8};E.prototype.readUint16BE=E.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||kt(t,2,this.length),this[t]<<8|this[t+1]};E.prototype.readUint32LE=E.prototype.readUInt32LE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+this[t+3]*16777216};E.prototype.readUint32BE=E.prototype.readUInt32BE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),this[t]*16777216+(this[t+1]<<16|this[t+2]<<8|this[t+3])};E.prototype.readBigUInt64LE=gr(function(t){t=t>>>0,gn(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&c0(t,this.length-8);let i=r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24,o=this[++t]+this[++t]*2**8+this[++t]*2**16+n*2**24;return BigInt(i)+(BigInt(o)<<BigInt(32))});E.prototype.readBigUInt64BE=gr(function(t){t=t>>>0,gn(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&c0(t,this.length-8);let i=r*2**24+this[++t]*2**16+this[++t]*2**8+this[++t],o=this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n;return(BigInt(i)<<BigInt(32))+BigInt(o)});E.prototype.readIntLE=function(t,r,n){t=t>>>0,r=r>>>0,n||kt(t,r,this.length);let i=this[t],o=1,s=0;for(;++s<r&&(o*=256);)i+=this[t+s]*o;return o*=128,i>=o&&(i-=Math.pow(2,8*r)),i};E.prototype.readIntBE=function(t,r,n){t=t>>>0,r=r>>>0,n||kt(t,r,this.length);let i=r,o=1,s=this[t+--i];for(;i>0&&(o*=256);)s+=this[t+--i]*o;return o*=128,s>=o&&(s-=Math.pow(2,8*r)),s};E.prototype.readInt8=function(t,r){return t=t>>>0,r||kt(t,1,this.length),this[t]&128?(255-this[t]+1)*-1:this[t]};E.prototype.readInt16LE=function(t,r){t=t>>>0,r||kt(t,2,this.length);let n=this[t]|this[t+1]<<8;return n&32768?n|4294901760:n};E.prototype.readInt16BE=function(t,r){t=t>>>0,r||kt(t,2,this.length);let n=this[t+1]|this[t]<<8;return n&32768?n|4294901760:n};E.prototype.readInt32LE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24};E.prototype.readInt32BE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]};E.prototype.readBigInt64LE=gr(function(t){t=t>>>0,gn(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&c0(t,this.length-8);let i=this[t+4]+this[t+5]*2**8+this[t+6]*2**16+(n<<24);return(BigInt(i)<<BigInt(32))+BigInt(r+this[++t]*2**8+this[++t]*2**16+this[++t]*2**24)});E.prototype.readBigInt64BE=gr(function(t){t=t>>>0,gn(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&c0(t,this.length-8);let i=(r<<24)+this[++t]*2**16+this[++t]*2**8+this[++t];return(BigInt(i)<<BigInt(32))+BigInt(this[++t]*2**24+this[++t]*2**16+this[++t]*2**8+n)});E.prototype.readFloatLE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),yn.read(this,t,!0,23,4)};E.prototype.readFloatBE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),yn.read(this,t,!1,23,4)};E.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||kt(t,8,this.length),yn.read(this,t,!0,52,8)};E.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||kt(t,8,this.length),yn.read(this,t,!1,52,8)};function Wt(e,t,r,n,i,o){if(!E.isBuffer(e))throw new TypeError('"buffer" argument must be a Buffer instance');if(t>i||t<o)throw new RangeError('"value" argument is out of bounds');if(r+n>e.length)throw new RangeError("Index out of range")}E.prototype.writeUintLE=E.prototype.writeUIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let a=Math.pow(2,8*n)-1;Wt(this,t,r,n,a,0)}let o=1,s=0;for(this[r]=t&255;++s<n&&(o*=256);)this[r+s]=t/o&255;return r+n};E.prototype.writeUintBE=E.prototype.writeUIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,n=n>>>0,!i){let a=Math.pow(2,8*n)-1;Wt(this,t,r,n,a,0)}let o=n-1,s=1;for(this[r+o]=t&255;--o>=0&&(s*=256);)this[r+o]=t/s&255;return r+n};E.prototype.writeUint8=E.prototype.writeUInt8=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,1,255,0),this[r]=t&255,r+1};E.prototype.writeUint16LE=E.prototype.writeUInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,2,65535,0),this[r]=t&255,this[r+1]=t>>>8,r+2};E.prototype.writeUint16BE=E.prototype.writeUInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,2,65535,0),this[r]=t>>>8,this[r+1]=t&255,r+2};E.prototype.writeUint32LE=E.prototype.writeUInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,4,4294967295,0),this[r+3]=t>>>24,this[r+2]=t>>>16,this[r+1]=t>>>8,this[r]=t&255,r+4};E.prototype.writeUint32BE=E.prototype.writeUInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,4,4294967295,0),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};function aa(e,t,r,n,i){ha(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o,o=o>>8,e[r++]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,s=s>>8,e[r++]=s,r}function ca(e,t,r,n,i){ha(t,n,i,e,r,7);let o=Number(t&BigInt(4294967295));e[r+7]=o,o=o>>8,e[r+6]=o,o=o>>8,e[r+5]=o,o=o>>8,e[r+4]=o;let s=Number(t>>BigInt(32)&BigInt(4294967295));return e[r+3]=s,s=s>>8,e[r+2]=s,s=s>>8,e[r+1]=s,s=s>>8,e[r]=s,r+8}E.prototype.writeBigUInt64LE=gr(function(t,r=0){return aa(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});E.prototype.writeBigUInt64BE=gr(function(t,r=0){return ca(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});E.prototype.writeIntLE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let c=Math.pow(2,8*n-1);Wt(this,t,r,n,c-1,-c)}let o=0,s=1,a=0;for(this[r]=t&255;++o<n&&(s*=256);)t<0&&a===0&&this[r+o-1]!==0&&(a=1),this[r+o]=(t/s>>0)-a&255;return r+n};E.prototype.writeIntBE=function(t,r,n,i){if(t=+t,r=r>>>0,!i){let c=Math.pow(2,8*n-1);Wt(this,t,r,n,c-1,-c)}let o=n-1,s=1,a=0;for(this[r+o]=t&255;--o>=0&&(s*=256);)t<0&&a===0&&this[r+o+1]!==0&&(a=1),this[r+o]=(t/s>>0)-a&255;return r+n};E.prototype.writeInt8=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,1,127,-128),t<0&&(t=255+t+1),this[r]=t&255,r+1};E.prototype.writeInt16LE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,2,32767,-32768),this[r]=t&255,this[r+1]=t>>>8,r+2};E.prototype.writeInt16BE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,2,32767,-32768),this[r]=t>>>8,this[r+1]=t&255,r+2};E.prototype.writeInt32LE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,4,2147483647,-2147483648),this[r]=t&255,this[r+1]=t>>>8,this[r+2]=t>>>16,this[r+3]=t>>>24,r+4};E.prototype.writeInt32BE=function(t,r,n){return t=+t,r=r>>>0,n||Wt(this,t,r,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[r]=t>>>24,this[r+1]=t>>>16,this[r+2]=t>>>8,this[r+3]=t&255,r+4};E.prototype.writeBigInt64LE=gr(function(t,r=0){return aa(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});E.prototype.writeBigInt64BE=gr(function(t,r=0){return ca(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ua(e,t,r,n,i,o){if(r+n>e.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function fa(e,t,r,n,i){return t=+t,r=r>>>0,i||ua(e,t,r,4,34028234663852886e22,-34028234663852886e22),yn.write(e,t,r,n,23,4),r+4}E.prototype.writeFloatLE=function(t,r,n){return fa(this,t,r,!0,n)};E.prototype.writeFloatBE=function(t,r,n){return fa(this,t,r,!1,n)};function la(e,t,r,n,i){return t=+t,r=r>>>0,i||ua(e,t,r,8,17976931348623157e292,-17976931348623157e292),yn.write(e,t,r,n,52,8),r+8}E.prototype.writeDoubleLE=function(t,r,n){return la(this,t,r,!0,n)};E.prototype.writeDoubleBE=function(t,r,n){return la(this,t,r,!1,n)};E.prototype.copy=function(t,r,n,i){if(!E.isBuffer(t))throw new TypeError("argument should be a Buffer");if(n||(n=0),!i&&i!==0&&(i=this.length),r>=t.length&&(r=t.length),r||(r=0),i>0&&i<n&&(i=n),i===n||t.length===0||this.length===0)return 0;if(r<0)throw new RangeError("targetStart out of bounds");if(n<0||n>=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-r<i-n&&(i=t.length-r+n);let o=i-n;return this===t&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(r,n,i):Uint8Array.prototype.set.call(t,this.subarray(n,i),r),o};E.prototype.fill=function(t,r,n,i){if(typeof t=="string"){if(typeof r=="string"?(i=r,r=0,n=this.length):typeof n=="string"&&(i=n,n=this.length),i!==void 0&&typeof i!="string")throw new TypeError("encoding must be a string");if(typeof i=="string"&&!E.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(t.length===1){let s=t.charCodeAt(0);(i==="utf8"&&s<128||i==="latin1")&&(t=s)}}else typeof t=="number"?t=t&255:typeof t=="boolean"&&(t=Number(t));if(r<0||this.length<r||this.length<n)throw new RangeError("Out of range index");if(n<=r)return this;r=r>>>0,n=n===void 0?this.length:n>>>0,t||(t=0);let o;if(typeof t=="number")for(o=r;o<n;++o)this[o]=t;else{let s=E.isBuffer(t)?t:E.from(t,i),a=s.length;if(a===0)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(o=0;o<n-r;++o)this[o+r]=s[o%a]}return this};var dn={};function mo(e,t,r){dn[e]=class extends r{constructor(){super(),Object.defineProperty(this,"message",{value:t.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${e}]`,this.stack,delete this.name}get code(){return e}set code(i){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:i,writable:!0})}toString(){return`${this.name} [${e}]: ${this.message}`}}}mo("ERR_BUFFER_OUT_OF_BOUNDS",function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError);mo("ERR_INVALID_ARG_TYPE",function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`},TypeError);mo("ERR_OUT_OF_RANGE",function(e,t,r){let n=`The value of "${e}" is out of range.`,i=r;return Number.isInteger(r)&&Math.abs(r)>2**32?i=ea(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=ea(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function ea(e){let t="",r=e.length,n=e[0]==="-"?1:0;for(;r>=n+4;r-=3)t=`_${e.slice(r-3,r)}${t}`;return`${e.slice(0,r)}${t}`}function Xc(e,t,r){gn(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&c0(t,e.length-(r+1))}function ha(e,t,r,n,i,o){if(e>r||e<t){let s=typeof t=="bigint"?"n":"",a;throw o>3?t===0||t===BigInt(0)?a=`>= 0${s} and < 2${s} ** ${(o+1)*8}${s}`:a=`>= -(2${s} ** ${(o+1)*8-1}${s}) and < 2 ** ${(o+1)*8-1}${s}`:a=`>= ${t}${s} and <= ${r}${s}`,new dn.ERR_OUT_OF_RANGE("value",a,e)}Xc(n,i,o)}function gn(e,t){if(typeof e!="number")throw new dn.ERR_INVALID_ARG_TYPE(t,"number",e)}function c0(e,t,r){throw Math.floor(e)!==e?(gn(e,r),new dn.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new dn.ERR_BUFFER_OUT_OF_BOUNDS:new dn.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var jc=/[^+/0-9A-Za-z-_]/g;function Jc(e){if(e=e.split("=")[0],e=e.trim().replace(jc,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function po(e,t){t=t||1/0;let r,n=e.length,i=null,o=[];for(let s=0;s<n;++s){if(r=e.charCodeAt(s),r>55295&&r<57344){if(!i){if(r>56319){(t-=3)>-1&&o.push(239,191,189);continue}else if(s+1===n){(t-=3)>-1&&o.push(239,191,189);continue}i=r;continue}if(r<56320){(t-=3)>-1&&o.push(239,191,189),i=r;continue}r=(i-55296<<10|r-56320)+65536}else i&&(t-=3)>-1&&o.push(239,191,189);if(i=null,r<128){if((t-=1)<0)break;o.push(r)}else if(r<2048){if((t-=2)<0)break;o.push(r>>6|192,r&63|128)}else if(r<65536){if((t-=3)<0)break;o.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((t-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return o}function tu(e){let t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function eu(e,t){let r,n,i,o=[];for(let s=0;s<e.length&&!((t-=2)<0);++s)r=e.charCodeAt(s),n=r>>8,i=r%256,o.push(i),o.push(n);return o}function pa(e){return fo.toByteArray(Jc(e))}function yi(e,t,r,n){let i;for(i=0;i<n&&!(i+r>=t.length||i>=e.length);++i)t[i+r]=e[i];return i}function Re(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function xo(e){return e!==e}var ru=function(){let e="0123456789abcdef",t=new Array(256);for(let r=0;r<16;++r){let n=r*16;for(let i=0;i<16;++i)t[n+i]=e[r]+e[i]}return t}();function gr(e){return typeof BigInt>"u"?nu:e}function nu(){throw new Error("BigInt not supported")}});var ma=D((vo,ga)=>{var gi=da(),Pe=gi.Buffer;function ya(e,t){for(var r in e)t[r]=e[r]}Pe.from&&Pe.alloc&&Pe.allocUnsafe&&Pe.allocUnsafeSlow?ga.exports=gi:(ya(gi,vo),vo.Buffer=Kr);function Kr(e,t,r){return Pe(e,t,r)}Kr.prototype=Object.create(Pe.prototype);ya(Pe,Kr);Kr.from=function(e,t,r){if(typeof e=="number")throw new TypeError("Argument must not be a number");return Pe(e,t,r)};Kr.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError("Argument must be a number");var n=Pe(e);return t!==void 0?typeof r=="string"?n.fill(t,r):n.fill(t):n.fill(0),n};Kr.allocUnsafe=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return Pe(e)};Kr.allocUnsafeSlow=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return gi.SlowBuffer(e)}});var xa=D((Ed,bo)=>{"use strict";var wo=65536,iu=4294967295;function ou(){throw new Error(`Secure random number generation is not supported by this browser.
|
|
3
|
+
Use Chrome, Firefox or Internet Explorer 11`)}var su=ma().Buffer,mi=globalThis.crypto||globalThis.msCrypto;mi&&mi.getRandomValues?bo.exports=au:bo.exports=ou;function au(e,t){if(e>iu)throw new RangeError("requested too many random bytes");var r=su.allocUnsafe(e);if(e>0)if(e>wo)for(var n=0;n<e;n+=wo)mi.getRandomValues(r.slice(n,n+wo));else mi.getRandomValues(r);return typeof t=="function"?process.nextTick(function(){t(null,r)}):r}});var wi=D((Sd,Eo)=>{"use strict";var xn=typeof Reflect=="object"?Reflect:null,va=xn&&typeof xn.apply=="function"?xn.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},xi;xn&&typeof xn.ownKeys=="function"?xi=xn.ownKeys:Object.getOwnPropertySymbols?xi=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:xi=function(t){return Object.getOwnPropertyNames(t)};function cu(e){console&&console.warn&&console.warn(e)}var ba=Number.isNaN||function(t){return t!==t};function it(){it.init.call(this)}Eo.exports=it;Eo.exports.once=hu;it.EventEmitter=it;it.prototype._events=void 0;it.prototype._eventsCount=0;it.prototype._maxListeners=void 0;var wa=10;function vi(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(it,"defaultMaxListeners",{enumerable:!0,get:function(){return wa},set:function(e){if(typeof e!="number"||e<0||ba(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");wa=e}});it.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};it.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||ba(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this};function Ea(e){return e._maxListeners===void 0?it.defaultMaxListeners:e._maxListeners}it.prototype.getMaxListeners=function(){return Ea(this)};it.prototype.emit=function(t){for(var r=[],n=1;n<arguments.length;n++)r.push(arguments[n]);var i=t==="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[t];if(c===void 0)return!1;if(typeof c=="function")va(c,this,r);else for(var u=c.length,f=Ca(c,u),n=0;n<u;++n)va(f[n],this,r);return!0};function Sa(e,t,r,n){var i,o,s;if(vi(r),o=e._events,o===void 0?(o=e._events=Object.create(null),e._eventsCount=0):(o.newListener!==void 0&&(e.emit("newListener",t,r.listener?r.listener:r),o=e._events),s=o[t]),s===void 0)s=o[t]=r,++e._eventsCount;else if(typeof s=="function"?s=o[t]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),i=Ea(e),i>0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(t)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=e,a.type=t,a.count=s.length,cu(a)}return e}it.prototype.addListener=function(t,r){return Sa(this,t,r,!1)};it.prototype.on=it.prototype.addListener;it.prototype.prependListener=function(t,r){return Sa(this,t,r,!0)};function uu(){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 Aa(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=uu.bind(n);return i.listener=r,n.wrapFn=i,i}it.prototype.once=function(t,r){return vi(r),this.on(t,Aa(this,t,r)),this};it.prototype.prependOnceListener=function(t,r){return vi(r),this.prependListener(t,Aa(this,t,r)),this};it.prototype.removeListener=function(t,r){var n,i,o,s,a;if(vi(r),i=this._events,i===void 0)return this;if(n=i[t],n===void 0)return this;if(n===r||n.listener===r)--this._eventsCount===0?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,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():fu(n,o),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||r)}return this};it.prototype.off=it.prototype.removeListener;it.prototype.removeAllListeners=function(t){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[t]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[t]),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[t],typeof r=="function")this.removeListener(t,r);else if(r!==void 0)for(i=r.length-1;i>=0;i--)this.removeListener(t,r[i]);return this};function Ba(e,t,r){var n=e._events;if(n===void 0)return[];var i=n[t];return i===void 0?[]:typeof i=="function"?r?[i.listener||i]:[i]:r?lu(i):Ca(i,i.length)}it.prototype.listeners=function(t){return Ba(this,t,!0)};it.prototype.rawListeners=function(t){return Ba(this,t,!1)};it.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):Ia.call(e,t)};it.prototype.listenerCount=Ia;function Ia(e){var t=this._events;if(t!==void 0){var r=t[e];if(typeof r=="function")return 1;if(r!==void 0)return r.length}return 0}it.prototype.eventNames=function(){return this._eventsCount>0?xi(this._events):[]};function Ca(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function fu(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function lu(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function hu(e,t){return new Promise(function(r,n){function i(s){e.removeListener(t,o),n(s)}function o(){typeof e.removeListener=="function"&&e.removeListener("error",i),r([].slice.call(arguments))}_a(e,t,o,{once:!0}),t!=="error"&&pu(e,i,{once:!0})})}function pu(e,t,r){typeof e.on=="function"&&_a(e,"error",t,r)}function _a(e,t,r,n){if(typeof e.on=="function")n.once?e.once(t,r):e.on(t,r);else if(typeof e.addEventListener=="function")e.addEventListener(t,function i(o){n.once&&e.removeEventListener(t,i),r(o)});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof e)}});var Pa=D((Ad,Ra)=>{"use strict";var du=xa(),{EventEmitter:yu}=wi();function Ta(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let r=0,n=e.length;r<n;++r)if(e[r]!==t[r])return!1;return!0}function So(){return{contacts:[],dontSplit:!1,left:null,right:null}}function u0(e,t){if(!(t instanceof Uint8Array))throw new TypeError(e+" is not a Uint8Array")}var vn=class extends yu{constructor(t={}){super(),this.localNodeId=t.localNodeId||du(20),this.numberOfNodesPerKBucket=t.numberOfNodesPerKBucket||20,this.numberOfNodesToPing=t.numberOfNodesToPing||3,this.distance=t.distance||vn.distance,this.arbiter=t.arbiter||vn.arbiter,this.metadata=Object.assign({},t.metadata),u0("option.localNodeId as parameter 1",this.localNodeId),this.root=So()}static arbiter(t,r){return t.vectorClock>r.vectorClock?t:r}static distance(t,r){let n=0,i=0,o=Math.min(t.length,r.length),s=Math.max(t.length,r.length);for(;i<o;++i)n=n*256+(t[i]^r[i]);for(;i<s;++i)n=n*256+255;return n}add(t){u0("contact.id",(t||{}).id);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,t.id,r++);let i=this._indexOf(n,t.id);return i>=0?(this._update(n,i,t),this):n.contacts.length<this.numberOfNodesPerKBucket?(n.contacts.push(t),this.emit("added",t),this):n.dontSplit?(this.emit("ping",n.contacts.slice(0,this.numberOfNodesToPing),t),this):(this._split(n,r),this.add(t))}closest(t,r=1/0){if(u0("id",t),!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.contacts===null){let a=this._determineNode(s,t,o++);i.push(s.left===a?s.right:s.left),i.push(a)}else n=n.concat(s.contacts)}return n.map(i=>[this.distance(i.id,t),i]).sort((i,o)=>i[0]-o[0]).slice(0,r).map(i=>i[1])}count(){let t=0;for(let r=[this.root];r.length>0;){let n=r.pop();n.contacts===null?r.push(n.right,n.left):t+=n.contacts.length}return t}_determineNode(t,r,n){let i=n>>3,o=n%8;return r.length<=i&&o!==0?t.left:r[i]&1<<7-o?t.right:t.left}get(t){u0("id",t);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,t,r++);let i=this._indexOf(n,t);return i>=0?n.contacts[i]:null}_indexOf(t,r){for(let n=0;n<t.contacts.length;++n)if(Ta(t.contacts[n].id,r))return n;return-1}remove(t){u0("the id as parameter 1",t);let r=0,n=this.root;for(;n.contacts===null;)n=this._determineNode(n,t,r++);let i=this._indexOf(n,t);if(i>=0){let o=n.contacts.splice(i,1)[0];this.emit("removed",o)}return this}_split(t,r){t.left=So(),t.right=So();for(let o of t.contacts)this._determineNode(t,o.id,r).contacts.push(o);t.contacts=null;let n=this._determineNode(t,this.localNodeId,r),i=t.left===n?t.right:t.left;i.dontSplit=!0}toArray(){let t=[];for(let r=[this.root];r.length>0;){let n=r.pop();n.contacts===null?r.push(n.right,n.left):t=t.concat(n.contacts)}return t}*toIterable(){for(let t=[this.root];t.length>0;){let r=t.pop();r.contacts===null?t.push(r.right,r.left):yield*r.contacts}}_update(t,r,n){if(!Ta(t.contacts[r].id,n.id))throw new Error("wrong index for _update");let i=t.contacts[r],o=this.arbiter(i,n);o===i&&i!==n||(t.contacts.splice(r,1),t.contacts.push(o),this.emit("updated",i,o))}};Ra.exports=vn});var e3=D((Ey,t3)=>{"use strict";t3.exports=Bf;function Bf(e,t){for(var r=new Array(arguments.length-1),n=0,i=2,o=!0;i<arguments.length;)r[n++]=arguments[i++];return new Promise(function(a,c){r[n]=function(f){if(o)if(o=!1,f)c(f);else{for(var l=new Array(arguments.length-1),d=0;d<l.length;)l[d++]=arguments[d];a.apply(null,l)}};try{e.apply(t||null,r)}catch(u){o&&(o=!1,c(u))}})}});var o3=D(i3=>{"use strict";var Ai=i3;Ai.length=function(t){var r=t.length;if(!r)return 0;for(var n=0;--r%4>1&&t.charAt(r)==="=";)++n;return Math.ceil(t.length*3)/4-n};var An=new Array(64),n3=new Array(123);for(me=0;me<64;)n3[An[me]=me<26?me+65:me<52?me+71:me<62?me-4:me-59|43]=me++;var me;Ai.encode=function(t,r,n){for(var i=null,o=[],s=0,a=0,c;r<n;){var u=t[r++];switch(a){case 0:o[s++]=An[u>>2],c=(u&3)<<4,a=1;break;case 1:o[s++]=An[c|u>>4],c=(u&15)<<2,a=2;break;case 2:o[s++]=An[c|u>>6],o[s++]=An[u&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=An[c],o[s++]=61,a===1&&(o[s++]=61)),i?(s&&i.push(String.fromCharCode.apply(String,o.slice(0,s))),i.join("")):String.fromCharCode.apply(String,o.slice(0,s))};var r3="invalid encoding";Ai.decode=function(t,r,n){for(var i=n,o=0,s,a=0;a<t.length;){var c=t.charCodeAt(a++);if(c===61&&o>1)break;if((c=n3[c])===void 0)throw Error(r3);switch(o){case 0:s=c,o=1;break;case 1:r[n++]=s<<2|(c&48)>>4,s=c,o=2;break;case 2:r[n++]=(s&15)<<4|(c&60)>>2,s=c,o=3;break;case 3:r[n++]=(s&3)<<6|c,o=0;break}}if(o===1)throw Error(r3);return n-i};Ai.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}});var a3=D((Ay,s3)=>{"use strict";s3.exports=Bi;function Bi(){this._listeners={}}Bi.prototype.on=function(t,r,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:r,ctx:n||this}),this};Bi.prototype.off=function(t,r){if(t===void 0)this._listeners={};else if(r===void 0)this._listeners[t]=[];else for(var n=this._listeners[t],i=0;i<n.length;)n[i].fn===r?n.splice(i,1):++i;return this};Bi.prototype.emit=function(t){var r=this._listeners[t];if(r){for(var n=[],i=1;i<arguments.length;)n.push(arguments[i++]);for(i=0;i<r.length;)r[i].fn.apply(r[i++].ctx,n)}return this}});var d3=D((By,p3)=>{"use strict";p3.exports=c3(c3);function c3(e){return typeof Float32Array<"u"?function(){var t=new Float32Array([-0]),r=new Uint8Array(t.buffer),n=r[3]===128;function i(c,u,f){t[0]=c,u[f]=r[0],u[f+1]=r[1],u[f+2]=r[2],u[f+3]=r[3]}function o(c,u,f){t[0]=c,u[f]=r[3],u[f+1]=r[2],u[f+2]=r[1],u[f+3]=r[0]}e.writeFloatLE=n?i:o,e.writeFloatBE=n?o:i;function s(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],t[0]}function a(c,u){return r[3]=c[u],r[2]=c[u+1],r[1]=c[u+2],r[0]=c[u+3],t[0]}e.readFloatLE=n?s:a,e.readFloatBE=n?a:s}():function(){function t(n,i,o,s){var a=i<0?1:0;if(a&&(i=-i),i===0)n(1/i>0?0:2147483648,o,s);else if(isNaN(i))n(2143289344,o,s);else if(i>34028234663852886e22)n((a<<31|2139095040)>>>0,o,s);else if(i<11754943508222875e-54)n((a<<31|Math.round(i/1401298464324817e-60))>>>0,o,s);else{var c=Math.floor(Math.log(i)/Math.LN2),u=Math.round(i*Math.pow(2,-c)*8388608)&8388607;n((a<<31|c+127<<23|u)>>>0,o,s)}}e.writeFloatLE=t.bind(null,u3),e.writeFloatBE=t.bind(null,f3);function r(n,i,o){var s=n(i,o),a=(s>>31)*2+1,c=s>>>23&255,u=s&8388607;return c===255?u?NaN:a*(1/0):c===0?a*1401298464324817e-60*u:a*Math.pow(2,c-150)*(u+8388608)}e.readFloatLE=r.bind(null,l3),e.readFloatBE=r.bind(null,h3)}(),typeof Float64Array<"u"?function(){var t=new Float64Array([-0]),r=new Uint8Array(t.buffer),n=r[7]===128;function i(c,u,f){t[0]=c,u[f]=r[0],u[f+1]=r[1],u[f+2]=r[2],u[f+3]=r[3],u[f+4]=r[4],u[f+5]=r[5],u[f+6]=r[6],u[f+7]=r[7]}function o(c,u,f){t[0]=c,u[f]=r[7],u[f+1]=r[6],u[f+2]=r[5],u[f+3]=r[4],u[f+4]=r[3],u[f+5]=r[2],u[f+6]=r[1],u[f+7]=r[0]}e.writeDoubleLE=n?i:o,e.writeDoubleBE=n?o:i;function s(c,u){return r[0]=c[u],r[1]=c[u+1],r[2]=c[u+2],r[3]=c[u+3],r[4]=c[u+4],r[5]=c[u+5],r[6]=c[u+6],r[7]=c[u+7],t[0]}function a(c,u){return r[7]=c[u],r[6]=c[u+1],r[5]=c[u+2],r[4]=c[u+3],r[3]=c[u+4],r[2]=c[u+5],r[1]=c[u+6],r[0]=c[u+7],t[0]}e.readDoubleLE=n?s:a,e.readDoubleBE=n?a:s}():function(){function t(n,i,o,s,a,c){var u=s<0?1:0;if(u&&(s=-s),s===0)n(0,a,c+i),n(1/s>0?0:2147483648,a,c+o);else if(isNaN(s))n(0,a,c+i),n(2146959360,a,c+o);else if(s>17976931348623157e292)n(0,a,c+i),n((u<<31|2146435072)>>>0,a,c+o);else{var f;if(s<22250738585072014e-324)f=s/5e-324,n(f>>>0,a,c+i),n((u<<31|f/4294967296)>>>0,a,c+o);else{var l=Math.floor(Math.log(s)/Math.LN2);l===1024&&(l=1023),f=s*Math.pow(2,-l),n(f*4503599627370496>>>0,a,c+i),n((u<<31|l+1023<<20|f*1048576&1048575)>>>0,a,c+o)}}}e.writeDoubleLE=t.bind(null,u3,0,4),e.writeDoubleBE=t.bind(null,f3,4,0);function r(n,i,o,s,a){var c=n(s,a+i),u=n(s,a+o),f=(u>>31)*2+1,l=u>>>20&2047,d=4294967296*(u&1048575)+c;return l===2047?d?NaN:f*(1/0):l===0?f*5e-324*d:f*Math.pow(2,l-1075)*(d+4503599627370496)}e.readDoubleLE=r.bind(null,l3,0,4),e.readDoubleBE=r.bind(null,h3,4,0)}(),e}function u3(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}function f3(e,t,r){t[r]=e>>>24,t[r+1]=e>>>16&255,t[r+2]=e>>>8&255,t[r+3]=e&255}function l3(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function h3(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}});var y3=D((exports,module)=>{"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}});var m3=D(g3=>{"use strict";var Ho=g3;Ho.length=function(t){for(var r=0,n=0,i=0;i<t.length;++i)n=t.charCodeAt(i),n<128?r+=1:n<2048?r+=2:(n&64512)===55296&&(t.charCodeAt(i+1)&64512)===56320?(++i,r+=4):r+=3;return r};Ho.read=function(t,r,n){var i=n-r;if(i<1)return"";for(var o=null,s=[],a=0,c;r<n;)c=t[r++],c<128?s[a++]=c:c>191&&c<224?s[a++]=(c&31)<<6|t[r++]&63:c>239&&c<365?(c=((c&7)<<18|(t[r++]&63)<<12|(t[r++]&63)<<6|t[r++]&63)-65536,s[a++]=55296+(c>>10),s[a++]=56320+(c&1023)):s[a++]=(c&15)<<12|(t[r++]&63)<<6|t[r++]&63,a>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,s)),a=0);return o?(a&&o.push(String.fromCharCode.apply(String,s.slice(0,a))),o.join("")):String.fromCharCode.apply(String,s.slice(0,a))};Ho.write=function(t,r,n){for(var i=n,o,s,a=0;a<t.length;++a)o=t.charCodeAt(a),o<128?r[n++]=o:o<2048?(r[n++]=o>>6|192,r[n++]=o&63|128):(o&64512)===55296&&((s=t.charCodeAt(a+1))&64512)===56320?(o=65536+((o&1023)<<10)+(s&1023),++a,r[n++]=o>>18|240,r[n++]=o>>12&63|128,r[n++]=o>>6&63|128,r[n++]=o&63|128):(r[n++]=o>>12|224,r[n++]=o>>6&63|128,r[n++]=o&63|128);return n-i}});var v3=D((Cy,x3)=>{"use strict";x3.exports=If;function If(e,t,r){var n=r||8192,i=n>>>1,o=null,s=n;return function(c){if(c<1||c>i)return e(c);s+c>n&&(o=e(n),s=0);var u=t.call(o,s,s+=c);return s&7&&(s=(s|7)+1),u}}});var b3=D((_y,w3)=>{"use strict";w3.exports=Ft;var p0=Hr();function Ft(e,t){this.lo=e>>>0,this.hi=t>>>0}var $r=Ft.zero=new Ft(0,0);$r.toNumber=function(){return 0};$r.zzEncode=$r.zzDecode=function(){return this};$r.length=function(){return 1};var Cf=Ft.zeroHash="\0\0\0\0\0\0\0\0";Ft.fromNumber=function(t){if(t===0)return $r;var r=t<0;r&&(t=-t);var n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new Ft(n,i)};Ft.from=function(t){if(typeof t=="number")return Ft.fromNumber(t);if(p0.isString(t))if(p0.Long)t=p0.Long.fromString(t);else return Ft.fromNumber(parseInt(t,10));return t.low||t.high?new Ft(t.low>>>0,t.high>>>0):$r};Ft.prototype.toNumber=function(t){if(!t&&this.hi>>>31){var r=~this.lo+1>>>0,n=~this.hi>>>0;return r||(n=n+1>>>0),-(r+n*4294967296)}return this.lo+this.hi*4294967296};Ft.prototype.toLong=function(t){return p0.Long?new p0.Long(this.lo|0,this.hi|0,!!t):{low:this.lo|0,high:this.hi|0,unsigned:!!t}};var wr=String.prototype.charCodeAt;Ft.fromHash=function(t){return t===Cf?$r:new Ft((wr.call(t,0)|wr.call(t,1)<<8|wr.call(t,2)<<16|wr.call(t,3)<<24)>>>0,(wr.call(t,4)|wr.call(t,5)<<8|wr.call(t,6)<<16|wr.call(t,7)<<24)>>>0)};Ft.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)};Ft.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this};Ft.prototype.zzDecode=function(){var t=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this};Ft.prototype.length=function(){var t=this.lo,r=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return n===0?r===0?t<16384?t<128?1:2:t<2097152?3:4:r<16384?r<128?5:6:r<2097152?7:8:n<128?9:10}});var Hr=D(Go=>{"use strict";var F=Go;F.asPromise=e3();F.base64=o3();F.EventEmitter=a3();F.float=d3();F.inquire=y3();F.utf8=m3();F.pool=v3();F.LongBits=b3();F.isNode=!!(typeof globalThis<"u"&&globalThis&&globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node);F.global=F.isNode&&globalThis||typeof window<"u"&&window||typeof self<"u"&&self||Go;F.emptyArray=Object.freeze?Object.freeze([]):[];F.emptyObject=Object.freeze?Object.freeze({}):{};F.isInteger=Number.isInteger||function(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t};F.isString=function(t){return typeof t=="string"||t instanceof String};F.isObject=function(t){return t&&typeof t=="object"};F.isset=F.isSet=function(t,r){var n=t[r];return n!=null&&t.hasOwnProperty(r)?typeof n!="object"||(Array.isArray(n)?n.length:Object.keys(n).length)>0:!1};F.Buffer=function(){try{var e=F.inquire("buffer").Buffer;return e.prototype.utf8Write?e:null}catch{return null}}();F._Buffer_from=null;F._Buffer_allocUnsafe=null;F.newBuffer=function(t){return typeof t=="number"?F.Buffer?F._Buffer_allocUnsafe(t):new F.Array(t):F.Buffer?F._Buffer_from(t):typeof Uint8Array>"u"?t:new Uint8Array(t)};F.Array=typeof Uint8Array<"u"?Uint8Array:Array;F.Long=F.global.dcodeIO&&F.global.dcodeIO.Long||F.global.Long||F.inquire("long");F.key2Re=/^true|false|0|1$/;F.key32Re=/^-?(?:0|[1-9][0-9]*)$/;F.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/;F.longToHash=function(t){return t?F.LongBits.from(t).toHash():F.LongBits.zeroHash};F.longFromHash=function(t,r){var n=F.LongBits.fromHash(t);return F.Long?F.Long.fromBits(n.lo,n.hi,r):n.toNumber(!!r)};function E3(e,t,r){for(var n=Object.keys(t),i=0;i<n.length;++i)(e[n[i]]===void 0||!r)&&(e[n[i]]=t[n[i]]);return e}F.merge=E3;F.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function S3(e){function t(r,n){if(!(this instanceof t))return new t(r,n);Object.defineProperty(this,"message",{get:function(){return r}}),Error.captureStackTrace?Error.captureStackTrace(this,t):Object.defineProperty(this,"stack",{value:new Error().stack||""}),n&&E3(this,n)}return t.prototype=Object.create(Error.prototype,{constructor:{value:t,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return e},set:void 0,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),t}F.newError=S3;F.ProtocolError=S3("ProtocolError");F.oneOfGetter=function(t){for(var r={},n=0;n<t.length;++n)r[t[n]]=1;return function(){for(var i=Object.keys(this),o=i.length-1;o>-1;--o)if(r[i[o]]===1&&this[i[o]]!==void 0&&this[i[o]]!==null)return i[o]}};F.oneOfSetter=function(t){return function(r){for(var n=0;n<t.length;++n)t[n]!==r&&delete this[t[n]]}};F.toJSONOptions={longs:String,enums:String,bytes:String,json:!0};F._configure=function(){var e=F.Buffer;if(!e){F._Buffer_from=F._Buffer_allocUnsafe=null;return}F._Buffer_from=e.from!==Uint8Array.from&&e.from||function(r,n){return new e(r,n)},F._Buffer_allocUnsafe=e.allocUnsafe||function(r){return new e(r)}}});var Yo=D((Ry,_3)=>{"use strict";_3.exports=At;var Ne=Hr(),Wo,I3=Ne.LongBits,_f=Ne.utf8;function xe(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function At(e){this.buf=e,this.pos=0,this.len=e.length}var A3=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new At(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new At(t);throw Error("illegal buffer")},C3=function(){return Ne.Buffer?function(r){return(At.create=function(i){return Ne.Buffer.isBuffer(i)?new Wo(i):A3(i)})(r)}:A3};At.create=C3();At.prototype._slice=Ne.Array.prototype.subarray||Ne.Array.prototype.slice;At.prototype.uint32=function(){var t=4294967295;return function(){if(t=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(t=(t|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(t=(t|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return t;if((this.pos+=5)>this.len)throw this.pos=this.len,xe(this,10);return t}}();At.prototype.int32=function(){return this.uint32()|0};At.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function Qo(){var e=new I3(0,0),t=0;if(this.len-this.pos>4){for(;t<4;++t)if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*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;t=0}else{for(;t<3;++t){if(this.pos>=this.len)throw xe(this);if(e.lo=(e.lo|(this.buf[this.pos]&127)<<t*7)>>>0,this.buf[this.pos++]<128)return e}return e.lo=(e.lo|(this.buf[this.pos++]&127)<<t*7)>>>0,e}if(this.len-this.pos>4){for(;t<5;++t)if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}else for(;t<5;++t){if(this.pos>=this.len)throw xe(this);if(e.hi=(e.hi|(this.buf[this.pos]&127)<<t*7+3)>>>0,this.buf[this.pos++]<128)return e}throw Error("invalid varint encoding")}At.prototype.bool=function(){return this.uint32()!==0};function Ii(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}At.prototype.fixed32=function(){if(this.pos+4>this.len)throw xe(this,4);return Ii(this.buf,this.pos+=4)};At.prototype.sfixed32=function(){if(this.pos+4>this.len)throw xe(this,4);return Ii(this.buf,this.pos+=4)|0};function B3(){if(this.pos+8>this.len)throw xe(this,8);return new I3(Ii(this.buf,this.pos+=4),Ii(this.buf,this.pos+=4))}At.prototype.float=function(){if(this.pos+4>this.len)throw xe(this,4);var t=Ne.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};At.prototype.double=function(){if(this.pos+8>this.len)throw xe(this,4);var t=Ne.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};At.prototype.bytes=function(){var t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw xe(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(r,n):r===n?new this.buf.constructor(0):this._slice.call(this.buf,r,n)};At.prototype.string=function(){var t=this.bytes();return _f.read(t,0,t.length)};At.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw xe(this,t);this.pos+=t}else do if(this.pos>=this.len)throw xe(this);while(this.buf[this.pos++]&128);return this};At.prototype.skipType=function(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};At._configure=function(e){Wo=e,At.create=C3(),Wo._configure();var t=Ne.Long?"toLong":"toNumber";Ne.merge(At.prototype,{int64:function(){return Qo.call(this)[t](!1)},uint64:function(){return Qo.call(this)[t](!0)},sint64:function(){return Qo.call(this).zzDecode()[t](!1)},fixed64:function(){return B3.call(this)[t](!0)},sfixed64:function(){return B3.call(this)[t](!1)}})}});var L3=D((Py,P3)=>{"use strict";P3.exports=Gr;var R3=Yo();(Gr.prototype=Object.create(R3.prototype)).constructor=Gr;var T3=Hr();function Gr(e){R3.call(this,e)}Gr._configure=function(){T3.Buffer&&(Gr.prototype._slice=T3.Buffer.prototype.slice)};Gr.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))};Gr._configure()});var rs=D((Ly,F3)=>{"use strict";F3.exports=X;var ae=Hr(),Zo,Ci=ae.LongBits,N3=ae.base64,k3=ae.utf8;function d0(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function jo(){}function Tf(e){this.head=e.head,this.tail=e.tail,this.len=e.len,this.next=e.states}function X(){this.len=0,this.head=new d0(jo,0,0),this.tail=this.head,this.states=null}var D3=function(){return ae.Buffer?function(){return(X.create=function(){return new Zo})()}:function(){return new X}};X.create=D3();X.alloc=function(t){return new ae.Array(t)};ae.Array!==Array&&(X.alloc=ae.pool(X.alloc,ae.Array.prototype.subarray));X.prototype._push=function(t,r,n){return this.tail=this.tail.next=new d0(t,r,n),this.len+=r,this};function Jo(e,t,r){t[r]=e&255}function Rf(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}function ts(e,t){this.len=e,this.next=void 0,this.val=t}ts.prototype=Object.create(d0.prototype);ts.prototype.fn=Rf;X.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new ts((t=t>>>0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this};X.prototype.int32=function(t){return t<0?this._push(es,10,Ci.fromNumber(t)):this.uint32(t)};X.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function es(e,t,r){for(;e.hi;)t[r++]=e.lo&127|128,e.lo=(e.lo>>>7|e.hi<<25)>>>0,e.hi>>>=7;for(;e.lo>127;)t[r++]=e.lo&127|128,e.lo=e.lo>>>7;t[r++]=e.lo}X.prototype.uint64=function(t){var r=Ci.from(t);return this._push(es,r.length(),r)};X.prototype.int64=X.prototype.uint64;X.prototype.sint64=function(t){var r=Ci.from(t).zzEncode();return this._push(es,r.length(),r)};X.prototype.bool=function(t){return this._push(Jo,1,t?1:0)};function Xo(e,t,r){t[r]=e&255,t[r+1]=e>>>8&255,t[r+2]=e>>>16&255,t[r+3]=e>>>24}X.prototype.fixed32=function(t){return this._push(Xo,4,t>>>0)};X.prototype.sfixed32=X.prototype.fixed32;X.prototype.fixed64=function(t){var r=Ci.from(t);return this._push(Xo,4,r.lo)._push(Xo,4,r.hi)};X.prototype.sfixed64=X.prototype.fixed64;X.prototype.float=function(t){return this._push(ae.float.writeFloatLE,4,t)};X.prototype.double=function(t){return this._push(ae.float.writeDoubleLE,8,t)};var Pf=ae.Array.prototype.set?function(t,r,n){r.set(t,n)}:function(t,r,n){for(var i=0;i<t.length;++i)r[n+i]=t[i]};X.prototype.bytes=function(t){var r=t.length>>>0;if(!r)return this._push(Jo,1,0);if(ae.isString(t)){var n=X.alloc(r=N3.length(t));N3.decode(t,n,0),t=n}return this.uint32(r)._push(Pf,r,t)};X.prototype.string=function(t){var r=k3.length(t);return r?this.uint32(r)._push(k3.write,r,t):this._push(Jo,1,0)};X.prototype.fork=function(){return this.states=new Tf(this),this.head=this.tail=new d0(jo,0,0),this.len=0,this};X.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new d0(jo,0,0),this.len=0),this};X.prototype.ldelim=function(){var t=this.head,r=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=r,this.len+=n),this};X.prototype.finish=function(){for(var t=this.head.next,r=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,r,n),n+=t.len,t=t.next;return r};X._configure=function(e){Zo=e,X.create=D3(),Zo._configure()}});var M3=D((Ny,O3)=>{"use strict";O3.exports=ke;var U3=rs();(ke.prototype=Object.create(U3.prototype)).constructor=ke;var br=Hr();function ke(){U3.call(this)}ke._configure=function(){ke.alloc=br._Buffer_allocUnsafe,ke.writeBytesBuffer=br.Buffer&&br.Buffer.prototype instanceof Uint8Array&&br.Buffer.prototype.set.name==="set"?function(t,r,n){r.set(t,n)}:function(t,r,n){if(t.copy)t.copy(r,n,0,t.length);else for(var i=0;i<t.length;)r[n++]=t[i++]}};ke.prototype.bytes=function(t){br.isString(t)&&(t=br._Buffer_from(t,"base64"));var r=t.length>>>0;return this.uint32(r),r&&this._push(ke.writeBytesBuffer,r,t),this};function Lf(e,t,r){e.length<40?br.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}ke.prototype.string=function(t){var r=br.Buffer.byteLength(t);return this.uint32(r),r&&this._push(Lf,r,t),this};ke._configure()});var G3=D(g0=>{(function(){var e,t,r,n,i,o,s,a;a=function(c){var u,f,l,d;return u=(c&255<<24)>>>24,f=(c&255<<16)>>>16,l=(c&255<<8)>>>8,d=c&255,[u,f,l,d].join(".")},s=function(c){var u,f,l,d,p,h;for(u=[],l=d=0;d<=3&&c.length!==0;l=++d){if(l>0){if(c[0]!==".")throw new Error("Invalid IP");c=c.substring(1)}h=t(c),p=h[0],f=h[1],c=c.substring(f),u.push(p)}if(c.length!==0)throw new Error("Invalid IP");switch(u.length){case 1:if(u[0]>4294967295)throw new Error("Invalid IP");return u[0]>>>0;case 2:if(u[0]>255||u[1]>16777215)throw new Error("Invalid IP");return(u[0]<<24|u[1])>>>0;case 3:if(u[0]>255||u[1]>255||u[2]>65535)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2])>>>0;case 4:if(u[0]>255||u[1]>255||u[2]>255||u[3]>255)throw new Error("Invalid IP");return(u[0]<<24|u[1]<<16|u[2]<<8|u[3])>>>0;default:throw new Error("Invalid IP")}},r=function(c){return c.charCodeAt(0)},n=r("0"),o=r("a"),i=r("A"),t=function(c){var u,f,l,d,p;for(d=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")),p=l;l<c.length;){if("0"<=c[l]&&c[l]<=f)d=d*u+(r(c[l])-n)>>>0;else if(u===16)if("a"<=c[l]&&c[l]<="f")d=d*u+(10+r(c[l])-o)>>>0;else if("A"<=c[l]&&c[l]<="F")d=d*u+(10+r(c[l])-i)>>>0;else break;else break;if(d>4294967295)throw new Error("too large");l++}if(l===p)throw new Error("empty octet");return[d,l]},e=function(){function c(u,f){var l,d,p,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(y){throw l=y,new Error("Invalid mask: "+f)}for(d=p=32;p>=0;d=--p)if(this.maskLong===4294967295<<32-d>>>0){this.bitmask=d;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(y){throw l=y,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,d;for(d=s(this.first),l=s(this.last),f=0;d<=l;)u(a(d),d,f),f++,d++},c.prototype.toString=function(){return this.base+"/"+this.bitmask},c}(),g0.ip2long=s,g0.long2ip=a,g0.Netmask=e}).call(g0)});var r4=D((e4,Pi)=>{(function(e){"use strict";let t="(0?\\d+|0x[a-f0-9]+)",r={fourOctet:new RegExp(`^${t}\\.${t}\\.${t}\\.${t}$`,"i"),threeOctet:new RegExp(`^${t}\\.${t}\\.${t}$`,"i"),twoOctet:new RegExp(`^${t}\\.${t}$`,"i"),longValue:new RegExp(`^${t}$`,"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(`^(?:::)(${t}\\.${t}\\.${t}\\.${t}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${s})|(?:::)(?:${s})?)${t}\\.${t}\\.${t}\\.${t}(${o})?$`,"i")};function c(p,h){if(p.indexOf("::")!==p.lastIndexOf("::"))return null;let y=0,g=-1,m=(p.match(a.zoneIndex)||[])[0],v,b;for(m&&(m=m.substring(1),p=p.replace(/%.+$/,""));(g=p.indexOf(":",g+1))>=0;)y++;if(p.substr(0,2)==="::"&&y--,p.substr(-2,2)==="::"&&y--,y>h)return null;for(b=h-y,v=":";b--;)v+="0:";return p=p.replace("::",v),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),h=function(){let N=p.split(":"),_=[];for(let C=0;C<N.length;C++)_.push(parseInt(N[C],16));return _}(),{parts:h,zoneId:m}}function u(p,h,y,g){if(p.length!==h.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let m=0,v;for(;g>0;){if(v=y-g,v<0&&(v=0),p[m]>>v!==h[m]>>v)return!1;g-=y,m+=1}return!0}function f(p){if(i.test(p))return parseInt(p,16);if(p[0]==="0"&&!isNaN(parseInt(p[1],10))){if(n.test(p))return parseInt(p,8);throw new Error(`ipaddr: cannot parse ${p} as octal`)}return parseInt(p,10)}function l(p,h){for(;p.length<h;)p=`0${p}`;return p}let d={};d.IPv4=function(){function p(h){if(h.length!==4)throw new Error("ipaddr: ipv4 octet count should be 4");let y,g;for(y=0;y<h.length;y++)if(g=h[y],!(0<=g&&g<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=h}return p.prototype.SpecialRanges={unspecified:[[new p([0,0,0,0]),8]],broadcast:[[new p([255,255,255,255]),32]],multicast:[[new p([224,0,0,0]),4]],linkLocal:[[new p([169,254,0,0]),16]],loopback:[[new p([127,0,0,0]),8]],carrierGradeNat:[[new p([100,64,0,0]),10]],private:[[new p([10,0,0,0]),8],[new p([172,16,0,0]),12],[new p([192,168,0,0]),16]],reserved:[[new p([192,0,0,0]),24],[new p([192,0,2,0]),24],[new p([192,88,99,0]),24],[new p([198,51,100,0]),24],[new p([203,0,113,0]),24],[new p([240,0,0,0]),4]]},p.prototype.kind=function(){return"ipv4"},p.prototype.match=function(h,y){let g;if(y===void 0&&(g=h,h=g[0],y=g[1]),h.kind()!=="ipv4")throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return u(this.octets,h.octets,8,y)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,y=!1,g={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},m,v,b;for(m=3;m>=0;m-=1)if(v=this.octets[m],v in g){if(b=g[v],y&&b!==0)return null;b!==8&&(y=!0),h+=b}else return null;return 32-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){return this.octets.slice(0)},p.prototype.toIPv4MappedAddress=function(){return d.IPv6.parse(`::ffff:${this.toString()}`)},p.prototype.toNormalizedString=function(){return this.toString()},p.prototype.toString=function(){return this.octets.join(".")},p}(),d.IPv4.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),y=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],v=0;for(;v<4;)m.push(parseInt(y[v],10)|parseInt(g[v],10)^255),v++;return new this(m)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.isIPv4=function(p){return this.parser(p)!==null},d.IPv4.isValid=function(p){try{return new this(this.parser(p)),!0}catch{return!1}},d.IPv4.isValidFourPartDecimal=function(p){return!!(d.IPv4.isValid(p)&&p.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},d.IPv4.networkAddressFromCIDR=function(p){let h,y,g,m,v;try{for(h=this.parseCIDR(p),g=h[0].toByteArray(),v=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],y=0;y<4;)m.push(parseInt(g[y],10)&parseInt(v[y],10)),y++;return new this(m)}catch{throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.parse=function(p){let h=this.parser(p);if(h===null)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(h)},d.IPv4.parseCIDR=function(p){let h;if(h=p.match(/^(.+)\/(\d+)$/)){let y=parseInt(h[2]);if(y>=0&&y<=32){let g=[this.parse(h[1]),y];return Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(p){let h,y,g;if(h=p.match(r.fourOctet))return function(){let m=h.slice(1,6),v=[];for(let b=0;b<m.length;b++)y=m[b],v.push(f(y));return v}();if(h=p.match(r.longValue)){if(g=f(h[1]),g>4294967295||g<0)throw new Error("ipaddr: address outside defined range");return function(){let m=[],v;for(v=0;v<=24;v+=8)m.push(g>>v&255);return m}().reverse()}else return(h=p.match(r.twoOctet))?function(){let m=h.slice(1,4),v=[];if(g=f(m[1]),g>16777215||g<0)throw new Error("ipaddr: address outside defined range");return v.push(f(m[0])),v.push(g>>16&255),v.push(g>>8&255),v.push(g&255),v}():(h=p.match(r.threeOctet))?function(){let m=h.slice(1,5),v=[];if(g=f(m[2]),g>65535||g<0)throw new Error("ipaddr: address outside defined range");return v.push(f(m[0])),v.push(f(m[1])),v.push(g>>8&255),v.push(g&255),v}():null},d.IPv4.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>32)throw new Error("ipaddr: invalid IPv4 prefix length");let h=[0,0,0,0],y=0,g=Math.floor(p/8);for(;y<g;)h[y]=255,y++;return g<4&&(h[g]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.IPv6=function(){function p(h,y){let g,m;if(h.length===16)for(this.parts=[],g=0;g<=14;g+=2)this.parts.push(h[g]<<8|h[g+1]);else if(h.length===8)this.parts=h;else throw new Error("ipaddr: ipv6 part count should be 8 or 16");for(g=0;g<this.parts.length;g++)if(m=this.parts[g],!(0<=m&&m<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");y&&(this.zoneId=y)}return p.prototype.SpecialRanges={unspecified:[new p([0,0,0,0,0,0,0,0]),128],linkLocal:[new p([65152,0,0,0,0,0,0,0]),10],multicast:[new p([65280,0,0,0,0,0,0,0]),8],loopback:[new p([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new p([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new p([0,0,0,0,0,65535,0,0]),96],rfc6145:[new p([0,0,0,0,65535,0,0,0]),96],rfc6052:[new p([100,65435,0,0,0,0,0,0]),96],"6to4":[new p([8194,0,0,0,0,0,0,0]),16],teredo:[new p([8193,0,0,0,0,0,0,0]),32],reserved:[[new p([8193,3512,0,0,0,0,0,0]),32]]},p.prototype.isIPv4MappedAddress=function(){return this.range()==="ipv4Mapped"},p.prototype.kind=function(){return"ipv6"},p.prototype.match=function(h,y){let g;if(y===void 0&&(g=h,h=g[0],y=g[1]),h.kind()!=="ipv6")throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return u(this.parts,h.parts,16,y)},p.prototype.prefixLengthFromSubnetMask=function(){let h=0,y=!1,g={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},m,v;for(let b=7;b>=0;b-=1)if(m=this.parts[b],m in g){if(v=g[m],y&&v!==0)return null;v!==16&&(y=!0),h+=v}else return null;return 128-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){let h,y=[],g=this.parts;for(let m=0;m<g.length;m++)h=g[m],y.push(h>>8),y.push(h&255);return y},p.prototype.toFixedLengthString=function(){let h=function(){let g=[];for(let m=0;m<this.parts.length;m++)g.push(l(this.parts[m].toString(16),4));return g}.call(this).join(":"),y="";return this.zoneId&&(y=`%${this.zoneId}`),h+y},p.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");let h=this.parts.slice(-2),y=h[0],g=h[1];return new d.IPv4([y>>8,y&255,g>>8,g&255])},p.prototype.toNormalizedString=function(){let h=function(){let g=[];for(let m=0;m<this.parts.length;m++)g.push(this.parts[m].toString(16));return g}.call(this).join(":"),y="";return this.zoneId&&(y=`%${this.zoneId}`),h+y},p.prototype.toRFC5952String=function(){let h=/((^|:)(0(:|$)){2,})/g,y=this.toNormalizedString(),g=0,m=-1,v;for(;v=h.exec(y);)v[0].length>m&&(g=v.index,m=v[0].length);return m<0?y:`${y.substring(0,g)}::${y.substring(g+m)}`},p.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},p}(),d.IPv6.broadcastAddressFromCIDR=function(p){try{let h=this.parseCIDR(p),y=h[0].toByteArray(),g=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],v=0;for(;v<16;)m.push(parseInt(y[v],10)|parseInt(g[v],10)^255),v++;return new this(m)}catch(h){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${h})`)}},d.IPv6.isIPv6=function(p){return this.parser(p)!==null},d.IPv6.isValid=function(p){if(typeof p=="string"&&p.indexOf(":")===-1)return!1;try{let h=this.parser(p);return new this(h.parts,h.zoneId),!0}catch{return!1}},d.IPv6.networkAddressFromCIDR=function(p){let h,y,g,m,v;try{for(h=this.parseCIDR(p),g=h[0].toByteArray(),v=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],y=0;y<16;)m.push(parseInt(g[y],10)&parseInt(v[y],10)),y++;return new this(m)}catch(b){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${b})`)}},d.IPv6.parse=function(p){let h=this.parser(p);if(h.parts===null)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(h.parts,h.zoneId)},d.IPv6.parseCIDR=function(p){let h,y,g;if((y=p.match(/^(.+)\/(\d+)$/))&&(h=parseInt(y[2]),h>=0&&h<=128))return g=[this.parse(y[1]),h],Object.defineProperty(g,"toString",{value:function(){return this.join("/")}}),g;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},d.IPv6.parser=function(p){let h,y,g,m,v,b;if(g=p.match(a.deprecatedTransitional))return this.parser(`::ffff:${g[1]}`);if(a.native.test(p))return c(p,8);if((g=p.match(a.transitional))&&(b=g[6]||"",h=c(g[1].slice(0,-1)+b,6),h.parts)){for(v=[parseInt(g[2]),parseInt(g[3]),parseInt(g[4]),parseInt(g[5])],y=0;y<v.length;y++)if(m=v[y],!(0<=m&&m<=255))return null;return h.parts.push(v[0]<<8|v[1]),h.parts.push(v[2]<<8|v[3]),{parts:h.parts,zoneId:h.zoneId}}return null},d.IPv6.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>128)throw new Error("ipaddr: invalid IPv6 prefix length");let h=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],y=0,g=Math.floor(p/8);for(;y<g;)h[y]=255,y++;return g<16&&(h[g]=Math.pow(2,p%8)-1<<8-p%8),new this(h)},d.fromByteArray=function(p){let h=p.length;if(h===4)return new d.IPv4(p);if(h===16)return new d.IPv6(p);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},d.isValid=function(p){return d.IPv6.isValid(p)||d.IPv4.isValid(p)},d.parse=function(p){if(d.IPv6.isValid(p))return d.IPv6.parse(p);if(d.IPv4.isValid(p))return d.IPv4.parse(p);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},d.parseCIDR=function(p){try{return d.IPv6.parseCIDR(p)}catch{try{return d.IPv4.parseCIDR(p)}catch{throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},d.process=function(p){let h=this.parse(p);return h.kind()==="ipv6"&&h.isIPv4MappedAddress()?h.toIPv4Address():h},d.subnetMatch=function(p,h,y){let g,m,v,b;y==null&&(y="unicast");for(m in h)if(Object.prototype.hasOwnProperty.call(h,m)){for(v=h[m],v[0]&&!(v[0]instanceof Array)&&(v=[v]),g=0;g<v.length;g++)if(b=v[g],p.kind()===b[0].kind()&&p.match.apply(p,b))return m}return y},typeof Pi<"u"&&Pi.exports?Pi.exports=d:e.ipaddr=d})(e4)});var w4=D((Ug,ds)=>{"use strict";var Yf=Object.prototype.hasOwnProperty,zt="~";function x0(){}Object.create&&(x0.prototype=Object.create(null),new x0().__proto__||(zt=!1));function Zf(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function v4(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new Zf(r,n||e,i),s=zt?zt+t:t;return e._events[s]?e._events[s].fn?e._events[s]=[e._events[s],o]:e._events[s].push(o):(e._events[s]=o,e._eventsCount++),e}function Li(e,t){--e._eventsCount===0?e._events=new x0:delete e._events[t]}function Vt(){this._events=new x0,this._eventsCount=0}Vt.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)Yf.call(r,n)&&t.push(zt?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};Vt.prototype.listeners=function(t){var r=zt?zt+t:t,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};Vt.prototype.listenerCount=function(t){var r=zt?zt+t:t,n=this._events[r];return n?n.fn?1:n.length:0};Vt.prototype.emit=function(t,r,n,i,o,s){var a=zt?zt+t:t;if(!this._events[a])return!1;var c=this._events[a],u=arguments.length,f,l;if(c.fn){switch(c.once&&this.removeListener(t,c.fn,void 0,!0),u){case 1:return c.fn.call(c.context),!0;case 2:return c.fn.call(c.context,r),!0;case 3:return c.fn.call(c.context,r,n),!0;case 4:return c.fn.call(c.context,r,n,i),!0;case 5:return c.fn.call(c.context,r,n,i,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 d=c.length,p;for(l=0;l<d;l++)switch(c[l].once&&this.removeListener(t,c[l].fn,void 0,!0),u){case 1:c[l].fn.call(c[l].context);break;case 2:c[l].fn.call(c[l].context,r);break;case 3:c[l].fn.call(c[l].context,r,n);break;case 4:c[l].fn.call(c[l].context,r,n,i);break;default:if(!f)for(p=1,f=new Array(u-1);p<u;p++)f[p-1]=arguments[p];c[l].fn.apply(c[l].context,f)}}return!0};Vt.prototype.on=function(t,r,n){return v4(this,t,r,n,!1)};Vt.prototype.once=function(t,r,n){return v4(this,t,r,n,!0)};Vt.prototype.removeListener=function(t,r,n,i){var o=zt?zt+t:t;if(!this._events[o])return this;if(!r)return Li(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&Li(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:Li(this,o)}return this};Vt.prototype.removeAllListeners=function(t){var r;return t?(r=zt?zt+t:t,this._events[r]&&Li(this,r)):(this._events=new x0,this._eventsCount=0),this};Vt.prototype.off=Vt.prototype.removeListener;Vt.prototype.addListener=Vt.prototype.on;Vt.prefixed=zt;Vt.EventEmitter=Vt;typeof ds<"u"&&(ds.exports=Vt)});var P4=D((Hg,R4)=>{"use strict";R4.exports=function(){return Date.now()}});var N4=D((Gg,L4)=>{"use strict";var Vi=P4(),ws=class{constructor(t,r,n){let i=this;this._started=Vi(),this._rescheduled=0,this._scheduled=r,this._args=n,this._triggered=!1,this._timerWrapper=()=>{i._rescheduled>0?(i._scheduled=i._rescheduled-(Vi()-i._started),i._schedule(i._scheduled)):(i._triggered=!0,t.apply(null,i._args))},this._timer=setTimeout(this._timerWrapper,r)}reschedule(t){t||(t=this._scheduled);let r=Vi();r+t-(this._started+this._scheduled)<0?(clearTimeout(this._timer),this._schedule(t)):this._triggered?this._schedule(t):(this._started=r,this._rescheduled=t)}_schedule(t){this._triggered=!1,this._started=Vi(),this._rescheduled=0,this._scheduled=t,this._timer=setTimeout(this._timerWrapper,t)}clear(){clearTimeout(this._timer)}};function Xf(){if(typeof arguments[0]!="function")throw new Error("callback needed");if(typeof arguments[1]!="number")throw new Error("timeout needed");let e;if(arguments.length>0){e=new Array(arguments.length-2);for(var t=0;t<e.length;t++)e[t]=arguments[t+2]}return new ws(arguments[0],arguments[1],e)}L4.exports=Xf});var kn=D((Qg,D4)=>{"use strict";var{AbortController:jf}=globalThis,k4=N4(),I0=class extends jf{constructor(t){super(),this._ms=t,this._timer=k4(()=>this.abort(),t),Object.setPrototypeOf(this,I0.prototype)}abort(){return this._timer.clear(),super.abort()}clear(){this._timer.clear()}reset(){this._timer.clear(),this._timer=k4(()=>this.abort(),this._ms)}};D4.exports={TimeoutController:I0}});var U4=D((Wg,F4)=>{var Dn=1e3,Fn=Dn*60,Un=Fn*60,Yr=Un*24,Jf=Yr*7,t7=Yr*365.25;F4.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return e7(e);if(r==="number"&&isFinite(e))return t.long?n7(e):r7(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function e7(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*t7;case"weeks":case"week":case"w":return r*Jf;case"days":case"day":case"d":return r*Yr;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Un;case"minutes":case"minute":case"mins":case"min":case"m":return r*Fn;case"seconds":case"second":case"secs":case"sec":case"s":return r*Dn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function r7(e){var t=Math.abs(e);return t>=Yr?Math.round(e/Yr)+"d":t>=Un?Math.round(e/Un)+"h":t>=Fn?Math.round(e/Fn)+"m":t>=Dn?Math.round(e/Dn)+"s":e+"ms"}function n7(e){var t=Math.abs(e);return t>=Yr?qi(e,t,Yr,"day"):t>=Un?qi(e,t,Un,"hour"):t>=Fn?qi(e,t,Fn,"minute"):t>=Dn?qi(e,t,Dn,"second"):e+" ms"}function qi(e,t,r,n){var i=t>=r*1.5;return Math.round(e/r)+" "+n+(i?"s":"")}});var M4=D((Yg,O4)=>{function i7(e){r.debug=r,r.default=r,r.coerce=c,r.disable=o,r.enable=i,r.enabled=s,r.humanize=U4(),r.destroy=u,Object.keys(e).forEach(f=>{r[f]=e[f]}),r.names=[],r.skips=[],r.formatters={};function t(f){let l=0;for(let d=0;d<f.length;d++)l=(l<<5)-l+f.charCodeAt(d),l|=0;return r.colors[Math.abs(l)%r.colors.length]}r.selectColor=t;function r(f){let l,d=null,p,h;function y(...g){if(!y.enabled)return;let m=y,v=Number(new Date),b=v-(l||v);m.diff=b,m.prev=l,m.curr=v,l=v,g[0]=r.coerce(g[0]),typeof g[0]!="string"&&g.unshift("%O");let N=0;g[0]=g[0].replace(/%([a-zA-Z%])/g,(C,V)=>{if(C==="%%")return"%";N++;let H=r.formatters[V];if(typeof H=="function"){let Tt=g[N];C=H.call(m,Tt),g.splice(N,1),N--}return C}),r.formatArgs.call(m,g),(m.log||r.log).apply(m,g)}return y.namespace=f,y.useColors=r.useColors(),y.color=r.selectColor(f),y.extend=n,y.destroy=r.destroy,Object.defineProperty(y,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(p!==r.namespaces&&(p=r.namespaces,h=r.enabled(f)),h),set:g=>{d=g}}),typeof r.init=="function"&&r.init(y),y}function n(f,l){let d=r(this.namespace+(typeof l>"u"?":":l)+f);return d.log=this.log,d}function i(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let l,d=(typeof f=="string"?f:"").split(/[\s,]+/),p=d.length;for(l=0;l<p;l++)d[l]&&(f=d[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,d;for(l=0,d=r.skips.length;l<d;l++)if(r.skips[l].test(f))return!1;for(l=0,d=r.names.length;l<d;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}O4.exports=i7});var K4=D((ee,zi)=>{ee.formatArgs=s7;ee.save=a7;ee.load=c7;ee.useColors=o7;ee.storage=u7();ee.destroy=(()=>{let e=!1;return()=>{e||(e=!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`."))}})();ee.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 o7(){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 s7(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+zi.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),e.splice(n,0,t)}ee.log=console.debug||console.log||(()=>{});function a7(e){try{e?ee.storage.setItem("debug",e):ee.storage.removeItem("debug")}catch{}}function c7(){let e;try{e=ee.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function u7(){try{return localStorage}catch{}}zi.exports=M4()(ee);var{formatters:f7}=zi.exports;f7.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var nt=D((Im,W4)=>{W4.exports={options:{usePureJavaScript:!1}}});var X4=D((Cm,Z4)=>{var Es={};Z4.exports=Es;var Y4={};Es.encode=function(e,t,r){if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');if(r!==void 0&&typeof r!="number")throw new TypeError('"maxline" must be a number.');var n="";if(!(e instanceof Uint8Array))n=m7(e,t);else{var i=0,o=t.length,s=t.charAt(0),a=[0];for(i=0;i<e.length;++i){for(var c=0,u=e[i];c<a.length;++c)u+=a[c]<<8,a[c]=u%o,u=u/o|0;for(;u>0;)a.push(u%o),u=u/o|0}for(i=0;e[i]===0&&i<e.length-1;++i)n+=s;for(i=a.length-1;i>=0;--i)n+=t[a[i]]}if(r){var f=new RegExp(".{1,"+r+"}","g");n=n.match(f).join(`\r
|
|
4
|
+
`)}return n};Es.decode=function(e,t){if(typeof e!="string")throw new TypeError('"input" must be a string.');if(typeof t!="string")throw new TypeError('"alphabet" must be a string.');var r=Y4[t];if(!r){r=Y4[t]=[];for(var n=0;n<t.length;++n)r[t.charCodeAt(n)]=n}e=e.replace(/\s/g,"");for(var i=t.length,o=t.charAt(0),s=[0],n=0;n<e.length;n++){var a=r[e.charCodeAt(n)];if(a===void 0)return;for(var c=0,u=a;c<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;e[f]===o&&f<e.length-1;++f)s.push(0);return typeof Buffer<"u"?Buffer.from(s.reverse()):new Uint8Array(s.reverse())};function m7(e,t){var r=0,n=t.length,i=t.charAt(0),o=[0];for(r=0;r<e.length();++r){for(var s=0,a=e.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;e.at(r)===0&&r<e.length()-1;++r)c+=i;for(r=o.length-1;r>=0;--r)c+=t[o[r]];return c}});var Ct=D((_m,e5)=>{var j4=nt(),J4=X4(),x=e5.exports=j4.util=j4.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===e){c.stopPropagation();var u=t.slice();t.length=0,u.forEach(function(f){f()})}};var s=a,e="forge.setImmediate",t=[];x.setImmediate=function(c){t.push(c),t.length===1&&window.postMessage(e,"*")},window.addEventListener("message",a,!0)}if(typeof MutationObserver<"u"){var r=Date.now(),n=!0,i=document.createElement("div"),t=[];new MutationObserver(function(){var c=t.slice();t.length=0,c.forEach(function(u){u()})}).observe(i,{attributes:!0});var o=x.setImmediate;x.setImmediate=function(c){Date.now()-r>15?(r=Date.now(),o(c)):(t.push(c),t.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(e){return Object.prototype.toString.call(e)==="[object Array]"};x.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};x.isArrayBufferView=function(e){return e&&x.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function C0(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}x.ByteBuffer=Ss;function Ss(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(x.isArrayBuffer(e)||x.isArrayBufferView(e))if(typeof Buffer<"u"&&e instanceof Buffer)this.data=e.toString("binary");else{var t=new Uint8Array(e);try{this.data=String.fromCharCode.apply(null,t)}catch{for(var r=0;r<t.length;++r)this.putByte(t[r])}}else(e instanceof Ss||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}x.ByteStringBuffer=Ss;var x7=4096;x.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>x7&&(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(e){return this.putBytes(String.fromCharCode(e))};x.ByteStringBuffer.prototype.fillWithByte=function(e,t){e=String.fromCharCode(e);for(var r=this.data;t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return this.data=r,this._optimizeConstructedString(t),this};x.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};x.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(x.encodeUtf8(e))};x.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};x.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};x.ByteStringBuffer.prototype.putInt32=function(e){return this.putBytes(String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};x.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};x.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};x.ByteStringBuffer.prototype.putInt32Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>24&255))};x.ByteStringBuffer.prototype.putInt=function(e,t){C0(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};x.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};x.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};x.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};x.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};x.ByteStringBuffer.prototype.getInt24=function(){var e=this.data.charCodeAt(this.read)<<16^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2);return this.read+=3,e};x.ByteStringBuffer.prototype.getInt32=function(){var e=this.data.charCodeAt(this.read)<<24^this.data.charCodeAt(this.read+1)<<16^this.data.charCodeAt(this.read+2)<<8^this.data.charCodeAt(this.read+3);return this.read+=4,e};x.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};x.ByteStringBuffer.prototype.getInt24Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16;return this.read+=3,e};x.ByteStringBuffer.prototype.getInt32Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8^this.data.charCodeAt(this.read+2)<<16^this.data.charCodeAt(this.read+3)<<24;return this.read+=4,e};x.ByteStringBuffer.prototype.getInt=function(e){C0(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};x.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};x.ByteStringBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};x.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};x.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};x.ByteStringBuffer.prototype.setAt=function(e,t){return this.data=this.data.substr(0,this.read+e)+String.fromCharCode(t)+this.data.substr(this.read+e+1),this};x.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};x.ByteStringBuffer.prototype.copy=function(){var e=x.createBuffer(this.data);return e.read=this.read,e};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(e){var t=Math.max(0,this.length()-e);return this.data=this.data.substr(this.read,t),this.read=0,this};x.ByteStringBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.length;++t){var r=this.data.charCodeAt(t);r<16&&(e+="0"),e+=r.toString(16)}return e};x.ByteStringBuffer.prototype.toString=function(){return x.decodeUtf8(this.bytes())};function v7(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=x.isArrayBuffer(e),n=x.isArrayBufferView(e);if(r||n){r?this.data=new DataView(e):this.data=new DataView(e.buffer,e.byteOffset,e.byteLength),this.write="writeOffset"in t?t.writeOffset:this.data.byteLength;return}this.data=new DataView(new ArrayBuffer(0)),this.write=0,e!=null&&this.putBytes(e),"writeOffset"in t&&(this.write=t.writeOffset)}x.DataBuffer=v7;x.DataBuffer.prototype.length=function(){return this.write-this.read};x.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};x.DataBuffer.prototype.accommodate=function(e,t){if(this.length()>=e)return this;t=Math.max(t||this.growSize,e);var r=new Uint8Array(this.data.buffer,this.data.byteOffset,this.data.byteLength),n=new Uint8Array(this.length()+t);return n.set(r),this.data=new DataView(n.buffer),this};x.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};x.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};x.DataBuffer.prototype.putBytes=function(e,t){if(x.isArrayBufferView(e)){var r=new Uint8Array(e.buffer,e.byteOffset,e.byteLength),n=r.byteLength-r.byteOffset;this.accommodate(n);var i=new Uint8Array(this.data.buffer,this.write);return i.set(r),this.write+=n,this}if(x.isArrayBuffer(e)){var r=new Uint8Array(e);this.accommodate(r.byteLength);var i=new Uint8Array(this.data.buffer);return i.set(r,this.write),this.write+=r.byteLength,this}if(e instanceof x.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&x.isArrayBufferView(e.data)){var r=new Uint8Array(e.data.byteLength,e.read,e.length());this.accommodate(r.byteLength);var i=new Uint8Array(e.data.byteLength,this.write);return i.set(r),this.write+=r.byteLength,this}if(e instanceof x.ByteStringBuffer&&(e=e.data,t="binary"),t=t||"binary",typeof e=="string"){var o;if(t==="hex")return this.accommodate(Math.ceil(e.length/2)),o=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.hex.decode(e,o,this.write),this;if(t==="base64")return this.accommodate(Math.ceil(e.length/4)*3),o=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.base64.decode(e,o,this.write),this;if(t==="utf8"&&(e=x.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=x.binary.raw.decode(o),this;if(t==="utf16")return this.accommodate(e.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=x.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};x.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};x.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};x.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};x.DataBuffer.prototype.putInt24=function(e){return this.accommodate(3),this.data.setInt16(this.write,e>>8&65535),this.data.setInt8(this.write,e>>16&255),this.write+=3,this};x.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};x.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};x.DataBuffer.prototype.putInt24Le=function(e){return this.accommodate(3),this.data.setInt8(this.write,e>>16&255),this.data.setInt16(this.write,e>>8&65535,!0),this.write+=3,this};x.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};x.DataBuffer.prototype.putInt=function(e,t){C0(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};x.DataBuffer.prototype.putSignedInt=function(e,t){return C0(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};x.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};x.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};x.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};x.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};x.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};x.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};x.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};x.DataBuffer.prototype.getInt=function(e){C0(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};x.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};x.DataBuffer.prototype.getBytes=function(e){var t;return e?(e=Math.min(this.length(),e),t=this.data.slice(this.read,this.read+e),this.read+=e):e===0?t="":(t=this.read===0?this.data:this.data.slice(this.read),this.clear()),t};x.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};x.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};x.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),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 e=new Uint8Array(this.data.buffer,this.read),t=new Uint8Array(e.byteLength);t.set(e),this.data=new DataView(t),this.write-=this.read,this.read=0}return this};x.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};x.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};x.DataBuffer.prototype.toHex=function(){for(var e="",t=this.read;t<this.data.byteLength;++t){var r=this.data.getUint8(t);r<16&&(e+="0"),e+=r.toString(16)}return e};x.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return x.binary.raw.encode(t);if(e==="hex")return x.binary.hex.encode(t);if(e==="base64")return x.binary.base64.encode(t);if(e==="utf8")return x.text.utf8.decode(t);if(e==="utf16")return x.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};x.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=x.encodeUtf8(e)),new x.ByteBuffer(e)};x.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};x.xorBytes=function(e,t,r){for(var n="",i="",o="",s=0,a=0;r>0;--r,++s)i=e.charCodeAt(s)^t.charCodeAt(s),a>=10&&(n+=o,o="",a=0),o+=String.fromCharCode(i),++a;return n+=o,n};x.hexToBytes=function(e){var t="",r=0;for(e.length&!0&&(r=1,t+=String.fromCharCode(parseInt(e[0],16)));r<e.length;r+=2)t+=String.fromCharCode(parseInt(e.substr(r,2),16));return t};x.bytesToHex=function(e){return x.createBuffer(e).toHex()};x.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var Br="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Ir=[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],t5="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";x.encode64=function(e,t){for(var r="",n="",i,o,s,a=0;a<e.length;)i=e.charCodeAt(a++),o=e.charCodeAt(a++),s=e.charCodeAt(a++),r+=Br.charAt(i>>2),r+=Br.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Br.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Br.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
|
5
|
+
`,r=r.substr(t));return n+=r,n};x.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",r,n,i,o,s=0;s<e.length;)r=Ir[e.charCodeAt(s++)-43],n=Ir[e.charCodeAt(s++)-43],i=Ir[e.charCodeAt(s++)-43],o=Ir[e.charCodeAt(s++)-43],t+=String.fromCharCode(r<<2|n>>4),i!==64&&(t+=String.fromCharCode((n&15)<<4|i>>2),o!==64&&(t+=String.fromCharCode((i&3)<<6|o)));return t};x.encodeUtf8=function(e){return unescape(encodeURIComponent(e))};x.decodeUtf8=function(e){return decodeURIComponent(escape(e))};x.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:J4.encode,decode:J4.decode}};x.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)};x.binary.raw.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,o=0;o<e.length;++o)n[i++]=e.charCodeAt(o);return t?i-r:n};x.binary.hex.encode=x.bytesToHex;x.binary.hex.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/2))),r=r||0;var i=0,o=r;for(e.length&1&&(i=1,n[o++]=parseInt(e[0],16));i<e.length;i+=2)n[o++]=parseInt(e.substr(i,2),16);return t?o-r:n};x.binary.base64.encode=function(e,t){for(var r="",n="",i,o,s,a=0;a<e.byteLength;)i=e[a++],o=e[a++],s=e[a++],r+=Br.charAt(i>>2),r+=Br.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Br.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Br.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
|
6
|
+
`,r=r.substr(t));return n+=r,n};x.binary.base64.decode=function(e,t,r){var n=t;n||(n=new Uint8Array(Math.ceil(e.length/4)*3)),e=e.replace(/[^A-Za-z0-9\+\/\=]/g,""),r=r||0;for(var i,o,s,a,c=0,u=r;c<e.length;)i=Ir[e.charCodeAt(c++)-43],o=Ir[e.charCodeAt(c++)-43],s=Ir[e.charCodeAt(c++)-43],a=Ir[e.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 t?u-r:n.subarray(0,u)};x.binary.base58.encode=function(e,t){return x.binary.baseN.encode(e,t5,t)};x.binary.base58.decode=function(e,t){return x.binary.baseN.decode(e,t5,t)};x.text={utf8:{},utf16:{}};x.text.utf8.encode=function(e,t,r){e=x.encodeUtf8(e);var n=t;n||(n=new Uint8Array(e.length)),r=r||0;for(var i=r,o=0;o<e.length;++o)n[i++]=e.charCodeAt(o);return t?i-r:n};x.text.utf8.decode=function(e){return x.decodeUtf8(String.fromCharCode.apply(null,e))};x.text.utf16.encode=function(e,t,r){var n=t;n||(n=new Uint8Array(e.length*2));var i=new Uint16Array(n.buffer);r=r||0;for(var o=r,s=r,a=0;a<e.length;++a)i[s++]=e.charCodeAt(a),o+=2;return t?o-r:n};x.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};x.deflate=function(e,t,r){if(t=x.decode64(e.deflate(x.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};x.inflate=function(e,t,r){var n=e.inflate(x.encode64(t)).rval;return n===null?null:x.decode64(n)};var As=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=x.encode64(JSON.stringify(r)),n=e.setItem(t,r)),typeof n<"u"&&n.rval!==!0){var i=new Error(n.error.message);throw i.id=n.error.id,i.name=n.error.name,i}},Bs=function(e,t){if(!e)throw new Error("WebStorage not available.");var r=e.getItem(t);if(e.init)if(r.rval===null){if(r.error){var n=new Error(r.error.message);throw n.id=r.error.id,n.name=r.error.name,n}r=null}else r=r.rval;return r!==null&&(r=JSON.parse(x.decode64(r))),r},w7=function(e,t,r,n){var i=Bs(e,t);i===null&&(i={}),i[r]=n,As(e,t,i)},b7=function(e,t,r){var n=Bs(e,t);return n!==null&&(n=r in n?n[r]:null),n},E7=function(e,t,r){var n=Bs(e,t);if(n!==null&&r in n){delete n[r];var i=!0;for(var o in n){i=!1;break}i&&(n=null),As(e,t,n)}},S7=function(e,t){As(e,t,null)},Hi=function(e,t,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(t[0]===null)throw new Error("Flash local storage not available.");n=e.apply(this,t),o=i==="flash"}(i==="web"||i==="both")&&(t[0]=localStorage,n=e.apply(this,t),o=!0)}catch(c){s=c}if(o)break}if(!o)throw s;return n};x.setItem=function(e,t,r,n,i){Hi(w7,arguments,i)};x.getItem=function(e,t,r,n){return Hi(b7,arguments,n)};x.removeItem=function(e,t,r,n){Hi(E7,arguments,n)};x.clearItems=function(e,t,r){Hi(S7,arguments,r)};x.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};x.format=function(e){for(var t=/%./g,r,n,i=0,o=[],s=0;r=t.exec(e);){n=e.substring(s,t.lastIndex-2),n.length>0&&o.push(n),s=t.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(e.substring(s)),o.join("")};x.formatNumber=function(e,t,r,n){var i=e,o=isNaN(t=Math.abs(t))?2:t,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(e){return e>=1073741824?e=x.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=x.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=x.formatNumber(e/1024,0)+" KiB":e=x.formatNumber(e,0)+" bytes",e};x.bytesFromIP=function(e){return e.indexOf(".")!==-1?x.bytesFromIPv4(e):e.indexOf(":")!==-1?x.bytesFromIPv6(e):null};x.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=x.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};x.bytesFromIPv6=function(e){var t=0;e=e.split(":").filter(function(s){return s.length===0&&++t,!0});for(var r=(8-e.length+t)*2,n=x.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=x.hexToBytes(e[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};x.bytesToIP=function(e){return e.length===4?x.bytesToIPv4(e):e.length===16?x.bytesToIPv6(e):null};x.bytesToIPv4=function(e){if(e.length!==4)return null;for(var t=[],r=0;r<e.length;++r)t.push(e.charCodeAt(r));return t.join(".")};x.bytesToIPv6=function(e){if(e.length!==16)return null;for(var t=[],r=[],n=0,i=0;i<e.length;i+=2){for(var o=x.bytesToHex(e[i]+e[i+1]);o[0]==="0"&&o!=="0";)o=o.substr(1);if(o==="0"){var s=r[r.length-1],a=t.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))}t.push(o)}if(r.length>0){var c=r[n];c.end-c.start>0&&(t.splice(c.start,c.end-c.start+1,""),c.start===0&&t.unshift(""),c.end===7&&t.push(""))}return t.join(":")};x.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in x&&!e.update)return t(null,x.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return x.cores=navigator.hardwareConcurrency,t(null,x.cores);if(typeof Worker>"u")return x.cores=1,t(null,x.cores);if(typeof Blob>"u")return x.cores=2,t(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),t(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(d){if(u.push(d.data),u.length===s){for(var p=0;p<s;++p)c[p].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]=[],d=0;d<s;++d)if(u!==d){var p=a[d];(f.st>p.st&&f.st<p.et||p.st>f.st&&p.st<f.et)&&l.push(d)}return c.reduce(function(h,y){return Math.max(h,y.length)},0)}}});var Cs=D((Tm,r5)=>{var Ut=nt();Ct();r5.exports=Ut.cipher=Ut.cipher||{};Ut.cipher.algorithms=Ut.cipher.algorithms||{};Ut.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ut.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ut.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};Ut.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ut.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ut.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};Ut.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),Ut.cipher.algorithms[e]=t};Ut.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in Ut.cipher.algorithms?Ut.cipher.algorithms[e]:null};var Is=Ut.cipher.BlockCipher=function(e){this.algorithm=e.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=e.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=e.decrypt,this.algorithm.initialize(e)};Is.prototype.start=function(e){e=e||{};var t={};for(var r in e)t[r]=e[r];t.decrypt=this._decrypt,this._finish=!1,this._input=Ut.util.createBuffer(),this.output=e.output||Ut.util.createBuffer(),this.mode.start(t)};Is.prototype.update=function(e){for(e&&this._input.putBuffer(e);!this._op.call(this.mode,this._input,this.output,this._finish)&&!this._finish;);this._input.compact()};Is.prototype.finish=function(e){e&&(this.mode.name==="ECB"||this.mode.name==="CBC")&&(this.mode.pad=function(r){return e(this.blockSize,r,!1)},this.mode.unpad=function(r){return e(this.blockSize,r,!0)});var t={};return t.decrypt=this._decrypt,t.overflow=this._input.length()%this.blockSize,!(!this._decrypt&&this.mode.pad&&!this.mode.pad(this._input,t)||(this._finish=!0,this.update(),this._decrypt&&this.mode.unpad&&!this.mode.unpad(this.output,t))||this.mode.afterFinish&&!this.mode.afterFinish(this.output,t))}});var Ts=D((Rm,n5)=>{var Ot=nt();Ct();Ot.cipher=Ot.cipher||{};var G=n5.exports=Ot.cipher.modes=Ot.cipher.modes||{};G.ecb=function(e){e=e||{},this.name="ECB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};G.ecb.prototype.start=function(e){};G.ecb.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};G.ecb.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n])};G.ecb.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};G.ecb.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};G.cbc=function(e){e=e||{},this.name="CBC",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints)};G.cbc.prototype.start=function(e){if(e.iv===null){if(!this._prev)throw new Error("Invalid IV parameter.");this._iv=this._prev.slice(0)}else if("iv"in e)this._iv=Gi(e.iv,this.blockSize),this._prev=this._iv.slice(0);else throw new Error("Invalid IV parameter.")};G.cbc.prototype.encrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=this._prev[n]^e.getInt32();this.cipher.encrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._outBlock[n]);this._prev=this._outBlock};G.cbc.prototype.decrypt=function(e,t,r){if(e.length()<this.blockSize&&!(r&&e.length()>0))return!0;for(var n=0;n<this._ints;++n)this._inBlock[n]=e.getInt32();this.cipher.decrypt(this._inBlock,this._outBlock);for(var n=0;n<this._ints;++n)t.putInt32(this._prev[n]^this._outBlock[n]);this._prev=this._inBlock.slice(0)};G.cbc.prototype.pad=function(e,t){var r=e.length()===this.blockSize?this.blockSize:this.blockSize-e.length();return e.fillWithByte(r,r),!0};G.cbc.prototype.unpad=function(e,t){if(t.overflow>0)return!1;var r=e.length(),n=e.at(r-1);return n>this.blockSize<<2?!1:(e.truncate(n),!0)};G.cfb=function(e){e=e||{},this.name="CFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};G.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Gi(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};G.cfb.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32()^this._outBlock[i],t.putInt32(this._inBlock[i]);return}var 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]=e.getInt32()^this._outBlock[i],this._partialOutput.putInt32(this._partialBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};G.cfb.prototype.decrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)this._inBlock[i]=e.getInt32(),t.putInt32(this._inBlock[i]^this._outBlock[i]);return}var 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]=e.getInt32(),this._partialOutput.putInt32(this._partialBlock[i]^this._outBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._partialBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};G.ofb=function(e){e=e||{},this.name="OFB",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};G.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Gi(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};G.ofb.prototype.encrypt=function(e,t,r){var n=e.length();if(e.length()===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)t.putInt32(e.getInt32()^this._outBlock[i]),this._inBlock[i]=this._outBlock[i];return}var 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(e.getInt32()^this._outBlock[i]);if(o>0)e.read-=this.blockSize;else for(var i=0;i<this._ints;++i)this._inBlock[i]=this._outBlock[i];if(this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0};G.ofb.prototype.decrypt=G.ofb.prototype.encrypt;G.ctr=function(e){e=e||{},this.name="CTR",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=null,this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0};G.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=Gi(e.iv,this.blockSize),this._inBlock=this._iv.slice(0),this._partialBytes=0};G.ctr.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize)for(var i=0;i<this._ints;++i)t.putInt32(e.getInt32()^this._outBlock[i]);else{var 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(e.getInt32()^this._outBlock[i]);if(o>0&&(e.read-=this.blockSize),this._partialBytes>0&&this._partialOutput.getBytes(this._partialBytes),o>0&&!r)return t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}Qi(this._inBlock)};G.ctr.prototype.decrypt=G.ctr.prototype.encrypt;G.gcm=function(e){e=e||{},this.name="GCM",this.cipher=e.cipher,this.blockSize=e.blockSize||16,this._ints=this.blockSize/4,this._inBlock=new Array(this._ints),this._outBlock=new Array(this._ints),this._partialOutput=Ot.util.createBuffer(),this._partialBytes=0,this._R=3774873600};G.gcm.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");var t=Ot.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=Ot.util.createBuffer(e.additionalData):r=Ot.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=Ot.util.createBuffer(e.tag).getBytes(),this._tag.length!==this._tagLength/8))throw new Error("Authentication tag does not match tag length.");this._hashBlock=new Array(this._ints),this.tag=null,this._hashSubkey=new Array(this._ints),this.cipher.encrypt([0,0,0,0],this._hashSubkey),this.componentBits=4,this._m=this.generateHashTable(this._hashSubkey,this.componentBits);var n=t.length();if(n===12)this._j0=[t.getInt32(),t.getInt32(),t.getInt32(),1];else{for(this._j0=[0,0,0,0];t.length()>0;)this._j0=this.ghash(this._hashSubkey,this._j0,[t.getInt32(),t.getInt32(),t.getInt32(),t.getInt32()]);this._j0=this.ghash(this._hashSubkey,this._j0,[0,0].concat(_s(n*8)))}this._inBlock=this._j0.slice(0),Qi(this._inBlock),this._partialBytes=0,r=Ot.util.createBuffer(r),this._aDataLength=_s(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()])};G.gcm.prototype.encrypt=function(e,t,r){var n=e.length();if(n===0)return!0;if(this.cipher.encrypt(this._inBlock,this._outBlock),this._partialBytes===0&&n>=this.blockSize){for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^=e.getInt32());this._cipherLength+=this.blockSize}else{var 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(e.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 e.read-=this.blockSize,t.putBytes(this._partialOutput.getBytes(o-this._partialBytes)),this._partialBytes=o,!0;t.putBytes(this._partialOutput.getBytes(n-this._partialBytes)),this._partialBytes=0}this._s=this.ghash(this._hashSubkey,this._s,this._outBlock),Qi(this._inBlock)};G.gcm.prototype.decrypt=function(e,t,r){var n=e.length();if(n<this.blockSize&&!(r&&n>0))return!0;this.cipher.encrypt(this._inBlock,this._outBlock),Qi(this._inBlock),this._hashBlock[0]=e.getInt32(),this._hashBlock[1]=e.getInt32(),this._hashBlock[2]=e.getInt32(),this._hashBlock[3]=e.getInt32(),this._s=this.ghash(this._hashSubkey,this._s,this._hashBlock);for(var i=0;i<this._ints;++i)t.putInt32(this._outBlock[i]^this._hashBlock[i]);n<this.blockSize?this._cipherLength+=n%this.blockSize:this._cipherLength+=this.blockSize};G.gcm.prototype.afterFinish=function(e,t){var r=!0;t.decrypt&&t.overflow&&e.truncate(this.blockSize-t.overflow),this.tag=Ot.util.createBuffer();var n=this._aDataLength.concat(_s(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)),t.decrypt&&this.tag.bytes()!==this._tag&&(r=!1),r};G.gcm.prototype.multiply=function(e,t){for(var r=[0,0,0,0],n=t.slice(0),i=0;i<128;++i){var o=e[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};G.gcm.prototype.pow=function(e,t){for(var r=e[3]&1,n=3;n>0;--n)t[n]=e[n]>>>1|(e[n-1]&1)<<31;t[0]=e[0]>>>1,r&&(t[0]^=this._R)};G.gcm.prototype.tableMultiply=function(e){for(var t=[0,0,0,0],r=0;r<32;++r){var n=r/8|0,i=e[n]>>>(7-r%8)*4&15,o=this._m[r][i];t[0]^=o[0],t[1]^=o[1],t[2]^=o[2],t[3]^=o[3]}return t};G.gcm.prototype.ghash=function(e,t,r){return t[0]^=r[0],t[1]^=r[1],t[2]^=r[2],t[3]^=r[3],this.tableMultiply(t)};G.gcm.prototype.generateHashTable=function(e,t){for(var r=8/t,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)*t;a[c]=1<<t-1<<u,o[s]=this.generateSubHashTable(this.multiply(a,e),t)}return o};G.gcm.prototype.generateSubHashTable=function(e,t){var r=1<<t,n=r>>>1,i=new Array(r);i[n]=e.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]=[e[0]^u[0],e[1]^u[1],e[2]^u[2],e[3]^u[3]]}return i};function Gi(e,t){if(typeof e=="string"&&(e=Ot.util.createBuffer(e)),Ot.util.isArray(e)&&e.length>4){var r=e;e=Ot.util.createBuffer();for(var n=0;n<r.length;++n)e.putByte(r[n])}if(e.length()<t)throw new Error("Invalid IV length; got "+e.length()+" bytes and expected "+t+" bytes.");if(!Ot.util.isArray(e)){for(var i=[],o=t/4,n=0;n<o;++n)i.push(e.getInt32());e=i}return e}function Qi(e){e[e.length-1]=e[e.length-1]+1&4294967295}function _s(e){return[e/4294967296|0,e&4294967295]}});var Yi=D((Pm,a5)=>{var st=nt();Cs();Ts();Ct();a5.exports=st.aes=st.aes||{};st.aes.startEncrypting=function(e,t,r,n){var i=Wi({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};st.aes.createEncryptionCipher=function(e,t){return Wi({key:e,output:null,decrypt:!1,mode:t})};st.aes.startDecrypting=function(e,t,r,n){var i=Wi({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};st.aes.createDecryptionCipher=function(e,t){return Wi({key:e,output:null,decrypt:!0,mode:t})};st.aes.Algorithm=function(e,t){Ls||o5();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return Ps(r._w,n,i,!1)},decrypt:function(n,i){return Ps(r._w,n,i,!0)}}}),r._init=!1};st.aes.Algorithm.prototype.initialize=function(e){if(!this._init){var t=e.key,r;if(typeof t=="string"&&(t.length===16||t.length===24||t.length===32))t=st.util.createBuffer(t);else if(st.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=st.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!st.util.isArray(t)){r=t,t=[];var i=r.length();if(i===16||i===24||i===32){i=i>>>2;for(var n=0;n<i;++n)t.push(r.getInt32())}}if(!st.util.isArray(t)||!(t.length===4||t.length===6||t.length===8))throw new Error("Invalid key parameter.");var o=this.mode.name,s=["CFB","OFB","CTR","GCM"].indexOf(o)!==-1;this._w=s5(t,e.decrypt&&!s),this._init=!0}};st.aes._expandKey=function(e,t){return Ls||o5(),s5(e,t)};st.aes._updateBlock=Ps;Kn("AES-ECB",st.cipher.modes.ecb);Kn("AES-CBC",st.cipher.modes.cbc);Kn("AES-CFB",st.cipher.modes.cfb);Kn("AES-OFB",st.cipher.modes.ofb);Kn("AES-CTR",st.cipher.modes.ctr);Kn("AES-GCM",st.cipher.modes.gcm);function Kn(e,t){var r=function(){return new st.aes.Algorithm(e,t)};st.cipher.registerAlgorithm(e,r)}var Ls=!1,Mn=4,$t,Rs,i5,Zr,be;function o5(){Ls=!0,i5=[0,1,2,4,8,16,32,64,128,27,54];for(var e=new Array(256),t=0;t<128;++t)e[t]=t<<1,e[t+128]=t+128<<1^283;$t=new Array(256),Rs=new Array(256),Zr=new Array(4),be=new Array(4);for(var t=0;t<4;++t)Zr[t]=new Array(256),be[t]=new Array(256);for(var r=0,n=0,i,o,s,a,c,u,f,t=0;t<256;++t){a=n^n<<1^n<<2^n<<3^n<<4,a=a>>8^a&255^99,$t[r]=a,Rs[a]=r,c=e[a],i=e[r],o=e[i],s=e[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)Zr[l][r]=u,be[l][a]=f,u=u<<24|u>>>8,f=f<<24|f>>>8;r===0?r=n=1:(r=i^e[e[e[i^s]]],n^=e[e[n]])}}function s5(e,t){for(var r=e.slice(0),n,i=1,o=r.length,s=o+6+1,a=Mn*s,c=o;c<a;++c)n=r[c-1],c%o===0?(n=$t[n>>>16&255]<<24^$t[n>>>8&255]<<16^$t[n&255]<<8^$t[n>>>24]^i5[i]<<24,i++):o>6&&c%o===4&&(n=$t[n>>>24]<<24^$t[n>>>16&255]<<16^$t[n>>>8&255]<<8^$t[n&255]),r[c]=r[c-o]^n;if(t){var u,f=be[0],l=be[1],d=be[2],p=be[3],h=r.slice(0);a=r.length;for(var c=0,y=a-Mn;c<a;c+=Mn,y-=Mn)if(c===0||c===a-Mn)h[c]=r[y],h[c+1]=r[y+3],h[c+2]=r[y+2],h[c+3]=r[y+1];else for(var g=0;g<Mn;++g)u=r[y+g],h[c+(3&-g)]=f[$t[u>>>24]]^l[$t[u>>>16&255]]^d[$t[u>>>8&255]]^p[$t[u&255]];r=h}return r}function Ps(e,t,r,n){var i=e.length/4-1,o,s,a,c,u;n?(o=be[0],s=be[1],a=be[2],c=be[3],u=Rs):(o=Zr[0],s=Zr[1],a=Zr[2],c=Zr[3],u=$t);var f,l,d,p,h,y,g;f=t[0]^e[0],l=t[n?3:1]^e[1],d=t[2]^e[2],p=t[n?1:3]^e[3];for(var m=3,v=1;v<i;++v)h=o[f>>>24]^s[l>>>16&255]^a[d>>>8&255]^c[p&255]^e[++m],y=o[l>>>24]^s[d>>>16&255]^a[p>>>8&255]^c[f&255]^e[++m],g=o[d>>>24]^s[p>>>16&255]^a[f>>>8&255]^c[l&255]^e[++m],p=o[p>>>24]^s[f>>>16&255]^a[l>>>8&255]^c[d&255]^e[++m],f=h,l=y,d=g;r[0]=u[f>>>24]<<24^u[l>>>16&255]<<16^u[d>>>8&255]<<8^u[p&255]^e[++m],r[n?3:1]=u[l>>>24]<<24^u[d>>>16&255]<<16^u[p>>>8&255]<<8^u[f&255]^e[++m],r[2]=u[d>>>24]<<24^u[p>>>16&255]<<16^u[f>>>8&255]<<8^u[l&255]^e[++m],r[n?1:3]=u[p>>>24]<<24^u[f>>>16&255]<<16^u[l>>>8&255]<<8^u[d&255]^e[++m]}function Wi(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=st.cipher.createDecipher(r,e.key):n=st.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof st.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Zi=D((qm,c5)=>{var _0=nt();_0.pki=_0.pki||{};var ks=c5.exports=_0.pki.oids=_0.oids=_0.oids||{};function I(e,t){ks[e]=t,ks[t]=e}function rt(e,t){ks[e]=t}I("1.2.840.113549.1.1.1","rsaEncryption");I("1.2.840.113549.1.1.4","md5WithRSAEncryption");I("1.2.840.113549.1.1.5","sha1WithRSAEncryption");I("1.2.840.113549.1.1.7","RSAES-OAEP");I("1.2.840.113549.1.1.8","mgf1");I("1.2.840.113549.1.1.9","pSpecified");I("1.2.840.113549.1.1.10","RSASSA-PSS");I("1.2.840.113549.1.1.11","sha256WithRSAEncryption");I("1.2.840.113549.1.1.12","sha384WithRSAEncryption");I("1.2.840.113549.1.1.13","sha512WithRSAEncryption");I("1.3.101.112","EdDSA25519");I("1.2.840.10040.4.3","dsa-with-sha1");I("1.3.14.3.2.7","desCBC");I("1.3.14.3.2.26","sha1");I("1.3.14.3.2.29","sha1WithRSASignature");I("2.16.840.1.101.3.4.2.1","sha256");I("2.16.840.1.101.3.4.2.2","sha384");I("2.16.840.1.101.3.4.2.3","sha512");I("2.16.840.1.101.3.4.2.4","sha224");I("2.16.840.1.101.3.4.2.5","sha512-224");I("2.16.840.1.101.3.4.2.6","sha512-256");I("1.2.840.113549.2.2","md2");I("1.2.840.113549.2.5","md5");I("1.2.840.113549.1.7.1","data");I("1.2.840.113549.1.7.2","signedData");I("1.2.840.113549.1.7.3","envelopedData");I("1.2.840.113549.1.7.4","signedAndEnvelopedData");I("1.2.840.113549.1.7.5","digestedData");I("1.2.840.113549.1.7.6","encryptedData");I("1.2.840.113549.1.9.1","emailAddress");I("1.2.840.113549.1.9.2","unstructuredName");I("1.2.840.113549.1.9.3","contentType");I("1.2.840.113549.1.9.4","messageDigest");I("1.2.840.113549.1.9.5","signingTime");I("1.2.840.113549.1.9.6","counterSignature");I("1.2.840.113549.1.9.7","challengePassword");I("1.2.840.113549.1.9.8","unstructuredAddress");I("1.2.840.113549.1.9.14","extensionRequest");I("1.2.840.113549.1.9.20","friendlyName");I("1.2.840.113549.1.9.21","localKeyId");I("1.2.840.113549.1.9.22.1","x509Certificate");I("1.2.840.113549.1.12.10.1.1","keyBag");I("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");I("1.2.840.113549.1.12.10.1.3","certBag");I("1.2.840.113549.1.12.10.1.4","crlBag");I("1.2.840.113549.1.12.10.1.5","secretBag");I("1.2.840.113549.1.12.10.1.6","safeContentsBag");I("1.2.840.113549.1.5.13","pkcs5PBES2");I("1.2.840.113549.1.5.12","pkcs5PBKDF2");I("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");I("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");I("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");I("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");I("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");I("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");I("1.2.840.113549.2.7","hmacWithSHA1");I("1.2.840.113549.2.8","hmacWithSHA224");I("1.2.840.113549.2.9","hmacWithSHA256");I("1.2.840.113549.2.10","hmacWithSHA384");I("1.2.840.113549.2.11","hmacWithSHA512");I("1.2.840.113549.3.7","des-EDE3-CBC");I("2.16.840.1.101.3.4.1.2","aes128-CBC");I("2.16.840.1.101.3.4.1.22","aes192-CBC");I("2.16.840.1.101.3.4.1.42","aes256-CBC");I("2.5.4.3","commonName");I("2.5.4.4","surname");I("2.5.4.5","serialNumber");I("2.5.4.6","countryName");I("2.5.4.7","localityName");I("2.5.4.8","stateOrProvinceName");I("2.5.4.9","streetAddress");I("2.5.4.10","organizationName");I("2.5.4.11","organizationalUnitName");I("2.5.4.12","title");I("2.5.4.13","description");I("2.5.4.15","businessCategory");I("2.5.4.17","postalCode");I("2.5.4.42","givenName");I("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");I("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");I("2.16.840.1.113730.1.1","nsCertType");I("2.16.840.1.113730.1.13","nsComment");rt("2.5.29.1","authorityKeyIdentifier");rt("2.5.29.2","keyAttributes");rt("2.5.29.3","certificatePolicies");rt("2.5.29.4","keyUsageRestriction");rt("2.5.29.5","policyMapping");rt("2.5.29.6","subtreesConstraint");rt("2.5.29.7","subjectAltName");rt("2.5.29.8","issuerAltName");rt("2.5.29.9","subjectDirectoryAttributes");rt("2.5.29.10","basicConstraints");rt("2.5.29.11","nameConstraints");rt("2.5.29.12","policyConstraints");rt("2.5.29.13","basicConstraints");I("2.5.29.14","subjectKeyIdentifier");I("2.5.29.15","keyUsage");rt("2.5.29.16","privateKeyUsagePeriod");I("2.5.29.17","subjectAltName");I("2.5.29.18","issuerAltName");I("2.5.29.19","basicConstraints");rt("2.5.29.20","cRLNumber");rt("2.5.29.21","cRLReason");rt("2.5.29.22","expirationDate");rt("2.5.29.23","instructionCode");rt("2.5.29.24","invalidityDate");rt("2.5.29.25","cRLDistributionPoints");rt("2.5.29.26","issuingDistributionPoint");rt("2.5.29.27","deltaCRLIndicator");rt("2.5.29.28","issuingDistributionPoint");rt("2.5.29.29","certificateIssuer");rt("2.5.29.30","nameConstraints");I("2.5.29.31","cRLDistributionPoints");I("2.5.29.32","certificatePolicies");rt("2.5.29.33","policyMappings");rt("2.5.29.34","policyConstraints");I("2.5.29.35","authorityKeyIdentifier");rt("2.5.29.36","policyConstraints");I("2.5.29.37","extKeyUsage");rt("2.5.29.46","freshestCRL");rt("2.5.29.54","inhibitAnyPolicy");I("1.3.6.1.4.1.11129.2.4.2","timestampList");I("1.3.6.1.5.5.7.1.1","authorityInfoAccess");I("1.3.6.1.5.5.7.3.1","serverAuth");I("1.3.6.1.5.5.7.3.2","clientAuth");I("1.3.6.1.5.5.7.3.3","codeSigning");I("1.3.6.1.5.5.7.3.4","emailProtection");I("1.3.6.1.5.5.7.3.8","timeStamping")});var R0=D((zm,f5)=>{var ut=nt();Ct();Zi();var T=f5.exports=ut.asn1=ut.asn1||{};T.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};T.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};T.create=function(e,t,r,n,i){if(ut.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:e,type:t,constructed:r,composed:r||ut.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=T.copy(a)),a};T.copy=function(e,t){var r;if(ut.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(T.copy(e[n],t));return r}return typeof e=="string"?e:(r={tagClass:e.tagClass,type:e.type,constructed:e.constructed,composed:e.composed,value:T.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};T.equals=function(e,t,r){if(ut.util.isArray(e)){if(!ut.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!T.equals(e[n],t[n]))return!1;return!0}if(typeof e!=typeof t)return!1;if(typeof e=="string")return e===t;var i=e.tagClass===t.tagClass&&e.type===t.type&&e.constructed===t.constructed&&e.composed===t.composed&&T.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};T.getBerValueLength=function(e){var t=e.getByte();if(t!==128){var r,n=t&128;return n?r=e.getInt((t&127)<<3):r=t,r}};function T0(e,t,r){if(r>t){var n=new Error("Too few bytes to parse DER.");throw n.available=e.length(),n.remaining=t,n.requested=r,n}}var C7=function(e,t){var r=e.getByte();if(t--,r!==128){var n,i=r&128;if(!i)n=r;else{var o=r&127;T0(e,t,o),n=e.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};T.fromDer=function(e,t){t===void 0&&(t={strict:!0,parseAllBytes:!0,decodeBitStrings:!0}),typeof t=="boolean"&&(t={strict:t,parseAllBytes:!0,decodeBitStrings:!0}),"strict"in t||(t.strict=!0),"parseAllBytes"in t||(t.parseAllBytes=!0),"decodeBitStrings"in t||(t.decodeBitStrings=!0),typeof e=="string"&&(e=ut.util.createBuffer(e));var r=e.length(),n=Xi(e,e.length(),0,t);if(t.parseAllBytes&&e.length()!==0){var i=new Error("Unparsed DER bytes remain after ASN.1 parsing.");throw i.byteCount=r,i.remaining=e.length(),i}return n};function Xi(e,t,r,n){var i;T0(e,t,2);var o=e.getByte();t--;var s=o&192,a=o&31;i=e.length();var c=C7(e,t);if(t-=i-e.length(),c!==void 0&&c>t){if(n.strict){var u=new Error("Too few bytes to read ASN.1 value.");throw u.available=e.length(),u.remaining=t,u.requested=c,u}c=t}var f,l,d=(o&32)===32;if(d)if(f=[],c===void 0)for(;;){if(T0(e,t,2),e.bytes(2)===String.fromCharCode(0,0)){e.getBytes(2),t-=2;break}i=e.length(),f.push(Xi(e,t,r+1,n)),t-=i-e.length()}else for(;c>0;)i=e.length(),f.push(Xi(e,c,r+1,n)),t-=i-e.length(),c-=i-e.length();if(f===void 0&&s===T.Class.UNIVERSAL&&a===T.Type.BITSTRING&&(l=e.bytes(c)),f===void 0&&n.decodeBitStrings&&s===T.Class.UNIVERSAL&&a===T.Type.BITSTRING&&c>1){var p=e.read,h=t,y=0;if(a===T.Type.BITSTRING&&(T0(e,t,1),y=e.getByte(),t--),y===0)try{i=e.length();var g={strict:!0,decodeBitStrings:!0},m=Xi(e,t,r+1,g),v=i-e.length();t-=v,a==T.Type.BITSTRING&&v++;var b=m.tagClass;v===c&&(b===T.Class.UNIVERSAL||b===T.Class.CONTEXT_SPECIFIC)&&(f=[m])}catch{}f===void 0&&(e.read=p,t=h)}if(f===void 0){if(c===void 0){if(n.strict)throw new Error("Non-constructed ASN.1 object of indefinite length.");c=t}if(a===T.Type.BMPSTRING)for(f="";c>0;c-=2)T0(e,t,2),f+=String.fromCharCode(e.getInt16()),t-=2;else f=e.getBytes(c),t-=c}var N=l===void 0?null:{bitStringContents:l};return T.create(s,a,d,f,N)}T.toDer=function(e){var t=ut.util.createBuffer(),r=e.tagClass|e.type,n=ut.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=T.equals(e,e.original))),i)n.putBytes(e.bitStringContents);else if(e.composed){e.constructed?r|=32:n.putByte(0);for(var o=0;o<e.value.length;++o)e.value[o]!==void 0&&n.putBuffer(T.toDer(e.value[o]))}else if(e.type===T.Type.BMPSTRING)for(var o=0;o<e.value.length;++o)n.putInt16(e.value.charCodeAt(o));else e.type===T.Type.INTEGER&&e.value.length>1&&(e.value.charCodeAt(0)===0&&!(e.value.charCodeAt(1)&128)||e.value.charCodeAt(0)===255&&(e.value.charCodeAt(1)&128)===128)?n.putBytes(e.value.substr(1)):n.putBytes(e.value);if(t.putByte(r),n.length()<=127)t.putByte(n.length()&127);else{var s=n.length(),a="";do a+=String.fromCharCode(s&255),s=s>>>8;while(s>0);t.putByte(a.length|128);for(var o=a.length-1;o>=0;--o)t.putByte(a.charCodeAt(o))}return t.putBuffer(n),t};T.oidToDer=function(e){var t=e.split("."),r=ut.util.createBuffer();r.putByte(40*parseInt(t[0],10)+parseInt(t[1],10));for(var n,i,o,s,a=2;a<t.length;++a){n=!0,i=[],o=parseInt(t[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};T.derToOid=function(e){var t;typeof e=="string"&&(e=ut.util.createBuffer(e));var r=e.getByte();t=Math.floor(r/40)+"."+r%40;for(var n=0;e.length()>0;)r=e.getByte(),n=n<<7,r&128?n+=r&127:(t+="."+(n+r),n=0);return t};T.utcTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,2),10);r=r>=50?1900+r:2e3+r;var n=parseInt(e.substr(2,2),10)-1,i=parseInt(e.substr(4,2),10),o=parseInt(e.substr(6,2),10),s=parseInt(e.substr(8,2),10),a=0;if(e.length>11){var c=e.charAt(10),u=10;c!=="+"&&c!=="-"&&(a=parseInt(e.substr(10,2),10),u+=2)}if(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,0),u&&(c=e.charAt(u),c==="+"||c==="-")){var f=parseInt(e.substr(u+1,2),10),l=parseInt(e.substr(u+4,2),10),d=f*60+l;d*=6e4,c==="+"?t.setTime(+t-d):t.setTime(+t+d)}return t};T.generalizedTimeToDate=function(e){var t=new Date,r=parseInt(e.substr(0,4),10),n=parseInt(e.substr(4,2),10)-1,i=parseInt(e.substr(6,2),10),o=parseInt(e.substr(8,2),10),s=parseInt(e.substr(10,2),10),a=parseInt(e.substr(12,2),10),c=0,u=0,f=!1;e.charAt(e.length-1)==="Z"&&(f=!0);var l=e.length-5,d=e.charAt(l);if(d==="+"||d==="-"){var p=parseInt(e.substr(l+1,2),10),h=parseInt(e.substr(l+4,2),10);u=p*60+h,u*=6e4,d==="+"&&(u*=-1),f=!0}return e.charAt(14)==="."&&(c=parseFloat(e.substr(14),10)*1e3),f?(t.setUTCFullYear(r,n,i),t.setUTCHours(o,s,a,c),t.setTime(+t+u)):(t.setFullYear(r,n,i),t.setHours(o,s,a,c)),t};T.dateToUtcTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push((""+e.getUTCFullYear()).substr(2)),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};T.dateToGeneralizedTime=function(e){if(typeof e=="string")return e;var t="",r=[];r.push(""+e.getUTCFullYear()),r.push(""+(e.getUTCMonth()+1)),r.push(""+e.getUTCDate()),r.push(""+e.getUTCHours()),r.push(""+e.getUTCMinutes()),r.push(""+e.getUTCSeconds());for(var n=0;n<r.length;++n)r[n].length<2&&(t+="0"),t+=r[n];return t+="Z",t};T.integerToDer=function(e){var t=ut.util.createBuffer();if(e>=-128&&e<128)return t.putSignedInt(e,8);if(e>=-32768&&e<32768)return t.putSignedInt(e,16);if(e>=-8388608&&e<8388608)return t.putSignedInt(e,24);if(e>=-2147483648&&e<2147483648)return t.putSignedInt(e,32);var r=new Error("Integer too large; max is 32-bits.");throw r.integer=e,r};T.derToInteger=function(e){typeof e=="string"&&(e=ut.util.createBuffer(e));var t=e.length()*8;if(t>32)throw new Error("Integer too large; max is 32-bits.");return e.getSignedInt(t)};T.validate=function(e,t,r,n){var i=!1;if((e.tagClass===t.tagClass||typeof t.tagClass>"u")&&(e.type===t.type||typeof t.type>"u"))if(e.constructed===t.constructed||typeof t.constructed>"u"){if(i=!0,t.value&&ut.util.isArray(t.value))for(var o=0,s=0;i&&s<t.value.length;++s)i=t.value[s].optional||!1,e.value[o]&&(i=T.validate(e.value[o],t.value[s],r,n),i?++o:t.value[s].optional&&(i=!0)),!i&&n&&n.push("["+t.name+'] Tag class "'+t.tagClass+'", type "'+t.type+'" expected value length "'+t.value.length+'", got "'+e.value.length+'"');if(i&&r&&(t.capture&&(r[t.capture]=e.value),t.captureAsn1&&(r[t.captureAsn1]=e),t.captureBitStringContents&&"bitStringContents"in e&&(r[t.captureBitStringContents]=e.bitStringContents),t.captureBitStringValue&&"bitStringContents"in e)){var a;if(e.bitStringContents.length<2)r[t.captureBitStringValue]="";else{var c=e.bitStringContents.charCodeAt(0);if(c!==0)throw new Error("captureBitStringValue only supported for zero unused bits");r[t.captureBitStringValue]=e.bitStringContents.slice(1)}}}else n&&n.push("["+t.name+'] Expected constructed "'+t.constructed+'", got "'+e.constructed+'"');else n&&(e.tagClass!==t.tagClass&&n.push("["+t.name+'] Expected tag class "'+t.tagClass+'", got "'+e.tagClass+'"'),e.type!==t.type&&n.push("["+t.name+'] Expected type "'+t.type+'", got "'+e.type+'"'));return i};var u5=/[^\\u0000-\\u00ff]/;T.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
|
|
7
7
|
`);for(var i="",o=0;o<t*r;++o)i+=" ";switch(n+=i+"Tag: ",e.tagClass){case T.Class.UNIVERSAL:n+="Universal:";break;case T.Class.APPLICATION:n+="Application:";break;case T.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case T.Class.PRIVATE:n+="Private:";break}if(e.tagClass===T.Class.UNIVERSAL)switch(n+=e.type,e.type){case T.Type.NONE:n+=" (None)";break;case T.Type.BOOLEAN:n+=" (Boolean)";break;case T.Type.INTEGER:n+=" (Integer)";break;case T.Type.BITSTRING:n+=" (Bit string)";break;case T.Type.OCTETSTRING:n+=" (Octet string)";break;case T.Type.NULL:n+=" (Null)";break;case T.Type.OID:n+=" (Object Identifier)";break;case T.Type.ODESC:n+=" (Object Descriptor)";break;case T.Type.EXTERNAL:n+=" (External or Instance of)";break;case T.Type.REAL:n+=" (Real)";break;case T.Type.ENUMERATED:n+=" (Enumerated)";break;case T.Type.EMBEDDED:n+=" (Embedded PDV)";break;case T.Type.UTF8:n+=" (UTF8)";break;case T.Type.ROID:n+=" (Relative Object Identifier)";break;case T.Type.SEQUENCE:n+=" (Sequence)";break;case T.Type.SET:n+=" (Set)";break;case T.Type.PRINTABLESTRING:n+=" (Printable String)";break;case T.Type.IA5String:n+=" (IA5String (ASCII))";break;case T.Type.UTCTIME:n+=" (UTC time)";break;case T.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case T.Type.BMPSTRING:n+=" (BMP String)";break}else n+=e.type;if(n+=`
|
|
8
8
|
`,n+=i+"Constructed: "+e.constructed+`
|
|
9
|
-
`,e.composed){for(var s=0,a="",o=0;o<e.value.length;++o)e.value[o]!==void 0&&(s+=1,a+=T.prettyPrint(e.value[o],t+1,r),o+1<e.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",e.type===T.Type.OID){var u=T.derToOid(e.value);n+=u,ct.pki&&ct.pki.oids&&u in ct.pki.oids&&(n+=" ("+ct.pki.oids[u]+") ")}if(e.type===T.Type.INTEGER)try{n+=T.derToInteger(e.value)}catch{n+="0x"+ct.util.bytesToHex(e.value)}else if(e.type===T.Type.BITSTRING){if(e.value.length>1?n+="0x"+ct.util.bytesToHex(e.value.slice(1)):n+="(none)",e.value.length>0){var c=e.value.charCodeAt(0);c==1?n+=" (1 unused bit shown)":c>1&&(n+=" ("+c+" unused bits shown)")}}else if(e.type===T.Type.OCTETSTRING)E5.test(e.value)||(n+="("+e.value+") "),n+="0x"+ct.util.bytesToHex(e.value);else if(e.type===T.Type.UTF8)try{n+=ct.util.decodeUtf8(e.value)}catch(f){if(f.message==="URI malformed")n+="0x"+ct.util.bytesToHex(e.value)+" (malformed UTF8)";else throw f}else e.type===T.Type.PRINTABLESTRING||e.type===T.Type.IA5String?n+=e.value:E5.test(e.value)?n+="0x"+ct.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var I5=D((rx,B5)=>{var ht=et();Ts();Ps();Ct();B5.exports=ht.des=ht.des||{};ht.des.startEncrypting=function(e,t,r,n){var i=j1({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};ht.des.createEncryptionCipher=function(e,t){return j1({key:e,output:null,decrypt:!1,mode:t})};ht.des.startDecrypting=function(e,t,r,n){var i=j1({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};ht.des.createDecryptionCipher=function(e,t){return j1({key:e,output:null,decrypt:!0,mode:t})};ht.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return A5(r._keys,n,i,!1)},decrypt:function(n,i){return A5(r._keys,n,i,!0)}}}),r._init=!1};ht.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=ht.util.createBuffer(e.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=tl(t),this._init=!0}};Me("DES-ECB",ht.cipher.modes.ecb);Me("DES-CBC",ht.cipher.modes.cbc);Me("DES-CFB",ht.cipher.modes.cfb);Me("DES-OFB",ht.cipher.modes.ofb);Me("DES-CTR",ht.cipher.modes.ctr);Me("3DES-ECB",ht.cipher.modes.ecb);Me("3DES-CBC",ht.cipher.modes.cbc);Me("3DES-CFB",ht.cipher.modes.cfb);Me("3DES-OFB",ht.cipher.modes.ofb);Me("3DES-CTR",ht.cipher.modes.ctr);function Me(e,t){var r=function(){return new ht.des.Algorithm(e,t)};ht.cipher.registerAlgorithm(e,r)}var G7=[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],Q7=[-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],W7=[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],Y7=[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],Z7=[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],X7=[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],j7=[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],J7=[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 tl(e){for(var t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],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],u=[0,65536,2048,67584,536870912,536936448,536872960,536938496,131072,196608,133120,198656,537001984,537067520,537004032,537069568],c=[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],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],p=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],h=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],y=e.length()>8?3:1,g=[],m=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],v=0,b,L=0;L<y;L++){var _=e.getInt32(),C=e.getInt32();b=(_>>>4^C)&252645135,C^=b,_^=b<<4,b=(C>>>-16^_)&65535,_^=b,C^=b<<-16,b=(_>>>2^C)&858993459,C^=b,_^=b<<2,b=(C>>>-16^_)&65535,_^=b,C^=b<<-16,b=(_>>>1^C)&1431655765,C^=b,_^=b<<1,b=(C>>>8^_)&16711935,_^=b,C^=b<<8,b=(_>>>1^C)&1431655765,C^=b,_^=b<<1,b=_<<8|C>>>20&240,_=C<<24|C<<8&16711680|C>>>8&65280|C>>>24&240,C=b;for(var K=0;K<m.length;++K){m[K]?(_=_<<2|_>>>26,C=C<<2|C>>>26):(_=_<<1|_>>>27,C=C<<1|C>>>27),_&=-15,C&=-15;var $=t[_>>>28]|r[_>>>24&15]|n[_>>>20&15]|i[_>>>16&15]|o[_>>>12&15]|s[_>>>8&15]|a[_>>>4&15],Tt=u[C>>>28]|c[C>>>24&15]|f[C>>>20&15]|l[C>>>16&15]|d[C>>>12&15]|p[C>>>8&15]|h[C>>>4&15];b=(Tt>>>16^$)&65535,g[v++]=$^b,g[v++]=Tt^b<<16}}return g}function A5(e,t,r,n){var i=e.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=t[0],u=t[1];s=(a>>>4^u)&252645135,u^=s,a^=s<<4,s=(a>>>16^u)&65535,u^=s,a^=s<<16,s=(u>>>2^a)&858993459,a^=s,u^=s<<2,s=(u>>>8^a)&16711935,a^=s,u^=s<<8,s=(a>>>1^u)&1431655765,u^=s,a^=s<<1,a=a<<1|a>>>31,u=u<<1|u>>>31;for(var c=0;c<i;c+=3){for(var f=o[c+1],l=o[c+2],d=o[c];d!=f;d+=l){var p=u^e[d],h=(u>>>4|u<<28)^e[d+1];s=a,a=u,u=s^(Q7[p>>>24&63]|Y7[p>>>16&63]|X7[p>>>8&63]|J7[p&63]|G7[h>>>24&63]|W7[h>>>16&63]|Z7[h>>>8&63]|j7[h&63])}s=a,a=u,u=s}a=a>>>1|a<<31,u=u>>>1|u<<31,s=(a>>>1^u)&1431655765,u^=s,a^=s<<1,s=(u>>>8^a)&16711935,a^=s,u^=s<<8,s=(u>>>2^a)&858993459,a^=s,u^=s<<2,s=(a>>>16^u)&65535,u^=s,a^=s<<16,s=(a>>>4^u)&252645135,u^=s,a^=s<<4,r[0]=a,r[1]=u}function j1(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=ht.cipher.createDecipher(r,e.key):n=ht.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof ht.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Wr=D((nx,C5)=>{var J1=et();C5.exports=J1.md=J1.md||{};J1.md.algorithms=J1.md.algorithms||{}});var T5=D((ix,_5)=>{var sr=et();Wr();Ct();var el=_5.exports=sr.hmac=sr.hmac||{};el.create=function(){var e=null,t=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 sr.md.algorithms)t=sr.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else t=o;if(s===null)s=e;else{if(typeof s=="string")s=sr.util.createBuffer(s);else if(sr.util.isArray(s)){var a=s;s=sr.util.createBuffer();for(var u=0;u<a.length;++u)s.putByte(a[u])}var c=s.length();c>t.blockLength&&(t.start(),t.update(s.bytes()),s=t.digest()),r=sr.util.createBuffer(),n=sr.util.createBuffer(),c=s.length();for(var u=0;u<c;++u){var a=s.at(u);r.putByte(54^a),n.putByte(92^a)}if(c<t.blockLength)for(var a=t.blockLength-c,u=0;u<a;++u)r.putByte(54),n.putByte(92);e=s,r=r.bytes(),n=n.bytes()}t.start(),t.update(r)},i.update=function(o){t.update(o)},i.getMac=function(){var o=t.digest().bytes();return t.start(),t.update(n),t.update(o),t.digest()},i.digest=i.getMac,i}});var Kn=D(()=>{});var Us=D((ax,R5)=>{var Ht=et();T5();Wr();Ct();var rl=Ht.pkcs5=Ht.pkcs5||{},ar;Ht.util.isNodejs&&!Ht.options.usePureJavaScript&&(ar=Kn());R5.exports=Ht.pbkdf2=rl.pbkdf2=function(e,t,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),Ht.util.isNodejs&&!Ht.options.usePureJavaScript&&ar.pbkdf2&&(i===null||typeof i!="object")&&(ar.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),o?ar.pbkdf2Sync.length===4?ar.pbkdf2(e,t,r,n,function(b,L){if(b)return o(b);o(null,L.toString("binary"))}):ar.pbkdf2(e,t,r,n,i,function(b,L){if(b)return o(b);o(null,L.toString("binary"))}):ar.pbkdf2Sync.length===4?ar.pbkdf2Sync(e,t,r,n).toString("binary"):ar.pbkdf2Sync(e,t,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 u=Math.ceil(n/s),c=n-(u-1)*s,f=Ht.hmac.create();f.start(i,e);var l="",d,p,h;if(!o){for(var y=1;y<=u;++y){f.start(null,null),f.update(t),f.update(Ht.util.int32ToBytes(y)),d=h=f.digest().getBytes();for(var g=2;g<=r;++g)f.start(null,null),f.update(h),p=f.digest().getBytes(),d=Ht.util.xorBytes(d,p,s),h=p;l+=y<u?d:d.substr(0,c)}return l}var y=1,g;function m(){if(y>u)return o(null,l);f.start(null,null),f.update(t),f.update(Ht.util.int32ToBytes(y)),d=h=f.digest().getBytes(),g=2,v()}function v(){if(g<=r)return f.start(null,null),f.update(h),p=f.digest().getBytes(),d=Ht.util.xorBytes(d,p,s),h=p,++g,Ht.util.setImmediate(v);l+=y<u?d:d.substr(0,c),++y,m()}m()}});var L5=D((ux,N5)=>{var ei=et();Ct();var P5=N5.exports=ei.pem=ei.pem||{};P5.encode=function(e,t){t=t||{};var r="-----BEGIN "+e.type+`-----\r
|
|
10
|
-
`,n;if(e.procType&&(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]},r+=
|
|
11
|
-
`),r+=
|
|
9
|
+
`,e.composed){for(var s=0,a="",o=0;o<e.value.length;++o)e.value[o]!==void 0&&(s+=1,a+=T.prettyPrint(e.value[o],t+1,r),o+1<e.value.length&&(a+=","));n+=i+"Sub values: "+s+a}else{if(n+=i+"Value: ",e.type===T.Type.OID){var c=T.derToOid(e.value);n+=c,ut.pki&&ut.pki.oids&&c in ut.pki.oids&&(n+=" ("+ut.pki.oids[c]+") ")}if(e.type===T.Type.INTEGER)try{n+=T.derToInteger(e.value)}catch{n+="0x"+ut.util.bytesToHex(e.value)}else if(e.type===T.Type.BITSTRING){if(e.value.length>1?n+="0x"+ut.util.bytesToHex(e.value.slice(1)):n+="(none)",e.value.length>0){var u=e.value.charCodeAt(0);u==1?n+=" (1 unused bit shown)":u>1&&(n+=" ("+u+" unused bits shown)")}}else if(e.type===T.Type.OCTETSTRING)u5.test(e.value)||(n+="("+e.value+") "),n+="0x"+ut.util.bytesToHex(e.value);else if(e.type===T.Type.UTF8)try{n+=ut.util.decodeUtf8(e.value)}catch(f){if(f.message==="URI malformed")n+="0x"+ut.util.bytesToHex(e.value)+" (malformed UTF8)";else throw f}else e.type===T.Type.PRINTABLESTRING||e.type===T.Type.IA5String?n+=e.value:u5.test(e.value)?n+="0x"+ut.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var p5=D(($m,h5)=>{var dt=nt();Cs();Ts();Ct();h5.exports=dt.des=dt.des||{};dt.des.startEncrypting=function(e,t,r,n){var i=ji({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};dt.des.createEncryptionCipher=function(e,t){return ji({key:e,output:null,decrypt:!1,mode:t})};dt.des.startDecrypting=function(e,t,r,n){var i=ji({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};dt.des.createDecryptionCipher=function(e,t){return ji({key:e,output:null,decrypt:!0,mode:t})};dt.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return l5(r._keys,n,i,!1)},decrypt:function(n,i){return l5(r._keys,n,i,!0)}}}),r._init=!1};dt.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=dt.util.createBuffer(e.key);if(this.name.indexOf("3DES")===0&&t.length()!==24)throw new Error("Invalid Triple-DES key size: "+t.length()*8);this._keys=F7(t),this._init=!0}};Ke("DES-ECB",dt.cipher.modes.ecb);Ke("DES-CBC",dt.cipher.modes.cbc);Ke("DES-CFB",dt.cipher.modes.cfb);Ke("DES-OFB",dt.cipher.modes.ofb);Ke("DES-CTR",dt.cipher.modes.ctr);Ke("3DES-ECB",dt.cipher.modes.ecb);Ke("3DES-CBC",dt.cipher.modes.cbc);Ke("3DES-CFB",dt.cipher.modes.cfb);Ke("3DES-OFB",dt.cipher.modes.ofb);Ke("3DES-CTR",dt.cipher.modes.ctr);function Ke(e,t){var r=function(){return new dt.des.Algorithm(e,t)};dt.cipher.registerAlgorithm(e,r)}var _7=[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],T7=[-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],R7=[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],P7=[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],L7=[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],N7=[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],k7=[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],D7=[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 F7(e){for(var t=[0,4,536870912,536870916,65536,65540,536936448,536936452,512,516,536871424,536871428,66048,66052,536936960,536936964],r=[0,1,1048576,1048577,67108864,67108865,68157440,68157441,256,257,1048832,1048833,67109120,67109121,68157696,68157697],n=[0,8,2048,2056,16777216,16777224,16779264,16779272,0,8,2048,2056,16777216,16777224,16779264,16779272],i=[0,2097152,134217728,136314880,8192,2105344,134225920,136323072,131072,2228224,134348800,136445952,139264,2236416,134356992,136454144],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],d=[0,16777216,512,16777728,2097152,18874368,2097664,18874880,67108864,83886080,67109376,83886592,69206016,85983232,69206528,85983744],p=[0,4096,134217728,134221824,524288,528384,134742016,134746112,16,4112,134217744,134221840,524304,528400,134742032,134746128],h=[0,4,256,260,0,4,256,260,1,5,257,261,1,5,257,261],y=e.length()>8?3:1,g=[],m=[0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0],v=0,b,N=0;N<y;N++){var _=e.getInt32(),C=e.getInt32();b=(_>>>4^C)&252645135,C^=b,_^=b<<4,b=(C>>>-16^_)&65535,_^=b,C^=b<<-16,b=(_>>>2^C)&858993459,C^=b,_^=b<<2,b=(C>>>-16^_)&65535,_^=b,C^=b<<-16,b=(_>>>1^C)&1431655765,C^=b,_^=b<<1,b=(C>>>8^_)&16711935,_^=b,C^=b<<8,b=(_>>>1^C)&1431655765,C^=b,_^=b<<1,b=_<<8|C>>>20&240,_=C<<24|C<<8&16711680|C>>>8&65280|C>>>24&240,C=b;for(var V=0;V<m.length;++V){m[V]?(_=_<<2|_>>>26,C=C<<2|C>>>26):(_=_<<1|_>>>27,C=C<<1|C>>>27),_&=-15,C&=-15;var H=t[_>>>28]|r[_>>>24&15]|n[_>>>20&15]|i[_>>>16&15]|o[_>>>12&15]|s[_>>>8&15]|a[_>>>4&15],Tt=c[C>>>28]|u[C>>>24&15]|f[C>>>20&15]|l[C>>>16&15]|d[C>>>12&15]|p[C>>>8&15]|h[C>>>4&15];b=(Tt>>>16^H)&65535,g[v++]=H^b,g[v++]=Tt^b<<16}}return g}function l5(e,t,r,n){var i=e.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=t[0],c=t[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],d=o[u];d!=f;d+=l){var p=c^e[d],h=(c>>>4|c<<28)^e[d+1];s=a,a=c,c=s^(T7[p>>>24&63]|P7[p>>>16&63]|N7[p>>>8&63]|D7[p&63]|_7[h>>>24&63]|R7[h>>>16&63]|L7[h>>>8&63]|k7[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 ji(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=dt.cipher.createDecipher(r,e.key):n=dt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof dt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Xr=D((Hm,d5)=>{var Ji=nt();d5.exports=Ji.md=Ji.md||{};Ji.md.algorithms=Ji.md.algorithms||{}});var g5=D((Gm,y5)=>{var ar=nt();Xr();Ct();var U7=y5.exports=ar.hmac=ar.hmac||{};U7.create=function(){var e=null,t=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 ar.md.algorithms)t=ar.md.algorithms[o].create();else throw new Error('Unknown hash algorithm "'+o+'"');else t=o;if(s===null)s=e;else{if(typeof s=="string")s=ar.util.createBuffer(s);else if(ar.util.isArray(s)){var a=s;s=ar.util.createBuffer();for(var c=0;c<a.length;++c)s.putByte(a[c])}var u=s.length();u>t.blockLength&&(t.start(),t.update(s.bytes()),s=t.digest()),r=ar.util.createBuffer(),n=ar.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<t.blockLength)for(var a=t.blockLength-u,c=0;c<a;++c)r.putByte(54),n.putByte(92);e=s,r=r.bytes(),n=n.bytes()}t.start(),t.update(r)},i.update=function(o){t.update(o)},i.getMac=function(){var o=t.digest().bytes();return t.start(),t.update(n),t.update(o),t.digest()},i.digest=i.getMac,i}});var qn=D(()=>{});var Ds=D((Ym,m5)=>{var Ht=nt();g5();Xr();Ct();var O7=Ht.pkcs5=Ht.pkcs5||{},cr;Ht.util.isNodejs&&!Ht.options.usePureJavaScript&&(cr=qn());m5.exports=Ht.pbkdf2=O7.pbkdf2=function(e,t,r,n,i,o){if(typeof i=="function"&&(o=i,i=null),Ht.util.isNodejs&&!Ht.options.usePureJavaScript&&cr.pbkdf2&&(i===null||typeof i!="object")&&(cr.pbkdf2Sync.length>4||!i||i==="sha1"))return typeof i!="string"&&(i="sha1"),e=Buffer.from(e,"binary"),t=Buffer.from(t,"binary"),o?cr.pbkdf2Sync.length===4?cr.pbkdf2(e,t,r,n,function(b,N){if(b)return o(b);o(null,N.toString("binary"))}):cr.pbkdf2(e,t,r,n,i,function(b,N){if(b)return o(b);o(null,N.toString("binary"))}):cr.pbkdf2Sync.length===4?cr.pbkdf2Sync(e,t,r,n).toString("binary"):cr.pbkdf2Sync(e,t,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,e);var l="",d,p,h;if(!o){for(var y=1;y<=c;++y){f.start(null,null),f.update(t),f.update(Ht.util.int32ToBytes(y)),d=h=f.digest().getBytes();for(var g=2;g<=r;++g)f.start(null,null),f.update(h),p=f.digest().getBytes(),d=Ht.util.xorBytes(d,p,s),h=p;l+=y<c?d:d.substr(0,u)}return l}var y=1,g;function m(){if(y>c)return o(null,l);f.start(null,null),f.update(t),f.update(Ht.util.int32ToBytes(y)),d=h=f.digest().getBytes(),g=2,v()}function v(){if(g<=r)return f.start(null,null),f.update(h),p=f.digest().getBytes(),d=Ht.util.xorBytes(d,p,s),h=p,++g,Ht.util.setImmediate(v);l+=y<c?d:d.substr(0,u),++y,m()}m()}});var w5=D((Zm,v5)=>{var e1=nt();Ct();var x5=v5.exports=e1.pem=e1.pem||{};x5.encode=function(e,t){t=t||{};var r="-----BEGIN "+e.type+`-----\r
|
|
10
|
+
`,n;if(e.procType&&(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]},r+=t1(n)),e.contentDomain&&(n={name:"Content-Domain",values:[e.contentDomain]},r+=t1(n)),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),r+=t1(n)),e.headers)for(var i=0;i<e.headers.length;++i)r+=t1(e.headers[i]);return e.procType&&(r+=`\r
|
|
11
|
+
`),r+=e1.util.encode64(e.body,t.maxline||64)+`\r
|
|
12
12
|
`,r+="-----END "+e.type+`-----\r
|
|
13
|
-
`,r};
|
|
13
|
+
`,r};x5.decode=function(e){for(var t=[],r=/\s*-----BEGIN ([A-Z0-9- ]+)-----\r?\n?([\x21-\x7e\s]+?(?:\r?\n\r?\n))?([:A-Za-z0-9+\/=\s]+?)-----END \1-----/g,n=/([\x21-\x7e]+):\s*([\x21-\x7e\s^:]+)/,i=/\r?\n/,o;o=r.exec(e),!!o;){var s=o[1];s==="NEW CERTIFICATE REQUEST"&&(s="CERTIFICATE REQUEST");var a={type:s,procType:null,contentDomain:null,dekInfo:null,headers:[],body:e1.util.decode64(o[3])};if(t.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 d=c[l];if(!/\s/.test(d[0]))break;f+=d,u=l}if(o=f.match(n),o){for(var p={name:o[1],values:[]},h=o[2].split(","),y=0;y<h.length;++y)p.values.push(M7(h[y]));if(a.procType)if(!a.contentDomain&&p.name==="Content-Domain")a.contentDomain=h[0]||"";else if(!a.dekInfo&&p.name==="DEK-Info"){if(p.values.length===0)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must have at least one subfield.');a.dekInfo={algorithm:h[0],parameters:h[1]||null}}else a.headers.push(p);else{if(p.name!=="Proc-Type")throw new Error('Invalid PEM formatted message. The first encapsulated header must be "Proc-Type".');if(p.values.length!==2)throw new Error('Invalid PEM formatted message. The "Proc-Type" header must have two subfields.');a.procType={version:h[0],type:h[1]}}}++u}if(a.procType==="ENCRYPTED"&&!a.dekInfo)throw new Error('Invalid PEM formatted message. The "DEK-Info" header must be present if "Proc-Type" is "ENCRYPTED".')}}if(t.length===0)throw new Error("Invalid PEM formatted message.");return t};function t1(e){for(var t=e.name+": ",r=[],n=function(c,u){return" "+u},i=0;i<e.values.length;++i)r.push(e.values[i].replace(/^(\S+\r\n)/,n));t+=r.join(",")+`\r
|
|
14
14
|
`;for(var o=0,s=-1,i=0;i<t.length;++i,++o)if(o>65&&s!==-1){var a=t[s];a===","?(++s,t=t.substr(0,s)+`\r
|
|
15
15
|
`+t.substr(s)):t=t.substr(0,s)+`\r
|
|
16
|
-
`+a+t.substr(s+1),o=i-s-1,s=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(s=i);return t}function nl(e){return e.replace(/^\s+/,"")}});var M5=D((cx,O5)=>{var Ke=et();Wr();Ct();var D5=O5.exports=Ke.sha256=Ke.sha256||{};Ke.md.sha256=Ke.md.algorithms.sha256=D5;D5.create=function(){F5||il();var e=null,t=Ke.util.createBuffer(),r=new Array(64),n={algorithm:"sha256",blockLength:64,digestLength:32,messageLength:0,fullMessageLength:null,messageLengthSize:8};return n.start=function(){n.messageLength=0,n.fullMessageLength=n.messageLength64=[];for(var i=n.messageLengthSize/4,o=0;o<i;++o)n.fullMessageLength.push(0);return t=Ke.util.createBuffer(),e={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Ke.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 t.putBytes(i),k5(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Ke.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Os.substr(0,n.blockLength-s));for(var a,u,c=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,u=a/4294967296>>>0,c+=u,i.putInt32(c>>>0),c=a>>>0;i.putInt32(c);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};k5(l,r,i);var d=Ke.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d.putInt32(l.h5),d.putInt32(l.h6),d.putInt32(l.h7),d},n};var Os=null,F5=!1,U5=null;function il(){Os=String.fromCharCode(128),Os+=Ke.util.fillString(String.fromCharCode(0),64),U5=[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],F5=!0}function k5(e,t,r){for(var n,i,o,s,a,u,c,f,l,d,p,h,y,g,m,v=r.length();v>=64;){for(c=0;c<16;++c)t[c]=r.getInt32();for(;c<64;++c)n=t[c-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[c-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[c]=n+t[c-7]+i+t[c-16]|0;for(f=e.h0,l=e.h1,d=e.h2,p=e.h3,h=e.h4,y=e.h5,g=e.h6,m=e.h7,c=0;c<64;++c)s=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=g^h&(y^g),o=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),u=f&l|d&(f^l),n=m+s+a+U5[c]+t[c],i=o+u,m=g,g=y,y=h,h=p+n>>>0,p=d,d=l,l=f,f=n+i>>>0;e.h0=e.h0+f|0,e.h1=e.h1+l|0,e.h2=e.h2+d|0,e.h3=e.h3+p|0,e.h4=e.h4+h|0,e.h5=e.h5+y|0,e.h6=e.h6+g|0,e.h7=e.h7+m|0,v-=64}}});var V5=D((fx,K5)=>{var Ve=et();Ct();var ri=null;Ve.util.isNodejs&&!Ve.options.usePureJavaScript&&!process.versions["node-webkit"]&&(ri=Kn());var ol=K5.exports=Ve.prng=Ve.prng||{};ol.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(c,f){if(!f)return t.generateSync(c);var l=t.plugin.cipher,d=t.plugin.increment,p=t.plugin.formatKey,h=t.plugin.formatSeed,y=Ve.util.createBuffer();t.key=null,g();function g(m){if(m)return f(m);if(y.length()>=c)return f(null,y.getBytes(c));if(t.generated>1048575&&(t.key=null),t.key===null)return Ve.util.nextTick(function(){o(g)});var v=l(t.key,t.seed);t.generated+=v.length,y.putBytes(v),t.key=p(l(t.key,d(t.seed))),t.seed=h(l(t.key,t.seed)),Ve.util.setImmediate(g)}},t.generateSync=function(c){var f=t.plugin.cipher,l=t.plugin.increment,d=t.plugin.formatKey,p=t.plugin.formatSeed;t.key=null;for(var h=Ve.util.createBuffer();h.length()<c;){t.generated>1048575&&(t.key=null),t.key===null&&s();var y=f(t.key,t.seed);t.generated+=y.length,h.putBytes(y),t.key=d(f(t.key,l(t.seed))),t.seed=p(f(t.key,t.seed))}return h.getBytes(c)};function o(c){if(t.pools[0].messageLength>=32)return a(),c();var f=32-t.pools[0].messageLength<<5;t.seedFile(f,function(l,d){if(l)return c(l);t.collect(d),a(),c()})}function s(){if(t.pools[0].messageLength>=32)return a();var c=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(c)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var c=t.plugin.md.create();c.update(t.keyBytes);for(var f=1,l=0;l<32;++l)t.reseeds%f===0&&(c.update(t.pools[l].digest().getBytes()),t.pools[l].start()),f=f<<1;t.keyBytes=c.digest().getBytes(),c.start(),c.update(t.keyBytes);var d=c.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(d),t.generated=0}function u(c){var f=null,l=Ve.util.globalScope,d=l.crypto||l.msCrypto;d&&d.getRandomValues&&(f=function(_){return d.getRandomValues(_)});var p=Ve.util.createBuffer();if(f)for(;p.length()<c;){var h=Math.max(1,Math.min(c-p.length(),65536)/4),y=new Uint32Array(Math.floor(h));try{f(y);for(var g=0;g<y.length;++g)p.putInt32(y[g])}catch(_){if(!(typeof QuotaExceededError<"u"&&_ instanceof QuotaExceededError))throw _}}if(p.length()<c)for(var m,v,b,L=Math.floor(Math.random()*65536);p.length()<c;){v=16807*(L&65535),m=16807*(L>>16),v+=(m&32767)<<16,v+=m>>15,v=(v&2147483647)+(v>>31),L=v&4294967295;for(var g=0;g<3;++g)b=L>>>(g<<3),b^=Math.floor(Math.random()*256),p.putByte(b&255)}return p.getBytes(c)}return ri?(t.seedFile=function(c,f){ri.randomBytes(c,function(l,d){if(l)return f(l);f(null,d.toString())})},t.seedFileSync=function(c){return ri.randomBytes(c).toString()}):(t.seedFile=function(c,f){try{f(null,u(c))}catch(l){f(l)}},t.seedFileSync=u),t.collect=function(c){for(var f=c.length,l=0;l<f;++l)t.pools[t.pool].update(c.substr(l,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(c,f){for(var l="",d=0;d<f;d+=8)l+=String.fromCharCode(c>>d&255);t.collect(l)},t.registerWorker=function(c){if(c===self)t.seedFile=function(l,d){function p(h){var y=h.data;y.forge&&y.forge.prng&&(self.removeEventListener("message",p),d(y.forge.prng.err,y.forge.prng.bytes))}self.addEventListener("message",p),self.postMessage({forge:{prng:{needed:l}}})};else{var f=function(l){var d=l.data;d.forge&&d.forge.prng&&t.seedFile(d.forge.prng.needed,function(p,h){c.postMessage({forge:{prng:{err:p,bytes:h}}})})};c.addEventListener("message",f)}},t}});var L0=D((lx,Ms)=>{var Mt=et();Y1();M5();V5();Ct();(function(){if(Mt.random&&Mt.random.getBytes){Ms.exports=Mt.random;return}(function(e){var t={},r=new Array(4),n=Mt.util.createBuffer();t.formatKey=function(l){var d=Mt.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),Mt.aes._expandKey(l,!1)},t.formatSeed=function(l){var d=Mt.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),l},t.cipher=function(l,d){return Mt.aes._updateBlock(l,d,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},t.increment=function(l){return++l[3],l},t.md=Mt.md.sha256;function i(){var l=Mt.prng.create(t);return l.getBytes=function(d,p){return l.generate(d,p)},l.getBytesSync=function(d){return l.generate(d)},l}var o=i(),s=null,a=Mt.util.globalScope,u=a.crypto||a.msCrypto;if(u&&u.getRandomValues&&(s=function(l){return u.getRandomValues(l)}),Mt.options.usePureJavaScript||!Mt.util.isNodejs&&!s){if(typeof window>"u"||window.document,o.collectInt(+new Date,32),typeof navigator<"u"){var c="";for(var f in navigator)try{typeof navigator[f]=="string"&&(c+=navigator[f])}catch{}o.collect(c),c=null}e&&(e().mousemove(function(l){o.collectInt(l.clientX,16),o.collectInt(l.clientY,16)}),e().keypress(function(l){o.collectInt(l.charCode,8)}))}if(!Mt.random)Mt.random=o;else for(var f in o)Mt.random[f]=o[f];Mt.random.createInstance=i,Ms.exports=Mt.random})(typeof jQuery<"u"?jQuery:null)})()});var H5=D((hx,$5)=>{var Yt=et();Ct();var Ks=[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],q5=[1,2,3,5],sl=function(e,t){return e<<t&65535|(e&65535)>>16-t},al=function(e,t){return(e&65535)>>t|e<<16-t&65535};$5.exports=Yt.rc2=Yt.rc2||{};Yt.rc2.expandKey=function(e,t){typeof e=="string"&&(e=Yt.util.createBuffer(e)),t=t||128;var r=e,n=e.length(),i=t,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(Ks[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,Ks[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,Ks[r.at(a+1)^r.at(a+o)]);return r};var z5=function(e,t,r){var n=!1,i=null,o=null,s=null,a,u,c,f,l=[];for(e=Yt.rc2.expandKey(e,t),c=0;c<64;c++)l.push(e.getInt16Le());r?(a=function(h){for(c=0;c<4;c++)h[c]+=l[f]+(h[(c+3)%4]&h[(c+2)%4])+(~h[(c+3)%4]&h[(c+1)%4]),h[c]=sl(h[c],q5[c]),f++},u=function(h){for(c=0;c<4;c++)h[c]+=l[h[(c+3)%4]&63]}):(a=function(h){for(c=3;c>=0;c--)h[c]=al(h[c],q5[c]),h[c]-=l[f]+(h[(c+3)%4]&h[(c+2)%4])+(~h[(c+3)%4]&h[(c+1)%4]),f--},u=function(h){for(c=3;c>=0;c--)h[c]-=l[h[(c+3)%4]&63]});var d=function(h){var y=[];for(c=0;c<4;c++){var g=i.getInt16Le();s!==null&&(r?g^=s.getInt16Le():s.putInt16Le(g)),y.push(g&65535)}f=r?0:63;for(var m=0;m<h.length;m++)for(var v=0;v<h[m][0];v++)h[m][1](y);for(c=0;c<4;c++)s!==null&&(r?s.putInt16Le(y[c]):y[c]^=s.getInt16Le()),o.putInt16Le(y[c])},p=null;return p={start:function(h,y){h&&typeof h=="string"&&(h=Yt.util.createBuffer(h)),n=!1,i=Yt.util.createBuffer(),o=y||new Yt.util.createBuffer,s=h,p.output=o},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)d([[5,a],[1,u],[6,a],[1,u],[5,a]])},finish:function(h){var y=!0;if(r)if(h)y=h(8,i,!r);else{var g=i.length()===8?8:8-i.length();i.fillWithByte(g,g)}if(y&&(n=!0,p.update()),!r&&(y=i.length()===0,y))if(h)y=h(8,o,!r);else{var m=o.length(),v=o.at(m-1);v>m?y=!1:o.truncate(v)}return y}},p};Yt.rc2.startEncrypting=function(e,t,r){var n=Yt.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};Yt.rc2.createEncryptionCipher=function(e,t){return z5(e,t,!0)};Yt.rc2.startDecrypting=function(e,t,r){var n=Yt.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};Yt.rc2.createDecryptionCipher=function(e,t){return z5(e,t,!1)}});var oi=D((px,J5)=>{var Vs=et();J5.exports=Vs.jsbn=Vs.jsbn||{};var ur,ul=0xdeadbeefcafe,G5=(ul&16777215)==15715070;function A(e,t,r){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,t,r):t==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,t))}Vs.jsbn.BigInteger=A;function X(){return new A(null)}function cl(e,t,r,n,i,o){for(;--o>=0;){var s=t*this.data[e++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function fl(e,t,r,n,i,o){for(var s=t&32767,a=t>>15;--o>=0;){var u=this.data[e]&32767,c=this.data[e++]>>15,f=a*u+c*s;u=s*u+((f&32767)<<15)+r.data[n]+(i&1073741823),i=(u>>>30)+(f>>>15)+a*c+(i>>>30),r.data[n++]=u&1073741823}return i}function Q5(e,t,r,n,i,o){for(var s=t&16383,a=t>>14;--o>=0;){var u=this.data[e]&16383,c=this.data[e++]>>14,f=a*u+c*s;u=s*u+((f&16383)<<14)+r.data[n]+i,i=(u>>28)+(f>>14)+a*c,r.data[n++]=u&268435455}return i}typeof navigator>"u"?(A.prototype.am=Q5,ur=28):G5&&navigator.appName=="Microsoft Internet Explorer"?(A.prototype.am=fl,ur=30):G5&&navigator.appName!="Netscape"?(A.prototype.am=cl,ur=26):(A.prototype.am=Q5,ur=28);A.prototype.DB=ur;A.prototype.DM=(1<<ur)-1;A.prototype.DV=1<<ur;var qs=52;A.prototype.FV=Math.pow(2,qs);A.prototype.F1=qs-ur;A.prototype.F2=2*ur-qs;var ll="0123456789abcdefghijklmnopqrstuvwxyz",ni=new Array,Vn,ue;Vn="0".charCodeAt(0);for(ue=0;ue<=9;++ue)ni[Vn++]=ue;Vn="a".charCodeAt(0);for(ue=10;ue<36;++ue)ni[Vn++]=ue;Vn="A".charCodeAt(0);for(ue=10;ue<36;++ue)ni[Vn++]=ue;function W5(e){return ll.charAt(e)}function Y5(e,t){var r=ni[e.charCodeAt(t)];return r??-1}function hl(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function pl(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function Cr(e){var t=X();return t.fromInt(e),t}function dl(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,o=0;--n>=0;){var s=r==8?e[n]&255:Y5(e,n);if(s<0){e.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&&e[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&A.ZERO.subTo(this,this)}function yl(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function gl(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<<t)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%t;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=W5(n));s>=0;)a<t?(n=(this.data[s]&(1<<a)-1)<<t-a,n|=this.data[--s]>>(a+=this.DB-t)):(n=this.data[s]>>(a-=t)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=W5(n));return i?o:"0"}function ml(){var e=X();return A.ZERO.subTo(this,e),e}function xl(){return this.s<0?this.negate():this}function vl(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this.data[r]-e.data[r])!=0)return t;return 0}function ii(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function wl(){return this.t<=0?0:this.DB*(this.t-1)+ii(this.data[this.t-1]^this.s&this.DM)}function bl(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function El(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s}function Sl(e,t){var r=e%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(e/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)t.data[a]=0;t.data[o]=s,t.t=this.t+o+1,t.s=this.s,t.clamp()}function Al(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,o=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)t.data[s-r-1]|=(this.data[s]&o)<<i,t.data[s-r]=this.data[s]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&o)<<i),t.t=this.t-r,t.clamp()}function Bl(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function Il(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&A.ZERO.subTo(t,t)}function Cl(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function _l(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=X());var o=X(),s=this.s,a=e.s,u=this.DB-ii(n.data[n.t-1]);u>0?(n.lShiftTo(u,o),i.lShiftTo(u,r)):(n.copyTo(o),i.copyTo(r));var c=o.t,f=o.data[c-1];if(f!=0){var l=f*(1<<this.F1)+(c>1?o.data[c-2]>>this.F2:0),d=this.FV/l,p=(1<<this.F1)/l,h=1<<this.F2,y=r.t,g=y-c,m=t??X();for(o.dlShiftTo(g,m),r.compareTo(m)>=0&&(r.data[r.t++]=1,r.subTo(m,r)),A.ONE.dlShiftTo(c,m),m.subTo(o,o);o.t<c;)o.data[o.t++]=0;for(;--g>=0;){var v=r.data[--y]==f?this.DM:Math.floor(r.data[y]*d+(r.data[y-1]+h)*p);if((r.data[y]+=o.am(0,v,r,g,0,c))<v)for(o.dlShiftTo(g,m),r.subTo(m,r);r.data[y]<--v;)r.subTo(m,r)}t!=null&&(r.drShiftTo(c,t),s!=a&&A.ZERO.subTo(t,t)),r.t=c,r.clamp(),u>0&&r.rShiftTo(u,r),s<0&&A.ZERO.subTo(r,r)}}}function Tl(e){var t=X();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(A.ZERO)>0&&e.subTo(t,t),t}function Yr(e){this.m=e}function Rl(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function Pl(e){return e}function Nl(e){e.divRemTo(this.m,null,e)}function Ll(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function kl(e,t){e.squareTo(t),this.reduce(t)}Yr.prototype.convert=Rl;Yr.prototype.revert=Pl;Yr.prototype.reduce=Nl;Yr.prototype.mulTo=Ll;Yr.prototype.sqrTo=kl;function Dl(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function Zr(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function Fl(e){var t=X();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(A.ZERO)>0&&this.m.subTo(t,t),t}function Ul(e){var t=X();return e.copyTo(t),this.reduce(t),t}function Ol(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=e.data[t]&32767,n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function Ml(e,t){e.squareTo(t),this.reduce(t)}function Kl(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Zr.prototype.convert=Fl;Zr.prototype.revert=Ul;Zr.prototype.reduce=Ol;Zr.prototype.mulTo=Kl;Zr.prototype.sqrTo=Ml;function Vl(){return(this.t>0?this.data[0]&1:this.s)==0}function ql(e,t){if(e>4294967295||e<1)return A.ONE;var r=X(),n=X(),i=t.convert(this),o=ii(e)-1;for(i.copyTo(r);--o>=0;)if(t.sqrTo(r,n),(e&1<<o)>0)t.mulTo(n,i,r);else{var s=r;r=n,n=s}return t.revert(r)}function zl(e,t){var r;return e<256||t.isEven()?r=new Yr(t):r=new Zr(t),this.exp(e,r)}A.prototype.copyTo=hl;A.prototype.fromInt=pl;A.prototype.fromString=dl;A.prototype.clamp=yl;A.prototype.dlShiftTo=bl;A.prototype.drShiftTo=El;A.prototype.lShiftTo=Sl;A.prototype.rShiftTo=Al;A.prototype.subTo=Bl;A.prototype.multiplyTo=Il;A.prototype.squareTo=Cl;A.prototype.divRemTo=_l;A.prototype.invDigit=Dl;A.prototype.isEven=Vl;A.prototype.exp=ql;A.prototype.toString=gl;A.prototype.negate=ml;A.prototype.abs=xl;A.prototype.compareTo=vl;A.prototype.bitLength=wl;A.prototype.mod=Tl;A.prototype.modPowInt=zl;A.ZERO=Cr(0);A.ONE=Cr(1);function $l(){var e=X();return this.copyTo(e),e}function Hl(){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 Gl(){return this.t==0?this.s:this.data[0]<<24>>24}function Ql(){return this.t==0?this.s:this.data[0]<<16>>16}function Wl(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function Yl(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Zl(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=Cr(r),i=X(),o=X(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(e).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(e)+s}function Xl(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,o=0,s=0,a=0;a<e.length;++a){var u=Y5(e,a);if(u<0){e.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=t*s+u,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(t,o)),this.dAddOffset(s,0)),i&&A.ZERO.subTo(this,this)}function jl(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(A.ONE.shiftLeft(e-1),zs,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(A.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Jl(){var e=this.t,t=new Array;t[0]=this.s;var r=this.DB-e*this.DB%8,n,i=0;if(e-- >0)for(r<this.DB&&(n=this.data[e]>>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this.data[e]&(1<<r)-1)<<8-r,n|=this.data[--e]>>(r+=this.DB-8)):(n=this.data[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function t9(e){return this.compareTo(e)==0}function e9(e){return this.compareTo(e)<0?this:e}function r9(e){return this.compareTo(e)>0?this:e}function n9(e,t,r){var n,i,o=Math.min(e.t,this.t);for(n=0;n<o;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=o;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()}function i9(e,t){return e&t}function o9(e){var t=X();return this.bitwiseTo(e,i9,t),t}function zs(e,t){return e|t}function s9(e){var t=X();return this.bitwiseTo(e,zs,t),t}function Z5(e,t){return e^t}function a9(e){var t=X();return this.bitwiseTo(e,Z5,t),t}function X5(e,t){return e&~t}function u9(e){var t=X();return this.bitwiseTo(e,X5,t),t}function c9(){for(var e=X(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e}function f9(e){var t=X();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function l9(e){var t=X();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function h9(e){if(e==0)return-1;var t=0;return e&65535||(e>>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function p9(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+h9(this.data[e]);return this.s<0?this.t*this.DB:-1}function d9(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function y9(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=d9(this.data[r]^t);return e}function g9(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function m9(e,t){var r=A.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function x9(e){return this.changeBit(e,zs)}function v9(e){return this.changeBit(e,X5)}function w9(e){return this.changeBit(e,Z5)}function b9(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function E9(e){var t=X();return this.addTo(e,t),t}function S9(e){var t=X();return this.subTo(e,t),t}function A9(e){var t=X();return this.multiplyTo(e,t),t}function B9(e){var t=X();return this.divRemTo(e,t,null),t}function I9(e){var t=X();return this.divRemTo(e,null,t),t}function C9(e){var t=X(),r=X();return this.divRemTo(e,t,r),new Array(t,r)}function _9(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function T9(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function k0(){}function j5(e){return e}function R9(e,t,r){e.multiplyTo(t,r)}function P9(e,t){e.squareTo(t)}k0.prototype.convert=j5;k0.prototype.revert=j5;k0.prototype.mulTo=R9;k0.prototype.sqrTo=P9;function N9(e){return this.exp(e,new k0)}function L9(e,t,r){var n=Math.min(this.t+e.t,t);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,e.data[n],r,n,0,this.t);for(i=Math.min(e.t,t);n<i;++n)this.am(0,e.data[n],r,n,0,t-n);r.clamp()}function k9(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)}function qn(e){this.r2=X(),this.q3=X(),A.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function D9(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=X();return e.copyTo(t),this.reduce(t),t}function F9(e){return e}function U9(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function O9(e,t){e.squareTo(t),this.reduce(t)}function M9(e,t,r){e.multiplyTo(t,r),this.reduce(r)}qn.prototype.convert=D9;qn.prototype.revert=F9;qn.prototype.reduce=U9;qn.prototype.mulTo=M9;qn.prototype.sqrTo=O9;function K9(e,t){var r=e.bitLength(),n,i=Cr(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 Yr(t):t.isEven()?o=new qn(t):o=new Zr(t);var s=new Array,a=3,u=n-1,c=(1<<n)-1;if(s[1]=o.convert(this),n>1){var f=X();for(o.sqrTo(s[1],f);a<=c;)s[a]=X(),o.mulTo(f,s[a-2],s[a]),a+=2}var l=e.t-1,d,p=!0,h=X(),y;for(r=ii(e.data[l])-1;l>=0;){for(r>=u?d=e.data[l]>>r-u&c:(d=(e.data[l]&(1<<r+1)-1)<<u-r,l>0&&(d|=e.data[l-1]>>this.DB+r-u)),a=n;!(d&1);)d>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),p)s[d].copyTo(i),p=!1;else{for(;a>1;)o.sqrTo(i,h),o.sqrTo(h,i),a-=2;a>0?o.sqrTo(i,h):(y=i,i=h,h=y),o.mulTo(h,s[d],i)}for(;l>=0&&!(e.data[l]&1<<r);)o.sqrTo(i,h),y=i,i=h,h=y,--r<0&&(r=this.DB-1,--l)}return o.revert(i)}function V9(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return t;for(i<o&&(o=i),o>0&&(t.rShiftTo(o,t),r.rShiftTo(o,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function q9(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function z9(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return A.ZERO;for(var r=e.clone(),n=this.clone(),i=Cr(1),o=Cr(0),s=Cr(0),a=Cr(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(e,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(e,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),t?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(e,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),t&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(A.ONE)!=0)return A.ZERO;if(a.compareTo(e)>=0)return a.subtract(e);if(a.signum()<0)a.addTo(e,a);else return a;return a.signum()<0?a.add(e):a}var Ae=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],$9=(1<<26)/Ae[Ae.length-1];function H9(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=Ae[Ae.length-1]){for(t=0;t<Ae.length;++t)if(r.data[0]==Ae[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<Ae.length;){for(var n=Ae[t],i=t+1;i<Ae.length&&n<$9;)n*=Ae[i++];for(n=r.modInt(n);t<i;)if(n%Ae[t++]==0)return!1}return r.millerRabin(e)}function G9(e){var t=this.subtract(A.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=Q9(),o,s=0;s<e;++s){do o=new A(this.bitLength(),i);while(o.compareTo(A.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(A.ONE)!=0&&a.compareTo(t)!=0){for(var u=1;u++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(A.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function Q9(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}A.prototype.chunkSize=Wl;A.prototype.toRadix=Zl;A.prototype.fromRadix=Xl;A.prototype.fromNumber=jl;A.prototype.bitwiseTo=n9;A.prototype.changeBit=m9;A.prototype.addTo=b9;A.prototype.dMultiply=_9;A.prototype.dAddOffset=T9;A.prototype.multiplyLowerTo=L9;A.prototype.multiplyUpperTo=k9;A.prototype.modInt=q9;A.prototype.millerRabin=G9;A.prototype.clone=$l;A.prototype.intValue=Hl;A.prototype.byteValue=Gl;A.prototype.shortValue=Ql;A.prototype.signum=Yl;A.prototype.toByteArray=Jl;A.prototype.equals=t9;A.prototype.min=e9;A.prototype.max=r9;A.prototype.and=o9;A.prototype.or=s9;A.prototype.xor=a9;A.prototype.andNot=u9;A.prototype.not=c9;A.prototype.shiftLeft=f9;A.prototype.shiftRight=l9;A.prototype.getLowestSetBit=p9;A.prototype.bitCount=y9;A.prototype.testBit=g9;A.prototype.setBit=x9;A.prototype.clearBit=v9;A.prototype.flipBit=w9;A.prototype.add=E9;A.prototype.subtract=S9;A.prototype.multiply=A9;A.prototype.divide=B9;A.prototype.remainder=I9;A.prototype.divideAndRemainder=C9;A.prototype.modPow=K9;A.prototype.modInverse=z9;A.prototype.pow=N9;A.prototype.gcd=V9;A.prototype.isProbablePrime=H9});var i6=D((dx,n6)=>{var qe=et();Wr();Ct();var e6=n6.exports=qe.sha1=qe.sha1||{};qe.md.sha1=qe.md.algorithms.sha1=e6;e6.create=function(){r6||W9();var e=null,t=qe.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 t=qe.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=qe.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 t.putBytes(i),t6(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=qe.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes($s.substr(0,n.blockLength-s));for(var a,u,c=n.fullMessageLength[0]*8,f=0;f<n.fullMessageLength.length-1;++f)a=n.fullMessageLength[f+1]*8,u=a/4294967296>>>0,c+=u,i.putInt32(c>>>0),c=a>>>0;i.putInt32(c);var l={h0:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};t6(l,r,i);var d=qe.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d},n};var $s=null,r6=!1;function W9(){$s=String.fromCharCode(128),$s+=qe.util.fillString(String.fromCharCode(0),64),r6=!0}function t6(e,t,r){for(var n,i,o,s,a,u,c,f,l=r.length();l>=64;){for(i=e.h0,o=e.h1,s=e.h2,a=e.h3,u=e.h4,f=0;f<16;++f)n=r.getInt32(),t[f]=n,c=a^o&(s^a),n=(i<<5|i>>>27)+c+u+1518500249+n,u=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<20;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=n,c=a^o&(s^a),n=(i<<5|i>>>27)+c+u+1518500249+n,u=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<32;++f)n=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[f]=n,c=o^s^a,n=(i<<5|i>>>27)+c+u+1859775393+n,u=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<40;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,c=o^s^a,n=(i<<5|i>>>27)+c+u+1859775393+n,u=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<60;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,c=o&s|a&(o^s),n=(i<<5|i>>>27)+c+u+2400959708+n,u=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;for(;f<80;++f)n=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[f]=n,c=o^s^a,n=(i<<5|i>>>27)+c+u+3395469782+n,u=a,a=s,s=(o<<30|o>>>2)>>>0,o=i,i=n;e.h0=e.h0+i|0,e.h1=e.h1+o|0,e.h2=e.h2+s|0,e.h3=e.h3+a|0,e.h4=e.h4+u|0,l-=64}}});var a6=D((yx,s6)=>{var ze=et();Ct();L0();i6();var o6=s6.exports=ze.pkcs1=ze.pkcs1||{};o6.encode_rsa_oaep=function(e,t,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=ze.md.sha1.create(),s||(s=o);var a=Math.ceil(e.n.bitLength()/8),u=a-2*o.digestLength-2;if(t.length>u){var c=new Error("RSAES-OAEP input message length is too long.");throw c.length=t.length,c.maxLength=u,c}n||(n=""),o.update(n,"raw");for(var f=o.digest(),l="",d=u-t.length,p=0;p<d;p++)l+="\0";var h=f.getBytes()+l+""+t;if(!i)i=ze.random.getBytes(o.digestLength);else if(i.length!==o.digestLength){var c=new Error("Invalid RSAES-OAEP seed. The seed length must match the digest length.");throw c.seedLength=i.length,c.digestLength=o.digestLength,c}var y=si(i,a-o.digestLength-1,s),g=ze.util.xorBytes(h,y,h.length),m=si(g,o.digestLength,s),v=ze.util.xorBytes(i,m,i.length);return"\0"+v+g};o6.decode_rsa_oaep=function(e,t,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(e.n.bitLength()/8);if(t.length!==s){var g=new Error("RSAES-OAEP encoded message length is invalid.");throw g.length=t.length,g.expectedLength=s,g}if(i===void 0?i=ze.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(),u=t.charAt(0),c=t.substring(1,i.digestLength+1),f=t.substring(1+i.digestLength),l=si(f,i.digestLength,o),d=ze.util.xorBytes(c,l,c.length),p=si(d,s-i.digestLength-1,o),h=ze.util.xorBytes(f,p,f.length),y=h.substring(0,i.digestLength),g=u!=="\0",m=0;m<i.digestLength;++m)g|=a.charAt(m)!==y.charAt(m);for(var v=1,b=i.digestLength,L=i.digestLength;L<h.length;L++){var _=h.charCodeAt(L),C=_&1^1,K=v?65534:0;g|=_&K,v=v&C,b+=v}if(g||h.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(b+1)};function si(e,t,r){r||(r=ze.md.sha1.create());for(var n="",i=Math.ceil(t/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(e+s),n+=r.digest().getBytes()}return n.substring(0,t)}});var u6=D((gx,Hs)=>{var _r=et();Ct();oi();L0();(function(){if(_r.prime){Hs.exports=_r.prime;return}var e=Hs.exports=_r.prime=_r.prime||{},t=_r.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(l,d){return l|d};e.generateProbablePrime=function(l,d,p){typeof d=="function"&&(p=d,d={}),d=d||{};var h=d.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var y=d.prng||_r.random,g={nextBytes:function(m){for(var v=y.getBytesSync(m.length),b=0;b<m.length;++b)m[b]=v.charCodeAt(b)}};if(h.name==="PRIMEINC")return o(l,g,h.options,p);throw new Error("Invalid prime generation algorithm: "+h.name)};function o(l,d,p,h){return"workers"in p?u(l,d,p,h):s(l,d,p,h)}function s(l,d,p,h){var y=c(l,d),g=0,m=f(y.bitLength());"millerRabinTests"in p&&(m=p.millerRabinTests);var v=10;"maxBlockTime"in p&&(v=p.maxBlockTime),a(y,l,d,g,m,v,h)}function a(l,d,p,h,y,g,m){var v=+new Date;do{if(l.bitLength()>d&&(l=c(d,p)),l.isProbablePrime(y))return m(null,l);l.dAddOffset(r[h++%8],0)}while(g<0||+new Date-v<g);_r.util.setImmediate(function(){a(l,d,p,h,y,g,m)})}function u(l,d,p,h){if(typeof Worker>"u")return s(l,d,p,h);var y=c(l,d),g=p.workers,m=p.workLoad||100,v=m*30/8,b=p.workerScript||"forge/prime.worker.js";if(g===-1)return _r.util.estimateCores(function(_,C){_&&(C=2),g=C-1,L()});L();function L(){g=Math.max(1,g);for(var _=[],C=0;C<g;++C)_[C]=new Worker(b);for(var K=g,C=0;C<g;++C)_[C].addEventListener("message",Tt);var $=!1;function Tt(de){if(!$){--K;var Xt=de.data;if(Xt.found){for(var qt=0;qt<_.length;++qt)_[qt].terminate();return $=!0,h(null,new t(Xt.prime,16))}y.bitLength()>l&&(y=c(l,d));var ln=y.toString(16);de.target.postMessage({hex:ln,workLoad:m}),y.dAddOffset(v,0)}}}}function c(l,d){var p=new t(l,d),h=l-1;return p.testBit(h)||p.bitwiseTo(t.ONE.shiftLeft(h),i,p),p.dAddOffset(31-p.mod(n).byteValue(),0),p}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 ui=D((mx,y6)=>{var U=et();N0();oi();Z1();a6();u6();L0();Ct();typeof G>"u"&&(G=U.jsbn.BigInteger);var G,Gs=U.util.isNodejs?Kn():null,w=U.asn1,ce=U.util;U.pki=U.pki||{};y6.exports=U.pki.rsa=U.rsa=U.rsa||{};var V=U.pki,Y9=[6,4,2,4,2,4,6,2],Z9={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"}]},X9={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"}]},j9={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"}]},J9=U.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"}]}]},th={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"}]},eh=function(e){var t;if(e.algorithm in V.oids)t=V.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=w.oidToDer(t).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,e.digest().getBytes());return i.value.push(o),i.value.push(s),w.toDer(i).getBytes()},p6=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(G.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(G.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new G(U.util.bytesToHex(U.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(G.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=e.mod(t.p).modPow(t.dP,t.p),o=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(o)<0;)i=i.add(t.p);var s=i.subtract(o).multiply(t.qInv).mod(t.p).multiply(t.q).add(o);return s=s.multiply(n.modInverse(t.n)).mod(t.n),s};V.rsa.encrypt=function(e,t,r){var n=r,i,o=Math.ceil(t.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=d6(e,t,r)):(i=U.util.createBuffer(),i.putBytes(e));for(var s=new G(i.toHex(),16),a=p6(s,t,n),u=a.toString(16),c=U.util.createBuffer(),f=o-Math.ceil(u.length/2);f>0;)c.putByte(0),--f;return c.putBytes(U.util.hexToBytes(u)),c.getBytes()};V.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=e.length,o.expected=i,o}var s=new G(U.util.createBuffer(e).toHex(),16);if(s.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=p6(s,t,r),u=a.toString(16),c=U.util.createBuffer(),f=i-Math.ceil(u.length/2);f>0;)c.putByte(0),--f;return c.putBytes(U.util.hexToBytes(u)),n!==!1?ai(c.getBytes(),t,r):c.getBytes()};V.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||U.random,i={nextBytes:function(a){for(var u=n.getBytesSync(a.length),c=0;c<a.length;++c)a[c]=u.charCodeAt(c)}},o=r.algorithm||"PRIMEINC",s;if(o==="PRIMEINC")s={algorithm:o,state:0,bits:e,rng:i,eInt:t||65537,e:new G(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};V.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new G(null);r.fromInt(30);for(var n=0,i=function(l,d){return l|d},o=+new Date,s,a=0;e.keys===null&&(t<=0||a<t);){if(e.state===0){var u=e.p===null?e.pBits:e.qBits,c=u-1;e.pqState===0?(e.num=new G(u,e.rng),e.num.testBit(c)||e.num.bitwiseTo(G.ONE.shiftLeft(c),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>u?e.pqState=0:e.num.isProbablePrime(nh(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(Y9[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(G.ONE).gcd(e.e).compareTo(G.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(G.ONE),e.q1=e.q.subtract(G.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(G.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var f=e.e.modInverse(e.phi);e.keys={privateKey:V.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:V.rsa.setPublicKey(e.n,e.e)}}s=+new Date,a+=s-o,o=s}return e.keys!==null};V.rsa.generateKeyPair=function(e,t,r,n){if(arguments.length===1?typeof e=="object"?(r=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},e===void 0&&(e=r.bits||2048),t===void 0&&(t=r.e||65537),!U.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(c6("generateKeyPair"))return Gs.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,u,c){if(a)return n(a);n(null,{privateKey:V.privateKeyFromPem(c),publicKey:V.publicKeyFromPem(u)})});if(f6("generateKey")&&f6("exportKey"))return ce.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:h6(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return ce.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var u=V.privateKeyFromAsn1(w.fromDer(U.util.createBuffer(a)));n(null,{privateKey:u,publicKey:V.setRsaPublicKey(u.n,u.e)})}});if(l6("generateKey")&&l6("exportKey")){var i=ce.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:h6(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var u=a.target.result,c=ce.globalScope.msCrypto.subtle.exportKey("pkcs8",u.privateKey);c.oncomplete=function(f){var l=f.target.result,d=V.privateKeyFromAsn1(w.fromDer(U.util.createBuffer(l)));n(null,{privateKey:d,publicKey:V.setRsaPublicKey(d.n,d.e)})},c.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(c6("generateKeyPairSync")){var o=Gs.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:V.privateKeyFromPem(o.privateKey),publicKey:V.publicKeyFromPem(o.publicKey)}}}var s=V.rsa.createKeyPairGenerationState(e,t,r);if(!n)return V.rsa.stepKeyPairGenerationState(s,0),s.keys;rh(s,r,n)};V.setRsaPublicKey=V.rsa.setPublicKey=function(e,t){var r={n:e,e:t};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,u,c){return d6(a,u,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,u){return U.pkcs1.encode_rsa_oaep(u,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 V.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(u,c){c=ai(c,r,!0);var f=w.fromDer(c,{parseAllBytes:s._parseAllDigestBytes}),l={},d=[];if(!w.validate(f,th,l,d)){var p=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw p.errors=d,p}var h=w.derToOid(l.algorithmIdentifier);if(!(h===U.oids.md2||h===U.oids.md5||h===U.oids.sha1||h===U.oids.sha224||h===U.oids.sha256||h===U.oids.sha384||h===U.oids.sha512||h===U.oids["sha512-224"]||h===U.oids["sha512-256"])){var p=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw p.oid=h,p}if((h===U.oids.md2||h===U.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 u===l.digest}}:(o==="NONE"||o==="NULL"||o===null)&&(o={verify:function(u,c){return c=ai(c,r,!0),u===c}});var a=V.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};V.setRsaPrivateKey=V.rsa.setPrivateKey=function(e,t,r,n,i,o,s,a){var u={n:e,e:t,d:r,p:n,q:i,dP:o,dQ:s,qInv:a};return u.decrypt=function(c,f,l){typeof f=="string"?f=f.toUpperCase():f===void 0&&(f="RSAES-PKCS1-V1_5");var d=V.rsa.decrypt(c,u,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:ai};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(p,h){return U.pkcs1.decode_rsa_oaep(h,p,l)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(p){return p}};else throw new Error('Unsupported encryption scheme: "'+f+'".');return f.decode(d,u,!1)},u.sign=function(c,f){var l=!1;typeof f=="string"&&(f=f.toUpperCase()),f===void 0||f==="RSASSA-PKCS1-V1_5"?(f={encode:eh},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return c}},l=1);var d=f.encode(c,u.n.bitLength());return V.rsa.encrypt(d,u,l)},u};V.wrapRsaPrivateKey=function(e){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(V.oids.rsaEncryption).getBytes()),w.create(w.Class.UNIVERSAL,w.Type.NULL,!1,"")]),w.create(w.Class.UNIVERSAL,w.Type.OCTETSTRING,!1,w.toDer(e).getBytes())])};V.privateKeyFromAsn1=function(e){var t={},r=[];if(w.validate(e,Z9,t,r)&&(e=w.fromDer(U.util.createBuffer(t.privateKey))),t={},r=[],!w.validate(e,X9,t,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,u,c,f,l;return i=U.util.createBuffer(t.privateKeyModulus).toHex(),o=U.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=U.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=U.util.createBuffer(t.privateKeyPrime1).toHex(),u=U.util.createBuffer(t.privateKeyPrime2).toHex(),c=U.util.createBuffer(t.privateKeyExponent1).toHex(),f=U.util.createBuffer(t.privateKeyExponent2).toHex(),l=U.util.createBuffer(t.privateKeyCoefficient).toHex(),V.setRsaPrivateKey(new G(i,16),new G(o,16),new G(s,16),new G(a,16),new G(u,16),new G(c,16),new G(f,16),new G(l,16))};V.privateKeyToAsn1=V.privateKeyToRSAPrivateKey=function(e){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,$e(e.n)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,$e(e.e)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,$e(e.d)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,$e(e.p)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,$e(e.q)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,$e(e.dP)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,$e(e.dQ)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,$e(e.qInv))])};V.publicKeyFromAsn1=function(e){var t={},r=[];if(w.validate(e,J9,t,r)){var n=w.derToOid(t.publicKeyOid);if(n!==V.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!w.validate(e,j9,t,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=U.util.createBuffer(t.publicKeyModulus).toHex(),s=U.util.createBuffer(t.publicKeyExponent).toHex();return V.setRsaPublicKey(new G(o,16),new G(s,16))};V.publicKeyToAsn1=V.publicKeyToSubjectPublicKeyInfo=function(e){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(V.oids.rsaEncryption).getBytes()),w.create(w.Class.UNIVERSAL,w.Type.NULL,!1,"")]),w.create(w.Class.UNIVERSAL,w.Type.BITSTRING,!1,[V.publicKeyToRSAPublicKey(e)])])};V.publicKeyToRSAPublicKey=function(e){return w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,$e(e.n)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,$e(e.e))])};function d6(e,t,r){var n=U.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=e.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-e.length,a;if(r===0||r===1){a=r===0?0:255;for(var u=0;u<s;++u)n.putByte(a)}else for(;s>0;){for(var c=0,f=U.random.getBytes(s),u=0;u<s;++u)a=f.charCodeAt(u),a===0?++c:n.putByte(a);s=c}return n.putByte(0),n.putBytes(e),n}function ai(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),o=U.util.createBuffer(e),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 u=0;if(a===0){u=i-3-n;for(var c=0;c<u;++c)if(o.getByte()!==0)throw new Error("Encryption block is invalid.")}else if(a===1)for(u=0;o.length()>1;){if(o.getByte()!==255){--o.read;break}++u}else if(a===2)for(u=0;o.length()>1;){if(o.getByte()===0){--o.read;break}++u}var f=o.getByte();if(f!==0||u!==i-3-o.length())throw new Error("Encryption block is invalid.");return o.getBytes()}function rh(e,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),i();function i(){o(e.pBits,function(a,u){if(a)return r(a);if(e.p=u,e.q!==null)return s(a,e.q);o(e.qBits,s)})}function o(a,u){U.prime.generateProbablePrime(a,n,u)}function s(a,u){if(a)return r(a);if(e.q=u,e.p.compareTo(e.q)<0){var c=e.p;e.p=e.q,e.q=c}if(e.p.subtract(G.ONE).gcd(e.e).compareTo(G.ONE)!==0){e.p=null,i();return}if(e.q.subtract(G.ONE).gcd(e.e).compareTo(G.ONE)!==0){e.q=null,o(e.qBits,s);return}if(e.p1=e.p.subtract(G.ONE),e.q1=e.q.subtract(G.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(G.ONE)!==0){e.p=e.q=null,i();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,o(e.qBits,s);return}var f=e.e.modInverse(e.phi);e.keys={privateKey:V.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:V.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function $e(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=U.util.hexToBytes(t);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function nh(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function c6(e){return U.util.isNodejs&&typeof Gs[e]=="function"}function f6(e){return typeof ce.globalScope<"u"&&typeof ce.globalScope.crypto=="object"&&typeof ce.globalScope.crypto.subtle=="object"&&typeof ce.globalScope.crypto.subtle[e]=="function"}function l6(e){return typeof ce.globalScope<"u"&&typeof ce.globalScope.msCrypto=="object"&&typeof ce.globalScope.msCrypto.subtle=="object"&&typeof ce.globalScope.msCrypto.subtle[e]=="function"}function h6(e){for(var t=U.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var b6=D((xx,w6)=>{var P=et();Y1();N0();I5();Wr();Z1();Us();L5();L0();H5();ui();Ct();typeof g6>"u"&&(g6=P.jsbn.BigInteger);var g6,S=P.asn1,q=P.pki=P.pki||{};w6.exports=q.pbe=P.pbe=P.pbe||{};var Xr=q.oids,ih={name:"EncryptedPrivateKeyInfo",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:S.Class.UNIVERSAL,type:S.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},oh={name:"PBES2Algorithms",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:S.Class.UNIVERSAL,type:S.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:S.Class.UNIVERSAL,type:S.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},sh={name:"pkcs-12PbeParams",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:S.Class.UNIVERSAL,type:S.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,capture:"iterations"}]};q.encryptPrivateKeyInfo=function(e,t,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=P.random.getBytesSync(r.saltSize),i=r.count,o=S.integerToDer(i),s,a,u;if(r.algorithm.indexOf("aes")===0||r.algorithm==="des"){var c,f,l;switch(r.algorithm){case"aes128":s=16,c=16,f=Xr["aes128-CBC"],l=P.aes.createEncryptionCipher;break;case"aes192":s=24,c=16,f=Xr["aes192-CBC"],l=P.aes.createEncryptionCipher;break;case"aes256":s=32,c=16,f=Xr["aes256-CBC"],l=P.aes.createEncryptionCipher;break;case"des":s=8,c=8,f=Xr.desCBC,l=P.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var p="hmacWith"+r.prfAlgorithm.toUpperCase(),h=v6(p),y=P.pkcs5.pbkdf2(t,n,i,s,h),g=P.random.getBytesSync(c),m=l(y);m.start(g),m.update(S.toDer(e)),m.finish(),u=m.output.getBytes();var v=ah(n,o,s,p);a=S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(Xr.pkcs5PBES2).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(Xr.pkcs5PBKDF2).getBytes()),v]),S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(f).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.OCTETSTRING,!1,g)])])])}else if(r.algorithm==="3des"){s=24;var b=new P.util.ByteBuffer(n),y=q.pbe.generatePkcs12Key(t,b,1,i,s),g=q.pbe.generatePkcs12Key(t,b,2,i,s),m=P.des.createEncryptionCipher(y);m.start(g),m.update(S.toDer(e)),m.finish(),u=m.output.getBytes(),a=S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(Xr["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OCTETSTRING,!1,n),S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,o.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var L=S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[a,S.create(S.Class.UNIVERSAL,S.Type.OCTETSTRING,!1,u)]);return L};q.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!S.validate(e,ih,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=S.derToOid(n.encryptionOid),a=q.pbe.getCipher(s,n.encryptionParams,t),u=P.util.createBuffer(n.encryptedData);return a.update(u),a.finish()&&(r=S.fromDer(a.output)),r};q.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:S.toDer(e).getBytes()};return P.pem.encode(r,{maxline:t})};q.encryptedPrivateKeyFromPem=function(e){var t=P.pem.decode(e)[0];if(t.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=t.type,r}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return S.fromDer(t.body)};q.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=q.wrapRsaPrivateKey(q.privateKeyToAsn1(e));return n=q.encryptPrivateKeyInfo(n,t,r),q.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;default:var u=new Error('Could not encrypt RSA private key; unsupported encryption algorithm "'+r.algorithm+'".');throw u.algorithm=r.algorithm,u}var c=P.pbe.opensslDeriveBytes(t,o.substr(0,8),s),f=a(c);f.start(o),f.update(S.toDer(q.privateKeyToAsn1(e))),f.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:P.util.bytesToHex(o).toUpperCase()},body:f.output.getBytes()};return P.pem.encode(l)};q.decryptRsaPrivateKey=function(e,t){var r=null,n=P.pem.decode(e)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=P.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=P.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=P.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=P.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=P.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return P.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return P.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return P.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=P.util.hexToBytes(n.dekInfo.parameters),u=P.pbe.opensslDeriveBytes(t,a.substr(0,8),o),c=s(u);if(c.start(a),c.update(P.util.createBuffer(n.body)),c.finish())r=c.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=q.decryptPrivateKeyInfo(S.fromDer(r),t):r=S.fromDer(r),r!==null&&(r=q.privateKeyFromAsn1(r)),r};q.pbe.generatePkcs12Key=function(e,t,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in P.md))throw new Error('"sha1" hash algorithm unavailable.');o=P.md.sha1.create()}var u=o.digestLength,c=o.blockLength,f=new P.util.ByteBuffer,l=new P.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)l.putInt16(e.charCodeAt(a));l.putInt16(0)}var d=l.length(),p=t.length(),h=new P.util.ByteBuffer;h.fillWithByte(r,c);var y=c*Math.ceil(p/c),g=new P.util.ByteBuffer;for(a=0;a<y;a++)g.putByte(t.at(a%p));var m=c*Math.ceil(d/c),v=new P.util.ByteBuffer;for(a=0;a<m;a++)v.putByte(l.at(a%d));var b=g;b.putBuffer(v);for(var L=Math.ceil(i/u),_=1;_<=L;_++){var C=new P.util.ByteBuffer;C.putBytes(h.bytes()),C.putBytes(b.bytes());for(var K=0;K<n;K++)o.start(),o.update(C.getBytes()),C=o.digest();var $=new P.util.ByteBuffer;for(a=0;a<c;a++)$.putByte(C.at(a%u));var Tt=Math.ceil(p/c)+Math.ceil(d/c),de=new P.util.ByteBuffer;for(s=0;s<Tt;s++){var Xt=new P.util.ByteBuffer(b.getBytes(c)),qt=511;for(a=$.length()-1;a>=0;a--)qt=qt>>8,qt+=$.at(a)+Xt.at(a),Xt.setAt(a,qt&255);de.putBuffer(Xt)}b=de,f.putBuffer(C)}return f.truncate(f.length()-i),f};q.pbe.getCipher=function(e,t,r){switch(e){case q.oids.pkcs5PBES2:return q.pbe.getCipherForPBES2(e,t,r);case q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case q.oids["pbewithSHAAnd40BitRC2-CBC"]:return q.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};q.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!S.validate(t,oh,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(e=S.derToOid(n.kdfOid),e!==q.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=e,o.supportedOids=["pkcs5PBKDF2"],o}if(e=S.derToOid(n.encOid),e!==q.oids["aes128-CBC"]&&e!==q.oids["aes192-CBC"]&&e!==q.oids["aes256-CBC"]&&e!==q.oids["des-EDE3-CBC"]&&e!==q.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=e,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=P.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var u,c;switch(q.oids[e]){case"aes128-CBC":u=16,c=P.aes.createDecryptionCipher;break;case"aes192-CBC":u=24,c=P.aes.createDecryptionCipher;break;case"aes256-CBC":u=32,c=P.aes.createDecryptionCipher;break;case"des-EDE3-CBC":u=24,c=P.des.createDecryptionCipher;break;case"desCBC":u=8,c=P.des.createDecryptionCipher;break}var f=x6(n.prfOid),l=P.pkcs5.pbkdf2(r,s,a,u,f),d=n.encIv,p=c(l);return p.start(d),p};q.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!S.validate(t,sh,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=P.util.createBuffer(n.salt),a=P.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var u,c,f;switch(e){case q.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:u=24,c=8,f=P.des.startDecrypting;break;case q.oids["pbewithSHAAnd40BitRC2-CBC"]:u=5,c=8,f=function(y,g){var m=P.rc2.createDecryptionCipher(y,40);return m.start(g,null),m};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=e,o}var l=x6(n.prfOid),d=q.pbe.generatePkcs12Key(r,s,1,a,u,l);l.start();var p=q.pbe.generatePkcs12Key(r,s,2,a,c,l);return f(d,p)};q.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in P.md))throw new Error('"md5" hash algorithm unavailable.');n=P.md.md5.create()}t===null&&(t="");for(var i=[m6(n,e+t)],o=16,s=1;o<r;++s,o+=16)i.push(m6(n,i[s-1]+e+t));return i.join("").substr(0,r)};function m6(e,t){return e.start().update(t).digest().getBytes()}function x6(e){var t;if(!e)t="hmacWithSHA1";else if(t=q.oids[S.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return v6(t)}function v6(e){var t=P.md;switch(e){case"hmacWithSHA224":t=P.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function ah(e,t,r,n){var i=S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OCTETSTRING,!1,e),S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,P.util.hexToBytes(r.toString(16))),S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(q.oids[n]).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.NULL,!1,"")])),i}});var F6=D((Vx,D6)=>{var ft=et();Wr();Ct();var D0=D6.exports=ft.sha512=ft.sha512||{};ft.md.sha512=ft.md.algorithms.sha512=D0;var L6=ft.sha384=ft.sha512.sha384=ft.sha512.sha384||{};L6.create=function(){return D0.create("SHA-384")};ft.md.sha384=ft.md.algorithms.sha384=L6;ft.sha512.sha256=ft.sha512.sha256||{create:function(){return D0.create("SHA-512/256")}};ft.md["sha512/256"]=ft.md.algorithms["sha512/256"]=ft.sha512.sha256;ft.sha512.sha224=ft.sha512.sha224||{create:function(){return D0.create("SHA-512/224")}};ft.md["sha512/224"]=ft.md.algorithms["sha512/224"]=ft.sha512.sha224;D0.create=function(e){if(k6||lh(),typeof e>"u"&&(e="SHA-512"),!(e in jr))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=jr[e],r=null,n=ft.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(e){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:e.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 u=a.messageLengthSize/4,c=0;c<u;++c)a.fullMessageLength.push(0);n=ft.util.createBuffer(),r=new Array(t.length);for(var c=0;c<t.length;++c)r[c]=t[c].slice(0);return a},a.start(),a.update=function(u,c){c==="utf8"&&(u=ft.util.encodeUtf8(u));var f=u.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(u),N6(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var u=ft.util.createBuffer();u.putBytes(n.bytes());var c=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=c&a.blockLength-1;u.putBytes(Ys.substr(0,a.blockLength-f));for(var l,d,p=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)l=a.fullMessageLength[h+1]*8,d=l/4294967296>>>0,p+=d,u.putInt32(p>>>0),p=l>>>0;u.putInt32(p);for(var y=new Array(r.length),h=0;h<r.length;++h)y[h]=r[h].slice(0);N6(y,i,u);var g=ft.util.createBuffer(),m;e==="SHA-512"?m=y.length:e==="SHA-384"?m=y.length-2:m=y.length-4;for(var h=0;h<m;++h)g.putInt32(y[h][0]),(h!==m-1||e!=="SHA-512/224")&&g.putInt32(y[h][1]);return g},a};var Ys=null,k6=!1,Zs=null,jr=null;function lh(){Ys=String.fromCharCode(128),Ys+=ft.util.fillString(String.fromCharCode(0),128),Zs=[[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]],jr={},jr["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],jr["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],jr["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],jr["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],k6=!0}function N6(e,t,r){for(var n,i,o,s,a,u,c,f,l,d,p,h,y,g,m,v,b,L,_,C,K,$,Tt,de,Xt,qt,ln,h1,Rt,Qt,O,oo,so,ao,uo,j2=r.length();j2>=128;){for(Rt=0;Rt<16;++Rt)t[Rt][0]=r.getInt32()>>>0,t[Rt][1]=r.getInt32()>>>0;for(;Rt<80;++Rt)oo=t[Rt-2],Qt=oo[0],O=oo[1],n=((Qt>>>19|O<<13)^(O>>>29|Qt<<3)^Qt>>>6)>>>0,i=((Qt<<13|O>>>19)^(O<<3|Qt>>>29)^(Qt<<26|O>>>6))>>>0,ao=t[Rt-15],Qt=ao[0],O=ao[1],o=((Qt>>>1|O<<31)^(Qt>>>8|O<<24)^Qt>>>7)>>>0,s=((Qt<<31|O>>>1)^(Qt<<24|O>>>8)^(Qt<<25|O>>>7))>>>0,so=t[Rt-7],uo=t[Rt-16],O=i+so[1]+s+uo[1],t[Rt][0]=n+so[0]+o+uo[0]+(O/4294967296>>>0)>>>0,t[Rt][1]=O>>>0;for(y=e[0][0],g=e[0][1],m=e[1][0],v=e[1][1],b=e[2][0],L=e[2][1],_=e[3][0],C=e[3][1],K=e[4][0],$=e[4][1],Tt=e[5][0],de=e[5][1],Xt=e[6][0],qt=e[6][1],ln=e[7][0],h1=e[7][1],Rt=0;Rt<80;++Rt)c=((K>>>14|$<<18)^(K>>>18|$<<14)^($>>>9|K<<23))>>>0,f=((K<<18|$>>>14)^(K<<14|$>>>18)^($<<23|K>>>9))>>>0,l=(Xt^K&(Tt^Xt))>>>0,d=(qt^$&(de^qt))>>>0,a=((y>>>28|g<<4)^(g>>>2|y<<30)^(g>>>7|y<<25))>>>0,u=((y<<4|g>>>28)^(g<<30|y>>>2)^(g<<25|y>>>7))>>>0,p=(y&m|b&(y^m))>>>0,h=(g&v|L&(g^v))>>>0,O=h1+f+d+Zs[Rt][1]+t[Rt][1],n=ln+c+l+Zs[Rt][0]+t[Rt][0]+(O/4294967296>>>0)>>>0,i=O>>>0,O=u+h,o=a+p+(O/4294967296>>>0)>>>0,s=O>>>0,ln=Xt,h1=qt,Xt=Tt,qt=de,Tt=K,de=$,O=C+i,K=_+n+(O/4294967296>>>0)>>>0,$=O>>>0,_=b,C=L,b=m,L=v,m=y,v=g,O=i+s,y=n+o+(O/4294967296>>>0)>>>0,g=O>>>0;O=e[0][1]+g,e[0][0]=e[0][0]+y+(O/4294967296>>>0)>>>0,e[0][1]=O>>>0,O=e[1][1]+v,e[1][0]=e[1][0]+m+(O/4294967296>>>0)>>>0,e[1][1]=O>>>0,O=e[2][1]+L,e[2][0]=e[2][0]+b+(O/4294967296>>>0)>>>0,e[2][1]=O>>>0,O=e[3][1]+C,e[3][0]=e[3][0]+_+(O/4294967296>>>0)>>>0,e[3][1]=O>>>0,O=e[4][1]+$,e[4][0]=e[4][0]+K+(O/4294967296>>>0)>>>0,e[4][1]=O>>>0,O=e[5][1]+de,e[5][0]=e[5][0]+Tt+(O/4294967296>>>0)>>>0,e[5][1]=O>>>0,O=e[6][1]+qt,e[6][0]=e[6][0]+Xt+(O/4294967296>>>0)>>>0,e[6][1]=O>>>0,O=e[7][1]+h1,e[7][0]=e[7][0]+ln+(O/4294967296>>>0)>>>0,e[7][1]=O>>>0,j2-=128}}});var M8=D((Ew,O8)=>{O8.exports=_2;var U8=128,kp=127,Dp=~kp,Fp=Math.pow(2,31);function _2(e,t,r){if(Number.MAX_SAFE_INTEGER&&e>Number.MAX_SAFE_INTEGER)throw _2.bytes=0,new RangeError("Could not encode varint");t=t||[],r=r||0;for(var n=r;e>=Fp;)t[r++]=e&255|U8,e/=128;for(;e&Dp;)t[r++]=e&255|U8,e>>>=7;return t[r]=e|0,_2.bytes=r-n+1,t}});var q8=D((Sw,V8)=>{V8.exports=T2;var Up=128,K8=127;function T2(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a||i>49)throw T2.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&K8)<<i:(s&K8)*Math.pow(2,i),i+=7}while(s>=Up);return T2.bytes=o-n,r}});var $8=D((Aw,z8)=>{var Op=Math.pow(2,7),Mp=Math.pow(2,14),Kp=Math.pow(2,21),Vp=Math.pow(2,28),qp=Math.pow(2,35),zp=Math.pow(2,42),$p=Math.pow(2,49),Hp=Math.pow(2,56),Gp=Math.pow(2,63);z8.exports=function(e){return e<Op?1:e<Mp?2:e<Kp?3:e<Vp?4:e<qp?5:e<zp?6:e<$p?7:e<Hp?8:e<Gp?9:10}});var j0=D((Bw,H8)=>{H8.exports={encode:M8(),decode:q8(),encodingLength:$8()}});var yu=D((aE,du)=>{du.exports=function(e){if(!e)throw Error("hashlru must have a max value, of type number, greater than 0");var t=0,r=Object.create(null),n=Object.create(null);function i(o,s){r[o]=s,t++,t>=e&&(t=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 $i=D((yE,H2)=>{function vu(e){let t=new globalThis.AbortController;function r(){t.abort();for(let n of e)!n||!n.removeEventListener||n.removeEventListener("abort",r)}for(let n of e)if(!(!n||!n.addEventListener)){if(n.aborted){r();break}n.addEventListener("abort",r)}return t.signal}H2.exports=vu;H2.exports.anySignal=vu});var Rd={};Lt(Rd,{kadDHT:()=>Td});var e5=R(Ua(),1);var _o={};Lt(_o,{sha256:()=>gt,sha512:()=>Wc});var Md=new Uint8Array(0);var Oa=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},Xe=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var Ma=e=>new TextEncoder().encode(e),Ka=e=>new TextDecoder().decode(e);var Rc=$a,qa=128,Pc=127,Nc=~Pc,Lc=Math.pow(2,31);function $a(e,t,r){t=t||[],r=r||0;for(var n=r;e>=Lc;)t[r++]=e&255|qa,e/=128;for(;e&Nc;)t[r++]=e&255|qa,e>>>=7;return t[r]=e|0,$a.bytes=r-n+1,t}var kc=Bo,Dc=128,za=127;function Bo(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw Bo.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&za)<<i:(s&za)*Math.pow(2,i),i+=7}while(s>=Dc);return Bo.bytes=o-n,r}var Fc=Math.pow(2,7),Uc=Math.pow(2,14),Oc=Math.pow(2,21),Mc=Math.pow(2,28),Kc=Math.pow(2,35),Vc=Math.pow(2,42),qc=Math.pow(2,49),zc=Math.pow(2,56),$c=Math.pow(2,63),Hc=function(e){return e<Fc?1:e<Uc?2:e<Oc?3:e<Mc?4:e<Kc?5:e<Vc?6:e<qc?7:e<zc?8:e<$c?9:10},Gc={encode:Rc,decode:kc,encodingLength:Hc},Qc=Gc,h0=Qc;var p0=(e,t=0)=>[h0.decode(e,t),h0.decode.bytes],xn=(e,t,r=0)=>(h0.encode(e,t,r),t),vn=e=>h0.encodingLength(e);var Pe=(e,t)=>{let r=t.byteLength,n=vn(e),i=n+vn(r),o=new Uint8Array(i+r);return xn(e,o,0),xn(r,o,n),o.set(t,i),new wn(e,r,t,o)},Or=e=>{let t=Xe(e),[r,n]=p0(t),[i,o]=p0(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new wn(r,i,s,t)},Ha=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Oa(e.bytes,r.bytes)}},wn=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var Co=({name:e,code:t,encode:r})=>new Io(e,t,r),Io=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?Pe(this.code,r):r.then(n=>Pe(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Qa=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),gt=Co({name:"sha2-256",code:18,encode:Qa("SHA-256")}),Wc=Co({name:"sha2-512",code:19,encode:Qa("SHA-512")});var Wa=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,r)=>(r&=63,r<36?t+=r.toString(36):r<62?t+=(r-26).toString(36).toUpperCase():r>62?t+="-":t+="_",t),"");var Lo={};Lt(Lo,{identity:()=>tf});function Yc(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<e.length;i++){var o=e.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,u=e.charAt(0),c=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 y=0,g=0,m=0,v=h.length;m!==v&&h[m]===0;)m++,y++;for(var b=(v-m)*f+1>>>0,L=new Uint8Array(b);m!==v;){for(var _=h[m],C=0,K=b-1;(_!==0||C<g)&&K!==-1;K--,C++)_+=256*L[K]>>>0,L[K]=_%a>>>0,_=_/a>>>0;if(_!==0)throw new Error("Non-zero carry");g=C,m++}for(var $=b-g;$!==b&&L[$]===0;)$++;for(var Tt=u.repeat(y);$<b;++$)Tt+=e.charAt(L[$]);return Tt}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var y=0;if(h[y]!==" "){for(var g=0,m=0;h[y]===u;)g++,y++;for(var v=(h.length-y)*c+1>>>0,b=new Uint8Array(v);h[y];){var L=r[h.charCodeAt(y)];if(L===255)return;for(var _=0,C=v-1;(L!==0||_<m)&&C!==-1;C--,_++)L+=a*b[C]>>>0,b[C]=L%256>>>0,L=L/256>>>0;if(L!==0)throw new Error("Non-zero carry");m=_,y++}if(h[y]!==" "){for(var K=v-m;K!==v&&b[K]===0;)K++;for(var $=new Uint8Array(g+(v-K)),Tt=g;K!==v;)$[Tt++]=b[K++];return $}}}function p(h){var y=d(h);if(y)return y;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:p}}var Zc=Yc,Xc=Zc,Ya=Xc;var To=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},Ro=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return Za(this,t)}},Po=class{constructor(t){this.decoders=t}or(t){return Za(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},Za=(e,t)=>new Po({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),No=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new To(t,r,n),this.decoder=new Ro(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},bn=({name:e,prefix:t,encode:r,decode:n})=>new No(e,t,r,n),mr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=Ya(r,t);return bn({prefix:e,name:t,encode:n,decode:o=>Xe(i(o))})},jc=(e,t,r,n)=>{let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let o=e.length;for(;e[o-1]==="=";)--o;let s=new Uint8Array(o*r/8|0),a=0,u=0,c=0;for(let f=0;f<o;++f){let l=i[e[f]];if(l===void 0)throw new SyntaxError(`Non-${n} character`);u=u<<r|l,a+=r,a>=8&&(a-=8,s[c++]=255&u>>a)}if(a>=r||255&u<<8-a)throw new SyntaxError("Unexpected end of data");return s},Jc=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let u=0;u<e.length;++u)for(a=a<<8|e[u],s+=8;s>r;)s-=r,o+=t[i&a>>s];if(s&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},wt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>bn({prefix:t,name:e,encode(i){return Jc(i,n,r)},decode(i){return jc(i,n,r,e)}});var tf=bn({prefix:"\0",name:"identity",encode:e=>Ka(e),decode:e=>Ma(e)});var ko={};Lt(ko,{base2:()=>ef});var ef=wt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Do={};Lt(Do,{base8:()=>rf});var rf=wt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Fo={};Lt(Fo,{base10:()=>nf});var nf=mr({prefix:"9",name:"base10",alphabet:"0123456789"});var Uo={};Lt(Uo,{base16:()=>of,base16upper:()=>sf});var of=wt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),sf=wt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Oo={};Lt(Oo,{base32:()=>ye,base32hex:()=>ff,base32hexpad:()=>hf,base32hexpadupper:()=>pf,base32hexupper:()=>lf,base32pad:()=>uf,base32padupper:()=>cf,base32upper:()=>af,base32z:()=>df});var ye=wt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),af=wt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),uf=wt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),cf=wt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),ff=wt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),lf=wt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),hf=wt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),pf=wt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),df=wt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Mo={};Lt(Mo,{base36:()=>yf,base36upper:()=>gf});var yf=mr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),gf=mr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Ko={};Lt(Ko,{base58btc:()=>St,base58flickr:()=>mf});var St=mr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),mf=mr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Vo={};Lt(Vo,{base64:()=>Kr,base64pad:()=>xf,base64url:()=>vf,base64urlpad:()=>wf});var Kr=wt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),xf=wt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),vf=wt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),wf=wt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var qo={};Lt(qo,{base256emoji:()=>Bf});var Xa=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}"),bf=Xa.reduce((e,t,r)=>(e[r]=t,e),[]),Ef=Xa.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function Sf(e){return e.reduce((t,r)=>(t+=bf[r],t),"")}function Af(e){let t=[];for(let r of e){let n=Ef[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var Bf=bn({prefix:"\u{1F680}",name:"base256emoji",encode:Sf,decode:Af});var zo={};Lt(zo,{identity:()=>xr});var ja=0,If="identity",Ja=Xe,Cf=e=>Pe(ja,Ja(e)),xr={code:ja,name:If,encode:Ja,digest:Cf};var uy=new TextEncoder,cy=new TextDecoder;var t3=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return Pf(r,$o(e),t||St.encoder);default:return Nf(r,$o(e),t||ye.encoder)}};var e3=new WeakMap,$o=e=>{let t=e3.get(e);if(t==null){let r=new Map;return e3.set(e,r),r}return t},j=class{constructor(t,r,n,i){this.code=r,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==d0)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==Lf)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return j.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=Pe(t,r);return j.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return j.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&Ha(t.multihash,n.multihash)}toString(t){return t3(this,t)}toJSON(){return{"/":t3(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof j)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new j(n,i,o,s||r3(n,i,o.bytes))}else if(r[kf]===!0){let{version:n,multihash:i,code:o}=r,s=Or(i);return j.create(n,o,s)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==d0)throw new Error(`Version 0 CID must use dag-pb (code: ${d0}) block encoding`);return new j(t,r,n,n.bytes)}case 1:{let i=r3(t,r,n.bytes);return new j(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return j.create(0,d0,t)}static createV1(t,r){return j.create(1,t,r)}static decode(t){let[r,n]=j.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=j.inspectBytes(t),n=r.size-r.multihashSize,i=Xe(t.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 wn(r.multihashCode,r.digestSize,o,i);return[r.version===0?j.createV0(s):j.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,d]=p0(t.subarray(r));return r+=d,l},i=n(),o=d0;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(),u=n(),c=r+u,f=c-s;return{version:i,codec:o,multihashCode:a,digestSize:u,multihashSize:f,size:c}}static parse(t,r){let[n,i]=Rf(t,r),o=j.decode(i);return $o(o).set(n,t),o}},Rf=(e,t)=>{switch(e[0]){case"Q":{let r=t||St;return[St.prefix,r.decode(`${St.prefix}${e}`)]}case St.prefix:{let r=t||St;return[St.prefix,r.decode(e)]}case ye.prefix:{let r=t||ye;return[ye.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},Pf=(e,t,r)=>{let{prefix:n}=r;if(n!==St.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let o=r.encode(e).slice(1);return t.set(n,o),o}else return i},Nf=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let o=r.encode(e);return t.set(n,o),o}else return i},d0=112,Lf=18,r3=(e,t,r)=>{let n=vn(e),i=n+vn(t),o=new Uint8Array(i+r.byteLength);return xn(e,o,0),xn(t,o,n),o.set(r,i),o},kf=Symbol.for("@ipld/js-cid/CID");var vr={...Lo,...ko,...Do,...Fo,...Uo,...Oo,...Mo,...Ko,...Vo,...qo},vy={..._o,...zo};function je(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function Je(e=0){return globalThis.Buffer?.alloc!=null?je(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function ge(e=0){return globalThis.Buffer?.allocUnsafe!=null?je(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function i3(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var n3=i3("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Ho=i3("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=ge(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Df={utf8:n3,"utf-8":n3,hex:vr.base16,latin1:Ho,ascii:Ho,binary:Ho,...vr},S1=Df;function M(e,t="utf8"){let r=S1[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function mt(e,t="utf8"){let r=S1[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?je(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var tr="/",o3=new TextEncoder().encode(tr),A1=o3[0],Dt=class{constructor(t,r){if(typeof t=="string")this._buf=mt(t);else if(t instanceof Uint8Array)this._buf=t;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]!==A1)throw new Error("Invalid key")}toString(t="utf8"){return M(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new Dt(t.join(tr))}static random(){return new Dt(Wa().replace(/-/g,""))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new Dt(t):typeof t.uint8Array=="function"?new Dt(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=o3),this._buf[0]!==A1){let t=new Uint8Array(this._buf.byteLength+1);t.fill(A1,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===A1;)this._buf=this._buf.subarray(0,-1)}less(t){let r=this.list(),n=t.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 Dt.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(tr).slice(1)}type(){return Ff(this.baseNamespace())}name(){return Uf(this.baseNamespace())}instance(t){return new Dt(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(tr)||(t+=tr),t+=this.type(),new Dt(t)}parent(){let t=this.list();return t.length===1?new Dt(tr):new Dt(t.slice(0,-1).join(tr))}child(t){return this.toString()===tr?t:t.toString()===tr?this:new Dt(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return Dt.withNamespaces([...this.namespaces(),...Of(t.map(r=>r.namespaces()))])}};function Ff(e){let t=e.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function Uf(e){let t=e.split(":");return t[t.length-1]}function Of(e){return[].concat(...e)}var is=R(Zo(),1),G3=R(O3(),1),os=R(ns(),1),Q3=R(H3(),1),W3=R(qr(),1);function Qf(){W3.default._configure(),is.default._configure(G3.default),os.default._configure(Q3.default)}Qf();var Y3=["uint64","int64","sint64","fixed64","sfixed64"];function Wf(e){for(let t of Y3){if(e[t]==null)continue;let r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}function ss(e){return Wf(new is.default(e))}function Yf(e){for(let t of Y3){if(e[t]==null)continue;let r=e[t];e[t]=function(n){return r.call(this,n.toString())}}return e}function as(){return Yf(os.default.create())}function ke(e,t){let r=ss(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function De(e,t){let r=as();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var Sn;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(Sn||(Sn={}));function T1(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function An(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return T1("enum",Sn.VARINT,r,n)}function Fe(e,t){return T1("message",Sn.LENGTH_DELIMITED,e,t)}var m0;(function(e){let t;e.codec=()=>(t==null&&(t=Fe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),(i.writeDefaults===!0||r.key!=null&&r.key.byteLength>0)&&(n.uint32(10),n.bytes(r.key)),(i.writeDefaults===!0||r.value!=null&&r.value.byteLength>0)&&(n.uint32(18),n.bytes(r.value)),(i.writeDefaults===!0||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})),t),e.encode=r=>De(r,e.codec()),e.decode=r=>ke(r,e.codec())})(m0||(m0={}));function Z3(e){let t=e.getUTCFullYear(),r=String(e.getUTCMonth()+1).padStart(2,"0"),n=String(e.getUTCDate()).padStart(2,"0"),i=String(e.getUTCHours()).padStart(2,"0"),o=String(e.getUTCMinutes()).padStart(2,"0"),s=String(e.getUTCSeconds()).padStart(2,"0"),a=e.getUTCMilliseconds(),u=String(a*1e3*1e3).padStart(9,"0");return`${t}-${r}-${n}T${i}:${o}:${s}.${u}Z`}function X3(e){let t=new RegExp("(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d+)Z"),r=String(e).trim().match(t);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),u=parseInt(r[6],10),c=parseInt(r[7].slice(0,-6),10);return new Date(Date.UTC(n,i,o,s,a,u,c))}var Pt=class{constructor(t,r,n){if(!(t instanceof Uint8Array))throw new Error("key must be a Uint8Array");if(!(r instanceof Uint8Array))throw new Error("value must be a Uint8Array");this.key=t,this.value=r,this.timeReceived=n}serialize(){return m0.encode(this.prepareSerialize())}prepareSerialize(){return{key:this.key,value:this.value,timeReceived:Z3(this.timeReceived)}}static deserialize(t){let r=m0.decode(t);return new Pt(r.key,r.value,new Date(r.timeReceived))}static fromDeserialized(t){let r=X3(t.timeReceived);if(t.key==null)throw new Error("key missing from deserialized object");if(t.value==null)throw new Error("value missing from deserialized object");return new Pt(t.key,t.value,r)}};function at(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=ge(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return je(r)}var f4=R(j3(),1);var J3="[a-fA-F\\d:]",Er=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${J3})|(?<=${J3})(?=\\s|$))`:"",ve="(?: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}",Nt="[a-fA-F\\d]{1,4}",R1=`
|
|
16
|
+
`+a+t.substr(s+1),o=i-s-1,s=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(s=i);return t}function M7(e){return e.replace(/^\s+/,"")}});var I5=D((Xm,B5)=>{var Ve=nt();Xr();Ct();var E5=B5.exports=Ve.sha256=Ve.sha256||{};Ve.md.sha256=Ve.md.algorithms.sha256=E5;E5.create=function(){S5||K7();var e=null,t=Ve.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 t=Ve.util.createBuffer(),e={h0:1779033703,h1:3144134277,h2:1013904242,h3:2773480762,h4:1359893119,h5:2600822924,h6:528734635,h7:1541459225},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=Ve.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 t.putBytes(i),b5(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=Ve.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Fs.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:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4,h5:e.h5,h6:e.h6,h7:e.h7};b5(l,r,i);var d=Ve.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d.putInt32(l.h5),d.putInt32(l.h6),d.putInt32(l.h7),d},n};var Fs=null,S5=!1,A5=null;function K7(){Fs=String.fromCharCode(128),Fs+=Ve.util.fillString(String.fromCharCode(0),64),A5=[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],S5=!0}function b5(e,t,r){for(var n,i,o,s,a,c,u,f,l,d,p,h,y,g,m,v=r.length();v>=64;){for(u=0;u<16;++u)t[u]=r.getInt32();for(;u<64;++u)n=t[u-2],n=(n>>>17|n<<15)^(n>>>19|n<<13)^n>>>10,i=t[u-15],i=(i>>>7|i<<25)^(i>>>18|i<<14)^i>>>3,t[u]=n+t[u-7]+i+t[u-16]|0;for(f=e.h0,l=e.h1,d=e.h2,p=e.h3,h=e.h4,y=e.h5,g=e.h6,m=e.h7,u=0;u<64;++u)s=(h>>>6|h<<26)^(h>>>11|h<<21)^(h>>>25|h<<7),a=g^h&(y^g),o=(f>>>2|f<<30)^(f>>>13|f<<19)^(f>>>22|f<<10),c=f&l|d&(f^l),n=m+s+a+A5[u]+t[u],i=o+c,m=g,g=y,y=h,h=p+n>>>0,p=d,d=l,l=f,f=n+i>>>0;e.h0=e.h0+f|0,e.h1=e.h1+l|0,e.h2=e.h2+d|0,e.h3=e.h3+p|0,e.h4=e.h4+h|0,e.h5=e.h5+y|0,e.h6=e.h6+g|0,e.h7=e.h7+m|0,v-=64}}});var _5=D((jm,C5)=>{var qe=nt();Ct();var r1=null;qe.util.isNodejs&&!qe.options.usePureJavaScript&&!process.versions["node-webkit"]&&(r1=qn());var V7=C5.exports=qe.prng=qe.prng||{};V7.create=function(e){for(var t={plugin:e,key:null,seed:null,time:null,reseeds:0,generated:0,keyBytes:""},r=e.md,n=new Array(32),i=0;i<32;++i)n[i]=r.create();t.pools=n,t.pool=0,t.generate=function(u,f){if(!f)return t.generateSync(u);var l=t.plugin.cipher,d=t.plugin.increment,p=t.plugin.formatKey,h=t.plugin.formatSeed,y=qe.util.createBuffer();t.key=null,g();function g(m){if(m)return f(m);if(y.length()>=u)return f(null,y.getBytes(u));if(t.generated>1048575&&(t.key=null),t.key===null)return qe.util.nextTick(function(){o(g)});var v=l(t.key,t.seed);t.generated+=v.length,y.putBytes(v),t.key=p(l(t.key,d(t.seed))),t.seed=h(l(t.key,t.seed)),qe.util.setImmediate(g)}},t.generateSync=function(u){var f=t.plugin.cipher,l=t.plugin.increment,d=t.plugin.formatKey,p=t.plugin.formatSeed;t.key=null;for(var h=qe.util.createBuffer();h.length()<u;){t.generated>1048575&&(t.key=null),t.key===null&&s();var y=f(t.key,t.seed);t.generated+=y.length,h.putBytes(y),t.key=d(f(t.key,l(t.seed))),t.seed=p(f(t.key,t.seed))}return h.getBytes(u)};function o(u){if(t.pools[0].messageLength>=32)return a(),u();var f=32-t.pools[0].messageLength<<5;t.seedFile(f,function(l,d){if(l)return u(l);t.collect(d),a(),u()})}function s(){if(t.pools[0].messageLength>=32)return a();var u=32-t.pools[0].messageLength<<5;t.collect(t.seedFileSync(u)),a()}function a(){t.reseeds=t.reseeds===4294967295?0:t.reseeds+1;var u=t.plugin.md.create();u.update(t.keyBytes);for(var f=1,l=0;l<32;++l)t.reseeds%f===0&&(u.update(t.pools[l].digest().getBytes()),t.pools[l].start()),f=f<<1;t.keyBytes=u.digest().getBytes(),u.start(),u.update(t.keyBytes);var d=u.digest().getBytes();t.key=t.plugin.formatKey(t.keyBytes),t.seed=t.plugin.formatSeed(d),t.generated=0}function c(u){var f=null,l=qe.util.globalScope,d=l.crypto||l.msCrypto;d&&d.getRandomValues&&(f=function(_){return d.getRandomValues(_)});var p=qe.util.createBuffer();if(f)for(;p.length()<u;){var h=Math.max(1,Math.min(u-p.length(),65536)/4),y=new Uint32Array(Math.floor(h));try{f(y);for(var g=0;g<y.length;++g)p.putInt32(y[g])}catch(_){if(!(typeof QuotaExceededError<"u"&&_ instanceof QuotaExceededError))throw _}}if(p.length()<u)for(var m,v,b,N=Math.floor(Math.random()*65536);p.length()<u;){v=16807*(N&65535),m=16807*(N>>16),v+=(m&32767)<<16,v+=m>>15,v=(v&2147483647)+(v>>31),N=v&4294967295;for(var g=0;g<3;++g)b=N>>>(g<<3),b^=Math.floor(Math.random()*256),p.putByte(b&255)}return p.getBytes(u)}return r1?(t.seedFile=function(u,f){r1.randomBytes(u,function(l,d){if(l)return f(l);f(null,d.toString())})},t.seedFileSync=function(u){return r1.randomBytes(u).toString()}):(t.seedFile=function(u,f){try{f(null,c(u))}catch(l){f(l)}},t.seedFileSync=c),t.collect=function(u){for(var f=u.length,l=0;l<f;++l)t.pools[t.pool].update(u.substr(l,1)),t.pool=t.pool===31?0:t.pool+1},t.collectInt=function(u,f){for(var l="",d=0;d<f;d+=8)l+=String.fromCharCode(u>>d&255);t.collect(l)},t.registerWorker=function(u){if(u===self)t.seedFile=function(l,d){function p(h){var y=h.data;y.forge&&y.forge.prng&&(self.removeEventListener("message",p),d(y.forge.prng.err,y.forge.prng.bytes))}self.addEventListener("message",p),self.postMessage({forge:{prng:{needed:l}}})};else{var f=function(l){var d=l.data;d.forge&&d.forge.prng&&t.seedFile(d.forge.prng.needed,function(p,h){u.postMessage({forge:{prng:{err:p,bytes:h}}})})};u.addEventListener("message",f)}},t}});var P0=D((Jm,Us)=>{var Mt=nt();Yi();I5();_5();Ct();(function(){if(Mt.random&&Mt.random.getBytes){Us.exports=Mt.random;return}(function(e){var t={},r=new Array(4),n=Mt.util.createBuffer();t.formatKey=function(l){var d=Mt.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),Mt.aes._expandKey(l,!1)},t.formatSeed=function(l){var d=Mt.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),l},t.cipher=function(l,d){return Mt.aes._updateBlock(l,d,r,!1),n.putInt32(r[0]),n.putInt32(r[1]),n.putInt32(r[2]),n.putInt32(r[3]),n.getBytes()},t.increment=function(l){return++l[3],l},t.md=Mt.md.sha256;function i(){var l=Mt.prng.create(t);return l.getBytes=function(d,p){return l.generate(d,p)},l.getBytesSync=function(d){return l.generate(d)},l}var o=i(),s=null,a=Mt.util.globalScope,c=a.crypto||a.msCrypto;if(c&&c.getRandomValues&&(s=function(l){return c.getRandomValues(l)}),Mt.options.usePureJavaScript||!Mt.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}e&&(e().mousemove(function(l){o.collectInt(l.clientX,16),o.collectInt(l.clientY,16)}),e().keypress(function(l){o.collectInt(l.charCode,8)}))}if(!Mt.random)Mt.random=o;else for(var f in o)Mt.random[f]=o[f];Mt.random.createInstance=i,Us.exports=Mt.random})(typeof jQuery<"u"?jQuery:null)})()});var L5=D((tx,P5)=>{var Yt=nt();Ct();var Os=[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],T5=[1,2,3,5],q7=function(e,t){return e<<t&65535|(e&65535)>>16-t},z7=function(e,t){return(e&65535)>>t|e<<16-t&65535};P5.exports=Yt.rc2=Yt.rc2||{};Yt.rc2.expandKey=function(e,t){typeof e=="string"&&(e=Yt.util.createBuffer(e)),t=t||128;var r=e,n=e.length(),i=t,o=Math.ceil(i/8),s=255>>(i&7),a;for(a=n;a<128;a++)r.putByte(Os[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,Os[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,Os[r.at(a+1)^r.at(a+o)]);return r};var R5=function(e,t,r){var n=!1,i=null,o=null,s=null,a,c,u,f,l=[];for(e=Yt.rc2.expandKey(e,t),u=0;u<64;u++)l.push(e.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]=q7(h[u],T5[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]=z7(h[u],T5[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 d=function(h){var y=[];for(u=0;u<4;u++){var g=i.getInt16Le();s!==null&&(r?g^=s.getInt16Le():s.putInt16Le(g)),y.push(g&65535)}f=r?0:63;for(var m=0;m<h.length;m++)for(var v=0;v<h[m][0];v++)h[m][1](y);for(u=0;u<4;u++)s!==null&&(r?s.putInt16Le(y[u]):y[u]^=s.getInt16Le()),o.putInt16Le(y[u])},p=null;return p={start:function(h,y){h&&typeof h=="string"&&(h=Yt.util.createBuffer(h)),n=!1,i=Yt.util.createBuffer(),o=y||new Yt.util.createBuffer,s=h,p.output=o},update:function(h){for(n||i.putBuffer(h);i.length()>=8;)d([[5,a],[1,c],[6,a],[1,c],[5,a]])},finish:function(h){var y=!0;if(r)if(h)y=h(8,i,!r);else{var g=i.length()===8?8:8-i.length();i.fillWithByte(g,g)}if(y&&(n=!0,p.update()),!r&&(y=i.length()===0,y))if(h)y=h(8,o,!r);else{var m=o.length(),v=o.at(m-1);v>m?y=!1:o.truncate(v)}return y}},p};Yt.rc2.startEncrypting=function(e,t,r){var n=Yt.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};Yt.rc2.createEncryptionCipher=function(e,t){return R5(e,t,!0)};Yt.rc2.startDecrypting=function(e,t,r){var n=Yt.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};Yt.rc2.createDecryptionCipher=function(e,t){return R5(e,t,!1)}});var o1=D((ex,K5)=>{var Ms=nt();K5.exports=Ms.jsbn=Ms.jsbn||{};var ur,$7=0xdeadbeefcafe,N5=($7&16777215)==15715070;function A(e,t,r){this.data=[],e!=null&&(typeof e=="number"?this.fromNumber(e,t,r):t==null&&typeof e!="string"?this.fromString(e,256):this.fromString(e,t))}Ms.jsbn.BigInteger=A;function j(){return new A(null)}function H7(e,t,r,n,i,o){for(;--o>=0;){var s=t*this.data[e++]+r.data[n]+i;i=Math.floor(s/67108864),r.data[n++]=s&67108863}return i}function G7(e,t,r,n,i,o){for(var s=t&32767,a=t>>15;--o>=0;){var c=this.data[e]&32767,u=this.data[e++]>>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 k5(e,t,r,n,i,o){for(var s=t&16383,a=t>>14;--o>=0;){var c=this.data[e]&16383,u=this.data[e++]>>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"?(A.prototype.am=k5,ur=28):N5&&navigator.appName=="Microsoft Internet Explorer"?(A.prototype.am=G7,ur=30):N5&&navigator.appName!="Netscape"?(A.prototype.am=H7,ur=26):(A.prototype.am=k5,ur=28);A.prototype.DB=ur;A.prototype.DM=(1<<ur)-1;A.prototype.DV=1<<ur;var Ks=52;A.prototype.FV=Math.pow(2,Ks);A.prototype.F1=Ks-ur;A.prototype.F2=2*ur-Ks;var Q7="0123456789abcdefghijklmnopqrstuvwxyz",n1=new Array,zn,ue;zn="0".charCodeAt(0);for(ue=0;ue<=9;++ue)n1[zn++]=ue;zn="a".charCodeAt(0);for(ue=10;ue<36;++ue)n1[zn++]=ue;zn="A".charCodeAt(0);for(ue=10;ue<36;++ue)n1[zn++]=ue;function D5(e){return Q7.charAt(e)}function F5(e,t){var r=n1[e.charCodeAt(t)];return r??-1}function W7(e){for(var t=this.t-1;t>=0;--t)e.data[t]=this.data[t];e.t=this.t,e.s=this.s}function Y7(e){this.t=1,this.s=e<0?-1:0,e>0?this.data[0]=e:e<-1?this.data[0]=e+this.DV:this.t=0}function Cr(e){var t=j();return t.fromInt(e),t}function Z7(e,t){var r;if(t==16)r=4;else if(t==8)r=3;else if(t==256)r=8;else if(t==2)r=1;else if(t==32)r=5;else if(t==4)r=2;else{this.fromRadix(e,t);return}this.t=0,this.s=0;for(var n=e.length,i=!1,o=0;--n>=0;){var s=r==8?e[n]&255:F5(e,n);if(s<0){e.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&&e[0]&128&&(this.s=-1,o>0&&(this.data[this.t-1]|=(1<<this.DB-o)-1<<o)),this.clamp(),i&&A.ZERO.subTo(this,this)}function X7(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function j7(e){if(this.s<0)return"-"+this.negate().toString(e);var t;if(e==16)t=4;else if(e==8)t=3;else if(e==2)t=1;else if(e==32)t=5;else if(e==4)t=2;else return this.toRadix(e);var r=(1<<t)-1,n,i=!1,o="",s=this.t,a=this.DB-s*this.DB%t;if(s-- >0)for(a<this.DB&&(n=this.data[s]>>a)>0&&(i=!0,o=D5(n));s>=0;)a<t?(n=(this.data[s]&(1<<a)-1)<<t-a,n|=this.data[--s]>>(a+=this.DB-t)):(n=this.data[s]>>(a-=t)&r,a<=0&&(a+=this.DB,--s)),n>0&&(i=!0),i&&(o+=D5(n));return i?o:"0"}function J7(){var e=j();return A.ZERO.subTo(this,e),e}function tl(){return this.s<0?this.negate():this}function el(e){var t=this.s-e.s;if(t!=0)return t;var r=this.t;if(t=r-e.t,t!=0)return this.s<0?-t:t;for(;--r>=0;)if((t=this.data[r]-e.data[r])!=0)return t;return 0}function i1(e){var t=1,r;return(r=e>>>16)!=0&&(e=r,t+=16),(r=e>>8)!=0&&(e=r,t+=8),(r=e>>4)!=0&&(e=r,t+=4),(r=e>>2)!=0&&(e=r,t+=2),(r=e>>1)!=0&&(e=r,t+=1),t}function rl(){return this.t<=0?0:this.DB*(this.t-1)+i1(this.data[this.t-1]^this.s&this.DM)}function nl(e,t){var r;for(r=this.t-1;r>=0;--r)t.data[r+e]=this.data[r];for(r=e-1;r>=0;--r)t.data[r]=0;t.t=this.t+e,t.s=this.s}function il(e,t){for(var r=e;r<this.t;++r)t.data[r-e]=this.data[r];t.t=Math.max(this.t-e,0),t.s=this.s}function ol(e,t){var r=e%this.DB,n=this.DB-r,i=(1<<n)-1,o=Math.floor(e/this.DB),s=this.s<<r&this.DM,a;for(a=this.t-1;a>=0;--a)t.data[a+o+1]=this.data[a]>>n|s,s=(this.data[a]&i)<<r;for(a=o-1;a>=0;--a)t.data[a]=0;t.data[o]=s,t.t=this.t+o+1,t.s=this.s,t.clamp()}function sl(e,t){t.s=this.s;var r=Math.floor(e/this.DB);if(r>=this.t){t.t=0;return}var n=e%this.DB,i=this.DB-n,o=(1<<n)-1;t.data[0]=this.data[r]>>n;for(var s=r+1;s<this.t;++s)t.data[s-r-1]|=(this.data[s]&o)<<i,t.data[s-r]=this.data[s]>>n;n>0&&(t.data[this.t-r-1]|=(this.s&o)<<i),t.t=this.t-r,t.clamp()}function al(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]-e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n-=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n-=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n-=e.s}t.s=n<0?-1:0,n<-1?t.data[r++]=this.DV+n:n>0&&(t.data[r++]=n),t.t=r,t.clamp()}function cl(e,t){var r=this.abs(),n=e.abs(),i=r.t;for(t.t=i+n.t;--i>=0;)t.data[i]=0;for(i=0;i<n.t;++i)t.data[i+r.t]=r.am(0,n.data[i],t,i,0,r.t);t.s=0,t.clamp(),this.s!=e.s&&A.ZERO.subTo(t,t)}function ul(e){for(var t=this.abs(),r=e.t=2*t.t;--r>=0;)e.data[r]=0;for(r=0;r<t.t-1;++r){var n=t.am(r,t.data[r],e,2*r,0,1);(e.data[r+t.t]+=t.am(r+1,2*t.data[r],e,2*r+1,n,t.t-r-1))>=t.DV&&(e.data[r+t.t]-=t.DV,e.data[r+t.t+1]=1)}e.t>0&&(e.data[e.t-1]+=t.am(r,t.data[r],e,2*r,0,1)),e.s=0,e.clamp()}function fl(e,t,r){var n=e.abs();if(!(n.t<=0)){var i=this.abs();if(i.t<n.t){t?.fromInt(0),r!=null&&this.copyTo(r);return}r==null&&(r=j());var o=j(),s=this.s,a=e.s,c=this.DB-i1(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),d=this.FV/l,p=(1<<this.F1)/l,h=1<<this.F2,y=r.t,g=y-u,m=t??j();for(o.dlShiftTo(g,m),r.compareTo(m)>=0&&(r.data[r.t++]=1,r.subTo(m,r)),A.ONE.dlShiftTo(u,m),m.subTo(o,o);o.t<u;)o.data[o.t++]=0;for(;--g>=0;){var v=r.data[--y]==f?this.DM:Math.floor(r.data[y]*d+(r.data[y-1]+h)*p);if((r.data[y]+=o.am(0,v,r,g,0,u))<v)for(o.dlShiftTo(g,m),r.subTo(m,r);r.data[y]<--v;)r.subTo(m,r)}t!=null&&(r.drShiftTo(u,t),s!=a&&A.ZERO.subTo(t,t)),r.t=u,r.clamp(),c>0&&r.rShiftTo(c,r),s<0&&A.ZERO.subTo(r,r)}}}function ll(e){var t=j();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(A.ZERO)>0&&e.subTo(t,t),t}function jr(e){this.m=e}function hl(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function pl(e){return e}function dl(e){e.divRemTo(this.m,null,e)}function yl(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function gl(e,t){e.squareTo(t),this.reduce(t)}jr.prototype.convert=hl;jr.prototype.revert=pl;jr.prototype.reduce=dl;jr.prototype.mulTo=yl;jr.prototype.sqrTo=gl;function ml(){if(this.t<1)return 0;var e=this.data[0];if(!(e&1))return 0;var t=e&3;return t=t*(2-(e&15)*t)&15,t=t*(2-(e&255)*t)&255,t=t*(2-((e&65535)*t&65535))&65535,t=t*(2-e*t%this.DV)%this.DV,t>0?this.DV-t:-t}function Jr(e){this.m=e,this.mp=e.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<<e.DB-15)-1,this.mt2=2*e.t}function xl(e){var t=j();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(A.ZERO)>0&&this.m.subTo(t,t),t}function vl(e){var t=j();return e.copyTo(t),this.reduce(t),t}function wl(e){for(;e.t<=this.mt2;)e.data[e.t++]=0;for(var t=0;t<this.m.t;++t){var r=e.data[t]&32767,n=r*this.mpl+((r*this.mph+(e.data[t]>>15)*this.mpl&this.um)<<15)&e.DM;for(r=t+this.m.t,e.data[r]+=this.m.am(0,n,e,t,0,this.m.t);e.data[r]>=e.DV;)e.data[r]-=e.DV,e.data[++r]++}e.clamp(),e.drShiftTo(this.m.t,e),e.compareTo(this.m)>=0&&e.subTo(this.m,e)}function bl(e,t){e.squareTo(t),this.reduce(t)}function El(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Jr.prototype.convert=xl;Jr.prototype.revert=vl;Jr.prototype.reduce=wl;Jr.prototype.mulTo=El;Jr.prototype.sqrTo=bl;function Sl(){return(this.t>0?this.data[0]&1:this.s)==0}function Al(e,t){if(e>4294967295||e<1)return A.ONE;var r=j(),n=j(),i=t.convert(this),o=i1(e)-1;for(i.copyTo(r);--o>=0;)if(t.sqrTo(r,n),(e&1<<o)>0)t.mulTo(n,i,r);else{var s=r;r=n,n=s}return t.revert(r)}function Bl(e,t){var r;return e<256||t.isEven()?r=new jr(t):r=new Jr(t),this.exp(e,r)}A.prototype.copyTo=W7;A.prototype.fromInt=Y7;A.prototype.fromString=Z7;A.prototype.clamp=X7;A.prototype.dlShiftTo=nl;A.prototype.drShiftTo=il;A.prototype.lShiftTo=ol;A.prototype.rShiftTo=sl;A.prototype.subTo=al;A.prototype.multiplyTo=cl;A.prototype.squareTo=ul;A.prototype.divRemTo=fl;A.prototype.invDigit=ml;A.prototype.isEven=Sl;A.prototype.exp=Al;A.prototype.toString=j7;A.prototype.negate=J7;A.prototype.abs=tl;A.prototype.compareTo=el;A.prototype.bitLength=rl;A.prototype.mod=ll;A.prototype.modPowInt=Bl;A.ZERO=Cr(0);A.ONE=Cr(1);function Il(){var e=j();return this.copyTo(e),e}function Cl(){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 _l(){return this.t==0?this.s:this.data[0]<<24>>24}function Tl(){return this.t==0?this.s:this.data[0]<<16>>16}function Rl(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function Pl(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Ll(e){if(e==null&&(e=10),this.signum()==0||e<2||e>36)return"0";var t=this.chunkSize(e),r=Math.pow(e,t),n=Cr(r),i=j(),o=j(),s="";for(this.divRemTo(n,i,o);i.signum()>0;)s=(r+o.intValue()).toString(e).substr(1)+s,i.divRemTo(n,i,o);return o.intValue().toString(e)+s}function Nl(e,t){this.fromInt(0),t==null&&(t=10);for(var r=this.chunkSize(t),n=Math.pow(t,r),i=!1,o=0,s=0,a=0;a<e.length;++a){var c=F5(e,a);if(c<0){e.charAt(a)=="-"&&this.signum()==0&&(i=!0);continue}s=t*s+c,++o>=r&&(this.dMultiply(n),this.dAddOffset(s,0),o=0,s=0)}o>0&&(this.dMultiply(Math.pow(t,o)),this.dAddOffset(s,0)),i&&A.ZERO.subTo(this,this)}function kl(e,t,r){if(typeof t=="number")if(e<2)this.fromInt(1);else for(this.fromNumber(e,r),this.testBit(e-1)||this.bitwiseTo(A.ONE.shiftLeft(e-1),Vs,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(A.ONE.shiftLeft(e-1),this);else{var n=new Array,i=e&7;n.length=(e>>3)+1,t.nextBytes(n),i>0?n[0]&=(1<<i)-1:n[0]=0,this.fromString(n,256)}}function Dl(){var e=this.t,t=new Array;t[0]=this.s;var r=this.DB-e*this.DB%8,n,i=0;if(e-- >0)for(r<this.DB&&(n=this.data[e]>>r)!=(this.s&this.DM)>>r&&(t[i++]=n|this.s<<this.DB-r);e>=0;)r<8?(n=(this.data[e]&(1<<r)-1)<<8-r,n|=this.data[--e]>>(r+=this.DB-8)):(n=this.data[e]>>(r-=8)&255,r<=0&&(r+=this.DB,--e)),n&128&&(n|=-256),i==0&&(this.s&128)!=(n&128)&&++i,(i>0||n!=this.s)&&(t[i++]=n);return t}function Fl(e){return this.compareTo(e)==0}function Ul(e){return this.compareTo(e)<0?this:e}function Ol(e){return this.compareTo(e)>0?this:e}function Ml(e,t,r){var n,i,o=Math.min(e.t,this.t);for(n=0;n<o;++n)r.data[n]=t(this.data[n],e.data[n]);if(e.t<this.t){for(i=e.s&this.DM,n=o;n<this.t;++n)r.data[n]=t(this.data[n],i);r.t=this.t}else{for(i=this.s&this.DM,n=o;n<e.t;++n)r.data[n]=t(i,e.data[n]);r.t=e.t}r.s=t(this.s,e.s),r.clamp()}function Kl(e,t){return e&t}function Vl(e){var t=j();return this.bitwiseTo(e,Kl,t),t}function Vs(e,t){return e|t}function ql(e){var t=j();return this.bitwiseTo(e,Vs,t),t}function U5(e,t){return e^t}function zl(e){var t=j();return this.bitwiseTo(e,U5,t),t}function O5(e,t){return e&~t}function $l(e){var t=j();return this.bitwiseTo(e,O5,t),t}function Hl(){for(var e=j(),t=0;t<this.t;++t)e.data[t]=this.DM&~this.data[t];return e.t=this.t,e.s=~this.s,e}function Gl(e){var t=j();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function Ql(e){var t=j();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function Wl(e){if(e==0)return-1;var t=0;return e&65535||(e>>=16,t+=16),e&255||(e>>=8,t+=8),e&15||(e>>=4,t+=4),e&3||(e>>=2,t+=2),e&1||++t,t}function Yl(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+Wl(this.data[e]);return this.s<0?this.t*this.DB:-1}function Zl(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function Xl(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=Zl(this.data[r]^t);return e}function jl(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function Jl(e,t){var r=A.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function t9(e){return this.changeBit(e,Vs)}function e9(e){return this.changeBit(e,O5)}function r9(e){return this.changeBit(e,U5)}function n9(e,t){for(var r=0,n=0,i=Math.min(e.t,this.t);r<i;)n+=this.data[r]+e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;if(e.t<this.t){for(n+=e.s;r<this.t;)n+=this.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=this.s}else{for(n+=this.s;r<e.t;)n+=e.data[r],t.data[r++]=n&this.DM,n>>=this.DB;n+=e.s}t.s=n<0?-1:0,n>0?t.data[r++]=n:n<-1&&(t.data[r++]=this.DV+n),t.t=r,t.clamp()}function i9(e){var t=j();return this.addTo(e,t),t}function o9(e){var t=j();return this.subTo(e,t),t}function s9(e){var t=j();return this.multiplyTo(e,t),t}function a9(e){var t=j();return this.divRemTo(e,t,null),t}function c9(e){var t=j();return this.divRemTo(e,null,t),t}function u9(e){var t=j(),r=j();return this.divRemTo(e,t,r),new Array(t,r)}function f9(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function l9(e,t){if(e!=0){for(;this.t<=t;)this.data[this.t++]=0;for(this.data[t]+=e;this.data[t]>=this.DV;)this.data[t]-=this.DV,++t>=this.t&&(this.data[this.t++]=0),++this.data[t]}}function L0(){}function M5(e){return e}function h9(e,t,r){e.multiplyTo(t,r)}function p9(e,t){e.squareTo(t)}L0.prototype.convert=M5;L0.prototype.revert=M5;L0.prototype.mulTo=h9;L0.prototype.sqrTo=p9;function d9(e){return this.exp(e,new L0)}function y9(e,t,r){var n=Math.min(this.t+e.t,t);for(r.s=0,r.t=n;n>0;)r.data[--n]=0;var i;for(i=r.t-this.t;n<i;++n)r.data[n+this.t]=this.am(0,e.data[n],r,n,0,this.t);for(i=Math.min(e.t,t);n<i;++n)this.am(0,e.data[n],r,n,0,t-n);r.clamp()}function g9(e,t,r){--t;var n=r.t=this.t+e.t-t;for(r.s=0;--n>=0;)r.data[n]=0;for(n=Math.max(t-this.t,0);n<e.t;++n)r.data[this.t+n-t]=this.am(t-n,e.data[n],r,0,0,this.t+n-t);r.clamp(),r.drShiftTo(1,r)}function $n(e){this.r2=j(),this.q3=j(),A.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function m9(e){if(e.s<0||e.t>2*this.m.t)return e.mod(this.m);if(e.compareTo(this.m)<0)return e;var t=j();return e.copyTo(t),this.reduce(t),t}function x9(e){return e}function v9(e){for(e.drShiftTo(this.m.t-1,this.r2),e.t>this.m.t+1&&(e.t=this.m.t+1,e.clamp()),this.mu.multiplyUpperTo(this.r2,this.m.t+1,this.q3),this.m.multiplyLowerTo(this.q3,this.m.t+1,this.r2);e.compareTo(this.r2)<0;)e.dAddOffset(1,this.m.t+1);for(e.subTo(this.r2,e);e.compareTo(this.m)>=0;)e.subTo(this.m,e)}function w9(e,t){e.squareTo(t),this.reduce(t)}function b9(e,t,r){e.multiplyTo(t,r),this.reduce(r)}$n.prototype.convert=m9;$n.prototype.revert=x9;$n.prototype.reduce=v9;$n.prototype.mulTo=b9;$n.prototype.sqrTo=w9;function E9(e,t){var r=e.bitLength(),n,i=Cr(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 jr(t):t.isEven()?o=new $n(t):o=new Jr(t);var s=new Array,a=3,c=n-1,u=(1<<n)-1;if(s[1]=o.convert(this),n>1){var f=j();for(o.sqrTo(s[1],f);a<=u;)s[a]=j(),o.mulTo(f,s[a-2],s[a]),a+=2}var l=e.t-1,d,p=!0,h=j(),y;for(r=i1(e.data[l])-1;l>=0;){for(r>=c?d=e.data[l]>>r-c&u:(d=(e.data[l]&(1<<r+1)-1)<<c-r,l>0&&(d|=e.data[l-1]>>this.DB+r-c)),a=n;!(d&1);)d>>=1,--a;if((r-=a)<0&&(r+=this.DB,--l),p)s[d].copyTo(i),p=!1;else{for(;a>1;)o.sqrTo(i,h),o.sqrTo(h,i),a-=2;a>0?o.sqrTo(i,h):(y=i,i=h,h=y),o.mulTo(h,s[d],i)}for(;l>=0&&!(e.data[l]&1<<r);)o.sqrTo(i,h),y=i,i=h,h=y,--r<0&&(r=this.DB-1,--l)}return o.revert(i)}function S9(e){var t=this.s<0?this.negate():this.clone(),r=e.s<0?e.negate():e.clone();if(t.compareTo(r)<0){var n=t;t=r,r=n}var i=t.getLowestSetBit(),o=r.getLowestSetBit();if(o<0)return t;for(i<o&&(o=i),o>0&&(t.rShiftTo(o,t),r.rShiftTo(o,r));t.signum()>0;)(i=t.getLowestSetBit())>0&&t.rShiftTo(i,t),(i=r.getLowestSetBit())>0&&r.rShiftTo(i,r),t.compareTo(r)>=0?(t.subTo(r,t),t.rShiftTo(1,t)):(r.subTo(t,r),r.rShiftTo(1,r));return o>0&&r.lShiftTo(o,r),r}function A9(e){if(e<=0)return 0;var t=this.DV%e,r=this.s<0?e-1:0;if(this.t>0)if(t==0)r=this.data[0]%e;else for(var n=this.t-1;n>=0;--n)r=(t*r+this.data[n])%e;return r}function B9(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return A.ZERO;for(var r=e.clone(),n=this.clone(),i=Cr(1),o=Cr(0),s=Cr(0),a=Cr(1);r.signum()!=0;){for(;r.isEven();)r.rShiftTo(1,r),t?((!i.isEven()||!o.isEven())&&(i.addTo(this,i),o.subTo(e,o)),i.rShiftTo(1,i)):o.isEven()||o.subTo(e,o),o.rShiftTo(1,o);for(;n.isEven();)n.rShiftTo(1,n),t?((!s.isEven()||!a.isEven())&&(s.addTo(this,s),a.subTo(e,a)),s.rShiftTo(1,s)):a.isEven()||a.subTo(e,a),a.rShiftTo(1,a);r.compareTo(n)>=0?(r.subTo(n,r),t&&i.subTo(s,i),o.subTo(a,o)):(n.subTo(r,n),t&&s.subTo(i,s),a.subTo(o,a))}if(n.compareTo(A.ONE)!=0)return A.ZERO;if(a.compareTo(e)>=0)return a.subtract(e);if(a.signum()<0)a.addTo(e,a);else return a;return a.signum()<0?a.add(e):a}var Ae=[2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,487,491,499,503,509],I9=(1<<26)/Ae[Ae.length-1];function C9(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=Ae[Ae.length-1]){for(t=0;t<Ae.length;++t)if(r.data[0]==Ae[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<Ae.length;){for(var n=Ae[t],i=t+1;i<Ae.length&&n<I9;)n*=Ae[i++];for(n=r.modInt(n);t<i;)if(n%Ae[t++]==0)return!1}return r.millerRabin(e)}function _9(e){var t=this.subtract(A.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=T9(),o,s=0;s<e;++s){do o=new A(this.bitLength(),i);while(o.compareTo(A.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(A.ONE)!=0&&a.compareTo(t)!=0){for(var c=1;c++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(A.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function T9(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}A.prototype.chunkSize=Rl;A.prototype.toRadix=Ll;A.prototype.fromRadix=Nl;A.prototype.fromNumber=kl;A.prototype.bitwiseTo=Ml;A.prototype.changeBit=Jl;A.prototype.addTo=n9;A.prototype.dMultiply=f9;A.prototype.dAddOffset=l9;A.prototype.multiplyLowerTo=y9;A.prototype.multiplyUpperTo=g9;A.prototype.modInt=A9;A.prototype.millerRabin=_9;A.prototype.clone=Il;A.prototype.intValue=Cl;A.prototype.byteValue=_l;A.prototype.shortValue=Tl;A.prototype.signum=Pl;A.prototype.toByteArray=Dl;A.prototype.equals=Fl;A.prototype.min=Ul;A.prototype.max=Ol;A.prototype.and=Vl;A.prototype.or=ql;A.prototype.xor=zl;A.prototype.andNot=$l;A.prototype.not=Hl;A.prototype.shiftLeft=Gl;A.prototype.shiftRight=Ql;A.prototype.getLowestSetBit=Yl;A.prototype.bitCount=Xl;A.prototype.testBit=jl;A.prototype.setBit=t9;A.prototype.clearBit=e9;A.prototype.flipBit=r9;A.prototype.add=i9;A.prototype.subtract=o9;A.prototype.multiply=s9;A.prototype.divide=a9;A.prototype.remainder=c9;A.prototype.divideAndRemainder=u9;A.prototype.modPow=E9;A.prototype.modInverse=B9;A.prototype.pow=d9;A.prototype.gcd=S9;A.prototype.isProbablePrime=C9});var H5=D((rx,$5)=>{var ze=nt();Xr();Ct();var q5=$5.exports=ze.sha1=ze.sha1||{};ze.md.sha1=ze.md.algorithms.sha1=q5;q5.create=function(){z5||R9();var e=null,t=ze.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 t=ze.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=ze.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 t.putBytes(i),V5(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=ze.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(qs.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:e.h0,h1:e.h1,h2:e.h2,h3:e.h3,h4:e.h4};V5(l,r,i);var d=ze.util.createBuffer();return d.putInt32(l.h0),d.putInt32(l.h1),d.putInt32(l.h2),d.putInt32(l.h3),d.putInt32(l.h4),d},n};var qs=null,z5=!1;function R9(){qs=String.fromCharCode(128),qs+=ze.util.fillString(String.fromCharCode(0),64),z5=!0}function V5(e,t,r){for(var n,i,o,s,a,c,u,f,l=r.length();l>=64;){for(i=e.h0,o=e.h1,s=e.h2,a=e.h3,c=e.h4,f=0;f<16;++f)n=r.getInt32(),t[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=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[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=t[f-3]^t[f-8]^t[f-14]^t[f-16],n=n<<1|n>>>31,t[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=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[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=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[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=t[f-6]^t[f-16]^t[f-28]^t[f-32],n=n<<2|n>>>30,t[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;e.h0=e.h0+i|0,e.h1=e.h1+o|0,e.h2=e.h2+s|0,e.h3=e.h3+a|0,e.h4=e.h4+c|0,l-=64}}});var W5=D((nx,Q5)=>{var $e=nt();Ct();P0();H5();var G5=Q5.exports=$e.pkcs1=$e.pkcs1||{};G5.encode_rsa_oaep=function(e,t,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=$e.md.sha1.create(),s||(s=o);var a=Math.ceil(e.n.bitLength()/8),c=a-2*o.digestLength-2;if(t.length>c){var u=new Error("RSAES-OAEP input message length is too long.");throw u.length=t.length,u.maxLength=c,u}n||(n=""),o.update(n,"raw");for(var f=o.digest(),l="",d=c-t.length,p=0;p<d;p++)l+="\0";var h=f.getBytes()+l+""+t;if(!i)i=$e.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 y=s1(i,a-o.digestLength-1,s),g=$e.util.xorBytes(h,y,h.length),m=s1(g,o.digestLength,s),v=$e.util.xorBytes(i,m,i.length);return"\0"+v+g};G5.decode_rsa_oaep=function(e,t,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(e.n.bitLength()/8);if(t.length!==s){var g=new Error("RSAES-OAEP encoded message length is invalid.");throw g.length=t.length,g.expectedLength=s,g}if(i===void 0?i=$e.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=t.charAt(0),u=t.substring(1,i.digestLength+1),f=t.substring(1+i.digestLength),l=s1(f,i.digestLength,o),d=$e.util.xorBytes(u,l,u.length),p=s1(d,s-i.digestLength-1,o),h=$e.util.xorBytes(f,p,f.length),y=h.substring(0,i.digestLength),g=c!=="\0",m=0;m<i.digestLength;++m)g|=a.charAt(m)!==y.charAt(m);for(var v=1,b=i.digestLength,N=i.digestLength;N<h.length;N++){var _=h.charCodeAt(N),C=_&1^1,V=v?65534:0;g|=_&V,v=v&C,b+=v}if(g||h.charCodeAt(b)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(b+1)};function s1(e,t,r){r||(r=$e.md.sha1.create());for(var n="",i=Math.ceil(t/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(e+s),n+=r.digest().getBytes()}return n.substring(0,t)}});var Y5=D((ix,zs)=>{var _r=nt();Ct();o1();P0();(function(){if(_r.prime){zs.exports=_r.prime;return}var e=zs.exports=_r.prime=_r.prime||{},t=_r.jsbn.BigInteger,r=[6,4,2,4,2,4,6,2],n=new t(null);n.fromInt(30);var i=function(l,d){return l|d};e.generateProbablePrime=function(l,d,p){typeof d=="function"&&(p=d,d={}),d=d||{};var h=d.algorithm||"PRIMEINC";typeof h=="string"&&(h={name:h}),h.options=h.options||{};var y=d.prng||_r.random,g={nextBytes:function(m){for(var v=y.getBytesSync(m.length),b=0;b<m.length;++b)m[b]=v.charCodeAt(b)}};if(h.name==="PRIMEINC")return o(l,g,h.options,p);throw new Error("Invalid prime generation algorithm: "+h.name)};function o(l,d,p,h){return"workers"in p?c(l,d,p,h):s(l,d,p,h)}function s(l,d,p,h){var y=u(l,d),g=0,m=f(y.bitLength());"millerRabinTests"in p&&(m=p.millerRabinTests);var v=10;"maxBlockTime"in p&&(v=p.maxBlockTime),a(y,l,d,g,m,v,h)}function a(l,d,p,h,y,g,m){var v=+new Date;do{if(l.bitLength()>d&&(l=u(d,p)),l.isProbablePrime(y))return m(null,l);l.dAddOffset(r[h++%8],0)}while(g<0||+new Date-v<g);_r.util.setImmediate(function(){a(l,d,p,h,y,g,m)})}function c(l,d,p,h){if(typeof Worker>"u")return s(l,d,p,h);var y=u(l,d),g=p.workers,m=p.workLoad||100,v=m*30/8,b=p.workerScript||"forge/prime.worker.js";if(g===-1)return _r.util.estimateCores(function(_,C){_&&(C=2),g=C-1,N()});N();function N(){g=Math.max(1,g);for(var _=[],C=0;C<g;++C)_[C]=new Worker(b);for(var V=g,C=0;C<g;++C)_[C].addEventListener("message",Tt);var H=!1;function Tt(de){if(!H){--V;var Xt=de.data;if(Xt.found){for(var qt=0;qt<_.length;++qt)_[qt].terminate();return H=!0,h(null,new t(Xt.prime,16))}y.bitLength()>l&&(y=u(l,d));var pn=y.toString(16);de.target.postMessage({hex:pn,workLoad:m}),y.dAddOffset(v,0)}}}}function u(l,d){var p=new t(l,d),h=l-1;return p.testBit(h)||p.bitwiseTo(t.ONE.shiftLeft(h),i,p),p.dAddOffset(31-p.mod(n).byteValue(),0),p}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 c1=D((ox,r6)=>{var U=nt();R0();o1();Zi();W5();Y5();P0();Ct();typeof W>"u"&&(W=U.jsbn.BigInteger);var W,$s=U.util.isNodejs?qn():null,w=U.asn1,fe=U.util;U.pki=U.pki||{};r6.exports=U.pki.rsa=U.rsa=U.rsa||{};var q=U.pki,P9=[6,4,2,4,2,4,6,2],L9={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"}]},N9={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"}]},k9={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"}]},D9=U.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"}]}]},F9={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"}]},U9=function(e){var t;if(e.algorithm in q.oids)t=q.oids[e.algorithm];else{var r=new Error("Unknown message digest algorithm.");throw r.algorithm=e.algorithm,r}var n=w.oidToDer(t).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,e.digest().getBytes());return i.value.push(o),i.value.push(s),w.toDer(i).getBytes()},t6=function(e,t,r){if(r)return e.modPow(t.e,t.n);if(!t.p||!t.q)return e.modPow(t.d,t.n);t.dP||(t.dP=t.d.mod(t.p.subtract(W.ONE))),t.dQ||(t.dQ=t.d.mod(t.q.subtract(W.ONE))),t.qInv||(t.qInv=t.q.modInverse(t.p));var n;do n=new W(U.util.bytesToHex(U.random.getBytes(t.n.bitLength()/8)),16);while(n.compareTo(t.n)>=0||!n.gcd(t.n).equals(W.ONE));e=e.multiply(n.modPow(t.e,t.n)).mod(t.n);for(var i=e.mod(t.p).modPow(t.dP,t.p),o=e.mod(t.q).modPow(t.dQ,t.q);i.compareTo(o)<0;)i=i.add(t.p);var s=i.subtract(o).multiply(t.qInv).mod(t.p).multiply(t.q).add(o);return s=s.multiply(n.modInverse(t.n)).mod(t.n),s};q.rsa.encrypt=function(e,t,r){var n=r,i,o=Math.ceil(t.n.bitLength()/8);r!==!1&&r!==!0?(n=r===2,i=e6(e,t,r)):(i=U.util.createBuffer(),i.putBytes(e));for(var s=new W(i.toHex(),16),a=t6(s,t,n),c=a.toString(16),u=U.util.createBuffer(),f=o-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(U.util.hexToBytes(c)),u.getBytes()};q.rsa.decrypt=function(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8);if(e.length!==i){var o=new Error("Encrypted message length is invalid.");throw o.length=e.length,o.expected=i,o}var s=new W(U.util.createBuffer(e).toHex(),16);if(s.compareTo(t.n)>=0)throw new Error("Encrypted message is invalid.");for(var a=t6(s,t,r),c=a.toString(16),u=U.util.createBuffer(),f=i-Math.ceil(c.length/2);f>0;)u.putByte(0),--f;return u.putBytes(U.util.hexToBytes(c)),n!==!1?a1(u.getBytes(),t,r):u.getBytes()};q.rsa.createKeyPairGenerationState=function(e,t,r){typeof e=="string"&&(e=parseInt(e,10)),e=e||2048,r=r||{};var n=r.prng||U.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:e,rng:i,eInt:t||65537,e:new W(null),p:null,q:null,qBits:e>>1,pBits:e-(e>>1),pqState:0,num:null,keys:null},s.e.fromInt(s.eInt);else throw new Error("Invalid key generation algorithm: "+o);return s};q.rsa.stepKeyPairGenerationState=function(e,t){"algorithm"in e||(e.algorithm="PRIMEINC");var r=new W(null);r.fromInt(30);for(var n=0,i=function(l,d){return l|d},o=+new Date,s,a=0;e.keys===null&&(t<=0||a<t);){if(e.state===0){var c=e.p===null?e.pBits:e.qBits,u=c-1;e.pqState===0?(e.num=new W(c,e.rng),e.num.testBit(u)||e.num.bitwiseTo(W.ONE.shiftLeft(u),i,e.num),e.num.dAddOffset(31-e.num.mod(r).byteValue(),0),n=0,++e.pqState):e.pqState===1?e.num.bitLength()>c?e.pqState=0:e.num.isProbablePrime(M9(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(P9[n++%8],0):e.pqState===2?e.pqState=e.num.subtract(W.ONE).gcd(e.e).compareTo(W.ONE)===0?3:0:e.pqState===3&&(e.pqState=0,e.p===null?e.p=e.num:e.q=e.num,e.p!==null&&e.q!==null&&++e.state,e.num=null)}else if(e.state===1)e.p.compareTo(e.q)<0&&(e.num=e.p,e.p=e.q,e.q=e.num),++e.state;else if(e.state===2)e.p1=e.p.subtract(W.ONE),e.q1=e.q.subtract(W.ONE),e.phi=e.p1.multiply(e.q1),++e.state;else if(e.state===3)e.phi.gcd(e.e).compareTo(W.ONE)===0?++e.state:(e.p=null,e.q=null,e.state=0);else if(e.state===4)e.n=e.p.multiply(e.q),e.n.bitLength()===e.bits?++e.state:(e.q=null,e.state=0);else if(e.state===5){var f=e.e.modInverse(e.phi);e.keys={privateKey:q.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:q.rsa.setPublicKey(e.n,e.e)}}s=+new Date,a+=s-o,o=s}return e.keys!==null};q.rsa.generateKeyPair=function(e,t,r,n){if(arguments.length===1?typeof e=="object"?(r=e,e=void 0):typeof e=="function"&&(n=e,e=void 0):arguments.length===2?typeof e=="number"?typeof t=="function"?(n=t,t=void 0):typeof t!="number"&&(r=t,t=void 0):(r=e,n=t,e=void 0,t=void 0):arguments.length===3&&(typeof t=="number"?typeof r=="function"&&(n=r,r=void 0):(n=r,r=t,t=void 0)),r=r||{},e===void 0&&(e=r.bits||2048),t===void 0&&(t=r.e||65537),!U.options.usePureJavaScript&&!r.prng&&e>=256&&e<=16384&&(t===65537||t===3)){if(n){if(Z5("generateKeyPair"))return $s.generateKeyPair("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}},function(a,c,u){if(a)return n(a);n(null,{privateKey:q.privateKeyFromPem(u),publicKey:q.publicKeyFromPem(c)})});if(X5("generateKey")&&X5("exportKey"))return fe.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:J5(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return fe.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var c=q.privateKeyFromAsn1(w.fromDer(U.util.createBuffer(a)));n(null,{privateKey:c,publicKey:q.setRsaPublicKey(c.n,c.e)})}});if(j5("generateKey")&&j5("exportKey")){var i=fe.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:J5(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var c=a.target.result,u=fe.globalScope.msCrypto.subtle.exportKey("pkcs8",c.privateKey);u.oncomplete=function(f){var l=f.target.result,d=q.privateKeyFromAsn1(w.fromDer(U.util.createBuffer(l)));n(null,{privateKey:d,publicKey:q.setRsaPublicKey(d.n,d.e)})},u.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(Z5("generateKeyPairSync")){var o=$s.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:q.privateKeyFromPem(o.privateKey),publicKey:q.publicKeyFromPem(o.publicKey)}}}var s=q.rsa.createKeyPairGenerationState(e,t,r);if(!n)return q.rsa.stepKeyPairGenerationState(s,0),s.keys;O9(s,r,n)};q.setRsaPublicKey=q.rsa.setPublicKey=function(e,t){var r={n:e,e:t};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 e6(a,c,2).getBytes()}};else if(i==="RSA-OAEP"||i==="RSAES-OAEP")i={encode:function(a,c){return U.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 q.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=a1(u,r,!0);var f=w.fromDer(u,{parseAllBytes:s._parseAllDigestBytes}),l={},d=[];if(!w.validate(f,F9,l,d)){var p=new Error("ASN.1 object does not contain a valid RSASSA-PKCS1-v1_5 DigestInfo value.");throw p.errors=d,p}var h=w.derToOid(l.algorithmIdentifier);if(!(h===U.oids.md2||h===U.oids.md5||h===U.oids.sha1||h===U.oids.sha224||h===U.oids.sha256||h===U.oids.sha384||h===U.oids.sha512||h===U.oids["sha512-224"]||h===U.oids["sha512-256"])){var p=new Error("Unknown RSASSA-PKCS1-v1_5 DigestAlgorithm identifier.");throw p.oid=h,p}if((h===U.oids.md2||h===U.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=a1(u,r,!0),c===u}});var a=q.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};q.setRsaPrivateKey=q.rsa.setPrivateKey=function(e,t,r,n,i,o,s,a){var c={n:e,e:t,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 d=q.rsa.decrypt(u,c,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:a1};else if(f==="RSA-OAEP"||f==="RSAES-OAEP")f={decode:function(p,h){return U.pkcs1.decode_rsa_oaep(h,p,l)}};else if(["RAW","NONE","NULL",null].indexOf(f)!==-1)f={decode:function(p){return p}};else throw new Error('Unsupported encryption scheme: "'+f+'".');return f.decode(d,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:U9},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return u}},l=1);var d=f.encode(u,c.n.bitLength());return q.rsa.encrypt(d,c,l)},c};q.wrapRsaPrivateKey=function(e){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(q.oids.rsaEncryption).getBytes()),w.create(w.Class.UNIVERSAL,w.Type.NULL,!1,"")]),w.create(w.Class.UNIVERSAL,w.Type.OCTETSTRING,!1,w.toDer(e).getBytes())])};q.privateKeyFromAsn1=function(e){var t={},r=[];if(w.validate(e,L9,t,r)&&(e=w.fromDer(U.util.createBuffer(t.privateKey))),t={},r=[],!w.validate(e,N9,t,r)){var n=new Error("Cannot read private key. ASN.1 object does not contain an RSAPrivateKey.");throw n.errors=r,n}var i,o,s,a,c,u,f,l;return i=U.util.createBuffer(t.privateKeyModulus).toHex(),o=U.util.createBuffer(t.privateKeyPublicExponent).toHex(),s=U.util.createBuffer(t.privateKeyPrivateExponent).toHex(),a=U.util.createBuffer(t.privateKeyPrime1).toHex(),c=U.util.createBuffer(t.privateKeyPrime2).toHex(),u=U.util.createBuffer(t.privateKeyExponent1).toHex(),f=U.util.createBuffer(t.privateKeyExponent2).toHex(),l=U.util.createBuffer(t.privateKeyCoefficient).toHex(),q.setRsaPrivateKey(new W(i,16),new W(o,16),new W(s,16),new W(a,16),new W(c,16),new W(u,16),new W(f,16),new W(l,16))};q.privateKeyToAsn1=q.privateKeyToRSAPrivateKey=function(e){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,He(e.n)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,He(e.e)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,He(e.d)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,He(e.p)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,He(e.q)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,He(e.dP)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,He(e.dQ)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,He(e.qInv))])};q.publicKeyFromAsn1=function(e){var t={},r=[];if(w.validate(e,D9,t,r)){var n=w.derToOid(t.publicKeyOid);if(n!==q.oids.rsaEncryption){var i=new Error("Cannot read public key. Unknown OID.");throw i.oid=n,i}e=t.rsaPublicKey}if(r=[],!w.validate(e,k9,t,r)){var i=new Error("Cannot read public key. ASN.1 object does not contain an RSAPublicKey.");throw i.errors=r,i}var o=U.util.createBuffer(t.publicKeyModulus).toHex(),s=U.util.createBuffer(t.publicKeyExponent).toHex();return q.setRsaPublicKey(new W(o,16),new W(s,16))};q.publicKeyToAsn1=q.publicKeyToSubjectPublicKeyInfo=function(e){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(q.oids.rsaEncryption).getBytes()),w.create(w.Class.UNIVERSAL,w.Type.NULL,!1,"")]),w.create(w.Class.UNIVERSAL,w.Type.BITSTRING,!1,[q.publicKeyToRSAPublicKey(e)])])};q.publicKeyToRSAPublicKey=function(e){return w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,He(e.n)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,He(e.e))])};function e6(e,t,r){var n=U.util.createBuffer(),i=Math.ceil(t.n.bitLength()/8);if(e.length>i-11){var o=new Error("Message is too long for PKCS#1 v1.5 padding.");throw o.length=e.length,o.max=i-11,o}n.putByte(0),n.putByte(r);var s=i-3-e.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=U.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(e),n}function a1(e,t,r,n){var i=Math.ceil(t.n.bitLength()/8),o=U.util.createBuffer(e),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 O9(e,t,r){typeof t=="function"&&(r=t,t={}),t=t||{};var n={algorithm:{name:t.algorithm||"PRIMEINC",options:{workers:t.workers||2,workLoad:t.workLoad||100,workerScript:t.workerScript}}};"prng"in t&&(n.prng=t.prng),i();function i(){o(e.pBits,function(a,c){if(a)return r(a);if(e.p=c,e.q!==null)return s(a,e.q);o(e.qBits,s)})}function o(a,c){U.prime.generateProbablePrime(a,n,c)}function s(a,c){if(a)return r(a);if(e.q=c,e.p.compareTo(e.q)<0){var u=e.p;e.p=e.q,e.q=u}if(e.p.subtract(W.ONE).gcd(e.e).compareTo(W.ONE)!==0){e.p=null,i();return}if(e.q.subtract(W.ONE).gcd(e.e).compareTo(W.ONE)!==0){e.q=null,o(e.qBits,s);return}if(e.p1=e.p.subtract(W.ONE),e.q1=e.q.subtract(W.ONE),e.phi=e.p1.multiply(e.q1),e.phi.gcd(e.e).compareTo(W.ONE)!==0){e.p=e.q=null,i();return}if(e.n=e.p.multiply(e.q),e.n.bitLength()!==e.bits){e.q=null,o(e.qBits,s);return}var f=e.e.modInverse(e.phi);e.keys={privateKey:q.rsa.setPrivateKey(e.n,e.e,f,e.p,e.q,f.mod(e.p1),f.mod(e.q1),e.q.modInverse(e.p)),publicKey:q.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function He(e){var t=e.toString(16);t[0]>="8"&&(t="00"+t);var r=U.util.hexToBytes(t);return r.length>1&&(r.charCodeAt(0)===0&&!(r.charCodeAt(1)&128)||r.charCodeAt(0)===255&&(r.charCodeAt(1)&128)===128)?r.substr(1):r}function M9(e){return e<=100?27:e<=150?18:e<=200?15:e<=250?12:e<=300?9:e<=350?8:e<=400?7:e<=500?6:e<=600?5:e<=800?4:e<=1250?3:2}function Z5(e){return U.util.isNodejs&&typeof $s[e]=="function"}function X5(e){return typeof fe.globalScope<"u"&&typeof fe.globalScope.crypto=="object"&&typeof fe.globalScope.crypto.subtle=="object"&&typeof fe.globalScope.crypto.subtle[e]=="function"}function j5(e){return typeof fe.globalScope<"u"&&typeof fe.globalScope.msCrypto=="object"&&typeof fe.globalScope.msCrypto.subtle=="object"&&typeof fe.globalScope.msCrypto.subtle[e]=="function"}function J5(e){for(var t=U.util.hexToBytes(e.toString(16)),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}});var c6=D((sx,a6)=>{var P=nt();Yi();R0();p5();Xr();Zi();Ds();w5();P0();L5();c1();Ct();typeof n6>"u"&&(n6=P.jsbn.BigInteger);var n6,S=P.asn1,z=P.pki=P.pki||{};a6.exports=z.pbe=P.pbe=P.pbe||{};var tn=z.oids,K9={name:"EncryptedPrivateKeyInfo",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:S.Class.UNIVERSAL,type:S.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},V9={name:"PBES2Algorithms",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:S.Class.UNIVERSAL,type:S.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:S.Class.UNIVERSAL,type:S.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:S.Class.UNIVERSAL,type:S.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},q9={name:"pkcs-12PbeParams",tagClass:S.Class.UNIVERSAL,type:S.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:S.Class.UNIVERSAL,type:S.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:S.Class.UNIVERSAL,type:S.Type.INTEGER,constructed:!1,capture:"iterations"}]};z.encryptPrivateKeyInfo=function(e,t,r){r=r||{},r.saltSize=r.saltSize||8,r.count=r.count||2048,r.algorithm=r.algorithm||"aes128",r.prfAlgorithm=r.prfAlgorithm||"sha1";var n=P.random.getBytesSync(r.saltSize),i=r.count,o=S.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=tn["aes128-CBC"],l=P.aes.createEncryptionCipher;break;case"aes192":s=24,u=16,f=tn["aes192-CBC"],l=P.aes.createEncryptionCipher;break;case"aes256":s=32,u=16,f=tn["aes256-CBC"],l=P.aes.createEncryptionCipher;break;case"des":s=8,u=8,f=tn.desCBC,l=P.des.createEncryptionCipher;break;default:var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var p="hmacWith"+r.prfAlgorithm.toUpperCase(),h=s6(p),y=P.pkcs5.pbkdf2(t,n,i,s,h),g=P.random.getBytesSync(u),m=l(y);m.start(g),m.update(S.toDer(e)),m.finish(),c=m.output.getBytes();var v=z9(n,o,s,p);a=S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(tn.pkcs5PBES2).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(tn.pkcs5PBKDF2).getBytes()),v]),S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(f).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.OCTETSTRING,!1,g)])])])}else if(r.algorithm==="3des"){s=24;var b=new P.util.ByteBuffer(n),y=z.pbe.generatePkcs12Key(t,b,1,i,s),g=z.pbe.generatePkcs12Key(t,b,2,i,s),m=P.des.createEncryptionCipher(y);m.start(g),m.update(S.toDer(e)),m.finish(),c=m.output.getBytes(),a=S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(tn["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OCTETSTRING,!1,n),S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,o.getBytes())])])}else{var d=new Error("Cannot encrypt private key. Unknown encryption algorithm.");throw d.algorithm=r.algorithm,d}var N=S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[a,S.create(S.Class.UNIVERSAL,S.Type.OCTETSTRING,!1,c)]);return N};z.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!S.validate(e,K9,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=S.derToOid(n.encryptionOid),a=z.pbe.getCipher(s,n.encryptionParams,t),c=P.util.createBuffer(n.encryptedData);return a.update(c),a.finish()&&(r=S.fromDer(a.output)),r};z.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:S.toDer(e).getBytes()};return P.pem.encode(r,{maxline:t})};z.encryptedPrivateKeyFromPem=function(e){var t=P.pem.decode(e)[0];if(t.type!=="ENCRYPTED PRIVATE KEY"){var r=new Error('Could not convert encrypted private key from PEM; PEM header type is "ENCRYPTED PRIVATE KEY".');throw r.headerType=t.type,r}if(t.procType&&t.procType.type==="ENCRYPTED")throw new Error("Could not convert encrypted private key from PEM; PEM is encrypted.");return S.fromDer(t.body)};z.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=z.wrapRsaPrivateKey(z.privateKeyToAsn1(e));return n=z.encryptPrivateKeyInfo(n,t,r),z.encryptedPrivateKeyToPem(n)}var i,o,s,a;switch(r.algorithm){case"aes128":i="AES-128-CBC",s=16,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes192":i="AES-192-CBC",s=24,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"aes256":i="AES-256-CBC",s=32,o=P.random.getBytesSync(16),a=P.aes.createEncryptionCipher;break;case"3des":i="DES-EDE3-CBC",s=24,o=P.random.getBytesSync(8),a=P.des.createEncryptionCipher;break;case"des":i="DES-CBC",s=8,o=P.random.getBytesSync(8),a=P.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=P.pbe.opensslDeriveBytes(t,o.substr(0,8),s),f=a(u);f.start(o),f.update(S.toDer(z.privateKeyToAsn1(e))),f.finish();var l={type:"RSA PRIVATE KEY",procType:{version:"4",type:"ENCRYPTED"},dekInfo:{algorithm:i,parameters:P.util.bytesToHex(o).toUpperCase()},body:f.output.getBytes()};return P.pem.encode(l)};z.decryptRsaPrivateKey=function(e,t){var r=null,n=P.pem.decode(e)[0];if(n.type!=="ENCRYPTED PRIVATE KEY"&&n.type!=="PRIVATE KEY"&&n.type!=="RSA PRIVATE KEY"){var i=new Error('Could not convert private key from PEM; PEM header type is not "ENCRYPTED PRIVATE KEY", "PRIVATE KEY", or "RSA PRIVATE KEY".');throw i.headerType=i,i}if(n.procType&&n.procType.type==="ENCRYPTED"){var o,s;switch(n.dekInfo.algorithm){case"DES-CBC":o=8,s=P.des.createDecryptionCipher;break;case"DES-EDE3-CBC":o=24,s=P.des.createDecryptionCipher;break;case"AES-128-CBC":o=16,s=P.aes.createDecryptionCipher;break;case"AES-192-CBC":o=24,s=P.aes.createDecryptionCipher;break;case"AES-256-CBC":o=32,s=P.aes.createDecryptionCipher;break;case"RC2-40-CBC":o=5,s=function(l){return P.rc2.createDecryptionCipher(l,40)};break;case"RC2-64-CBC":o=8,s=function(l){return P.rc2.createDecryptionCipher(l,64)};break;case"RC2-128-CBC":o=16,s=function(l){return P.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=P.util.hexToBytes(n.dekInfo.parameters),c=P.pbe.opensslDeriveBytes(t,a.substr(0,8),o),u=s(c);if(u.start(a),u.update(P.util.createBuffer(n.body)),u.finish())r=u.output.getBytes();else return r}else r=n.body;return n.type==="ENCRYPTED PRIVATE KEY"?r=z.decryptPrivateKeyInfo(S.fromDer(r),t):r=S.fromDer(r),r!==null&&(r=z.privateKeyFromAsn1(r)),r};z.pbe.generatePkcs12Key=function(e,t,r,n,i,o){var s,a;if(typeof o>"u"||o===null){if(!("sha1"in P.md))throw new Error('"sha1" hash algorithm unavailable.');o=P.md.sha1.create()}var c=o.digestLength,u=o.blockLength,f=new P.util.ByteBuffer,l=new P.util.ByteBuffer;if(e!=null){for(a=0;a<e.length;a++)l.putInt16(e.charCodeAt(a));l.putInt16(0)}var d=l.length(),p=t.length(),h=new P.util.ByteBuffer;h.fillWithByte(r,u);var y=u*Math.ceil(p/u),g=new P.util.ByteBuffer;for(a=0;a<y;a++)g.putByte(t.at(a%p));var m=u*Math.ceil(d/u),v=new P.util.ByteBuffer;for(a=0;a<m;a++)v.putByte(l.at(a%d));var b=g;b.putBuffer(v);for(var N=Math.ceil(i/c),_=1;_<=N;_++){var C=new P.util.ByteBuffer;C.putBytes(h.bytes()),C.putBytes(b.bytes());for(var V=0;V<n;V++)o.start(),o.update(C.getBytes()),C=o.digest();var H=new P.util.ByteBuffer;for(a=0;a<u;a++)H.putByte(C.at(a%c));var Tt=Math.ceil(p/u)+Math.ceil(d/u),de=new P.util.ByteBuffer;for(s=0;s<Tt;s++){var Xt=new P.util.ByteBuffer(b.getBytes(u)),qt=511;for(a=H.length()-1;a>=0;a--)qt=qt>>8,qt+=H.at(a)+Xt.at(a),Xt.setAt(a,qt&255);de.putBuffer(Xt)}b=de,f.putBuffer(C)}return f.truncate(f.length()-i),f};z.pbe.getCipher=function(e,t,r){switch(e){case z.oids.pkcs5PBES2:return z.pbe.getCipherForPBES2(e,t,r);case z.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case z.oids["pbewithSHAAnd40BitRC2-CBC"]:return z.pbe.getCipherForPKCS12PBE(e,t,r);default:var n=new Error("Cannot read encrypted PBE data block. Unsupported OID.");throw n.oid=e,n.supportedOids=["pkcs5PBES2","pbeWithSHAAnd3-KeyTripleDES-CBC","pbewithSHAAnd40BitRC2-CBC"],n}};z.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!S.validate(t,V9,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(e=S.derToOid(n.kdfOid),e!==z.oids.pkcs5PBKDF2){var o=new Error("Cannot read encrypted private key. Unsupported key derivation function OID.");throw o.oid=e,o.supportedOids=["pkcs5PBKDF2"],o}if(e=S.derToOid(n.encOid),e!==z.oids["aes128-CBC"]&&e!==z.oids["aes192-CBC"]&&e!==z.oids["aes256-CBC"]&&e!==z.oids["des-EDE3-CBC"]&&e!==z.oids.desCBC){var o=new Error("Cannot read encrypted private key. Unsupported encryption scheme OID.");throw o.oid=e,o.supportedOids=["aes128-CBC","aes192-CBC","aes256-CBC","des-EDE3-CBC","desCBC"],o}var s=n.kdfSalt,a=P.util.createBuffer(n.kdfIterationCount);a=a.getInt(a.length()<<3);var c,u;switch(z.oids[e]){case"aes128-CBC":c=16,u=P.aes.createDecryptionCipher;break;case"aes192-CBC":c=24,u=P.aes.createDecryptionCipher;break;case"aes256-CBC":c=32,u=P.aes.createDecryptionCipher;break;case"des-EDE3-CBC":c=24,u=P.des.createDecryptionCipher;break;case"desCBC":c=8,u=P.des.createDecryptionCipher;break}var f=o6(n.prfOid),l=P.pkcs5.pbkdf2(r,s,a,c,f),d=n.encIv,p=u(l);return p.start(d),p};z.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!S.validate(t,q9,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=P.util.createBuffer(n.salt),a=P.util.createBuffer(n.iterations);a=a.getInt(a.length()<<3);var c,u,f;switch(e){case z.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:c=24,u=8,f=P.des.startDecrypting;break;case z.oids["pbewithSHAAnd40BitRC2-CBC"]:c=5,u=8,f=function(y,g){var m=P.rc2.createDecryptionCipher(y,40);return m.start(g,null),m};break;default:var o=new Error("Cannot read PKCS #12 PBE data block. Unsupported OID.");throw o.oid=e,o}var l=o6(n.prfOid),d=z.pbe.generatePkcs12Key(r,s,1,a,c,l);l.start();var p=z.pbe.generatePkcs12Key(r,s,2,a,u,l);return f(d,p)};z.pbe.opensslDeriveBytes=function(e,t,r,n){if(typeof n>"u"||n===null){if(!("md5"in P.md))throw new Error('"md5" hash algorithm unavailable.');n=P.md.md5.create()}t===null&&(t="");for(var i=[i6(n,e+t)],o=16,s=1;o<r;++s,o+=16)i.push(i6(n,i[s-1]+e+t));return i.join("").substr(0,r)};function i6(e,t){return e.start().update(t).digest().getBytes()}function o6(e){var t;if(!e)t="hmacWithSHA1";else if(t=z.oids[S.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return s6(t)}function s6(e){var t=P.md;switch(e){case"hmacWithSHA224":t=P.md.sha512;case"hmacWithSHA1":case"hmacWithSHA256":case"hmacWithSHA384":case"hmacWithSHA512":e=e.substr(8).toLowerCase();break;default:var r=new Error("Unsupported PRF algorithm.");throw r.algorithm=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}if(!t||!(e in t))throw new Error("Unknown hash algorithm: "+e);return t[e].create()}function z9(e,t,r,n){var i=S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OCTETSTRING,!1,e),S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(S.create(S.Class.UNIVERSAL,S.Type.INTEGER,!1,P.util.hexToBytes(r.toString(16))),S.create(S.Class.UNIVERSAL,S.Type.SEQUENCE,!0,[S.create(S.Class.UNIVERSAL,S.Type.OID,!1,S.oidToDer(z.oids[n]).getBytes()),S.create(S.Class.UNIVERSAL,S.Type.NULL,!1,"")])),i}});var S6=D((Px,E6)=>{var ft=nt();Xr();Ct();var N0=E6.exports=ft.sha512=ft.sha512||{};ft.md.sha512=ft.md.algorithms.sha512=N0;var w6=ft.sha384=ft.sha512.sha384=ft.sha512.sha384||{};w6.create=function(){return N0.create("SHA-384")};ft.md.sha384=ft.md.algorithms.sha384=w6;ft.sha512.sha256=ft.sha512.sha256||{create:function(){return N0.create("SHA-512/256")}};ft.md["sha512/256"]=ft.md.algorithms["sha512/256"]=ft.sha512.sha256;ft.sha512.sha224=ft.sha512.sha224||{create:function(){return N0.create("SHA-512/224")}};ft.md["sha512/224"]=ft.md.algorithms["sha512/224"]=ft.sha512.sha224;N0.create=function(e){if(b6||Q9(),typeof e>"u"&&(e="SHA-512"),!(e in en))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=en[e],r=null,n=ft.util.createBuffer(),i=new Array(80),o=0;o<80;++o)i[o]=new Array(2);var s=64;switch(e){case"SHA-384":s=48;break;case"SHA-512/256":s=32;break;case"SHA-512/224":s=28;break}var a={algorithm:e.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=ft.util.createBuffer(),r=new Array(t.length);for(var u=0;u<t.length;++u)r[u]=t[u].slice(0);return a},a.start(),a.update=function(c,u){u==="utf8"&&(c=ft.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),v6(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var c=ft.util.createBuffer();c.putBytes(n.bytes());var u=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=u&a.blockLength-1;c.putBytes(Gs.substr(0,a.blockLength-f));for(var l,d,p=a.fullMessageLength[0]*8,h=0;h<a.fullMessageLength.length-1;++h)l=a.fullMessageLength[h+1]*8,d=l/4294967296>>>0,p+=d,c.putInt32(p>>>0),p=l>>>0;c.putInt32(p);for(var y=new Array(r.length),h=0;h<r.length;++h)y[h]=r[h].slice(0);v6(y,i,c);var g=ft.util.createBuffer(),m;e==="SHA-512"?m=y.length:e==="SHA-384"?m=y.length-2:m=y.length-4;for(var h=0;h<m;++h)g.putInt32(y[h][0]),(h!==m-1||e!=="SHA-512/224")&&g.putInt32(y[h][1]);return g},a};var Gs=null,b6=!1,Qs=null,en=null;function Q9(){Gs=String.fromCharCode(128),Gs+=ft.util.fillString(String.fromCharCode(0),128),Qs=[[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]],en={},en["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],en["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],en["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],en["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],b6=!0}function v6(e,t,r){for(var n,i,o,s,a,c,u,f,l,d,p,h,y,g,m,v,b,N,_,C,V,H,Tt,de,Xt,qt,pn,li,Rt,Qt,O,io,oo,so,ao,G2=r.length();G2>=128;){for(Rt=0;Rt<16;++Rt)t[Rt][0]=r.getInt32()>>>0,t[Rt][1]=r.getInt32()>>>0;for(;Rt<80;++Rt)io=t[Rt-2],Qt=io[0],O=io[1],n=((Qt>>>19|O<<13)^(O>>>29|Qt<<3)^Qt>>>6)>>>0,i=((Qt<<13|O>>>19)^(O<<3|Qt>>>29)^(Qt<<26|O>>>6))>>>0,so=t[Rt-15],Qt=so[0],O=so[1],o=((Qt>>>1|O<<31)^(Qt>>>8|O<<24)^Qt>>>7)>>>0,s=((Qt<<31|O>>>1)^(Qt<<24|O>>>8)^(Qt<<25|O>>>7))>>>0,oo=t[Rt-7],ao=t[Rt-16],O=i+oo[1]+s+ao[1],t[Rt][0]=n+oo[0]+o+ao[0]+(O/4294967296>>>0)>>>0,t[Rt][1]=O>>>0;for(y=e[0][0],g=e[0][1],m=e[1][0],v=e[1][1],b=e[2][0],N=e[2][1],_=e[3][0],C=e[3][1],V=e[4][0],H=e[4][1],Tt=e[5][0],de=e[5][1],Xt=e[6][0],qt=e[6][1],pn=e[7][0],li=e[7][1],Rt=0;Rt<80;++Rt)u=((V>>>14|H<<18)^(V>>>18|H<<14)^(H>>>9|V<<23))>>>0,f=((V<<18|H>>>14)^(V<<14|H>>>18)^(H<<23|V>>>9))>>>0,l=(Xt^V&(Tt^Xt))>>>0,d=(qt^H&(de^qt))>>>0,a=((y>>>28|g<<4)^(g>>>2|y<<30)^(g>>>7|y<<25))>>>0,c=((y<<4|g>>>28)^(g<<30|y>>>2)^(g<<25|y>>>7))>>>0,p=(y&m|b&(y^m))>>>0,h=(g&v|N&(g^v))>>>0,O=li+f+d+Qs[Rt][1]+t[Rt][1],n=pn+u+l+Qs[Rt][0]+t[Rt][0]+(O/4294967296>>>0)>>>0,i=O>>>0,O=c+h,o=a+p+(O/4294967296>>>0)>>>0,s=O>>>0,pn=Xt,li=qt,Xt=Tt,qt=de,Tt=V,de=H,O=C+i,V=_+n+(O/4294967296>>>0)>>>0,H=O>>>0,_=b,C=N,b=m,N=v,m=y,v=g,O=i+s,y=n+o+(O/4294967296>>>0)>>>0,g=O>>>0;O=e[0][1]+g,e[0][0]=e[0][0]+y+(O/4294967296>>>0)>>>0,e[0][1]=O>>>0,O=e[1][1]+v,e[1][0]=e[1][0]+m+(O/4294967296>>>0)>>>0,e[1][1]=O>>>0,O=e[2][1]+N,e[2][0]=e[2][0]+b+(O/4294967296>>>0)>>>0,e[2][1]=O>>>0,O=e[3][1]+C,e[3][0]=e[3][0]+_+(O/4294967296>>>0)>>>0,e[3][1]=O>>>0,O=e[4][1]+H,e[4][0]=e[4][0]+V+(O/4294967296>>>0)>>>0,e[4][1]=O>>>0,O=e[5][1]+de,e[5][0]=e[5][0]+Tt+(O/4294967296>>>0)>>>0,e[5][1]=O>>>0,O=e[6][1]+qt,e[6][0]=e[6][0]+Xt+(O/4294967296>>>0)>>>0,e[6][1]=O>>>0,O=e[7][1]+li,e[7][0]=e[7][0]+pn+(O/4294967296>>>0)>>>0,e[7][1]=O>>>0,G2-=128}}});var W0=D((fw,E8)=>{"use strict";function b8(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function hp(e,t,r){if(!e||typeof e=="string")throw new TypeError("Please pass an Error to err-code");r||(r={}),typeof t=="object"&&(r=t,t=""),t&&(r.code=t);try{return b8(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),b8(new i,r)}}E8.exports=hp});var _8=D((Ew,C8)=>{C8.exports=S2;var I8=128,vp=127,wp=~vp,bp=Math.pow(2,31);function S2(e,t,r){if(Number.MAX_SAFE_INTEGER&&e>Number.MAX_SAFE_INTEGER)throw S2.bytes=0,new RangeError("Could not encode varint");t=t||[],r=r||0;for(var n=r;e>=bp;)t[r++]=e&255|I8,e/=128;for(;e℘)t[r++]=e&255|I8,e>>>=7;return t[r]=e|0,S2.bytes=r-n+1,t}});var P8=D((Sw,R8)=>{R8.exports=A2;var Ep=128,T8=127;function A2(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a||i>49)throw A2.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&T8)<<i:(s&T8)*Math.pow(2,i),i+=7}while(s>=Ep);return A2.bytes=o-n,r}});var N8=D((Aw,L8)=>{var Sp=Math.pow(2,7),Ap=Math.pow(2,14),Bp=Math.pow(2,21),Ip=Math.pow(2,28),Cp=Math.pow(2,35),_p=Math.pow(2,42),Tp=Math.pow(2,49),Rp=Math.pow(2,56),Pp=Math.pow(2,63);L8.exports=function(e){return e<Sp?1:e<Ap?2:e<Bp?3:e<Ip?4:e<Cp?5:e<_p?6:e<Tp?7:e<Rp?8:e<Pp?9:10}});var X0=D((Bw,k8)=>{k8.exports={encode:_8(),decode:P8(),encodingLength:N8()}});var ic=D((fE,nc)=>{nc.exports=function(e){if(!e)throw Error("hashlru must have a max value, of type number, greater than 0");var t=0,r=Object.create(null),n=Object.create(null);function i(o,s){r[o]=s,t++,t>=e&&(t=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 $1=D((xE,K2)=>{function cc(e){let t=new globalThis.AbortController;function r(){t.abort();for(let n of e)!n||!n.removeEventListener||n.removeEventListener("abort",r)}for(let n of e)if(!(!n||!n.addEventListener)){if(n.aborted){r();break}n.addEventListener("abort",r)}return t.signal}K2.exports=cc;K2.exports.anySignal=cc});var gd={};Nt(gd,{kadDHT:()=>yd});var q4=K(Pa(),1);var Co={};Nt(Co,{sha256:()=>mt,sha512:()=>ku});var Bd=new Uint8Array(0);var La=(e,t)=>{if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0},je=e=>{if(e instanceof Uint8Array&&e.constructor.name==="Uint8Array")return e;if(e instanceof ArrayBuffer)return new Uint8Array(e);if(ArrayBuffer.isView(e))return new Uint8Array(e.buffer,e.byteOffset,e.byteLength);throw new Error("Unknown type, must be binary type")};var Na=e=>new TextEncoder().encode(e),ka=e=>new TextDecoder().decode(e);var gu=Oa,Fa=128,mu=127,xu=~mu,vu=Math.pow(2,31);function Oa(e,t,r){t=t||[],r=r||0;for(var n=r;e>=vu;)t[r++]=e&255|Fa,e/=128;for(;e&xu;)t[r++]=e&255|Fa,e>>>=7;return t[r]=e|0,Oa.bytes=r-n+1,t}var wu=Ao,bu=128,Ua=127;function Ao(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw Ao.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&Ua)<<i:(s&Ua)*Math.pow(2,i),i+=7}while(s>=bu);return Ao.bytes=o-n,r}var Eu=Math.pow(2,7),Su=Math.pow(2,14),Au=Math.pow(2,21),Bu=Math.pow(2,28),Iu=Math.pow(2,35),Cu=Math.pow(2,42),_u=Math.pow(2,49),Tu=Math.pow(2,56),Ru=Math.pow(2,63),Pu=function(e){return e<Eu?1:e<Su?2:e<Au?3:e<Bu?4:e<Iu?5:e<Cu?6:e<_u?7:e<Tu?8:e<Ru?9:10},Lu={encode:gu,decode:wu,encodingLength:Pu},Nu=Lu,f0=Nu;var l0=(e,t=0)=>[f0.decode(e,t),f0.decode.bytes],wn=(e,t,r=0)=>(f0.encode(e,t,r),t),bn=e=>f0.encodingLength(e);var Le=(e,t)=>{let r=t.byteLength,n=bn(e),i=n+bn(r),o=new Uint8Array(i+r);return wn(e,o,0),wn(r,o,n),o.set(t,i),new En(e,r,t,o)},Vr=e=>{let t=je(e),[r,n]=l0(t),[i,o]=l0(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new En(r,i,s,t)},Ma=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&La(e.bytes,r.bytes)}},En=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var Io=({name:e,code:t,encode:r})=>new Bo(e,t,r),Bo=class{constructor(t,r,n){this.name=t,this.code=r,this.encode=n}digest(t){if(t instanceof Uint8Array){let r=this.encode(t);return r instanceof Uint8Array?Le(this.code,r):r.then(n=>Le(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Va=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),mt=Io({name:"sha2-256",code:18,encode:Va("SHA-256")}),ku=Io({name:"sha2-512",code:19,encode:Va("SHA-512")});var qa=(e=21)=>crypto.getRandomValues(new Uint8Array(e)).reduce((t,r)=>(r&=63,r<36?t+=r.toString(36):r<62?t+=(r-26).toString(36).toUpperCase():r>62?t+="-":t+="_",t),"");var Lo={};Nt(Lo,{identity:()=>Ku});function Du(e,t){if(e.length>=255)throw new TypeError("Alphabet too long");for(var r=new Uint8Array(256),n=0;n<r.length;n++)r[n]=255;for(var i=0;i<e.length;i++){var o=e.charAt(i),s=o.charCodeAt(0);if(r[s]!==255)throw new TypeError(o+" is ambiguous");r[s]=i}var a=e.length,c=e.charAt(0),u=Math.log(a)/Math.log(256),f=Math.log(256)/Math.log(a);function l(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 y=0,g=0,m=0,v=h.length;m!==v&&h[m]===0;)m++,y++;for(var b=(v-m)*f+1>>>0,N=new Uint8Array(b);m!==v;){for(var _=h[m],C=0,V=b-1;(_!==0||C<g)&&V!==-1;V--,C++)_+=256*N[V]>>>0,N[V]=_%a>>>0,_=_/a>>>0;if(_!==0)throw new Error("Non-zero carry");g=C,m++}for(var H=b-g;H!==b&&N[H]===0;)H++;for(var Tt=c.repeat(y);H<b;++H)Tt+=e.charAt(N[H]);return Tt}function d(h){if(typeof h!="string")throw new TypeError("Expected String");if(h.length===0)return new Uint8Array;var y=0;if(h[y]!==" "){for(var g=0,m=0;h[y]===c;)g++,y++;for(var v=(h.length-y)*u+1>>>0,b=new Uint8Array(v);h[y];){var N=r[h.charCodeAt(y)];if(N===255)return;for(var _=0,C=v-1;(N!==0||_<m)&&C!==-1;C--,_++)N+=a*b[C]>>>0,b[C]=N%256>>>0,N=N/256>>>0;if(N!==0)throw new Error("Non-zero carry");m=_,y++}if(h[y]!==" "){for(var V=v-m;V!==v&&b[V]===0;)V++;for(var H=new Uint8Array(g+(v-V)),Tt=g;V!==v;)H[Tt++]=b[V++];return H}}}function p(h){var y=d(h);if(y)return y;throw new Error(`Non-${t} character`)}return{encode:l,decodeUnsafe:d,decode:p}}var Fu=Du,Uu=Fu,za=Uu;var _o=class{constructor(t,r,n){this.name=t,this.prefix=r,this.baseEncode=n}encode(t){if(t instanceof Uint8Array)return`${this.prefix}${this.baseEncode(t)}`;throw Error("Unknown type, must be binary type")}},To=class{constructor(t,r,n){if(this.name=t,this.prefix=r,r.codePointAt(0)===void 0)throw new Error("Invalid prefix character");this.prefixCodePoint=r.codePointAt(0),this.baseDecode=n}decode(t){if(typeof t=="string"){if(t.codePointAt(0)!==this.prefixCodePoint)throw Error(`Unable to decode multibase string ${JSON.stringify(t)}, ${this.name} decoder only supports inputs prefixed with ${this.prefix}`);return this.baseDecode(t.slice(this.prefix.length))}else throw Error("Can only multibase decode strings")}or(t){return $a(this,t)}},Ro=class{constructor(t){this.decoders=t}or(t){return $a(this,t)}decode(t){let r=t[0],n=this.decoders[r];if(n)return n.decode(t);throw RangeError(`Unable to decode multibase string ${JSON.stringify(t)}, only inputs prefixed with ${Object.keys(this.decoders)} are supported`)}},$a=(e,t)=>new Ro({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Po=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new _o(t,r,n),this.decoder=new To(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Sn=({name:e,prefix:t,encode:r,decode:n})=>new Po(e,t,r,n),mr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=za(r,t);return Sn({prefix:e,name:t,encode:n,decode:o=>je(i(o))})},Ou=(e,t,r,n)=>{let i={};for(let f=0;f<t.length;++f)i[t[f]]=f;let o=e.length;for(;e[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[e[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},Mu=(e,t,r)=>{let n=t[t.length-1]==="=",i=(1<<r)-1,o="",s=0,a=0;for(let c=0;c<e.length;++c)for(a=a<<8|e[c],s+=8;s>r;)s-=r,o+=t[i&a>>s];if(s&&(o+=t[i&a<<r-s]),n)for(;o.length*r&7;)o+="=";return o},wt=({name:e,prefix:t,bitsPerChar:r,alphabet:n})=>Sn({prefix:t,name:e,encode(i){return Mu(i,n,r)},decode(i){return Ou(i,n,r,e)}});var Ku=Sn({prefix:"\0",name:"identity",encode:e=>ka(e),decode:e=>Na(e)});var No={};Nt(No,{base2:()=>Vu});var Vu=wt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var ko={};Nt(ko,{base8:()=>qu});var qu=wt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Do={};Nt(Do,{base10:()=>zu});var zu=mr({prefix:"9",name:"base10",alphabet:"0123456789"});var Fo={};Nt(Fo,{base16:()=>$u,base16upper:()=>Hu});var $u=wt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Hu=wt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Uo={};Nt(Uo,{base32:()=>ye,base32hex:()=>Yu,base32hexpad:()=>Xu,base32hexpadupper:()=>ju,base32hexupper:()=>Zu,base32pad:()=>Qu,base32padupper:()=>Wu,base32upper:()=>Gu,base32z:()=>Ju});var ye=wt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Gu=wt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Qu=wt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Wu=wt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Yu=wt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Zu=wt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Xu=wt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),ju=wt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),Ju=wt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Oo={};Nt(Oo,{base36:()=>tf,base36upper:()=>ef});var tf=mr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),ef=mr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Mo={};Nt(Mo,{base58btc:()=>St,base58flickr:()=>rf});var St=mr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),rf=mr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var Ko={};Nt(Ko,{base64:()=>zr,base64pad:()=>nf,base64url:()=>of,base64urlpad:()=>sf});var zr=wt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),nf=wt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),of=wt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),sf=wt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var Vo={};Nt(Vo,{base256emoji:()=>lf});var Ha=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}"),af=Ha.reduce((e,t,r)=>(e[r]=t,e),[]),cf=Ha.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function uf(e){return e.reduce((t,r)=>(t+=af[r],t),"")}function ff(e){let t=[];for(let r of e){let n=cf[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var lf=Sn({prefix:"\u{1F680}",name:"base256emoji",encode:uf,decode:ff});var qo={};Nt(qo,{identity:()=>xr});var Ga=0,hf="identity",Qa=je,pf=e=>Le(Ga,Qa(e)),xr={code:Ga,name:hf,encode:Qa,digest:pf};var Wd=new TextEncoder,Yd=new TextDecoder;var Wa=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return mf(r,zo(e),t||St.encoder);default:return xf(r,zo(e),t||ye.encoder)}};var Ya=new WeakMap,zo=e=>{let t=Ya.get(e);if(t==null){let r=new Map;return Ya.set(e,r),r}return t},tt=class{constructor(t,r,n,i){this.code=r,this.version=t,this.multihash=n,this.bytes=i,this["/"]=i}get asCID(){return this}get byteOffset(){return this.bytes.byteOffset}get byteLength(){return this.bytes.byteLength}toV0(){switch(this.version){case 0:return this;case 1:{let{code:t,multihash:r}=this;if(t!==h0)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==vf)throw new Error("Cannot convert non sha2-256 multihash CID to CIDv0");return tt.createV0(r)}default:throw Error(`Can not convert CID version ${this.version} to version 0. This is a bug please report`)}}toV1(){switch(this.version){case 0:{let{code:t,digest:r}=this.multihash,n=Le(t,r);return tt.createV1(this.code,n)}case 1:return this;default:throw Error(`Can not convert CID version ${this.version} to version 1. This is a bug please report`)}}equals(t){return tt.equals(this,t)}static equals(t,r){let n=r;return n&&t.code===n.code&&t.version===n.version&&Ma(t.multihash,n.multihash)}toString(t){return Wa(this,t)}toJSON(){return{"/":Wa(this)}}link(){return this}get[Symbol.toStringTag](){return"CID"}[Symbol.for("nodejs.util.inspect.custom")](){return`CID(${this.toString()})`}static asCID(t){if(t==null)return null;let r=t;if(r instanceof tt)return r;if(r["/"]!=null&&r["/"]===r.bytes||r.asCID===r){let{version:n,code:i,multihash:o,bytes:s}=r;return new tt(n,i,o,s||Za(n,i,o.bytes))}else if(r[wf]===!0){let{version:n,multihash:i,code:o}=r,s=Vr(i);return tt.create(n,o,s)}else return null}static create(t,r,n){if(typeof r!="number")throw new Error("String codecs are no longer supported");if(!(n.bytes instanceof Uint8Array))throw new Error("Invalid digest");switch(t){case 0:{if(r!==h0)throw new Error(`Version 0 CID must use dag-pb (code: ${h0}) block encoding`);return new tt(t,r,n,n.bytes)}case 1:{let i=Za(t,r,n.bytes);return new tt(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return tt.create(0,h0,t)}static createV1(t,r){return tt.create(1,t,r)}static decode(t){let[r,n]=tt.decodeFirst(t);if(n.length)throw new Error("Incorrect length");return r}static decodeFirst(t){let r=tt.inspectBytes(t),n=r.size-r.multihashSize,i=je(t.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?tt.createV0(s):tt.createV1(r.codec,s),t.subarray(r.size)]}static inspectBytes(t){let r=0,n=()=>{let[l,d]=l0(t.subarray(r));return r+=d,l},i=n(),o=h0;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(t,r){let[n,i]=gf(t,r),o=tt.decode(i);if(o.version===0&&t[0]!=="Q")throw Error("Version 0 CID string must not include multibase prefix");return zo(o).set(n,t),o}},gf=(e,t)=>{switch(e[0]){case"Q":{let r=t||St;return[St.prefix,r.decode(`${St.prefix}${e}`)]}case St.prefix:{let r=t||St;return[St.prefix,r.decode(e)]}case ye.prefix:{let r=t||ye;return[ye.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},mf=(e,t,r)=>{let{prefix:n}=r;if(n!==St.prefix)throw Error(`Cannot string encode V0 in ${r.name} encoding`);let i=t.get(n);if(i==null){let o=r.encode(e).slice(1);return t.set(n,o),o}else return i},xf=(e,t,r)=>{let{prefix:n}=r,i=t.get(n);if(i==null){let o=r.encode(e);return t.set(n,o),o}else return i},h0=112,vf=18,Za=(e,t,r)=>{let n=bn(e),i=n+bn(t),o=new Uint8Array(i+r.byteLength);return wn(e,o,0),wn(t,o,n),o.set(r,i),o},wf=Symbol.for("@ipld/js-cid/CID");var vr={...Lo,...No,...ko,...Do,...Fo,...Uo,...Oo,...Mo,...Ko,...Vo},oy={...Co,...qo};function Je(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function tr(e=0){return globalThis.Buffer?.alloc!=null?Je(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function ge(e=0){return globalThis.Buffer?.allocUnsafe!=null?Je(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function ja(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Xa=ja("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),$o=ja("ascii","a",e=>{let t="a";for(let r=0;r<e.length;r++)t+=String.fromCharCode(e[r]);return t},e=>{e=e.substring(1);let t=ge(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),bf={utf8:Xa,"utf-8":Xa,hex:vr.base16,latin1:$o,ascii:$o,binary:$o,...vr},Ei=bf;function M(e,t="utf8"){let r=Ei[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}function xt(e,t="utf8"){let r=Ei[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?Je(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var er="/",Ja=new TextEncoder().encode(er),Si=Ja[0],Dt=class{constructor(t,r){if(typeof t=="string")this._buf=xt(t);else if(t instanceof Uint8Array)this._buf=t;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]!==Si)throw new Error("Invalid key")}toString(t="utf8"){return M(this._buf,t)}uint8Array(){return this._buf}get[Symbol.toStringTag](){return`Key(${this.toString()})`}static withNamespaces(t){return new Dt(t.join(er))}static random(){return new Dt(qa().replace(/-/g,""))}static asKey(t){return t instanceof Uint8Array||typeof t=="string"?new Dt(t):typeof t.uint8Array=="function"?new Dt(t.uint8Array()):null}clean(){if((this._buf==null||this._buf.byteLength===0)&&(this._buf=Ja),this._buf[0]!==Si){let t=new Uint8Array(this._buf.byteLength+1);t.fill(Si,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Si;)this._buf=this._buf.subarray(0,-1)}less(t){let r=this.list(),n=t.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 Dt.withNamespaces(this.list().slice().reverse())}namespaces(){return this.list()}baseNamespace(){let t=this.namespaces();return t[t.length-1]}list(){return this.toString().split(er).slice(1)}type(){return Ef(this.baseNamespace())}name(){return Sf(this.baseNamespace())}instance(t){return new Dt(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(er)||(t+=er),t+=this.type(),new Dt(t)}parent(){let t=this.list();return t.length===1?new Dt(er):new Dt(t.slice(0,-1).join(er))}child(t){return this.toString()===er?t:t.toString()===er?this:new Dt(this.toString()+t.toString(),!1)}isAncestorOf(t){return t.toString()===this.toString()?!1:t.toString().startsWith(this.toString())}isDecendantOf(t){return t.toString()===this.toString()?!1:this.toString().startsWith(t.toString())}isTopLevel(){return this.list().length===1}concat(...t){return Dt.withNamespaces([...this.namespaces(),...Af(t.map(r=>r.namespaces()))])}};function Ef(e){let t=e.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function Sf(e){let t=e.split(":");return t[t.length-1]}function Af(e){return[].concat(...e)}var ns=K(Yo(),1),K3=K(L3(),1),is=K(rs(),1),V3=K(M3(),1),q3=K(Hr(),1);function Nf(){q3.default._configure(),ns.default._configure(K3.default),is.default._configure(V3.default)}Nf();var z3=["uint64","int64","sint64","fixed64","sfixed64"];function kf(e){for(let t of z3){if(e[t]==null)continue;let r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}function os(e){return kf(new ns.default(e))}function Df(e){for(let t of z3){if(e[t]==null)continue;let r=e[t];e[t]=function(n){return r.call(this,n.toString())}}return e}function ss(){return Df(is.default.create())}function De(e,t){let r=os(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function Fe(e,t){let r=ss();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var Bn;(function(e){e[e.VARINT=0]="VARINT",e[e.BIT64=1]="BIT64",e[e.LENGTH_DELIMITED=2]="LENGTH_DELIMITED",e[e.START_GROUP=3]="START_GROUP",e[e.END_GROUP=4]="END_GROUP",e[e.BIT32=5]="BIT32"})(Bn||(Bn={}));function _i(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function In(e){function t(i){if(e[i.toString()]==null)throw new Error("Invalid enum value");return e[i]}let r=function(o,s){let a=t(o);s.int32(a)},n=function(o){let s=o.int32();return t(s)};return _i("enum",Bn.VARINT,r,n)}function Ue(e,t){return _i("message",Bn.LENGTH_DELIMITED,e,t)}var y0;(function(e){let t;e.codec=()=>(t==null&&(t=Ue((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),(i.writeDefaults===!0||r.key!=null&&r.key.byteLength>0)&&(n.uint32(10),n.bytes(r.key)),(i.writeDefaults===!0||r.value!=null&&r.value.byteLength>0)&&(n.uint32(18),n.bytes(r.value)),(i.writeDefaults===!0||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})),t),e.encode=r=>Fe(r,e.codec()),e.decode=r=>De(r,e.codec())})(y0||(y0={}));function $3(e){let t=e.getUTCFullYear(),r=String(e.getUTCMonth()+1).padStart(2,"0"),n=String(e.getUTCDate()).padStart(2,"0"),i=String(e.getUTCHours()).padStart(2,"0"),o=String(e.getUTCMinutes()).padStart(2,"0"),s=String(e.getUTCSeconds()).padStart(2,"0"),a=e.getUTCMilliseconds(),c=String(a*1e3*1e3).padStart(9,"0");return`${t}-${r}-${n}T${i}:${o}:${s}.${c}Z`}function H3(e){let t=new RegExp("(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})\\.(\\d+)Z"),r=String(e).trim().match(t);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 Pt=class{constructor(t,r,n){if(!(t instanceof Uint8Array))throw new Error("key must be a Uint8Array");if(!(r instanceof Uint8Array))throw new Error("value must be a Uint8Array");this.key=t,this.value=r,this.timeReceived=n}serialize(){return y0.encode(this.prepareSerialize())}prepareSerialize(){return{key:this.key,value:this.value,timeReceived:$3(this.timeReceived)}}static deserialize(t){let r=y0.decode(t);return new Pt(r.key,r.value,new Date(r.timeReceived))}static fromDeserialized(t){let r=H3(t.timeReceived);if(t.key==null)throw new Error("key missing from deserialized object");if(t.value==null)throw new Error("value missing from deserialized object");return new Pt(t.key,t.value,r)}};function at(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=ge(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return Je(r)}var i4=K(G3(),1);var Q3="[a-fA-F\\d:]",Er=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${Q3})|(?<=${Q3})(?=\\s|$))`:"",ve="(?: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}",Lt="[a-fA-F\\d]{1,4}",Ti=`
|
|
17
17
|
(?:
|
|
18
|
-
(?:${
|
|
19
|
-
(?:${
|
|
20
|
-
(?:${
|
|
21
|
-
(?:${
|
|
22
|
-
(?:${
|
|
23
|
-
(?:${
|
|
24
|
-
(?:${
|
|
25
|
-
(?::(?:(?::${
|
|
18
|
+
(?:${Lt}:){7}(?:${Lt}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
19
|
+
(?:${Lt}:){6}(?:${ve}|:${Lt}|:)| // 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
|
+
(?:${Lt}:){5}(?::${ve}|(?::${Lt}){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
|
+
(?:${Lt}:){4}(?:(?::${Lt}){0,1}:${ve}|(?::${Lt}){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
|
+
(?:${Lt}:){3}(?:(?::${Lt}){0,2}:${ve}|(?::${Lt}){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
|
+
(?:${Lt}:){2}(?:(?::${Lt}){0,3}:${ve}|(?::${Lt}){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
|
+
(?:${Lt}:){1}(?:(?::${Lt}){0,4}:${ve}|(?::${Lt}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
25
|
+
(?::(?:(?::${Lt}){0,5}:${ve}|(?::${Lt}){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4
|
|
26
26
|
)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1
|
|
27
|
-
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),Xf=new RegExp(`(?:^${ve}$)|(?:^${R1}$)`),jf=new RegExp(`^${ve}$`),Jf=new RegExp(`^${R1}$`),us=e=>e&&e.exact?Xf:new RegExp(`(?:${Er(e)}${ve}${Er(e)})|(?:${Er(e)}${R1}${Er(e)})`,"g");us.v4=e=>e&&e.exact?jf:new RegExp(`${Er(e)}${ve}${Er(e)}`,"g");us.v6=e=>e&&e.exact?Jf:new RegExp(`${Er(e)}${R1}${Er(e)}`,"g");var t4=us;var P1=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,i){return this.readAtomically(()=>{let o=0,s=0,a=this.peekChar();if(a===void 0)return;let u=a==="0",c=2**(8*i)-1;for(;;){let f=this.readAtomically(()=>{let l=this.readChar();if(l===void 0)return;let d=Number.parseInt(l,t);if(!Number.isNaN(d))return d});if(f===void 0)break;if(o*=t,o+=f,o>c||(s+=1,r!==void 0&&s>r))return}if(s!==0)return!n&&u&&s>1?void 0:o})}readIPv4Addr(){return this.readAtomically(()=>{let t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let 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]=t(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]=t(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var e4=45,t7=15,Bn=new P1;function r4(e){if(!(e.length>t7))return Bn.new(e).parseWith(()=>Bn.readIPv4Addr())}function n4(e){if(!(e.length>e4))return Bn.new(e).parseWith(()=>Bn.readIPv6Addr())}function i4(e){if(!(e.length>e4))return Bn.new(e).parseWith(()=>Bn.readIPAddr())}function o4(e){return Boolean(r4(e))}function s4(e){return Boolean(n4(e))}function In(e){return Boolean(i4(e))}var l4=R(u4(),1),{isValid:e7,parse:r7}=l4.default,n7=["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"],i7=n7.map(e=>new f4.Netmask(e));function o7(e){for(let t of i7)if(t.contains(e))return!0;return!1}function c4(e){return/^::$/.test(e)||/^::1$/.test(e)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^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(e)||/^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(e)||/^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(e)||/^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(e)||/^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(e)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(e)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(e)||/^ff([0-9a-fA-F]{2,2}):/i.test(e)}var h4=e=>{if(e7(e)){let t=r7(e);if(t.kind()==="ipv4")return o7(t.toNormalizedString());if(t.kind()==="ipv6")return c4(e)}else if(In(e)&&t4.v6().test(e))return c4(e)};var cs=h4;function it(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var a7=R(ot(),1);var y4=Symbol.for("@libp2p/peer-id");var u7=Symbol.for("nodejs.util.inspect.custom"),g4=Object.values(vr).map(e=>e.decoder).reduce((e,t)=>e.or(t),vr.identity.decoder),m4=114,fs=36,ls=37,v0=class{constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}get[y4](){return!0}toString(){return this.string==null&&(this.string=St.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return j.createV1(m4,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return it(this.multihash.bytes,t);if(typeof t=="string")return bt(t).equals(this);if(t?.multihash?.bytes!=null)return it(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[u7](){return`PeerId(${this.toString()})`}},Cn=class extends v0{constructor(t){super({...t,type:"RSA"}),this.type="RSA",this.publicKey=t.publicKey}},_n=class extends v0{constructor(t){super({...t,type:"Ed25519"}),this.type="Ed25519",this.publicKey=t.multihash.digest}},Tn=class extends v0{constructor(t){super({...t,type:"secp256k1"}),this.type="secp256k1",this.publicKey=t.multihash.digest}};function bt(e,t){if(t=t??g4,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=Or(St.decode(`z${e}`));return e.startsWith("12D")?new _n({multihash:r}):e.startsWith("16U")?new Tn({multihash:r}):new Cn({multihash:r})}return $r(g4.decode(e))}function $r(e){try{let t=Or(e);if(t.code===xr.code){if(t.digest.length===fs)return new _n({multihash:t});if(t.digest.length===ls)return new Tn({multihash:t})}if(t.code===gt.code)return new Cn({multihash:t})}catch{return c7(j.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function c7(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==m4)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===gt.code)return new Cn({multihash:e.multihash});if(t.code===xr.code){if(t.digest.length===fs)return new _n({multihash:e.multihash});if(t.digest.length===ls)return new Tn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function x4(e,t){return e.length===fs?new _n({multihash:Pe(xr.code,e),privateKey:t}):e.length===ls?new Tn({multihash:Pe(xr.code,e),privateKey:t}):new Cn({multihash:await gt.digest(e),publicKey:e,privateKey:t})}var v4="/lan",w4="/ipfs",b4="/kad/1.0.0",E4="/dht/record",hs="/dht/provider";var S4=Number(3e5),A4=Number(30*1e3),B4=Number(5*6e4),I4=Number(30*1e3),C4=Number(30*1e3);var f7=mt("/pk/");function Rn(e){return{...e,multiaddrs:e.multiaddrs.filter(t=>{let[[r,n]]=t.stringTuples();if(r===53||r===54||r===55)return n!=="localhost";if(r!==4&&r!==6||n==null)return!1;let i=cs(n);return i==null?!0:!i})}}function Pn(e){return{...e,multiaddrs:e.multiaddrs.filter(t=>{let[[r,n]]=t.stringTuples();if(n==="localhost")return!0;if(r!==4&&r!==6||n==null)return!1;let i=cs(n);return i??!1})}}async function Ue(e){return(await gt.digest(e)).digest}async function jt(e){return await Ue(e.toBytes())}function er(e){return new Dt(`${E4}/${M(e,"base32")}`,!1)}function _4(e){return at([f7,e.toBytes()])}function T4(e){return M(e.subarray(0,4))==="/pk/"}function R4(e){return $r(e.subarray(4))}function ps(e,t){let r=new Date;return new Pt(e,t,r).serialize()}function P4(e,t=100){let r;return()=>{clearTimeout(r),r=setTimeout(()=>e(),t)}}var q4=R(L4(),1);var b0=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},gs=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},k4=e=>globalThis.DOMException===void 0?new gs(e):new DOMException(e),D4=e=>{let t=e.reason===void 0?k4("This operation was aborted."):e.reason;return t instanceof Error?t:k4(t)};function ms(e,t,r,n){let i,o=new Promise((s,a)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(t===Number.POSITIVE_INFINITY){s(e);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:u}=n;u.aborted&&a(D4(u)),u.addEventListener("abort",()=>{a(D4(u))})}i=n.customTimers.setTimeout.call(void 0,()=>{if(typeof r=="function"){try{s(r())}catch(f){a(f)}return}let u=typeof r=="string"?r:`Promise timed out after ${t} milliseconds`,c=r instanceof Error?r:new b0(u);typeof e.cancel=="function"&&e.cancel(),a(c)},t),(async()=>{try{s(await e)}catch(u){a(u)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function xs(e,t,r){let n=0,i=e.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(e[s],t)<=0?(n=++s,i-=o+1):i=o}return n}var Hr=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},rr,E0=class{constructor(){rr.set(this,[])}enqueue(t,r){r={priority:0,...r};let n={priority:r.priority,run:t};if(this.size&&Hr(this,rr,"f")[this.size-1].priority>=r.priority){Hr(this,rr,"f").push(n);return}let i=xs(Hr(this,rr,"f"),n,(o,s)=>s.priority-o.priority);Hr(this,rr,"f").splice(i,0,n)}dequeue(){let t=Hr(this,rr,"f").shift();return t?.run}filter(t){return Hr(this,rr,"f").filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return Hr(this,rr,"f").length}};rr=new WeakMap;var xt=function(e,t,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},k=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},Bt,A0,B0,Ar,M1,I0,k1,we,S0,Jt,D1,te,C0,Sr,F1,F4,U4,V4,O4,M4,K4,U1,vs,ws,K1,O1,p7=new b0,bs=class extends Error{},nr=class extends q4.default{constructor(t){var r,n,i,o;if(super(),Bt.add(this),A0.set(this,void 0),B0.set(this,void 0),Ar.set(this,0),M1.set(this,void 0),I0.set(this,void 0),k1.set(this,0),we.set(this,void 0),S0.set(this,void 0),Jt.set(this,void 0),D1.set(this,void 0),te.set(this,0),C0.set(this,void 0),Sr.set(this,void 0),F1.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:E0,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=t.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(o=(i=t.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof t.interval})`);xt(this,A0,t.carryoverConcurrencyCount,"f"),xt(this,B0,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),xt(this,M1,t.intervalCap,"f"),xt(this,I0,t.interval,"f"),xt(this,Jt,new t.queueClass,"f"),xt(this,D1,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,xt(this,F1,t.throwOnTimeout===!0,"f"),xt(this,Sr,t.autoStart===!1,"f")}get concurrency(){return k(this,C0,"f")}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);xt(this,C0,t,"f"),k(this,Bt,"m",K1).call(this)}async add(t,r={}){return new Promise((n,i)=>{let o=async()=>{var s,a,u;xt(this,te,(a=k(this,te,"f"),a++,a),"f"),xt(this,Ar,(u=k(this,Ar,"f"),u++,u),"f");try{if(!((s=r.signal)===null||s===void 0)&&s.aborted){i(new bs("The task was aborted."));return}let f=await(this.timeout===void 0&&r.timeout===void 0?t({signal:r.signal}):ms(Promise.resolve(t({signal:r.signal})),r.timeout===void 0?this.timeout:r.timeout,()=>{(r.throwOnTimeout===void 0?k(this,F1,"f"):r.throwOnTimeout)&&i(p7)}));n(f),this.emit("completed",f)}catch(c){i(c),this.emit("error",c)}k(this,Bt,"m",V4).call(this)};k(this,Jt,"f").enqueue(o,r),k(this,Bt,"m",U1).call(this),this.emit("add")})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return k(this,Sr,"f")?(xt(this,Sr,!1,"f"),k(this,Bt,"m",K1).call(this),this):this}pause(){xt(this,Sr,!0,"f")}clear(){xt(this,Jt,new(k(this,D1,"f")),"f")}async onEmpty(){k(this,Jt,"f").size!==0&&await k(this,Bt,"m",O1).call(this,"empty")}async onSizeLessThan(t){k(this,Jt,"f").size<t||await k(this,Bt,"m",O1).call(this,"next",()=>k(this,Jt,"f").size<t)}async onIdle(){k(this,te,"f")===0&&k(this,Jt,"f").size===0||await k(this,Bt,"m",O1).call(this,"idle")}get size(){return k(this,Jt,"f").size}sizeBy(t){return k(this,Jt,"f").filter(t).length}get pending(){return k(this,te,"f")}get isPaused(){return k(this,Sr,"f")}};A0=new WeakMap,B0=new WeakMap,Ar=new WeakMap,M1=new WeakMap,I0=new WeakMap,k1=new WeakMap,we=new WeakMap,S0=new WeakMap,Jt=new WeakMap,D1=new WeakMap,te=new WeakMap,C0=new WeakMap,Sr=new WeakMap,F1=new WeakMap,Bt=new WeakSet,F4=function(){return k(this,B0,"f")||k(this,Ar,"f")<k(this,M1,"f")},U4=function(){return k(this,te,"f")<k(this,C0,"f")},V4=function(){var t;xt(this,te,(t=k(this,te,"f"),t--,t),"f"),k(this,Bt,"m",U1).call(this),this.emit("next")},O4=function(){this.emit("empty"),k(this,te,"f")===0&&this.emit("idle")},M4=function(){k(this,Bt,"m",ws).call(this),k(this,Bt,"m",vs).call(this),xt(this,S0,void 0,"f")},K4=function(){let t=Date.now();if(k(this,we,"f")===void 0){let r=k(this,k1,"f")-t;if(r<0)xt(this,Ar,k(this,A0,"f")?k(this,te,"f"):0,"f");else return k(this,S0,"f")===void 0&&xt(this,S0,setTimeout(()=>{k(this,Bt,"m",M4).call(this)},r),"f"),!0}return!1},U1=function(){if(k(this,Jt,"f").size===0)return k(this,we,"f")&&clearInterval(k(this,we,"f")),xt(this,we,void 0,"f"),k(this,Bt,"m",O4).call(this),!1;if(!k(this,Sr,"f")){let t=!k(this,Bt,"a",K4);if(k(this,Bt,"a",F4)&&k(this,Bt,"a",U4)){let r=k(this,Jt,"f").dequeue();return r?(this.emit("active"),r(),t&&k(this,Bt,"m",vs).call(this),!0):!1}}return!1},vs=function(){k(this,B0,"f")||k(this,we,"f")!==void 0||(xt(this,we,setInterval(()=>{k(this,Bt,"m",ws).call(this)},k(this,I0,"f")),"f"),xt(this,k1,Date.now()+k(this,I0,"f"),"f"))},ws=function(){k(this,Ar,"f")===0&&k(this,te,"f")===0&&k(this,we,"f")&&(clearInterval(k(this,we,"f")),xt(this,we,void 0,"f")),xt(this,Ar,k(this,A0,"f")?k(this,te,"f"):0,"f"),k(this,Bt,"m",K1).call(this)},K1=function(){for(;k(this,Bt,"m",U1).call(this););},O1=async function(t,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(t,i),n())};this.on(t,i)})};var r5=R(Nn(),1);var Oe=R(J4(),1);Oe.default.formatters.b=e=>e==null?"undefined":St.baseEncode(e);Oe.default.formatters.t=e=>e==null?"undefined":ye.baseEncode(e);Oe.default.formatters.m=e=>e==null?"undefined":Kr.baseEncode(e);Oe.default.formatters.p=e=>e==null?"undefined":e.toString();Oe.default.formatters.c=e=>e==null?"undefined":e.toString();Oe.default.formatters.k=e=>e==null?"undefined":e.toString();function z(e){return Object.assign((0,Oe.default)(e),{error:(0,Oe.default)(`${e}:error`),trace:(0,Oe.default)(`${e}:trace`)})}function ir(e,t){let r={[Symbol.iterator]:()=>r,next:()=>{let n=e.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:t(i)}}};return r}var Ss=class{constructor(t){if(this.map=new Map,t!=null)for(let[r,n]of t.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){this.map.delete(t.toString())}entries(){return ir(this.map.entries(),t=>[bt(t[0]),t[1]])}forEach(t){this.map.forEach((r,n)=>{t(r,bt(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,r){this.map.set(t.toString(),r)}keys(){return ir(this.map.keys(),t=>bt(t))}values(){return this.map.values()}get size(){return this.map.size}};var ae=class{constructor(t){if(this.set=new Set,t!=null)for(let r of t)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return ir(this.set.entries(),t=>{let r=bt(t[0]);return[r,r]})}forEach(t){this.set.forEach(r=>{let n=bt(r);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return ir(this.set.values(),t=>bt(t))}intersection(t){let r=new ae;for(let n of t)this.has(n)&&r.add(n);return r}difference(t){let r=new ae;for(let n of this)t.has(n)||r.add(n);return r}union(t){let r=new ae;for(let n of t)r.add(n);for(let n of this)r.add(n);return r}};var Fn=class{constructor(t){if(this.list=[],t!=null)for(let r of t)this.list.push(r.toString())}[Symbol.iterator](){return ir(this.list.entries(),t=>bt(t[1]))}concat(t){let r=new Fn(this);for(let n of t)r.push(n);return r}entries(){return ir(this.list.entries(),t=>[t[0],bt(t[1])])}every(t){return this.list.every((r,n)=>t(bt(r),n,this))}filter(t){let r=new Fn;return this.list.forEach((n,i)=>{let o=bt(n);t(o,i,this)&&r.push(o)}),r}find(t){let r=this.list.find((n,i)=>t(bt(n),i,this));if(r!=null)return bt(r)}findIndex(t){return this.list.findIndex((r,n)=>t(bt(r),n,this))}forEach(t){this.list.forEach((r,n)=>{t(bt(r),n,this)})}includes(t){return this.list.includes(t.toString())}indexOf(t){return this.list.indexOf(t.toString())}pop(){let t=this.list.pop();if(t!=null)return bt(t)}push(...t){for(let r of t)this.list.push(r.toString())}shift(){let t=this.list.shift();if(t!=null)return bt(t)}unshift(...t){let r=this.list.length;for(let n=t.length-1;n>-1;n--)r=this.list.unshift(t[n].toString());return r}get length(){return this.list.length}};var _7="kad-close",T7=50,t5=20,R7=1e4,P7=10,$1=class{constructor(t,r){let{kBucketSize:n,pingTimeout:i,lan:o,pingConcurrency:s,protocol:a,tagName:u,tagValue:c}=r;this.components=t,this.log=z(`libp2p:kad-dht:${o?"lan":"wan"}:routing-table`),this.kBucketSize=n??t5,this.pingTimeout=i??R7,this.pingConcurrency=s??P7,this.lan=o,this.running=!1,this.protocol=a,this.tagName=u??_7,this.tagValue=c??T7;let f=()=>{this.metrics?.pingQueueSize.update(this.pingQueue.size),this.metrics?.pingRunning.update(this.pingQueue.pending)};this.pingQueue=new nr({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 t=new e5.default({localNodeId:await jt(this.components.peerId),numberOfNodesPerKBucket:this.kBucketSize,numberOfNodesToPing:1});this.kb=t,t.on("ping",this._onPing),this._tagPeers(t)}async stop(){this.running=!1,this.pingQueue.clear(),this.kb=void 0}_tagPeers(t){let r=new ae,n=P4(()=>{let i=new ae(t.closest(t.localNodeId,t5).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.tagPeer(a,this.tagName,{value:this.tagValue});for(let a of s)await this.components.peerStore.unTagPeer(a,this.tagName)}).catch(a=>{this.log.error("Could not update peer tags",a)}),r=i});t.on("added",()=>{n()}),t.on("removed",()=>{n()})}_onPing(t,r){this.pingQueue.add(async()=>{if(!this.running)return;let n=0;try{await Promise.all(t.map(async i=>{let o;try{o=new r5.TimeoutController(this.pingTimeout);let s={signal:o.signal};this.log("pinging old contact %p",i.peer),(await(await this.components.connectionManager.openConnection(i.peer,s)).newStream(this.protocol,s)).close(),n++}catch(s){this.running&&this.kb!=null&&(this.log.error("could not ping peer %p",i.peer,s),this.log("evicting old contact after ping failed %p",i),this.kb.remove(i.id))}finally{o?.clear(),this.metrics?.routingTableSize.update(this.size)}})),this.running&&n<t.length&&this.kb!=null&&(this.log("adding new contact %p",r.peer),this.kb.add(r))}catch(i){this.log.error("could not process k-bucket ping event",i)}}).catch(n=>{this.log.error("could not process k-bucket ping event",n)})}get size(){return this.kb==null?0:this.kb.count()}async find(t){let r=await jt(t),n=this.closestPeer(r);if(n!=null&&t.equals(n))return n}closestPeer(t){let r=this.closestPeers(t,1);if(r.length>0)return r[0]}closestPeers(t,r=this.kBucketSize){return this.kb==null?[]:this.kb.closest(t,r).map(i=>i.peer)}async add(t){if(this.kb==null)throw new Error("RoutingTable is not started");let r=await jt(t);this.kb.add({id:r,peer:t}),this.log("added %p with kad id %b",t,r),this.metrics?.routingTableSize.update(this.size)}async remove(t){if(this.kb==null)throw new Error("RoutingTable is not started");let r=await jt(t);this.kb.remove(r),this.metrics?.routingTableSize.update(this.size)}};function or(e,t){if(e.length!==t.length)throw new Error("Inputs should have the same length");let r=ge(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return je(r)}var n5=[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 It={get(e=globalThis){let t=e.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var i5={SHA1:20,SHA256:32,SHA512:64};var N7={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},L7=async(e,t)=>{let r=await It.get().subtle.sign({name:"HMAC"},e,t);return new Uint8Array(r,0,r.byteLength)};async function o5(e,t){let r=N7[e],n=await It.get().subtle.importKey("raw",t,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(i){return await L7(n,i)},length:i5[e]}}var Hm=R(Y1(),1),V7=R(et(),1);var z7=R(ot(),1);var Si={};Lt(Si,{generateEphemeralKeyPair:()=>T6,generateKeyPair:()=>ap,generateKeyPairFromSeed:()=>up,importKey:()=>hp,keyStretcher:()=>S6,keysPBM:()=>Mn,marshalPrivateKey:()=>lp,marshalPublicKey:()=>fp,supportedKeys:()=>Qe,unmarshalPrivateKey:()=>C8,unmarshalPublicKey:()=>cp});var Mn={};Lt(Mn,{KeyType:()=>ut,PrivateKey:()=>Se,PublicKey:()=>Ee});var ut;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(ut||(ut={}));var Ds;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(Ds||(Ds={}));(function(e){e.codec=()=>An(Ds)})(ut||(ut={}));var Ee;(function(e){let t;e.codec=()=>(t==null&&(t=Fe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),ut.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=ut.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>De(r,e.codec()),e.decode=r=>ke(r,e.codec())})(Ee||(Ee={}));var Se;(function(e){let t;e.codec=()=>(t==null&&(t=Fe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),ut.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=ut.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>De(r,e.codec()),e.decode=r=>ke(r,e.codec())})(Se||(Se={}));var bv=R(N0(),1),Ev=R(b6(),1),bi=R(et(),1),Ei=R(ot(),1);var Qs=R(ot(),1);var E6={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function S6(e,t,r){let n=E6[e];if(n==null){let v=Object.keys(E6).join(" / ");throw(0,Qs.default)(new Error(`unknown cipher type '${e}'. Must be ${v}`),"ERR_INVALID_CIPHER_TYPE")}if(t==null)throw(0,Qs.default)(new Error("missing hash type"),"ERR_MISSING_HASH_TYPE");let i=n.keySize,o=n.ivSize,s=20,a=mt("key expansion"),u=2*(o+i+s),c=await o5(t,r),f=await c.digest(a),l=[],d=0;for(;d<u;){let v=await c.digest(at([f,a])),b=v.length;d+b>u&&(b=u-d),l.push(v),d+=b,f=await c.digest(f)}let p=u/2,h=at(l),y=h.subarray(0,p),g=h.subarray(p,u),m=v=>({iv:v.subarray(0,o),cipherKey:v.subarray(o,o+i),macKey:v.subarray(o+i)});return{k1:m(y),k2:m(g)}}var zn=R(ot(),1);var Ex=R(Ct(),1),Sx=R(oi(),1),A6=R(et(),1);function Be(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=at([new Uint8Array(t-r.length),r])}return M(r,"base64url")}function re(e){let t=ci(e);return new A6.default.jsbn.BigInteger(M(t,"base16"),16)}function ci(e,t){let r=mt(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=at([new Uint8Array(t-r.length),r])}return r}var B6={"P-256":256,"P-384":384,"P-521":521},uh=Object.keys(B6),Ws=uh.join(" / ");async function I6(e){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw(0,zn.default)(new Error(`Unknown curve: ${e}. Must be ${Ws}`),"ERR_INVALID_CURVE");let t=await It.get().subtle.generateKey({name:"ECDH",namedCurve:e},!0,["deriveBits"]),r=async(o,s)=>{let a;s!=null?a=await It.get().subtle.importKey("jwk",fh(e,s),{name:"ECDH",namedCurve:e},!1,["deriveBits"]):a=t.privateKey;let u=await It.get().subtle.importKey("jwk",_6(e,o),{name:"ECDH",namedCurve:e},!1,[]),c=await It.get().subtle.deriveBits({name:"ECDH",namedCurve:e,public:u},a,B6[e]);return new Uint8Array(c,0,c.byteLength)},n=await It.get().subtle.exportKey("jwk",t.publicKey);return{key:ch(n),genSharedKey:r}}var C6={"P-256":32,"P-384":48,"P-521":66};function ch(e){if(e.crv==null||e.x==null||e.y==null)throw(0,zn.default)(new Error("JWK was missing components"),"ERR_INVALID_PARAMETERS");if(e.crv!=="P-256"&&e.crv!=="P-384"&&e.crv!=="P-521")throw(0,zn.default)(new Error(`Unknown curve: ${e.crv}. Must be ${Ws}`),"ERR_INVALID_CURVE");let t=C6[e.crv];return at([Uint8Array.from([4]),ci(e.x,t),ci(e.y,t)],1+t*2)}function _6(e,t){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw(0,zn.default)(new Error(`Unknown curve: ${e}. Must be ${Ws}`),"ERR_INVALID_CURVE");let r=C6[e];if(!it(t.subarray(0,1),Uint8Array.from([4])))throw(0,zn.default)(new Error("Cannot unmarshal public key - invalid key format"),"ERR_INVALID_KEY_FORMAT");return{kty:"EC",crv:e,x:M(t.subarray(1,r+1),"base64url"),y:M(t.subarray(1+r),"base64url"),ext:!0}}var fh=(e,t)=>({..._6(e,t.public),d:M(t.private,"base64url")});var T6=I6;function fi(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,i=e?.digest??"SHA-256",o=e?.saltLength??16,s=e?.iterations??32767,a=It.get();r*=8;async function u(l,d){let p=a.getRandomValues(new Uint8Array(o)),h=a.getRandomValues(new Uint8Array(n)),y={name:t,iv:h};typeof d=="string"&&(d=mt(d));let g={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},m=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),v=await a.subtle.deriveKey(g,m,{name:t,length:r},!0,["encrypt"]),b=await a.subtle.encrypt(y,v,l);return at([p,y.iv,new Uint8Array(b)])}async function c(l,d){let p=l.subarray(0,o),h=l.subarray(o,o+n),y=l.subarray(o+n),g={name:t,iv:h};typeof d=="string"&&(d=mt(d));let m={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},v=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),b=await a.subtle.deriveKey(m,v,{name:t,length:r},!0,["decrypt"]),L=await a.subtle.decrypt(g,b,y);return new Uint8Array(L)}return{encrypt:u,decrypt:c}}async function P6(e,t){let r=Kr.decode(e);return await fi().decrypt(r,t)}var s2={};Lt(s2,{RsaPrivateKey:()=>Xn,RsaPublicKey:()=>V0,fromJwk:()=>Dh,generateKeyPair:()=>Fh,unmarshalRsaPrivateKey:()=>Lh,unmarshalRsaPublicKey:()=>kh});var o2=R(ot(),1);var uv=R(F6(),1),K0=R(et(),1);var hh=R(Kn(),1);var Q=BigInt(0),lt=BigInt(1),Tr=BigInt(2),U0=BigInt(3),ph=BigInt(8),pt=Object.freeze({a:Q,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:lt,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")});function U6(e){let{a:t,b:r}=pt,n=N(e*e),i=N(n*e);return N(i+t*e+r)}var li=pt.a===Q,pi=class extends Error{constructor(t){super(t)}},J=class{constructor(t,r,n){this.x=t,this.y=r,this.z=n}static fromAffine(t){if(!(t instanceof rt))throw new TypeError("JacobianPoint#fromAffine: expected Point");return new J(t.x,t.y,lt)}static toAffineBatch(t){let r=xh(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(t){return J.toAffineBatch(t).map(J.fromAffine)}equals(t){if(!(t instanceof J))throw new TypeError("JacobianPoint expected");let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t,u=N(i*i),c=N(a*a),f=N(r*c),l=N(o*u),d=N(N(n*a)*c),p=N(N(s*i)*u);return f===l&&d===p}negate(){return new J(this.x,N(-this.y),this.z)}double(){let{x:t,y:r,z:n}=this,i=N(t*t),o=N(r*r),s=N(o*o),a=t+o,u=N(Tr*(N(a*a)-i-s)),c=N(U0*i),f=N(c*c),l=N(f-Tr*u),d=N(c*(u-l)-ph*s),p=N(Tr*r*n);return new J(l,d,p)}add(t){if(!(t instanceof J))throw new TypeError("JacobianPoint expected");let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t;if(o===Q||s===Q)return this;if(r===Q||n===Q)return t;let u=N(i*i),c=N(a*a),f=N(r*c),l=N(o*u),d=N(N(n*a)*c),p=N(N(s*i)*u),h=N(l-f),y=N(p-d);if(h===Q)return y===Q?this.double():J.ZERO;let g=N(h*h),m=N(h*g),v=N(f*g),b=N(y*y-m-Tr*v),L=N(y*(v-b)-d*m),_=N(i*a*h);return new J(b,L,_)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){let r=J.ZERO;if(typeof t=="bigint"&&t===Q)return r;let n=K6(t);if(n===lt)return this;if(!li){let l=r,d=this;for(;n>Q;)n<&&(l=l.add(d)),d=d.double(),n>>=lt;return l}let{k1neg:i,k1:o,k2neg:s,k2:a}=q6(n),u=r,c=r,f=this;for(;o>Q||a>Q;)o<&&(u=u.add(f)),a<&&(c=c.add(f)),f=f.double(),o>>=lt,a>>=lt;return i&&(u=u.negate()),s&&(c=c.negate()),c=new J(N(c.x*pt.beta),c.y,c.z),u.add(c)}precomputeWindow(t){let r=li?128/t+1:256/t+1,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(t-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(t,r){!r&&this.equals(J.BASE)&&(r=rt.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&js.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=J.normalizeZ(i),js.set(r,i)));let o=J.ZERO,s=J.ZERO,a=1+(li?128/n:256/n),u=2**(n-1),c=BigInt(2**n-1),f=2**n,l=BigInt(n);for(let d=0;d<a;d++){let p=d*u,h=Number(t&c);if(t>>=l,h>u&&(h-=f,t+=lt),h===0){let y=i[p];d%2&&(y=y.negate()),s=s.add(y)}else{let y=i[p+Math.abs(h)-1];h<0&&(y=y.negate()),o=o.add(y)}}return{p:o,f:s}}multiply(t,r){let n=K6(t),i,o;if(li){let{k1neg:s,k1:a,k2neg:u,k2:c}=q6(n),{p:f,f:l}=this.wNAF(a,r),{p:d,f:p}=this.wNAF(c,r);s&&(f=f.negate()),u&&(d=d.negate()),d=new J(N(d.x*pt.beta),d.y,d.z),i=f.add(d),o=l.add(p)}else{let{p:s,f:a}=this.wNAF(n,r);i=s,o=a}return J.normalizeZ([i,o])[0]}toAffine(t=Yn(this.z)){let{x:r,y:n,z:i}=this,o=t,s=N(o*o),a=N(s*o),u=N(r*s),c=N(n*a);if(N(i*o)!==lt)throw new Error("invZ was invalid");return new rt(u,c)}};J.BASE=new J(pt.Gx,pt.Gy,lt);J.ZERO=new J(Q,lt,Q);var js=new WeakMap,rt=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,js.delete(this)}hasEvenY(){return this.y%Tr===Q}static fromCompressedHex(t){let r=t.length===32,n=cr(r?t:t.subarray(1));if(!Xs(n))throw new Error("Point is not on curve");let i=U6(n),o=mh(i),s=(o<)===lt;r?s&&(o=N(-o)):(t[0]&1)===1!==s&&(o=N(-o));let a=new rt(n,o);return a.assertValidity(),a}static fromUncompressedHex(t){let r=cr(t.subarray(1,33)),n=cr(t.subarray(33,65)),i=new rt(r,n);return i.assertValidity(),i}static fromHex(t){let r=Wn(t),n=r.length,i=r[0];if(n===32||n===33&&(i===2||i===3))return this.fromCompressedHex(r);if(n===65&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-33 compressed bytes or 65 uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return rt.BASE.multiply(yi(t))}static fromSignature(t,r,n){t=Wn(t);let i=z6(t),{r:o,s}=$6(r);if(n!==0&&n!==1)throw new Error("Cannot recover signature: invalid recovery bit");let a=n&1?"03":"02",u=rt.fromHex(a+Hn(o)),{n:c}=pt,f=Yn(o,c),l=N(-i*f,c),d=N(s*f,c),p=rt.BASE.multiplyAndAddUnsafe(u,l,d);if(!p)throw new Error("Cannot recover signature: point at infinify");return p.assertValidity(),p}toRawBytes(t=!1){return Jr(this.toHex(t))}toHex(t=!1){let r=Hn(this.x);return t?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${Hn(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let t="Point is not on elliptic curve",{x:r,y:n}=this;if(!Xs(r)||!Xs(n))throw new Error(t);let i=N(n*n),o=U6(r);if(N(i-o)!==Q)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new rt(this.x,N(-this.y))}double(){return J.fromAffine(this).double().toAffine()}add(t){return J.fromAffine(this).add(J.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return J.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(t,r,n){let i=J.fromAffine(this),o=r===Q||r===lt||this!==rt.BASE?i.multiplyUnsafe(r):i.multiply(r),s=J.fromAffine(t).multiplyUnsafe(n),a=o.add(s);return a.equals(J.ZERO)?void 0:a.toAffine()}};rt.BASE=new rt(pt.Gx,pt.Gy);rt.ZERO=new rt(Q,Q);function O6(e){return Number.parseInt(e[0],16)>=8?"00"+e:e}function M6(e){if(e.length<2||e[0]!==2)throw new Error(`Invalid signature integer tag: ${Qn(e)}`);let t=e[1],r=e.subarray(2,t+2);if(!t||r.length!==t)throw new Error("Invalid signature integer: wrong length");if(r[0]===0&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:cr(r),left:e.subarray(t+2)}}function dh(e){if(e.length<2||e[0]!=48)throw new Error(`Invalid signature tag: ${Qn(e)}`);if(e[1]!==e.length-2)throw new Error("Invalid signature: incorrect length");let{data:t,left:r}=M6(e.subarray(2)),{data:n,left:i}=M6(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Qn(i)}`);return{r:t,s:n}}var He=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromCompact(t){let r=t instanceof Uint8Array,n="Signature.fromCompact";if(typeof t!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?Qn(t):t;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new He(di(i.slice(0,64)),di(i.slice(64,128)))}static fromDER(t){let r=t instanceof Uint8Array;if(typeof t!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=dh(r?t:Jr(t));return new He(n,i)}static fromHex(t){return this.fromDER(t)}assertValidity(){let{r:t,s:r}=this;if(!M0(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!M0(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let t=pt.n>>lt;return this.s>t}normalizeS(){return this.hasHighS()?new He(this.r,pt.n-this.s):this}toDERRawBytes(t=!1){return Jr(this.toDERHex(t))}toDERHex(t=!1){let r=O6(F0(this.s));if(t)return r;let n=O6(F0(this.r)),i=F0(n.length/2),o=F0(r.length/2);return`30${F0(n.length/2+r.length/2+4)}02${i}${n}02${o}${r}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return Jr(this.toCompactHex())}toCompactHex(){return Hn(this.r)+Hn(this.s)}};function $n(...e){if(!e.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(e.length===1)return e[0];let t=e.reduce((n,i)=>n+i.length,0),r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let o=e[n];r.set(o,i),i+=o.length}return r}var yh=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Qn(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");let t="";for(let r=0;r<e.length;r++)t+=yh[e[r]];return t}var gh=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Hn(e){if(typeof e!="bigint")throw new Error("Expected bigint");if(!(Q<=e&&e<gh))throw new Error("Expected number < 2^256");return e.toString(16).padStart(64,"0")}function Js(e){let t=Jr(Hn(e));if(t.length!==32)throw new Error("Error: expected 32 bytes");return t}function F0(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function di(e){if(typeof e!="string")throw new TypeError("hexToNumber: expected string, got "+typeof e);return BigInt(`0x${e}`)}function Jr(e){if(typeof e!="string")throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+e.length);let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){let n=r*2,i=e.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[r]=o}return t}function cr(e){return di(Qn(e))}function Wn(e){return e instanceof Uint8Array?Uint8Array.from(e):Jr(e)}function K6(e){if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)return BigInt(e);if(typeof e=="bigint"&&M0(e))return e;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function N(e,t=pt.P){let r=e%t;return r>=Q?r:t+r}function fe(e,t){let{P:r}=pt,n=e;for(;t-- >Q;)n*=n,n%=r;return n}function mh(e){let{P:t}=pt,r=BigInt(6),n=BigInt(11),i=BigInt(22),o=BigInt(23),s=BigInt(44),a=BigInt(88),u=e*e*e%t,c=u*u*e%t,f=fe(c,U0)*c%t,l=fe(f,U0)*c%t,d=fe(l,Tr)*u%t,p=fe(d,n)*d%t,h=fe(p,i)*p%t,y=fe(h,s)*h%t,g=fe(y,a)*y%t,m=fe(g,s)*h%t,v=fe(m,U0)*c%t,b=fe(v,o)*p%t,L=fe(b,r)*u%t;return fe(L,Tr)}function Yn(e,t=pt.P){if(e===Q||t<=Q)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=N(e,t),n=t,i=Q,o=lt,s=lt,a=Q;for(;r!==Q;){let c=n/r,f=n%r,l=i-s*c,d=o-a*c;n=r,r=f,i=s,o=a,s=l,a=d}if(n!==lt)throw new Error("invert: does not exist");return N(i,t)}function xh(e,t=pt.P){let r=new Array(e.length),n=e.reduce((o,s,a)=>s===Q?o:(r[a]=o,N(o*s,t)),lt),i=Yn(n,t);return e.reduceRight((o,s,a)=>s===Q?o:(r[a]=N(o*r[a],t),N(o*s,t)),i),r}var V6=(e,t)=>(e+t/Tr)/t,vh={a1:BigInt("0x3086d221a7d46bcde86c90e49284eb15"),b1:-lt*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),a2:BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),b2:BigInt("0x3086d221a7d46bcde86c90e49284eb15"),POW_2_128:BigInt("0x100000000000000000000000000000000")};function q6(e){let{n:t}=pt,{a1:r,b1:n,a2:i,b2:o,POW_2_128:s}=vh,a=V6(o*e,t),u=V6(-n*e,t),c=N(e-a*r-u*i,t),f=N(-a*n-u*o,t),l=c>s,d=f>s;if(l&&(c=t-c),d&&(f=t-f),c>s||f>s)throw new Error("splitScalarEndo: Endomorphism failed, k="+e);return{k1neg:l,k1:c,k2neg:d,k2:f}}function z6(e){let{n:t}=pt,n=e.length*8-256,i=cr(e);return n>0&&(i=i>>BigInt(n)),i>=t&&(i-=t),i}var Gn,O0,t2=class{constructor(){this.v=new Uint8Array(32).fill(1),this.k=new Uint8Array(32).fill(0),this.counter=0}hmac(...t){return Ie.hmacSha256(this.k,...t)}hmacSync(...t){return O0(this.k,...t)}checkSync(){if(typeof O0!="function")throw new pi("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(t=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),t),this.v=await this.hmac(this.v),t.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),t),this.v=await this.hmac(this.v))}reseedSync(t=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),t),this.v=this.hmacSync(this.v),t.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),t),this.v=this.hmacSync(this.v))}async generate(){return this.incr(),this.v=await this.hmac(this.v),this.v}generateSync(){return this.checkSync(),this.incr(),this.v=this.hmacSync(this.v),this.v}};function M0(e){return Q<e&&e<pt.n}function Xs(e){return Q<e&&e<pt.P}function wh(e,t,r){let n=cr(e);if(!M0(n))return;let{n:i}=pt,o=rt.BASE.multiply(n),s=N(o.x,i);if(s===Q)return;let a=N(Yn(n,i)*N(t+r*s,i),i);if(a===Q)return;let u=new He(s,a),c=(o.x===u.r?0:2)|Number(o.y<);return{sig:u,recovery:c}}function yi(e){let t;if(typeof e=="bigint")t=e;else if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)t=BigInt(e);else if(typeof e=="string"){if(e.length!==64)throw new Error("Expected 32 bytes of private key");t=di(e)}else if(e instanceof Uint8Array){if(e.length!==32)throw new Error("Expected 32 bytes of private key");t=cr(e)}else throw new TypeError("Expected valid private key");if(!M0(t))throw new Error("Expected private key: 0 < key < n");return t}function bh(e){return e instanceof rt?(e.assertValidity(),e):rt.fromHex(e)}function $6(e){if(e instanceof He)return e.assertValidity(),e;try{return He.fromDER(e)}catch{return He.fromCompact(e)}}function e2(e,t=!1){return rt.fromPrivateKey(e).toRawBytes(t)}function H6(e){let t=e.length>32?e.slice(0,32):e;return cr(t)}function Eh(e){let t=H6(e),r=N(t,pt.n);return G6(r<Q?t:r)}function G6(e){return Js(e)}function Sh(e,t,r){if(e==null)throw new Error(`sign: expected valid message hash, not "${e}"`);let n=Wn(e),i=yi(t),o=[G6(i),Eh(n)];if(r!=null){r===!0&&(r=Ie.randomBytes(32));let u=Wn(r);if(u.length!==32)throw new Error("sign: Expected 32 bytes of extra data");o.push(u)}let s=$n(...o),a=H6(n);return{seed:s,m:a,d:i}}function Ah(e,t){let{sig:r,recovery:n}=e,{canonical:i,der:o,recovered:s}=Object.assign({canonical:!0,der:!0},t);i&&r.hasHighS()&&(r=r.normalizeS(),n^=1);let a=o?r.toDERRawBytes():r.toCompactRawBytes();return s?[a,n]:a}async function Q6(e,t,r={}){let{seed:n,m:i,d:o}=Sh(e,t,r.extraEntropy),s,a=new t2;for(await a.reseed(n);!(s=wh(await a.generate(),i,o));)await a.reseed();return Ah(s,r)}var Bh={strict:!0};function W6(e,t,r,n=Bh){let i;try{i=$6(e),t=Wn(t)}catch{return!1}let{r:o,s}=i;if(n.strict&&i.hasHighS())return!1;let a=z6(t),u;try{u=bh(r)}catch{return!1}let{n:c}=pt,f=Yn(s,c),l=N(a*f,c),d=N(o*f,c),p=rt.BASE.multiplyAndAddUnsafe(u,l,d);return p?N(p.x,c)===o:!1}rt.BASE._setWindowSize(8);var ne={node:hh,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var hi={},Ie={bytesToHex:Qn,hexToBytes:Jr,concatBytes:$n,mod:N,invert:Yn,isValidPrivateKey(e){try{return yi(e),!0}catch{return!1}},_bigintTo32Bytes:Js,_normalizePrivateKey:yi,hashToPrivateKey:e=>{if(e=Wn(e),e.length<40||e.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");let t=N(cr(e),pt.n-lt)+lt;return Js(t)},randomBytes:(e=32)=>{if(ne.web)return ne.web.getRandomValues(new Uint8Array(e));if(ne.node){let{randomBytes:t}=ne.node;return Uint8Array.from(t(e))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Ie.hashToPrivateKey(Ie.randomBytes(40)),sha256:async(...e)=>{if(ne.web){let t=await ne.web.subtle.digest("SHA-256",$n(...e));return new Uint8Array(t)}else if(ne.node){let{createHash:t}=ne.node,r=t("sha256");return e.forEach(n=>r.update(n)),Uint8Array.from(r.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(e,...t)=>{if(ne.web){let r=await ne.web.subtle.importKey("raw",e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=$n(...t),i=await ne.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(ne.node){let{createHmac:r}=ne.node,n=r("sha256",e);return t.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(e,...t)=>{let r=hi[e];if(r===void 0){let n=await Ie.sha256(Uint8Array.from(e,i=>i.charCodeAt(0)));r=$n(n,n),hi[e]=r}return Ie.sha256(r,...t)},taggedHashSync:(e,...t)=>{if(typeof Gn!="function")throw new pi("sha256Sync is undefined, you need to set it");let r=hi[e];if(r===void 0){let n=Gn(Uint8Array.from(e,i=>i.charCodeAt(0)));r=$n(n,n),hi[e]=r}return Gn(r,...t)},precompute(e=8,t=rt.BASE){let r=t===rt.BASE?t:new rt(t.x,t.y);return r._setWindowSize(e),r.multiply(U0),r}};Object.defineProperties(Ie,{sha256Sync:{configurable:!1,get(){return Gn},set(e){Gn||(Gn=e)}},hmacSha256Sync:{configurable:!1,get(){return O0},set(e){O0||(O0=e)}}});var Y6=R(ot(),1);function tn(e){if(isNaN(e)||e<=0)throw(0,Y6.default)(new Error("random bytes length must be a Number bigger than 0"),"ERR_INVALID_LENGTH");return Ie.randomBytes(e)}var en={};Lt(en,{jwkToPkcs1:()=>_h,jwkToPkix:()=>Rh,pkcs1ToJwk:()=>Ch,pkixToJwk:()=>Th});var $x=R(N0(),1),Hx=R(ui(),1),fr=R(et(),1);var r2=R(ot(),1);function Ch(e){let t=fr.default.asn1.fromDer(M(e,"ascii")),r=fr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:Be(r.n),e:Be(r.e),d:Be(r.d),p:Be(r.p),q:Be(r.q),dp:Be(r.dP),dq:Be(r.dQ),qi:Be(r.qInv),alg:"RS256"}}function _h(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw(0,r2.default)(new Error("JWK was missing components"),"ERR_INVALID_PARAMETERS");let t=fr.default.pki.privateKeyToAsn1({n:re(e.n),e:re(e.e),d:re(e.d),p:re(e.p),q:re(e.q),dP:re(e.dp),dQ:re(e.dq),qInv:re(e.qi)});return mt(fr.default.asn1.toDer(t).getBytes(),"ascii")}function Th(e){let t=fr.default.asn1.fromDer(M(e,"ascii")),r=fr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:Be(r.n),e:Be(r.e)}}function Rh(e){if(e.n==null||e.e==null)throw(0,r2.default)(new Error("JWK was missing components"),"ERR_INVALID_PARAMETERS");let t=fr.default.pki.publicKeyToAsn1({n:re(e.n),e:re(e.e)});return mt(fr.default.asn1.toDer(t).getBytes(),"ascii")}var Yx=R(ui(),1),n2=R(et(),1);function Z6(e,t){return t.map(r=>re(e[r]))}function X6(e){return n2.default.pki.setRsaPrivateKey(...Z6(e,["n","e","d","p","q","dp","dq","qi"]))}function j6(e){return n2.default.pki.setRsaPublicKey(...Z6(e,["n","e"]))}var J6=R(ot(),1);async function t8(e){let t=await It.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await n8(t);return{privateKey:r[0],publicKey:r[1]}}async function i2(e){let r=[await It.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await Ph(e)],n=await n8({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function e8(e,t){let r=await It.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await It.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function r8(e,t,r){let n=await It.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return await It.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r)}async function n8(e){if(e.privateKey==null||e.publicKey==null)throw(0,J6.default)(new Error("Private and public key are required"),"ERR_INVALID_PARAMETERS");return await Promise.all([It.get().subtle.exportKey("jwk",e.privateKey),It.get().subtle.exportKey("jwk",e.publicKey)])}async function Ph(e){return await It.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function i8(e,t,r,n){let i=t?j6(e):X6(e),o=M(Uint8Array.from(r),"ascii"),s=n(o,i);return mt(s,"ascii")}function o8(e,t){return i8(e,!0,t,(r,n)=>n.encrypt(r))}function s8(e,t){return i8(e,!1,t,(r,n)=>n.decrypt(r))}async function Zn(e,t){let n=await fi().encrypt(e,t);return Kr.encode(n)}var V0=class{constructor(t){this._key=t}async verify(t,r){return await r8(this._key,r,t)}marshal(){return en.jwkToPkix(this._key)}get bytes(){return Ee.encode({Type:ut.RSA,Data:this.marshal()}).subarray()}encrypt(t){return o8(this._key,t)}equals(t){return it(this.bytes,t.bytes)}async hash(){let{bytes:t}=await gt.digest(this.bytes);return t}},Xn=class{constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return tn(16)}async sign(t){return await e8(this._key,t)}get public(){if(this._publicKey==null)throw(0,o2.default)(new Error("public key not provided"),"ERR_PUBKEY_NOT_PROVIDED");return new V0(this._publicKey)}decrypt(t){return s8(this._key,t)}marshal(){return en.jwkToPkcs1(this._key)}get bytes(){return Se.encode({Type:ut.RSA,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}async hash(){let{bytes:t}=await gt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return M(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new K0.default.util.ByteBuffer(this.marshal()),i=K0.default.asn1.fromDer(n),o=K0.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return K0.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(r==="libp2p-key")return await Zn(this.bytes,t);throw(0,o2.default)(new Error(`export format '${r}' is not supported`),"ERR_INVALID_EXPORT_FORMAT")}}};async function Lh(e){let t=en.pkcs1ToJwk(e),r=await i2(t);return new Xn(r.privateKey,r.publicKey)}function kh(e){let t=en.pkixToJwk(e);return new V0(t)}async function Dh(e){let t=await i2(e);return new Xn(t.privateKey,t.publicKey)}async function Fh(e){let t=await t8(e);return new Xn(t.privateKey,t.publicKey)}var m2={};Lt(m2,{Ed25519PrivateKey:()=>nn,Ed25519PublicKey:()=>G0,generateKeyPair:()=>rp,generateKeyPairFromSeed:()=>g2,unmarshalEd25519PrivateKey:()=>tp,unmarshalEd25519PublicKey:()=>ep});var y2=R(ot(),1);var Uh=R(Kn(),1);var Kt=BigInt(0),Y=BigInt(1),jn=BigInt(2),a8=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),dt=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:a8,n:a8,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var l8=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),q0=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),fv=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),Oh=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Mh=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Kh=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Vh=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),W=class{constructor(t,r,n,i){this.x=t,this.y=r,this.z=n,this.t=i}static fromAffine(t){if(!(t instanceof vt))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return t.equals(vt.ZERO)?W.ZERO:new W(t.x,t.y,Y,B(t.x*t.y))}static toAffineBatch(t){let r=$h(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(t){return this.toAffineBatch(t).map(this.fromAffine)}equals(t){u8(t);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t,u=B(r*a),c=B(o*i),f=B(n*a),l=B(s*i);return u===c&&f===l}negate(){return new W(B(-this.x),this.y,this.z,B(-this.t))}double(){let{x:t,y:r,z:n}=this,{a:i}=dt,o=B(t*t),s=B(r*r),a=B(jn*B(n*n)),u=B(i*o),c=t+r,f=B(B(c*c)-o-s),l=u+s,d=l-a,p=u-s,h=B(f*d),y=B(l*p),g=B(f*p),m=B(d*l);return new W(h,y,m,g)}add(t){u8(t);let{x:r,y:n,z:i,t:o}=this,{x:s,y:a,z:u,t:c}=t,f=B((n-r)*(a+s)),l=B((n+r)*(a-s)),d=B(l-f);if(d===Kt)return this.double();let p=B(i*jn*c),h=B(o*jn*u),y=h+p,g=l+f,m=h-p,v=B(y*d),b=B(g*m),L=B(y*m),_=B(d*g);return new W(v,b,_,L)}subtract(t){return this.add(t.negate())}precomputeWindow(t){let r=1+256/t,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(t-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(t,r){!r&&this.equals(W.BASE)&&(r=vt.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&l2.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=W.normalizeZ(i),l2.set(r,i)));let o=W.ZERO,s=W.ZERO,a=1+256/n,u=2**(n-1),c=BigInt(2**n-1),f=2**n,l=BigInt(n);for(let d=0;d<a;d++){let p=d*u,h=Number(t&c);if(t>>=l,h>u&&(h-=f,t+=Y),h===0){let y=i[p];d%2&&(y=y.negate()),s=s.add(y)}else{let y=i[p+Math.abs(h)-1];h<0&&(y=y.negate()),o=o.add(y)}}return W.normalizeZ([o,s])[0]}multiply(t,r){return this.wNAF(mi(t,dt.l),r)}multiplyUnsafe(t){let r=mi(t,dt.l,!1),n=W.BASE,i=W.ZERO;if(r===Kt)return i;if(this.equals(i)||r===Y)return this;if(this.equals(n))return this.wNAF(r);let o=i,s=this;for(;r>Kt;)r&Y&&(o=o.add(s)),s=s.double(),r>>=Y;return o}isSmallOrder(){return this.multiplyUnsafe(dt.h).equals(W.ZERO)}isTorsionFree(){return this.multiplyUnsafe(dt.l).equals(W.ZERO)}toAffine(t=xi(this.z)){let{x:r,y:n,z:i}=this,o=B(r*t),s=B(n*t);if(B(i*t)!==Y)throw new Error("invZ was invalid");return new vt(o,s)}fromRistrettoBytes(){u2()}toRistrettoBytes(){u2()}fromRistrettoHash(){u2()}};W.BASE=new W(dt.Gx,dt.Gy,Y,B(dt.Gx*dt.Gy));W.ZERO=new W(Kt,Y,Y,Kt);function u8(e){if(!(e instanceof W))throw new TypeError("ExtendedPoint expected")}function a2(e){if(!(e instanceof Zt))throw new TypeError("RistrettoPoint expected")}function u2(){throw new Error("Legacy method: switch to RistrettoPoint")}var Zt=class{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){let{d:r}=dt,n=B(q0*t*t),i=B((n+Y)*Kh),o=BigInt(-1),s=B((o-r*n)*B(n+r)),{isValid:a,value:u}=p2(i,s),c=B(u*t);Pr(c)||(c=B(-c)),a||(u=c),a||(o=n);let f=B(o*(n-Y)*Vh-s),l=u*u,d=B((u+u)*s),p=B(f*Oh),h=B(Y-l),y=B(Y+l);return new W(B(d*y),B(h*p),B(p*y),B(d*h))}static hashToCurve(t){t=Nr(t,64);let r=c2(t.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=c2(t.slice(32,64)),o=this.calcElligatorRistrettoMap(i);return new Zt(n.add(o))}static fromHex(t){t=Nr(t,32);let{a:r,d:n}=dt,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",o=c2(t);if(!Gh(z0(o),t)||Pr(o))throw new Error(i);let s=B(o*o),a=B(Y+r*s),u=B(Y-r*s),c=B(a*a),f=B(u*u),l=B(r*n*c-f),{isValid:d,value:p}=f8(B(l*f)),h=B(p*u),y=B(p*h*l),g=B((o+o)*h);Pr(g)&&(g=B(-g));let m=B(a*y),v=B(g*m);if(!d||Pr(v)||m===Kt)throw new Error(i);return new Zt(new W(g,m,Y,v))}toRawBytes(){let{x:t,y:r,z:n,t:i}=this.ep,o=B(B(n+r)*B(n-r)),s=B(t*r),a=B(s*s),{value:u}=f8(B(o*a)),c=B(u*o),f=B(u*s),l=B(c*f*i),d;if(Pr(i*l)){let h=B(r*q0),y=B(t*q0);t=h,r=y,d=B(c*Mh)}else d=f;Pr(t*l)&&(r=B(-r));let p=B((n-r)*d);return Pr(p)&&(p=B(-p)),z0(p)}toHex(){return $0(this.toRawBytes())}toString(){return this.toHex()}equals(t){a2(t);let r=this.ep,n=t.ep,i=B(r.x*n.y)===B(r.y*n.x),o=B(r.y*n.y)===B(r.x*n.x);return i||o}add(t){return a2(t),new Zt(this.ep.add(t.ep))}subtract(t){return a2(t),new Zt(this.ep.subtract(t.ep))}multiply(t){return new Zt(this.ep.multiply(t))}multiplyUnsafe(t){return new Zt(this.ep.multiplyUnsafe(t))}};Zt.BASE=new Zt(W.BASE);Zt.ZERO=new Zt(W.ZERO);var l2=new WeakMap,vt=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,l2.delete(this)}static fromHex(t,r=!0){let{d:n,P:i}=dt;t=Nr(t,32);let o=t.slice();o[31]=t[31]&-129;let s=H0(o);if(r&&s>=i)throw new Error("Expected 0 < hex < P");if(!r&&s>=l8)throw new Error("Expected 0 < hex < 2**256");let a=B(s*s),u=B(a-Y),c=B(n*a+Y),{isValid:f,value:l}=p2(u,c);if(!f)throw new Error("Point.fromHex: invalid y coordinate");let d=(l&Y)===Y;return(t[31]&128)!==0!==d&&(l=B(-l)),new vt(l,s)}static async fromPrivateKey(t){return(await vi(t)).point}toRawBytes(){let t=z0(this.y);return t[31]|=this.x&Y?128:0,t}toHex(){return $0(this.toRawBytes())}toX25519(){let{y:t}=this,r=B((Y+t)*xi(Y-t));return z0(r)}isTorsionFree(){return W.fromAffine(this).isTorsionFree()}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new vt(B(-this.x),this.y)}add(t){return W.fromAffine(this).add(W.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return W.fromAffine(this).multiply(t,this).toAffine()}};vt.BASE=new vt(dt.Gx,dt.Gy);vt.ZERO=new vt(Kt,Y);var rn=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromHex(t){let r=Nr(t,64),n=vt.fromHex(r.slice(0,32),!1),i=H0(r.slice(32,64));return new rn(n,i)}assertValidity(){let{r:t,s:r}=this;if(!(t instanceof vt))throw new Error("Expected Point instance");return mi(r,dt.l,!1),this}toRawBytes(){let t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set(z0(this.s),32),t}toHex(){return $0(this.toRawBytes())}};function c8(...e){if(!e.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(e.length===1)return e[0];let t=e.reduce((n,i)=>n+i.length,0),r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let o=e[n];r.set(o,i),i+=o.length}return r}var qh=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function $0(e){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=qh[e[r]];return t}function h2(e){if(typeof e!="string")throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){let n=r*2,i=e.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[r]=o}return t}function h8(e){let r=e.toString(16).padStart(64,"0");return h2(r)}function z0(e){return h8(e).reverse()}function Pr(e){return(B(e)&Y)===Y}function H0(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+$0(Uint8Array.from(e).reverse()))}var zh=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function c2(e){return B(H0(e)&zh)}function B(e,t=dt.P){let r=e%t;return r>=Kt?r:t+r}function xi(e,t=dt.P){if(e===Kt||t<=Kt)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=B(e,t),n=t,i=Kt,o=Y,s=Y,a=Kt;for(;r!==Kt;){let c=n/r,f=n%r,l=i-s*c,d=o-a*c;n=r,r=f,i=s,o=a,s=l,a=d}if(n!==Y)throw new Error("invert: does not exist");return B(i,t)}function $h(e,t=dt.P){let r=new Array(e.length),n=e.reduce((o,s,a)=>s===Kt?o:(r[a]=o,B(o*s,t)),Y),i=xi(n,t);return e.reduceRight((o,s,a)=>s===Kt?o:(r[a]=B(o*r[a],t),B(o*s,t)),i),r}function Ge(e,t){let{P:r}=dt,n=e;for(;t-- >Kt;)n*=n,n%=r;return n}function Hh(e){let{P:t}=dt,r=BigInt(5),n=BigInt(10),i=BigInt(20),o=BigInt(40),s=BigInt(80),u=e*e%t*e%t,c=Ge(u,jn)*u%t,f=Ge(c,Y)*e%t,l=Ge(f,r)*f%t,d=Ge(l,n)*l%t,p=Ge(d,i)*d%t,h=Ge(p,o)*p%t,y=Ge(h,s)*h%t,g=Ge(y,s)*h%t,m=Ge(g,n)*l%t;return{pow_p_5_8:Ge(m,jn)*e%t,b2:u}}function p2(e,t){let r=B(t*t*t),n=B(r*r*t),i=Hh(e*n).pow_p_5_8,o=B(e*r*i),s=B(t*o*o),a=o,u=B(o*q0),c=s===e,f=s===B(-e),l=s===B(-e*q0);return c&&(o=a),(f||l)&&(o=u),Pr(o)&&(o=B(-o)),{isValid:c||f,value:o}}function f8(e){return p2(Y,e)}function gi(e){return B(H0(e),dt.l)}function Gh(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function Nr(e,t){let r=e instanceof Uint8Array?Uint8Array.from(e):h2(e);if(typeof t=="number"&&r.length!==t)throw new Error(`Expected ${t} bytes`);return r}function mi(e,t,r=!0){if(!t)throw new TypeError("Specify max value");if(typeof e=="number"&&Number.isSafeInteger(e)&&(e=BigInt(e)),typeof e=="bigint"&&e<t){if(r){if(Kt<e)return e}else if(Kt<=e)return e}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function Qh(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function Wh(e){if(e=typeof e=="bigint"||typeof e=="number"?h8(mi(e,l8)):Nr(e),e.length!==32)throw new Error("Expected 32 bytes");return e}function Yh(e){let t=Qh(e.slice(0,32)),r=e.slice(32,64),n=gi(t),i=vt.BASE.multiply(n),o=i.toRawBytes();return{head:t,prefix:r,scalar:n,point:i,pointBytes:o}}var f2;async function vi(e){return Yh(await Lr.sha512(Wh(e)))}async function d2(e){return(await vi(e)).pointBytes}async function p8(e,t){e=Nr(e);let{prefix:r,scalar:n,pointBytes:i}=await vi(t),o=gi(await Lr.sha512(r,e)),s=vt.BASE.multiply(o),a=gi(await Lr.sha512(s.toRawBytes(),i,e)),u=B(o+a*n,dt.l);return new rn(s,u).toRawBytes()}function Zh(e,t,r){t=Nr(t),r instanceof vt||(r=vt.fromHex(r,!1));let{r:n,s:i}=e instanceof rn?e.assertValidity():rn.fromHex(e),o=W.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:o,pub:r,msg:t}}function Xh(e,t,r,n){let i=gi(n),o=W.fromAffine(e).multiplyUnsafe(i);return W.fromAffine(t).add(o).subtract(r).multiplyUnsafe(dt.h).equals(W.ZERO)}async function d8(e,t,r){let{r:n,SB:i,msg:o,pub:s}=Zh(e,t,r),a=await Lr.sha512(n.toRawBytes(),s.toRawBytes(),o);return Xh(s,n,i,a)}vt.BASE._setWindowSize(8);var Rr={node:Uh,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},Lr={bytesToHex:$0,hexToBytes:h2,concatBytes:c8,getExtendedPublicKey:vi,mod:B,invert:xi,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:e=>{if(e=Nr(e),e.length<40||e.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return B(H0(e),dt.l-Y)+Y},randomBytes:(e=32)=>{if(Rr.web)return Rr.web.getRandomValues(new Uint8Array(e));if(Rr.node){let{randomBytes:t}=Rr.node;return new Uint8Array(t(e).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Lr.randomBytes(32),sha512:async(...e)=>{let t=c8(...e);if(Rr.web){let r=await Rr.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(r)}else{if(Rr.node)return Uint8Array.from(Rr.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(e=8,t=vt.BASE){let r=t.equals(vt.BASE)?t:new vt(t.x,t.y);return r._setWindowSize(e),r.multiply(jn),r},sha512Sync:void 0};Object.defineProperties(Lr,{sha512Sync:{configurable:!1,get(){return f2},set(e){f2||(f2=e)}}});var Jn=32,lr=64,wi=32;async function y8(){let e=Lr.randomPrivateKey(),t=await d2(e);return{privateKey:v8(e,t),publicKey:t}}async function g8(e){if(e.length!==wi)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=await d2(t);return{privateKey:v8(t,r),publicKey:r}}async function m8(e,t){let r=e.subarray(0,wi);return await p8(t,r)}async function x8(e,t,r){return await d8(t,r,e)}function v8(e,t){let r=new Uint8Array(lr);for(let n=0;n<wi;n++)r[n]=e[n],r[wi+n]=t[n];return r}var G0=class{constructor(t){this._key=t0(t,Jn)}async verify(t,r){return await x8(this._key,r,t)}marshal(){return this._key}get bytes(){return Ee.encode({Type:ut.Ed25519,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}async hash(){let{bytes:t}=await gt.digest(this.bytes);return t}},nn=class{constructor(t,r){this._key=t0(t,lr),this._publicKey=t0(r,Jn)}async sign(t){return await m8(this._key,t)}get public(){return new G0(this._publicKey)}marshal(){return this._key}get bytes(){return Se.encode({Type:ut.Ed25519,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}async hash(){let{bytes:t}=await gt.digest(this.bytes);return t}async id(){let t=await xr.digest(this.public.bytes);return St.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return await Zn(this.bytes,t);throw(0,y2.default)(new Error(`export format '${r}' is not supported`),"ERR_INVALID_EXPORT_FORMAT")}};function tp(e){if(e.length>lr){e=t0(e,lr+Jn);let n=e.subarray(0,lr),i=e.subarray(lr,e.length);return new nn(n,i)}e=t0(e,lr);let t=e.subarray(0,lr),r=e.subarray(Jn);return new nn(t,r)}function ep(e){return e=t0(e,Jn),new G0(e)}async function rp(){let{privateKey:e,publicKey:t}=await y8();return new nn(e,t)}async function g2(e){let{privateKey:t,publicKey:r}=await g8(e);return new nn(t,r)}function t0(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw(0,y2.default)(new Error(`Key must be a Uint8Array of length ${t}, got ${e.length}`),"ERR_INVALID_KEY_TYPE");return e}var v2={};Lt(v2,{Secp256k1PrivateKey:()=>W0,Secp256k1PublicKey:()=>Q0,generateKeyPair:()=>sp,unmarshalSecp256k1PrivateKey:()=>ip,unmarshalSecp256k1PublicKey:()=>op});var I8=R(ot(),1);var e0=R(ot(),1);function w8(){return Ie.randomPrivateKey()}async function b8(e,t){let{digest:r}=await gt.digest(t);try{return await Q6(r,e)}catch(n){throw(0,e0.default)(n,"ERR_INVALID_INPUT")}}async function E8(e,t,r){try{let{digest:n}=await gt.digest(r);return W6(t,n,e)}catch(n){throw(0,e0.default)(n,"ERR_INVALID_INPUT")}}function S8(e){return rt.fromHex(e).toRawBytes(!0)}function A8(e){try{e2(e,!0)}catch(t){throw(0,e0.default)(t,"ERR_INVALID_PRIVATE_KEY")}}function x2(e){try{rt.fromHex(e)}catch(t){throw(0,e0.default)(t,"ERR_INVALID_PUBLIC_KEY")}}function B8(e){try{return e2(e,!0)}catch(t){throw(0,e0.default)(t,"ERR_INVALID_PRIVATE_KEY")}}var Q0=class{constructor(t){x2(t),this._key=t}async verify(t,r){return await E8(this._key,r,t)}marshal(){return S8(this._key)}get bytes(){return Ee.encode({Type:ut.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}async hash(){let{bytes:t}=await gt.digest(this.bytes);return t}},W0=class{constructor(t,r){this._key=t,this._publicKey=r??B8(t),A8(this._key),x2(this._publicKey)}async sign(t){return await b8(this._key,t)}get public(){return new Q0(this._publicKey)}marshal(){return this._key}get bytes(){return Se.encode({Type:ut.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return it(this.bytes,t.bytes)}async hash(){let{bytes:t}=await gt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return M(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return await Zn(this.bytes,t);throw(0,I8.default)(new Error(`export format '${r}' is not supported`),"ERR_INVALID_EXPORT_FORMAT")}};function ip(e){return new W0(e)}function op(e){return new Q0(e)}async function sp(){let e=await w8();return new W0(e)}var Qe={rsa:s2,ed25519:m2,secp256k1:v2};function w2(e){let t=Object.keys(Qe).join(" / ");return(0,Ei.default)(new Error(`invalid or unsupported key type ${e}. Must be ${t}`),"ERR_UNSUPPORTED_KEY_TYPE")}function b2(e){if(e=e.toLowerCase(),e==="rsa"||e==="ed25519"||e==="secp256k1")return Qe[e];throw w2(e)}async function ap(e,t){return await b2(e).generateKeyPair(t??2048)}async function up(e,t,r){if(e.toLowerCase()!=="ed25519")throw(0,Ei.default)(new Error("Seed key derivation is unimplemented for RSA or secp256k1"),"ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return await g2(t)}function cp(e){let t=Ee.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case ut.RSA:return Qe.rsa.unmarshalRsaPublicKey(r);case ut.Ed25519:return Qe.ed25519.unmarshalEd25519PublicKey(r);case ut.Secp256k1:return Qe.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw w2(t.Type??"RSA")}}function fp(e,t){return t=(t??"rsa").toLowerCase(),b2(t),e.bytes}async function C8(e){let t=Se.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case ut.RSA:return await Qe.rsa.unmarshalRsaPrivateKey(r);case ut.Ed25519:return Qe.ed25519.unmarshalEd25519PrivateKey(r);case ut.Secp256k1:return Qe.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw w2(t.Type??"RSA")}}function lp(e,t){return t=(t??"rsa").toLowerCase(),b2(t),e.bytes}async function hp(e,t){try{let i=await P6(e,t);return await C8(i)}catch{}let r=bi.default.pki.decryptRsaPrivateKey(e,t);if(r===null)throw(0,Ei.default)(new Error("Cannot read the key, most likely the password is wrong or not a RSA key"),"ERR_CANNOT_DECRYPT_PEM");let n=bi.default.asn1.toDer(bi.default.pki.privateKeyToAsn1(r));return n=mt(n.getBytes(),"ascii"),await Qe.rsa.unmarshalRsaPrivateKey(n)}var pp=R(Us(),1),dp=R(Ct(),1),yp=R(ot(),1);async function Y0(e){let t=0;for await(let r of e)t++;return t}var _8=R(Nn(),1);var Ai=15,Bi=class{constructor(t){let{peerRouting:r,routingTable:n,refreshInterval:i,refreshQueryTimeout:o,lan:s}=t;this.log=z(`libp2p:kad-dht:${s?"lan":"wan"}:routing-table:refresh`),this.peerRouting=r,this.routingTable=n,this.refreshInterval=i??B4,this.refreshQueryTimeout=o??I4,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(t=!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,t),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,t)}catch(u){this.log.error(u)}}}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(t,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",t);return}let i=await this._generateRandomPeerId(t);this.log("starting refreshing cpl %s with key %p (routing table size was %s)",t,i,this.routingTable.size);let o=new _8.TimeoutController(this.refreshQueryTimeout);try{let s=await Y0(this.peerRouting.getClosestPeers(i.toBytes(),{signal:o.signal}));this.log(`found ${s} peers that were close to imaginary peer %p`,i),this.log("finished refreshing cpl %s with key %p (routing table size is now %s)",t,i,this.routingTable.size)}finally{o.clear()}}_getTrackedCommonPrefixLengthsForRefresh(t){t>Ai&&(t=Ai);let r=[];for(let n=0;n<=t;n++)r[n]=this.commonPrefixLengthRefreshedAt[n]??new Date;return r}async _generateRandomPeerId(t){if(this.routingTable.kb==null)throw new Error("Routing table not started");let r=tn(2),n=(r[1]<<8)+r[0],i=await this._makePeerId(this.routingTable.kb.localNodeId,n,t);return $r(i)}async _makePeerId(t,r,n){if(n>Ai)throw new Error(`Cannot generate peer ID for common prefix length greater than ${Ai}`);let s=new DataView(t.buffer,t.byteOffset,t.byteLength).getUint16(0,!1)^32768>>n,a=65535<<16-(n+1),u=s&a|r&~a,c=n5[u],f=new ArrayBuffer(34),l=new DataView(f,0,f.byteLength);return l.setUint8(0,gt.code),l.setUint8(1,32),l.setUint32(2,c,!1),new Uint8Array(l.buffer,l.byteOffset,l.byteLength)}_maxCommonPrefix(){let t=0;for(let r of this._prefixLengths())r>t&&(t=r);return t}_numPeersForCpl(t){let r=0;for(let n of this._prefixLengths())n===t&&r++;return r}*_prefixLengths(){if(this.routingTable.kb!=null)for(let{id:t}of this.routingTable.kb.toIterable()){let r=or(this.routingTable.kb.localNodeId,t),n=0;for(let i of r)if(i===0)n++;else break;yield n}}};var fu=R(ot(),1);var Ii=class{constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},r0=class{constructor(t={}){this.hwm=t.splitLimit??16,this.head=new Ii(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let r=this.head;this.head=r.next=new Ii(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};function Ci(e={}){return gp(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}},e)}function gp(e,t){t=t??{};let r=t.onEnd,n=new r0,i,o,s,a=async()=>n.isEmpty()?s?{done:!0}:await new Promise((y,g)=>{o=m=>{o=null,n.push(m);try{y(e(n))}catch(v){g(v)}return i}}):e(n),u=y=>o!=null?o(y):(n.push(y),i),c=y=>(n=new r0,o!=null?o({error:y}):(n.push({error:y}),i)),f=y=>{if(s)return i;if(t?.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})},l=y=>s?i:(s=!0,y!=null?c(y):u({done:!0})),d=()=>(n=new r0,l(),{done:!0}),p=y=>(l(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:d,throw:p,push:f,end:l,get readableLength(){return n.size}},r==null)return i;let h=i;return i={[Symbol.asyncIterator](){return this},next(){return h.next()},throw(y){return h.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return h.return(),r!=null&&(r(),r=void 0),{done:!0}},push:f,end(y){return h.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return h.readableLength}},i}async function*le(...e){let t=Ci({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async r=>{for await(let n of r)t.push(n)})),t.end()}catch(r){t.end(r)}}),yield*t}var mp=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},T8=e=>e!=null&&(typeof e[Symbol.asyncIterator]=="function"||typeof e[Symbol.iterator]=="function"||typeof e.next=="function"),E2=e=>e!=null&&typeof e.sink=="function"&&T8(e.source),xp=e=>t=>{let r=e.sink(t);if(r.then!=null){let n=Ci({objectMode:!0});return r.then(()=>{n.end()},o=>{n.end(o)}),le(n,async function*(){yield*e.source,n.end()}())}return e.source};function Ce(e,...t){if(E2(e)){let n=e;e=()=>n.source}else if(T8(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&E2(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++)E2(r[n])&&(r[n]=xp(r[n]));return mp(...r)}var P8=Symbol.for("@achingbrain/uint8arraylist");function R8(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function _i(e){return Boolean(e?.[P8])}var We=class{constructor(...t){Object.defineProperty(this,P8,{value:!0}),this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(_i(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(_i(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=R8(this.bufs,t);return r.buf[r.index]}set(t,r){let n=R8(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(_i(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:i}=this._subList(t,r);return at(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:at(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),o=new We;return o.length=i,o.bufs=n,o}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,u=a+s.byteLength;if(i=u,t>=u)continue;let c=t>=a&&t<u,f=r>a&&r<=u;if(c&&f){if(t===a&&r===u){n.push(s);break}let l=t-a;n.push(s.subarray(l,l+(r-t)));break}if(c){if(t===0){n.push(s);continue}n.push(s.subarray(t-a));continue}if(f){if(r===u){n.push(s);break}n.push(s.subarray(0,r-a));break}n.push(s)}return{bufs:n,length:r-t}}indexOf(t,r=0){if(!_i(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let 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,u=this.byteLength-n.byteLength,c=n.byteLength-1,f;for(let l=r;l<=u;l+=f){f=0;for(let d=c;d>=0;d--){let p=this.get(l+d);if(n[d]!==p){f=Math.max(1,d-a[p]);break}}if(f===0)return l}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=ge(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=Je(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=Je(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=Je(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=ge(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=Je(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=Je(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=Je(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=Je(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=Je(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof We)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!it(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new We;return n.bufs=t,r==null&&(r=t.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};function Ti(e){return e instanceof Uint8Array?{get(t){return e[t]},set(t,r){e[t]=r}}:{get(t){return e.get(t)},set(t,r){e.set(t,r)}}}var N8=4294967296,ie=class{constructor(t=0,r=0){this.hi=t,this.lo=r}toBigInt(t){if(t===!0)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)}toNumber(t){return Number(this.toBigInt(t))}zzDecode(){let t=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^t)>>>0,n=(this.hi>>>1^t)>>>0;return new ie(n,r)}zzEncode(){let t=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^t)>>>0,n=(this.lo<<1^t)>>>0;return new ie(r,n)}toBytes(t,r=0){let n=Ti(t);for(;this.hi>0;)n.set(r++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(r++,this.lo&127|128),this.lo=this.lo>>>7;n.set(r++,this.lo)}static fromBigInt(t){if(t===0n)return new ie;let r=t<0;r&&(t=-t);let n=Number(t>>32n)|0,i=Number(t-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>N8&&(i=0,++n>N8&&(n=0))),new ie(n,i)}static fromNumber(t){if(t===0)return new ie;let r=t<0;r&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new ie(i,n)}static fromBytes(t,r=0){let n=Ti(t),i=new ie,o=0;if(t.length-r>4){for(;o<4;++o)if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i;if(i.lo=(i.lo|(n.get(r)&127)<<28)>>>0,i.hi=(i.hi|(n.get(r)&127)>>4)>>>0,n.get(r++)<128)return i;o=0}else for(;o<4;++o){if(r>=t.length)throw RangeError(`index out of range: ${r} > ${t.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i}if(t.length-r>4){for(;o<5;++o)if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}else if(r<t.byteLength)for(;o<5;++o){if(r>=t.length)throw RangeError(`index out of range: ${r} > ${t.length}`);if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}throw RangeError("invalid varint encoding")}};var vp=Math.pow(2,7),wp=Math.pow(2,14),bp=Math.pow(2,21),Ep=Math.pow(2,28),Sp=Math.pow(2,35),Ap=Math.pow(2,42),Bp=Math.pow(2,49),Ip=Math.pow(2,56),Cp=Math.pow(2,63),on={encodingLength(e){return e<vp?1:e<wp?2:e<bp?3:e<Ep?4:e<Sp?5:e<Ap?6:e<Bp?7:e<Ip?8:e<Cp?9:10},encode(e,t,r=0){if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return t==null&&(t=ge(on.encodingLength(e))),ie.fromNumber(e).toBytes(t,r),t},decode(e,t=0){return ie.fromBytes(e,t).toNumber(!0)}};function L8(e){return globalThis?.Buffer?.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}var Ri=e=>{let t=on.encodingLength(e),r=L8(t);return on.encode(e,r),Ri.bytes=t,r};Ri.bytes=0;function sn(e){e=e??{};let t=e.lengthEncoder??Ri;return async function*(n){for await(let i of n){let o=t(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}}}sn.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??Ri;return new We(r(e.byteLength),e)};var Z0=R(ot(),1),_p=8,Tp=1024*1024*4,an;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(an||(an={}));var S2=e=>{let t=on.decode(e);return S2.bytes=on.encodingLength(t),t};S2.bytes=0;function un(e){return async function*(r){let n=new We,i=an.LENGTH,o=-1,s=e?.lengthDecoder??S2,a=e?.maxLengthLength??_p,u=e?.maxDataLength??Tp;for await(let c of r)for(n.append(c);n.byteLength>0;){if(i===an.LENGTH)try{if(o=s(n),o<0)throw(0,Z0.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(o>u)throw(0,Z0.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let f=s.bytes;n.consume(f),e?.onLength!=null&&e.onLength(o),i=an.DATA}catch(f){if(f instanceof RangeError){if(n.byteLength>a)throw(0,Z0.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw f}if(i===an.DATA){if(n.byteLength<o)break;let f=n.sublist(0,o);n.consume(o),e?.onData!=null&&e.onData(f),yield f,i=an.LENGTH}}if(n.byteLength>0)throw(0,Z0.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}}un.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await e.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 un({...t??{},onLength:o=>{r=o}})(n)};async function A2(e){for await(let t of e);}async function B2(e){for await(let t of e)return t}var D8=o4,Rp=s4,I2=function(e){let t=0;if(e=e.toString().trim(),D8(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(Rp(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=D8(r[n]),s;o&&(s=I2(r[n]),r[n]=M(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,M(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(t+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[t++]=o>>8&255,i[t++]=o&255}return i}throw new Error("invalid ip address")},F8=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(e[t+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(t+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var X0={},C2={},Np=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[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"],[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"],[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"]];Np.forEach(e=>{let t=Lp(...e);C2[t.code]=t,X0[t.name]=t});function Lp(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:Boolean(n),path:Boolean(i)}}function Et(e){if(typeof e=="number"){if(C2[e]!=null)return C2[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(X0[e]!=null)return X0[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var Ye=R(j0(),1);function W8(e,t){switch(Et(e).code){case 4:case 41:return Wp(t);case 6:case 273:case 33:case 132:return Z8(t).toString();case 53:case 54:case 55:case 56:case 400:case 777:return Zp(t);case 421:return td(t);case 444:return Q8(t);case 445:return Q8(t);case 466:return Jp(t);default:return M(t,"base16")}}function Y8(e,t){switch(Et(e).code){case 4:return G8(t);case 41:return G8(t);case 6:case 273:case 33:case 132:return P2(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 777:return Yp(t);case 421:return Xp(t);case 444:return ed(t);case 445:return rd(t);case 466:return jp(t);default:return mt(t,"base16")}}var R2=Object.values(vr).map(e=>e.decoder),Qp=function(){let e=R2[0].or(R2[1]);return R2.slice(2).forEach(t=>e=e.or(t)),e}();function G8(e){if(!In(e))throw new Error("invalid ip address");return I2(e)}function Wp(e){let t=F8(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!In(t))throw new Error("invalid ip address");return t}function P2(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function Z8(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function Yp(e){let t=mt(e),r=Uint8Array.from(Ye.default.encode(t.length));return at([r,t],r.length+t.length)}function Zp(e){let t=Ye.default.decode(e);if(e=e.slice(Ye.default.decode.bytes),e.length!==t)throw new Error("inconsistent lengths");return M(e)}function Xp(e){let t;e[0]==="Q"||e[0]==="1"?t=Or(St.decode(`z${e}`)).bytes:t=j.parse(e).multihash.bytes;let r=Uint8Array.from(Ye.default.encode(t.length));return at([r,t],r.length+t.length)}function jp(e){let t=Qp.decode(e),r=Uint8Array.from(Ye.default.encode(t.length));return at([r,t],r.length+t.length)}function Jp(e){let t=Ye.default.decode(e),r=e.slice(Ye.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return"u"+M(r,"base64url")}function td(e){let t=Ye.default.decode(e),r=e.slice(Ye.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return M(r,"base58btc")}function ed(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=ye.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=P2(n);return at([r,i],r.length+i.length)}function rd(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=ye.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=P2(n);return at([r,i],r.length+i.length)}function Q8(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=M(t,"base32"),i=Z8(r);return`${n}:${i}`}var n0=R(j0(),1);function nd(e){let t=[],r=e.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let i=r[n],o=Et(i);if(o.size===0){t.push([i]);continue}if(n++,n>=r.length)throw j8("invalid address: "+e);if(o.path===!0){t.push([i,F2(r.slice(n).join("/"))]);break}t.push([i,r[n]])}return t}function id(e){let t=[];return e.map(r=>{let n=Li(r);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),F2(t.join("/"))}function od(e){return e.map(t=>{Array.isArray(t)||(t=[t]);let r=Li(t);return t.length>1?[r.code,Y8(r.code,t[1])]:[r.code]})}function N2(e){return e.map(t=>{let r=Li(t);return t[1]!=null?[r.code,W8(r.code,t[1])]:[r.code]})}function L2(e){return Ni(at(e.map(t=>{let r=Li(t),n=Uint8Array.from(n0.default.encode(r.code));return t.length>1&&t[1]!=null&&(n=at([n,t[1]])),n})))}function k2(e,t){return e.size>0?e.size/8:e.size===0?0:n0.default.decode(t)+(n0.default.decode.bytes??0)}function Pi(e){let t=[],r=0;for(;r<e.length;){let n=n0.default.decode(e,r),i=n0.default.decode.bytes??0,o=Et(n),s=k2(o,e.slice(r+i));if(s===0){t.push([n]),r+=i;continue}let a=e.slice(r+i,r+i+s);if(r+=s+i,r>e.length)throw j8("Invalid address Uint8Array: "+M(e,"base16"));t.push([n,a])}return t}function D2(e){let t=Pi(e),r=N2(t);return id(r)}function sd(e){e=F2(e);let t=nd(e),r=od(t);return L2(r)}function X8(e){return sd(e)}function Ni(e){let t=ad(e);if(t!=null)throw t;return Uint8Array.from(e)}function ad(e){try{Pi(e)}catch(t){return t}}function F2(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function j8(e){return new Error("Error parsing address: "+e)}function Li(e){return Et(e[0])}var O2=R(j0(),1);var eu=R(ot(),1);var i0=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},U2=function(e,t,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},J0,t1,e1,J8,cd=Symbol.for("nodejs.util.inspect.custom"),tu=[Et("dns").code,Et("dns4").code,Et("dns6").code,Et("dnsaddr").code],fd=[Et("p2p").code,Et("ipfs").code],ld=new Map,ru=Symbol.for("@multiformats/js-multiaddr/multiaddr");function hd(e){return Boolean(e?.[ru])}var hr=class{constructor(t){if(J0.set(this,void 0),t1.set(this,void 0),e1.set(this,void 0),this[J8]=!0,t==null&&(t=""),t instanceof Uint8Array)this.bytes=Ni(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);this.bytes=X8(t)}else if(hd(t))this.bytes=Ni(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return i0(this,J0,"f")==null&&U2(this,J0,D2(this.bytes),"f"),i0(this,J0,"f")}toJSON(){return this.toString()}toOptions(){let t=this.protoCodes(),r=this.toString().split("/").slice(1),n,i;if(r.length>2)tu.includes(t[0])&&fd.includes(t[1])?(n=Et("tcp").name,i=443):(n=Et(r[2]).name,i=parseInt(r[3]));else if(tu.includes(t[0]))n=Et("tcp").name,i=443;else throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t[0]===41||t[0]===55?6:4,host:r[1],transport:n,port:i}}protos(){return this.protoCodes().map(t=>Object.assign({},Et(t)))}protoCodes(){let t=[],r=this.bytes,n=0;for(;n<r.length;){let i=O2.default.decode(r,n),o=O2.default.decode.bytes??0,s=Et(i),a=k2(s,r.slice(n+o));n+=a+o,t.push(i)}return t}protoNames(){return this.protos().map(t=>t.name)}tuples(){return i0(this,t1,"f")==null&&U2(this,t1,Pi(this.bytes),"f"),i0(this,t1,"f")}stringTuples(){return i0(this,e1,"f")==null&&U2(this,e1,N2(this.tuples()),"f"),i0(this,e1,"f")}encapsulate(t){return t=new hr(t),new hr(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new hr(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new hr(L2(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===X0.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?M(St.decode(`z${n}`),"base58btc"):M(j.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){let t=null;try{t=this.stringTuples().filter(r=>Et(r[0]).path===!0)[0][1],t==null&&(t=null)}catch{t=null}return t}equals(t){return it(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=ld.get(r.name);if(n==null)throw(0,eu.default)(new Error(`no available resolver for ${r.name}`),"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(o=>new hr(o))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[(J0=new WeakMap,t1=new WeakMap,e1=new WeakMap,J8=ru,cd)](){return`Multiaddr(${D2(this.bytes)})`}};function nu(e){return new hr(e)}var iu;(function(e){let t;e.codec=()=>(t==null&&(t=Fe((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})),t),e.encode=r=>De(r,e.codec()),e.decode=r=>ke(r,e.codec())})(iu||(iu={}));var kr;(function(e){let t;(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"})(t=e.MessageType||(e.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=()=>An(r)}(t=e.MessageType||(e.MessageType={}));let n;(function(a){a.NOT_CONNECTED="NOT_CONNECTED",a.CONNECTED="CONNECTED",a.CAN_CONNECT="CAN_CONNECT",a.CANNOT_CONNECT="CANNOT_CONNECT"})(n=e.ConnectionType||(e.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=()=>An(i)}(n=e.ConnectionType||(e.ConnectionType={}));let o;(function(a){let u;a.codec=()=>(u==null&&(u=Fe((c,f,l={})=>{if(l.lengthDelimited!==!1&&f.fork(),c.id!=null&&(f.uint32(10),f.bytes(c.id)),c.addrs!=null)for(let d of c.addrs)f.uint32(18),f.bytes(d);else throw new Error('Protocol error: required field "addrs" was not found in object');c.connection!=null&&(f.uint32(24),e.ConnectionType.codec().encode(c.connection,f)),l.lengthDelimited!==!1&&f.ldelim()},(c,f)=>{let l={addrs:[]},d=f==null?c.len:c.pos+f;for(;c.pos<d;){let p=c.uint32();switch(p>>>3){case 1:l.id=c.bytes();break;case 2:l.addrs.push(c.bytes());break;case 3:l.connection=e.ConnectionType.codec().decode(c);break;default:c.skipType(p&7);break}}return l})),u),a.encode=c=>De(c,a.codec()),a.decode=c=>ke(c,a.codec())})(o=e.Peer||(e.Peer={}));let s;e.codec=()=>(s==null&&(s=Fe((a,u,c={})=>{if(c.lengthDelimited!==!1&&u.fork(),a.type!=null&&(u.uint32(8),e.MessageType.codec().encode(a.type,u)),a.clusterLevelRaw!=null&&(u.uint32(80),u.int32(a.clusterLevelRaw)),a.key!=null&&(u.uint32(18),u.bytes(a.key)),a.record!=null&&(u.uint32(26),u.bytes(a.record)),a.closerPeers!=null)for(let f of a.closerPeers)u.uint32(66),e.Peer.codec().encode(f,u);else throw new Error('Protocol error: required field "closerPeers" was not found in object');if(a.providerPeers!=null)for(let f of a.providerPeers)u.uint32(74),e.Peer.codec().encode(f,u);else throw new Error('Protocol error: required field "providerPeers" was not found in object');c.lengthDelimited!==!1&&u.ldelim()},(a,u)=>{let c={closerPeers:[],providerPeers:[]},f=u==null?a.len:a.pos+u;for(;a.pos<f;){let l=a.uint32();switch(l>>>3){case 1:c.type=e.MessageType.codec().decode(a);break;case 10:c.clusterLevelRaw=a.int32();break;case 2:c.key=a.bytes();break;case 3:c.record=a.bytes();break;case 8:c.closerPeers.push(e.Peer.codec().decode(a,a.uint32()));break;case 9:c.providerPeers.push(e.Peer.codec().decode(a,a.uint32()));break;default:a.skipType(l&7);break}}return c})),s),e.encode=a=>De(a,e.codec()),e.decode=a=>ke(a,e.codec())})(kr||(kr={}));var _t=kr.MessageType,pd=kr.ConnectionType,au=Object.keys(_t),yt=class{constructor(t,r,n){if(!(r instanceof Uint8Array))throw new Error("Key must be a Uint8Array");this.type=t,this.key=r,this.clusterLevelRaw=n,this.closerPeers=[],this.providerPeers=[],this.record=void 0}get clusterLevel(){let t=this.clusterLevelRaw-1;return t<0?0:t}set clusterLevel(t){this.clusterLevelRaw=t}serialize(){return kr.encode({key:this.key,type:this.type,clusterLevelRaw:this.clusterLevelRaw,closerPeers:this.closerPeers.map(ou),providerPeers:this.providerPeers.map(ou),record:this.record==null?void 0:this.record.serialize().subarray()})}static deserialize(t){let r=kr.decode(t),n=new yt(r.type??kr.MessageType.PUT_VALUE,r.key??Uint8Array.from([]),r.clusterLevelRaw??0);return n.closerPeers=r.closerPeers.map(su),n.providerPeers=r.providerPeers.map(su),r.record?.length!=null&&(n.record=Pt.deserialize(r.record)),n}};function ou(e){return{id:e.id.toBytes(),addrs:(e.multiaddrs??[]).map(r=>r.bytes),connection:pd.CONNECTED}}function su(e){if(e.id==null)throw new Error("Invalid peer in message");return{id:$r(e.id),multiaddrs:(e.addrs??[]).map(t=>nu(t)),protocols:[]}}var cn=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},pr,he=class extends EventTarget{constructor(){super(...arguments),pr.set(this,new Map)}listenerCount(t){let r=cn(this,pr,"f").get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=cn(this,pr,"f").get(t);i==null&&(i=[],cn(this,pr,"f").set(t,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,r,n){super.removeEventListener(t.toString(),r??null,n);let i=cn(this,pr,"f").get(t);i!=null&&(i=i.filter(({callback:o})=>o!==r),cn(this,pr,"f").set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=cn(this,pr,"f").get(t.type);return n==null||(n=n.filter(({once:i})=>!i),cn(this,pr,"f").set(t.type,n)),r}};pr=new WeakMap;var M2=class extends Event{constructor(t,r){super(t,r),this.detail=r?.detail}},pe=globalThis.CustomEvent??M2;function K2(e){return{...e,name:"SENDING_QUERY",type:0,messageName:e.type,messageType:au.indexOf(e.type.toString())}}function r1(e){return{...e,name:"PEER_RESPONSE",type:1,messageName:e.messageType,closer:e.closer!=null?e.closer:[],providers:e.providers!=null?e.providers:[]}}function n1(e){return{...e,name:"FINAL_PEER",type:2}}function Gt(e){return{...e,name:"QUERY_ERROR",type:3}}function V2(e){return{...e,name:"PROVIDER",type:4}}function i1(e){return{...e,name:"VALUE",type:5}}function q2(e){return{...e,name:"DIALING_PEER",type:7}}var o1=class extends Error{constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function uu(e){if(e!=null){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}function cu(e,t,r){let n=r??{},i=uu(e);async function*o(){let s,a=()=>{s?.()};for(t.addEventListener("abort",a);;){let u;try{if(t.aborted){let{abortMessage:f,abortCode:l}=n;throw new o1(f,l)}let c=new Promise((f,l)=>{s=()=>{let{abortMessage:d,abortCode:p}=n;l(new o1(d,p))}});u=await Promise.race([c,i.next()]),s=null}catch(c){t.removeEventListener("abort",a);let f=c.type==="aborted"&&t.aborted;if(f&&n.onAbort!=null&&await n.onAbort(e),typeof i.return=="function")try{let l=i.return();l instanceof Promise&&l.catch(d=>{n.onReturnError!=null&&n.onReturnError(d)})}catch(l){n.onReturnError!=null&&n.onReturnError(l)}if(f&&n.returnOnAbort===!0)return;throw c}if(u.done===!0)break;yield u.value}t.removeEventListener("abort",a)}return o()}function dd(e,t,r){return n=>e(cu(n,t,r))}function z2(e,t,r){return{sink:dd(e.sink,t,{...r,onAbort:void 0}),source:cu(e.source,t,r)}}var ki=class extends he{constructor(t,r){super();let{protocol:n,lan:i}=r;this.components=t,this.log=z(`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(t,r,n={}){if(!this.running)return;this.log("sending %s to %p",r.type,t),yield q2({peer:t}),yield K2({to:t,type:r.type});let i;try{let s=await(await this.components.connectionManager.openConnection(t,n)).newStream(this.protocol,n),a=await this._writeReadMessage(s,r.serialize(),n);yield r1({from:t,messageType:a.type,closer:a.closerPeers,providers:a.providerPeers,record:a.record})}catch(o){yield Gt({from:t,error:o})}finally{i?.close()}}async*sendMessage(t,r,n={}){if(!this.running)return;this.log("sending %s to %p",r.type,t),yield q2({peer:t}),yield K2({to:t,type:r.type});let i;try{let s=await(await this.components.connectionManager.openConnection(t,n)).newStream(this.protocol,n);await this._writeMessage(s,r.serialize(),n),yield r1({from:t,messageType:r.type})}catch(o){yield Gt({from:t,error:o})}finally{i?.close()}}async _writeMessage(t,r,n){n.signal!=null&&(t=z2(t,n.signal)),await Ce([r],sn(),t,A2)}async _writeReadMessage(t,r,n){n.signal!=null&&(t=z2(t,n.signal));let i=await Ce([r],sn(),t,un(),async s=>{let a=await B2(s);if(a!=null)return a;throw(0,fu.default)(new Error("No message received"),"ERR_NO_MESSAGE_RECEIVED")}),o=yt.deserialize(i);return o.closerPeers.forEach(s=>{this.dispatchEvent(new pe("peer",{detail:s}))}),o.providerPeers.forEach(s=>{this.dispatchEvent(new pe("peer",{detail:s}))}),o}};var Ui=R(ot(),1);var o0=R(ot(),1);function s0(e,t){let r=t.key,i=M(r).split("/");if(i.length<3)return;let o=e[i[1].toString()];if(o==null){let s="Invalid record keytype";throw(0,o0.default)(new Error(s),"ERR_INVALID_RECORD_KEY_TYPE")}return o(r,t.value)}var yd=async(e,t)=>{if(!(e instanceof Uint8Array))throw(0,o0.default)(new Error('"key" must be a Uint8Array'),"ERR_INVALID_RECORD_KEY_NOT_BUFFER");if(e.byteLength<5)throw(0,o0.default)(new Error("invalid public key record"),"ERR_INVALID_RECORD_KEY_TOO_SHORT");if(M(e.subarray(0,4))!=="/pk/")throw(0,o0.default)(new Error("key was not prefixed with /pk/"),"ERR_INVALID_RECORD_KEY_BAD_PREFIX");let n=e.slice(4),i=await gt.digest(t);if(!it(n,i.bytes))throw(0,o0.default)(new Error("public key does not match passed in key"),"ERR_INVALID_RECORD_HASH_MISMATCH")},lu={pk:yd};var Di=R(ot(),1);function hu(e,t,r){if(r.length===0){let s="No records given";throw(0,Di.default)(new Error(s),"ERR_NO_RECORDS_RECEIVED")}let i=M(t).split("/");if(i.length<3){let s="Record key does not have a selector function";throw(0,Di.default)(new Error(s),"ERR_NO_SELECTOR_FUNCTION_FOR_RECORD_KEY")}let o=e[i[1].toString()];if(o==null){let s=`Unrecognized key prefix: ${i[1]}`;throw(0,Di.default)(new Error(s),"ERR_UNRECOGNIZED_KEY_PREFIX")}return r.length===1?0:o(t,r)}function gd(e,t){return 0}var pu={pk:gd};function dr(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var Fi=globalThis.CustomEvent??Event;async function*s1(e,t={}){let r=t.concurrency??1/0;r<1&&(r=1/0);let n=t.ordered==null?!1:t.ordered,i=new EventTarget,o=[],s=dr(),a=dr(),u=!1,c,f=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let h of e){if(o.length===r&&(s=dr(),await s.promise),f)break;let y={done:!1};o.push(y),h().then(g=>{y.done=!0,y.ok=!0,y.value=g,i.dispatchEvent(new Fi("task-complete"))},g=>{y.done=!0,y.err=g,i.dispatchEvent(new Fi("task-complete"))})}u=!0,i.dispatchEvent(new Fi("task-complete"))}catch(h){c=h,i.dispatchEvent(new Fi("task-complete"))}});function l(){return n?o[0]?.done:Boolean(o.find(h=>h.done))}function*d(){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*p(){for(;l();)for(let h=0;h<o.length;h++)if(o[h].done){let y=o[h];if(o.splice(h,1),h--,y.ok)yield y.value;else throw f=!0,s.resolve(),y.err;s.resolve()}}for(;;){if(l()||(a=dr(),await a.promise),c!=null)throw c;if(n?yield*d():yield*p(),u&&o.length===0)break}}async function*a1(e,t){for await(let r of e)yield t(r)}var Oi=class{constructor(t,r){let{validators:n,selectors:i,peerRouting:o,queryManager:s,routingTable:a,network:u,lan:c}=r;this.components=t,this.log=z(`libp2p:kad-dht:${c?"lan":"wan"}:content-fetching`),this.validators=n,this.selectors=i,this.peerRouting=o,this.queryManager=s,this.routingTable=a,this.network=u}async putLocal(t,r){let n=er(t);await this.components.datastore.put(n,r)}async getLocal(t){this.log("getLocal %b",t);let r=er(t);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=Pt.deserialize(n);return await s0(this.validators,i),i}async*sendCorrectionRecord(t,r,n,i={}){this.log("sendCorrection for %b",t);let o=await ps(t,n);for(let{value:s,from:a}of r){if(it(s,n)){this.log("record was ok");continue}if(this.components.peerId.equals(a)){try{let f=er(t);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 u=!1,c=new yt(_t.PUT_VALUE,t,0);c.record=Pt.deserialize(o);for await(let f of this.network.sendRequest(a,c,i))f.name==="PEER_RESPONSE"&&f.record!=null&&it(f.record.value,Pt.deserialize(o).value)&&(u=!0),yield f;u||(yield Gt({from:a,error:(0,Ui.default)(new Error("value not put correctly"),"ERR_PUT_VALUE_INVALID")})),this.log.error("Failed error correcting entry")}}async*put(t,r,n={}){this.log("put key %b value %b",t,r);let i=await ps(t,r),o=er(t);this.log(`storing record for key ${o.toString()}`),await this.components.datastore.put(o,i.subarray()),yield*Ce(this.peerRouting.getClosestPeers(t,{signal:n.signal}),s=>a1(s,a=>async()=>{if(a.name!=="FINAL_PEER")return[a];let u=[],c=new yt(_t.PUT_VALUE,t,0);c.record=Pt.deserialize(i),this.log("send put to %p",a.peer.id);for await(let f of this.network.sendRequest(a.peer.id,c,n))u.push(f),f.name==="PEER_RESPONSE"&&(f.record!=null&&it(f.record.value,Pt.deserialize(i).value)||u.push(Gt({from:a.peer.id,error:(0,Ui.default)(new Error("value not put correctly"),"ERR_PUT_VALUE_INVALID")})));return u}),s=>s1(s,{ordered:!1,concurrency:3}),async function*(s){for await(let a of s)yield*a})}async*get(t,r={}){this.log("get %b",t);let n=[];for await(let a of this.getMany(t,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=hu(this.selectors,t,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",t,s),s==null)throw(0,Ui.default)(new Error("best value was not found"),"ERR_NOT_FOUND");yield*this.sendCorrectionRecord(t,n,s,r),yield n[o]}async*getMany(t,r={}){this.log("getMany values for %b",t);try{let a=await this.getLocal(t);yield i1({value:a.value,from:this.components.peerId})}catch(a){this.log("error getting local value for %b",t,a)}let n=await Ue(t),i=this.routingTable.closestPeers(n);this.log("found %d peers in routing table",i.length);let o=this,s=async function*({peer:a,signal:u}){for await(let c of o.peerRouting.getValueOrPeers(a,t,{signal:u}))yield c,c.name==="PEER_RESPONSE"&&c.record!=null&&(yield i1({from:a,value:c.record.value}))};yield*this.queryManager.run(t,i,s,r)}};var Mi=class{constructor(t,r){let{network:n,peerRouting:i,queryManager:o,routingTable:s,providers:a,lan:u}=r;this.components=t,this.log=z(`libp2p:kad-dht:${u?"lan":"wan"}:content-routing`),this.network=n,this.peerRouting=i,this.queryManager=o,this.routingTable=s,this.providers=a}async*provide(t,r,n={}){this.log("provide %s",t),await this.providers.addProvider(t,this.components.peerId);let i=new yt(_t.ADD_PROVIDER,t.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 u=[];this.log("putProvider %s to %p",t,a.peer.id);try{this.log("sending provider record for %s to %p",t,a.peer.id);for await(let c of this.network.sendMessage(a.peer.id,i,n))c.name==="PEER_RESPONSE"&&(this.log("sent provider record for %s to %p",t,a.peer.id),o++),u.push(c)}catch(c){this.log.error("error sending provide record to peer %p",a.peer.id,c),u.push(Gt({from:a.peer.id,error:c}))}return u};yield*Ce(this.peerRouting.getClosestPeers(t.multihash.bytes,n),a=>a1(a,u=>s(u)),a=>s1(a,{ordered:!1,concurrency:3}),async function*(a){for await(let u of a)yield*u}),this.log("sent provider records to %d peers",o)}async*findProviders(t,r){let n=this.routingTable.kBucketSize,i=t.multihash.bytes,o=await Ue(i),s=this;this.log("findProviders %c",t);let a=await this.providers.getProviders(t);if(a.length>0){let f=[];for(let l of a.slice(0,n))f.push({id:l,multiaddrs:(await this.components.peerStore.addressBook.get(l)??[]).map(d=>d.multiaddr),protocols:[]});yield r1({from:this.components.peerId,messageType:_t.GET_PROVIDERS,providers:f}),yield V2({from:this.components.peerId,providers:f})}if(a.length>=n)return;let u=async function*({peer:f,signal:l}){let d=new yt(_t.GET_PROVIDERS,i,0);yield*s.network.sendRequest(f,d,{signal:l})},c=new Set(a.map(f=>f.toString()));for await(let f of this.queryManager.run(i,this.routingTable.closestPeers(o),u,r))if(yield f,f.name==="PEER_RESPONSE"){this.log("Found %d provider entries for %c and %d closer peers",f.providers.length,t,f.closer.length);let l=[];for(let d of f.providers)c.has(d.id.toString())||(c.add(d.id.toString()),l.push(d));if(l.length>0&&(yield V2({from:f.from,providers:l})),c.size===n)return}}};var fn=R(ot(),1);function Ki(e,t){for(let r=0;r<e.byteLength;r++){if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return e.byteLength>t.byteLength?1:e.byteLength<t.byteLength?-1:0}var Vi=class{constructor(t,r){this.originDhtKey=t,this.capacity=r,this.peerDistances=[]}get length(){return this.peerDistances.length}get peers(){return this.peerDistances.map(t=>t.peerId)}async add(t){if(this.peerDistances.find(i=>i.peerId.equals(t))!=null)return;let r=await jt(t),n={peerId:t,distance:or(this.originDhtKey,r)};this.peerDistances.push(n),this.peerDistances.sort((i,o)=>Ki(i.distance,o.distance)),this.peerDistances=this.peerDistances.slice(0,this.capacity)}async anyCloser(t){if(t.length===0)return!1;if(this.length===0)return!0;let r=await Promise.all(t.map(jt)),n=this.peerDistances[this.peerDistances.length-1].distance;for(let i of r){let o=or(this.originDhtKey,i);if(Ki(o,n)<0)return!0}return!1}};var qi=class{constructor(t,r){let{routingTable:n,network:i,validators:o,queryManager:s,lan:a}=r;this.components=t,this.routingTable=n,this.network=i,this.validators=o,this.queryManager=s,this.log=z(`libp2p:kad-dht:${a?"lan":"wan"}:peer-routing`)}async findPeerLocal(t){let r,n=await this.routingTable.find(t);if(n!=null){this.log("findPeerLocal found %p in routing table",t);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(t)}catch(i){if(i.code!=="ERR_NOT_FOUND")throw i}if(r!=null)return this.log("findPeerLocal found %p in peer store",t),{id:r.id,multiaddrs:r.addresses.map(i=>i.multiaddr),protocols:[]}}async*_getValueSingle(t,r,n={}){let i=new yt(_t.GET_VALUE,r,0);yield*this.network.sendRequest(t,i,n)}async*getPublicKeyFromNode(t,r={}){let n=_4(t);for await(let i of this._getValueSingle(t,n,r))if(yield i,i.name==="PEER_RESPONSE"&&i.record!=null){let o=await x4(Si.marshalPublicKey({bytes:i.record.value}));if(!o.equals(t))throw(0,fn.default)(new Error("public key does not match id"),"ERR_PUBLIC_KEY_DOES_NOT_MATCH_ID");if(o.publicKey==null)throw(0,fn.default)(new Error("public key missing"),"ERR_PUBLIC_KEY_MISSING");yield i1({from:t,value:o.publicKey})}throw(0,fn.default)(new Error(`Node not responding with its public key: ${t.toString()}`),"ERR_INVALID_RECORD")}async*findPeer(t,r={}){this.log("findPeer %p",t);let n=await this.findPeerLocal(t);if(n!=null){this.log("found local"),yield n1({from:this.components.peerId,peer:n});return}let i=await jt(t),o=this.routingTable.closestPeers(i);if(o.find(f=>f.equals(t))!=null)try{let f=await this.components.peerStore.get(t);this.log("found in peerStore"),yield n1({from:this.components.peerId,peer:{id:f.id,multiaddrs:f.addresses.map(l=>l.multiaddr),protocols:[]}});return}catch(f){if(f.code!=="ERR_NOT_FOUND")throw f}let a=this,u=async function*({peer:f,signal:l}){let d=new yt(_t.FIND_NODE,t.toBytes(),0);for await(let p of a.network.sendRequest(f,d,{signal:l}))if(yield p,p.name==="PEER_RESPONSE"){let h=p.closer.find(y=>y.id.equals(t));h!=null&&(yield n1({from:p.from,peer:h}))}},c=!1;for await(let f of this.queryManager.run(t.toBytes(),o,u,r))f.name==="FINAL_PEER"&&(c=!0),yield f;c||(yield Gt({from:this.components.peerId,error:(0,fn.default)(new Error("Not found"),"ERR_NOT_FOUND")}))}async*getClosestPeers(t,r={}){this.log("getClosestPeers to %b",t);let n=await Ue(t),i=this.routingTable.closestPeers(n),o=this,s=new Vi(n,this.routingTable.kBucketSize);await Promise.all(i.map(async u=>await s.add(u)));let a=async function*({peer:u,signal:c}){o.log("closerPeersSingle %s from %p",M(t,"base32"),u);let f=new yt(_t.FIND_NODE,t,0);yield*o.network.sendRequest(u,f,{signal:c})};for await(let u of this.queryManager.run(t,i,a,r))yield u,u.name==="PEER_RESPONSE"&&await Promise.all(u.closer.map(async c=>await s.add(c.id)));this.log("found %d peers close to %b",s.length,t);for(let u of s.peers)yield n1({from:this.components.peerId,peer:{id:u,multiaddrs:(await this.components.peerStore.addressBook.get(u)??[]).map(c=>c.multiaddr),protocols:[]}})}async*getValueOrPeers(t,r,n={}){for await(let i of this._getValueSingle(t,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 Gt({from:i.from,error:(0,fn.default)(new Error(s),"ERR_INVALID_RECORD")});continue}yield i}}async _verifyRecordOnline(t){if(t.timeReceived==null)throw(0,fn.default)(new Error("invalid record received"),"ERR_INVALID_RECORD");await s0(this.validators,new Pt(t.key,t.value,t.timeReceived))}async getCloserPeersOffline(t,r){let n=await Ue(t),i=this.routingTable.closestPeers(n),o=[];for(let s of i)if(!s.equals(r))try{let a=await this.components.peerStore.addressBook.get(s),u=await this.components.peerStore.protoBook.get(s);o.push({id:s,multiaddrs:a.map(c=>c.multiaddr),protocols:u})}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,t,r):this.log("getCloserPeersOffline could not find peer closer to %b than %p",t,r),o}};var gu=R(yu(),1),$2=R(j0(),1);var yr=z("libp2p:kad-dht:providers"),zi=class{constructor(t,r={}){let{cacheSize:n,cleanupInterval:i,provideValidity:o}=r;this.components=t,this.cleanupInterval=i??36e5,this.provideValidity=o??864e5,this.cache=(0,gu.default)(n??256),this.syncQueue=new nr({concurrency:1}),this.started=!1}isStarted(){return this.started}async start(){this.started||(this.started=!0,this.cleaner=setInterval(()=>{this._cleanup().catch(t=>{yr.error(t)})},this.cleanupInterval))}async stop(){this.started=!1,this.cleaner!=null&&(clearInterval(this.cleaner),this.cleaner=void 0)}async _cleanup(){return await this.syncQueue.add(async()=>{let t=Date.now(),r=0,n=0,i=new Map,o=this.components.datastore.batch(),s=this.components.datastore.query({prefix:hs});for await(let a of s)try{let{cid:u,peerId:c}=mu(a.key),f=xu(a.value).getTime(),l=Date.now(),d=l-f,p=d>this.provideValidity;if(yr("comparing: %d - %d = %d > %d %s",l,f,d,this.provideValidity,p?"(expired)":""),p){n++,o.delete(a.key);let h=i.get(u)??new Set;h.add(c),i.set(u,h)}r++}catch(u){yr.error(u.message)}i.size>0?(yr("deleting %d / %d entries",n,r),await o.commit()):yr("nothing to delete");for(let[a,u]of i){let c=u1(a),f=this.cache.get(c);if(f!=null){for(let l of u)f.delete(l);f.size===0?this.cache.remove(c):this.cache.set(c,f)}}yr("Cleanup successful (%dms)",Date.now()-t)})}async _getProvidersMap(t){let r=u1(t),n=this.cache.get(r);return n==null&&(n=await bd(this.components.datastore,t),this.cache.set(r,n)),n}async addProvider(t,r){return await this.syncQueue.add(async()=>{yr("%p provides %s",r,t);let n=await this._getProvidersMap(t);yr("loaded %s provs",n.size);let i=new Date;n.set(r.toString(),i);let o=u1(t);this.cache.set(o,n),await wd(this.components.datastore,t,r,i)})}async getProviders(t){return await this.syncQueue.add(async()=>(yr("get providers for %s",t),[...(await this._getProvidersMap(t)).keys()].map(n=>bt(n))))}};function u1(e){let t=typeof e=="string"?e:M(e.multihash.bytes,"base32");return`${hs}/${t}`}async function wd(e,t,r,n){let i=[u1(t),"/",r.toString()].join(""),o=new Dt(i),s=Uint8Array.from($2.default.encode(n.getTime()));return await e.put(o,s)}function mu(e){let t=e.toString().split("/");if(t.length!==5)throw new Error(`incorrectly formatted provider entry key in datastore: ${e.toString()}`);return{cid:t[3],peerId:t[4]}}async function bd(e,t){let r=new Map,n=e.query({prefix:u1(t)});for await(let i of n){let{peerId:o}=mu(i.key);r.set(o,xu(i.value))}return r}function xu(e){return new Date($2.default.decode(e))}var Au=R(Nn(),1),Bu=R($i(),1);var wu=R(ot(),1);var bu=R(Nn(),1),Eu=R($i(),1);var Ed=BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");async function*Su(e){let{key:t,startingPeer:r,ourPeerId:n,signal:i,query:o,alpha:s,pathIndex:a,numPaths:u,cleanUp:c,queryFuncTimeout:f,log:l,peersSeen:d}=e,p=new nr({concurrency:s}),h=await Ue(t);function y(g,m){if(g==null)return;d.add(g);let v=BigInt("0x"+M(or(m,h),"base16"));p.add(async()=>{let b,L=[i];f!=null&&(b=new bu.TimeoutController(f),L.push(b.signal));let _=(0,Eu.anySignal)(L);try{for await(let C of o({key:t,peer:g,signal:_,pathIndex:a,numPaths:u})){if(_.aborted)return;if(C.name==="PEER_RESPONSE")for(let K of C.closer){if(d.has(K.id)){l("already seen %p in query",K.id);continue}if(n.equals(K.id)){l("not querying ourselves");continue}let $=await jt(K.id);if(BigInt("0x"+M(or($,h),"base16"))>v){l("skipping %p as they are not closer to %b than %p",K.id,t,g);continue}l("querying closer peer %p",K.id),y(K.id,$)}p.emit("completed",C)}b?.clear()}catch(C){i.aborted?p.emit("error",C):p.emit("completed",Gt({from:g,error:C}))}finally{b?.clear()}},{priority:Ed-v}).catch(b=>{l.error(b)})}y(r,await jt(r)),yield*Sd(p,i,c,l)}async function*Sd(e,t,r,n){let i=dr(),o=!0,s=[],a=()=>{o&&(n("clean up queue, results %d, queue size %d, pending tasks %d",s.length,e.size,e.pending),o=!1,e.clear(),s.splice(0,s.length))};for(e.on("completed",u=>{s.push(u),i.resolve()}),e.on("error",u=>{n("queue error",u),a(),i.reject(u)}),e.on("idle",()=>{n("queue idle"),o=!1,i.resolve()}),t.addEventListener("abort",()=>{n("abort queue");let u=o;a(),u&&i.reject((0,wu.default)(new Error("Query aborted"),"ERR_QUERY_ABORTED"))}),r.addEventListener("cleanup",()=>{a(),i.resolve()});o;)for(await i.promise,i=dr();s.length>0;){let u=s.shift();u!=null&&(yield u)}yield*s}var c1=R(b1(),1);var Gi=class{constructor(t,r){let{lan:n=!1,disjointPaths:i=20,alpha:o=3}=r;this.components=t,this.disjointPaths=i??20,this.controllers=new Set,this.running=!1,this.alpha=o??3,this.lan=n,this.queries=0}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;for(let t of this.controllers)t.abort();this.controllers.clear()}async*run(t,r,n,i={}){if(!this.running)throw new Error("QueryManager not started");let o=this.metrics?.queryTime.timer(),s;if(i.signal==null){s=new Au.TimeoutController(C4),i.signal=s.signal;try{c1.setMaxListeners!=null&&(0,c1.setMaxListeners)(1/0,s.signal)}catch{}}let a=new AbortController;this.controllers.add(a);let u=[a.signal];i.signal!=null&&u.push(i.signal);let c=(0,Bu.anySignal)(u);try{c1.setMaxListeners!=null&&(0,c1.setMaxListeners)(1/0,c)}catch{}let f=z(`libp2p:kad-dht:${this.lan?"lan":"wan"}:query:`+M(t,"base58btc")),l=r.slice(0,Math.min(this.disjointPaths,r.length)),d=Date.now(),p=new he;try{if(f("query:start"),this.queries++,this.metrics?.runningQueries.update(this.queries),r.length===0){f.error("Running query with no peers");return}let h=new ae,y=l.map((g,m)=>Su({key:t,startingPeer:g,ourPeerId:this.components.peerId,signal:c,query:n,pathIndex:m,numPaths:l.length,alpha:this.alpha,cleanUp:p,queryFuncTimeout:i.queryFuncTimeout,log:f,peersSeen:h}));for await(let g of le(...y))yield g,g.name==="QUERY_ERROR"&&f("error",g.error)}catch(h){if(!(!this.running&&h.code==="ERR_QUERY_ABORTED"))throw h}finally{this.controllers.delete(a),s?.clear(),this.queries--,this.metrics?.runningQueries.update(this.queries),o?.(),p.dispatchEvent(new pe("cleanup")),f("query:done in %dms",Date.now()-d)}}};var G2=R(ot(),1);var f1=z("libp2p:kad-dht:rpc:handlers:add-provider"),Qi=class{constructor(t){let{providers:r}=t;this.providers=r}async handle(t,r){if(f1("start"),r.key==null||r.key.length===0)throw(0,G2.default)(new Error("Missing key"),"ERR_MISSING_KEY");let n;try{n=j.decode(r.key)}catch{throw(0,G2.default)(new Error("Invalid CID"),"ERR_INVALID_CID")}(r.providerPeers==null||r.providerPeers.length===0)&&f1.error("no providers found in message"),await Promise.all(r.providerPeers.map(async i=>{if(!i.id.equals(t)){f1("invalid provider peer %p from %p",i.id,t);return}if(i.multiaddrs.length<1){f1("no valid addresses for provider %p. Ignore",t);return}f1("received provider %p for %s (addrs %s)",t,n,i.multiaddrs.map(o=>o.toString())),await this.providers.addProvider(n,i.id)}))}};var Iu=z("libp2p:kad-dht:rpc:handlers:find-node"),Wi=class{constructor(t,r){let{peerRouting:n,lan:i}=r;this.components=t,this.peerRouting=n,this.lan=Boolean(i)}async handle(t,r){Iu("incoming request from %p for peers closer to %b",t,r.key);let n=[];it(this.components.peerId.toBytes(),r.key)?n=[{id:this.components.peerId,multiaddrs:this.components.addressManager.getAddresses().map(o=>o.decapsulateCode(Et("p2p").code)),protocols:[]}]:n=await this.peerRouting.getCloserPeersOffline(r.key,t),n=n.map(this.lan?Pn:Rn).filter(({multiaddrs:o})=>o.length);let i=new yt(r.type,new Uint8Array(0),r.clusterLevel);return n.length>0?i.closerPeers=n:Iu("could not find any peers closer to %b than %p",r.key,t),i}};var _u=R(ot(),1);var Cu=z("libp2p:kad-dht:rpc:handlers:get-providers"),Yi=class{constructor(t,r){let{peerRouting:n,providers:i,lan:o}=r;this.components=t,this.peerRouting=n,this.providers=i,this.lan=Boolean(o)}async handle(t,r){let n;try{n=j.decode(r.key)}catch{throw(0,_u.default)(new Error("Invalid CID"),"ERR_INVALID_CID")}Cu("%p asking for providers for %s",t,n);let[i,o]=await Promise.all([this.providers.getProviders(n),this.peerRouting.getCloserPeersOffline(r.key,t)]),s=await this._getPeers(i),a=await this._getPeers(o.map(({id:c})=>c)),u=new yt(r.type,r.key,r.clusterLevel);return s.length>0&&(u.providerPeers=s),a.length>0&&(u.closerPeers=a),Cu("got %s providers %s closerPeers",s.length,a.length),u}async _getAddresses(t){return(await this.components.peerStore.addressBook.get(t)).map(n=>n.multiaddr)}async _getPeers(t){let r=[],n=this.lan?Pn:Rn;for(let i of t){let o=n({id:i,multiaddrs:await this._getAddresses(i),protocols:[]});o.multiaddrs.length>0&&r.push(o)}return r}};var Zi=R(ot(),1);var u0=z("libp2p:kad-dht:rpc:handlers:get-value"),Xi=class{constructor(t,r){let{peerRouting:n}=r;this.components=t,this.peerRouting=n}async handle(t,r){let n=r.key;if(u0("%p asked for key %b",t,n),n==null||n.length===0)throw(0,Zi.default)(new Error("Invalid key"),"ERR_INVALID_KEY");let i=new yt(_t.GET_VALUE,n,r.clusterLevel);if(T4(n)){u0("is public key");let a=R4(n),u;try{let c=await this.components.peerStore.keyBook.get(a);if(c==null)throw(0,Zi.default)(new Error("No public key found in key book"),"ERR_NOT_FOUND");u=c}catch(c){if(c.code!=="ERR_NOT_FOUND")throw c}if(u!=null)return u0("returning found public key"),i.record=new Pt(n,u,new Date),i}let[o,s]=await Promise.all([this._checkLocalDatastore(n),this.peerRouting.getCloserPeersOffline(r.key,t)]);return o!=null&&(u0("had record for %b in local datastore",n),i.record=o),s.length>0&&(u0("had %s closer peers in routing table",s.length),i.closerPeers=s),i}async _checkLocalDatastore(t){u0("checkLocalDatastore looking for %b",t);let r=er(t),n;try{n=await this.components.datastore.get(r)}catch(o){if(o.code==="ERR_NOT_FOUND")return;throw o}let i=Pt.deserialize(n);if(i==null)throw(0,Zi.default)(new Error("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 Bd=z("libp2p:kad-dht:rpc:handlers:ping"),ji=class{async handle(t,r){return Bd("ping from %p",t),r}};var Tu=R(ot(),1);var Ji=class{constructor(t,r){let{validators:n}=r;this.components=t,this.log=z("libp2p:kad-dht:rpc:handlers:put-value"),this.validators=n}async handle(t,r){let n=r.key;this.log("%p asked us to store value for key %b",t,n);let i=r.record;if(i==null){let o=`Empty record from: ${t.toString()}`;throw this.log.error(o),(0,Tu.default)(new Error(o),"ERR_EMPTY_RECORD")}try{await s0(this.validators,i),i.timeReceived=new Date;let o=er(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 to=class{constructor(t,r){let{providers:n,peerRouting:i,validators:o,lan:s}=r;this.log=z("libp2p:kad-dht:rpc"),this.routingTable=r.routingTable,this.handlers={[_t.GET_VALUE]:new Xi(t,{peerRouting:i}),[_t.PUT_VALUE]:new Ji(t,{validators:o}),[_t.FIND_NODE]:new Wi(t,{peerRouting:i,lan:s}),[_t.ADD_PROVIDER]:new Qi({providers:n}),[_t.GET_PROVIDERS]:new Yi(t,{peerRouting:i,providers:n,lan:s}),[_t.PING]:new ji}}async handleMessage(t,r){try{await this.routingTable.add(t)}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 await n.handle(t,r)}onIncomingStream(t){Promise.resolve().then(async()=>{let{stream:r,connection:n}=t,i=n.remotePeer;try{await this.routingTable.add(i)}catch(s){this.log.error(s)}let o=this;await Ce(r,un(),async function*(s){for await(let a of s){let u=yt.deserialize(a);o.log("incoming %s from %p",u.type,i);let c=await o.handleMessage(i,u);c!=null&&(yield c.serialize())}},sn(),r)}).catch(r=>{this.log.error(r)})}};var Q2=Symbol.for("@libp2p/topology");var Ru=()=>{},W2=class{constructor(t){this.min=t.min??0,this.max=t.max??1/0,this.peers=new Set,this.onConnect=t.onConnect??Ru,this.onDisconnect=t.onDisconnect??Ru}get[Symbol.toStringTag](){return Q2.toString()}get[Q2](){return!0}async setRegistrar(t){this.registrar=t}disconnect(t){this.onDisconnect(t)}};function Pu(e){return new W2(e)}var eo=class extends he{constructor(t,r){super();let{protocol:n,lan:i}=r;this.components=t,this.log=z(`libp2p:kad-dht:topology-listener:${i?"lan":"wan"}`),this.running=!1,this.protocol=n}isStarted(){return this.running}async start(){if(this.running)return;this.running=!0;let t=Pu({onConnect:r=>{this.log("observed peer %p with protocol %s",r,this.protocol),this.dispatchEvent(new pe("peer",{detail:r}))}});this.registrarId=await this.components.registrar.register(this.protocol,t)}stop(){this.running=!1,this.registrarId!=null&&(this.components.registrar.unregister(this.registrarId),this.registrarId=void 0)}};var Z2=R(b1(),1);async function*Y2(e,t){let r=0;if(!(t<1)){for await(let n of e)if(yield n,r++,r===t)return}}var Nu=R(Nn(),1),Lu=R($i(),1);var ro=class{constructor(t,r){let{peerRouting:n,lan:i,count:o,interval:s,queryTimeout:a}=r;this.components=t,this.log=z(`libp2p:kad-dht:${i?"lan":"wan"}:query-self`),this.running=!1,this.peerRouting=n,this.count=o??20,this.interval=s??S4,this.queryTimeout=a??A4}isStarted(){return this.running}async start(){this.running||(this.running=!0,this._querySelf())}async stop(){this.running=!1,this.timeoutId!=null&&clearTimeout(this.timeoutId),this.controller!=null&&this.controller.abort()}_querySelf(){Promise.resolve().then(async()=>{let t=new Nu.TimeoutController(this.queryTimeout);try{this.controller=new AbortController;let r=(0,Lu.anySignal)([this.controller.signal,t.signal]);try{Z2.setMaxListeners!=null&&(0,Z2.setMaxListeners)(1/0,r)}catch{}let n=await Ce(this.peerRouting.getClosestPeers(this.components.peerId.toBytes(),{signal:r}),i=>Y2(i,this.count),async i=>await Y0(i));this.log("query ran successfully - found %d peers",n)}catch(r){this.log("query error",r)}finally{this.timeoutId=setTimeout(this._querySelf.bind(this),this.interval),t.clear()}}).catch(t=>{this.log("query error",t)})}};var no=Symbol.for("@libp2p/peer-discovery");var Id=32,Cd=64,l1=class extends he{constructor(t,r){super();let{kBucketSize:n,clientMode:i,validators:o,selectors:s,querySelfInterval:a,lan:u,protocolPrefix:c,pingTimeout:f,pingConcurrency:l,maxInboundStreams:d,maxOutboundStreams:p,providers:h}=r;this.running=!1,this.components=t,this.lan=Boolean(u),this.log=z(`libp2p:kad-dht:${u===!0?"lan":"wan"}`),this.protocol=`${c??w4}${u===!0?v4:""}${b4}`,this.kBucketSize=n??20,this.clientMode=i??!0,this.maxInboundStreams=d??Id,this.maxOutboundStreams=p??Cd,this.routingTable=new $1(t,{kBucketSize:n,lan:this.lan,pingTimeout:f,pingConcurrency:l,protocol:this.protocol}),this.providers=new zi(t,h??{}),this.validators={...lu,...o},this.selectors={...pu,...s},this.network=new ki(t,{protocol:this.protocol,lan:this.lan}),this.queryManager=new Gi(t,{disjointPaths:Math.ceil(this.kBucketSize/2),lan:u}),this.peerRouting=new qi(t,{routingTable:this.routingTable,network:this.network,validators:this.validators,queryManager:this.queryManager,lan:this.lan}),this.contentFetching=new Oi(t,{validators:this.validators,selectors:this.selectors,peerRouting:this.peerRouting,queryManager:this.queryManager,routingTable:this.routingTable,network:this.network,lan:this.lan}),this.contentRouting=new Mi(t,{network:this.network,peerRouting:this.peerRouting,queryManager:this.queryManager,routingTable:this.routingTable,providers:this.providers,lan:this.lan}),this.routingTableRefresh=new Bi({peerRouting:this.peerRouting,routingTable:this.routingTable,lan:this.lan}),this.rpc=new to(t,{routingTable:this.routingTable,providers:this.providers,peerRouting:this.peerRouting,validators:this.validators,lan:this.lan}),this.topologyListener=new eo(t,{protocol:this.protocol,lan:this.lan}),this.querySelf=new ro(t,{peerRouting:this.peerRouting,interval:a,lan:this.lan}),this.network.addEventListener("peer",y=>{let g=y.detail;this.onPeerConnect(g).catch(m=>{this.log.error("could not add %p to routing table",g.id,m)}),this.dispatchEvent(new pe("peer",{detail:g}))}),this.topologyListener.addEventListener("peer",y=>{let g=y.detail;Promise.resolve().then(async()=>{let m=await this.components.peerStore.addressBook.get(g),v={id:g,multiaddrs:m.map(b=>b.multiaddr),protocols:[]};await this.onPeerConnect(v)}).catch(m=>{this.log.error("could not add %p to routing table",g,m)})})}get[no](){return!0}get[Symbol.toStringTag](){return"@libp2p/kad-dht"}async onPeerConnect(t){if(this.log("peer %p connected with protocols %s",t.id,t.protocols),this.lan?t=Pn(t):t=Rn(t),t.multiaddrs.length===0){this.log("ignoring %p as they do not have any %s addresses in %s",t.id,this.lan?"private":"public",t.multiaddrs.map(r=>r.toString()));return}try{await this.routingTable.add(t.id)}catch(r){this.log.error("could not add %p to routing table",t.id,r)}}isStarted(){return this.running}async getMode(){return this.clientMode?"client":"server"}async setMode(t){await this.components.registrar.unhandle(this.protocol),t==="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,await Promise.all([this.providers.stop(),this.queryManager.stop(),this.network.stop(),this.routingTable.stop(),this.routingTableRefresh.stop(),this.topologyListener.stop(),this.querySelf.stop()])}async*put(t,r,n={}){yield*this.contentFetching.put(t,r,n)}async*get(t,r={}){yield*this.contentFetching.get(t,r)}async*provide(t,r={}){yield*this.contentRouting.provide(t,this.components.addressManager.getAddresses(),r)}async*findProviders(t,r={}){yield*this.contentRouting.findProviders(t,r)}async*findPeer(t,r={}){yield*this.peerRouting.findPeer(t,r)}async*getClosestPeers(t,r={}){yield*this.peerRouting.getClosestPeers(t,r)}async refreshRoutingTable(){await this.routingTableRefresh.refreshTable(!0)}};var c0=R(ot(),1);var _d=z("libp2p:kad-dht"),io=class extends he{constructor(t,r,n){super(),this.components=t,this.wan=r,this.lan=n,this.wan.addEventListener("peer",i=>{this.dispatchEvent(new pe("peer",{detail:i.detail}))}),this.lan.addEventListener("peer",i=>{this.dispatchEvent(new pe("peer",{detail:i.detail}))})}get[no](){return!0}get[Symbol.toStringTag](){return"@libp2p/dual-kad-dht"}isStarted(){return this.wan.isStarted()&&this.lan.isStarted()}async getMode(){return await this.wan.getMode()}async setMode(t){await this.wan.setMode(t)}async start(){await Promise.all([this.lan.start(),this.wan.start()])}async stop(){await Promise.all([this.lan.stop(),this.wan.stop()])}async*put(t,r,n={}){for await(let i of le(this.lan.put(t,r,n),this.wan.put(t,r,n)))yield i}async*get(t,r={}){let n=!1,i=!1;for await(let o of le(this.lan.get(t,r),this.wan.get(t,r)))yield o,o.name==="DIALING_PEER"&&(n=!0),o.name==="VALUE"&&(n=!0,o.value!=null&&(i=!0)),o.name==="SENDING_QUERY"&&(n=!0);if(!n)throw(0,c0.default)(new Error("No peers found in routing table!"),"ERR_NO_PEERS_IN_ROUTING_TABLE");i||(yield Gt({from:this.components.peerId,error:(0,c0.default)(new Error("Not found"),"ERR_NOT_FOUND")}))}async*provide(t,r={}){let n=0,i=0,o=[],s=[this.lan];await this.wan.getMode()==="server"&&s.push(this.wan);for await(let a of le(...s.map(u=>u.provide(t,r))))yield a,a.name==="SENDING_QUERY"&&n++,a.name==="QUERY_ERROR"&&o.push(a.error),a.name==="PEER_RESPONSE"&&a.messageName==="ADD_PROVIDER"&&(_d("sent provider record for %s to %p",t,a.from),i++);if(i===0)throw o.length>0?(0,c0.default)(new Error(`Failed to provide to ${o.length} of ${n} peers`),"ERR_PROVIDES_FAILED",{errors:o}):(0,c0.default)(new Error("Failed to provide - no peers found"),"ERR_PROVIDES_FAILED")}async*findProviders(t,r={}){yield*le(this.lan.findProviders(t,r),this.wan.findProviders(t,r))}async*findPeer(t,r={}){let n=!1;for await(let i of le(this.lan.findPeer(t,r),this.wan.findPeer(t,r)))yield i,(i.name==="SENDING_QUERY"||i.name==="FINAL_PEER")&&(n=!0);if(!n)throw(0,c0.default)(new Error("Peer lookup failed"),"ERR_LOOKUP_FAILED")}async*getClosestPeers(t,r={}){yield*le(this.lan.getClosestPeers(t,r),this.wan.getClosestPeers(t,r))}async refreshRoutingTable(){await Promise.all([this.lan.refreshRoutingTable(),this.wan.refreshRoutingTable()])}};var X2=class extends io{constructor(t,r){super(t,new l1(t,{protocolPrefix:"/ipfs",...r,lan:!1}),new l1(t,{protocolPrefix:"/ipfs",...r,clientMode:!1,lan:!0}))}};function Td(e){return t=>new X2(t,e)}return Mu(Rd);})();
|
|
27
|
+
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),Uf=new RegExp(`(?:^${ve}$)|(?:^${Ti}$)`),Of=new RegExp(`^${ve}$`),Mf=new RegExp(`^${Ti}$`),as=e=>e&&e.exact?Uf:new RegExp(`(?:${Er(e)}${ve}${Er(e)})|(?:${Er(e)}${Ti}${Er(e)})`,"g");as.v4=e=>e&&e.exact?Of:new RegExp(`${Er(e)}${ve}${Er(e)}`,"g");as.v6=e=>e&&e.exact?Mf:new RegExp(`${Er(e)}${Ti}${Er(e)}`,"g");var W3=as;var Ri=class{index=0;input="";new(t){return this.index=0,this.input=t,this}readAtomically(t){let r=this.index,n=t();return n===void 0&&(this.index=r),n}parseWith(t){let r=t();if(this.index===this.input.length)return r}peekChar(){if(!(this.index>=this.input.length))return this.input[this.index]}readChar(){if(!(this.index>=this.input.length))return this.input[this.index++]}readGivenChar(t){return this.readAtomically(()=>{let r=this.readChar();if(r===t)return r})}readSeparator(t,r,n){return this.readAtomically(()=>{if(!(r>0&&this.readGivenChar(t)===void 0))return n()})}readNumber(t,r,n,i){return this.readAtomically(()=>{let 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 d=Number.parseInt(l,t);if(!Number.isNaN(d))return d});if(f===void 0)break;if(o*=t,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 t=new Uint8Array(4);for(let r=0;r<t.length;r++){let n=this.readSeparator(".",r,()=>this.readNumber(10,3,!1,1));if(n===void 0)return;t[r]=n}return t})}readIPv6Addr(){let t=r=>{for(let n=0;n<r.length/2;n++){let i=n*2;if(n<r.length-3){let 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]=t(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]=t(o.subarray(0,s));return r.set(o.subarray(0,a),16-a),r})}readIPAddr(){return this.readIPv4Addr()??this.readIPv6Addr()}};var Y3=45,Kf=15,Cn=new Ri;function Z3(e){if(!(e.length>Kf))return Cn.new(e).parseWith(()=>Cn.readIPv4Addr())}function X3(e){if(!(e.length>Y3))return Cn.new(e).parseWith(()=>Cn.readIPv6Addr())}function j3(e){if(!(e.length>Y3))return Cn.new(e).parseWith(()=>Cn.readIPAddr())}function J3(e){return!!Z3(e)}function t4(e){return!!X3(e)}function _n(e){return!!j3(e)}var o4=K(r4(),1),{isValid:Vf,parse:qf}=o4.default,zf=["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"],$f=zf.map(e=>new i4.Netmask(e));function Hf(e){for(let t of $f)if(t.contains(e))return!0;return!1}function n4(e){return/^::$/.test(e)||/^::1$/.test(e)||/^::f{4}:([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^::f{4}:0.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^64:ff9b::([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})\.([0-9]{1,3})$/.test(e)||/^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(e)||/^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(e)||/^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(e)||/^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(e)||/^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(e)||/^f[c-d]([0-9a-fA-F]{2,2}):/i.test(e)||/^fe[8-9a-bA-B][0-9a-fA-F]:/i.test(e)||/^ff([0-9a-fA-F]{2,2}):/i.test(e)}var s4=e=>{if(Vf(e)){let t=qf(e);if(t.kind()==="ipv4")return Hf(t.toNormalizedString());if(t.kind()==="ipv6")return n4(e)}else if(_n(e)&&W3.v6().test(e))return n4(e)};var cs=s4;function ot(e,t){if(e===t)return!0;if(e.byteLength!==t.byteLength)return!1;for(let r=0;r<e.byteLength;r++)if(e[r]!==t[r])return!1;return!0}var R=class extends Error{constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var a4=Symbol.for("@libp2p/peer-id");var Gf=Symbol.for("nodejs.util.inspect.custom"),c4=Object.values(vr).map(e=>e.decoder).reduce((e,t)=>e.or(t),vr.identity.decoder),u4=114,us=36,fs=37,m0=class{constructor(t){this.type=t.type,this.multihash=t.multihash,this.privateKey=t.privateKey,Object.defineProperty(this,"string",{enumerable:!1,writable:!0})}get[Symbol.toStringTag](){return`PeerId(${this.toString()})`}get[a4](){return!0}toString(){return this.string==null&&(this.string=St.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return tt.createV1(u4,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return ot(this.multihash.bytes,t);if(typeof t=="string")return bt(t).equals(this);if(t?.multihash?.bytes!=null)return ot(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Gf](){return`PeerId(${this.toString()})`}},Tn=class extends m0{constructor(t){super({...t,type:"RSA"}),this.type="RSA",this.publicKey=t.publicKey}},Rn=class extends m0{constructor(t){super({...t,type:"Ed25519"}),this.type="Ed25519",this.publicKey=t.multihash.digest}},Pn=class extends m0{constructor(t){super({...t,type:"secp256k1"}),this.type="secp256k1",this.publicKey=t.multihash.digest}};function bt(e,t){if(t=t??c4,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=Vr(St.decode(`z${e}`));return e.startsWith("12D")?new Rn({multihash:r}):e.startsWith("16U")?new Pn({multihash:r}):new Tn({multihash:r})}return Qr(c4.decode(e))}function Qr(e){try{let t=Vr(e);if(t.code===xr.code){if(t.digest.length===us)return new Rn({multihash:t});if(t.digest.length===fs)return new Pn({multihash:t})}if(t.code===mt.code)return new Tn({multihash:t})}catch{return Qf(tt.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function Qf(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==u4)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===mt.code)return new Tn({multihash:e.multihash});if(t.code===xr.code){if(t.digest.length===us)return new Rn({multihash:e.multihash});if(t.digest.length===fs)return new Pn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function f4(e,t){return e.length===us?new Rn({multihash:Le(xr.code,e),privateKey:t}):e.length===fs?new Pn({multihash:Le(xr.code,e),privateKey:t}):new Tn({multihash:await mt.digest(e),publicKey:e,privateKey:t})}var l4="/lan",h4="/ipfs",p4="/kad/1.0.0",d4="/dht/record",ls="/dht/provider";var Wf=xt("/pk/");function Ln(e){return{...e,multiaddrs:e.multiaddrs.filter(t=>{let[[r,n]]=t.stringTuples();if(r===53||r===54||r===55)return n!=="localhost";if(r!==4&&r!==6||n==null)return!1;let i=cs(n);return i==null?!0:!i})}}function Nn(e){return{...e,multiaddrs:e.multiaddrs.filter(t=>{let[[r,n]]=t.stringTuples();if(n==="localhost")return!0;if(r!==4&&r!==6||n==null)return!1;let i=cs(n);return i??!1})}}async function Oe(e){return(await mt.digest(e)).digest}async function jt(e){return await Oe(e.toBytes())}function rr(e){return new Dt(`${d4}/${M(e,"base32")}`,!1)}function y4(e){return at([Wf,e.toBytes()])}function g4(e){return M(e.subarray(0,4))==="/pk/"}function m4(e){return Qr(e.subarray(4))}function hs(e,t){let r=new Date;return new Pt(e,t,r).serialize()}function x4(e,t=100){let r;return()=>{clearTimeout(r),r=setTimeout(()=>{e()},t)}}var T4=K(w4(),1);var v0=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},ys=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},b4=e=>globalThis.DOMException===void 0?new ys(e):new DOMException(e),E4=e=>{let t=e.reason===void 0?b4("This operation was aborted."):e.reason;return t instanceof Error?t:b4(t)};function gs(e,t,r,n){let i,o=new Promise((s,a)=>{if(typeof t!="number"||Math.sign(t)!==1)throw new TypeError(`Expected \`milliseconds\` to be a positive number, got \`${t}\``);if(t===Number.POSITIVE_INFINITY){s(e);return}if(n={customTimers:{setTimeout,clearTimeout},...n},n.signal){let{signal:c}=n;c.aborted&&a(E4(c)),c.addEventListener("abort",()=>{a(E4(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 ${t} milliseconds`,u=r instanceof Error?r:new v0(c);typeof e.cancel=="function"&&e.cancel(),a(u)},t),(async()=>{try{s(await e)}catch(c){a(c)}finally{n.customTimers.clearTimeout.call(void 0,i)}})()});return o.clear=()=>{clearTimeout(i),i=void 0},o}function ms(e,t,r){let n=0,i=e.length;for(;i>0;){let o=Math.trunc(i/2),s=n+o;r(e[s],t)<=0?(n=++s,i-=o+1):i=o}return n}var Wr=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},nr,w0=class{constructor(){nr.set(this,[])}enqueue(t,r){r={priority:0,...r};let n={priority:r.priority,run:t};if(this.size&&Wr(this,nr,"f")[this.size-1].priority>=r.priority){Wr(this,nr,"f").push(n);return}let i=ms(Wr(this,nr,"f"),n,(o,s)=>s.priority-o.priority);Wr(this,nr,"f").splice(i,0,n)}dequeue(){let t=Wr(this,nr,"f").shift();return t?.run}filter(t){return Wr(this,nr,"f").filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return Wr(this,nr,"f").length}};nr=new WeakMap;var vt=function(e,t,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},k=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},Bt,E0,S0,Ar,Oi,A0,Ni,we,b0,Jt,ki,te,B0,Sr,Di,S4,A4,C4,B4,I4,Fi,xs,vs,Mi,_4,Ui,Ki=class extends Error{},ir=class extends T4.default{constructor(t){var r,n,i,o;if(super(),Bt.add(this),E0.set(this,void 0),S0.set(this,void 0),Ar.set(this,0),Oi.set(this,void 0),A0.set(this,void 0),Ni.set(this,0),we.set(this,void 0),b0.set(this,void 0),Jt.set(this,void 0),ki.set(this,void 0),te.set(this,0),B0.set(this,void 0),Sr.set(this,void 0),Di.set(this,void 0),Object.defineProperty(this,"timeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),t={carryoverConcurrencyCount:!1,intervalCap:Number.POSITIVE_INFINITY,interval:0,concurrency:Number.POSITIVE_INFINITY,autoStart:!0,queueClass:w0,...t},!(typeof t.intervalCap=="number"&&t.intervalCap>=1))throw new TypeError(`Expected \`intervalCap\` to be a number from 1 and up, got \`${(n=(r=t.intervalCap)===null||r===void 0?void 0:r.toString())!==null&&n!==void 0?n:""}\` (${typeof t.intervalCap})`);if(t.interval===void 0||!(Number.isFinite(t.interval)&&t.interval>=0))throw new TypeError(`Expected \`interval\` to be a finite number >= 0, got \`${(o=(i=t.interval)===null||i===void 0?void 0:i.toString())!==null&&o!==void 0?o:""}\` (${typeof t.interval})`);vt(this,E0,t.carryoverConcurrencyCount,"f"),vt(this,S0,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),vt(this,Oi,t.intervalCap,"f"),vt(this,A0,t.interval,"f"),vt(this,Jt,new t.queueClass,"f"),vt(this,ki,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,vt(this,Di,t.throwOnTimeout===!0,"f"),vt(this,Sr,t.autoStart===!1,"f")}get concurrency(){return k(this,B0,"f")}set concurrency(t){if(!(typeof t=="number"&&t>=1))throw new TypeError(`Expected \`concurrency\` to be a number from 1 and up, got \`${t}\` (${typeof t})`);vt(this,B0,t,"f"),k(this,Bt,"m",Mi).call(this)}async add(t,r={}){return r={timeout:this.timeout,throwOnTimeout:k(this,Di,"f"),...r},new Promise((n,i)=>{k(this,Jt,"f").enqueue(async()=>{var o,s,a;vt(this,te,(s=k(this,te,"f"),s++,s),"f"),vt(this,Ar,(a=k(this,Ar,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new Ki("The task was aborted.");let c=t({signal:r.signal});r.timeout&&(c=gs(Promise.resolve(c),r.timeout)),r.signal&&(c=Promise.race([c,k(this,Bt,"m",_4).call(this,r.signal)]));let u=await c;n(u),this.emit("completed",u)}catch(c){if(c instanceof v0&&!r.throwOnTimeout){n();return}i(c),this.emit("error",c)}finally{k(this,Bt,"m",C4).call(this)}},r),this.emit("add"),k(this,Bt,"m",Fi).call(this)})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return k(this,Sr,"f")?(vt(this,Sr,!1,"f"),k(this,Bt,"m",Mi).call(this),this):this}pause(){vt(this,Sr,!0,"f")}clear(){vt(this,Jt,new(k(this,ki,"f")),"f")}async onEmpty(){k(this,Jt,"f").size!==0&&await k(this,Bt,"m",Ui).call(this,"empty")}async onSizeLessThan(t){k(this,Jt,"f").size<t||await k(this,Bt,"m",Ui).call(this,"next",()=>k(this,Jt,"f").size<t)}async onIdle(){k(this,te,"f")===0&&k(this,Jt,"f").size===0||await k(this,Bt,"m",Ui).call(this,"idle")}get size(){return k(this,Jt,"f").size}sizeBy(t){return k(this,Jt,"f").filter(t).length}get pending(){return k(this,te,"f")}get isPaused(){return k(this,Sr,"f")}};E0=new WeakMap,S0=new WeakMap,Ar=new WeakMap,Oi=new WeakMap,A0=new WeakMap,Ni=new WeakMap,we=new WeakMap,b0=new WeakMap,Jt=new WeakMap,ki=new WeakMap,te=new WeakMap,B0=new WeakMap,Sr=new WeakMap,Di=new WeakMap,Bt=new WeakSet,S4=function(){return k(this,S0,"f")||k(this,Ar,"f")<k(this,Oi,"f")},A4=function(){return k(this,te,"f")<k(this,B0,"f")},C4=function(){var t;vt(this,te,(t=k(this,te,"f"),t--,t),"f"),k(this,Bt,"m",Fi).call(this),this.emit("next")},B4=function(){k(this,Bt,"m",vs).call(this),k(this,Bt,"m",xs).call(this),vt(this,b0,void 0,"f")},I4=function(){let t=Date.now();if(k(this,we,"f")===void 0){let r=k(this,Ni,"f")-t;if(r<0)vt(this,Ar,k(this,E0,"f")?k(this,te,"f"):0,"f");else return k(this,b0,"f")===void 0&&vt(this,b0,setTimeout(()=>{k(this,Bt,"m",B4).call(this)},r),"f"),!0}return!1},Fi=function(){if(k(this,Jt,"f").size===0)return k(this,we,"f")&&clearInterval(k(this,we,"f")),vt(this,we,void 0,"f"),this.emit("empty"),k(this,te,"f")===0&&this.emit("idle"),!1;if(!k(this,Sr,"f")){let t=!k(this,Bt,"a",I4);if(k(this,Bt,"a",S4)&&k(this,Bt,"a",A4)){let r=k(this,Jt,"f").dequeue();return r?(this.emit("active"),r(),t&&k(this,Bt,"m",xs).call(this),!0):!1}}return!1},xs=function(){k(this,S0,"f")||k(this,we,"f")!==void 0||(vt(this,we,setInterval(()=>{k(this,Bt,"m",vs).call(this)},k(this,A0,"f")),"f"),vt(this,Ni,Date.now()+k(this,A0,"f"),"f"))},vs=function(){k(this,Ar,"f")===0&&k(this,te,"f")===0&&k(this,we,"f")&&(clearInterval(k(this,we,"f")),vt(this,we,void 0,"f")),vt(this,Ar,k(this,E0,"f")?k(this,te,"f"):0,"f"),k(this,Bt,"m",Mi).call(this)},Mi=function(){for(;k(this,Bt,"m",Fi).call(this););},_4=async function(t){return new Promise((r,n)=>{t.addEventListener("abort",()=>{n(new Ki("The task was aborted."))},{once:!0})})},Ui=async function(t,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(t,i),n())};this.on(t,i)})};var z4=K(kn(),1);var Me=K(K4(),1);Me.default.formatters.b=e=>e==null?"undefined":St.baseEncode(e);Me.default.formatters.t=e=>e==null?"undefined":ye.baseEncode(e);Me.default.formatters.m=e=>e==null?"undefined":zr.baseEncode(e);Me.default.formatters.p=e=>e==null?"undefined":e.toString();Me.default.formatters.c=e=>e==null?"undefined":e.toString();Me.default.formatters.k=e=>e==null?"undefined":e.toString();function $(e){return Object.assign((0,Me.default)(e),{error:(0,Me.default)(`${e}:error`),trace:(0,Me.default)(`${e}:trace`)})}function or(e,t){let r={[Symbol.iterator]:()=>r,next:()=>{let n=e.next(),i=n.value;return n.done===!0||i==null?{done:!0,value:void 0}:{done:!1,value:t(i)}}};return r}var bs=class{constructor(t){if(this.map=new Map,t!=null)for(let[r,n]of t.entries())this.map.set(r.toString(),n)}[Symbol.iterator](){return this.entries()}clear(){this.map.clear()}delete(t){this.map.delete(t.toString())}entries(){return or(this.map.entries(),t=>[bt(t[0]),t[1]])}forEach(t){this.map.forEach((r,n)=>{t(r,bt(n),this)})}get(t){return this.map.get(t.toString())}has(t){return this.map.has(t.toString())}set(t,r){this.map.set(t.toString(),r)}keys(){return or(this.map.keys(),t=>bt(t))}values(){return this.map.values()}get size(){return this.map.size}};var ce=class{constructor(t){if(this.set=new Set,t!=null)for(let r of t)this.set.add(r.toString())}get size(){return this.set.size}[Symbol.iterator](){return this.values()}add(t){this.set.add(t.toString())}clear(){this.set.clear()}delete(t){this.set.delete(t.toString())}entries(){return or(this.set.entries(),t=>{let r=bt(t[0]);return[r,r]})}forEach(t){this.set.forEach(r=>{let n=bt(r);t(n,n,this)})}has(t){return this.set.has(t.toString())}values(){return or(this.set.values(),t=>bt(t))}intersection(t){let r=new ce;for(let n of t)this.has(n)&&r.add(n);return r}difference(t){let r=new ce;for(let n of this)t.has(n)||r.add(n);return r}union(t){let r=new ce;for(let n of t)r.add(n);for(let n of this)r.add(n);return r}};var On=class{constructor(t){if(this.list=[],t!=null)for(let r of t)this.list.push(r.toString())}[Symbol.iterator](){return or(this.list.entries(),t=>bt(t[1]))}concat(t){let r=new On(this);for(let n of t)r.push(n);return r}entries(){return or(this.list.entries(),t=>[t[0],bt(t[1])])}every(t){return this.list.every((r,n)=>t(bt(r),n,this))}filter(t){let r=new On;return this.list.forEach((n,i)=>{let o=bt(n);t(o,i,this)&&r.push(o)}),r}find(t){let r=this.list.find((n,i)=>t(bt(n),i,this));if(r!=null)return bt(r)}findIndex(t){return this.list.findIndex((r,n)=>t(bt(r),n,this))}forEach(t){this.list.forEach((r,n)=>{t(bt(r),n,this)})}includes(t){return this.list.includes(t.toString())}indexOf(t){return this.list.indexOf(t.toString())}pop(){let t=this.list.pop();if(t!=null)return bt(t)}push(...t){for(let r of t)this.list.push(r.toString())}shift(){let t=this.list.shift();if(t!=null)return bt(t)}unshift(...t){let r=this.list.length;for(let n=t.length-1;n>-1;n--)r=this.list.unshift(t[n].toString());return r}get length(){return this.list.length}};var l7="kad-close",h7=50,V4=20,p7=1e4,d7=10,$i=class{constructor(t,r){let{kBucketSize:n,pingTimeout:i,lan:o,pingConcurrency:s,protocol:a,tagName:c,tagValue:u}=r;this.components=t,this.log=$(`libp2p:kad-dht:${o?"lan":"wan"}:routing-table`),this.kBucketSize=n??V4,this.pingTimeout=i??p7,this.pingConcurrency=s??d7,this.lan=o,this.running=!1,this.protocol=a,this.tagName=c??l7,this.tagValue=u??h7;let f=()=>{this.metrics?.pingQueueSize.update(this.pingQueue.size),this.metrics?.pingRunning.update(this.pingQueue.pending)};this.pingQueue=new ir({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 t=new q4.default({localNodeId:await jt(this.components.peerId),numberOfNodesPerKBucket:this.kBucketSize,numberOfNodesToPing:1});this.kb=t,t.on("ping",this._onPing),this._tagPeers(t)}async stop(){this.running=!1,this.pingQueue.clear(),this.kb=void 0}_tagPeers(t){let r=new ce,n=x4(()=>{let i=new ce(t.closest(t.localNodeId,V4).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.tagPeer(a,this.tagName,{value:this.tagValue});for(let a of s)await this.components.peerStore.unTagPeer(a,this.tagName)}).catch(a=>{this.log.error("Could not update peer tags",a)}),r=i});t.on("added",()=>{n()}),t.on("removed",()=>{n()})}_onPing(t,r){this.pingQueue.add(async()=>{if(!this.running)return;let n=0;try{await Promise.all(t.map(async i=>{let o;try{o=new z4.TimeoutController(this.pingTimeout);let s={signal:o.signal};this.log("pinging old contact %p",i.peer),(await(await this.components.connectionManager.openConnection(i.peer,s)).newStream(this.protocol,s)).close(),n++}catch(s){this.running&&this.kb!=null&&(this.log.error("could not ping peer %p",i.peer,s),this.log("evicting old contact after ping failed %p",i),this.kb.remove(i.id))}finally{o?.clear(),this.metrics?.routingTableSize.update(this.size)}})),this.running&&n<t.length&&this.kb!=null&&(this.log("adding new contact %p",r.peer),this.kb.add(r))}catch(i){this.log.error("could not process k-bucket ping event",i)}}).catch(n=>{this.log.error("could not process k-bucket ping event",n)})}get size(){return this.kb==null?0:this.kb.count()}async find(t){let r=await jt(t),n=this.closestPeer(r);if(n!=null&&t.equals(n))return n}closestPeer(t){let r=this.closestPeers(t,1);if(r.length>0)return r[0]}closestPeers(t,r=this.kBucketSize){return this.kb==null?[]:this.kb.closest(t,r).map(i=>i.peer)}async add(t){if(this.kb==null)throw new Error("RoutingTable is not started");let r=await jt(t);this.kb.add({id:r,peer:t}),this.log("added %p with kad id %b",t,r),this.metrics?.routingTableSize.update(this.size)}async remove(t){if(this.kb==null)throw new Error("RoutingTable is not started");let r=await jt(t);this.kb.remove(r),this.metrics?.routingTableSize.update(this.size)}};function sr(e,t){if(e.length!==t.length)throw new Error("Inputs should have the same length");let r=ge(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return Je(r)}var $4=[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 It={get(e=globalThis){let t=e.crypto;if(t==null||t.subtle==null)throw Object.assign(new Error("Missing Web Crypto API. The most likely cause of this error is that this page is being accessed from an insecure context (i.e. not HTTPS). For more information and possible resolutions see https://github.com/libp2p/js-libp2p-crypto/blob/master/README.md#web-crypto-api"),{code:"ERR_MISSING_WEB_CRYPTO"});return t}};var H4={SHA1:20,SHA256:32,SHA512:64};var y7={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},g7=async(e,t)=>{let r=await It.get().subtle.sign({name:"HMAC"},e,t);return new Uint8Array(r,0,r.byteLength)};async function G4(e,t){let r=y7[e],n=await It.get().subtle.importKey("raw",t,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(i){return await g7(n,i)},length:H4[e]}}var Lm=K(Yi(),1),A7=K(nt(),1);var A1={};Nt(A1,{generateEphemeralKeyPair:()=>g6,generateKeyPair:()=>$h,generateKeyPairFromSeed:()=>Hh,importKey:()=>Yh,keyStretcher:()=>f6,keysPBM:()=>Vn,marshalPrivateKey:()=>Wh,marshalPublicKey:()=>Qh,supportedKeys:()=>We,unmarshalPrivateKey:()=>d8,unmarshalPublicKey:()=>Gh});var Vn={};Nt(Vn,{KeyType:()=>ct,PrivateKey:()=>Se,PublicKey:()=>Ee});var ct;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(ct||(ct={}));var Ns;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(Ns||(Ns={}));(function(e){e.codec=()=>In(Ns)})(ct||(ct={}));var Ee;(function(e){let t;e.codec=()=>(t==null&&(t=Ue((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),ct.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=ct.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Fe(r,e.codec()),e.decode=r=>De(r,e.codec())})(Ee||(Ee={}));var Se;(function(e){let t;e.codec=()=>(t==null&&(t=Ue((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.Type!=null&&(n.uint32(8),ct.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=ct.codec().decode(r);break;case 2:i.Data=r.bytes();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Fe(r,e.codec()),e.decode=r=>De(r,e.codec())})(Se||(Se={}));var xv=K(R0(),1),vv=K(c6(),1),S1=K(nt(),1);var u6={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function f6(e,t,r){let n=u6[e];if(n==null){let v=Object.keys(u6).join(" / ");throw new R(`unknown cipher type '${e}'. Must be ${v}`,"ERR_INVALID_CIPHER_TYPE")}if(t==null)throw new R("missing hash type","ERR_MISSING_HASH_TYPE");let i=n.keySize,o=n.ivSize,s=20,a=xt("key expansion"),c=2*(o+i+s),u=await G4(t,r),f=await u.digest(a),l=[],d=0;for(;d<c;){let v=await u.digest(at([f,a])),b=v.length;d+b>c&&(b=c-d),l.push(v),d+=b,f=await u.digest(f)}let p=c/2,h=at(l),y=h.subarray(0,p),g=h.subarray(p,c),m=v=>({iv:v.subarray(0,o),cipherKey:v.subarray(o,o+i),macKey:v.subarray(o+i)});return{k1:m(y),k2:m(g)}}var lx=K(Ct(),1),hx=K(o1(),1),l6=K(nt(),1);function Be(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=at([new Uint8Array(t-r.length),r])}return M(r,"base64url")}function re(e){let t=u1(e);return new l6.default.jsbn.BigInteger(M(t,"base16"),16)}function u1(e,t){let r=xt(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=at([new Uint8Array(t-r.length),r])}return r}var h6={"P-256":256,"P-384":384,"P-521":521},$9=Object.keys(h6),Hs=$9.join(" / ");async function p6(e){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw new R(`Unknown curve: ${e}. Must be ${Hs}`,"ERR_INVALID_CURVE");let t=await It.get().subtle.generateKey({name:"ECDH",namedCurve:e},!0,["deriveBits"]),r=async(o,s)=>{let a;s!=null?a=await It.get().subtle.importKey("jwk",G9(e,s),{name:"ECDH",namedCurve:e},!1,["deriveBits"]):a=t.privateKey;let c=await It.get().subtle.importKey("jwk",y6(e,o),{name:"ECDH",namedCurve:e},!1,[]),u=await It.get().subtle.deriveBits({name:"ECDH",namedCurve:e,public:c},a,h6[e]);return new Uint8Array(u,0,u.byteLength)},n=await It.get().subtle.exportKey("jwk",t.publicKey);return{key:H9(n),genSharedKey:r}}var d6={"P-256":32,"P-384":48,"P-521":66};function H9(e){if(e.crv==null||e.x==null||e.y==null)throw new R("JWK was missing components","ERR_INVALID_PARAMETERS");if(e.crv!=="P-256"&&e.crv!=="P-384"&&e.crv!=="P-521")throw new R(`Unknown curve: ${e.crv}. Must be ${Hs}`,"ERR_INVALID_CURVE");let t=d6[e.crv];return at([Uint8Array.from([4]),u1(e.x,t),u1(e.y,t)],1+t*2)}function y6(e,t){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw new R(`Unknown curve: ${e}. Must be ${Hs}`,"ERR_INVALID_CURVE");let r=d6[e];if(!ot(t.subarray(0,1),Uint8Array.from([4])))throw new R("Cannot unmarshal public key - invalid key format","ERR_INVALID_KEY_FORMAT");return{kty:"EC",crv:e,x:M(t.subarray(1,r+1),"base64url"),y:M(t.subarray(1+r),"base64url"),ext:!0}}var G9=(e,t)=>({...y6(e,t.public),d:M(t.private,"base64url")});var g6=p6;function f1(e){let t=e?.algorithm??"AES-GCM",r=e?.keyLength??16,n=e?.nonceLength??12,i=e?.digest??"SHA-256",o=e?.saltLength??16,s=e?.iterations??32767,a=It.get();r*=8;async function c(l,d){let p=a.getRandomValues(new Uint8Array(o)),h=a.getRandomValues(new Uint8Array(n)),y={name:t,iv:h};typeof d=="string"&&(d=xt(d));let g={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},m=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),v=await a.subtle.deriveKey(g,m,{name:t,length:r},!0,["encrypt"]),b=await a.subtle.encrypt(y,v,l);return at([p,y.iv,new Uint8Array(b)])}async function u(l,d){let p=l.subarray(0,o),h=l.subarray(o,o+n),y=l.subarray(o+n),g={name:t,iv:h};typeof d=="string"&&(d=xt(d));let m={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},v=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey","deriveBits"]),b=await a.subtle.deriveKey(m,v,{name:t,length:r},!0,["decrypt"]),N=await a.subtle.decrypt(g,b,y);return new Uint8Array(N)}return{encrypt:c,decrypt:u}}async function x6(e,t){let r=zr.decode(e);return await f1().decrypt(r,t)}var r2={};Nt(r2,{RsaPrivateKey:()=>jn,RsaPublicKey:()=>M0,fromJwk:()=>mh,generateKeyPair:()=>xh,unmarshalRsaPrivateKey:()=>yh,unmarshalRsaPublicKey:()=>gh});var rv=K(S6(),1),O0=K(nt(),1);var W9=K(qn(),1);var Y=BigInt(0),lt=BigInt(1),Rr=BigInt(2),D0=BigInt(3),A6=BigInt(8),Et=Object.freeze({a:Y,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:lt,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),B6=(e,t)=>(e+t/Rr)/t,l1={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(e){let{n:t}=Et,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-lt*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=B6(o*e,t),c=B6(-n*e,t),u=L(e-a*r-c*i,t),f=L(-a*n-c*o,t),l=u>s,d=f>s;if(l&&(u=t-u),d&&(f=t-f),u>s||f>s)throw new Error("splitScalarEndo: Endomorphism failed, k="+e);return{k1neg:l,k1:u,k2neg:d,k2:f}}},Ie=32,Qn=32,Y9=32,I6=Ie+1,C6=2*Ie+1;function _6(e){let{a:t,b:r}=Et,n=L(e*e),i=L(n*e);return L(i+t*e+r)}var h1=Et.a===Y,y1=class extends Error{constructor(t){super(t)}};function T6(e){if(!(e instanceof J))throw new TypeError("JacobianPoint expected")}var J=class{constructor(t,r,n){this.x=t,this.y=r,this.z=n}static fromAffine(t){if(!(t instanceof et))throw new TypeError("JacobianPoint#fromAffine: expected Point");return t.equals(et.ZERO)?J.ZERO:new J(t.x,t.y,lt)}static toAffineBatch(t){let r=th(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(t){return J.toAffineBatch(t).map(J.fromAffine)}equals(t){T6(t);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t,c=L(i*i),u=L(a*a),f=L(r*u),l=L(o*c),d=L(L(n*a)*u),p=L(L(s*i)*c);return f===l&&d===p}negate(){return new J(this.x,L(-this.y),this.z)}double(){let{x:t,y:r,z:n}=this,i=L(t*t),o=L(r*r),s=L(o*o),a=t+o,c=L(Rr*(L(a*a)-i-s)),u=L(D0*i),f=L(u*u),l=L(f-Rr*c),d=L(u*(c-l)-A6*s),p=L(Rr*r*n);return new J(l,d,p)}add(t){T6(t);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t;if(o===Y||s===Y)return this;if(r===Y||n===Y)return t;let c=L(i*i),u=L(a*a),f=L(r*u),l=L(o*c),d=L(L(n*a)*u),p=L(L(s*i)*c),h=L(l-f),y=L(p-d);if(h===Y)return y===Y?this.double():J.ZERO;let g=L(h*h),m=L(h*g),v=L(f*g),b=L(y*y-m-Rr*v),N=L(y*(v-b)-d*m),_=L(i*a*h);return new J(b,N,_)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){let r=J.ZERO;if(typeof t=="bigint"&&t===Y)return r;let n=L6(t);if(n===lt)return this;if(!h1){let l=r,d=this;for(;n>Y;)n<&&(l=l.add(d)),d=d.double(),n>>=lt;return l}let{k1neg:i,k1:o,k2neg:s,k2:a}=l1.splitScalar(n),c=r,u=r,f=this;for(;o>Y||a>Y;)o<&&(c=c.add(f)),a<&&(u=u.add(f)),f=f.double(),o>>=lt,a>>=lt;return i&&(c=c.negate()),s&&(u=u.negate()),u=new J(L(u.x*l1.beta),u.y,u.z),c.add(u)}precomputeWindow(t){let r=h1?128/t+1:256/t+1,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(t-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(t,r){!r&&this.equals(J.BASE)&&(r=et.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&Ys.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=J.normalizeZ(i),Ys.set(r,i)));let o=J.ZERO,s=J.BASE,a=1+(h1?128/n:256/n),c=2**(n-1),u=BigInt(2**n-1),f=2**n,l=BigInt(n);for(let d=0;d<a;d++){let p=d*c,h=Number(t&u);t>>=l,h>c&&(h-=f,t+=lt);let y=p,g=p+Math.abs(h)-1,m=d%2!==0,v=h<0;h===0?s=s.add(p1(m,i[y])):o=o.add(p1(v,i[g]))}return{p:o,f:s}}multiply(t,r){let n=L6(t),i,o;if(h1){let{k1neg:s,k1:a,k2neg:c,k2:u}=l1.splitScalar(n),{p:f,f:l}=this.wNAF(a,r),{p:d,f:p}=this.wNAF(u,r);f=p1(s,f),d=p1(c,d),d=new J(L(d.x*l1.beta),d.y,d.z),i=f.add(d),o=l.add(p)}else{let{p:s,f:a}=this.wNAF(n,r);i=s,o=a}return J.normalizeZ([i,o])[0]}toAffine(t){let{x:r,y:n,z:i}=this,o=this.equals(J.ZERO);t==null&&(t=o?A6:Zn(i));let s=t,a=L(s*s),c=L(a*s),u=L(r*a),f=L(n*c),l=L(i*s);if(o)return et.ZERO;if(l!==lt)throw new Error("invZ was invalid");return new et(u,f)}};J.BASE=new J(Et.Gx,Et.Gy,lt);J.ZERO=new J(Y,lt,Y);function p1(e,t){let r=t.negate();return e?r:t}var Ys=new WeakMap,et=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,Ys.delete(this)}hasEvenY(){return this.y%Rr===Y}static fromCompressedHex(t){let r=t.length===32,n=Pr(r?t:t.subarray(1));if(!Ws(n))throw new Error("Point is not on curve");let i=_6(n),o=J9(i),s=(o<)===lt;r?s&&(o=L(-o)):(t[0]&1)===1!==s&&(o=L(-o));let a=new et(n,o);return a.assertValidity(),a}static fromUncompressedHex(t){let r=Pr(t.subarray(1,Ie+1)),n=Pr(t.subarray(Ie+1,Ie*2+1)),i=new et(r,n);return i.assertValidity(),i}static fromHex(t){let r=Yn(t),n=r.length,i=r[0];if(n===Ie)return this.fromCompressedHex(r);if(n===I6&&(i===2||i===3))return this.fromCompressedHex(r);if(n===C6&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${I6} compressed bytes or ${C6} uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return et.BASE.multiply(m1(t))}static fromSignature(t,r,n){let{r:i,s:o}=N6(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let s=js(Yn(t)),{n:a}=Et,c=n===2||n===3?i+a:i,u=Zn(c,a),f=L(-s*u,a),l=L(o*u,a),d=n&1?"03":"02",p=et.fromHex(d+Hn(c)),h=et.BASE.multiplyAndAddUnsafe(p,f,l);if(!h)throw new Error("Cannot recover signature: point at infinify");return h.assertValidity(),h}toRawBytes(t=!1){return rn(this.toHex(t))}toHex(t=!1){let r=Hn(this.x);return t?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${Hn(this.y)}`}toHexX(){return this.toHex(!0).slice(2)}toRawX(){return this.toRawBytes(!0).slice(1)}assertValidity(){let t="Point is not on elliptic curve",{x:r,y:n}=this;if(!Ws(r)||!Ws(n))throw new Error(t);let i=L(n*n),o=_6(r);if(L(i-o)!==Y)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new et(this.x,L(-this.y))}double(){return J.fromAffine(this).double().toAffine()}add(t){return J.fromAffine(this).add(J.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return J.fromAffine(this).multiply(t,this).toAffine()}multiplyAndAddUnsafe(t,r,n){let i=J.fromAffine(this),o=r===Y||r===lt||this!==et.BASE?i.multiplyUnsafe(r):i.multiply(r),s=J.fromAffine(t).multiplyUnsafe(n),a=o.add(s);return a.equals(J.ZERO)?void 0:a.toAffine()}};et.BASE=new et(Et.Gx,Et.Gy);et.ZERO=new et(Y,Y);function R6(e){return Number.parseInt(e[0],16)>=8?"00"+e:e}function P6(e){if(e.length<2||e[0]!==2)throw new Error(`Invalid signature integer tag: ${Wn(e)}`);let t=e[1],r=e.subarray(2,t+2);if(!t||r.length!==t)throw new Error("Invalid signature integer: wrong length");if(r[0]===0&&r[1]<=127)throw new Error("Invalid signature integer: trailing length");return{data:Pr(r),left:e.subarray(t+2)}}function Z9(e){if(e.length<2||e[0]!=48)throw new Error(`Invalid signature tag: ${Wn(e)}`);if(e[1]!==e.length-2)throw new Error("Invalid signature: incorrect length");let{data:t,left:r}=P6(e.subarray(2)),{data:n,left:i}=P6(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Wn(i)}`);return{r:t,s:n}}var Ge=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromCompact(t){let r=t instanceof Uint8Array,n="Signature.fromCompact";if(typeof t!="string"&&!r)throw new TypeError(`${n}: Expected string or Uint8Array`);let i=r?Wn(t):t;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new Ge(g1(i.slice(0,64)),g1(i.slice(64,128)))}static fromDER(t){let r=t instanceof Uint8Array;if(typeof t!="string"&&!r)throw new TypeError("Signature.fromDER: Expected string or Uint8Array");let{r:n,s:i}=Z9(r?t:rn(t));return new Ge(n,i)}static fromHex(t){return this.fromDER(t)}assertValidity(){let{r:t,s:r}=this;if(!U0(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!U0(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let t=Et.n>>lt;return this.s>t}normalizeS(){return this.hasHighS()?new Ge(this.r,L(-this.s,Et.n)):this}toDERRawBytes(){return rn(this.toDERHex())}toDERHex(){let t=R6(k0(this.s)),r=R6(k0(this.r)),n=t.length/2,i=r.length/2,o=k0(n),s=k0(i);return`30${k0(i+n+4)}02${s}${r}02${o}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return rn(this.toCompactHex())}toCompactHex(){return Hn(this.r)+Hn(this.s)}};function Tr(...e){if(!e.every(n=>n instanceof Uint8Array))throw new Error("Uint8Array list expected");if(e.length===1)return e[0];let t=e.reduce((n,i)=>n+i.length,0),r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let o=e[n];r.set(o,i),i+=o.length}return r}var X9=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Wn(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");let t="";for(let r=0;r<e.length;r++)t+=X9[e[r]];return t}var j9=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Hn(e){if(typeof e!="bigint")throw new Error("Expected bigint");if(!(Y<=e&&e<j9))throw new Error("Expected number 0 <= n < 2^256");return e.toString(16).padStart(64,"0")}function Zs(e){let t=rn(Hn(e));if(t.length!==32)throw new Error("Error: expected 32 bytes");return t}function k0(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function g1(e){if(typeof e!="string")throw new TypeError("hexToNumber: expected string, got "+typeof e);return BigInt(`0x${e}`)}function rn(e){if(typeof e!="string")throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex"+e.length);let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){let n=r*2,i=e.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[r]=o}return t}function Pr(e){return g1(Wn(e))}function Yn(e){return e instanceof Uint8Array?Uint8Array.from(e):rn(e)}function L6(e){if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)return BigInt(e);if(typeof e=="bigint"&&U0(e))return e;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function L(e,t=Et.P){let r=e%t;return r>=Y?r:t+r}function le(e,t){let{P:r}=Et,n=e;for(;t-- >Y;)n*=n,n%=r;return n}function J9(e){let{P:t}=Et,r=BigInt(6),n=BigInt(11),i=BigInt(22),o=BigInt(23),s=BigInt(44),a=BigInt(88),c=e*e*e%t,u=c*c*e%t,f=le(u,D0)*u%t,l=le(f,D0)*u%t,d=le(l,Rr)*c%t,p=le(d,n)*d%t,h=le(p,i)*p%t,y=le(h,s)*h%t,g=le(y,a)*y%t,m=le(g,s)*h%t,v=le(m,D0)*u%t,b=le(v,o)*p%t,N=le(b,r)*c%t,_=le(N,Rr);if(_*_%t!==e)throw new Error("Cannot find square root");return _}function Zn(e,t=Et.P){if(e===Y||t<=Y)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=L(e,t),n=t,i=Y,o=lt,s=lt,a=Y;for(;r!==Y;){let u=n/r,f=n%r,l=i-s*u,d=o-a*u;n=r,r=f,i=s,o=a,s=l,a=d}if(n!==lt)throw new Error("invert: does not exist");return L(i,t)}function th(e,t=Et.P){let r=new Array(e.length),n=e.reduce((o,s,a)=>s===Y?o:(r[a]=o,L(o*s,t)),lt),i=Zn(n,t);return e.reduceRight((o,s,a)=>s===Y?o:(r[a]=L(o*r[a],t),L(o*s,t)),i),r}function eh(e){let t=e.length*8-Qn*8,r=Pr(e);return t>0?r>>BigInt(t):r}function js(e,t=!1){let r=eh(e);if(t)return r;let{n}=Et;return r>=n?r-n:r}var Gn,F0,Xs=class{constructor(t,r){if(this.hashLen=t,this.qByteLen=r,typeof t!="number"||t<2)throw new Error("hashLen must be a number");if(typeof r!="number"||r<2)throw new Error("qByteLen must be a number");this.v=new Uint8Array(t).fill(1),this.k=new Uint8Array(t).fill(0),this.counter=0}hmac(...t){return Ce.hmacSha256(this.k,...t)}hmacSync(...t){return F0(this.k,...t)}checkSync(){if(typeof F0!="function")throw new y1("hmacSha256Sync needs to be set")}incr(){if(this.counter>=1e3)throw new Error("Tried 1,000 k values for sign(), all were invalid");this.counter+=1}async reseed(t=new Uint8Array){this.k=await this.hmac(this.v,Uint8Array.from([0]),t),this.v=await this.hmac(this.v),t.length!==0&&(this.k=await this.hmac(this.v,Uint8Array.from([1]),t),this.v=await this.hmac(this.v))}reseedSync(t=new Uint8Array){this.checkSync(),this.k=this.hmacSync(this.v,Uint8Array.from([0]),t),this.v=this.hmacSync(this.v),t.length!==0&&(this.k=this.hmacSync(this.v,Uint8Array.from([1]),t),this.v=this.hmacSync(this.v))}async generate(){this.incr();let t=0,r=[];for(;t<this.qByteLen;){this.v=await this.hmac(this.v);let n=this.v.slice();r.push(n),t+=this.v.length}return Tr(...r)}generateSync(){this.checkSync(),this.incr();let t=0,r=[];for(;t<this.qByteLen;){this.v=this.hmacSync(this.v);let n=this.v.slice();r.push(n),t+=this.v.length}return Tr(...r)}};function U0(e){return Y<e&&e<Et.n}function Ws(e){return Y<e&&e<Et.P}function rh(e,t,r,n=!0){let{n:i}=Et,o=js(e,!0);if(!U0(o))return;let s=Zn(o,i),a=et.BASE.multiply(o),c=L(a.x,i);if(c===Y)return;let u=L(s*L(t+r*c,i),i);if(u===Y)return;let f=new Ge(c,u),l=(a.x===f.r?0:2)|Number(a.y<);return n&&f.hasHighS()&&(f=f.normalizeS(),l^=1),{sig:f,recovery:l}}function m1(e){let t;if(typeof e=="bigint")t=e;else if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)t=BigInt(e);else if(typeof e=="string"){if(e.length!==2*Qn)throw new Error("Expected 32 bytes of private key");t=g1(e)}else if(e instanceof Uint8Array){if(e.length!==Qn)throw new Error("Expected 32 bytes of private key");t=Pr(e)}else throw new TypeError("Expected valid private key");if(!U0(t))throw new Error("Expected private key: 0 < key < n");return t}function nh(e){return e instanceof et?(e.assertValidity(),e):et.fromHex(e)}function N6(e){if(e instanceof Ge)return e.assertValidity(),e;try{return Ge.fromDER(e)}catch{return Ge.fromCompact(e)}}function Js(e,t=!1){return et.fromPrivateKey(e).toRawBytes(t)}function k6(e){let t=e.length>Ie?e.slice(0,Ie):e;return Pr(t)}function ih(e){let t=k6(e),r=L(t,Et.n);return D6(r<Y?t:r)}function D6(e){return Zs(e)}function oh(e,t,r){if(e==null)throw new Error(`sign: expected valid message hash, not "${e}"`);let n=Yn(e),i=m1(t),o=[D6(i),ih(n)];if(r!=null){r===!0&&(r=Ce.randomBytes(Ie));let c=Yn(r);if(c.length!==Ie)throw new Error(`sign: Expected ${Ie} bytes of extra data`);o.push(c)}let s=Tr(...o),a=k6(n);return{seed:s,m:a,d:i}}function sh(e,t){let{sig:r,recovery:n}=e,{der:i,recovered:o}=Object.assign({canonical:!0,der:!0},t),s=i?r.toDERRawBytes():r.toCompactRawBytes();return o?[s,n]:s}async function F6(e,t,r={}){let{seed:n,m:i,d:o}=oh(e,t,r.extraEntropy),s=new Xs(Y9,Qn);await s.reseed(n);let a;for(;!(a=rh(await s.generate(),i,o,r.canonical));)await s.reseed();return sh(a,r)}var ah={strict:!0};function U6(e,t,r,n=ah){let i;try{i=N6(e),t=Yn(t)}catch{return!1}let{r:o,s}=i;if(n.strict&&i.hasHighS())return!1;let a=js(t),c;try{c=nh(r)}catch{return!1}let{n:u}=Et,f=Zn(s,u),l=L(a*f,u),d=L(o*f,u),p=et.BASE.multiplyAndAddUnsafe(c,l,d);return p?L(p.x,u)===o:!1}et.BASE._setWindowSize(8);var ne={node:W9,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var d1={},Ce={bytesToHex:Wn,hexToBytes:rn,concatBytes:Tr,mod:L,invert:Zn,isValidPrivateKey(e){try{return m1(e),!0}catch{return!1}},_bigintTo32Bytes:Zs,_normalizePrivateKey:m1,hashToPrivateKey:e=>{e=Yn(e);let t=Qn+8;if(e.length<t||e.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=L(Pr(e),Et.n-lt)+lt;return Zs(r)},randomBytes:(e=32)=>{if(ne.web)return ne.web.getRandomValues(new Uint8Array(e));if(ne.node){let{randomBytes:t}=ne.node;return Uint8Array.from(t(e))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Ce.hashToPrivateKey(Ce.randomBytes(Qn+8)),precompute(e=8,t=et.BASE){let r=t===et.BASE?t:new et(t.x,t.y);return r._setWindowSize(e),r.multiply(D0),r},sha256:async(...e)=>{if(ne.web){let t=await ne.web.subtle.digest("SHA-256",Tr(...e));return new Uint8Array(t)}else if(ne.node){let{createHash:t}=ne.node,r=t("sha256");return e.forEach(n=>r.update(n)),Uint8Array.from(r.digest())}else throw new Error("The environment doesn't have sha256 function")},hmacSha256:async(e,...t)=>{if(ne.web){let r=await ne.web.subtle.importKey("raw",e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=Tr(...t),i=await ne.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(ne.node){let{createHmac:r}=ne.node,n=r("sha256",e);return t.forEach(i=>n.update(i)),Uint8Array.from(n.digest())}else throw new Error("The environment doesn't have hmac-sha256 function")},sha256Sync:void 0,hmacSha256Sync:void 0,taggedHash:async(e,...t)=>{let r=d1[e];if(r===void 0){let n=await Ce.sha256(Uint8Array.from(e,i=>i.charCodeAt(0)));r=Tr(n,n),d1[e]=r}return Ce.sha256(r,...t)},taggedHashSync:(e,...t)=>{if(typeof Gn!="function")throw new y1("sha256Sync is undefined, you need to set it");let r=d1[e];if(r===void 0){let n=Gn(Uint8Array.from(e,i=>i.charCodeAt(0)));r=Tr(n,n),d1[e]=r}return Gn(r,...t)},_JacobianPoint:J};Object.defineProperties(Ce,{sha256Sync:{configurable:!1,get(){return Gn},set(e){Gn||(Gn=e)}},hmacSha256Sync:{configurable:!1,get(){return F0},set(e){F0||(F0=e)}}});function nn(e){if(isNaN(e)||e<=0)throw new R("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Ce.randomBytes(e)}var on={};Nt(on,{jwkToPkcs1:()=>fh,jwkToPkix:()=>hh,pkcs1ToJwk:()=>uh,pkixToJwk:()=>lh});var Dx=K(R0(),1),Fx=K(c1(),1),fr=K(nt(),1);function uh(e){let t=fr.default.asn1.fromDer(M(e,"ascii")),r=fr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:Be(r.n),e:Be(r.e),d:Be(r.d),p:Be(r.p),q:Be(r.q),dp:Be(r.dP),dq:Be(r.dQ),qi:Be(r.qInv),alg:"RS256"}}function fh(e){if(e.n==null||e.e==null||e.d==null||e.p==null||e.q==null||e.dp==null||e.dq==null||e.qi==null)throw new R("JWK was missing components","ERR_INVALID_PARAMETERS");let t=fr.default.pki.privateKeyToAsn1({n:re(e.n),e:re(e.e),d:re(e.d),p:re(e.p),q:re(e.q),dP:re(e.dp),dQ:re(e.dq),qInv:re(e.qi)});return xt(fr.default.asn1.toDer(t).getBytes(),"ascii")}function lh(e){let t=fr.default.asn1.fromDer(M(e,"ascii")),r=fr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:Be(r.n),e:Be(r.e)}}function hh(e){if(e.n==null||e.e==null)throw new R("JWK was missing components","ERR_INVALID_PARAMETERS");let t=fr.default.pki.publicKeyToAsn1({n:re(e.n),e:re(e.e)});return xt(fr.default.asn1.toDer(t).getBytes(),"ascii")}var Vx=K(c1(),1),t2=K(nt(),1);function O6(e,t){return t.map(r=>re(e[r]))}function M6(e){return t2.default.pki.setRsaPrivateKey(...O6(e,["n","e","d","p","q","dp","dq","qi"]))}function K6(e){return t2.default.pki.setRsaPublicKey(...O6(e,["n","e"]))}async function V6(e){let t=await It.get().subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:new Uint8Array([1,0,1]),hash:{name:"SHA-256"}},!0,["sign","verify"]),r=await $6(t);return{privateKey:r[0],publicKey:r[1]}}async function e2(e){let r=[await It.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await ph(e)],n=await $6({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function q6(e,t){let r=await It.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await It.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function z6(e,t,r){let n=await It.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return await It.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r)}async function $6(e){if(e.privateKey==null||e.publicKey==null)throw new R("Private and public key are required","ERR_INVALID_PARAMETERS");return await Promise.all([It.get().subtle.exportKey("jwk",e.privateKey),It.get().subtle.exportKey("jwk",e.publicKey)])}async function ph(e){return await It.get().subtle.importKey("jwk",{kty:e.kty,n:e.n,e:e.e},{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["verify"])}function H6(e,t,r,n){let i=t?K6(e):M6(e),o=M(Uint8Array.from(r),"ascii"),s=n(o,i);return xt(s,"ascii")}function G6(e,t){return H6(e,!0,t,(r,n)=>n.encrypt(r))}function Q6(e,t){return H6(e,!1,t,(r,n)=>n.decrypt(r))}async function Xn(e,t){let n=await f1().encrypt(e,t);return zr.encode(n)}var M0=class{constructor(t){this._key=t}async verify(t,r){return await z6(this._key,r,t)}marshal(){return on.jwkToPkix(this._key)}get bytes(){return Ee.encode({Type:ct.RSA,Data:this.marshal()}).subarray()}encrypt(t){return G6(this._key,t)}equals(t){return ot(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}},jn=class{constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return nn(16)}async sign(t){return await q6(this._key,t)}get public(){if(this._publicKey==null)throw new R("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new M0(this._publicKey)}decrypt(t){return Q6(this._key,t)}marshal(){return on.jwkToPkcs1(this._key)}get bytes(){return Se.encode({Type:ct.RSA,Data:this.marshal()}).subarray()}equals(t){return ot(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return M(t,"base58btc")}async export(t,r="pkcs-8"){if(r==="pkcs-8"){let n=new O0.default.util.ByteBuffer(this.marshal()),i=O0.default.asn1.fromDer(n),o=O0.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return O0.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(r==="libp2p-key")return await Xn(this.bytes,t);throw new R(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function yh(e){let t=on.pkcs1ToJwk(e),r=await e2(t);return new jn(r.privateKey,r.publicKey)}function gh(e){let t=on.pkixToJwk(e);return new M0(t)}async function mh(e){let t=await e2(e);return new jn(t.privateKey,t.publicKey)}async function xh(e){let t=await V6(e);return new jn(t.privateKey,t.publicKey)}var h2={};Nt(h2,{Ed25519PrivateKey:()=>an,Ed25519PublicKey:()=>$0,generateKeyPair:()=>Mh,generateKeyPairFromSeed:()=>l2,unmarshalEd25519PrivateKey:()=>Uh,unmarshalEd25519PublicKey:()=>Oh});var vh=K(qn(),1);var Kt=BigInt(0),Z=BigInt(1),kr=BigInt(2),wh=BigInt(8),W6=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),ht=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:W6,n:W6,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var J6=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),K0=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),iv=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),bh=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),Eh=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Sh=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Ah=BigInt("40440834346308536858101042469323190826248399146238708352240133220865137265952"),Q=class{constructor(t,r,n,i){this.x=t,this.y=r,this.z=n,this.t=i}static fromAffine(t){if(!(t instanceof yt))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return t.equals(yt.ZERO)?Q.ZERO:new Q(t.x,t.y,Z,B(t.x*t.y))}static toAffineBatch(t){let r=Ch(t.map(n=>n.z));return t.map((n,i)=>n.toAffine(r[i]))}static normalizeZ(t){return this.toAffineBatch(t).map(this.fromAffine)}equals(t){Z6(t);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t,c=B(r*a),u=B(o*i),f=B(n*a),l=B(s*i);return c===u&&f===l}negate(){return new Q(B(-this.x),this.y,this.z,B(-this.t))}double(){let{x:t,y:r,z:n}=this,{a:i}=ht,o=B(t*t),s=B(r*r),a=B(kr*B(n*n)),c=B(i*o),u=t+r,f=B(B(u*u)-o-s),l=c+s,d=l-a,p=c-s,h=B(f*d),y=B(l*p),g=B(f*p),m=B(d*l);return new Q(h,y,m,g)}add(t){Z6(t);let{x:r,y:n,z:i,t:o}=this,{x:s,y:a,z:c,t:u}=t,f=B((n-r)*(a+s)),l=B((n+r)*(a-s)),d=B(l-f);if(d===Kt)return this.double();let p=B(i*kr*u),h=B(o*kr*c),y=h+p,g=l+f,m=h-p,v=B(y*d),b=B(g*m),N=B(y*m),_=B(d*g);return new Q(v,b,_,N)}subtract(t){return this.add(t.negate())}precomputeWindow(t){let r=1+256/t,n=[],i=this,o=i;for(let s=0;s<r;s++){o=i,n.push(o);for(let a=1;a<2**(t-1);a++)o=o.add(i),n.push(o);i=o.double()}return n}wNAF(t,r){!r&&this.equals(Q.BASE)&&(r=yt.BASE);let n=r&&r._WINDOW_SIZE||1;if(256%n)throw new Error("Point#wNAF: Invalid precomputation window, must be power of 2");let i=r&&a2.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Q.normalizeZ(i),a2.set(r,i)));let o=Q.ZERO,s=Q.BASE,a=1+256/n,c=2**(n-1),u=BigInt(2**n-1),f=2**n,l=BigInt(n);for(let d=0;d<a;d++){let p=d*c,h=Number(t&u);t>>=l,h>c&&(h-=f,t+=Z);let y=p,g=p+Math.abs(h)-1,m=d%2!==0,v=h<0;h===0?s=s.add(Y6(m,i[y])):o=o.add(Y6(v,i[g]))}return Q.normalizeZ([o,s])[0]}multiply(t,r){return this.wNAF(v1(t,ht.l),r)}multiplyUnsafe(t){let r=v1(t,ht.l,!1),n=Q.BASE,i=Q.ZERO;if(r===Kt)return i;if(this.equals(i)||r===Z)return this;if(this.equals(n))return this.wNAF(r);let o=i,s=this;for(;r>Kt;)r&Z&&(o=o.add(s)),s=s.double(),r>>=Z;return o}isSmallOrder(){return this.multiplyUnsafe(ht.h).equals(Q.ZERO)}isTorsionFree(){let t=this.multiplyUnsafe(ht.l/kr).double();return ht.l%kr&&(t=t.add(this)),t.equals(Q.ZERO)}toAffine(t){let{x:r,y:n,z:i}=this,o=this.equals(Q.ZERO);t==null&&(t=o?wh:w1(i));let s=B(r*t),a=B(n*t),c=B(i*t);if(o)return yt.ZERO;if(c!==Z)throw new Error("invZ was invalid");return new yt(s,a)}fromRistrettoBytes(){i2()}toRistrettoBytes(){i2()}fromRistrettoHash(){i2()}};Q.BASE=new Q(ht.Gx,ht.Gy,Z,B(ht.Gx*ht.Gy));Q.ZERO=new Q(Kt,Z,Z,Kt);function Y6(e,t){let r=t.negate();return e?r:t}function Z6(e){if(!(e instanceof Q))throw new TypeError("ExtendedPoint expected")}function n2(e){if(!(e instanceof Zt))throw new TypeError("RistrettoPoint expected")}function i2(){throw new Error("Legacy method: switch to RistrettoPoint")}var Zt=class{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){let{d:r}=ht,n=B(K0*t*t),i=B((n+Z)*Sh),o=BigInt(-1),s=B((o-r*n)*B(n+r)),{isValid:a,value:c}=u2(i,s),u=B(c*t);Nr(u)||(u=B(-u)),a||(c=u),a||(o=n);let f=B(o*(n-Z)*Ah-s),l=c*c,d=B((c+c)*s),p=B(f*bh),h=B(Z-l),y=B(Z+l);return new Q(B(d*y),B(h*p),B(p*y),B(d*h))}static hashToCurve(t){t=Dr(t,64);let r=o2(t.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=o2(t.slice(32,64)),o=this.calcElligatorRistrettoMap(i);return new Zt(n.add(o))}static fromHex(t){t=Dr(t,32);let{a:r,d:n}=ht,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",o=o2(t);if(!Th(V0(o),t)||Nr(o))throw new Error(i);let s=B(o*o),a=B(Z+r*s),c=B(Z-r*s),u=B(a*a),f=B(c*c),l=B(r*n*u-f),{isValid:d,value:p}=j6(B(l*f)),h=B(p*c),y=B(p*h*l),g=B((o+o)*h);Nr(g)&&(g=B(-g));let m=B(a*y),v=B(g*m);if(!d||Nr(v)||m===Kt)throw new Error(i);return new Zt(new Q(g,m,Z,v))}toRawBytes(){let{x:t,y:r,z:n,t:i}=this.ep,o=B(B(n+r)*B(n-r)),s=B(t*r),a=B(s*s),{value:c}=j6(B(o*a)),u=B(c*o),f=B(c*s),l=B(u*f*i),d;if(Nr(i*l)){let h=B(r*K0),y=B(t*K0);t=h,r=y,d=B(u*Eh)}else d=f;Nr(t*l)&&(r=B(-r));let p=B((n-r)*d);return Nr(p)&&(p=B(-p)),V0(p)}toHex(){return q0(this.toRawBytes())}toString(){return this.toHex()}equals(t){n2(t);let r=this.ep,n=t.ep,i=B(r.x*n.y)===B(r.y*n.x),o=B(r.y*n.y)===B(r.x*n.x);return i||o}add(t){return n2(t),new Zt(this.ep.add(t.ep))}subtract(t){return n2(t),new Zt(this.ep.subtract(t.ep))}multiply(t){return new Zt(this.ep.multiply(t))}multiplyUnsafe(t){return new Zt(this.ep.multiplyUnsafe(t))}};Zt.BASE=new Zt(Q.BASE);Zt.ZERO=new Zt(Q.ZERO);var a2=new WeakMap,yt=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,a2.delete(this)}static fromHex(t,r=!0){let{d:n,P:i}=ht;t=Dr(t,32);let o=t.slice();o[31]=t[31]&-129;let s=z0(o);if(r&&s>=i)throw new Error("Expected 0 < hex < P");if(!r&&s>=J6)throw new Error("Expected 0 < hex < 2**256");let a=B(s*s),c=B(a-Z),u=B(n*a+Z),{isValid:f,value:l}=u2(c,u);if(!f)throw new Error("Point.fromHex: invalid y coordinate");let d=(l&Z)===Z;return(t[31]&128)!==0!==d&&(l=B(-l)),new yt(l,s)}static async fromPrivateKey(t){return(await b1(t)).point}toRawBytes(){let t=V0(this.y);return t[31]|=this.x&Z?128:0,t}toHex(){return q0(this.toRawBytes())}toX25519(){let{y:t}=this,r=B((Z+t)*w1(Z-t));return V0(r)}isTorsionFree(){return Q.fromAffine(this).isTorsionFree()}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new yt(B(-this.x),this.y)}add(t){return Q.fromAffine(this).add(Q.fromAffine(t)).toAffine()}subtract(t){return this.add(t.negate())}multiply(t){return Q.fromAffine(this).multiply(t,this).toAffine()}};yt.BASE=new yt(ht.Gx,ht.Gy);yt.ZERO=new yt(Kt,Z);var sn=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromHex(t){let r=Dr(t,64),n=yt.fromHex(r.slice(0,32),!1),i=z0(r.slice(32,64));return new sn(n,i)}assertValidity(){let{r:t,s:r}=this;if(!(t instanceof yt))throw new Error("Expected Point instance");return v1(r,ht.l,!1),this}toRawBytes(){let t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set(V0(this.s),32),t}toHex(){return q0(this.toRawBytes())}};function X6(...e){if(!e.every(n=>n instanceof Uint8Array))throw new Error("Expected Uint8Array list");if(e.length===1)return e[0];let t=e.reduce((n,i)=>n+i.length,0),r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let o=e[n];r.set(o,i),i+=o.length}return r}var Bh=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function q0(e){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=Bh[e[r]];return t}function c2(e){if(typeof e!="string")throw new TypeError("hexToBytes: expected string, got "+typeof e);if(e.length%2)throw new Error("hexToBytes: received invalid unpadded hex");let t=new Uint8Array(e.length/2);for(let r=0;r<t.length;r++){let n=r*2,i=e.slice(n,n+2),o=Number.parseInt(i,16);if(Number.isNaN(o)||o<0)throw new Error("Invalid byte sequence");t[r]=o}return t}function t8(e){let r=e.toString(16).padStart(64,"0");return c2(r)}function V0(e){return t8(e).reverse()}function Nr(e){return(B(e)&Z)===Z}function z0(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+q0(Uint8Array.from(e).reverse()))}var Ih=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function o2(e){return B(z0(e)&Ih)}function B(e,t=ht.P){let r=e%t;return r>=Kt?r:t+r}function w1(e,t=ht.P){if(e===Kt||t<=Kt)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=B(e,t),n=t,i=Kt,o=Z,s=Z,a=Kt;for(;r!==Kt;){let u=n/r,f=n%r,l=i-s*u,d=o-a*u;n=r,r=f,i=s,o=a,s=l,a=d}if(n!==Z)throw new Error("invert: does not exist");return B(i,t)}function Ch(e,t=ht.P){let r=new Array(e.length),n=e.reduce((o,s,a)=>s===Kt?o:(r[a]=o,B(o*s,t)),Z),i=w1(n,t);return e.reduceRight((o,s,a)=>s===Kt?o:(r[a]=B(o*r[a],t),B(o*s,t)),i),r}function Qe(e,t){let{P:r}=ht,n=e;for(;t-- >Kt;)n*=n,n%=r;return n}function _h(e){let{P:t}=ht,r=BigInt(5),n=BigInt(10),i=BigInt(20),o=BigInt(40),s=BigInt(80),c=e*e%t*e%t,u=Qe(c,kr)*c%t,f=Qe(u,Z)*e%t,l=Qe(f,r)*f%t,d=Qe(l,n)*l%t,p=Qe(d,i)*d%t,h=Qe(p,o)*p%t,y=Qe(h,s)*h%t,g=Qe(y,s)*h%t,m=Qe(g,n)*l%t;return{pow_p_5_8:Qe(m,kr)*e%t,b2:c}}function u2(e,t){let r=B(t*t*t),n=B(r*r*t),i=_h(e*n).pow_p_5_8,o=B(e*r*i),s=B(t*o*o),a=o,c=B(o*K0),u=s===e,f=s===B(-e),l=s===B(-e*K0);return u&&(o=a),(f||l)&&(o=c),Nr(o)&&(o=B(-o)),{isValid:u||f,value:o}}function j6(e){return u2(Z,e)}function x1(e){return B(z0(e),ht.l)}function Th(e,t){if(e.length!==t.length)return!1;for(let r=0;r<e.length;r++)if(e[r]!==t[r])return!1;return!0}function Dr(e,t){let r=e instanceof Uint8Array?Uint8Array.from(e):c2(e);if(typeof t=="number"&&r.length!==t)throw new Error(`Expected ${t} bytes`);return r}function v1(e,t,r=!0){if(!t)throw new TypeError("Specify max value");if(typeof e=="number"&&Number.isSafeInteger(e)&&(e=BigInt(e)),typeof e=="bigint"&&e<t){if(r){if(Kt<e)return e}else if(Kt<=e)return e}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function Rh(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function Ph(e){if(e=typeof e=="bigint"||typeof e=="number"?t8(v1(e,J6)):Dr(e),e.length!==32)throw new Error("Expected 32 bytes");return e}function Lh(e){let t=Rh(e.slice(0,32)),r=e.slice(32,64),n=x1(t),i=yt.BASE.multiply(n),o=i.toRawBytes();return{head:t,prefix:r,scalar:n,point:i,pointBytes:o}}var s2;async function b1(e){return Lh(await Fr.sha512(Ph(e)))}async function f2(e){return(await b1(e)).pointBytes}async function e8(e,t){e=Dr(e);let{prefix:r,scalar:n,pointBytes:i}=await b1(t),o=x1(await Fr.sha512(r,e)),s=yt.BASE.multiply(o),a=x1(await Fr.sha512(s.toRawBytes(),i,e)),c=B(o+a*n,ht.l);return new sn(s,c).toRawBytes()}function Nh(e,t,r){t=Dr(t),r instanceof yt||(r=yt.fromHex(r,!1));let{r:n,s:i}=e instanceof sn?e.assertValidity():sn.fromHex(e),o=Q.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:o,pub:r,msg:t}}function kh(e,t,r,n){let i=x1(n),o=Q.fromAffine(e).multiplyUnsafe(i);return Q.fromAffine(t).add(o).subtract(r).multiplyUnsafe(ht.h).equals(Q.ZERO)}async function r8(e,t,r){let{r:n,SB:i,msg:o,pub:s}=Nh(e,t,r),a=await Fr.sha512(n.toRawBytes(),s.toRawBytes(),o);return kh(s,n,i,a)}yt.BASE._setWindowSize(8);var Lr={node:vh,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},Fr={bytesToHex:q0,hexToBytes:c2,concatBytes:X6,getExtendedPublicKey:b1,mod:B,invert:w1,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:e=>{if(e=Dr(e),e.length<40||e.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return B(z0(e),ht.l-Z)+Z},randomBytes:(e=32)=>{if(Lr.web)return Lr.web.getRandomValues(new Uint8Array(e));if(Lr.node){let{randomBytes:t}=Lr.node;return new Uint8Array(t(e).buffer)}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Fr.randomBytes(32),sha512:async(...e)=>{let t=X6(...e);if(Lr.web){let r=await Lr.web.subtle.digest("SHA-512",t.buffer);return new Uint8Array(r)}else{if(Lr.node)return Uint8Array.from(Lr.node.createHash("sha512").update(t).digest());throw new Error("The environment doesn't have sha512 function")}},precompute(e=8,t=yt.BASE){let r=t.equals(yt.BASE)?t:new yt(t.x,t.y);return r._setWindowSize(e),r.multiply(kr),r},sha512Sync:void 0};Object.defineProperties(Fr,{sha512Sync:{configurable:!1,get(){return s2},set(e){s2||(s2=e)}}});var Jn=32,lr=64,E1=32;async function n8(){let e=Fr.randomPrivateKey(),t=await f2(e);return{privateKey:a8(e,t),publicKey:t}}async function i8(e){if(e.length!==E1)throw new TypeError('"seed" must be 32 bytes in length.');if(!(e instanceof Uint8Array))throw new TypeError('"seed" must be a node.js Buffer, or Uint8Array.');let t=e,r=await f2(t);return{privateKey:a8(t,r),publicKey:r}}async function o8(e,t){let r=e.subarray(0,E1);return await e8(t,r)}async function s8(e,t,r){return await r8(t,r,e)}function a8(e,t){let r=new Uint8Array(lr);for(let n=0;n<E1;n++)r[n]=e[n],r[E1+n]=t[n];return r}var $0=class{constructor(t){this._key=t0(t,Jn)}async verify(t,r){return await s8(this._key,r,t)}marshal(){return this._key}get bytes(){return Ee.encode({Type:ct.Ed25519,Data:this.marshal()}).subarray()}equals(t){return ot(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}},an=class{constructor(t,r){this._key=t0(t,lr),this._publicKey=t0(r,Jn)}async sign(t){return await o8(this._key,t)}get public(){return new $0(this._publicKey)}marshal(){return this._key}get bytes(){return Se.encode({Type:ct.Ed25519,Data:this.marshal()}).subarray()}equals(t){return ot(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}async id(){let t=await xr.digest(this.public.bytes);return St.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return await Xn(this.bytes,t);throw new R(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Uh(e){if(e.length>lr){e=t0(e,lr+Jn);let n=e.subarray(0,lr),i=e.subarray(lr,e.length);return new an(n,i)}e=t0(e,lr);let t=e.subarray(0,lr),r=e.subarray(Jn);return new an(t,r)}function Oh(e){return e=t0(e,Jn),new $0(e)}async function Mh(){let{privateKey:e,publicKey:t}=await n8();return new an(e,t)}async function l2(e){let{privateKey:t,publicKey:r}=await i8(e);return new an(t,r)}function t0(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new R(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var d2={};Nt(d2,{Secp256k1PrivateKey:()=>G0,Secp256k1PublicKey:()=>H0,generateKeyPair:()=>zh,unmarshalSecp256k1PrivateKey:()=>Vh,unmarshalSecp256k1PublicKey:()=>qh});function c8(){return Ce.randomPrivateKey()}async function u8(e,t){let{digest:r}=await mt.digest(t);try{return await F6(r,e)}catch(n){throw new R(String(n),"ERR_INVALID_INPUT")}}async function f8(e,t,r){try{let{digest:n}=await mt.digest(r);return U6(t,n,e)}catch(n){throw new R(String(n),"ERR_INVALID_INPUT")}}function l8(e){return et.fromHex(e).toRawBytes(!0)}function h8(e){try{Js(e,!0)}catch(t){throw new R(String(t),"ERR_INVALID_PRIVATE_KEY")}}function p2(e){try{et.fromHex(e)}catch(t){throw new R(String(t),"ERR_INVALID_PUBLIC_KEY")}}function p8(e){try{return Js(e,!0)}catch(t){throw new R(String(t),"ERR_INVALID_PRIVATE_KEY")}}var H0=class{constructor(t){p2(t),this._key=t}async verify(t,r){return await f8(this._key,r,t)}marshal(){return l8(this._key)}get bytes(){return Ee.encode({Type:ct.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return ot(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}},G0=class{constructor(t,r){this._key=t,this._publicKey=r??p8(t),h8(this._key),p2(this._publicKey)}async sign(t){return await u8(this._key,t)}get public(){return new H0(this._publicKey)}marshal(){return this._key}get bytes(){return Se.encode({Type:ct.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return ot(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}async id(){let t=await this.public.hash();return M(t,"base58btc")}async export(t,r="libp2p-key"){if(r==="libp2p-key")return await Xn(this.bytes,t);throw new R(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Vh(e){return new G0(e)}function qh(e){return new H0(e)}async function zh(){let e=await c8();return new G0(e)}var We={rsa:r2,ed25519:h2,secp256k1:d2};function y2(e){let t=Object.keys(We).join(" / ");return new R(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function g2(e){if(e=e.toLowerCase(),e==="rsa"||e==="ed25519"||e==="secp256k1")return We[e];throw y2(e)}async function $h(e,t){return await g2(e).generateKeyPair(t??2048)}async function Hh(e,t,r){if(e.toLowerCase()!=="ed25519")throw new R("Seed key derivation is unimplemented for RSA or secp256k1","ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return await l2(t)}function Gh(e){let t=Ee.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case ct.RSA:return We.rsa.unmarshalRsaPublicKey(r);case ct.Ed25519:return We.ed25519.unmarshalEd25519PublicKey(r);case ct.Secp256k1:return We.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw y2(t.Type??"RSA")}}function Qh(e,t){return t=(t??"rsa").toLowerCase(),g2(t),e.bytes}async function d8(e){let t=Se.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case ct.RSA:return await We.rsa.unmarshalRsaPrivateKey(r);case ct.Ed25519:return We.ed25519.unmarshalEd25519PrivateKey(r);case ct.Secp256k1:return We.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw y2(t.Type??"RSA")}}function Wh(e,t){return t=(t??"rsa").toLowerCase(),g2(t),e.bytes}async function Yh(e,t){try{let i=await x6(e,t);return await d8(i)}catch{}let r=S1.default.pki.decryptRsaPrivateKey(e,t);if(r===null)throw new R("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=S1.default.asn1.toDer(S1.default.pki.privateKeyToAsn1(r));return n=xt(n.getBytes(),"ascii"),await We.rsa.unmarshalRsaPrivateKey(n)}var Zh=K(Ds(),1),Xh=K(Ct(),1);async function Q0(e){let t=0;for await(let r of e)t++;return t}var y8=K(kn(),1);var B1=15,I1=class{constructor(t){let{peerRouting:r,routingTable:n,refreshInterval:i,refreshQueryTimeout:o,lan:s}=t;this.log=$(`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(t=!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,t),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,t)}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(t,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",t);return}let i=await this._generateRandomPeerId(t);this.log("starting refreshing cpl %s with key %p (routing table size was %s)",t,i,this.routingTable.size);let o=new y8.TimeoutController(this.refreshQueryTimeout);try{let s=await Q0(this.peerRouting.getClosestPeers(i.toBytes(),{signal:o.signal}));this.log(`found ${s} peers that were close to imaginary peer %p`,i),this.log("finished refreshing cpl %s with key %p (routing table size is now %s)",t,i,this.routingTable.size)}finally{o.clear()}}_getTrackedCommonPrefixLengthsForRefresh(t){t>B1&&(t=B1);let r=[];for(let n=0;n<=t;n++)r[n]=this.commonPrefixLengthRefreshedAt[n]??new Date;return r}async _generateRandomPeerId(t){if(this.routingTable.kb==null)throw new Error("Routing table not started");let r=nn(2),n=(r[1]<<8)+r[0],i=await this._makePeerId(this.routingTable.kb.localNodeId,n,t);return Qr(i)}async _makePeerId(t,r,n){if(n>B1)throw new Error(`Cannot generate peer ID for common prefix length greater than ${B1}`);let s=new DataView(t.buffer,t.byteOffset,t.byteLength).getUint16(0,!1)^32768>>n,a=65535<<16-(n+1),c=s&a|r&~a,u=$4[c],f=new ArrayBuffer(34),l=new DataView(f,0,f.byteLength);return l.setUint8(0,mt.code),l.setUint8(1,32),l.setUint32(2,u,!1),new Uint8Array(l.buffer,l.byteOffset,l.byteLength)}_maxCommonPrefix(){let t=0;for(let r of this._prefixLengths())r>t&&(t=r);return t}_numPeersForCpl(t){let r=0;for(let n of this._prefixLengths())n===t&&r++;return r}*_prefixLengths(){if(this.routingTable.kb!=null)for(let{id:t}of this.routingTable.kb.toIterable()){let r=sr(this.routingTable.kb.localNodeId,t),n=0;for(let i of r)if(i===0)n++;else break;yield n}}};var C1=class{constructor(t){if(!(t>0)||t-1&t)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(t),this.mask=t-1,this.top=0,this.btm=0,this.next=null}push(t){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=t,this.top=this.top+1&this.mask,!0)}shift(){let t=this.buffer[this.btm];if(t!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,t}isEmpty(){return this.buffer[this.btm]===void 0}},e0=class{constructor(t={}){this.hwm=t.splitLimit??16,this.head=new C1(this.hwm),this.tail=this.head,this.size=0}calculateSize(t){return t?.byteLength!=null?t.byteLength:1}push(t){if(t?.value!=null&&(this.size+=this.calculateSize(t.value)),!this.head.push(t)){let r=this.head;this.head=r.next=new C1(2*this.head.buffer.length),this.head.push(t)}}shift(){let t=this.tail.shift();if(t===void 0&&this.tail.next!=null){let r=this.tail.next;this.tail.next=null,this.tail=r,t=this.tail.shift()}return t?.value!=null&&(this.size-=this.calculateSize(t.value)),t}isEmpty(){return this.head.isEmpty()}};function _1(e={}){return tp(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}},e)}function tp(e,t){t=t??{};let r=t.onEnd,n=new e0,i,o,s,a=async()=>n.isEmpty()?s?{done:!0}:await new Promise((y,g)=>{o=m=>{o=null,n.push(m);try{y(e(n))}catch(v){g(v)}return i}}):e(n),c=y=>o!=null?o(y):(n.push(y),i),u=y=>(n=new e0,o!=null?o({error:y}):(n.push({error:y}),i)),f=y=>{if(s)return i;if(t?.objectMode!==!0&&y?.byteLength==null)throw new Error("objectMode was not true but tried to push non-Uint8Array value");return c({done:!1,value:y})},l=y=>s?i:(s=!0,y!=null?u(y):c({done:!0})),d=()=>(n=new e0,l(),{done:!0}),p=y=>(l(y),{done:!0});if(i={[Symbol.asyncIterator](){return this},next:a,return:d,throw:p,push:f,end:l,get readableLength(){return n.size}},r==null)return i;let h=i;return i={[Symbol.asyncIterator](){return this},next(){return h.next()},throw(y){return h.throw(y),r!=null&&(r(y),r=void 0),{done:!0}},return(){return h.return(),r!=null&&(r(),r=void 0),{done:!0}},push:f,end(y){return h.end(y),r!=null&&(r(y),r=void 0),i},get readableLength(){return h.readableLength}},i}async function*he(...e){let t=_1({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async r=>{for await(let n of r)t.push(n)})),t.end()}catch(r){t.end(r)}}),yield*t}var ep=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},g8=e=>e!=null&&(typeof e[Symbol.asyncIterator]=="function"||typeof e[Symbol.iterator]=="function"||typeof e.next=="function"),m2=e=>e!=null&&typeof e.sink=="function"&&g8(e.source),rp=e=>t=>{let r=e.sink(t);if(r.then!=null){let n=_1({objectMode:!0});return r.then(()=>{n.end()},o=>{n.end(o)}),he(n,async function*(){yield*e.source,n.end()}())}return e.source};function _e(e,...t){if(m2(e)){let n=e;e=()=>n.source}else if(g8(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&m2(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++)m2(r[n])&&(r[n]=rp(r[n]));return ep(...r)}var x8=Symbol.for("@achingbrain/uint8arraylist");function m8(e,t){if(t==null||t<0)throw new RangeError("index is out of bounds");let r=0;for(let n of e){let i=r+n.byteLength;if(t<i)return{buf:n,index:t-r};r=i}throw new RangeError("index is out of bounds")}function T1(e){return!!e?.[x8]}var Ye=class{constructor(...t){Object.defineProperty(this,x8,{value:!0}),this.bufs=[],this.length=0,t.length>0&&this.appendAll(t)}*[Symbol.iterator](){yield*this.bufs}get byteLength(){return this.length}append(...t){this.appendAll(t)}appendAll(t){let r=0;for(let n of t)if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.push(n);else if(T1(n))r+=n.byteLength,this.bufs.push(...n.bufs);else throw new Error("Could not append value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}prepend(...t){this.prependAll(t)}prependAll(t){let r=0;for(let n of t.reverse())if(n instanceof Uint8Array)r+=n.byteLength,this.bufs.unshift(n);else if(T1(n))r+=n.byteLength,this.bufs.unshift(...n.bufs);else throw new Error("Could not prepend value, must be an Uint8Array or a Uint8ArrayList");this.length+=r}get(t){let r=m8(this.bufs,t);return r.buf[r.index]}set(t,r){let n=m8(this.bufs,t);n.buf[n.index]=r}write(t,r=0){if(t instanceof Uint8Array)for(let n=0;n<t.length;n++)this.set(r+n,t[n]);else if(T1(t))for(let n=0;n<t.length;n++)this.set(r+n,t.get(n));else throw new Error("Could not write value, must be an Uint8Array or a Uint8ArrayList")}consume(t){if(t=Math.trunc(t),!(Number.isNaN(t)||t<=0)){if(t===this.byteLength){this.bufs=[],this.length=0;return}for(;this.bufs.length>0;)if(t>=this.bufs[0].byteLength)t-=this.bufs[0].byteLength,this.length-=this.bufs[0].byteLength,this.bufs.shift();else{this.bufs[0]=this.bufs[0].subarray(t),this.length-=t;break}}}slice(t,r){let{bufs:n,length:i}=this._subList(t,r);return at(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:at(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),o=new Ye;return o.length=i,o.bufs=n,o}_subList(t,r){if(t=t??0,r=r??this.length,t<0&&(t=this.length+t),r<0&&(r=this.length+r),t<0||r>this.length)throw new RangeError("index is out of bounds");if(t===r)return{bufs:[],length:0};if(t===0&&r===this.length)return{bufs:[...this.bufs],length:this.length};let n=[],i=0;for(let o=0;o<this.bufs.length;o++){let s=this.bufs[o],a=i,c=a+s.byteLength;if(i=c,t>=c)continue;let u=t>=a&&t<c,f=r>a&&r<=c;if(u&&f){if(t===a&&r===c){n.push(s);break}let l=t-a;n.push(s.subarray(l,l+(r-t)));break}if(u){if(t===0){n.push(s);continue}n.push(s.subarray(t-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-t}}indexOf(t,r=0){if(!T1(t)&&!(t instanceof Uint8Array))throw new TypeError('The "value" argument must be a Uint8ArrayList or Uint8Array');let n=t instanceof Uint8Array?t:t.subarray();if(r=Number(r??0),isNaN(r)&&(r=0),r<0&&(r=this.length+r),r<0&&(r=0),t.length===0)return r>this.length?this.length:r;let i=n.byteLength;if(i===0)throw new TypeError("search must be at least 1 byte long");let 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 d=u;d>=0;d--){let p=this.get(l+d);if(n[d]!==p){f=Math.max(1,d-a[p]);break}}if(f===0)return l}return-1}getInt8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getInt8(0)}setInt8(t,r){let n=ge(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setInt8(0,r),this.write(n,t)}getInt16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt16(0,r)}setInt16(t,r,n){let i=tr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt16(0,r,n),this.write(i,t)}getInt32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getInt32(0,r)}setInt32(t,r,n){let i=tr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setInt32(0,r,n),this.write(i,t)}getBigInt64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigInt64(0,r)}setBigInt64(t,r,n){let i=tr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigInt64(0,r,n),this.write(i,t)}getUint8(t){let r=this.subarray(t,t+1);return new DataView(r.buffer,r.byteOffset,r.byteLength).getUint8(0)}setUint8(t,r){let n=ge(1);new DataView(n.buffer,n.byteOffset,n.byteLength).setUint8(0,r),this.write(n,t)}getUint16(t,r){let n=this.subarray(t,t+2);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint16(0,r)}setUint16(t,r,n){let i=tr(2);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint16(0,r,n),this.write(i,t)}getUint32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getUint32(0,r)}setUint32(t,r,n){let i=tr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setUint32(0,r,n),this.write(i,t)}getBigUint64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getBigUint64(0,r)}setBigUint64(t,r,n){let i=tr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setBigUint64(0,r,n),this.write(i,t)}getFloat32(t,r){let n=this.subarray(t,t+4);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat32(0,r)}setFloat32(t,r,n){let i=tr(4);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat32(0,r,n),this.write(i,t)}getFloat64(t,r){let n=this.subarray(t,t+8);return new DataView(n.buffer,n.byteOffset,n.byteLength).getFloat64(0,r)}setFloat64(t,r,n){let i=tr(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof Ye)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!ot(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new Ye;return n.bufs=t,r==null&&(r=t.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};function R1(e){return e instanceof Uint8Array?{get(t){return e[t]},set(t,r){e[t]=r}}:{get(t){return e.get(t)},set(t,r){e.set(t,r)}}}var v8=4294967296,ie=class{constructor(t=0,r=0){this.hi=t,this.lo=r}toBigInt(t){if(t===!0)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)}toNumber(t){return Number(this.toBigInt(t))}zzDecode(){let t=-(this.lo&1),r=((this.lo>>>1|this.hi<<31)^t)>>>0,n=(this.hi>>>1^t)>>>0;return new ie(n,r)}zzEncode(){let t=this.hi>>31,r=((this.hi<<1|this.lo>>>31)^t)>>>0,n=(this.lo<<1^t)>>>0;return new ie(r,n)}toBytes(t,r=0){let n=R1(t);for(;this.hi>0;)n.set(r++,this.lo&127|128),this.lo=(this.lo>>>7|this.hi<<25)>>>0,this.hi>>>=7;for(;this.lo>127;)n.set(r++,this.lo&127|128),this.lo=this.lo>>>7;n.set(r++,this.lo)}static fromBigInt(t){if(t===0n)return new ie;let r=t<0;r&&(t=-t);let n=Number(t>>32n)|0,i=Number(t-(BigInt(n)<<32n))|0;return r&&(n=~n>>>0,i=~i>>>0,++i>v8&&(i=0,++n>v8&&(n=0))),new ie(n,i)}static fromNumber(t){if(t===0)return new ie;let r=t<0;r&&(t=-t);let n=t>>>0,i=(t-n)/4294967296>>>0;return r&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new ie(i,n)}static fromBytes(t,r=0){let n=R1(t),i=new ie,o=0;if(t.length-r>4){for(;o<4;++o)if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i;if(i.lo=(i.lo|(n.get(r)&127)<<28)>>>0,i.hi=(i.hi|(n.get(r)&127)>>4)>>>0,n.get(r++)<128)return i;o=0}else for(;o<4;++o){if(r>=t.length)throw RangeError(`index out of range: ${r} > ${t.length}`);if(i.lo=(i.lo|(n.get(r)&127)<<o*7)>>>0,n.get(r++)<128)return i}if(t.length-r>4){for(;o<5;++o)if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}else if(r<t.byteLength)for(;o<5;++o){if(r>=t.length)throw RangeError(`index out of range: ${r} > ${t.length}`);if(i.hi=(i.hi|(n.get(r)&127)<<o*7+3)>>>0,n.get(r++)<128)return i}throw RangeError("invalid varint encoding")}};var np=Math.pow(2,7),ip=Math.pow(2,14),op=Math.pow(2,21),sp=Math.pow(2,28),ap=Math.pow(2,35),cp=Math.pow(2,42),up=Math.pow(2,49),fp=Math.pow(2,56),lp=Math.pow(2,63),cn={encodingLength(e){return e<np?1:e<ip?2:e<op?3:e<sp?4:e<ap?5:e<cp?6:e<up?7:e<fp?8:e<lp?9:10},encode(e,t,r=0){if(Number.MAX_SAFE_INTEGER!=null&&e>Number.MAX_SAFE_INTEGER)throw new RangeError("Could not encode varint");return t==null&&(t=ge(cn.encodingLength(e))),ie.fromNumber(e).toBytes(t,r),t},decode(e,t=0){return ie.fromBytes(e,t).toNumber(!0)}};function w8(e){return globalThis?.Buffer?.allocUnsafe!=null?globalThis.Buffer.allocUnsafe(e):new Uint8Array(e)}var P1=e=>{let t=cn.encodingLength(e),r=w8(t);return cn.encode(e,r),P1.bytes=t,r};P1.bytes=0;function un(e){e=e??{};let t=e.lengthEncoder??P1;return async function*(n){for await(let i of n){let o=t(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}}}un.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??P1;return new Ye(r(e.byteLength),e)};var Y0=K(W0(),1),pp=8,dp=1024*1024*4,fn;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(fn||(fn={}));var x2=e=>{let t=cn.decode(e);return x2.bytes=cn.encodingLength(t),t};x2.bytes=0;function ln(e){return async function*(r){let n=new Ye,i=fn.LENGTH,o=-1,s=e?.lengthDecoder??x2,a=e?.maxLengthLength??pp,c=e?.maxDataLength??dp;for await(let u of r)for(n.append(u);n.byteLength>0;){if(i===fn.LENGTH)try{if(o=s(n),o<0)throw(0,Y0.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(o>c)throw(0,Y0.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let f=s.bytes;n.consume(f),e?.onLength!=null&&e.onLength(o),i=fn.DATA}catch(f){if(f instanceof RangeError){if(n.byteLength>a)throw(0,Y0.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw f}if(i===fn.DATA){if(n.byteLength<o)break;let f=n.sublist(0,o);n.consume(o),e?.onData!=null&&e.onData(f),yield f,i=fn.LENGTH}}if(n.byteLength>0)throw(0,Y0.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}}ln.fromReader=(e,t)=>{let r=1,n=async function*(){for(;;)try{let{done:o,value:s}=await e.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({...t??{},onLength:o=>{r=o}})(n)};async function v2(e){for await(let t of e);}async function w2(e){for await(let t of e)return t}var A8=J3,yp=t4,b2=function(e){let t=0;if(e=e.toString().trim(),A8(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(yp(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=A8(r[n]),s;o&&(s=b2(r[n]),r[n]=M(s.slice(0,2),"base16")),s!=null&&++n<8&&r.splice(n,0,M(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(t+16);for(n=0;n<r.length;n++){let o=parseInt(r[n],16);i[t++]=o>>8&255,i[t++]=o&255}return i}throw new Error("invalid ip address")},B8=function(e,t=0,r){t=~~t,r=r??e.length-t;let n=new DataView(e.buffer);if(r===4){let i=[];for(let o=0;o<r;o++)i.push(e[t+o]);return i.join(".")}if(r===16){let i=[];for(let o=0;o<r;o+=2)i.push(n.getUint16(t+o).toString(16));return i.join(":").replace(/(^|:)0(:0)*:0(:|$)/,"$1::$3").replace(/:{3,4}/,"::")}return""};var Z0={},E2={},mp=[[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"],[281,0,"webrtc-w3c"],[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"]];mp.forEach(e=>{let t=xp(...e);E2[t.code]=t,Z0[t.name]=t});function xp(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function pt(e){if(typeof e=="number"){if(E2[e]!=null)return E2[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(Z0[e]!=null)return Z0[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var Ze=K(X0(),1);function M8(e,t){switch(pt(e).code){case 4:case 41:return Np(t);case 42:return U8(t);case 6:case 273:case 33:case 132:return V8(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return U8(t);case 421:return Up(t);case 444:return O8(t);case 445:return O8(t);case 466:return Fp(t);default:return M(t,"base16")}}function K8(e,t){switch(pt(e).code){case 4:return D8(t);case 41:return D8(t);case 42:return F8(t);case 6:case 273:case 33:case 132:return I2(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return F8(t);case 421:return kp(t);case 444:return Op(t);case 445:return Mp(t);case 466:return Dp(t);default:return xt(t,"base16")}}var B2=Object.values(vr).map(e=>e.decoder),Lp=function(){let e=B2[0].or(B2[1]);return B2.slice(2).forEach(t=>e=e.or(t)),e}();function D8(e){if(!_n(e))throw new Error("invalid ip address");return b2(e)}function Np(e){let t=B8(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!_n(t))throw new Error("invalid ip address");return t}function I2(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function V8(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function F8(e){let t=xt(e),r=Uint8Array.from(Ze.default.encode(t.length));return at([r,t],r.length+t.length)}function U8(e){let t=Ze.default.decode(e);if(e=e.slice(Ze.default.decode.bytes),e.length!==t)throw new Error("inconsistent lengths");return M(e)}function kp(e){let t;e[0]==="Q"||e[0]==="1"?t=Vr(St.decode(`z${e}`)).bytes:t=tt.parse(e).multihash.bytes;let r=Uint8Array.from(Ze.default.encode(t.length));return at([r,t],r.length+t.length)}function Dp(e){let t=Lp.decode(e),r=Uint8Array.from(Ze.default.encode(t.length));return at([r,t],r.length+t.length)}function Fp(e){let t=Ze.default.decode(e),r=e.slice(Ze.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return"u"+M(r,"base64url")}function Up(e){let t=Ze.default.decode(e),r=e.slice(Ze.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return M(r,"base58btc")}function Op(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=ye.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=I2(n);return at([r,i],r.length+i.length)}function Mp(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=ye.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=I2(n);return at([r,i],r.length+i.length)}function O8(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=M(t,"base32"),i=V8(r);return`${n}:${i}`}var r0=K(X0(),1);function Kp(e){let t=[],r=e.split("/").slice(1);if(r.length===1&&r[0]==="")return[];for(let n=0;n<r.length;n++){let i=r[n],o=pt(i);if(o.size===0){t.push([i]);continue}if(n++,n>=r.length)throw z8("invalid address: "+e);if(o.path===!0){t.push([i,P2(r.slice(n).join("/"))]);break}t.push([i,r[n]])}return t}function Vp(e){let t=[];return e.map(r=>{let n=k1(r);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),P2(t.join("/"))}function qp(e){return e.map(t=>{Array.isArray(t)||(t=[t]);let r=k1(t);return t.length>1?[r.code,K8(r.code,t[1])]:[r.code]})}function C2(e){return e.map(t=>{let r=k1(t);return t[1]!=null?[r.code,M8(r.code,t[1])]:[r.code]})}function _2(e){return N1(at(e.map(t=>{let r=k1(t),n=Uint8Array.from(r0.default.encode(r.code));return t.length>1&&t[1]!=null&&(n=at([n,t[1]])),n})))}function T2(e,t){return e.size>0?e.size/8:e.size===0?0:r0.default.decode(t)+(r0.default.decode.bytes??0)}function L1(e){let t=[],r=0;for(;r<e.length;){let n=r0.default.decode(e,r),i=r0.default.decode.bytes??0,o=pt(n),s=T2(o,e.slice(r+i));if(s===0){t.push([n]),r+=i;continue}let a=e.slice(r+i,r+i+s);if(r+=s+i,r>e.length)throw z8("Invalid address Uint8Array: "+M(e,"base16"));t.push([n,a])}return t}function R2(e){let t=L1(e),r=C2(t);return Vp(r)}function zp(e){e=P2(e);let t=Kp(e),r=qp(t);return _2(r)}function q8(e){return zp(e)}function N1(e){let t=$p(e);if(t!=null)throw t;return Uint8Array.from(e)}function $p(e){try{L1(e)}catch(t){return t}}function P2(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function z8(e){return new Error("Error parsing address: "+e)}function k1(e){return pt(e[0])}var N2=K(X0(),1);var H8=K(W0(),1);var n0=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},L2=function(e,t,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},j0,J0,ti,$8,Gp=Symbol.for("nodejs.util.inspect.custom"),Qp=[pt("dns").code,pt("dns4").code,pt("dns6").code,pt("dnsaddr").code],Wp=new Map,G8=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Yp(e){return!!e?.[G8]}var hr=class{constructor(t){if(j0.set(this,void 0),J0.set(this,void 0),ti.set(this,void 0),this[$8]=!0,t==null&&(t=""),t instanceof Uint8Array)this.bytes=N1(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);this.bytes=q8(t)}else if(Yp(t))this.bytes=N1(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return n0(this,j0,"f")==null&&L2(this,j0,R2(this.bytes),"f"),n0(this,j0,"f")}toJSON(){return this.toString()}toOptions(){let t,r,n,i,o="",s=pt("tcp"),a=pt("udp"),c=pt("ip4"),u=pt("ip6"),f=pt("dns6"),l=pt("ip6zone");for(let[p,h]of this.stringTuples())p===l.code&&(o=`%${h??""}`),Qp.includes(p)&&(r=s.name,i=443,n=`${h??""}${o}`,t=p===f.code?6:4),(p===s.code||p===a.code)&&(r=pt(p).name,i=parseInt(h??"")),(p===c.code||p===u.code)&&(r=pt(p).name,n=`${h??""}${o}`,t=p===u.code?6:4);if(t==null||r==null||n==null||i==null)throw new Error('multiaddr must have a valid format: "/{ip4, ip6, dns4, dns6, dnsaddr}/{address}/{tcp, udp}/{port}".');return{family:t,host:n,transport:r,port:i}}protos(){return this.protoCodes().map(t=>Object.assign({},pt(t)))}protoCodes(){let t=[],r=this.bytes,n=0;for(;n<r.length;){let i=N2.default.decode(r,n),o=N2.default.decode.bytes??0,s=pt(i),a=T2(s,r.slice(n+o));n+=a+o,t.push(i)}return t}protoNames(){return this.protos().map(t=>t.name)}tuples(){return n0(this,J0,"f")==null&&L2(this,J0,L1(this.bytes),"f"),n0(this,J0,"f")}stringTuples(){return n0(this,ti,"f")==null&&L2(this,ti,C2(this.tuples()),"f"),n0(this,ti,"f")}encapsulate(t){return t=new hr(t),new hr(this.toString()+t.toString())}decapsulate(t){let r=t.toString(),n=this.toString(),i=n.lastIndexOf(r);if(i<0)throw new Error(`Address ${this.toString()} does not contain subaddress: ${t.toString()}`);return new hr(n.slice(0,i))}decapsulateCode(t){let r=this.tuples();for(let n=r.length-1;n>=0;n--)if(r[n][0]===t)return new hr(_2(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===Z0.ipfs.code).pop();if(r?.[1]!=null){let n=r[1];return n[0]==="Q"||n[0]==="1"?M(St.decode(`z${n}`),"base58btc"):M(tt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){let t=null;try{t=this.stringTuples().filter(r=>pt(r[0]).path===!0)[0][1],t==null&&(t=null)}catch{t=null}return t}equals(t){return ot(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=Wp.get(r.name);if(n==null)throw(0,H8.default)(new Error(`no available resolver for ${r.name}`),"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(o=>new hr(o))}nodeAddress(){let t=this.toOptions();if(t.transport!=="tcp"&&t.transport!=="udp")throw new Error(`multiaddr must have a valid format - no protocol with name: "${t.transport}". Must have a valid transport protocol: "{tcp, udp}"`);return{family:t.family,address:t.host,port:t.port}}isThinWaistAddress(t){let r=(t??this).protos();return!(r.length!==2||r[0].code!==4&&r[0].code!==41||r[1].code!==6&&r[1].code!==273)}[(j0=new WeakMap,J0=new WeakMap,ti=new WeakMap,$8=G8,Gp)](){return`Multiaddr(${R2(this.bytes)})`}};function Q8(e){return new hr(e)}var W8;(function(e){let t;e.codec=()=>(t==null&&(t=Ue((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})),t),e.encode=r=>Fe(r,e.codec()),e.decode=r=>De(r,e.codec())})(W8||(W8={}));var Ur;(function(e){let t;(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"})(t=e.MessageType||(e.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=()=>In(r)}(t=e.MessageType||(e.MessageType={}));let n;(function(a){a.NOT_CONNECTED="NOT_CONNECTED",a.CONNECTED="CONNECTED",a.CAN_CONNECT="CAN_CONNECT",a.CANNOT_CONNECT="CANNOT_CONNECT"})(n=e.ConnectionType||(e.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=()=>In(i)}(n=e.ConnectionType||(e.ConnectionType={}));let o;(function(a){let c;a.codec=()=>(c==null&&(c=Ue((u,f,l={})=>{if(l.lengthDelimited!==!1&&f.fork(),u.id!=null&&(f.uint32(10),f.bytes(u.id)),u.addrs!=null)for(let d of u.addrs)f.uint32(18),f.bytes(d);else throw new Error('Protocol error: required field "addrs" was not found in object');u.connection!=null&&(f.uint32(24),e.ConnectionType.codec().encode(u.connection,f)),l.lengthDelimited!==!1&&f.ldelim()},(u,f)=>{let l={addrs:[]},d=f==null?u.len:u.pos+f;for(;u.pos<d;){let p=u.uint32();switch(p>>>3){case 1:l.id=u.bytes();break;case 2:l.addrs.push(u.bytes());break;case 3:l.connection=e.ConnectionType.codec().decode(u);break;default:u.skipType(p&7);break}}return l})),c),a.encode=u=>Fe(u,a.codec()),a.decode=u=>De(u,a.codec())})(o=e.Peer||(e.Peer={}));let s;e.codec=()=>(s==null&&(s=Ue((a,c,u={})=>{if(u.lengthDelimited!==!1&&c.fork(),a.type!=null&&(c.uint32(8),e.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),e.Peer.codec().encode(f,c);else throw new Error('Protocol error: required field "closerPeers" was not found in object');if(a.providerPeers!=null)for(let f of a.providerPeers)c.uint32(74),e.Peer.codec().encode(f,c);else throw new Error('Protocol error: required field "providerPeers" was not found in object');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=e.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(e.Peer.codec().decode(a,a.uint32()));break;case 9:u.providerPeers.push(e.Peer.codec().decode(a,a.uint32()));break;default:a.skipType(l&7);break}}return u})),s),e.encode=a=>Fe(a,e.codec()),e.decode=a=>De(a,e.codec())})(Ur||(Ur={}));var _t=Ur.MessageType,Zp=Ur.ConnectionType,X8=Object.keys(_t),gt=class{constructor(t,r,n){if(!(r instanceof Uint8Array))throw new Error("Key must be a Uint8Array");this.type=t,this.key=r,this.clusterLevelRaw=n,this.closerPeers=[],this.providerPeers=[],this.record=void 0}get clusterLevel(){let t=this.clusterLevelRaw-1;return t<0?0:t}set clusterLevel(t){this.clusterLevelRaw=t}serialize(){return Ur.encode({key:this.key,type:this.type,clusterLevelRaw:this.clusterLevelRaw,closerPeers:this.closerPeers.map(Y8),providerPeers:this.providerPeers.map(Y8),record:this.record==null?void 0:this.record.serialize().subarray()})}static deserialize(t){let r=Ur.decode(t),n=new gt(r.type??Ur.MessageType.PUT_VALUE,r.key??Uint8Array.from([]),r.clusterLevelRaw??0);return n.closerPeers=r.closerPeers.map(Z8),n.providerPeers=r.providerPeers.map(Z8),r.record?.length!=null&&(n.record=Pt.deserialize(r.record)),n}};function Y8(e){return{id:e.id.toBytes(),addrs:(e.multiaddrs??[]).map(r=>r.bytes),connection:Zp.CONNECTED}}function Z8(e){if(e.id==null)throw new Error("Invalid peer in message");return{id:Qr(e.id),multiaddrs:(e.addrs??[]).map(t=>Q8(t)),protocols:[]}}var hn=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},pr,pe=class extends EventTarget{constructor(){super(...arguments),pr.set(this,new Map)}listenerCount(t){let r=hn(this,pr,"f").get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=hn(this,pr,"f").get(t);i==null&&(i=[],hn(this,pr,"f").set(t,i)),i.push({callback:r,once:(n!==!0&&n!==!1&&n?.once)??!1})}removeEventListener(t,r,n){super.removeEventListener(t.toString(),r??null,n);let i=hn(this,pr,"f").get(t);i!=null&&(i=i.filter(({callback:o})=>o!==r),hn(this,pr,"f").set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=hn(this,pr,"f").get(t.type);return n==null||(n=n.filter(({once:i})=>!i),hn(this,pr,"f").set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new oe(t,r))}};pr=new WeakMap;var k2=class extends Event{constructor(t,r){super(t,r),this.detail=r?.detail}},oe=globalThis.CustomEvent??k2;function D2(e){return{...e,name:"SENDING_QUERY",type:0,messageName:e.type,messageType:X8.indexOf(e.type.toString())}}function ei(e){return{...e,name:"PEER_RESPONSE",type:1,messageName:e.messageType,closer:e.closer!=null?e.closer:[],providers:e.providers!=null?e.providers:[]}}function ri(e){return{...e,name:"FINAL_PEER",type:2}}function Gt(e){return{...e,name:"QUERY_ERROR",type:3}}function F2(e){return{...e,name:"PROVIDER",type:4}}function ni(e){return{...e,name:"VALUE",type:5}}function U2(e){return{...e,name:"DIALING_PEER",type:7}}var ii=class extends Error{constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function j8(e){if(e!=null){if(typeof e[Symbol.iterator]=="function")return e[Symbol.iterator]();if(typeof e[Symbol.asyncIterator]=="function")return e[Symbol.asyncIterator]();if(typeof e.next=="function")return e}throw new Error("argument is not an iterator or iterable")}function J8(e,t,r){let n=r??{},i=j8(e);async function*o(){let s,a=()=>{s?.()};for(t.addEventListener("abort",a);;){let c;try{if(t.aborted){let{abortMessage:f,abortCode:l}=n;throw new ii(f,l)}let u=new Promise((f,l)=>{s=()=>{let{abortMessage:d,abortCode:p}=n;l(new ii(d,p))}});c=await Promise.race([u,i.next()]),s=null}catch(u){t.removeEventListener("abort",a);let f=u.type==="aborted"&&t.aborted;if(f&&n.onAbort!=null&&await n.onAbort(e),typeof i.return=="function")try{let l=i.return();l instanceof Promise&&l.catch(d=>{n.onReturnError!=null&&n.onReturnError(d)})}catch(l){n.onReturnError!=null&&n.onReturnError(l)}if(f&&n.returnOnAbort===!0)return;throw u}if(c.done===!0)break;yield c.value}t.removeEventListener("abort",a)}return o()}function Xp(e,t,r){return n=>e(J8(n,t,r))}function O2(e,t,r){return{sink:Xp(e.sink,t,{...r,onAbort:void 0}),source:J8(e.source,t,r)}}var D1=class extends pe{constructor(t,r){super();let{protocol:n,lan:i}=r;this.components=t,this.log=$(`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(t,r,n={}){if(!this.running)return;this.log("sending %s to %p",r.type,t),yield U2({peer:t}),yield D2({to:t,type:r.type});let i;try{let s=await(await this.components.connectionManager.openConnection(t,n)).newStream(this.protocol,n),a=await this._writeReadMessage(s,r.serialize(),n);yield ei({from:t,messageType:a.type,closer:a.closerPeers,providers:a.providerPeers,record:a.record})}catch(o){yield Gt({from:t,error:o})}finally{i?.close()}}async*sendMessage(t,r,n={}){if(!this.running)return;this.log("sending %s to %p",r.type,t),yield U2({peer:t}),yield D2({to:t,type:r.type});let i;try{let s=await(await this.components.connectionManager.openConnection(t,n)).newStream(this.protocol,n);await this._writeMessage(s,r.serialize(),n),yield ei({from:t,messageType:r.type})}catch(o){yield Gt({from:t,error:o})}finally{i?.close()}}async _writeMessage(t,r,n){n.signal!=null&&(t=O2(t,n.signal)),await _e([r],un(),t,v2)}async _writeReadMessage(t,r,n){n.signal!=null&&(t=O2(t,n.signal));let i=await _e([r],un(),t,ln(),async s=>{let a=await w2(s);if(a!=null)return a;throw new R("No message received","ERR_NO_MESSAGE_RECEIVED")}),o=gt.deserialize(i);return o.closerPeers.forEach(s=>{this.dispatchEvent(new oe("peer",{detail:s}))}),o.providerPeers.forEach(s=>{this.dispatchEvent(new oe("peer",{detail:s}))}),o}};var i0=K(W0(),1);function o0(e,t){let r=t.key,i=M(r).split("/");if(i.length<3)return;let o=e[i[1].toString()];if(o==null){let s="Invalid record keytype";throw(0,i0.default)(new Error(s),"ERR_INVALID_RECORD_KEY_TYPE")}return o(r,t.value)}var jp=async(e,t)=>{if(!(e instanceof Uint8Array))throw(0,i0.default)(new Error('"key" must be a Uint8Array'),"ERR_INVALID_RECORD_KEY_NOT_BUFFER");if(e.byteLength<5)throw(0,i0.default)(new Error("invalid public key record"),"ERR_INVALID_RECORD_KEY_TOO_SHORT");if(M(e.subarray(0,4))!=="/pk/")throw(0,i0.default)(new Error("key was not prefixed with /pk/"),"ERR_INVALID_RECORD_KEY_BAD_PREFIX");let n=e.slice(4),i=await mt.digest(t);if(!ot(n,i.bytes))throw(0,i0.default)(new Error("public key does not match passed in key"),"ERR_INVALID_RECORD_HASH_MISMATCH")},tc={pk:jp};var F1=K(W0(),1);function ec(e,t,r){if(r.length===0){let s="No records given";throw(0,F1.default)(new Error(s),"ERR_NO_RECORDS_RECEIVED")}let i=M(t).split("/");if(i.length<3){let s="Record key does not have a selector function";throw(0,F1.default)(new Error(s),"ERR_NO_SELECTOR_FUNCTION_FOR_RECORD_KEY")}let o=e[i[1].toString()];if(o==null){let s=`Unrecognized key prefix: ${i[1]}`;throw(0,F1.default)(new Error(s),"ERR_UNRECOGNIZED_KEY_PREFIX")}return r.length===1?0:o(t,r)}function Jp(e,t){return 0}var rc={pk:Jp};function dr(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var U1=globalThis.CustomEvent??Event;async function*oi(e,t={}){let r=t.concurrency??1/0;r<1&&(r=1/0);let n=t.ordered==null?!1:t.ordered,i=new EventTarget,o=[],s=dr(),a=dr(),c=!1,u,f=!1;i.addEventListener("task-complete",()=>{a.resolve()}),Promise.resolve().then(async()=>{try{for await(let h of e){if(o.length===r&&(s=dr(),await s.promise),f)break;let y={done:!1};o.push(y),h().then(g=>{y.done=!0,y.ok=!0,y.value=g,i.dispatchEvent(new U1("task-complete"))},g=>{y.done=!0,y.err=g,i.dispatchEvent(new U1("task-complete"))})}c=!0,i.dispatchEvent(new U1("task-complete"))}catch(h){u=h,i.dispatchEvent(new U1("task-complete"))}});function l(){return n?o[0]?.done:!!o.find(h=>h.done)}function*d(){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*p(){for(;l();)for(let h=0;h<o.length;h++)if(o[h].done){let y=o[h];if(o.splice(h,1),h--,y.ok)yield y.value;else throw f=!0,s.resolve(),y.err;s.resolve()}}for(;;){if(l()||(a=dr(),await a.promise),u!=null)throw u;if(n?yield*d():yield*p(),c&&o.length===0)break}}async function*si(e,t){for await(let r of e)yield t(r)}var O1=class{constructor(t,r){let{validators:n,selectors:i,peerRouting:o,queryManager:s,routingTable:a,network:c,lan:u}=r;this.components=t,this.log=$(`libp2p:kad-dht:${u?"lan":"wan"}:content-fetching`),this.validators=n,this.selectors=i,this.peerRouting=o,this.queryManager=s,this.routingTable=a,this.network=c}async putLocal(t,r){let n=rr(t);await this.components.datastore.put(n,r)}async getLocal(t){this.log("getLocal %b",t);let r=rr(t);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=Pt.deserialize(n);return await o0(this.validators,i),i}async*sendCorrectionRecord(t,r,n,i={}){this.log("sendCorrection for %b",t);let o=hs(t,n);for(let{value:s,from:a}of r){if(ot(s,n)){this.log("record was ok");continue}if(this.components.peerId.equals(a)){try{let f=rr(t);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 gt(_t.PUT_VALUE,t,0);u.record=Pt.deserialize(o);for await(let f of this.network.sendRequest(a,u,i))f.name==="PEER_RESPONSE"&&f.record!=null&&ot(f.record.value,Pt.deserialize(o).value)&&(c=!0),yield f;c||(yield Gt({from:a,error:new R("value not put correctly","ERR_PUT_VALUE_INVALID")})),this.log.error("Failed error correcting entry")}}async*put(t,r,n={}){this.log("put key %b value %b",t,r);let i=hs(t,r),o=rr(t);this.log(`storing record for key ${o.toString()}`),await this.components.datastore.put(o,i.subarray()),yield*_e(this.peerRouting.getClosestPeers(t,{signal:n.signal}),s=>si(s,a=>async()=>{if(a.name!=="FINAL_PEER")return[a];let c=[],u=new gt(_t.PUT_VALUE,t,0);u.record=Pt.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&&ot(f.record.value,Pt.deserialize(i).value)||c.push(Gt({from:a.peer.id,error:new R("value not put correctly","ERR_PUT_VALUE_INVALID")})));return c}),s=>oi(s,{ordered:!1,concurrency:3}),async function*(s){for await(let a of s)yield*a})}async*get(t,r={}){this.log("get %b",t);let n=[];for await(let a of this.getMany(t,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=ec(this.selectors,t,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",t,s),s==null)throw new R("best value was not found","ERR_NOT_FOUND");yield*this.sendCorrectionRecord(t,n,s,r),yield n[o]}async*getMany(t,r={}){this.log("getMany values for %b",t);try{let a=await this.getLocal(t);yield ni({value:a.value,from:this.components.peerId})}catch(a){this.log("error getting local value for %b",t,a)}let n=await Oe(t),i=this.routingTable.closestPeers(n);this.log("found %d peers in routing table",i.length);let o=this,s=async function*({peer:a,signal:c}){for await(let u of o.peerRouting.getValueOrPeers(a,t,{signal:c}))yield u,u.name==="PEER_RESPONSE"&&u.record!=null&&(yield ni({from:a,value:u.record.value}))};yield*this.queryManager.run(t,i,s,r)}};var M1=class{constructor(t,r){let{network:n,peerRouting:i,queryManager:o,routingTable:s,providers:a,lan:c}=r;this.components=t,this.log=$(`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(t,r,n={}){this.log("provide %s",t),await this.providers.addProvider(t,this.components.peerId);let i=new gt(_t.ADD_PROVIDER,t.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",t,a.peer.id);try{this.log("sending provider record for %s to %p",t,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",t,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(Gt({from:a.peer.id,error:u}))}return c};yield*_e(this.peerRouting.getClosestPeers(t.multihash.bytes,n),a=>si(a,c=>s(c)),a=>oi(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(t,r){let n=this.routingTable.kBucketSize,i=t.multihash.bytes,o=await Oe(i),s=this;this.log("findProviders %c",t);let a=await this.providers.getProviders(t);if(a.length>0){let f=[];for(let l of a.slice(0,n))f.push({id:l,multiaddrs:(await this.components.peerStore.addressBook.get(l)??[]).map(d=>d.multiaddr),protocols:[]});yield ei({from:this.components.peerId,messageType:_t.GET_PROVIDERS,providers:f}),yield F2({from:this.components.peerId,providers:f})}if(a.length>=n)return;let c=async function*({peer:f,signal:l}){let d=new gt(_t.GET_PROVIDERS,i,0);yield*s.network.sendRequest(f,d,{signal:l})},u=new Set(a.map(f=>f.toString()));for await(let f of this.queryManager.run(i,this.routingTable.closestPeers(o),c,r))if(yield f,f.name==="PEER_RESPONSE"){this.log("Found %d provider entries for %c and %d closer peers",f.providers.length,t,f.closer.length);let l=[];for(let d of f.providers)u.has(d.id.toString())||(u.add(d.id.toString()),l.push(d));if(l.length>0&&(yield F2({from:f.from,providers:l})),u.size===n)return}}};function K1(e,t){for(let r=0;r<e.byteLength;r++){if(e[r]<t[r])return-1;if(e[r]>t[r])return 1}return e.byteLength>t.byteLength?1:e.byteLength<t.byteLength?-1:0}var V1=class{constructor(t,r){this.originDhtKey=t,this.capacity=r,this.peerDistances=[]}get length(){return this.peerDistances.length}get peers(){return this.peerDistances.map(t=>t.peerId)}async add(t){if(this.peerDistances.find(i=>i.peerId.equals(t))!=null)return;let r=await jt(t),n={peerId:t,distance:sr(this.originDhtKey,r)};this.peerDistances.push(n),this.peerDistances.sort((i,o)=>K1(i.distance,o.distance)),this.peerDistances=this.peerDistances.slice(0,this.capacity)}async anyCloser(t){if(t.length===0)return!1;if(this.length===0)return!0;let r=await Promise.all(t.map(jt)),n=this.peerDistances[this.peerDistances.length-1].distance;for(let i of r){let o=sr(this.originDhtKey,i);if(K1(o,n)<0)return!0}return!1}};var q1=class{constructor(t,r){let{routingTable:n,network:i,validators:o,queryManager:s,lan:a}=r;this.components=t,this.routingTable=n,this.network=i,this.validators=o,this.queryManager=s,this.log=$(`libp2p:kad-dht:${a?"lan":"wan"}:peer-routing`)}async findPeerLocal(t){let r,n=await this.routingTable.find(t);if(n!=null){this.log("findPeerLocal found %p in routing table",t);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(t)}catch(i){if(i.code!=="ERR_NOT_FOUND")throw i}if(r!=null)return this.log("findPeerLocal found %p in peer store",t),{id:r.id,multiaddrs:r.addresses.map(i=>i.multiaddr),protocols:[]}}async*_getValueSingle(t,r,n={}){let i=new gt(_t.GET_VALUE,r,0);yield*this.network.sendRequest(t,i,n)}async*getPublicKeyFromNode(t,r={}){let n=y4(t);for await(let i of this._getValueSingle(t,n,r))if(yield i,i.name==="PEER_RESPONSE"&&i.record!=null){let o=await f4(A1.marshalPublicKey({bytes:i.record.value}));if(!o.equals(t))throw new R("public key does not match id","ERR_PUBLIC_KEY_DOES_NOT_MATCH_ID");if(o.publicKey==null)throw new R("public key missing","ERR_PUBLIC_KEY_MISSING");yield ni({from:t,value:o.publicKey})}throw new R(`Node not responding with its public key: ${t.toString()}`,"ERR_INVALID_RECORD")}async*findPeer(t,r={}){this.log("findPeer %p",t);let n=await this.findPeerLocal(t);if(n!=null){this.log("found local"),yield ri({from:this.components.peerId,peer:n});return}let i=await jt(t),o=this.routingTable.closestPeers(i);if(o.find(f=>f.equals(t))!=null)try{let f=await this.components.peerStore.get(t);this.log("found in peerStore"),yield ri({from:this.components.peerId,peer:{id:f.id,multiaddrs:f.addresses.map(l=>l.multiaddr),protocols:[]}});return}catch(f){if(f.code!=="ERR_NOT_FOUND")throw f}let a=this,c=async function*({peer:f,signal:l}){let d=new gt(_t.FIND_NODE,t.toBytes(),0);for await(let p of a.network.sendRequest(f,d,{signal:l}))if(yield p,p.name==="PEER_RESPONSE"){let h=p.closer.find(y=>y.id.equals(t));h!=null&&(yield ri({from:p.from,peer:h}))}},u=!1;for await(let f of this.queryManager.run(t.toBytes(),o,c,r))f.name==="FINAL_PEER"&&(u=!0),yield f;u||(yield Gt({from:this.components.peerId,error:new R("Not found","ERR_NOT_FOUND")}))}async*getClosestPeers(t,r={}){this.log("getClosestPeers to %b",t);let n=await Oe(t),i=this.routingTable.closestPeers(n),o=this,s=new V1(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",M(t,"base32"),c);let f=new gt(_t.FIND_NODE,t,0);yield*o.network.sendRequest(c,f,{signal:u})};for await(let c of this.queryManager.run(t,i,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,t);for(let c of s.peers)yield ri({from:this.components.peerId,peer:{id:c,multiaddrs:(await this.components.peerStore.addressBook.get(c)??[]).map(u=>u.multiaddr),protocols:[]}})}async*getValueOrPeers(t,r,n={}){for await(let i of this._getValueSingle(t,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 Gt({from:i.from,error:new R(s,"ERR_INVALID_RECORD")});continue}yield i}}async _verifyRecordOnline(t){if(t.timeReceived==null)throw new R("invalid record received","ERR_INVALID_RECORD");await o0(this.validators,new Pt(t.key,t.value,t.timeReceived))}async getCloserPeersOffline(t,r){let n=await Oe(t),i=this.routingTable.closestPeers(n),o=[];for(let s of i)if(!s.equals(r))try{let a=await this.components.peerStore.addressBook.get(s),c=await this.components.peerStore.protoBook.get(s);o.push({id:s,multiaddrs:a.map(u=>u.multiaddr),protocols:c})}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,t,r):this.log("getCloserPeersOffline could not find peer closer to %b than %p",t,r),o}};var oc=K(ic(),1),M2=K(X0(),1);var yr=$("libp2p:kad-dht:providers"),z1=class{constructor(t,r={}){let{cacheSize:n,cleanupInterval:i,provideValidity:o}=r;this.components=t,this.cleanupInterval=i??36e5,this.provideValidity=o??864e5,this.cache=(0,oc.default)(n??256),this.syncQueue=new ir({concurrency:1}),this.started=!1}isStarted(){return this.started}async start(){this.started||(this.started=!0,this.cleaner=setInterval(()=>{this._cleanup().catch(t=>{yr.error(t)})},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 t=Date.now(),r=0,n=0,i=new Map,o=this.components.datastore.batch(),s=this.components.datastore.query({prefix:ls});for await(let a of s)try{let{cid:c,peerId:u}=sc(a.key),f=ac(a.value).getTime(),l=Date.now(),d=l-f,p=d>this.provideValidity;if(yr("comparing: %d - %d = %d > %d %s",l,f,d,this.provideValidity,p?"(expired)":""),p){n++,o.delete(a.key);let h=i.get(c)??new Set;h.add(u),i.set(c,h)}r++}catch(c){yr.error(c.message)}i.size>0?(yr("deleting %d / %d entries",n,r),await o.commit()):yr("nothing to delete");for(let[a,c]of i){let u=ai(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)}}yr("Cleanup successful (%dms)",Date.now()-t)})}async _getProvidersMap(t){let r=ai(t),n=this.cache.get(r);return n==null&&(n=await id(this.components.datastore,t),this.cache.set(r,n)),n}async addProvider(t,r){await this.syncQueue.add(async()=>{yr("%p provides %s",r,t);let n=await this._getProvidersMap(t);yr("loaded %s provs",n.size);let i=new Date;n.set(r.toString(),i);let o=ai(t);this.cache.set(o,n),await nd(this.components.datastore,t,r,i)})}async getProviders(t){return await this.syncQueue.add(async()=>(yr("get providers for %s",t),[...(await this._getProvidersMap(t)).keys()].map(n=>bt(n))),{throwOnTimeout:!0})}};function ai(e){let t=typeof e=="string"?e:M(e.multihash.bytes,"base32");return`${ls}/${t}`}async function nd(e,t,r,n){let i=[ai(t),"/",r.toString()].join(""),o=new Dt(i),s=Uint8Array.from(M2.default.encode(n.getTime()));await e.put(o,s)}function sc(e){let t=e.toString().split("/");if(t.length!==5)throw new Error(`incorrectly formatted provider entry key in datastore: ${e.toString()}`);return{cid:t[3],peerId:t[4]}}async function id(e,t){let r=new Map,n=e.query({prefix:ai(t)});for await(let i of n){let{peerId:o}=sc(i.key);r.set(o,ac(i.value))}return r}function ac(e){return new Date(M2.default.decode(e))}var hc=K(kn(),1),pc=K($1(),1);var uc=K(kn(),1),fc=K($1(),1);var od=BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");async function*lc(e){let{key:t,startingPeer:r,ourPeerId:n,signal:i,query:o,alpha:s,pathIndex:a,numPaths:c,cleanUp:u,queryFuncTimeout:f,log:l,peersSeen:d}=e,p=new ir({concurrency:s}),h=await Oe(t);function y(g,m){if(g==null)return;d.add(g);let v=BigInt("0x"+M(sr(m,h),"base16"));p.add(async()=>{let b,N=[i];f!=null&&(b=new uc.TimeoutController(f),N.push(b.signal));let _=(0,fc.anySignal)(N);try{for await(let C of o({key:t,peer:g,signal:_,pathIndex:a,numPaths:c})){if(_.aborted)return;if(C.name==="PEER_RESPONSE")for(let V of C.closer){if(d.has(V.id)){l("already seen %p in query",V.id);continue}if(n.equals(V.id)){l("not querying ourselves");continue}let H=await jt(V.id);if(BigInt("0x"+M(sr(H,h),"base16"))>v){l("skipping %p as they are not closer to %b than %p",V.id,t,g);continue}l("querying closer peer %p",V.id),y(V.id,H)}p.emit("completed",C)}b?.clear()}catch(C){i.aborted?p.emit("error",C):p.emit("completed",Gt({from:g,error:C}))}finally{b?.clear()}},{priority:od-v}).catch(b=>{l.error(b)})}y(r,await jt(r)),yield*sd(p,i,u,l)}async function*sd(e,t,r,n){let i=dr(),o=!0,s=[],a=()=>{o&&(n("clean up queue, results %d, queue size %d, pending tasks %d",s.length,e.size,e.pending),o=!1,e.clear(),s.splice(0,s.length))};for(e.on("completed",c=>{s.push(c),i.resolve()}),e.on("error",c=>{n("queue error",c),a(),i.reject(c)}),e.on("idle",()=>{n("queue idle"),o=!1,i.resolve()}),t.addEventListener("abort",()=>{n("abort queue");let c=o;a(),c&&i.reject(new R("Query aborted","ERR_QUERY_ABORTED"))}),r.addEventListener("cleanup",()=>{a(),i.resolve()});o;)for(await i.promise,i=dr();s.length>0;){let c=s.shift();c!=null&&(yield c)}yield*s}var ci=K(wi(),1);var G1=class{constructor(t,r){let{lan:n=!1,disjointPaths:i=20,alpha:o=3}=r;this.components=t,this.disjointPaths=i??20,this.controllers=new Set,this.running=!1,this.alpha=o??3,this.lan=n,this.queries=0}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;for(let t of this.controllers)t.abort();this.controllers.clear()}async*run(t,r,n,i={}){if(!this.running)throw new Error("QueryManager not started");let o=this.metrics?.queryTime.timer(),s;if(i.signal==null){s=new hc.TimeoutController(3e4),i.signal=s.signal;try{ci.setMaxListeners!=null&&(0,ci.setMaxListeners)(1/0,s.signal)}catch{}}let a=new AbortController;this.controllers.add(a);let c=[a.signal];i.signal!=null&&c.push(i.signal);let u=(0,pc.anySignal)(c);try{ci.setMaxListeners!=null&&(0,ci.setMaxListeners)(1/0,u)}catch{}let f=$(`libp2p:kad-dht:${this.lan?"lan":"wan"}:query:`+M(t,"base58btc")),l=r.slice(0,Math.min(this.disjointPaths,r.length)),d=Date.now(),p=new pe;try{if(f("query:start"),this.queries++,this.metrics?.runningQueries.update(this.queries),r.length===0){f.error("Running query with no peers");return}let h=new ce,y=l.map((g,m)=>lc({key:t,startingPeer:g,ourPeerId:this.components.peerId,signal:u,query:n,pathIndex:m,numPaths:l.length,alpha:this.alpha,cleanUp:p,queryFuncTimeout:i.queryFuncTimeout,log:f,peersSeen:h}));for await(let g of he(...y))yield g,g.name==="QUERY_ERROR"&&f("error",g.error)}catch(h){if(!(!this.running&&h.code==="ERR_QUERY_ABORTED"))throw h}finally{this.controllers.delete(a),s?.clear(),this.queries--,this.metrics?.runningQueries.update(this.queries),o?.(),p.dispatchEvent(new oe("cleanup")),f("query:done in %dms",Date.now()-d)}}};var ui=$("libp2p:kad-dht:rpc:handlers:add-provider"),Q1=class{constructor(t){let{providers:r}=t;this.providers=r}async handle(t,r){if(ui("start"),r.key==null||r.key.length===0)throw new R("Missing key","ERR_MISSING_KEY");let n;try{n=tt.decode(r.key)}catch{throw new R("Invalid CID","ERR_INVALID_CID")}(r.providerPeers==null||r.providerPeers.length===0)&&ui.error("no providers found in message"),await Promise.all(r.providerPeers.map(async i=>{if(!i.id.equals(t)){ui("invalid provider peer %p from %p",i.id,t);return}if(i.multiaddrs.length<1){ui("no valid addresses for provider %p. Ignore",t);return}ui("received provider %p for %s (addrs %s)",t,n,i.multiaddrs.map(o=>o.toString())),await this.providers.addProvider(n,i.id)}))}};var dc=$("libp2p:kad-dht:rpc:handlers:find-node"),W1=class{constructor(t,r){let{peerRouting:n,lan:i}=r;this.components=t,this.peerRouting=n,this.lan=!!i}async handle(t,r){dc("incoming request from %p for peers closer to %b",t,r.key);let n=[];ot(this.components.peerId.toBytes(),r.key)?n=[{id:this.components.peerId,multiaddrs:this.components.addressManager.getAddresses().map(o=>o.decapsulateCode(pt("p2p").code)),protocols:[]}]:n=await this.peerRouting.getCloserPeersOffline(r.key,t),n=n.map(this.lan?Nn:Ln).filter(({multiaddrs:o})=>o.length);let i=new gt(r.type,new Uint8Array(0),r.clusterLevel);return n.length>0?i.closerPeers=n:dc("could not find any peers closer to %b than %p",r.key,t),i}};var yc=$("libp2p:kad-dht:rpc:handlers:get-providers"),Y1=class{constructor(t,r){let{peerRouting:n,providers:i,lan:o}=r;this.components=t,this.peerRouting=n,this.providers=i,this.lan=!!o}async handle(t,r){let n;try{n=tt.decode(r.key)}catch{throw new R("Invalid CID","ERR_INVALID_CID")}yc("%p asking for providers for %s",t,n);let[i,o]=await Promise.all([this.providers.getProviders(n),this.peerRouting.getCloserPeersOffline(r.key,t)]),s=await this._getPeers(i),a=await this._getPeers(o.map(({id:u})=>u)),c=new gt(r.type,r.key,r.clusterLevel);return s.length>0&&(c.providerPeers=s),a.length>0&&(c.closerPeers=a),yc("got %s providers %s closerPeers",s.length,a.length),c}async _getAddresses(t){return(await this.components.peerStore.addressBook.get(t)).map(n=>n.multiaddr)}async _getPeers(t){let r=[],n=this.lan?Nn:Ln;for(let i of t){let o=n({id:i,multiaddrs:await this._getAddresses(i),protocols:[]});o.multiaddrs.length>0&&r.push(o)}return r}};var a0=$("libp2p:kad-dht:rpc:handlers:get-value"),Z1=class{constructor(t,r){let{peerRouting:n}=r;this.components=t,this.peerRouting=n}async handle(t,r){let n=r.key;if(a0("%p asked for key %b",t,n),n==null||n.length===0)throw new R("Invalid key","ERR_INVALID_KEY");let i=new gt(_t.GET_VALUE,n,r.clusterLevel);if(g4(n)){a0("is public key");let a=m4(n),c;try{let u=await this.components.peerStore.keyBook.get(a);if(u==null)throw new R("No public key found in key book","ERR_NOT_FOUND");c=u}catch(u){if(u.code!=="ERR_NOT_FOUND")throw u}if(c!=null)return a0("returning found public key"),i.record=new Pt(n,c,new Date),i}let[o,s]=await Promise.all([this._checkLocalDatastore(n),this.peerRouting.getCloserPeersOffline(r.key,t)]);return o!=null&&(a0("had record for %b in local datastore",n),i.record=o),s.length>0&&(a0("had %s closer peers in routing table",s.length),i.closerPeers=s),i}async _checkLocalDatastore(t){a0("checkLocalDatastore looking for %b",t);let r=rr(t),n;try{n=await this.components.datastore.get(r)}catch(o){if(o.code==="ERR_NOT_FOUND")return;throw o}let i=Pt.deserialize(n);if(i==null)throw new R("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 ud=$("libp2p:kad-dht:rpc:handlers:ping"),X1=class{async handle(t,r){return ud("ping from %p",t),r}};var j1=class{constructor(t,r){let{validators:n}=r;this.components=t,this.log=$("libp2p:kad-dht:rpc:handlers:put-value"),this.validators=n}async handle(t,r){let n=r.key;this.log("%p asked us to store value for key %b",t,n);let i=r.record;if(i==null){let o=`Empty record from: ${t.toString()}`;throw this.log.error(o),new R(o,"ERR_EMPTY_RECORD")}try{await o0(this.validators,i),i.timeReceived=new Date;let o=rr(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 J1=class{constructor(t,r){let{providers:n,peerRouting:i,validators:o,lan:s}=r;this.log=$("libp2p:kad-dht:rpc"),this.routingTable=r.routingTable,this.handlers={[_t.GET_VALUE]:new Z1(t,{peerRouting:i}),[_t.PUT_VALUE]:new j1(t,{validators:o}),[_t.FIND_NODE]:new W1(t,{peerRouting:i,lan:s}),[_t.ADD_PROVIDER]:new Q1({providers:n}),[_t.GET_PROVIDERS]:new Y1(t,{peerRouting:i,providers:n,lan:s}),[_t.PING]:new X1}}async handleMessage(t,r){try{await this.routingTable.add(t)}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 await n.handle(t,r)}onIncomingStream(t){Promise.resolve().then(async()=>{let{stream:r,connection:n}=t,i=n.remotePeer;try{await this.routingTable.add(i)}catch(s){this.log.error(s)}let o=this;await _e(r,ln(),async function*(s){for await(let a of s){let c=gt.deserialize(a);o.log("incoming %s from %p",c.type,i);let u=await o.handleMessage(i,c);u!=null&&(yield u.serialize())}},un(),r)}).catch(r=>{this.log.error(r)})}};var V2=Symbol.for("@libp2p/topology");var gc=()=>{},q2=class{constructor(t){this.min=t.min??0,this.max=t.max??1/0,this.peers=new Set,this.onConnect=t.onConnect??gc,this.onDisconnect=t.onDisconnect??gc}get[Symbol.toStringTag](){return V2.toString()}get[V2](){return!0}async setRegistrar(t){this.registrar=t}disconnect(t){this.onDisconnect(t)}};function mc(e){return new q2(e)}var to=class extends pe{constructor(t,r){super();let{protocol:n,lan:i}=r;this.components=t,this.log=$(`libp2p:kad-dht:topology-listener:${i?"lan":"wan"}`),this.running=!1,this.protocol=n}isStarted(){return this.running}async start(){if(this.running)return;this.running=!0;let t=mc({onConnect:r=>{this.log("observed peer %p with protocol %s",r,this.protocol),this.dispatchEvent(new oe("peer",{detail:r}))}});this.registrarId=await this.components.registrar.register(this.protocol,t)}async stop(){this.running=!1,this.registrarId!=null&&(this.components.registrar.unregister(this.registrarId),this.registrarId=void 0)}};var $2=K(wi(),1);async function*z2(e,t){let r=0;if(!(t<1)){for await(let n of e)if(yield n,r++,r===t)return}}var xc=K(kn(),1),vc=K($1(),1);var eo=class{constructor(t,r){let{peerRouting:n,lan:i,count:o,interval:s,queryTimeout:a}=r;this.components=t,this.log=$(`libp2p:kad-dht:${i?"lan":"wan"}:query-self`),this.running=!1,this.peerRouting=n,this.count=o??20,this.interval=s??3e5,this.queryTimeout=a??3e4}isStarted(){return this.running}async start(){this.running||(this.running=!0,this._querySelf())}async stop(){this.running=!1,this.timeoutId!=null&&clearTimeout(this.timeoutId),this.controller!=null&&this.controller.abort()}_querySelf(){Promise.resolve().then(async()=>{let t=new xc.TimeoutController(this.queryTimeout);try{this.controller=new AbortController;let r=(0,vc.anySignal)([this.controller.signal,t.signal]);try{$2.setMaxListeners!=null&&(0,$2.setMaxListeners)(1/0,r)}catch{}let n=await _e(this.peerRouting.getClosestPeers(this.components.peerId.toBytes(),{signal:r}),i=>z2(i,this.count),async i=>await Q0(i));this.log("query ran successfully - found %d peers",n)}catch(r){this.log("query error",r)}finally{this.timeoutId=setTimeout(this._querySelf.bind(this),this.interval),t.clear()}}).catch(t=>{this.log("query error",t)})}};var ro=Symbol.for("@libp2p/peer-discovery");var hd=32,pd=64,fi=class extends pe{constructor(t,r){super();let{kBucketSize:n,clientMode:i,validators:o,selectors:s,querySelfInterval:a,lan:c,protocolPrefix:u,pingTimeout:f,pingConcurrency:l,maxInboundStreams:d,maxOutboundStreams:p,providers:h}=r;this.running=!1,this.components=t,this.lan=!!c,this.log=$(`libp2p:kad-dht:${c===!0?"lan":"wan"}`),this.protocol=`${u??h4}${c===!0?l4:""}${p4}`,this.kBucketSize=n??20,this.clientMode=i??!0,this.maxInboundStreams=d??hd,this.maxOutboundStreams=p??pd,this.routingTable=new $i(t,{kBucketSize:n,lan:this.lan,pingTimeout:f,pingConcurrency:l,protocol:this.protocol}),this.providers=new z1(t,h??{}),this.validators={...tc,...o},this.selectors={...rc,...s},this.network=new D1(t,{protocol:this.protocol,lan:this.lan}),this.queryManager=new G1(t,{disjointPaths:Math.ceil(this.kBucketSize/2),lan:c}),this.peerRouting=new q1(t,{routingTable:this.routingTable,network:this.network,validators:this.validators,queryManager:this.queryManager,lan:this.lan}),this.contentFetching=new O1(t,{validators:this.validators,selectors:this.selectors,peerRouting:this.peerRouting,queryManager:this.queryManager,routingTable:this.routingTable,network:this.network,lan:this.lan}),this.contentRouting=new M1(t,{network:this.network,peerRouting:this.peerRouting,queryManager:this.queryManager,routingTable:this.routingTable,providers:this.providers,lan:this.lan}),this.routingTableRefresh=new I1({peerRouting:this.peerRouting,routingTable:this.routingTable,lan:this.lan}),this.rpc=new J1(t,{routingTable:this.routingTable,providers:this.providers,peerRouting:this.peerRouting,validators:this.validators,lan:this.lan}),this.topologyListener=new to(t,{protocol:this.protocol,lan:this.lan}),this.querySelf=new eo(t,{peerRouting:this.peerRouting,interval:a,lan:this.lan}),this.network.addEventListener("peer",y=>{let g=y.detail;this.onPeerConnect(g).catch(m=>{this.log.error("could not add %p to routing table",g.id,m)}),this.dispatchEvent(new oe("peer",{detail:g}))}),this.topologyListener.addEventListener("peer",y=>{let g=y.detail;Promise.resolve().then(async()=>{let m=await this.components.peerStore.addressBook.get(g),v={id:g,multiaddrs:m.map(b=>b.multiaddr),protocols:[]};await this.onPeerConnect(v)}).catch(m=>{this.log.error("could not add %p to routing table",g,m)})})}get[ro](){return!0}get[Symbol.toStringTag](){return"@libp2p/kad-dht"}async onPeerConnect(t){if(this.log("peer %p connected with protocols %s",t.id,t.protocols),this.lan?t=Nn(t):t=Ln(t),t.multiaddrs.length===0){this.log("ignoring %p as they do not have any %s addresses in %s",t.id,this.lan?"private":"public",t.multiaddrs.map(r=>r.toString()));return}try{await this.routingTable.add(t.id)}catch(r){this.log.error("could not add %p to routing table",t.id,r)}}isStarted(){return this.running}async getMode(){return this.clientMode?"client":"server"}async setMode(t){await this.components.registrar.unhandle(this.protocol),t==="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,await Promise.all([this.providers.stop(),this.queryManager.stop(),this.network.stop(),this.routingTable.stop(),this.routingTableRefresh.stop(),this.topologyListener.stop(),this.querySelf.stop()])}async*put(t,r,n={}){yield*this.contentFetching.put(t,r,n)}async*get(t,r={}){yield*this.contentFetching.get(t,r)}async*provide(t,r={}){yield*this.contentRouting.provide(t,this.components.addressManager.getAddresses(),r)}async*findProviders(t,r={}){yield*this.contentRouting.findProviders(t,r)}async*findPeer(t,r={}){yield*this.peerRouting.findPeer(t,r)}async*getClosestPeers(t,r={}){yield*this.peerRouting.getClosestPeers(t,r)}async refreshRoutingTable(){this.routingTableRefresh.refreshTable(!0)}};var dd=$("libp2p:kad-dht"),no=class extends pe{constructor(t,r,n){super(),this.components=t,this.wan=r,this.lan=n,this.wan.addEventListener("peer",i=>{this.dispatchEvent(new oe("peer",{detail:i.detail}))}),this.lan.addEventListener("peer",i=>{this.dispatchEvent(new oe("peer",{detail:i.detail}))})}get[ro](){return!0}get[Symbol.toStringTag](){return"@libp2p/dual-kad-dht"}isStarted(){return this.wan.isStarted()&&this.lan.isStarted()}async getMode(){return await this.wan.getMode()}async setMode(t){await this.wan.setMode(t)}async start(){await Promise.all([this.lan.start(),this.wan.start()])}async stop(){await Promise.all([this.lan.stop(),this.wan.stop()])}async*put(t,r,n={}){for await(let i of he(this.lan.put(t,r,n),this.wan.put(t,r,n)))yield i}async*get(t,r={}){let n=!1,i=!1;for await(let o of he(this.lan.get(t,r),this.wan.get(t,r)))yield o,o.name==="DIALING_PEER"&&(n=!0),o.name==="VALUE"&&(n=!0,o.value!=null&&(i=!0)),o.name==="SENDING_QUERY"&&(n=!0);if(!n)throw new R("No peers found in routing table!","ERR_NO_PEERS_IN_ROUTING_TABLE");i||(yield Gt({from:this.components.peerId,error:new R("Not found","ERR_NOT_FOUND")}))}async*provide(t,r={}){let n=0,i=0,o=[],s=[this.lan];await this.wan.getMode()==="server"&&s.push(this.wan);for await(let a of he(...s.map(c=>c.provide(t,r))))yield a,a.name==="SENDING_QUERY"&&n++,a.name==="QUERY_ERROR"&&o.push(a.error),a.name==="PEER_RESPONSE"&&a.messageName==="ADD_PROVIDER"&&(dd("sent provider record for %s to %p",t,a.from),i++);if(i===0)throw o.length>0?new R(`Failed to provide to ${o.length} of ${n} peers`,"ERR_PROVIDES_FAILED",{errors:o}):new R("Failed to provide - no peers found","ERR_PROVIDES_FAILED")}async*findProviders(t,r={}){yield*he(this.lan.findProviders(t,r),this.wan.findProviders(t,r))}async*findPeer(t,r={}){let n=!1;for await(let i of he(this.lan.findPeer(t,r),this.wan.findPeer(t,r)))yield i,(i.name==="SENDING_QUERY"||i.name==="FINAL_PEER")&&(n=!0);if(!n)throw new R("Peer lookup failed","ERR_LOOKUP_FAILED")}async*getClosestPeers(t,r={}){yield*he(this.lan.getClosestPeers(t,r),this.wan.getClosestPeers(t,r))}async refreshRoutingTable(){await Promise.all([this.lan.refreshRoutingTable(),this.wan.refreshRoutingTable()])}};var H2=class extends no{constructor(t,r){super(t,new fi(t,{protocolPrefix:"/ipfs",...r,lan:!1}),new fi(t,{protocolPrefix:"/ipfs",...r,clientMode:!1,lan:!0}))}};function yd(e){return t=>new H2(t,e)}return Bc(gd);})();
|
|
28
28
|
/*! Bundled license information:
|
|
29
29
|
|
|
30
30
|
ieee754/index.js:
|