@libp2p/kad-dht 9.1.1 → 9.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.min.js +18 -18
- package/dist/src/content-fetching/index.d.ts +3 -3
- package/dist/src/content-fetching/index.d.ts.map +1 -1
- package/dist/src/content-fetching/index.js +14 -6
- package/dist/src/content-fetching/index.js.map +1 -1
- package/dist/src/content-routing/index.d.ts +5 -5
- package/dist/src/content-routing/index.d.ts.map +1 -1
- package/dist/src/content-routing/index.js +12 -5
- package/dist/src/content-routing/index.js.map +1 -1
- package/dist/src/dual-kad-dht.d.ts +7 -7
- package/dist/src/dual-kad-dht.d.ts.map +1 -1
- package/dist/src/dual-kad-dht.js +9 -10
- package/dist/src/dual-kad-dht.js.map +1 -1
- package/dist/src/index.d.ts +9 -9
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +9 -5
- package/dist/src/index.js.map +1 -1
- package/dist/src/kad-dht.d.ts +8 -8
- package/dist/src/kad-dht.d.ts.map +1 -1
- package/dist/src/kad-dht.js +35 -17
- package/dist/src/kad-dht.js.map +1 -1
- package/dist/src/message/index.d.ts.map +1 -1
- package/dist/src/message/index.js +7 -1
- package/dist/src/message/index.js.map +1 -1
- package/dist/src/network.d.ts +4 -4
- package/dist/src/network.d.ts.map +1 -1
- package/dist/src/network.js +9 -5
- package/dist/src/network.js.map +1 -1
- package/dist/src/peer-list/index.js +1 -0
- package/dist/src/peer-list/index.js.map +1 -1
- package/dist/src/peer-list/peer-distance-list.js +10 -1
- package/dist/src/peer-list/peer-distance-list.js.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 +12 -6
- package/dist/src/peer-routing/index.js.map +1 -1
- package/dist/src/providers.d.ts +2 -2
- package/dist/src/providers.d.ts.map +1 -1
- package/dist/src/providers.js +12 -5
- package/dist/src/providers.js.map +1 -1
- package/dist/src/query/events.d.ts +1 -1
- package/dist/src/query/events.d.ts.map +1 -1
- package/dist/src/query/manager.d.ts +3 -3
- package/dist/src/query/manager.d.ts.map +1 -1
- package/dist/src/query/manager.js +15 -6
- package/dist/src/query/manager.js.map +1 -1
- package/dist/src/query/query-path.d.ts +3 -3
- package/dist/src/query/query-path.d.ts.map +1 -1
- package/dist/src/query/query-path.js +4 -4
- package/dist/src/query/query-path.js.map +1 -1
- package/dist/src/query/types.d.ts +1 -1
- package/dist/src/query/types.d.ts.map +1 -1
- package/dist/src/query-self.d.ts +2 -2
- package/dist/src/query-self.d.ts.map +1 -1
- package/dist/src/query-self.js +18 -5
- package/dist/src/query-self.js.map +1 -1
- package/dist/src/routing-table/index.d.ts +3 -3
- package/dist/src/routing-table/index.d.ts.map +1 -1
- package/dist/src/routing-table/index.js +16 -3
- package/dist/src/routing-table/index.js.map +1 -1
- package/dist/src/routing-table/refresh.d.ts.map +1 -1
- package/dist/src/routing-table/refresh.js +11 -4
- package/dist/src/routing-table/refresh.js.map +1 -1
- package/dist/src/rpc/handlers/add-provider.d.ts +2 -2
- package/dist/src/rpc/handlers/add-provider.d.ts.map +1 -1
- package/dist/src/rpc/handlers/add-provider.js +2 -1
- package/dist/src/rpc/handlers/add-provider.js.map +1 -1
- package/dist/src/rpc/handlers/find-node.d.ts +2 -2
- package/dist/src/rpc/handlers/find-node.d.ts.map +1 -1
- package/dist/src/rpc/handlers/find-node.js +6 -3
- package/dist/src/rpc/handlers/find-node.js.map +1 -1
- package/dist/src/rpc/handlers/get-providers.d.ts +2 -2
- package/dist/src/rpc/handlers/get-providers.d.ts.map +1 -1
- package/dist/src/rpc/handlers/get-providers.js +6 -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 -3
- package/dist/src/rpc/handlers/get-value.js.map +1 -1
- package/dist/src/rpc/handlers/put-value.d.ts +1 -1
- package/dist/src/rpc/handlers/put-value.d.ts.map +1 -1
- package/dist/src/rpc/handlers/put-value.js +5 -2
- package/dist/src/rpc/handlers/put-value.js.map +1 -1
- package/dist/src/rpc/index.d.ts +8 -8
- package/dist/src/rpc/index.d.ts.map +1 -1
- package/dist/src/rpc/index.js +6 -3
- package/dist/src/rpc/index.js.map +1 -1
- package/dist/src/topology-listener.d.ts +2 -2
- package/dist/src/topology-listener.d.ts.map +1 -1
- package/dist/src/topology-listener.js +6 -1
- package/dist/src/topology-listener.js.map +1 -1
- package/dist/src/utils.d.ts +1 -1
- package/dist/src/utils.d.ts.map +1 -1
- package/dist/src/utils.js +6 -6
- package/dist/src/utils.js.map +1 -1
- package/package.json +4 -3
- package/src/content-fetching/index.ts +14 -14
- package/src/content-routing/index.ts +13 -13
- package/src/dual-kad-dht.ts +9 -13
- package/src/index.ts +13 -13
- package/src/kad-dht.ts +16 -20
- package/src/message/index.ts +1 -1
- package/src/network.ts +9 -9
- package/src/peer-list/peer-distance-list.ts +1 -1
- package/src/peer-routing/index.ts +13 -13
- package/src/providers.ts +7 -7
- package/src/query/events.ts +1 -1
- package/src/query/manager.ts +10 -10
- package/src/query/query-path.ts +8 -8
- package/src/query/types.ts +1 -1
- package/src/query-self.ts +7 -7
- package/src/routing-table/index.ts +6 -6
- package/src/routing-table/refresh.ts +5 -5
- package/src/rpc/handlers/add-provider.ts +3 -3
- package/src/rpc/handlers/find-node.ts +6 -6
- package/src/rpc/handlers/get-providers.ts +4 -4
- package/src/rpc/handlers/get-value.ts +4 -4
- package/src/rpc/handlers/put-value.ts +3 -3
- package/src/rpc/index.ts +11 -11
- package/src/topology-listener.ts +4 -4
- package/src/utils.ts +8 -8
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 f8=Object.create;var li=Object.defineProperty;var l8=Object.getOwnPropertyDescriptor;var h8=Object.getOwnPropertyNames;var p8=Object.getPrototypeOf,d8=Object.prototype.hasOwnProperty;var D=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Lt=(e,t)=>{for(var r in t)li(e,r,{get:t[r],enumerable:!0})},G2=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of h8(t))!d8.call(e,i)&&i!==r&&li(e,i,{get:()=>t[i],enumerable:!(n=l8(t,i))||n.enumerable});return e};var $=(e,t,r)=>(r=e!=null?f8(p8(e)):{},G2(t||!e||!e.__esModule?li(r,"default",{value:e,enumerable:!0}):r,e)),y8=e=>G2(li({},"__esModule",{value:!0}),e);var Y2=D(hi=>{"use strict";hi.byteLength=m8;hi.toByteArray=v8;hi.fromByteArray=E8;var Pe=[],ae=[],g8=typeof Uint8Array<"u"?Uint8Array:Array,fo="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(Kr=0,Q2=fo.length;Kr<Q2;++Kr)Pe[Kr]=fo[Kr],ae[fo.charCodeAt(Kr)]=Kr;var Kr,Q2;ae["-".charCodeAt(0)]=62;ae["_".charCodeAt(0)]=63;function W2(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 m8(e){var t=W2(e),r=t[0],n=t[1];return(r+n)*3/4-n}function x8(e,t,r){return(t+r)*3/4-r}function v8(e){var t,r=W2(e),n=r[0],i=r[1],o=new g8(x8(e,n,i)),s=0,a=i>0?n-4:n,u;for(u=0;u<a;u+=4)t=ae[e.charCodeAt(u)]<<18|ae[e.charCodeAt(u+1)]<<12|ae[e.charCodeAt(u+2)]<<6|ae[e.charCodeAt(u+3)],o[s++]=t>>16&255,o[s++]=t>>8&255,o[s++]=t&255;return i===2&&(t=ae[e.charCodeAt(u)]<<2|ae[e.charCodeAt(u+1)]>>4,o[s++]=t&255),i===1&&(t=ae[e.charCodeAt(u)]<<10|ae[e.charCodeAt(u+1)]<<4|ae[e.charCodeAt(u+2)]>>2,o[s++]=t>>8&255,o[s++]=t&255),o}function w8(e){return Pe[e>>18&63]+Pe[e>>12&63]+Pe[e>>6&63]+Pe[e&63]}function b8(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(w8(n));return i.join("")}function E8(e){for(var t,r=e.length,n=r%3,i=[],o=16383,s=0,a=r-n;s<a;s+=o)i.push(b8(e,s,s+o>a?a:s+o));return n===1?(t=e[r-1],i.push(Pe[t>>2]+Pe[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(Pe[t>>10]+Pe[t>>4&63]+Pe[t<<2&63]+"=")),i.join("")}});var Z2=D(lo=>{lo.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)};lo.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 pa=D(bn=>{"use strict";var ho=Y2(),vn=Z2(),X2=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;bn.Buffer=b;bn.SlowBuffer=_8;bn.INSPECT_MAX_BYTES=50;var pi=2147483647;bn.kMaxLength=pi;b.TYPED_ARRAY_SUPPORT=S8();!b.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 S8(){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(b.prototype,"parent",{enumerable:!0,get:function(){if(b.isBuffer(this))return this.buffer}});Object.defineProperty(b.prototype,"offset",{enumerable:!0,get:function(){if(b.isBuffer(this))return this.byteOffset}});function je(e){if(e>pi)throw new RangeError('The value "'+e+'" is invalid for option "size"');let t=new Uint8Array(e);return Object.setPrototypeOf(t,b.prototype),t}function b(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 mo(e)}return ea(e,t,r)}b.poolSize=8192;function ea(e,t,r){if(typeof e=="string")return I8(e,t);if(ArrayBuffer.isView(e))return B8(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(Ne(e,ArrayBuffer)||e&&Ne(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Ne(e,SharedArrayBuffer)||e&&Ne(e.buffer,SharedArrayBuffer)))return yo(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 b.from(n,t,r);let i=C8(e);if(i)return i;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof e[Symbol.toPrimitive]=="function")return b.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)}b.from=function(e,t,r){return ea(e,t,r)};Object.setPrototypeOf(b.prototype,Uint8Array.prototype);Object.setPrototypeOf(b,Uint8Array);function ra(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 A8(e,t,r){return ra(e),e<=0?je(e):t!==void 0?typeof r=="string"?je(e).fill(t,r):je(e).fill(t):je(e)}b.alloc=function(e,t,r){return A8(e,t,r)};function mo(e){return ra(e),je(e<0?0:xo(e)|0)}b.allocUnsafe=function(e){return mo(e)};b.allocUnsafeSlow=function(e){return mo(e)};function I8(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!b.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=na(e,t)|0,n=je(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function po(e){let t=e.length<0?0:xo(e.length)|0,r=je(t);for(let n=0;n<t;n+=1)r[n]=e[n]&255;return r}function B8(e){if(Ne(e,Uint8Array)){let t=new Uint8Array(e);return yo(t.buffer,t.byteOffset,t.byteLength)}return po(e)}function yo(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,b.prototype),n}function C8(e){if(b.isBuffer(e)){let t=xo(e.length)|0,r=je(t);return r.length===0||e.copy(r,0,0,t),r}if(e.length!==void 0)return typeof e.length!="number"||wo(e.length)?je(0):po(e);if(e.type==="Buffer"&&Array.isArray(e.data))return po(e.data)}function xo(e){if(e>=pi)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+pi.toString(16)+" bytes");return e|0}function _8(e){return+e!=e&&(e=0),b.alloc(+e)}b.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==b.prototype};b.compare=function(t,r){if(Ne(t,Uint8Array)&&(t=b.from(t,t.offset,t.byteLength)),Ne(r,Uint8Array)&&(r=b.from(r,r.offset,r.byteLength)),!b.isBuffer(t)||!b.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};b.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}};b.concat=function(t,r){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(t.length===0)return b.alloc(0);let n;if(r===void 0)for(r=0,n=0;n<t.length;++n)r+=t[n].length;let i=b.allocUnsafe(r),o=0;for(n=0;n<t.length;++n){let s=t[n];if(Ne(s,Uint8Array))o+s.length>i.length?(b.isBuffer(s)||(s=b.from(s)),s.copy(i,o)):Uint8Array.prototype.set.call(i,s,o);else if(b.isBuffer(s))s.copy(i,o);else throw new TypeError('"list" argument must be an Array of Buffers');o+=s.length}return i};function na(e,t){if(b.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Ne(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 go(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return ha(e).length;default:if(i)return n?-1:go(e).length;t=(""+t).toLowerCase(),i=!0}}b.byteLength=na;function T8(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 M8(this,t,r);case"utf8":case"utf-8":return oa(this,t,r);case"ascii":return U8(this,t,r);case"latin1":case"binary":return O8(this,t,r);case"base64":return D8(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return K8(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}b.prototype._isBuffer=!0;function Vr(e,t,r){let n=e[t];e[t]=e[r],e[r]=n}b.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)Vr(this,r,r+1);return this};b.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)Vr(this,r,r+3),Vr(this,r+1,r+2);return this};b.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)Vr(this,r,r+7),Vr(this,r+1,r+6),Vr(this,r+2,r+5),Vr(this,r+3,r+4);return this};b.prototype.toString=function(){let t=this.length;return t===0?"":arguments.length===0?oa(this,0,t):T8.apply(this,arguments)};b.prototype.toLocaleString=b.prototype.toString;b.prototype.equals=function(t){if(!b.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t?!0:b.compare(this,t)===0};b.prototype.inspect=function(){let t="",r=bn.INSPECT_MAX_BYTES;return t=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(t+=" ... "),"<Buffer "+t+">"};X2&&(b.prototype[X2]=b.prototype.inspect);b.prototype.compare=function(t,r,n,i,o){if(Ne(t,Uint8Array)&&(t=b.from(t,t.offset,t.byteLength)),!b.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 ia(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,wo(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=b.from(t,n)),b.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 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}b.prototype.includes=function(t,r,n){return this.indexOf(t,r,n)!==-1};b.prototype.indexOf=function(t,r,n){return ia(this,t,r,n,!0)};b.prototype.lastIndexOf=function(t,r,n){return ia(this,t,r,n,!1)};function R8(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(wo(a))return s;e[r+s]=a}return s}function P8(e,t,r,n){return di(go(t,e.length-r),e,r,n)}function N8(e,t,r,n){return di($8(t),e,r,n)}function L8(e,t,r,n){return di(ha(t),e,r,n)}function k8(e,t,r,n){return di(H8(t,e.length-r),e,r,n)}b.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 R8(this,t,r,n);case"utf8":case"utf-8":return P8(this,t,r,n);case"ascii":case"latin1":case"binary":return N8(this,t,r,n);case"base64":return L8(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return k8(this,t,r,n);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}};b.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function D8(e,t,r){return t===0&&r===e.length?ho.fromByteArray(e):ho.fromByteArray(e.slice(t,r))}function oa(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 F8(n)}var J2=4096;function F8(e){let t=e.length;if(t<=J2)return String.fromCharCode.apply(String,e);let r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=J2));return r}function U8(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 O8(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 M8(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+=G8[e[o]];return i}function K8(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}b.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,b.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")}b.prototype.readUintLE=b.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};b.prototype.readUintBE=b.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};b.prototype.readUint8=b.prototype.readUInt8=function(t,r){return t=t>>>0,r||kt(t,1,this.length),this[t]};b.prototype.readUint16LE=b.prototype.readUInt16LE=function(t,r){return t=t>>>0,r||kt(t,2,this.length),this[t]|this[t+1]<<8};b.prototype.readUint16BE=b.prototype.readUInt16BE=function(t,r){return t=t>>>0,r||kt(t,2,this.length),this[t]<<8|this[t+1]};b.prototype.readUint32LE=b.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};b.prototype.readUint32BE=b.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])};b.prototype.readBigUInt64LE=mr(function(t){t=t>>>0,wn(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&h0(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))});b.prototype.readBigUInt64BE=mr(function(t){t=t>>>0,wn(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&h0(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)});b.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};b.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};b.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]};b.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};b.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};b.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};b.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]};b.prototype.readBigInt64LE=mr(function(t){t=t>>>0,wn(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&h0(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)});b.prototype.readBigInt64BE=mr(function(t){t=t>>>0,wn(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&h0(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)});b.prototype.readFloatLE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),vn.read(this,t,!0,23,4)};b.prototype.readFloatBE=function(t,r){return t=t>>>0,r||kt(t,4,this.length),vn.read(this,t,!1,23,4)};b.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||kt(t,8,this.length),vn.read(this,t,!0,52,8)};b.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||kt(t,8,this.length),vn.read(this,t,!1,52,8)};function Wt(e,t,r,n,i,o){if(!b.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")}b.prototype.writeUintLE=b.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};b.prototype.writeUintBE=b.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};b.prototype.writeUint8=b.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};b.prototype.writeUint16LE=b.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};b.prototype.writeUint16BE=b.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};b.prototype.writeUint32LE=b.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};b.prototype.writeUint32BE=b.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 sa(e,t,r,n,i){la(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 aa(e,t,r,n,i){la(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}b.prototype.writeBigUInt64LE=mr(function(t,r=0){return sa(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});b.prototype.writeBigUInt64BE=mr(function(t,r=0){return aa(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});b.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};b.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};b.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};b.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};b.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};b.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};b.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};b.prototype.writeBigInt64LE=mr(function(t,r=0){return sa(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});b.prototype.writeBigInt64BE=mr(function(t,r=0){return aa(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 ca(e,t,r,n,i){return t=+t,r=r>>>0,i||ua(e,t,r,4,34028234663852886e22,-34028234663852886e22),vn.write(e,t,r,n,23,4),r+4}b.prototype.writeFloatLE=function(t,r,n){return ca(this,t,r,!0,n)};b.prototype.writeFloatBE=function(t,r,n){return ca(this,t,r,!1,n)};function fa(e,t,r,n,i){return t=+t,r=r>>>0,i||ua(e,t,r,8,17976931348623157e292,-17976931348623157e292),vn.write(e,t,r,n,52,8),r+8}b.prototype.writeDoubleLE=function(t,r,n){return fa(this,t,r,!0,n)};b.prototype.writeDoubleBE=function(t,r,n){return fa(this,t,r,!1,n)};b.prototype.copy=function(t,r,n,i){if(!b.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};b.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"&&!b.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=b.isBuffer(t)?t:b.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 xn={};function vo(e,t,r){xn[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}`}}}vo("ERR_BUFFER_OUT_OF_BOUNDS",function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError);vo("ERR_INVALID_ARG_TYPE",function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`},TypeError);vo("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=ta(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=ta(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function ta(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 V8(e,t,r){wn(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&h0(t,e.length-(r+1))}function la(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 xn.ERR_OUT_OF_RANGE("value",a,e)}V8(n,i,o)}function wn(e,t){if(typeof e!="number")throw new xn.ERR_INVALID_ARG_TYPE(t,"number",e)}function h0(e,t,r){throw Math.floor(e)!==e?(wn(e,r),new xn.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new xn.ERR_BUFFER_OUT_OF_BOUNDS:new xn.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var q8=/[^+/0-9A-Za-z-_]/g;function z8(e){if(e=e.split("=")[0],e=e.trim().replace(q8,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function go(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 $8(e){let t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function H8(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 ha(e){return ho.toByteArray(z8(e))}function di(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 Ne(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function wo(e){return e!==e}var G8=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 mr(e){return typeof BigInt>"u"?Q8:e}function Q8(){throw new Error("BigInt not supported")}});var ga=D((bo,ya)=>{var yi=pa(),Le=yi.Buffer;function da(e,t){for(var r in e)t[r]=e[r]}Le.from&&Le.alloc&&Le.allocUnsafe&&Le.allocUnsafeSlow?ya.exports=yi:(da(yi,bo),bo.Buffer=qr);function qr(e,t,r){return Le(e,t,r)}qr.prototype=Object.create(Le.prototype);da(Le,qr);qr.from=function(e,t,r){if(typeof e=="number")throw new TypeError("Argument must not be a number");return Le(e,t,r)};qr.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError("Argument must be a number");var n=Le(e);return t!==void 0?typeof r=="string"?n.fill(t,r):n.fill(t):n.fill(0),n};qr.allocUnsafe=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return Le(e)};qr.allocUnsafeSlow=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return yi.SlowBuffer(e)}});var ma=D((Rd,So)=>{"use strict";var Eo=65536,W8=4294967295;function Y8(){throw new Error(`Secure random number generation is not supported by this browser.
|
|
3
|
-
Use Chrome, Firefox or Internet Explorer 11`)}var Z8=ga().Buffer,gi=globalThis.crypto||globalThis.msCrypto;gi&&gi.getRandomValues?So.exports=X8:So.exports=Y8;function X8(e,t){if(e>W8)throw new RangeError("requested too many random bytes");var r=Z8.allocUnsafe(e);if(e>0)if(e>Eo)for(var n=0;n<e;n+=Eo)gi.getRandomValues(r.slice(n,n+Eo));else gi.getRandomValues(r);return typeof t=="function"?process.nextTick(function(){t(null,r)}):r}});var vi=D((Pd,Ao)=>{"use strict";var En=typeof Reflect=="object"?Reflect:null,xa=En&&typeof En.apply=="function"?En.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},mi;En&&typeof En.ownKeys=="function"?mi=En.ownKeys:Object.getOwnPropertySymbols?mi=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:mi=function(t){return Object.getOwnPropertyNames(t)};function j8(e){console&&console.warn&&console.warn(e)}var wa=Number.isNaN||function(t){return t!==t};function it(){it.init.call(this)}Ao.exports=it;Ao.exports.once=rc;it.EventEmitter=it;it.prototype._events=void 0;it.prototype._eventsCount=0;it.prototype._maxListeners=void 0;var va=10;function xi(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 va},set:function(e){if(typeof e!="number"||e<0||wa(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");va=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||wa(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 ba(e){return e._maxListeners===void 0?it.defaultMaxListeners:e._maxListeners}it.prototype.getMaxListeners=function(){return ba(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 u=o[t];if(u===void 0)return!1;if(typeof u=="function")xa(u,this,r);else for(var c=u.length,f=Ba(u,c),n=0;n<c;++n)xa(f[n],this,r);return!0};function Ea(e,t,r,n){var i,o,s;if(xi(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=ba(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,j8(a)}return e}it.prototype.addListener=function(t,r){return Ea(this,t,r,!1)};it.prototype.on=it.prototype.addListener;it.prototype.prependListener=function(t,r){return Ea(this,t,r,!0)};function J8(){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 Sa(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=J8.bind(n);return i.listener=r,n.wrapFn=i,i}it.prototype.once=function(t,r){return xi(r),this.on(t,Sa(this,t,r)),this};it.prototype.prependOnceListener=function(t,r){return xi(r),this.prependListener(t,Sa(this,t,r)),this};it.prototype.removeListener=function(t,r){var n,i,o,s,a;if(xi(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():tc(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 Aa(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?ec(i):Ba(i,i.length)}it.prototype.listeners=function(t){return Aa(this,t,!0)};it.prototype.rawListeners=function(t){return Aa(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?mi(this._events):[]};function Ba(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function tc(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function ec(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function rc(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))}Ca(e,t,o,{once:!0}),t!=="error"&&nc(e,i,{once:!0})})}function nc(e,t,r){typeof e.on=="function"&&Ca(e,"error",t,r)}function Ca(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 Ra=D((Nd,Ta)=>{"use strict";var ic=ma(),{EventEmitter:oc}=vi();function _a(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 Io(){return{contacts:[],dontSplit:!1,left:null,right:null}}function p0(e,t){if(!(t instanceof Uint8Array))throw new TypeError(e+" is not a Uint8Array")}var Sn=class extends oc{constructor(t={}){super(),this.localNodeId=t.localNodeId||ic(20),this.numberOfNodesPerKBucket=t.numberOfNodesPerKBucket||20,this.numberOfNodesToPing=t.numberOfNodesToPing||3,this.distance=t.distance||Sn.distance,this.arbiter=t.arbiter||Sn.arbiter,this.metadata=Object.assign({},t.metadata),p0("option.localNodeId as parameter 1",this.localNodeId),this.root=Io()}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){p0("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(p0("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){p0("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(_a(t.contacts[n].id,r))return n;return-1}remove(t){p0("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=Io(),t.right=Io();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(!_a(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))}};Ta.exports=Sn});var t3=D((Ry,Ja)=>{"use strict";Ja.exports=yf;function yf(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 i3=D(n3=>{"use strict";var Si=n3;Si.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 _n=new Array(64),r3=new Array(123);for(me=0;me<64;)r3[_n[me]=me<26?me+65:me<52?me+71:me<62?me-4:me-59|43]=me++;var me;Si.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++]=_n[c>>2],u=(c&3)<<4,a=1;break;case 1:o[s++]=_n[u|c>>4],u=(c&15)<<2,a=2;break;case 2:o[s++]=_n[u|c>>6],o[s++]=_n[c&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=_n[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 e3="invalid encoding";Si.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=r3[u])===void 0)throw Error(e3);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(e3);return n-i};Si.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}});var s3=D((Ny,o3)=>{"use strict";o3.exports=Ai;function Ai(){this._listeners={}}Ai.prototype.on=function(t,r,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:r,ctx:n||this}),this};Ai.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};Ai.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 p3=D((Ly,h3)=>{"use strict";h3.exports=a3(a3);function a3(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,u3),e.writeFloatBE=t.bind(null,c3);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,f3),e.readFloatBE=r.bind(null,l3)}(),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,u3,0,4),e.writeDoubleBE=t.bind(null,c3,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,f3,0,4),e.readDoubleBE=r.bind(null,l3,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 c3(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 f3(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function l3(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}});var d3=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 g3=D(y3=>{"use strict";var Qo=y3;Qo.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};Qo.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))};Qo.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 x3=D((Dy,m3)=>{"use strict";m3.exports=gf;function gf(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 w3=D((Fy,v3)=>{"use strict";v3.exports=Ft;var m0=Qr();function Ft(e,t){this.lo=e>>>0,this.hi=t>>>0}var Gr=Ft.zero=new Ft(0,0);Gr.toNumber=function(){return 0};Gr.zzEncode=Gr.zzDecode=function(){return this};Gr.length=function(){return 1};var mf=Ft.zeroHash="\0\0\0\0\0\0\0\0";Ft.fromNumber=function(t){if(t===0)return Gr;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(m0.isString(t))if(m0.Long)t=m0.Long.fromString(t);else return Ft.fromNumber(parseInt(t,10));return t.low||t.high?new Ft(t.low>>>0,t.high>>>0):Gr};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 m0.Long?new m0.Long(this.lo|0,this.hi|0,!!t):{low:this.lo|0,high:this.hi|0,unsigned:!!t}};var br=String.prototype.charCodeAt;Ft.fromHash=function(t){return t===mf?Gr:new Ft((br.call(t,0)|br.call(t,1)<<8|br.call(t,2)<<16|br.call(t,3)<<24)>>>0,(br.call(t,4)|br.call(t,5)<<8|br.call(t,6)<<16|br.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(Wo=>{"use strict";var F=Wo;F.asPromise=t3();F.base64=i3();F.EventEmitter=s3();F.float=p3();F.inquire=d3();F.utf8=g3();F.pool=x3();F.LongBits=w3();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||Wo;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 b3(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=b3;F.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function E3(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&&b3(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=E3;F.ProtocolError=E3("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 Xo=D((Oy,C3)=>{"use strict";C3.exports=At;var De=Qr(),Zo,I3=De.LongBits,xf=De.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 S3=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")},B3=function(){return De.Buffer?function(r){return(At.create=function(i){return De.Buffer.isBuffer(i)?new Zo(i):S3(i)})(r)}:S3};At.create=B3();At.prototype._slice=De.Array.prototype.subarray||De.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 Yo(){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 A3(){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=De.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=De.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 xf.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){Zo=e,At.create=B3(),Zo._configure();var t=De.Long?"toLong":"toNumber";De.merge(At.prototype,{int64:function(){return Yo.call(this)[t](!1)},uint64:function(){return Yo.call(this)[t](!0)},sint64:function(){return Yo.call(this).zzDecode()[t](!1)},fixed64:function(){return A3.call(this)[t](!0)},sfixed64:function(){return A3.call(this)[t](!1)}})}});var P3=D((My,R3)=>{"use strict";R3.exports=Wr;var T3=Xo();(Wr.prototype=Object.create(T3.prototype)).constructor=Wr;var _3=Qr();function Wr(e){T3.call(this,e)}Wr._configure=function(){_3.Buffer&&(Wr.prototype._slice=_3.Buffer.prototype.slice)};Wr.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))};Wr._configure()});var is=D((Ky,D3)=>{"use strict";D3.exports=X;var ue=Qr(),jo,Bi=ue.LongBits,N3=ue.base64,L3=ue.utf8;function x0(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function ts(){}function vf(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 x0(ts,0,0),this.tail=this.head,this.states=null}var k3=function(){return ue.Buffer?function(){return(X.create=function(){return new jo})()}:function(){return new X}};X.create=k3();X.alloc=function(t){return new ue.Array(t)};ue.Array!==Array&&(X.alloc=ue.pool(X.alloc,ue.Array.prototype.subarray));X.prototype._push=function(t,r,n){return this.tail=this.tail.next=new x0(t,r,n),this.len+=r,this};function es(e,t,r){t[r]=e&255}function wf(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}function rs(e,t){this.len=e,this.next=void 0,this.val=t}rs.prototype=Object.create(x0.prototype);rs.prototype.fn=wf;X.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new rs((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(ns,10,Bi.fromNumber(t)):this.uint32(t)};X.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function ns(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=Bi.from(t);return this._push(ns,r.length(),r)};X.prototype.int64=X.prototype.uint64;X.prototype.sint64=function(t){var r=Bi.from(t).zzEncode();return this._push(ns,r.length(),r)};X.prototype.bool=function(t){return this._push(es,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}X.prototype.fixed32=function(t){return this._push(Jo,4,t>>>0)};X.prototype.sfixed32=X.prototype.fixed32;X.prototype.fixed64=function(t){var r=Bi.from(t);return this._push(Jo,4,r.lo)._push(Jo,4,r.hi)};X.prototype.sfixed64=X.prototype.fixed64;X.prototype.float=function(t){return this._push(ue.float.writeFloatLE,4,t)};X.prototype.double=function(t){return this._push(ue.float.writeDoubleLE,8,t)};var bf=ue.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(es,1,0);if(ue.isString(t)){var n=X.alloc(r=N3.length(t));N3.decode(t,n,0),t=n}return this.uint32(r)._push(bf,r,t)};X.prototype.string=function(t){var r=L3.length(t);return r?this.uint32(r)._push(L3.write,r,t):this._push(es,1,0)};X.prototype.fork=function(){return this.states=new vf(this),this.head=this.tail=new x0(ts,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 x0(ts,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){jo=e,X.create=k3(),jo._configure()}});var O3=D((Vy,U3)=>{"use strict";U3.exports=Fe;var F3=is();(Fe.prototype=Object.create(F3.prototype)).constructor=Fe;var Er=Qr();function Fe(){F3.call(this)}Fe._configure=function(){Fe.alloc=Er._Buffer_allocUnsafe,Fe.writeBytesBuffer=Er.Buffer&&Er.Buffer.prototype instanceof Uint8Array&&Er.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++]}};Fe.prototype.bytes=function(t){Er.isString(t)&&(t=Er._Buffer_from(t,"base64"));var r=t.length>>>0;return this.uint32(r),r&&this._push(Fe.writeBytesBuffer,r,t),this};function Ef(e,t,r){e.length<40?Er.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}Fe.prototype.string=function(t){var r=Er.Buffer.byteLength(t);return this.uint32(r),r&&this._push(Ef,r,t),this};Fe._configure()});var H3=D(w0=>{(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}(),w0.ip2long=s,w0.long2ip=a,w0.Netmask=e}).call(w0)});var j3=D((X3,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 u(p,h){if(p.indexOf("::")!==p.lastIndexOf("::"))return null;let y=0,g=-1,m=(p.match(a.zoneIndex)||[])[0],x,S;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(S=h-y,x=":";S--;)x+="0:";return p=p.replace("::",x),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),h=function(){let L=p.split(":"),T=[];for(let _=0;_<L.length;_++)T.push(parseInt(L[_],16));return T}(),{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,x;for(;g>0;){if(x=y-g,x<0&&(x=0),p[m]>>x!==h[m]>>x)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,x,S;for(m=3;m>=0;m-=1)if(x=this.octets[m],x in g){if(S=g[x],y&&S!==0)return null;S!==8&&(y=!0),h+=S}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=[],x=0;for(;x<4;)m.push(parseInt(y[x],10)|parseInt(g[x],10)^255),x++;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,x;try{for(h=this.parseCIDR(p),g=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],y=0;y<4;)m.push(parseInt(g[y],10)&parseInt(x[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),x=[];for(let S=0;S<m.length;S++)y=m[S],x.push(f(y));return x}();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=[],x;for(x=0;x<=24;x+=8)m.push(g>>x&255);return m}().reverse()}else return(h=p.match(r.twoOctet))?function(){let m=h.slice(1,4),x=[];if(g=f(m[1]),g>16777215||g<0)throw new Error("ipaddr: address outside defined range");return x.push(f(m[0])),x.push(g>>16&255),x.push(g>>8&255),x.push(g&255),x}():(h=p.match(r.threeOctet))?function(){let m=h.slice(1,5),x=[];if(g=f(m[2]),g>65535||g<0)throw new Error("ipaddr: address outside defined range");return x.push(f(m[0])),x.push(f(m[1])),x.push(g>>8&255),x.push(g&255),x}():null},d.IPv4.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>32)throw new Error("ipaddr: invalid IPv4 prefix length");let h=[0,0,0,0],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,x;for(let S=7;S>=0;S-=1)if(m=this.parts[S],m in g){if(x=g[m],y&&x!==0)return null;x!==16&&(y=!0),h+=x}else return null;return 128-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){let h,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,x;for(;x=h.exec(y);)x[0].length>m&&(g=x.index,m=x[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=[],x=0;for(;x<16;)m.push(parseInt(y[x],10)|parseInt(g[x],10)^255),x++;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,x;try{for(h=this.parseCIDR(p),g=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],y=0;y<16;)m.push(parseInt(g[y],10)&parseInt(x[y],10)),y++;return new this(m)}catch(S){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${S})`)}},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,x,S;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))&&(S=g[6]||"",h=u(g[1].slice(0,-1)+S,6),h.parts)){for(x=[parseInt(g[2]),parseInt(g[3]),parseInt(g[4]),parseInt(g[5])],y=0;y<x.length;y++)if(m=x[y],!(0<=m&&m<=255))return null;return h.parts.push(x[0]<<8|x[1]),h.parts.push(x[2]<<8|x[3]),{parts:h.parts,zoneId:h.zoneId}}return null},d.IPv6.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>128)throw new Error("ipaddr: invalid IPv6 prefix length");let h=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],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,x,S;y==null&&(y="unicast");for(m in h)if(Object.prototype.hasOwnProperty.call(h,m)){for(x=h[m],x[0]&&!(x[0]instanceof Array)&&(x=[x]),g=0;g<x.length;g++)if(S=x[g],p.kind()===S[0].kind()&&p.match.apply(p,S))return m}return y},typeof Pi<"u"&&Pi.exports?Pi.exports=d:e.ipaddr=d})(X3)});var g4=D((Hg,xs)=>{"use strict";var Mf=Object.prototype.hasOwnProperty,zt="~";function E0(){}Object.create&&(E0.prototype=Object.create(null),new E0().__proto__||(zt=!1));function Kf(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function y4(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new Kf(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 Ni(e,t){--e._eventsCount===0?e._events=new E0:delete e._events[t]}function Vt(){this._events=new E0,this._eventsCount=0}Vt.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)Mf.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 y4(this,t,r,n,!1)};Vt.prototype.once=function(t,r,n){return y4(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 Ni(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&Ni(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:Ni(this,o)}return this};Vt.prototype.removeAllListeners=function(t){var r;return t?(r=zt?zt+t:t,this._events[r]&&Ni(this,r)):(this._events=new E0,this._eventsCount=0),this};Vt.prototype.off=Vt.prototype.removeListener;Vt.prototype.addListener=Vt.prototype.on;Vt.prefixed=zt;Vt.EventEmitter=Vt;typeof xs<"u"&&(xs.exports=Vt)});var C4=D((Jg,B4)=>{var On=1e3,Mn=On*60,Kn=Mn*60,jr=Kn*24,Vf=jr*7,qf=jr*365.25;B4.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return zf(e);if(r==="number"&&isFinite(e))return t.long?Hf(e):$f(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function zf(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*qf;case"weeks":case"week":case"w":return r*Vf;case"days":case"day":case"d":return r*jr;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Kn;case"minutes":case"minute":case"mins":case"min":case"m":return r*Mn;case"seconds":case"second":case"secs":case"sec":case"s":return r*On;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function $f(e){var t=Math.abs(e);return t>=jr?Math.round(e/jr)+"d":t>=Kn?Math.round(e/Kn)+"h":t>=Mn?Math.round(e/Mn)+"m":t>=On?Math.round(e/On)+"s":e+"ms"}function Hf(e){var t=Math.abs(e);return t>=jr?Vi(e,t,jr,"day"):t>=Kn?Vi(e,t,Kn,"hour"):t>=Mn?Vi(e,t,Mn,"minute"):t>=On?Vi(e,t,On,"second"):e+" ms"}function Vi(e,t,r,n){var i=t>=r*1.5;return Math.round(e/r)+" "+n+(i?"s":"")}});var T4=D((tm,_4)=>{function Gf(e){r.debug=r,r.default=r,r.coerce=u,r.disable=o,r.enable=i,r.enabled=s,r.humanize=C4(),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,x=Number(new Date),S=x-(l||x);m.diff=S,m.prev=l,m.curr=x,l=x,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,(_,q)=>{if(_==="%%")return"%";L++;let G=r.formatters[q];if(typeof G=="function"){let Nt=g[L];_=G.call(m,Nt),g.splice(L,1),L--}return _}),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}_4.exports=Gf});var R4=D((re,qi)=>{re.formatArgs=Wf;re.save=Yf;re.load=Zf;re.useColors=Qf;re.storage=Xf();re.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`."))}})();re.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Qf(){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 Wf(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+qi.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)}re.log=console.debug||console.log||(()=>{});function Yf(e){try{e?re.storage.setItem("debug",e):re.storage.removeItem("debug")}catch{}}function Zf(){let e;try{e=re.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function Xf(){try{return localStorage}catch{}}qi.exports=T4()(re);var{formatters:jf}=qi.exports;jf.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var nt=D((Pm,U4)=>{U4.exports={options:{usePureJavaScript:!1}}});var K4=D((Nm,M4)=>{var Is={};M4.exports=Is;var O4={};Is.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=s7(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};Is.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=O4[t];if(!r){r=O4[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 s7(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((Lm,$4)=>{var V4=nt(),q4=K4(),v=$4.exports=V4.util=V4.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){v.nextTick=process.nextTick,typeof setImmediate=="function"?v.setImmediate=setImmediate:v.setImmediate=v.nextTick;return}if(typeof setImmediate=="function"){v.setImmediate=function(){return setImmediate.apply(void 0,arguments)},v.nextTick=function(a){return setImmediate(a)};return}if(v.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=[];v.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=v.setImmediate;v.setImmediate=function(u){Date.now()-r>15?(r=Date.now(),o(u)):(t.push(u),t.length===1&&i.setAttribute("a",n=!n))}}v.nextTick=v.setImmediate})();v.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;v.globalScope=function(){return v.isNodejs?globalThis:typeof self>"u"?window:self}();v.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};v.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};v.isArrayBufferView=function(e){return e&&v.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function R0(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}v.ByteBuffer=Bs;function Bs(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(v.isArrayBuffer(e)||v.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}v.ByteStringBuffer=Bs;var a7=4096;v.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>a7&&(this.data.substr(0,1),this._constructedStringLength=0)};v.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};v.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};v.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))};v.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};v.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};v.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(v.encodeUtf8(e))};v.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};v.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};v.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))};v.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};v.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};v.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))};v.ByteStringBuffer.prototype.putInt=function(e,t){R0(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};v.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};v.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};v.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};v.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};v.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};v.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};v.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};v.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};v.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};v.ByteStringBuffer.prototype.getInt=function(e){R0(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};v.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};v.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};v.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};v.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};v.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};v.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};v.ByteStringBuffer.prototype.copy=function(){var e=v.createBuffer(this.data);return e.read=this.read,e};v.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};v.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};v.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};v.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};v.ByteStringBuffer.prototype.toString=function(){return v.decodeUtf8(this.bytes())};function u7(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=v.isArrayBuffer(e),n=v.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)}v.DataBuffer=u7;v.DataBuffer.prototype.length=function(){return this.write-this.read};v.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};v.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};v.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};v.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};v.DataBuffer.prototype.putBytes=function(e,t){if(v.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(v.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 v.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&v.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 v.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+=v.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+=v.binary.base64.decode(e,o,this.write),this;if(t==="utf8"&&(e=v.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=v.binary.raw.decode(o),this;if(t==="utf16")return this.accommodate(e.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=v.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};v.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};v.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};v.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};v.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};v.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};v.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};v.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};v.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};v.DataBuffer.prototype.putInt=function(e,t){R0(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};v.DataBuffer.prototype.putSignedInt=function(e,t){return R0(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};v.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};v.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};v.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};v.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};v.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};v.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};v.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};v.DataBuffer.prototype.getInt=function(e){R0(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};v.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};v.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};v.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};v.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};v.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this};v.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};v.DataBuffer.prototype.copy=function(){return new v.DataBuffer(this)};v.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};v.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};v.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};v.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};v.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return v.binary.raw.encode(t);if(e==="hex")return v.binary.hex.encode(t);if(e==="base64")return v.binary.base64.encode(t);if(e==="utf8")return v.text.utf8.decode(t);if(e==="utf16")return v.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};v.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=v.encodeUtf8(e)),new v.ByteBuffer(e)};v.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};v.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};v.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};v.bytesToHex=function(e){return v.createBuffer(e).toHex()};v.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+/=",Cr=[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],z4="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";v.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};v.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",r,n,i,o,s=0;s<e.length;)r=Cr[e.charCodeAt(s++)-43],n=Cr[e.charCodeAt(s++)-43],i=Cr[e.charCodeAt(s++)-43],o=Cr[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};v.encodeUtf8=function(e){return unescape(encodeURIComponent(e))};v.decodeUtf8=function(e){return decodeURIComponent(escape(e))};v.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:q4.encode,decode:q4.decode}};v.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)};v.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};v.binary.hex.encode=v.bytesToHex;v.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};v.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};v.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=Cr[e.charCodeAt(u++)-43],o=Cr[e.charCodeAt(u++)-43],s=Cr[e.charCodeAt(u++)-43],a=Cr[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)};v.binary.base58.encode=function(e,t){return v.binary.baseN.encode(e,z4,t)};v.binary.base58.decode=function(e,t){return v.binary.baseN.decode(e,z4,t)};v.text={utf8:{},utf16:{}};v.text.utf8.encode=function(e,t,r){e=v.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};v.text.utf8.decode=function(e){return v.decodeUtf8(String.fromCharCode.apply(null,e))};v.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};v.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};v.deflate=function(e,t,r){if(t=v.decode64(e.deflate(v.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};v.inflate=function(e,t,r){var n=e.inflate(v.encode64(t)).rval;return n===null?null:v.decode64(n)};var Cs=function(e,t,r){if(!e)throw new Error("WebStorage not available.");var n;if(r===null?n=e.removeItem(t):(r=v.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}},_s=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(v.decode64(r))),r},c7=function(e,t,r,n){var i=_s(e,t);i===null&&(i={}),i[r]=n,Cs(e,t,i)},f7=function(e,t,r){var n=_s(e,t);return n!==null&&(n=r in n?n[r]:null),n},l7=function(e,t,r){var n=_s(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),Cs(e,t,n)}},h7=function(e,t){Cs(e,t,null)},$i=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};v.setItem=function(e,t,r,n,i){$i(c7,arguments,i)};v.getItem=function(e,t,r,n){return $i(f7,arguments,n)};v.removeItem=function(e,t,r,n){$i(l7,arguments,n)};v.clearItems=function(e,t,r){$i(h7,arguments,r)};v.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};v.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("")};v.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):"")};v.formatSize=function(e){return e>=1073741824?e=v.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=v.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=v.formatNumber(e/1024,0)+" KiB":e=v.formatNumber(e,0)+" bytes",e};v.bytesFromIP=function(e){return e.indexOf(".")!==-1?v.bytesFromIPv4(e):e.indexOf(":")!==-1?v.bytesFromIPv6(e):null};v.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=v.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};v.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=v.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=v.hexToBytes(e[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};v.bytesToIP=function(e){return e.length===4?v.bytesToIPv4(e):e.length===16?v.bytesToIPv6(e):null};v.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(".")};v.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=v.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(":")};v.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in v&&!e.update)return t(null,v.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return v.cores=navigator.hardwareConcurrency,t(null,v.cores);if(typeof Worker>"u")return v.cores=1,t(null,v.cores);if(typeof Blob>"u")return v.cores=2,t(null,v.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 v.cores=Math.max(1,c),URL.revokeObjectURL(r),t(null,v.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 Rs=D((km,H4)=>{var Ut=nt();Ct();H4.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 Ts=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)};Ts.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)};Ts.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()};Ts.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 Ns=D((Dm,G4)=>{var Ot=nt();Ct();Ot.cipher=Ot.cipher||{};var H=G4.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=Hi(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=Hi(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=Hi(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=Hi(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}Gi(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(Ps(n*8)))}this._inBlock=this._j0.slice(0),Gi(this._inBlock),this._partialBytes=0,r=Ot.util.createBuffer(r),this._aDataLength=Ps(r.length()*8);var i=r.length()%this.blockSize;for(i&&r.fillWithByte(0,this.blockSize-i),this._s=[0,0,0,0];r.length()>0;)this._s=this.ghash(this._hashSubkey,this._s,[r.getInt32(),r.getInt32(),r.getInt32(),r.getInt32()])};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),Gi(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),Gi(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(Ps(this._cipherLength*8));this._s=this.ghash(this._hashSubkey,this._s,n);var i=[];this.cipher.encrypt(this._j0,i);for(var o=0;o<this._ints;++o)this.tag.putInt32(this._s[o]^i[o]);return this.tag.truncate(this.tag.length()%(this._tagLength/8)),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 Hi(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 Gi(e){e[e.length-1]=e[e.length-1]+1&4294967295}function Ps(e){return[e/4294967296|0,e&4294967295]}});var Wi=D((Fm,Z4)=>{var at=nt();Rs();Ns();Ct();Z4.exports=at.aes=at.aes||{};at.aes.startEncrypting=function(e,t,r,n){var i=Qi({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};at.aes.createEncryptionCipher=function(e,t){return Qi({key:e,output:null,decrypt:!1,mode:t})};at.aes.startDecrypting=function(e,t,r,n){var i=Qi({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};at.aes.createDecryptionCipher=function(e,t){return Qi({key:e,output:null,decrypt:!0,mode:t})};at.aes.Algorithm=function(e,t){Ds||W4();var r=this;r.name=e,r.mode=new t({blockSize:16,cipher:{encrypt:function(n,i){return ks(r._w,n,i,!1)},decrypt:function(n,i){return ks(r._w,n,i,!0)}}}),r._init=!1};at.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=at.util.createBuffer(t);else if(at.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=at.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!at.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(!at.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=Y4(t,e.decrypt&&!s),this._init=!0}};at.aes._expandKey=function(e,t){return Ds||W4(),Y4(e,t)};at.aes._updateBlock=ks;zn("AES-ECB",at.cipher.modes.ecb);zn("AES-CBC",at.cipher.modes.cbc);zn("AES-CFB",at.cipher.modes.cfb);zn("AES-OFB",at.cipher.modes.ofb);zn("AES-CTR",at.cipher.modes.ctr);zn("AES-GCM",at.cipher.modes.gcm);function zn(e,t){var r=function(){return new at.aes.Algorithm(e,t)};at.cipher.registerAlgorithm(e,r)}var Ds=!1,qn=4,$t,Ls,Q4,Jr,be;function W4(){Ds=!0,Q4=[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),Ls=new Array(256),Jr=new Array(4),be=new Array(4);for(var t=0;t<4;++t)Jr[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,Ls[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)Jr[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 Y4(e,t){for(var r=e.slice(0),n,i=1,o=r.length,s=o+6+1,a=qn*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]^Q4[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-qn;u<a;u+=qn,y-=qn)if(u===0||u===a-qn)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<qn;++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 ks(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=Ls):(o=Jr[0],s=Jr[1],a=Jr[2],u=Jr[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,x=1;x<i;++x)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 Qi(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=at.cipher.createDecipher(r,e.key):n=at.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof at.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Yi=D((Qm,X4)=>{var P0=nt();P0.pki=P0.pki||{};var Us=X4.exports=P0.pki.oids=P0.oids=P0.oids||{};function B(e,t){Us[e]=t,Us[t]=e}function rt(e,t){Us[e]=t}B("1.2.840.113549.1.1.1","rsaEncryption");B("1.2.840.113549.1.1.4","md5WithRSAEncryption");B("1.2.840.113549.1.1.5","sha1WithRSAEncryption");B("1.2.840.113549.1.1.7","RSAES-OAEP");B("1.2.840.113549.1.1.8","mgf1");B("1.2.840.113549.1.1.9","pSpecified");B("1.2.840.113549.1.1.10","RSASSA-PSS");B("1.2.840.113549.1.1.11","sha256WithRSAEncryption");B("1.2.840.113549.1.1.12","sha384WithRSAEncryption");B("1.2.840.113549.1.1.13","sha512WithRSAEncryption");B("1.3.101.112","EdDSA25519");B("1.2.840.10040.4.3","dsa-with-sha1");B("1.3.14.3.2.7","desCBC");B("1.3.14.3.2.26","sha1");B("1.3.14.3.2.29","sha1WithRSASignature");B("2.16.840.1.101.3.4.2.1","sha256");B("2.16.840.1.101.3.4.2.2","sha384");B("2.16.840.1.101.3.4.2.3","sha512");B("2.16.840.1.101.3.4.2.4","sha224");B("2.16.840.1.101.3.4.2.5","sha512-224");B("2.16.840.1.101.3.4.2.6","sha512-256");B("1.2.840.113549.2.2","md2");B("1.2.840.113549.2.5","md5");B("1.2.840.113549.1.7.1","data");B("1.2.840.113549.1.7.2","signedData");B("1.2.840.113549.1.7.3","envelopedData");B("1.2.840.113549.1.7.4","signedAndEnvelopedData");B("1.2.840.113549.1.7.5","digestedData");B("1.2.840.113549.1.7.6","encryptedData");B("1.2.840.113549.1.9.1","emailAddress");B("1.2.840.113549.1.9.2","unstructuredName");B("1.2.840.113549.1.9.3","contentType");B("1.2.840.113549.1.9.4","messageDigest");B("1.2.840.113549.1.9.5","signingTime");B("1.2.840.113549.1.9.6","counterSignature");B("1.2.840.113549.1.9.7","challengePassword");B("1.2.840.113549.1.9.8","unstructuredAddress");B("1.2.840.113549.1.9.14","extensionRequest");B("1.2.840.113549.1.9.20","friendlyName");B("1.2.840.113549.1.9.21","localKeyId");B("1.2.840.113549.1.9.22.1","x509Certificate");B("1.2.840.113549.1.12.10.1.1","keyBag");B("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");B("1.2.840.113549.1.12.10.1.3","certBag");B("1.2.840.113549.1.12.10.1.4","crlBag");B("1.2.840.113549.1.12.10.1.5","secretBag");B("1.2.840.113549.1.12.10.1.6","safeContentsBag");B("1.2.840.113549.1.5.13","pkcs5PBES2");B("1.2.840.113549.1.5.12","pkcs5PBKDF2");B("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");B("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");B("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");B("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");B("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");B("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");B("1.2.840.113549.2.7","hmacWithSHA1");B("1.2.840.113549.2.8","hmacWithSHA224");B("1.2.840.113549.2.9","hmacWithSHA256");B("1.2.840.113549.2.10","hmacWithSHA384");B("1.2.840.113549.2.11","hmacWithSHA512");B("1.2.840.113549.3.7","des-EDE3-CBC");B("2.16.840.1.101.3.4.1.2","aes128-CBC");B("2.16.840.1.101.3.4.1.22","aes192-CBC");B("2.16.840.1.101.3.4.1.42","aes256-CBC");B("2.5.4.3","commonName");B("2.5.4.4","surname");B("2.5.4.5","serialNumber");B("2.5.4.6","countryName");B("2.5.4.7","localityName");B("2.5.4.8","stateOrProvinceName");B("2.5.4.9","streetAddress");B("2.5.4.10","organizationName");B("2.5.4.11","organizationalUnitName");B("2.5.4.12","title");B("2.5.4.13","description");B("2.5.4.15","businessCategory");B("2.5.4.17","postalCode");B("2.5.4.42","givenName");B("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");B("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");B("2.16.840.1.113730.1.1","nsCertType");B("2.16.840.1.113730.1.13","nsComment");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");B("2.5.29.14","subjectKeyIdentifier");B("2.5.29.15","keyUsage");rt("2.5.29.16","privateKeyUsagePeriod");B("2.5.29.17","subjectAltName");B("2.5.29.18","issuerAltName");B("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");B("2.5.29.31","cRLDistributionPoints");B("2.5.29.32","certificatePolicies");rt("2.5.29.33","policyMappings");rt("2.5.29.34","policyConstraints");B("2.5.29.35","authorityKeyIdentifier");rt("2.5.29.36","policyConstraints");B("2.5.29.37","extKeyUsage");rt("2.5.29.46","freshestCRL");rt("2.5.29.54","inhibitAnyPolicy");B("1.3.6.1.4.1.11129.2.4.2","timestampList");B("1.3.6.1.5.5.7.1.1","authorityInfoAccess");B("1.3.6.1.5.5.7.3.1","serverAuth");B("1.3.6.1.5.5.7.3.2","clientAuth");B("1.3.6.1.5.5.7.3.3","codeSigning");B("1.3.6.1.5.5.7.3.4","emailProtection");B("1.3.6.1.5.5.7.3.8","timeStamping")});var L0=D((Wm,J4)=>{var ft=nt();Ct();Yi();var R=J4.exports=ft.asn1=ft.asn1||{};R.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};R.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};R.create=function(e,t,r,n,i){if(ft.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||ft.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=R.copy(a)),a};R.copy=function(e,t){var r;if(ft.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(R.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:R.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};R.equals=function(e,t,r){if(ft.util.isArray(e)){if(!ft.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!R.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&&R.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};R.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 N0(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 g7=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;N0(e,t,o),n=e.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};R.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=ft.util.createBuffer(e));var r=e.length(),n=Zi(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 Zi(e,t,r,n){var i;N0(e,t,2);var o=e.getByte();t--;var s=o&192,a=o&31;i=e.length();var u=g7(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(N0(e,t,2),e.bytes(2)===String.fromCharCode(0,0)){e.getBytes(2),t-=2;break}i=e.length(),f.push(Zi(e,t,r+1,n)),t-=i-e.length()}else for(;u>0;)i=e.length(),f.push(Zi(e,u,r+1,n)),t-=i-e.length(),u-=i-e.length();if(f===void 0&&s===R.Class.UNIVERSAL&&a===R.Type.BITSTRING&&(l=e.bytes(u)),f===void 0&&n.decodeBitStrings&&s===R.Class.UNIVERSAL&&a===R.Type.BITSTRING&&u>1){var p=e.read,h=t,y=0;if(a===R.Type.BITSTRING&&(N0(e,t,1),y=e.getByte(),t--),y===0)try{i=e.length();var g={strict:!0,decodeBitStrings:!0},m=Zi(e,t,r+1,g),x=i-e.length();t-=x,a==R.Type.BITSTRING&&x++;var S=m.tagClass;x===u&&(S===R.Class.UNIVERSAL||S===R.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===R.Type.BMPSTRING)for(f="";u>0;u-=2)N0(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 R.create(s,a,d,f,L)}R.toDer=function(e){var t=ft.util.createBuffer(),r=e.tagClass|e.type,n=ft.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=R.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(R.toDer(e.value[o]))}else if(e.type===R.Type.BMPSTRING)for(var o=0;o<e.value.length;++o)n.putInt16(e.value.charCodeAt(o));else e.type===R.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};R.oidToDer=function(e){var t=e.split("."),r=ft.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};R.derToOid=function(e){var t;typeof e=="string"&&(e=ft.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};R.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};R.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};R.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};R.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};R.integerToDer=function(e){var t=ft.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};R.derToInteger=function(e){typeof e=="string"&&(e=ft.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)};R.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&&ft.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=R.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 j4=/[^\\u0000-\\u00ff]/;R.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
|
|
2
|
+
"use strict";var Libp2PKadDht=(()=>{var f8=Object.create;var l0=Object.defineProperty;var l8=Object.getOwnPropertyDescriptor;var h8=Object.getOwnPropertyNames;var p8=Object.getPrototypeOf,d8=Object.prototype.hasOwnProperty;var D=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Nt=(e,t)=>{for(var r in t)l0(e,r,{get:t[r],enumerable:!0})},G2=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of h8(t))!d8.call(e,i)&&i!==r&&l0(e,i,{get:()=>t[i],enumerable:!(n=l8(t,i))||n.enumerable});return e};var $=(e,t,r)=>(r=e!=null?f8(p8(e)):{},G2(t||!e||!e.__esModule?l0(r,"default",{value:e,enumerable:!0}):r,e)),y8=e=>G2(l0({},"__esModule",{value:!0}),e);var X2=D((Ld,Z2)=>{var xn=1e3,vn=xn*60,wn=vn*60,qr=wn*24,x8=qr*7,v8=qr*365.25;Z2.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return w8(e);if(r==="number"&&isFinite(e))return t.long?E8(e):b8(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function w8(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*v8;case"weeks":case"week":case"w":return r*x8;case"days":case"day":case"d":return r*qr;case"hours":case"hour":case"hrs":case"hr":case"h":return r*wn;case"minutes":case"minute":case"mins":case"min":case"m":return r*vn;case"seconds":case"second":case"secs":case"sec":case"s":return r*xn;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function b8(e){var t=Math.abs(e);return t>=qr?Math.round(e/qr)+"d":t>=wn?Math.round(e/wn)+"h":t>=vn?Math.round(e/vn)+"m":t>=xn?Math.round(e/xn)+"s":e+"ms"}function E8(e){var t=Math.abs(e);return t>=qr?p0(e,t,qr,"day"):t>=wn?p0(e,t,wn,"hour"):t>=vn?p0(e,t,vn,"minute"):t>=xn?p0(e,t,xn,"second"):e+" ms"}function p0(e,t,r,n){var i=t>=r*1.5;return Math.round(e/r)+" "+n+(i?"s":"")}});var J2=D((Nd,j2)=>{function S8(e){r.debug=r,r.default=r,r.coerce=u,r.disable=o,r.enable=i,r.enabled=s,r.humanize=X2(),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,x=Number(new Date),S=x-(l||x);m.diff=S,m.prev=l,m.curr=x,l=x,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,(T,q)=>{if(T==="%%")return"%";N++;let G=r.formatters[q];if(typeof G=="function"){let Lt=g[N];T=G.call(m,Lt),g.splice(N,1),N--}return T}),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}j2.exports=S8});var ta=D((Jt,d0)=>{Jt.formatArgs=A8;Jt.save=B8;Jt.load=C8;Jt.useColors=I8;Jt.storage=T8();Jt.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`."))}})();Jt.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 I8(){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 A8(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+d0.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)}Jt.log=console.debug||console.log||(()=>{});function B8(e){try{e?Jt.storage.setItem("debug",e):Jt.storage.removeItem("debug")}catch{}}function C8(){let e;try{e=Jt.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function T8(){try{return localStorage}catch{}}d0.exports=J2()(Jt);var{formatters:_8}=d0.exports;_8.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var Ia=D((Dy,Sa)=>{"use strict";Sa.exports=Kc;function Kc(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 Ta=D(Ca=>{"use strict";var x0=Ca;x0.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 _n=new Array(64),Ba=new Array(123);for(xe=0;xe<64;)Ba[_n[xe]=xe<26?xe+65:xe<52?xe+71:xe<62?xe-4:xe-59|43]=xe++;var xe;x0.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++]=_n[c>>2],u=(c&3)<<4,a=1;break;case 1:o[s++]=_n[u|c>>4],u=(c&15)<<2,a=2;break;case 2:o[s++]=_n[u|c>>6],o[s++]=_n[c&63],a=0;break}s>8191&&((i||(i=[])).push(String.fromCharCode.apply(String,o)),s=0)}return a&&(o[s++]=_n[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 Aa="invalid encoding";x0.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=Ba[u])===void 0)throw Error(Aa);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(Aa);return n-i};x0.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}});var Ra=D((Uy,_a)=>{"use strict";_a.exports=v0;function v0(){this._listeners={}}v0.prototype.on=function(t,r,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:r,ctx:n||this}),this};v0.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};v0.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 Ua=D((Oy,Fa)=>{"use strict";Fa.exports=Pa(Pa);function Pa(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,La),e.writeFloatBE=t.bind(null,Na);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,ka),e.readFloatBE=r.bind(null,Da)}(),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,La,0,4),e.writeDoubleBE=t.bind(null,Na,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,ka,0,4),e.readDoubleBE=r.bind(null,Da,4,0)}(),e}function La(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 Na(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 ka(e,t){return(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0}function Da(e,t){return(e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3])>>>0}});var Oa=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 Ka=D(Ma=>{"use strict";var ko=Ma;ko.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};ko.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))};ko.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 qa=D((Ky,Va)=>{"use strict";Va.exports=Vc;function Vc(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 $a=D((Vy,za)=>{"use strict";za.exports=kt;var mi=Wr();function kt(e,t){this.lo=e>>>0,this.hi=t>>>0}var Qr=kt.zero=new kt(0,0);Qr.toNumber=function(){return 0};Qr.zzEncode=Qr.zzDecode=function(){return this};Qr.length=function(){return 1};var qc=kt.zeroHash="\0\0\0\0\0\0\0\0";kt.fromNumber=function(t){if(t===0)return Qr;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 kt(n,i)};kt.from=function(t){if(typeof t=="number")return kt.fromNumber(t);if(mi.isString(t))if(mi.Long)t=mi.Long.fromString(t);else return kt.fromNumber(parseInt(t,10));return t.low||t.high?new kt(t.low>>>0,t.high>>>0):Qr};kt.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};kt.prototype.toLong=function(t){return mi.Long?new mi.Long(this.lo|0,this.hi|0,!!t):{low:this.lo|0,high:this.hi|0,unsigned:!!t}};var wr=String.prototype.charCodeAt;kt.fromHash=function(t){return t===qc?Qr:new kt((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)};kt.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)};kt.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};kt.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};kt.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 Wr=D(Do=>{"use strict";var F=Do;F.asPromise=Ia();F.base64=Ta();F.EventEmitter=Ra();F.float=Ua();F.inquire=Oa();F.utf8=Ka();F.pool=qa();F.LongBits=$a();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||Do;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 Ha(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=Ha;F.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)};function Ga(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&&Ha(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=Ga;F.ProtocolError=Ga("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 Oo=D((zy,Xa)=>{"use strict";Xa.exports=It;var Le=Wr(),Uo,Ya=Le.LongBits,zc=Le.utf8;function ve(e,t){return RangeError("index out of range: "+e.pos+" + "+(t||1)+" > "+e.len)}function It(e){this.buf=e,this.pos=0,this.len=e.length}var Qa=typeof Uint8Array<"u"?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new It(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new It(t);throw Error("illegal buffer")},Za=function(){return Le.Buffer?function(r){return(It.create=function(i){return Le.Buffer.isBuffer(i)?new Uo(i):Qa(i)})(r)}:Qa};It.create=Za();It.prototype._slice=Le.Array.prototype.subarray||Le.Array.prototype.slice;It.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,ve(this,10);return t}}();It.prototype.int32=function(){return this.uint32()|0};It.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(t&1)|0};function Fo(){var e=new Ya(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 ve(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 ve(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")}It.prototype.bool=function(){return this.uint32()!==0};function w0(e,t){return(e[t-4]|e[t-3]<<8|e[t-2]<<16|e[t-1]<<24)>>>0}It.prototype.fixed32=function(){if(this.pos+4>this.len)throw ve(this,4);return w0(this.buf,this.pos+=4)};It.prototype.sfixed32=function(){if(this.pos+4>this.len)throw ve(this,4);return w0(this.buf,this.pos+=4)|0};function Wa(){if(this.pos+8>this.len)throw ve(this,8);return new Ya(w0(this.buf,this.pos+=4),w0(this.buf,this.pos+=4))}It.prototype.float=function(){if(this.pos+4>this.len)throw ve(this,4);var t=Le.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t};It.prototype.double=function(){if(this.pos+8>this.len)throw ve(this,4);var t=Le.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t};It.prototype.bytes=function(){var t=this.uint32(),r=this.pos,n=this.pos+t;if(n>this.len)throw ve(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)};It.prototype.string=function(){var t=this.bytes();return zc.read(t,0,t.length)};It.prototype.skip=function(t){if(typeof t=="number"){if(this.pos+t>this.len)throw ve(this,t);this.pos+=t}else do if(this.pos>=this.len)throw ve(this);while(this.buf[this.pos++]&128);return this};It.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};It._configure=function(e){Uo=e,It.create=Za(),Uo._configure();var t=Le.Long?"toLong":"toNumber";Le.merge(It.prototype,{int64:function(){return Fo.call(this)[t](!1)},uint64:function(){return Fo.call(this)[t](!0)},sint64:function(){return Fo.call(this).zzDecode()[t](!1)},fixed64:function(){return Wa.call(this)[t](!0)},sfixed64:function(){return Wa.call(this)[t](!1)}})}});var e3=D(($y,t3)=>{"use strict";t3.exports=Yr;var Ja=Oo();(Yr.prototype=Object.create(Ja.prototype)).constructor=Yr;var ja=Wr();function Yr(e){Ja.call(this,e)}Yr._configure=function(){ja.Buffer&&(Yr.prototype._slice=ja.Buffer.prototype.slice)};Yr.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))};Yr._configure()});var Ho=D((Hy,o3)=>{"use strict";o3.exports=X;var ce=Wr(),Mo,b0=ce.LongBits,r3=ce.base64,n3=ce.utf8;function xi(e,t,r){this.fn=e,this.len=t,this.next=void 0,this.val=r}function Vo(){}function $c(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 xi(Vo,0,0),this.tail=this.head,this.states=null}var i3=function(){return ce.Buffer?function(){return(X.create=function(){return new Mo})()}:function(){return new X}};X.create=i3();X.alloc=function(t){return new ce.Array(t)};ce.Array!==Array&&(X.alloc=ce.pool(X.alloc,ce.Array.prototype.subarray));X.prototype._push=function(t,r,n){return this.tail=this.tail.next=new xi(t,r,n),this.len+=r,this};function qo(e,t,r){t[r]=e&255}function Hc(e,t,r){for(;e>127;)t[r++]=e&127|128,e>>>=7;t[r]=e}function zo(e,t){this.len=e,this.next=void 0,this.val=t}zo.prototype=Object.create(xi.prototype);zo.prototype.fn=Hc;X.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new zo((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($o,10,b0.fromNumber(t)):this.uint32(t)};X.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)};function $o(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=b0.from(t);return this._push($o,r.length(),r)};X.prototype.int64=X.prototype.uint64;X.prototype.sint64=function(t){var r=b0.from(t).zzEncode();return this._push($o,r.length(),r)};X.prototype.bool=function(t){return this._push(qo,1,t?1:0)};function Ko(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(Ko,4,t>>>0)};X.prototype.sfixed32=X.prototype.fixed32;X.prototype.fixed64=function(t){var r=b0.from(t);return this._push(Ko,4,r.lo)._push(Ko,4,r.hi)};X.prototype.sfixed64=X.prototype.fixed64;X.prototype.float=function(t){return this._push(ce.float.writeFloatLE,4,t)};X.prototype.double=function(t){return this._push(ce.float.writeDoubleLE,8,t)};var Gc=ce.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(qo,1,0);if(ce.isString(t)){var n=X.alloc(r=r3.length(t));r3.decode(t,n,0),t=n}return this.uint32(r)._push(Gc,r,t)};X.prototype.string=function(t){var r=n3.length(t);return r?this.uint32(r)._push(n3.write,r,t):this._push(qo,1,0)};X.prototype.fork=function(){return this.states=new $c(this),this.head=this.tail=new xi(Vo,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 xi(Vo,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){Mo=e,X.create=i3(),Mo._configure()}});var u3=D((Gy,a3)=>{"use strict";a3.exports=Ne;var s3=Ho();(Ne.prototype=Object.create(s3.prototype)).constructor=Ne;var br=Wr();function Ne(){s3.call(this)}Ne._configure=function(){Ne.alloc=br._Buffer_allocUnsafe,Ne.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++]}};Ne.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(Ne.writeBytesBuffer,r,t),this};function Qc(e,t,r){e.length<40?br.utf8.write(e,t,r):t.utf8Write?t.utf8Write(e,r):t.write(e,r)}Ne.prototype.string=function(t){var r=br.Buffer.byteLength(t);return this.uint32(r),r&&this._push(Qc,r,t),this};Ne._configure()});var I3=D((Rg,S3)=>{S3.exports=es;var E3=128,of=127,sf=~of,af=Math.pow(2,31);function es(e,t,r){if(Number.MAX_SAFE_INTEGER&&e>Number.MAX_SAFE_INTEGER)throw es.bytes=0,new RangeError("Could not encode varint");t=t||[],r=r||0;for(var n=r;e>=af;)t[r++]=e&255|E3,e/=128;for(;e&sf;)t[r++]=e&255|E3,e>>>=7;return t[r]=e|0,es.bytes=r-n+1,t}});var C3=D((Pg,B3)=>{B3.exports=rs;var uf=128,A3=127;function rs(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a||i>49)throw rs.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&A3)<<i:(s&A3)*Math.pow(2,i),i+=7}while(s>=uf);return rs.bytes=o-n,r}});var _3=D((Lg,T3)=>{var cf=Math.pow(2,7),ff=Math.pow(2,14),lf=Math.pow(2,21),hf=Math.pow(2,28),pf=Math.pow(2,35),df=Math.pow(2,42),yf=Math.pow(2,49),gf=Math.pow(2,56),mf=Math.pow(2,63);T3.exports=function(e){return e<cf?1:e<ff?2:e<lf?3:e<hf?4:e<pf?5:e<df?6:e<yf?7:e<gf?8:e<mf?9:10}});var bi=D((Ng,R3)=>{R3.exports={encode:I3(),decode:C3(),encodingLength:_3()}});var s4=D(_i=>{(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}(),_i.ip2long=s,_i.long2ip=a,_i.Netmask=e}).call(_i)});var f4=D((c4,k0)=>{(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],x,S;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(S=h-y,x=":";S--;)x+="0:";return p=p.replace("::",x),p[0]===":"&&(p=p.slice(1)),p[p.length-1]===":"&&(p=p.slice(0,-1)),h=function(){let N=p.split(":"),_=[];for(let T=0;T<N.length;T++)_.push(parseInt(N[T],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,x;for(;g>0;){if(x=y-g,x<0&&(x=0),p[m]>>x!==h[m]>>x)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,x,S;for(m=3;m>=0;m-=1)if(x=this.octets[m],x in g){if(S=g[x],y&&S!==0)return null;S!==8&&(y=!0),h+=S}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=[],x=0;for(;x<4;)m.push(parseInt(y[x],10)|parseInt(g[x],10)^255),x++;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,x;try{for(h=this.parseCIDR(p),g=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],y=0;y<4;)m.push(parseInt(g[y],10)&parseInt(x[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),x=[];for(let S=0;S<m.length;S++)y=m[S],x.push(f(y));return x}();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=[],x;for(x=0;x<=24;x+=8)m.push(g>>x&255);return m}().reverse()}else return(h=p.match(r.twoOctet))?function(){let m=h.slice(1,4),x=[];if(g=f(m[1]),g>16777215||g<0)throw new Error("ipaddr: address outside defined range");return x.push(f(m[0])),x.push(g>>16&255),x.push(g>>8&255),x.push(g&255),x}():(h=p.match(r.threeOctet))?function(){let m=h.slice(1,5),x=[];if(g=f(m[2]),g>65535||g<0)throw new Error("ipaddr: address outside defined range");return x.push(f(m[0])),x.push(f(m[1])),x.push(g>>8&255),x.push(g&255),x}():null},d.IPv4.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>32)throw new Error("ipaddr: invalid IPv4 prefix length");let h=[0,0,0,0],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,x;for(let S=7;S>=0;S-=1)if(m=this.parts[S],m in g){if(x=g[m],y&&x!==0)return null;x!==16&&(y=!0),h+=x}else return null;return 128-h},p.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},p.prototype.toByteArray=function(){let h,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,x;for(;x=h.exec(y);)x[0].length>m&&(g=x.index,m=x[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=[],x=0;for(;x<16;)m.push(parseInt(y[x],10)|parseInt(g[x],10)^255),x++;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,x;try{for(h=this.parseCIDR(p),g=h[0].toByteArray(),x=this.subnetMaskFromPrefixLength(h[1]).toByteArray(),m=[],y=0;y<16;)m.push(parseInt(g[y],10)&parseInt(x[y],10)),y++;return new this(m)}catch(S){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${S})`)}},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,x,S;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))&&(S=g[6]||"",h=u(g[1].slice(0,-1)+S,6),h.parts)){for(x=[parseInt(g[2]),parseInt(g[3]),parseInt(g[4]),parseInt(g[5])],y=0;y<x.length;y++)if(m=x[y],!(0<=m&&m<=255))return null;return h.parts.push(x[0]<<8|x[1]),h.parts.push(x[2]<<8|x[3]),{parts:h.parts,zoneId:h.zoneId}}return null},d.IPv6.subnetMaskFromPrefixLength=function(p){if(p=parseInt(p),p<0||p>128)throw new Error("ipaddr: invalid IPv6 prefix length");let h=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],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,x,S;y==null&&(y="unicast");for(m in h)if(Object.prototype.hasOwnProperty.call(h,m)){for(x=h[m],x[0]&&!(x[0]instanceof Array)&&(x=[x]),g=0;g<x.length;g++)if(S=x[g],p.kind()===S[0].kind()&&p.match.apply(p,S))return m}return y},typeof k0<"u"&&k0.exports?k0.exports=d:e.ipaddr=d})(c4)});var C4=D((Uv,B4)=>{"use strict";function A4(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function v7(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 A4(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),A4(new i,r)}}B4.exports=v7});var nt=D((iw,L4)=>{L4.exports={options:{usePureJavaScript:!1}}});var D4=D((ow,k4)=>{var Ss={};k4.exports=Ss;var N4={};Ss.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=I7(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
|
|
3
|
+
`)}return n};Ss.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=N4[t];if(!r){r=N4[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 I7(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((sw,M4)=>{var F4=nt(),U4=D4(),v=M4.exports=F4.util=F4.util||{};(function(){if(typeof process<"u"&&process.nextTick&&!process.browser){v.nextTick=process.nextTick,typeof setImmediate=="function"?v.setImmediate=setImmediate:v.setImmediate=v.nextTick;return}if(typeof setImmediate=="function"){v.setImmediate=function(){return setImmediate.apply(void 0,arguments)},v.nextTick=function(a){return setImmediate(a)};return}if(v.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=[];v.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=v.setImmediate;v.setImmediate=function(u){Date.now()-r>15?(r=Date.now(),o(u)):(t.push(u),t.length===1&&i.setAttribute("a",n=!n))}}v.nextTick=v.setImmediate})();v.isNodejs=typeof process<"u"&&process.versions&&process.versions.node;v.globalScope=function(){return v.isNodejs?globalThis:typeof self>"u"?window:self}();v.isArray=Array.isArray||function(e){return Object.prototype.toString.call(e)==="[object Array]"};v.isArrayBuffer=function(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer};v.isArrayBufferView=function(e){return e&&v.isArrayBuffer(e.buffer)&&e.byteLength!==void 0};function Pi(e){if(!(e===8||e===16||e===24||e===32))throw new Error("Only 8, 16, 24, or 32 bits supported: "+e)}v.ByteBuffer=Is;function Is(e){if(this.data="",this.read=0,typeof e=="string")this.data=e;else if(v.isArrayBuffer(e)||v.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 Is||typeof e=="object"&&typeof e.data=="string"&&typeof e.read=="number")&&(this.data=e.data,this.read=e.read);this._constructedStringLength=0}v.ByteStringBuffer=Is;var A7=4096;v.ByteStringBuffer.prototype._optimizeConstructedString=function(e){this._constructedStringLength+=e,this._constructedStringLength>A7&&(this.data.substr(0,1),this._constructedStringLength=0)};v.ByteStringBuffer.prototype.length=function(){return this.data.length-this.read};v.ByteStringBuffer.prototype.isEmpty=function(){return this.length()<=0};v.ByteStringBuffer.prototype.putByte=function(e){return this.putBytes(String.fromCharCode(e))};v.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};v.ByteStringBuffer.prototype.putBytes=function(e){return this.data+=e,this._optimizeConstructedString(e.length),this};v.ByteStringBuffer.prototype.putString=function(e){return this.putBytes(v.encodeUtf8(e))};v.ByteStringBuffer.prototype.putInt16=function(e){return this.putBytes(String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};v.ByteStringBuffer.prototype.putInt24=function(e){return this.putBytes(String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255))};v.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))};v.ByteStringBuffer.prototype.putInt16Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255))};v.ByteStringBuffer.prototype.putInt24Le=function(e){return this.putBytes(String.fromCharCode(e&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e>>16&255))};v.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))};v.ByteStringBuffer.prototype.putInt=function(e,t){Pi(t);var r="";do t-=8,r+=String.fromCharCode(e>>t&255);while(t>0);return this.putBytes(r)};v.ByteStringBuffer.prototype.putSignedInt=function(e,t){return e<0&&(e+=2<<t-1),this.putInt(e,t)};v.ByteStringBuffer.prototype.putBuffer=function(e){return this.putBytes(e.getBytes())};v.ByteStringBuffer.prototype.getByte=function(){return this.data.charCodeAt(this.read++)};v.ByteStringBuffer.prototype.getInt16=function(){var e=this.data.charCodeAt(this.read)<<8^this.data.charCodeAt(this.read+1);return this.read+=2,e};v.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};v.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};v.ByteStringBuffer.prototype.getInt16Le=function(){var e=this.data.charCodeAt(this.read)^this.data.charCodeAt(this.read+1)<<8;return this.read+=2,e};v.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};v.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};v.ByteStringBuffer.prototype.getInt=function(e){Pi(e);var t=0;do t=(t<<8)+this.data.charCodeAt(this.read++),e-=8;while(e>0);return t};v.ByteStringBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};v.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};v.ByteStringBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};v.ByteStringBuffer.prototype.at=function(e){return this.data.charCodeAt(this.read+e)};v.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};v.ByteStringBuffer.prototype.last=function(){return this.data.charCodeAt(this.data.length-1)};v.ByteStringBuffer.prototype.copy=function(){var e=v.createBuffer(this.data);return e.read=this.read,e};v.ByteStringBuffer.prototype.compact=function(){return this.read>0&&(this.data=this.data.slice(this.read),this.read=0),this};v.ByteStringBuffer.prototype.clear=function(){return this.data="",this.read=0,this};v.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};v.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};v.ByteStringBuffer.prototype.toString=function(){return v.decodeUtf8(this.bytes())};function B7(e,t){t=t||{},this.read=t.readOffset||0,this.growSize=t.growSize||1024;var r=v.isArrayBuffer(e),n=v.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)}v.DataBuffer=B7;v.DataBuffer.prototype.length=function(){return this.write-this.read};v.DataBuffer.prototype.isEmpty=function(){return this.length()<=0};v.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};v.DataBuffer.prototype.putByte=function(e){return this.accommodate(1),this.data.setUint8(this.write++,e),this};v.DataBuffer.prototype.fillWithByte=function(e,t){this.accommodate(t);for(var r=0;r<t;++r)this.data.setUint8(e);return this};v.DataBuffer.prototype.putBytes=function(e,t){if(v.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(v.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 v.DataBuffer||typeof e=="object"&&typeof e.read=="number"&&typeof e.write=="number"&&v.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 v.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+=v.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+=v.binary.base64.decode(e,o,this.write),this;if(t==="utf8"&&(e=v.encodeUtf8(e),t="binary"),t==="binary"||t==="raw")return this.accommodate(e.length),o=new Uint8Array(this.data.buffer,this.write),this.write+=v.binary.raw.decode(o),this;if(t==="utf16")return this.accommodate(e.length*2),o=new Uint16Array(this.data.buffer,this.write),this.write+=v.text.utf16.encode(o),this;throw new Error("Invalid encoding: "+t)}throw Error("Invalid parameter: "+e)};v.DataBuffer.prototype.putBuffer=function(e){return this.putBytes(e),e.clear(),this};v.DataBuffer.prototype.putString=function(e){return this.putBytes(e,"utf16")};v.DataBuffer.prototype.putInt16=function(e){return this.accommodate(2),this.data.setInt16(this.write,e),this.write+=2,this};v.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};v.DataBuffer.prototype.putInt32=function(e){return this.accommodate(4),this.data.setInt32(this.write,e),this.write+=4,this};v.DataBuffer.prototype.putInt16Le=function(e){return this.accommodate(2),this.data.setInt16(this.write,e,!0),this.write+=2,this};v.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};v.DataBuffer.prototype.putInt32Le=function(e){return this.accommodate(4),this.data.setInt32(this.write,e,!0),this.write+=4,this};v.DataBuffer.prototype.putInt=function(e,t){Pi(t),this.accommodate(t/8);do t-=8,this.data.setInt8(this.write++,e>>t&255);while(t>0);return this};v.DataBuffer.prototype.putSignedInt=function(e,t){return Pi(t),this.accommodate(t/8),e<0&&(e+=2<<t-1),this.putInt(e,t)};v.DataBuffer.prototype.getByte=function(){return this.data.getInt8(this.read++)};v.DataBuffer.prototype.getInt16=function(){var e=this.data.getInt16(this.read);return this.read+=2,e};v.DataBuffer.prototype.getInt24=function(){var e=this.data.getInt16(this.read)<<8^this.data.getInt8(this.read+2);return this.read+=3,e};v.DataBuffer.prototype.getInt32=function(){var e=this.data.getInt32(this.read);return this.read+=4,e};v.DataBuffer.prototype.getInt16Le=function(){var e=this.data.getInt16(this.read,!0);return this.read+=2,e};v.DataBuffer.prototype.getInt24Le=function(){var e=this.data.getInt8(this.read)^this.data.getInt16(this.read+1,!0)<<8;return this.read+=3,e};v.DataBuffer.prototype.getInt32Le=function(){var e=this.data.getInt32(this.read,!0);return this.read+=4,e};v.DataBuffer.prototype.getInt=function(e){Pi(e);var t=0;do t=(t<<8)+this.data.getInt8(this.read++),e-=8;while(e>0);return t};v.DataBuffer.prototype.getSignedInt=function(e){var t=this.getInt(e),r=2<<e-2;return t>=r&&(t-=r<<1),t};v.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};v.DataBuffer.prototype.bytes=function(e){return typeof e>"u"?this.data.slice(this.read):this.data.slice(this.read,this.read+e)};v.DataBuffer.prototype.at=function(e){return this.data.getUint8(this.read+e)};v.DataBuffer.prototype.setAt=function(e,t){return this.data.setUint8(e,t),this};v.DataBuffer.prototype.last=function(){return this.data.getUint8(this.write-1)};v.DataBuffer.prototype.copy=function(){return new v.DataBuffer(this)};v.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};v.DataBuffer.prototype.clear=function(){return this.data=new DataView(new ArrayBuffer(0)),this.read=this.write=0,this};v.DataBuffer.prototype.truncate=function(e){return this.write=Math.max(0,this.length()-e),this.read=Math.min(this.read,this.write),this};v.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};v.DataBuffer.prototype.toString=function(e){var t=new Uint8Array(this.data,this.read,this.length());if(e=e||"utf8",e==="binary"||e==="raw")return v.binary.raw.encode(t);if(e==="hex")return v.binary.hex.encode(t);if(e==="base64")return v.binary.base64.encode(t);if(e==="utf8")return v.text.utf8.decode(t);if(e==="utf16")return v.text.utf16.decode(t);throw new Error("Invalid encoding: "+e)};v.createBuffer=function(e,t){return t=t||"raw",e!==void 0&&t==="utf8"&&(e=v.encodeUtf8(e)),new v.ByteBuffer(e)};v.fillString=function(e,t){for(var r="";t>0;)t&1&&(r+=e),t>>>=1,t>0&&(e+=e);return r};v.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};v.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};v.bytesToHex=function(e){return v.createBuffer(e).toHex()};v.int32ToBytes=function(e){return String.fromCharCode(e>>24&255)+String.fromCharCode(e>>16&255)+String.fromCharCode(e>>8&255)+String.fromCharCode(e&255)};var Ar="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Br=[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],O4="123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";v.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+=Ar.charAt(i>>2),r+=Ar.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Ar.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Ar.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
|
4
|
+
`,r=r.substr(t));return n+=r,n};v.decode64=function(e){e=e.replace(/[^A-Za-z0-9\+\/\=]/g,"");for(var t="",r,n,i,o,s=0;s<e.length;)r=Br[e.charCodeAt(s++)-43],n=Br[e.charCodeAt(s++)-43],i=Br[e.charCodeAt(s++)-43],o=Br[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};v.encodeUtf8=function(e){return unescape(encodeURIComponent(e))};v.decodeUtf8=function(e){return decodeURIComponent(escape(e))};v.binary={raw:{},hex:{},base64:{},base58:{},baseN:{encode:U4.encode,decode:U4.decode}};v.binary.raw.encode=function(e){return String.fromCharCode.apply(null,e)};v.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};v.binary.hex.encode=v.bytesToHex;v.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};v.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+=Ar.charAt(i>>2),r+=Ar.charAt((i&3)<<4|o>>4),isNaN(o)?r+="==":(r+=Ar.charAt((o&15)<<2|s>>6),r+=isNaN(s)?"=":Ar.charAt(s&63)),t&&r.length>t&&(n+=r.substr(0,t)+`\r
|
|
5
|
+
`,r=r.substr(t));return n+=r,n};v.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=Br[e.charCodeAt(u++)-43],o=Br[e.charCodeAt(u++)-43],s=Br[e.charCodeAt(u++)-43],a=Br[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)};v.binary.base58.encode=function(e,t){return v.binary.baseN.encode(e,O4,t)};v.binary.base58.decode=function(e,t){return v.binary.baseN.decode(e,O4,t)};v.text={utf8:{},utf16:{}};v.text.utf8.encode=function(e,t,r){e=v.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};v.text.utf8.decode=function(e){return v.decodeUtf8(String.fromCharCode.apply(null,e))};v.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};v.text.utf16.decode=function(e){return String.fromCharCode.apply(null,new Uint16Array(e.buffer))};v.deflate=function(e,t,r){if(t=v.decode64(e.deflate(v.encode64(t)).rval),r){var n=2,i=t.charCodeAt(1);i&32&&(n=6),t=t.substring(n,t.length-4)}return t};v.inflate=function(e,t,r){var n=e.inflate(v.encode64(t)).rval;return n===null?null:v.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=v.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(v.decode64(r))),r},C7=function(e,t,r,n){var i=Bs(e,t);i===null&&(i={}),i[r]=n,As(e,t,i)},T7=function(e,t,r){var n=Bs(e,t);return n!==null&&(n=r in n?n[r]:null),n},_7=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)}},R7=function(e,t){As(e,t,null)},q0=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};v.setItem=function(e,t,r,n,i){q0(C7,arguments,i)};v.getItem=function(e,t,r,n){return q0(T7,arguments,n)};v.removeItem=function(e,t,r,n){q0(_7,arguments,n)};v.clearItems=function(e,t,r){q0(R7,arguments,r)};v.isEmpty=function(e){for(var t in e)if(e.hasOwnProperty(t))return!1;return!0};v.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("")};v.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):"")};v.formatSize=function(e){return e>=1073741824?e=v.formatNumber(e/1073741824,2,".","")+" GiB":e>=1048576?e=v.formatNumber(e/1048576,2,".","")+" MiB":e>=1024?e=v.formatNumber(e/1024,0)+" KiB":e=v.formatNumber(e,0)+" bytes",e};v.bytesFromIP=function(e){return e.indexOf(".")!==-1?v.bytesFromIPv4(e):e.indexOf(":")!==-1?v.bytesFromIPv6(e):null};v.bytesFromIPv4=function(e){if(e=e.split("."),e.length!==4)return null;for(var t=v.createBuffer(),r=0;r<e.length;++r){var n=parseInt(e[r],10);if(isNaN(n))return null;t.putByte(n)}return t.getBytes()};v.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=v.createBuffer(),i=0;i<8;++i){if(!e[i]||e[i].length===0){n.fillWithByte(0,r),r=0;continue}var o=v.hexToBytes(e[i]);o.length<2&&n.putByte(0),n.putBytes(o)}return n.getBytes()};v.bytesToIP=function(e){return e.length===4?v.bytesToIPv4(e):e.length===16?v.bytesToIPv6(e):null};v.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(".")};v.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=v.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(":")};v.estimateCores=function(e,t){if(typeof e=="function"&&(t=e,e={}),e=e||{},"cores"in v&&!e.update)return t(null,v.cores);if(typeof navigator<"u"&&"hardwareConcurrency"in navigator&&navigator.hardwareConcurrency>0)return v.cores=navigator.hardwareConcurrency,t(null,v.cores);if(typeof Worker>"u")return v.cores=1,t(null,v.cores);if(typeof Blob>"u")return v.cores=2,t(null,v.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 v.cores=Math.max(1,c),URL.revokeObjectURL(r),t(null,v.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((aw,K4)=>{var Ft=nt();Ct();K4.exports=Ft.cipher=Ft.cipher||{};Ft.cipher.algorithms=Ft.cipher.algorithms||{};Ft.cipher.createCipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ft.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ft.cipher.BlockCipher({algorithm:r,key:t,decrypt:!1})};Ft.cipher.createDecipher=function(e,t){var r=e;if(typeof r=="string"&&(r=Ft.cipher.getAlgorithm(r),r&&(r=r())),!r)throw new Error("Unsupported algorithm: "+e);return new Ft.cipher.BlockCipher({algorithm:r,key:t,decrypt:!0})};Ft.cipher.registerAlgorithm=function(e,t){e=e.toUpperCase(),Ft.cipher.algorithms[e]=t};Ft.cipher.getAlgorithm=function(e){return e=e.toUpperCase(),e in Ft.cipher.algorithms?Ft.cipher.algorithms[e]:null};var Cs=Ft.cipher.BlockCipher=function(e){this.algorithm=e.algorithm,this.mode=this.algorithm.mode,this.blockSize=this.mode.blockSize,this._finish=!1,this._input=null,this.output=null,this._op=e.decrypt?this.mode.decrypt:this.mode.encrypt,this._decrypt=e.decrypt,this.algorithm.initialize(e)};Cs.prototype.start=function(e){e=e||{};var t={};for(var r in e)t[r]=e[r];t.decrypt=this._decrypt,this._finish=!1,this._input=Ft.util.createBuffer(),this.output=e.output||Ft.util.createBuffer(),this.mode.start(t)};Cs.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()};Cs.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 Rs=D((uw,V4)=>{var Ut=nt();Ct();Ut.cipher=Ut.cipher||{};var H=V4.exports=Ut.cipher.modes=Ut.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=z0(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=Ut.util.createBuffer(),this._partialBytes=0};H.cfb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=z0(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=Ut.util.createBuffer(),this._partialBytes=0};H.ofb.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=z0(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=Ut.util.createBuffer(),this._partialBytes=0};H.ctr.prototype.start=function(e){if(!("iv"in e))throw new Error("Invalid IV parameter.");this._iv=z0(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}$0(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=Ut.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=Ut.util.createBuffer(e.iv);this._cipherLength=0;var r;if("additionalData"in e?r=Ut.util.createBuffer(e.additionalData):r=Ut.util.createBuffer(),"tagLength"in e?this._tagLength=e.tagLength:this._tagLength=128,this._tag=null,e.decrypt&&(this._tag=Ut.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),$0(this._inBlock),this._partialBytes=0,r=Ut.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()])};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),$0(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),$0(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=Ut.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};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 z0(e,t){if(typeof e=="string"&&(e=Ut.util.createBuffer(e)),Ut.util.isArray(e)&&e.length>4){var r=e;e=Ut.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(!Ut.util.isArray(e)){for(var i=[],o=t/4,n=0;n<o;++n)i.push(e.getInt32());e=i}return e}function $0(e){e[e.length-1]=e[e.length-1]+1&4294967295}function _s(e){return[e/4294967296|0,e&4294967295]}});var G0=D((cw,H4)=>{var at=nt();Ts();Rs();Ct();H4.exports=at.aes=at.aes||{};at.aes.startEncrypting=function(e,t,r,n){var i=H0({key:e,output:r,decrypt:!1,mode:n});return i.start(t),i};at.aes.createEncryptionCipher=function(e,t){return H0({key:e,output:null,decrypt:!1,mode:t})};at.aes.startDecrypting=function(e,t,r,n){var i=H0({key:e,output:r,decrypt:!0,mode:n});return i.start(t),i};at.aes.createDecryptionCipher=function(e,t){return H0({key:e,output:null,decrypt:!0,mode:t})};at.aes.Algorithm=function(e,t){Ns||z4();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};at.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=at.util.createBuffer(t);else if(at.util.isArray(t)&&(t.length===16||t.length===24||t.length===32)){r=t,t=at.util.createBuffer();for(var n=0;n<r.length;++n)t.putByte(r[n])}if(!at.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(!at.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=$4(t,e.decrypt&&!s),this._init=!0}};at.aes._expandKey=function(e,t){return Ns||z4(),$4(e,t)};at.aes._updateBlock=Ls;qn("AES-ECB",at.cipher.modes.ecb);qn("AES-CBC",at.cipher.modes.cbc);qn("AES-CFB",at.cipher.modes.cfb);qn("AES-OFB",at.cipher.modes.ofb);qn("AES-CTR",at.cipher.modes.ctr);qn("AES-GCM",at.cipher.modes.gcm);function qn(e,t){var r=function(){return new at.aes.Algorithm(e,t)};at.cipher.registerAlgorithm(e,r)}var Ns=!1,Vn=4,$t,Ps,q4,tn,Se;function z4(){Ns=!0,q4=[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),Ps=new Array(256),tn=new Array(4),Se=new Array(4);for(var t=0;t<4;++t)tn[t]=new Array(256),Se[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,Ps[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)tn[l][r]=c,Se[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 $4(e,t){for(var r=e.slice(0),n,i=1,o=r.length,s=o+6+1,a=Vn*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]^q4[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=Se[0],l=Se[1],d=Se[2],p=Se[3],h=r.slice(0);a=r.length;for(var u=0,y=a-Vn;u<a;u+=Vn,y-=Vn)if(u===0||u===a-Vn)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<Vn;++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=Se[0],s=Se[1],a=Se[2],u=Se[3],c=Ps):(o=tn[0],s=tn[1],a=tn[2],u=tn[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,x=1;x<i;++x)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 H0(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="AES-"+t,n;e.decrypt?n=at.cipher.createDecipher(r,e.key):n=at.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof at.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var Q0=D((ww,G4)=>{var Li=nt();Li.pki=Li.pki||{};var Ds=G4.exports=Li.pki.oids=Li.oids=Li.oids||{};function B(e,t){Ds[e]=t,Ds[t]=e}function rt(e,t){Ds[e]=t}B("1.2.840.113549.1.1.1","rsaEncryption");B("1.2.840.113549.1.1.4","md5WithRSAEncryption");B("1.2.840.113549.1.1.5","sha1WithRSAEncryption");B("1.2.840.113549.1.1.7","RSAES-OAEP");B("1.2.840.113549.1.1.8","mgf1");B("1.2.840.113549.1.1.9","pSpecified");B("1.2.840.113549.1.1.10","RSASSA-PSS");B("1.2.840.113549.1.1.11","sha256WithRSAEncryption");B("1.2.840.113549.1.1.12","sha384WithRSAEncryption");B("1.2.840.113549.1.1.13","sha512WithRSAEncryption");B("1.3.101.112","EdDSA25519");B("1.2.840.10040.4.3","dsa-with-sha1");B("1.3.14.3.2.7","desCBC");B("1.3.14.3.2.26","sha1");B("1.3.14.3.2.29","sha1WithRSASignature");B("2.16.840.1.101.3.4.2.1","sha256");B("2.16.840.1.101.3.4.2.2","sha384");B("2.16.840.1.101.3.4.2.3","sha512");B("2.16.840.1.101.3.4.2.4","sha224");B("2.16.840.1.101.3.4.2.5","sha512-224");B("2.16.840.1.101.3.4.2.6","sha512-256");B("1.2.840.113549.2.2","md2");B("1.2.840.113549.2.5","md5");B("1.2.840.113549.1.7.1","data");B("1.2.840.113549.1.7.2","signedData");B("1.2.840.113549.1.7.3","envelopedData");B("1.2.840.113549.1.7.4","signedAndEnvelopedData");B("1.2.840.113549.1.7.5","digestedData");B("1.2.840.113549.1.7.6","encryptedData");B("1.2.840.113549.1.9.1","emailAddress");B("1.2.840.113549.1.9.2","unstructuredName");B("1.2.840.113549.1.9.3","contentType");B("1.2.840.113549.1.9.4","messageDigest");B("1.2.840.113549.1.9.5","signingTime");B("1.2.840.113549.1.9.6","counterSignature");B("1.2.840.113549.1.9.7","challengePassword");B("1.2.840.113549.1.9.8","unstructuredAddress");B("1.2.840.113549.1.9.14","extensionRequest");B("1.2.840.113549.1.9.20","friendlyName");B("1.2.840.113549.1.9.21","localKeyId");B("1.2.840.113549.1.9.22.1","x509Certificate");B("1.2.840.113549.1.12.10.1.1","keyBag");B("1.2.840.113549.1.12.10.1.2","pkcs8ShroudedKeyBag");B("1.2.840.113549.1.12.10.1.3","certBag");B("1.2.840.113549.1.12.10.1.4","crlBag");B("1.2.840.113549.1.12.10.1.5","secretBag");B("1.2.840.113549.1.12.10.1.6","safeContentsBag");B("1.2.840.113549.1.5.13","pkcs5PBES2");B("1.2.840.113549.1.5.12","pkcs5PBKDF2");B("1.2.840.113549.1.12.1.1","pbeWithSHAAnd128BitRC4");B("1.2.840.113549.1.12.1.2","pbeWithSHAAnd40BitRC4");B("1.2.840.113549.1.12.1.3","pbeWithSHAAnd3-KeyTripleDES-CBC");B("1.2.840.113549.1.12.1.4","pbeWithSHAAnd2-KeyTripleDES-CBC");B("1.2.840.113549.1.12.1.5","pbeWithSHAAnd128BitRC2-CBC");B("1.2.840.113549.1.12.1.6","pbewithSHAAnd40BitRC2-CBC");B("1.2.840.113549.2.7","hmacWithSHA1");B("1.2.840.113549.2.8","hmacWithSHA224");B("1.2.840.113549.2.9","hmacWithSHA256");B("1.2.840.113549.2.10","hmacWithSHA384");B("1.2.840.113549.2.11","hmacWithSHA512");B("1.2.840.113549.3.7","des-EDE3-CBC");B("2.16.840.1.101.3.4.1.2","aes128-CBC");B("2.16.840.1.101.3.4.1.22","aes192-CBC");B("2.16.840.1.101.3.4.1.42","aes256-CBC");B("2.5.4.3","commonName");B("2.5.4.4","surname");B("2.5.4.5","serialNumber");B("2.5.4.6","countryName");B("2.5.4.7","localityName");B("2.5.4.8","stateOrProvinceName");B("2.5.4.9","streetAddress");B("2.5.4.10","organizationName");B("2.5.4.11","organizationalUnitName");B("2.5.4.12","title");B("2.5.4.13","description");B("2.5.4.15","businessCategory");B("2.5.4.17","postalCode");B("2.5.4.42","givenName");B("1.3.6.1.4.1.311.60.2.1.2","jurisdictionOfIncorporationStateOrProvinceName");B("1.3.6.1.4.1.311.60.2.1.3","jurisdictionOfIncorporationCountryName");B("2.16.840.1.113730.1.1","nsCertType");B("2.16.840.1.113730.1.13","nsComment");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");B("2.5.29.14","subjectKeyIdentifier");B("2.5.29.15","keyUsage");rt("2.5.29.16","privateKeyUsagePeriod");B("2.5.29.17","subjectAltName");B("2.5.29.18","issuerAltName");B("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");B("2.5.29.31","cRLDistributionPoints");B("2.5.29.32","certificatePolicies");rt("2.5.29.33","policyMappings");rt("2.5.29.34","policyConstraints");B("2.5.29.35","authorityKeyIdentifier");rt("2.5.29.36","policyConstraints");B("2.5.29.37","extKeyUsage");rt("2.5.29.46","freshestCRL");rt("2.5.29.54","inhibitAnyPolicy");B("1.3.6.1.4.1.11129.2.4.2","timestampList");B("1.3.6.1.5.5.7.1.1","authorityInfoAccess");B("1.3.6.1.5.5.7.3.1","serverAuth");B("1.3.6.1.5.5.7.3.2","clientAuth");B("1.3.6.1.5.5.7.3.3","codeSigning");B("1.3.6.1.5.5.7.3.4","emailProtection");B("1.3.6.1.5.5.7.3.8","timeStamping")});var ki=D((bw,W4)=>{var ft=nt();Ct();Q0();var R=W4.exports=ft.asn1=ft.asn1||{};R.Class={UNIVERSAL:0,APPLICATION:64,CONTEXT_SPECIFIC:128,PRIVATE:192};R.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};R.create=function(e,t,r,n,i){if(ft.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||ft.util.isArray(n),value:n};return i&&"bitStringContents"in i&&(a.bitStringContents=i.bitStringContents,a.original=R.copy(a)),a};R.copy=function(e,t){var r;if(ft.util.isArray(e)){r=[];for(var n=0;n<e.length;++n)r.push(R.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:R.copy(e.value,t)},t&&!t.excludeBitStringContents&&(r.bitStringContents=e.bitStringContents),r)};R.equals=function(e,t,r){if(ft.util.isArray(e)){if(!ft.util.isArray(t)||e.length!==t.length)return!1;for(var n=0;n<e.length;++n)if(!R.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&&R.equals(e.value,t.value);return r&&r.includeBitStringContents&&(i=i&&e.bitStringContents===t.bitStringContents),i};R.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 Ni(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 k7=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;Ni(e,t,o),n=e.getInt(o<<3)}if(n<0)throw new Error("Negative length: "+n);return n}};R.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=ft.util.createBuffer(e));var r=e.length(),n=W0(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 W0(e,t,r,n){var i;Ni(e,t,2);var o=e.getByte();t--;var s=o&192,a=o&31;i=e.length();var u=k7(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(Ni(e,t,2),e.bytes(2)===String.fromCharCode(0,0)){e.getBytes(2),t-=2;break}i=e.length(),f.push(W0(e,t,r+1,n)),t-=i-e.length()}else for(;u>0;)i=e.length(),f.push(W0(e,u,r+1,n)),t-=i-e.length(),u-=i-e.length();if(f===void 0&&s===R.Class.UNIVERSAL&&a===R.Type.BITSTRING&&(l=e.bytes(u)),f===void 0&&n.decodeBitStrings&&s===R.Class.UNIVERSAL&&a===R.Type.BITSTRING&&u>1){var p=e.read,h=t,y=0;if(a===R.Type.BITSTRING&&(Ni(e,t,1),y=e.getByte(),t--),y===0)try{i=e.length();var g={strict:!0,decodeBitStrings:!0},m=W0(e,t,r+1,g),x=i-e.length();t-=x,a==R.Type.BITSTRING&&x++;var S=m.tagClass;x===u&&(S===R.Class.UNIVERSAL||S===R.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===R.Type.BMPSTRING)for(f="";u>0;u-=2)Ni(e,t,2),f+=String.fromCharCode(e.getInt16()),t-=2;else f=e.getBytes(u),t-=u}var N=l===void 0?null:{bitStringContents:l};return R.create(s,a,d,f,N)}R.toDer=function(e){var t=ft.util.createBuffer(),r=e.tagClass|e.type,n=ft.util.createBuffer(),i=!1;if("bitStringContents"in e&&(i=!0,e.original&&(i=R.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(R.toDer(e.value[o]))}else if(e.type===R.Type.BMPSTRING)for(var o=0;o<e.value.length;++o)n.putInt16(e.value.charCodeAt(o));else e.type===R.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};R.oidToDer=function(e){var t=e.split("."),r=ft.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};R.derToOid=function(e){var t;typeof e=="string"&&(e=ft.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};R.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};R.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};R.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};R.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};R.integerToDer=function(e){var t=ft.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};R.derToInteger=function(e){typeof e=="string"&&(e=ft.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)};R.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&&ft.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=R.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 Q4=/[^\\u0000-\\u00ff]/;R.prettyPrint=function(e,t,r){var n="";t=t||0,r=r||2,t>0&&(n+=`
|
|
7
6
|
`);for(var i="",o=0;o<t*r;++o)i+=" ";switch(n+=i+"Tag: ",e.tagClass){case R.Class.UNIVERSAL:n+="Universal:";break;case R.Class.APPLICATION:n+="Application:";break;case R.Class.CONTEXT_SPECIFIC:n+="Context-Specific:";break;case R.Class.PRIVATE:n+="Private:";break}if(e.tagClass===R.Class.UNIVERSAL)switch(n+=e.type,e.type){case R.Type.NONE:n+=" (None)";break;case R.Type.BOOLEAN:n+=" (Boolean)";break;case R.Type.INTEGER:n+=" (Integer)";break;case R.Type.BITSTRING:n+=" (Bit string)";break;case R.Type.OCTETSTRING:n+=" (Octet string)";break;case R.Type.NULL:n+=" (Null)";break;case R.Type.OID:n+=" (Object Identifier)";break;case R.Type.ODESC:n+=" (Object Descriptor)";break;case R.Type.EXTERNAL:n+=" (External or Instance of)";break;case R.Type.REAL:n+=" (Real)";break;case R.Type.ENUMERATED:n+=" (Enumerated)";break;case R.Type.EMBEDDED:n+=" (Embedded PDV)";break;case R.Type.UTF8:n+=" (UTF8)";break;case R.Type.ROID:n+=" (Relative Object Identifier)";break;case R.Type.SEQUENCE:n+=" (Sequence)";break;case R.Type.SET:n+=" (Set)";break;case R.Type.PRINTABLESTRING:n+=" (Printable String)";break;case R.Type.IA5String:n+=" (IA5String (ASCII))";break;case R.Type.UTCTIME:n+=" (UTC time)";break;case R.Type.GENERALIZEDTIME:n+=" (Generalized time)";break;case R.Type.BMPSTRING:n+=" (BMP String)";break}else n+=e.type;if(n+=`
|
|
8
7
|
`,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+=R.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===R.Type.OID){var u=R.derToOid(e.value);n+=u,ft.pki&&ft.pki.oids&&u in ft.pki.oids&&(n+=" ("+ft.pki.oids[u]+") ")}if(e.type===R.Type.INTEGER)try{n+=R.derToInteger(e.value)}catch{n+="0x"+ft.util.bytesToHex(e.value)}else if(e.type===R.Type.BITSTRING){if(e.value.length>1?n+="0x"+ft.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===R.Type.OCTETSTRING)j4.test(e.value)||(n+="("+e.value+") "),n+="0x"+ft.util.bytesToHex(e.value);else if(e.type===R.Type.UTF8)try{n+=ft.util.decodeUtf8(e.value)}catch(f){if(f.message==="URI malformed")n+="0x"+ft.util.bytesToHex(e.value)+" (malformed UTF8)";else throw f}else e.type===R.Type.PRINTABLESTRING||e.type===R.Type.IA5String?n+=e.value:j4.test(e.value)?n+="0x"+ft.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var r5=D((Ym,e5)=>{var dt=nt();Rs();Ns();Ct();e5.exports=dt.des=dt.des||{};dt.des.startEncrypting=function(e,t,r,n){var i=Xi({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};dt.des.createEncryptionCipher=function(e,t){return Xi({key:e,output:null,decrypt:!1,mode:t})};dt.des.startDecrypting=function(e,t,r,n){var i=Xi({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};dt.des.createDecryptionCipher=function(e,t){return Xi({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 t5(r._keys,n,i,!1)},decrypt:function(n,i){return t5(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=I7(t),this._init=!0}};Ve("DES-ECB",dt.cipher.modes.ecb);Ve("DES-CBC",dt.cipher.modes.cbc);Ve("DES-CFB",dt.cipher.modes.cfb);Ve("DES-OFB",dt.cipher.modes.ofb);Ve("DES-CTR",dt.cipher.modes.ctr);Ve("3DES-ECB",dt.cipher.modes.ecb);Ve("3DES-CBC",dt.cipher.modes.cbc);Ve("3DES-CFB",dt.cipher.modes.cfb);Ve("3DES-OFB",dt.cipher.modes.ofb);Ve("3DES-CTR",dt.cipher.modes.ctr);function Ve(e,t){var r=function(){return new dt.des.Algorithm(e,t)};dt.cipher.registerAlgorithm(e,r)}var m7=[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],x7=[-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],v7=[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],w7=[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],b7=[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],E7=[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],S7=[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],A7=[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 I7(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],x=0,S,L=0;L<y;L++){var T=e.getInt32(),_=e.getInt32();S=(T>>>4^_)&252645135,_^=S,T^=S<<4,S=(_>>>-16^T)&65535,T^=S,_^=S<<-16,S=(T>>>2^_)&858993459,_^=S,T^=S<<2,S=(_>>>-16^T)&65535,T^=S,_^=S<<-16,S=(T>>>1^_)&1431655765,_^=S,T^=S<<1,S=(_>>>8^T)&16711935,T^=S,_^=S<<8,S=(T>>>1^_)&1431655765,_^=S,T^=S<<1,S=T<<8|_>>>20&240,T=_<<24|_<<8&16711680|_>>>8&65280|_>>>24&240,_=S;for(var q=0;q<m.length;++q){m[q]?(T=T<<2|T>>>26,_=_<<2|_>>>26):(T=T<<1|T>>>27,_=_<<1|_>>>27),T&=-15,_&=-15;var G=t[T>>>28]|r[T>>>24&15]|n[T>>>20&15]|i[T>>>16&15]|o[T>>>12&15]|s[T>>>8&15]|a[T>>>4&15],Nt=u[_>>>28]|c[_>>>24&15]|f[_>>>20&15]|l[_>>>16&15]|d[_>>>12&15]|p[_>>>8&15]|h[_>>>4&15];S=(Nt>>>16^G)&65535,g[x++]=G^S,g[x++]=Nt^S<<16}}return g}function t5(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^(x7[p>>>24&63]|w7[p>>>16&63]|E7[p>>>8&63]|A7[p&63]|m7[h>>>24&63]|v7[h>>>16&63]|b7[h>>>8&63]|S7[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 Xi(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 tn=D((Zm,n5)=>{var ji=nt();n5.exports=ji.md=ji.md||{};ji.md.algorithms=ji.md.algorithms||{}});var o5=D((Xm,i5)=>{var ur=nt();tn();Ct();var B7=i5.exports=ur.hmac=ur.hmac||{};B7.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 ur.md.algorithms)t=ur.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=ur.util.createBuffer(s);else if(ur.util.isArray(s)){var a=s;s=ur.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=ur.util.createBuffer(),n=ur.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 Hn=D(()=>{});var Os=D((tx,s5)=>{var Ht=nt();o5();tn();Ct();var C7=Ht.pkcs5=Ht.pkcs5||{},cr;Ht.util.isNodejs&&!Ht.options.usePureJavaScript&&(cr=Hn());s5.exports=Ht.pbkdf2=C7.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(S,L){if(S)return o(S);o(null,L.toString("binary"))}):cr.pbkdf2(e,t,r,n,i,function(S,L){if(S)return o(S);o(null,L.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 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,x()}function x(){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(x);l+=y<u?d:d.substr(0,c),++y,m()}m()}});var c5=D((ex,u5)=>{var t1=nt();Ct();var a5=u5.exports=t1.pem=t1.pem||{};a5.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+=
|
|
8
|
+
`,e.composed){for(var s=0,a="",o=0;o<e.value.length;++o)e.value[o]!==void 0&&(s+=1,a+=R.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===R.Type.OID){var u=R.derToOid(e.value);n+=u,ft.pki&&ft.pki.oids&&u in ft.pki.oids&&(n+=" ("+ft.pki.oids[u]+") ")}if(e.type===R.Type.INTEGER)try{n+=R.derToInteger(e.value)}catch{n+="0x"+ft.util.bytesToHex(e.value)}else if(e.type===R.Type.BITSTRING){if(e.value.length>1?n+="0x"+ft.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===R.Type.OCTETSTRING)Q4.test(e.value)||(n+="("+e.value+") "),n+="0x"+ft.util.bytesToHex(e.value);else if(e.type===R.Type.UTF8)try{n+=ft.util.decodeUtf8(e.value)}catch(f){if(f.message==="URI malformed")n+="0x"+ft.util.bytesToHex(e.value)+" (malformed UTF8)";else throw f}else e.type===R.Type.PRINTABLESTRING||e.type===R.Type.IA5String?n+=e.value:Q4.test(e.value)?n+="0x"+ft.util.bytesToHex(e.value):e.value.length===0?n+="[null]":n+=e.value}return n}});var X4=D((Ew,Z4)=>{var yt=nt();Ts();Rs();Ct();Z4.exports=yt.des=yt.des||{};yt.des.startEncrypting=function(e,t,r,n){var i=Y0({key:e,output:r,decrypt:!1,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};yt.des.createEncryptionCipher=function(e,t){return Y0({key:e,output:null,decrypt:!1,mode:t})};yt.des.startDecrypting=function(e,t,r,n){var i=Y0({key:e,output:r,decrypt:!0,mode:n||(t===null?"ECB":"CBC")});return i.start(t),i};yt.des.createDecryptionCipher=function(e,t){return Y0({key:e,output:null,decrypt:!0,mode:t})};yt.des.Algorithm=function(e,t){var r=this;r.name=e,r.mode=new t({blockSize:8,cipher:{encrypt:function(n,i){return Y4(r._keys,n,i,!1)},decrypt:function(n,i){return Y4(r._keys,n,i,!0)}}}),r._init=!1};yt.des.Algorithm.prototype.initialize=function(e){if(!this._init){var t=yt.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=z7(t),this._init=!0}};Ke("DES-ECB",yt.cipher.modes.ecb);Ke("DES-CBC",yt.cipher.modes.cbc);Ke("DES-CFB",yt.cipher.modes.cfb);Ke("DES-OFB",yt.cipher.modes.ofb);Ke("DES-CTR",yt.cipher.modes.ctr);Ke("3DES-ECB",yt.cipher.modes.ecb);Ke("3DES-CBC",yt.cipher.modes.cbc);Ke("3DES-CFB",yt.cipher.modes.cfb);Ke("3DES-OFB",yt.cipher.modes.ofb);Ke("3DES-CTR",yt.cipher.modes.ctr);function Ke(e,t){var r=function(){return new yt.des.Algorithm(e,t)};yt.cipher.registerAlgorithm(e,r)}var D7=[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],F7=[-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],U7=[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],O7=[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],M7=[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],K7=[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],V7=[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],q7=[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 z7(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],x=0,S,N=0;N<y;N++){var _=e.getInt32(),T=e.getInt32();S=(_>>>4^T)&252645135,T^=S,_^=S<<4,S=(T>>>-16^_)&65535,_^=S,T^=S<<-16,S=(_>>>2^T)&858993459,T^=S,_^=S<<2,S=(T>>>-16^_)&65535,_^=S,T^=S<<-16,S=(_>>>1^T)&1431655765,T^=S,_^=S<<1,S=(T>>>8^_)&16711935,_^=S,T^=S<<8,S=(_>>>1^T)&1431655765,T^=S,_^=S<<1,S=_<<8|T>>>20&240,_=T<<24|T<<8&16711680|T>>>8&65280|T>>>24&240,T=S;for(var q=0;q<m.length;++q){m[q]?(_=_<<2|_>>>26,T=T<<2|T>>>26):(_=_<<1|_>>>27,T=T<<1|T>>>27),_&=-15,T&=-15;var G=t[_>>>28]|r[_>>>24&15]|n[_>>>20&15]|i[_>>>16&15]|o[_>>>12&15]|s[_>>>8&15]|a[_>>>4&15],Lt=u[T>>>28]|c[T>>>24&15]|f[T>>>20&15]|l[T>>>16&15]|d[T>>>12&15]|p[T>>>8&15]|h[T>>>4&15];S=(Lt>>>16^G)&65535,g[x++]=G^S,g[x++]=Lt^S<<16}}return g}function Y4(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^(F7[p>>>24&63]|O7[p>>>16&63]|K7[p>>>8&63]|q7[p&63]|D7[h>>>24&63]|U7[h>>>16&63]|M7[h>>>8&63]|V7[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 Y0(e){e=e||{};var t=(e.mode||"CBC").toUpperCase(),r="DES-"+t,n;e.decrypt?n=yt.cipher.createDecipher(r,e.key):n=yt.cipher.createCipher(r,e.key);var i=n.start;return n.start=function(o,s){var a=null;s instanceof yt.util.ByteBuffer&&(a=s,s={}),s=s||{},s.output=a,s.iv=o,i.call(n,s)},n}});var en=D((Sw,j4)=>{var Z0=nt();j4.exports=Z0.md=Z0.md||{};Z0.md.algorithms=Z0.md.algorithms||{}});var tu=D((Iw,J4)=>{var sr=nt();en();Ct();var $7=J4.exports=sr.hmac=sr.hmac||{};$7.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 $n=D(()=>{});var Fs=D((Cw,eu)=>{var Ht=nt();tu();en();Ct();var H7=Ht.pkcs5=Ht.pkcs5||{},ar;Ht.util.isNodejs&&!Ht.options.usePureJavaScript&&(ar=$n());eu.exports=Ht.pbkdf2=H7.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(S,N){if(S)return o(S);o(null,N.toString("binary"))}):ar.pbkdf2(e,t,r,n,i,function(S,N){if(S)return o(S);o(null,N.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,x()}function x(){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(x);l+=y<u?d:d.substr(0,c),++y,m()}m()}});var iu=D((Tw,nu)=>{var j0=nt();Ct();var ru=nu.exports=j0.pem=j0.pem||{};ru.encode=function(e,t){t=t||{};var r="-----BEGIN "+e.type+`-----\r
|
|
9
|
+
`,n;if(e.procType&&(n={name:"Proc-Type",values:[String(e.procType.version),e.procType.type]},r+=X0(n)),e.contentDomain&&(n={name:"Content-Domain",values:[e.contentDomain]},r+=X0(n)),e.dekInfo&&(n={name:"DEK-Info",values:[e.dekInfo.algorithm]},e.dekInfo.parameters&&n.values.push(e.dekInfo.parameters),r+=X0(n)),e.headers)for(var i=0;i<e.headers.length;++i)r+=X0(e.headers[i]);return e.procType&&(r+=`\r
|
|
10
|
+
`),r+=j0.util.encode64(e.body,t.maxline||64)+`\r
|
|
12
11
|
`,r+="-----END "+e.type+`-----\r
|
|
13
|
-
`,r};
|
|
12
|
+
`,r};ru.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:j0.util.decode64(o[3])};if(t.push(a),!!o[2]){for(var u=o[2].split(i),c=0;o&&c<u.length;){for(var f=u[c].replace(/\s+$/,""),l=c+1;l<u.length;++l){var d=u[l];if(!/\s/.test(d[0]))break;f+=d,c=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(G7(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]}}}++c}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 X0(e){for(var t=e.name+": ",r=[],n=function(u,c){return" "+c},i=0;i<e.values.length;++i)r.push(e.values[i].replace(/^(\S+\r\n)/,n));t+=r.join(",")+`\r
|
|
14
13
|
`;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
14
|
`+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 _7(e){return e.replace(/^\s+/,"")}});var y5=D((rx,d5)=>{var qe=nt();tn();Ct();var l5=d5.exports=qe.sha256=qe.sha256||{};qe.md.sha256=qe.md.algorithms.sha256=l5;l5.create=function(){h5||T7();var e=null,t=qe.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=qe.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=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),f5(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(Ms.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};f5(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.putInt32(l.h5),d.putInt32(l.h6),d.putInt32(l.h7),d},n};var Ms=null,h5=!1,p5=null;function T7(){Ms=String.fromCharCode(128),Ms+=qe.util.fillString(String.fromCharCode(0),64),p5=[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],h5=!0}function f5(e,t,r){for(var n,i,o,s,a,u,c,f,l,d,p,h,y,g,m,x=r.length();x>=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+p5[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,x-=64}}});var m5=D((nx,g5)=>{var ze=nt();Ct();var e1=null;ze.util.isNodejs&&!ze.options.usePureJavaScript&&!process.versions["node-webkit"]&&(e1=Hn());var R7=g5.exports=ze.prng=ze.prng||{};R7.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=ze.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 ze.util.nextTick(function(){o(g)});var x=l(t.key,t.seed);t.generated+=x.length,y.putBytes(x),t.key=p(l(t.key,d(t.seed))),t.seed=h(l(t.key,t.seed)),ze.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=ze.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=ze.util.globalScope,d=l.crypto||l.msCrypto;d&&d.getRandomValues&&(f=function(T){return d.getRandomValues(T)});var p=ze.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(T){if(!(typeof QuotaExceededError<"u"&&T instanceof QuotaExceededError))throw T}}if(p.length()<c)for(var m,x,S,L=Math.floor(Math.random()*65536);p.length()<c;){x=16807*(L&65535),m=16807*(L>>16),x+=(m&32767)<<16,x+=m>>15,x=(x&2147483647)+(x>>31),L=x&4294967295;for(var g=0;g<3;++g)S=L>>>(g<<3),S^=Math.floor(Math.random()*256),p.putByte(S&255)}return p.getBytes(c)}return e1?(t.seedFile=function(c,f){e1.randomBytes(c,function(l,d){if(l)return f(l);f(null,d.toString())})},t.seedFileSync=function(c){return e1.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 k0=D((ix,Ks)=>{var Mt=nt();Wi();y5();m5();Ct();(function(){if(Mt.random&&Mt.random.getBytes){Ks.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,Ks.exports=Mt.random})(typeof jQuery<"u"?jQuery:null)})()});var b5=D((ox,w5)=>{var Yt=nt();Ct();var Vs=[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],x5=[1,2,3,5],P7=function(e,t){return e<<t&65535|(e&65535)>>16-t},N7=function(e,t){return(e&65535)>>t|e<<16-t&65535};w5.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(Vs[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,Vs[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,Vs[r.at(a+1)^r.at(a+o)]);return r};var v5=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]=P7(h[c],x5[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]=N7(h[c],x5[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 x=0;x<h[m][0];x++)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(),x=o.at(m-1);x>m?y=!1:o.truncate(x)}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 v5(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 v5(e,t,!1)}});var i1=D((sx,T5)=>{var qs=nt();T5.exports=qs.jsbn=qs.jsbn||{};var fr,L7=0xdeadbeefcafe,E5=(L7&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))}qs.jsbn.BigInteger=A;function j(){return new A(null)}function k7(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 D7(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 S5(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=S5,fr=28):E5&&navigator.appName=="Microsoft Internet Explorer"?(A.prototype.am=D7,fr=30):E5&&navigator.appName!="Netscape"?(A.prototype.am=k7,fr=26):(A.prototype.am=S5,fr=28);A.prototype.DB=fr;A.prototype.DM=(1<<fr)-1;A.prototype.DV=1<<fr;var zs=52;A.prototype.FV=Math.pow(2,zs);A.prototype.F1=zs-fr;A.prototype.F2=2*fr-zs;var F7="0123456789abcdefghijklmnopqrstuvwxyz",r1=new Array,Gn,le;Gn="0".charCodeAt(0);for(le=0;le<=9;++le)r1[Gn++]=le;Gn="a".charCodeAt(0);for(le=10;le<36;++le)r1[Gn++]=le;Gn="A".charCodeAt(0);for(le=10;le<36;++le)r1[Gn++]=le;function A5(e){return F7.charAt(e)}function I5(e,t){var r=r1[e.charCodeAt(t)];return r??-1}function U7(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 O7(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 _r(e){var t=j();return t.fromInt(e),t}function M7(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:I5(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 K7(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function V7(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=A5(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+=A5(n));return i?o:"0"}function q7(){var e=j();return A.ZERO.subTo(this,e),e}function z7(){return this.s<0?this.negate():this}function $7(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 n1(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 H7(){return this.t<=0?0:this.DB*(this.t-1)+n1(this.data[this.t-1]^this.s&this.DM)}function G7(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 Q7(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 W7(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 Y7(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 Z7(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 X7(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 j7(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 J7(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,u=this.DB-n1(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??j();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 x=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,x,r,g,0,c))<x)for(o.dlShiftTo(g,m),r.subTo(m,r);r.data[y]<--x;)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=j();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(A.ZERO)>0&&e.subTo(t,t),t}function en(e){this.m=e}function el(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function rl(e){return e}function nl(e){e.divRemTo(this.m,null,e)}function il(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function ol(e,t){e.squareTo(t),this.reduce(t)}en.prototype.convert=el;en.prototype.revert=rl;en.prototype.reduce=nl;en.prototype.mulTo=il;en.prototype.sqrTo=ol;function sl(){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 rn(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 al(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 ul(e){var t=j();return e.copyTo(t),this.reduce(t),t}function cl(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 fl(e,t){e.squareTo(t),this.reduce(t)}function ll(e,t,r){e.multiplyTo(t,r),this.reduce(r)}rn.prototype.convert=al;rn.prototype.revert=ul;rn.prototype.reduce=cl;rn.prototype.mulTo=ll;rn.prototype.sqrTo=fl;function hl(){return(this.t>0?this.data[0]&1:this.s)==0}function pl(e,t){if(e>4294967295||e<1)return A.ONE;var r=j(),n=j(),i=t.convert(this),o=n1(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 dl(e,t){var r;return e<256||t.isEven()?r=new en(t):r=new rn(t),this.exp(e,r)}A.prototype.copyTo=U7;A.prototype.fromInt=O7;A.prototype.fromString=M7;A.prototype.clamp=K7;A.prototype.dlShiftTo=G7;A.prototype.drShiftTo=Q7;A.prototype.lShiftTo=W7;A.prototype.rShiftTo=Y7;A.prototype.subTo=Z7;A.prototype.multiplyTo=X7;A.prototype.squareTo=j7;A.prototype.divRemTo=J7;A.prototype.invDigit=sl;A.prototype.isEven=hl;A.prototype.exp=pl;A.prototype.toString=V7;A.prototype.negate=q7;A.prototype.abs=z7;A.prototype.compareTo=$7;A.prototype.bitLength=H7;A.prototype.mod=tl;A.prototype.modPowInt=dl;A.ZERO=_r(0);A.ONE=_r(1);function yl(){var e=j();return this.copyTo(e),e}function gl(){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 ml(){return this.t==0?this.s:this.data[0]<<24>>24}function xl(){return this.t==0?this.s:this.data[0]<<16>>16}function vl(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function wl(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function bl(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=_r(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 El(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=I5(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 Sl(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),$s,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 Al(){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 Il(e){return this.compareTo(e)==0}function Bl(e){return this.compareTo(e)<0?this:e}function Cl(e){return this.compareTo(e)>0?this:e}function _l(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 Tl(e,t){return e&t}function Rl(e){var t=j();return this.bitwiseTo(e,Tl,t),t}function $s(e,t){return e|t}function Pl(e){var t=j();return this.bitwiseTo(e,$s,t),t}function B5(e,t){return e^t}function Nl(e){var t=j();return this.bitwiseTo(e,B5,t),t}function C5(e,t){return e&~t}function Ll(e){var t=j();return this.bitwiseTo(e,C5,t),t}function kl(){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 Dl(e){var t=j();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function Fl(e){var t=j();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function Ul(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 Ol(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+Ul(this.data[e]);return this.s<0?this.t*this.DB:-1}function Ml(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function Kl(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=Ml(this.data[r]^t);return e}function Vl(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function ql(e,t){var r=A.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function zl(e){return this.changeBit(e,$s)}function $l(e){return this.changeBit(e,C5)}function Hl(e){return this.changeBit(e,B5)}function Gl(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 Ql(e){var t=j();return this.addTo(e,t),t}function Wl(e){var t=j();return this.subTo(e,t),t}function Yl(e){var t=j();return this.multiplyTo(e,t),t}function Zl(e){var t=j();return this.divRemTo(e,t,null),t}function Xl(e){var t=j();return this.divRemTo(e,null,t),t}function jl(e){var t=j(),r=j();return this.divRemTo(e,t,r),new Array(t,r)}function Jl(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 D0(){}function _5(e){return e}function e9(e,t,r){e.multiplyTo(t,r)}function r9(e,t){e.squareTo(t)}D0.prototype.convert=_5;D0.prototype.revert=_5;D0.prototype.mulTo=e9;D0.prototype.sqrTo=r9;function n9(e){return this.exp(e,new D0)}function i9(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 o9(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=j(),this.q3=j(),A.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function s9(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 a9(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 c9(e,t){e.squareTo(t),this.reduce(t)}function f9(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Qn.prototype.convert=s9;Qn.prototype.revert=a9;Qn.prototype.reduce=u9;Qn.prototype.mulTo=f9;Qn.prototype.sqrTo=c9;function l9(e,t){var r=e.bitLength(),n,i=_r(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 en(t):t.isEven()?o=new Qn(t):o=new rn(t);var s=new Array,a=3,u=n-1,c=(1<<n)-1;if(s[1]=o.convert(this),n>1){var f=j();for(o.sqrTo(s[1],f);a<=c;)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=n1(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 h9(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 p9(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 d9(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return A.ZERO;for(var r=e.clone(),n=this.clone(),i=_r(1),o=_r(0),s=_r(0),a=_r(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],y9=(1<<26)/Ae[Ae.length-1];function g9(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<y9;)n*=Ae[i++];for(n=r.modInt(n);t<i;)if(n%Ae[t++]==0)return!1}return r.millerRabin(e)}function m9(e){var t=this.subtract(A.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=x9(),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 x9(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}A.prototype.chunkSize=vl;A.prototype.toRadix=bl;A.prototype.fromRadix=El;A.prototype.fromNumber=Sl;A.prototype.bitwiseTo=_l;A.prototype.changeBit=ql;A.prototype.addTo=Gl;A.prototype.dMultiply=Jl;A.prototype.dAddOffset=t9;A.prototype.multiplyLowerTo=i9;A.prototype.multiplyUpperTo=o9;A.prototype.modInt=p9;A.prototype.millerRabin=m9;A.prototype.clone=yl;A.prototype.intValue=gl;A.prototype.byteValue=ml;A.prototype.shortValue=xl;A.prototype.signum=wl;A.prototype.toByteArray=Al;A.prototype.equals=Il;A.prototype.min=Bl;A.prototype.max=Cl;A.prototype.and=Rl;A.prototype.or=Pl;A.prototype.xor=Nl;A.prototype.andNot=Ll;A.prototype.not=kl;A.prototype.shiftLeft=Dl;A.prototype.shiftRight=Fl;A.prototype.getLowestSetBit=Ol;A.prototype.bitCount=Kl;A.prototype.testBit=Vl;A.prototype.setBit=zl;A.prototype.clearBit=$l;A.prototype.flipBit=Hl;A.prototype.add=Ql;A.prototype.subtract=Wl;A.prototype.multiply=Yl;A.prototype.divide=Zl;A.prototype.remainder=Xl;A.prototype.divideAndRemainder=jl;A.prototype.modPow=l9;A.prototype.modInverse=d9;A.prototype.pow=n9;A.prototype.gcd=h9;A.prototype.isProbablePrime=g9});var k5=D((ax,L5)=>{var $e=nt();tn();Ct();var P5=L5.exports=$e.sha1=$e.sha1||{};$e.md.sha1=$e.md.algorithms.sha1=P5;P5.create=function(){N5||v9();var e=null,t=$e.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=$e.util.createBuffer(),e={h0:1732584193,h1:4023233417,h2:2562383102,h3:271733878,h4:3285377520},n},n.start(),n.update=function(i,o){o==="utf8"&&(i=$e.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),R5(e,r,t),(t.read>2048||t.length()===0)&&t.compact(),n},n.digest=function(){var i=$e.util.createBuffer();i.putBytes(t.bytes());var o=n.fullMessageLength[n.fullMessageLength.length-1]+n.messageLengthSize,s=o&n.blockLength-1;i.putBytes(Hs.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};R5(l,r,i);var d=$e.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 Hs=null,N5=!1;function v9(){Hs=String.fromCharCode(128),Hs+=$e.util.fillString(String.fromCharCode(0),64),N5=!0}function R5(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 U5=D((ux,F5)=>{var He=nt();Ct();k0();k5();var D5=F5.exports=He.pkcs1=He.pkcs1||{};D5.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=He.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=He.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=o1(i,a-o.digestLength-1,s),g=He.util.xorBytes(h,y,h.length),m=o1(g,o.digestLength,s),x=He.util.xorBytes(i,m,i.length);return"\0"+x+g};D5.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=He.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=o1(f,i.digestLength,o),d=He.util.xorBytes(c,l,c.length),p=o1(d,s-i.digestLength-1,o),h=He.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 x=1,S=i.digestLength,L=i.digestLength;L<h.length;L++){var T=h.charCodeAt(L),_=T&1^1,q=x?65534:0;g|=T&q,x=x&_,S+=x}if(g||h.charCodeAt(S)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(S+1)};function o1(e,t,r){r||(r=He.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 O5=D((cx,Gs)=>{var Tr=nt();Ct();i1();k0();(function(){if(Tr.prime){Gs.exports=Tr.prime;return}var e=Gs.exports=Tr.prime=Tr.prime||{},t=Tr.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||Tr.random,g={nextBytes:function(m){for(var x=y.getBytesSync(m.length),S=0;S<m.length;++S)m[S]=x.charCodeAt(S)}};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 x=10;"maxBlockTime"in p&&(x=p.maxBlockTime),a(y,l,d,g,m,x,h)}function a(l,d,p,h,y,g,m){var x=+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-x<g);Tr.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,x=m*30/8,S=p.workerScript||"forge/prime.worker.js";if(g===-1)return Tr.util.estimateCores(function(T,_){T&&(_=2),g=_-1,L()});L();function L(){g=Math.max(1,g);for(var T=[],_=0;_<g;++_)T[_]=new Worker(S);for(var q=g,_=0;_<g;++_)T[_].addEventListener("message",Nt);var G=!1;function Nt(ye){if(!G){--q;var Xt=ye.data;if(Xt.found){for(var qt=0;qt<T.length;++qt)T[qt].terminate();return G=!0,h(null,new t(Xt.prime,16))}y.bitLength()>l&&(y=c(l,d));var mn=y.toString(16);ye.target.postMessage({hex:mn,workLoad:m}),y.dAddOffset(x,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 a1=D((fx,H5)=>{var U=nt();L0();i1();Yi();U5();O5();k0();Ct();typeof W>"u"&&(W=U.jsbn.BigInteger);var W,Qs=U.util.isNodejs?Hn():null,w=U.asn1,he=U.util;U.pki=U.pki||{};H5.exports=U.pki.rsa=U.rsa=U.rsa||{};var K=U.pki,w9=[6,4,2,4,2,4,6,2],b9={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"}]},E9={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"}]},S9={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"}]},A9=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"}]}]},I9={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"}]},B9=function(e){var t;if(e.algorithm in K.oids)t=K.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()},z5=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};K.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=$5(e,t,r)):(i=U.util.createBuffer(),i.putBytes(e));for(var s=new W(i.toHex(),16),a=z5(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()};K.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=z5(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?s1(c.getBytes(),t,r):c.getBytes()};K.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 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};K.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 u=e.p===null?e.pBits:e.qBits,c=u-1;e.pqState===0?(e.num=new W(u,e.rng),e.num.testBit(c)||e.num.bitwiseTo(W.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(_9(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(w9[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:K.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:K.rsa.setPublicKey(e.n,e.e)}}s=+new Date,a+=s-o,o=s}return e.keys!==null};K.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(M5("generateKeyPair"))return Qs.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:K.privateKeyFromPem(c),publicKey:K.publicKeyFromPem(u)})});if(K5("generateKey")&&K5("exportKey"))return he.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:q5(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return he.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var u=K.privateKeyFromAsn1(w.fromDer(U.util.createBuffer(a)));n(null,{privateKey:u,publicKey:K.setRsaPublicKey(u.n,u.e)})}});if(V5("generateKey")&&V5("exportKey")){var i=he.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:q5(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var u=a.target.result,c=he.globalScope.msCrypto.subtle.exportKey("pkcs8",u.privateKey);c.oncomplete=function(f){var l=f.target.result,d=K.privateKeyFromAsn1(w.fromDer(U.util.createBuffer(l)));n(null,{privateKey:d,publicKey:K.setRsaPublicKey(d.n,d.e)})},c.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(M5("generateKeyPairSync")){var o=Qs.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:K.privateKeyFromPem(o.privateKey),publicKey:K.publicKeyFromPem(o.publicKey)}}}var s=K.rsa.createKeyPairGenerationState(e,t,r);if(!n)return K.rsa.stepKeyPairGenerationState(s,0),s.keys;C9(s,r,n)};K.setRsaPublicKey=K.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 $5(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 K.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=s1(c,r,!0);var f=w.fromDer(c,{parseAllBytes:s._parseAllDigestBytes}),l={},d=[];if(!w.validate(f,I9,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=s1(c,r,!0),u===c}});var a=K.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};K.setRsaPrivateKey=K.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=K.rsa.decrypt(c,u,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:s1};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:B9},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return c}},l=1);var d=f.encode(c,u.n.bitLength());return K.rsa.encrypt(d,u,l)},u};K.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(K.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())])};K.privateKeyFromAsn1=function(e){var t={},r=[];if(w.validate(e,b9,t,r)&&(e=w.fromDer(U.util.createBuffer(t.privateKey))),t={},r=[],!w.validate(e,E9,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(),K.setRsaPrivateKey(new W(i,16),new W(o,16),new W(s,16),new W(a,16),new W(u,16),new W(c,16),new W(f,16),new W(l,16))};K.privateKeyToAsn1=K.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,Ge(e.n)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ge(e.e)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ge(e.d)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ge(e.p)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ge(e.q)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ge(e.dP)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ge(e.dQ)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ge(e.qInv))])};K.publicKeyFromAsn1=function(e){var t={},r=[];if(w.validate(e,A9,t,r)){var n=w.derToOid(t.publicKeyOid);if(n!==K.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,S9,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 K.setRsaPublicKey(new W(o,16),new W(s,16))};K.publicKeyToAsn1=K.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(K.oids.rsaEncryption).getBytes()),w.create(w.Class.UNIVERSAL,w.Type.NULL,!1,"")]),w.create(w.Class.UNIVERSAL,w.Type.BITSTRING,!1,[K.publicKeyToRSAPublicKey(e)])])};K.publicKeyToRSAPublicKey=function(e){return w.create(w.Class.UNIVERSAL,w.Type.SEQUENCE,!0,[w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ge(e.n)),w.create(w.Class.UNIVERSAL,w.Type.INTEGER,!1,Ge(e.e))])};function $5(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 s1(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 C9(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(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:K.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:K.rsa.setPublicKey(e.n,e.e)},r(null,e.keys)}}function Ge(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 _9(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 M5(e){return U.util.isNodejs&&typeof Qs[e]=="function"}function K5(e){return typeof he.globalScope<"u"&&typeof he.globalScope.crypto=="object"&&typeof he.globalScope.crypto.subtle=="object"&&typeof he.globalScope.crypto.subtle[e]=="function"}function V5(e){return typeof he.globalScope<"u"&&typeof he.globalScope.msCrypto=="object"&&typeof he.globalScope.msCrypto.subtle=="object"&&typeof he.globalScope.msCrypto.subtle[e]=="function"}function q5(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 X5=D((lx,Z5)=>{var P=nt();Wi();L0();r5();tn();Yi();Os();c5();k0();b5();a1();Ct();typeof G5>"u"&&(G5=P.jsbn.BigInteger);var G5,E=P.asn1,V=P.pki=P.pki||{};Z5.exports=V.pbe=P.pbe=P.pbe||{};var nn=V.oids,T9={name:"EncryptedPrivateKeyInfo",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},R9={name:"PBES2Algorithms",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:E.Class.UNIVERSAL,type:E.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},P9={name:"pkcs-12PbeParams",tagClass:E.Class.UNIVERSAL,type:E.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:E.Class.UNIVERSAL,type:E.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:E.Class.UNIVERSAL,type:E.Type.INTEGER,constructed:!1,capture:"iterations"}]};V.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=E.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=nn["aes128-CBC"],l=P.aes.createEncryptionCipher;break;case"aes192":s=24,c=16,f=nn["aes192-CBC"],l=P.aes.createEncryptionCipher;break;case"aes256":s=32,c=16,f=nn["aes256-CBC"],l=P.aes.createEncryptionCipher;break;case"des":s=8,c=8,f=nn.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=Y5(p),y=P.pkcs5.pbkdf2(t,n,i,s,h),g=P.random.getBytesSync(c),m=l(y);m.start(g),m.update(E.toDer(e)),m.finish(),u=m.output.getBytes();var x=N9(n,o,s,p);a=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(nn.pkcs5PBES2).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(nn.pkcs5PBKDF2).getBytes()),x]),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(f).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,g)])])])}else if(r.algorithm==="3des"){s=24;var S=new P.util.ByteBuffer(n),y=V.pbe.generatePkcs12Key(t,S,1,i,s),g=V.pbe.generatePkcs12Key(t,S,2,i,s),m=P.des.createEncryptionCipher(y);m.start(g),m.update(E.toDer(e)),m.finish(),u=m.output.getBytes(),a=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(nn["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,n),E.create(E.Class.UNIVERSAL,E.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=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[a,E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,u)]);return L};V.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!E.validate(e,T9,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=E.derToOid(n.encryptionOid),a=V.pbe.getCipher(s,n.encryptionParams,t),u=P.util.createBuffer(n.encryptedData);return a.update(u),a.finish()&&(r=E.fromDer(a.output)),r};V.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:E.toDer(e).getBytes()};return P.pem.encode(r,{maxline:t})};V.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 E.fromDer(t.body)};V.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=V.wrapRsaPrivateKey(V.privateKeyToAsn1(e));return n=V.encryptPrivateKeyInfo(n,t,r),V.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(E.toDer(V.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)};V.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=V.decryptPrivateKeyInfo(E.fromDer(r),t):r=E.fromDer(r),r!==null&&(r=V.privateKeyFromAsn1(r)),r};V.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),x=new P.util.ByteBuffer;for(a=0;a<m;a++)x.putByte(l.at(a%d));var S=g;S.putBuffer(x);for(var L=Math.ceil(i/u),T=1;T<=L;T++){var _=new P.util.ByteBuffer;_.putBytes(h.bytes()),_.putBytes(S.bytes());for(var q=0;q<n;q++)o.start(),o.update(_.getBytes()),_=o.digest();var G=new P.util.ByteBuffer;for(a=0;a<c;a++)G.putByte(_.at(a%u));var Nt=Math.ceil(p/c)+Math.ceil(d/c),ye=new P.util.ByteBuffer;for(s=0;s<Nt;s++){var Xt=new P.util.ByteBuffer(S.getBytes(c)),qt=511;for(a=G.length()-1;a>=0;a--)qt=qt>>8,qt+=G.at(a)+Xt.at(a),Xt.setAt(a,qt&255);ye.putBuffer(Xt)}S=ye,f.putBuffer(_)}return f.truncate(f.length()-i),f};V.pbe.getCipher=function(e,t,r){switch(e){case V.oids.pkcs5PBES2:return V.pbe.getCipherForPBES2(e,t,r);case V.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case V.oids["pbewithSHAAnd40BitRC2-CBC"]:return V.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}};V.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!E.validate(t,R9,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=E.derToOid(n.kdfOid),e!==V.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=E.derToOid(n.encOid),e!==V.oids["aes128-CBC"]&&e!==V.oids["aes192-CBC"]&&e!==V.oids["aes256-CBC"]&&e!==V.oids["des-EDE3-CBC"]&&e!==V.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(V.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=W5(n.prfOid),l=P.pkcs5.pbkdf2(r,s,a,u,f),d=n.encIv,p=c(l);return p.start(d),p};V.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!E.validate(t,P9,n,i)){var o=new Error("Cannot read password-based-encryption algorithm parameters. ASN.1 object is not a supported EncryptedPrivateKeyInfo.");throw o.errors=i,o}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 V.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:u=24,c=8,f=P.des.startDecrypting;break;case V.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=W5(n.prfOid),d=V.pbe.generatePkcs12Key(r,s,1,a,u,l);l.start();var p=V.pbe.generatePkcs12Key(r,s,2,a,c,l);return f(d,p)};V.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=[Q5(n,e+t)],o=16,s=1;o<r;++s,o+=16)i.push(Q5(n,i[s-1]+e+t));return i.join("").substr(0,r)};function Q5(e,t){return e.start().update(t).digest().getBytes()}function W5(e){var t;if(!e)t="hmacWithSHA1";else if(t=V.oids[E.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return Y5(t)}function Y5(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 N9(e,t,r,n){var i=E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OCTETSTRING,!1,e),E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(E.create(E.Class.UNIVERSAL,E.Type.INTEGER,!1,P.util.hexToBytes(r.toString(16))),E.create(E.Class.UNIVERSAL,E.Type.SEQUENCE,!0,[E.create(E.Class.UNIVERSAL,E.Type.OID,!1,E.oidToDer(V.oids[n]).getBytes()),E.create(E.Class.UNIVERSAL,E.Type.NULL,!1,"")])),i}});var d6=D((Fx,p6)=>{var lt=nt();tn();Ct();var F0=p6.exports=lt.sha512=lt.sha512||{};lt.md.sha512=lt.md.algorithms.sha512=F0;var l6=lt.sha384=lt.sha512.sha384=lt.sha512.sha384||{};l6.create=function(){return F0.create("SHA-384")};lt.md.sha384=lt.md.algorithms.sha384=l6;lt.sha512.sha256=lt.sha512.sha256||{create:function(){return F0.create("SHA-512/256")}};lt.md["sha512/256"]=lt.md.algorithms["sha512/256"]=lt.sha512.sha256;lt.sha512.sha224=lt.sha512.sha224||{create:function(){return F0.create("SHA-512/224")}};lt.md["sha512/224"]=lt.md.algorithms["sha512/224"]=lt.sha512.sha224;F0.create=function(e){if(h6||F9(),typeof e>"u"&&(e="SHA-512"),!(e in on))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=on[e],r=null,n=lt.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=lt.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=lt.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),f6(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var u=lt.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);f6(y,i,u);var g=lt.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,h6=!1,Zs=null,on=null;function F9(){Ys=String.fromCharCode(128),Ys+=lt.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]],on={},on["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],on["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],on["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],on["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],h6=!0}function f6(e,t,r){for(var n,i,o,s,a,u,c,f,l,d,p,h,y,g,m,x,S,L,T,_,q,G,Nt,ye,Xt,qt,mn,fi,Tt,Qt,O,so,ao,uo,co,H2=r.length();H2>=128;){for(Tt=0;Tt<16;++Tt)t[Tt][0]=r.getInt32()>>>0,t[Tt][1]=r.getInt32()>>>0;for(;Tt<80;++Tt)so=t[Tt-2],Qt=so[0],O=so[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,uo=t[Tt-15],Qt=uo[0],O=uo[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,ao=t[Tt-7],co=t[Tt-16],O=i+ao[1]+s+co[1],t[Tt][0]=n+ao[0]+o+co[0]+(O/4294967296>>>0)>>>0,t[Tt][1]=O>>>0;for(y=e[0][0],g=e[0][1],m=e[1][0],x=e[1][1],S=e[2][0],L=e[2][1],T=e[3][0],_=e[3][1],q=e[4][0],G=e[4][1],Nt=e[5][0],ye=e[5][1],Xt=e[6][0],qt=e[6][1],mn=e[7][0],fi=e[7][1],Tt=0;Tt<80;++Tt)c=((q>>>14|G<<18)^(q>>>18|G<<14)^(G>>>9|q<<23))>>>0,f=((q<<18|G>>>14)^(q<<14|G>>>18)^(G<<23|q>>>9))>>>0,l=(Xt^q&(Nt^Xt))>>>0,d=(qt^G&(ye^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|S&(y^m))>>>0,h=(g&x|L&(g^x))>>>0,O=fi+f+d+Zs[Tt][1]+t[Tt][1],n=mn+c+l+Zs[Tt][0]+t[Tt][0]+(O/4294967296>>>0)>>>0,i=O>>>0,O=u+h,o=a+p+(O/4294967296>>>0)>>>0,s=O>>>0,mn=Xt,fi=qt,Xt=Nt,qt=ye,Nt=q,ye=G,O=_+i,q=T+n+(O/4294967296>>>0)>>>0,G=O>>>0,T=S,_=L,S=m,L=x,m=y,x=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]+x,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]+S+(O/4294967296>>>0)>>>0,e[2][1]=O>>>0,O=e[3][1]+_,e[3][0]=e[3][0]+T+(O/4294967296>>>0)>>>0,e[3][1]=O>>>0,O=e[4][1]+G,e[4][0]=e[4][0]+q+(O/4294967296>>>0)>>>0,e[4][1]=O>>>0,O=e[5][1]+ye,e[5][0]=e[5][0]+Nt+(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]+fi,e[7][0]=e[7][0]+mn+(O/4294967296>>>0)>>>0,e[7][1]=O>>>0,H2-=128}}});var pu=D((gw,hu)=>{"use strict";function lu(e,t){for(let r in t)Object.defineProperty(e,r,{value:t[r],enumerable:!0,configurable:!0});return e}function op(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 lu(e,r)}catch{r.message=e.message,r.stack=e.stack;let i=function(){};return i.prototype=Object.create(Object.getPrototypeOf(e)),lu(new i,r)}}hu.exports=op});var wu=D((Tw,vu)=>{vu.exports=A2;var xu=128,gp=127,mp=~gp,xp=Math.pow(2,31);function A2(e,t,r){if(Number.MAX_SAFE_INTEGER&&e>Number.MAX_SAFE_INTEGER)throw A2.bytes=0,new RangeError("Could not encode varint");t=t||[],r=r||0;for(var n=r;e>=xp;)t[r++]=e&255|xu,e/=128;for(;e∓)t[r++]=e&255|xu,e>>>=7;return t[r]=e|0,A2.bytes=r-n+1,t}});var Su=D((Rw,Eu)=>{Eu.exports=I2;var vp=128,bu=127;function I2(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a||i>49)throw I2.bytes=0,new RangeError("Could not decode varint");s=e[o++],r+=i<28?(s&bu)<<i:(s&bu)*Math.pow(2,i),i+=7}while(s>=vp);return I2.bytes=o-n,r}});var Iu=D((Pw,Au)=>{var wp=Math.pow(2,7),bp=Math.pow(2,14),Ep=Math.pow(2,21),Sp=Math.pow(2,28),Ap=Math.pow(2,35),Ip=Math.pow(2,42),Bp=Math.pow(2,49),Cp=Math.pow(2,56),_p=Math.pow(2,63);Au.exports=function(e){return e<wp?1:e<bp?2:e<Ep?3:e<Sp?4:e<Ap?5:e<Ip?6:e<Bp?7:e<Cp?8:e<_p?9:10}});var j0=D((Nw,Bu)=>{Bu.exports={encode:wu(),decode:Su(),encodingLength:Iu()}});var Xu=D((aS,Zu)=>{Zu.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 Ad={};Lt(Ad,{DHTContentRouting:()=>io,DHTPeerRouting:()=>oo,kadDHT:()=>Sd});var N4=$(Ra(),1);var To={};Lt(To,{sha256:()=>mt,sha512:()=>Ac});var Ld=new Uint8Array(0);var Pa=(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),La=e=>new TextDecoder().decode(e);var sc=Ua,Da=128,ac=127,uc=~ac,cc=Math.pow(2,31);function Ua(e,t,r){t=t||[],r=r||0;for(var n=r;e>=cc;)t[r++]=e&255|Da,e/=128;for(;e&uc;)t[r++]=e&255|Da,e>>>=7;return t[r]=e|0,Ua.bytes=r-n+1,t}var fc=Bo,lc=128,Fa=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&Fa)<<i:(s&Fa)*Math.pow(2,i),i+=7}while(s>=lc);return Bo.bytes=o-n,r}var hc=Math.pow(2,7),pc=Math.pow(2,14),dc=Math.pow(2,21),yc=Math.pow(2,28),gc=Math.pow(2,35),mc=Math.pow(2,42),xc=Math.pow(2,49),vc=Math.pow(2,56),wc=Math.pow(2,63),bc=function(e){return e<hc?1:e<pc?2:e<dc?3:e<yc?4:e<gc?5:e<mc?6:e<xc?7:e<vc?8:e<wc?9:10},Ec={encode:sc,decode:fc,encodingLength:bc},Sc=Ec,d0=Sc;var y0=(e,t=0)=>[d0.decode(e,t),d0.decode.bytes],An=(e,t,r=0)=>(d0.encode(e,t,r),t),In=e=>d0.encodingLength(e);var ke=(e,t)=>{let r=t.byteLength,n=In(e),i=n+In(r),o=new Uint8Array(i+r);return An(e,o,0),An(r,o,n),o.set(t,i),new Bn(e,r,t,o)},zr=e=>{let t=Je(e),[r,n]=y0(t),[i,o]=y0(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new Bn(r,i,s,t)},Oa=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&Pa(e.bytes,r.bytes)}},Bn=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var _o=({name:e,code:t,encode:r})=>new Co(e,t,r),Co=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?ke(this.code,r):r.then(n=>ke(this.code,n))}else throw Error("Unknown type, must be binary type")}};var Ka=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),mt=_o({name:"sha2-256",code:18,encode:Ka("SHA-256")}),Ac=_o({name:"sha2-512",code:19,encode:Ka("SHA-512")});var Va=(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 ko={};Lt(ko,{identity:()=>Rc});function Ic(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,x=h.length;m!==x&&h[m]===0;)m++,y++;for(var S=(x-m)*f+1>>>0,L=new Uint8Array(S);m!==x;){for(var T=h[m],_=0,q=S-1;(T!==0||_<g)&&q!==-1;q--,_++)T+=256*L[q]>>>0,L[q]=T%a>>>0,T=T/a>>>0;if(T!==0)throw new Error("Non-zero carry");g=_,m++}for(var G=S-g;G!==S&&L[G]===0;)G++;for(var Nt=u.repeat(y);G<S;++G)Nt+=e.charAt(L[G]);return Nt}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 x=(h.length-y)*c+1>>>0,S=new Uint8Array(x);h[y];){var L=r[h.charCodeAt(y)];if(L===255)return;for(var T=0,_=x-1;(L!==0||T<m)&&_!==-1;_--,T++)L+=a*S[_]>>>0,S[_]=L%256>>>0,L=L/256>>>0;if(L!==0)throw new Error("Non-zero carry");m=T,y++}if(h[y]!==" "){for(var q=x-m;q!==x&&S[q]===0;)q++;for(var G=new Uint8Array(g+(x-q)),Nt=g;q!==x;)G[Nt++]=S[q++];return G}}}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 Bc=Ic,Cc=Bc,qa=Cc;var Ro=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")}},Po=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)}},No=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 No({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),Lo=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new Ro(t,r,n),this.decoder=new Po(t,r,i)}encode(t){return this.encoder.encode(t)}decode(t){return this.decoder.decode(t)}},Cn=({name:e,prefix:t,encode:r,decode:n})=>new Lo(e,t,r,n),xr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=qa(r,t);return Cn({prefix:e,name:t,encode:n,decode:o=>Je(i(o))})},_c=(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},Tc=(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})=>Cn({prefix:t,name:e,encode(i){return Tc(i,n,r)},decode(i){return _c(i,n,r,e)}});var Rc=Cn({prefix:"\0",name:"identity",encode:e=>La(e),decode:e=>Na(e)});var Do={};Lt(Do,{base2:()=>Pc});var Pc=wt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var Fo={};Lt(Fo,{base8:()=>Nc});var Nc=wt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Uo={};Lt(Uo,{base10:()=>Lc});var Lc=xr({prefix:"9",name:"base10",alphabet:"0123456789"});var Oo={};Lt(Oo,{base16:()=>kc,base16upper:()=>Dc});var kc=wt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Dc=wt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Mo={};Lt(Mo,{base32:()=>ge,base32hex:()=>Mc,base32hexpad:()=>Vc,base32hexpadupper:()=>qc,base32hexupper:()=>Kc,base32pad:()=>Uc,base32padupper:()=>Oc,base32upper:()=>Fc,base32z:()=>zc});var ge=wt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),Fc=wt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),Uc=wt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),Oc=wt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),Mc=wt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),Kc=wt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),Vc=wt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),qc=wt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),zc=wt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var Ko={};Lt(Ko,{base36:()=>$c,base36upper:()=>Hc});var $c=xr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Hc=xr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Vo={};Lt(Vo,{base58btc:()=>St,base58flickr:()=>Gc});var St=xr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),Gc=xr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var qo={};Lt(qo,{base64:()=>Hr,base64pad:()=>Qc,base64url:()=>Wc,base64urlpad:()=>Yc});var Hr=wt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),Qc=wt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),Wc=wt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),Yc=wt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});var zo={};Lt(zo,{base256emoji:()=>tf});var $a=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}"),Zc=$a.reduce((e,t,r)=>(e[r]=t,e),[]),Xc=$a.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function jc(e){return e.reduce((t,r)=>(t+=Zc[r],t),"")}function Jc(e){let t=[];for(let r of e){let n=Xc[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var tf=Cn({prefix:"\u{1F680}",name:"base256emoji",encode:jc,decode:Jc});var $o={};Lt($o,{identity:()=>vr});var Ha=0,ef="identity",Ga=Je,rf=e=>ke(Ha,Ga(e)),vr={code:Ha,name:ef,encode:Ga,digest:rf};var ry=new TextEncoder,ny=new TextDecoder;var Qa=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return af(r,Ho(e),t||St.encoder);default:return uf(r,Ho(e),t||ge.encoder)}};var Wa=new WeakMap,Ho=e=>{let t=Wa.get(e);if(t==null){let r=new Map;return Wa.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!==g0)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==cf)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=ke(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&&Oa(t.multihash,n.multihash)}toString(t){return Qa(this,t)}toJSON(){return{"/":Qa(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||Ya(n,i,o.bytes))}else if(r[ff]===!0){let{version:n,multihash:i,code:o}=r,s=zr(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!==g0)throw new Error(`Version 0 CID must use dag-pb (code: ${g0}) block encoding`);return new tt(t,r,n,n.bytes)}case 1:{let i=Ya(t,r,n.bytes);return new tt(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return tt.create(0,g0,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 Bn(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]=y0(t.subarray(r));return r+=d,l},i=n(),o=g0;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]=sf(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 Ho(o).set(n,t),o}},sf=(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 ge.prefix:{let r=t||ge;return[ge.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},af=(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},uf=(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},g0=112,cf=18,Ya=(e,t,r)=>{let n=In(e),i=n+In(t),o=new Uint8Array(i+r.byteLength);return An(e,o,0),An(t,o,n),o.set(r,i),o},ff=Symbol.for("@ipld/js-cid/CID");var wr={...ko,...Do,...Fo,...Uo,...Oo,...Mo,...Ko,...Vo,...qo,...zo},py={...To,...$o};function tr(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function er(e=0){return globalThis.Buffer?.alloc!=null?tr(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function jt(e=0){return globalThis.Buffer?.allocUnsafe!=null?tr(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function Xa(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var Za=Xa("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),Go=Xa("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=jt(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),lf={utf8:Za,"utf-8":Za,hex:wr.base16,latin1:Go,ascii:Go,binary:Go,...wr},bi=lf;function M(e,t="utf8"){let r=bi[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=bi[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?tr(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}var rr="/",ja=new TextEncoder().encode(rr),Ei=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]!==Ei)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(rr))}static random(){return new Dt(Va().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]!==Ei){let t=new Uint8Array(this._buf.byteLength+1);t.fill(Ei,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===Ei;)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(rr).slice(1)}type(){return hf(this.baseNamespace())}name(){return pf(this.baseNamespace())}instance(t){return new Dt(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(rr)||(t+=rr),t+=this.type(),new Dt(t)}parent(){let t=this.list();return t.length===1?new Dt(rr):new Dt(t.slice(0,-1).join(rr))}child(t){return this.toString()===rr?t:t.toString()===rr?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(),...df(t.map(r=>r.namespaces()))])}};function hf(e){let t=e.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function pf(e){let t=e.split(":");return t[t.length-1]}function df(e){return[].concat(...e)}var os=$(Xo(),1),M3=$(P3(),1),K3=$(Qr(),1),ss=$(is(),1),V3=$(O3(),1);function Sf(){K3.default._configure(),os.default._configure(M3.default),ss.default._configure(V3.default)}Sf();var q3=["uint64","int64","sint64","fixed64","sfixed64"];function Af(e){for(let t of q3){if(e[t]==null)continue;let r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}function as(e){return Af(new os.default(e))}function If(e){for(let t of q3){if(e[t]==null)continue;let r=e[t];e[t]=function(n){return r.call(this,n.toString())}}return e}function us(){return If(ss.default.create())}function Ue(e,t){let r=as(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function Oe(e,t){let r=us();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var Tn;(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"})(Tn||(Tn={}));function Ci(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Rn(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 Ci("enum",Tn.VARINT,r,n)}function Me(e,t){return Ci("message",Tn.LENGTH_DELIMITED,e,t)}var v0;(function(e){let t;e.codec=()=>(t==null&&(t=Me((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.key!=null&&r.key.byteLength>0&&(n.uint32(10),n.bytes(r.key)),r.value!=null&&r.value.byteLength>0&&(n.uint32(18),n.bytes(r.value)),r.timeReceived!=null&&r.timeReceived!==""&&(n.uint32(42),n.string(r.timeReceived)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={key:new Uint8Array(0),value:new Uint8Array(0),timeReceived:""},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.key=r.bytes();break;case 2:i.value=r.bytes();break;case 5:i.timeReceived=r.string();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>Oe(r,e.codec()),e.decode=r=>Ue(r,e.codec())})(v0||(v0={}));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 $3(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 Rt=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 v0.encode(this.prepareSerialize())}prepareSerialize(){return{key:this.key,value:this.value,timeReceived:z3(this.timeReceived)}}static deserialize(t){let r=v0.decode(t);return new Rt(r.key,r.value,new Date(r.timeReceived))}static fromDeserialized(t){let r=$3(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 Rt(t.key,t.value,r)}};function ut(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=jt(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return tr(r)}var t4=$(H3(),1);var G3="[a-fA-F\\d:]",Sr=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${G3})|(?<=${G3})(?=\\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}",Pt="[a-fA-F\\d]{1,4}",_i=`
|
|
15
|
+
`+a+t.substr(s+1),o=i-s-1,s=-1,++i}else(t[i]===" "||t[i]===" "||t[i]===",")&&(s=i);return t}function G7(e){return e.replace(/^\s+/,"")}});var fu=D((_w,cu)=>{var Ve=nt();en();Ct();var su=cu.exports=Ve.sha256=Ve.sha256||{};Ve.md.sha256=Ve.md.algorithms.sha256=su;su.create=function(){au||Q7();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),ou(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(Us.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};ou(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 Us=null,au=!1,uu=null;function Q7(){Us=String.fromCharCode(128),Us+=Ve.util.fillString(String.fromCharCode(0),64),uu=[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],au=!0}function ou(e,t,r){for(var n,i,o,s,a,u,c,f,l,d,p,h,y,g,m,x=r.length();x>=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+uu[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,x-=64}}});var hu=D((Rw,lu)=>{var qe=nt();Ct();var J0=null;qe.util.isNodejs&&!qe.options.usePureJavaScript&&!process.versions["node-webkit"]&&(J0=$n());var W7=lu.exports=qe.prng=qe.prng||{};W7.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=qe.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 qe.util.nextTick(function(){o(g)});var x=l(t.key,t.seed);t.generated+=x.length,y.putBytes(x),t.key=p(l(t.key,d(t.seed))),t.seed=h(l(t.key,t.seed)),qe.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=qe.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=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()<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,x,S,N=Math.floor(Math.random()*65536);p.length()<c;){x=16807*(N&65535),m=16807*(N>>16),x+=(m&32767)<<16,x+=m>>15,x=(x&2147483647)+(x>>31),N=x&4294967295;for(var g=0;g<3;++g)S=N>>>(g<<3),S^=Math.floor(Math.random()*256),p.putByte(S&255)}return p.getBytes(c)}return J0?(t.seedFile=function(c,f){J0.randomBytes(c,function(l,d){if(l)return f(l);f(null,d.toString())})},t.seedFileSync=function(c){return J0.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 Di=D((Pw,Os)=>{var Ot=nt();G0();fu();hu();Ct();(function(){if(Ot.random&&Ot.random.getBytes){Os.exports=Ot.random;return}(function(e){var t={},r=new Array(4),n=Ot.util.createBuffer();t.formatKey=function(l){var d=Ot.util.createBuffer(l);return l=new Array(4),l[0]=d.getInt32(),l[1]=d.getInt32(),l[2]=d.getInt32(),l[3]=d.getInt32(),Ot.aes._expandKey(l,!1)},t.formatSeed=function(l){var d=Ot.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 Ot.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=Ot.md.sha256;function i(){var l=Ot.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=Ot.util.globalScope,u=a.crypto||a.msCrypto;if(u&&u.getRandomValues&&(s=function(l){return u.getRandomValues(l)}),Ot.options.usePureJavaScript||!Ot.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(!Ot.random)Ot.random=o;else for(var f in o)Ot.random[f]=o[f];Ot.random.createInstance=i,Os.exports=Ot.random})(typeof jQuery<"u"?jQuery:null)})()});var gu=D((Lw,yu)=>{var Wt=nt();Ct();var Ms=[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],pu=[1,2,3,5],Y7=function(e,t){return e<<t&65535|(e&65535)>>16-t},Z7=function(e,t){return(e&65535)>>t|e<<16-t&65535};yu.exports=Wt.rc2=Wt.rc2||{};Wt.rc2.expandKey=function(e,t){typeof e=="string"&&(e=Wt.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(Ms[r.at(a-1)+r.at(a-n)&255]);for(r.setAt(128-o,Ms[r.at(128-o)&s]),a=127-o;a>=0;a--)r.setAt(a,Ms[r.at(a+1)^r.at(a+o)]);return r};var du=function(e,t,r){var n=!1,i=null,o=null,s=null,a,u,c,f,l=[];for(e=Wt.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]=Y7(h[c],pu[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]=Z7(h[c],pu[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 x=0;x<h[m][0];x++)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=Wt.util.createBuffer(h)),n=!1,i=Wt.util.createBuffer(),o=y||new Wt.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(),x=o.at(m-1);x>m?y=!1:o.truncate(x)}return y}},p};Wt.rc2.startEncrypting=function(e,t,r){var n=Wt.rc2.createEncryptionCipher(e,128);return n.start(t,r),n};Wt.rc2.createEncryptionCipher=function(e,t){return du(e,t,!0)};Wt.rc2.startDecrypting=function(e,t,r){var n=Wt.rc2.createDecryptionCipher(e,128);return n.start(t,r),n};Wt.rc2.createDecryptionCipher=function(e,t){return du(e,t,!1)}});var r1=D((Nw,Iu)=>{var Ks=nt();Iu.exports=Ks.jsbn=Ks.jsbn||{};var ur,X7=0xdeadbeefcafe,mu=(X7&16777215)==15715070;function I(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))}Ks.jsbn.BigInteger=I;function j(){return new I(null)}function j7(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 J7(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 xu(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"?(I.prototype.am=xu,ur=28):mu&&navigator.appName=="Microsoft Internet Explorer"?(I.prototype.am=J7,ur=30):mu&&navigator.appName!="Netscape"?(I.prototype.am=j7,ur=26):(I.prototype.am=xu,ur=28);I.prototype.DB=ur;I.prototype.DM=(1<<ur)-1;I.prototype.DV=1<<ur;var Vs=52;I.prototype.FV=Math.pow(2,Vs);I.prototype.F1=Vs-ur;I.prototype.F2=2*ur-Vs;var tl="0123456789abcdefghijklmnopqrstuvwxyz",t1=new Array,Hn,fe;Hn="0".charCodeAt(0);for(fe=0;fe<=9;++fe)t1[Hn++]=fe;Hn="a".charCodeAt(0);for(fe=10;fe<36;++fe)t1[Hn++]=fe;Hn="A".charCodeAt(0);for(fe=10;fe<36;++fe)t1[Hn++]=fe;function vu(e){return tl.charAt(e)}function wu(e,t){var r=t1[e.charCodeAt(t)];return r??-1}function el(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 rl(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 nl(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:wu(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&&I.ZERO.subTo(this,this)}function il(){for(var e=this.s&this.DM;this.t>0&&this.data[this.t-1]==e;)--this.t}function ol(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=vu(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+=vu(n));return i?o:"0"}function sl(){var e=j();return I.ZERO.subTo(this,e),e}function al(){return this.s<0?this.negate():this}function ul(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 e1(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 cl(){return this.t<=0?0:this.DB*(this.t-1)+e1(this.data[this.t-1]^this.s&this.DM)}function fl(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 ll(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 hl(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 pl(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 dl(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 yl(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&&I.ZERO.subTo(t,t)}function gl(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 ml(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,u=this.DB-e1(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??j();for(o.dlShiftTo(g,m),r.compareTo(m)>=0&&(r.data[r.t++]=1,r.subTo(m,r)),I.ONE.dlShiftTo(c,m),m.subTo(o,o);o.t<c;)o.data[o.t++]=0;for(;--g>=0;){var x=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,x,r,g,0,c))<x)for(o.dlShiftTo(g,m),r.subTo(m,r);r.data[y]<--x;)r.subTo(m,r)}t!=null&&(r.drShiftTo(c,t),s!=a&&I.ZERO.subTo(t,t)),r.t=c,r.clamp(),u>0&&r.rShiftTo(u,r),s<0&&I.ZERO.subTo(r,r)}}}function xl(e){var t=j();return this.abs().divRemTo(e,null,t),this.s<0&&t.compareTo(I.ZERO)>0&&e.subTo(t,t),t}function rn(e){this.m=e}function vl(e){return e.s<0||e.compareTo(this.m)>=0?e.mod(this.m):e}function wl(e){return e}function bl(e){e.divRemTo(this.m,null,e)}function El(e,t,r){e.multiplyTo(t,r),this.reduce(r)}function Sl(e,t){e.squareTo(t),this.reduce(t)}rn.prototype.convert=vl;rn.prototype.revert=wl;rn.prototype.reduce=bl;rn.prototype.mulTo=El;rn.prototype.sqrTo=Sl;function Il(){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 nn(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 Al(e){var t=j();return e.abs().dlShiftTo(this.m.t,t),t.divRemTo(this.m,null,t),e.s<0&&t.compareTo(I.ZERO)>0&&this.m.subTo(t,t),t}function Bl(e){var t=j();return e.copyTo(t),this.reduce(t),t}function Cl(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 Tl(e,t){e.squareTo(t),this.reduce(t)}function _l(e,t,r){e.multiplyTo(t,r),this.reduce(r)}nn.prototype.convert=Al;nn.prototype.revert=Bl;nn.prototype.reduce=Cl;nn.prototype.mulTo=_l;nn.prototype.sqrTo=Tl;function Rl(){return(this.t>0?this.data[0]&1:this.s)==0}function Pl(e,t){if(e>4294967295||e<1)return I.ONE;var r=j(),n=j(),i=t.convert(this),o=e1(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 Ll(e,t){var r;return e<256||t.isEven()?r=new rn(t):r=new nn(t),this.exp(e,r)}I.prototype.copyTo=el;I.prototype.fromInt=rl;I.prototype.fromString=nl;I.prototype.clamp=il;I.prototype.dlShiftTo=fl;I.prototype.drShiftTo=ll;I.prototype.lShiftTo=hl;I.prototype.rShiftTo=pl;I.prototype.subTo=dl;I.prototype.multiplyTo=yl;I.prototype.squareTo=gl;I.prototype.divRemTo=ml;I.prototype.invDigit=Il;I.prototype.isEven=Rl;I.prototype.exp=Pl;I.prototype.toString=ol;I.prototype.negate=sl;I.prototype.abs=al;I.prototype.compareTo=ul;I.prototype.bitLength=cl;I.prototype.mod=xl;I.prototype.modPowInt=Ll;I.ZERO=Cr(0);I.ONE=Cr(1);function Nl(){var e=j();return this.copyTo(e),e}function kl(){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 Dl(){return this.t==0?this.s:this.data[0]<<24>>24}function Fl(){return this.t==0?this.s:this.data[0]<<16>>16}function Ul(e){return Math.floor(Math.LN2*this.DB/Math.log(e))}function Ol(){return this.s<0?-1:this.t<=0||this.t==1&&this.data[0]<=0?0:1}function Ml(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 Kl(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=wu(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&&I.ZERO.subTo(this,this)}function Vl(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(I.ONE.shiftLeft(e-1),qs,this),this.isEven()&&this.dAddOffset(1,0);!this.isProbablePrime(t);)this.dAddOffset(2,0),this.bitLength()>e&&this.subTo(I.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 ql(){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 zl(e){return this.compareTo(e)==0}function $l(e){return this.compareTo(e)<0?this:e}function Hl(e){return this.compareTo(e)>0?this:e}function Gl(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 Ql(e,t){return e&t}function Wl(e){var t=j();return this.bitwiseTo(e,Ql,t),t}function qs(e,t){return e|t}function Yl(e){var t=j();return this.bitwiseTo(e,qs,t),t}function bu(e,t){return e^t}function Zl(e){var t=j();return this.bitwiseTo(e,bu,t),t}function Eu(e,t){return e&~t}function Xl(e){var t=j();return this.bitwiseTo(e,Eu,t),t}function jl(){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 Jl(e){var t=j();return e<0?this.rShiftTo(-e,t):this.lShiftTo(e,t),t}function t9(e){var t=j();return e<0?this.lShiftTo(-e,t):this.rShiftTo(e,t),t}function e9(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 r9(){for(var e=0;e<this.t;++e)if(this.data[e]!=0)return e*this.DB+e9(this.data[e]);return this.s<0?this.t*this.DB:-1}function n9(e){for(var t=0;e!=0;)e&=e-1,++t;return t}function i9(){for(var e=0,t=this.s&this.DM,r=0;r<this.t;++r)e+=n9(this.data[r]^t);return e}function o9(e){var t=Math.floor(e/this.DB);return t>=this.t?this.s!=0:(this.data[t]&1<<e%this.DB)!=0}function s9(e,t){var r=I.ONE.shiftLeft(e);return this.bitwiseTo(r,t,r),r}function a9(e){return this.changeBit(e,qs)}function u9(e){return this.changeBit(e,Eu)}function c9(e){return this.changeBit(e,bu)}function f9(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 l9(e){var t=j();return this.addTo(e,t),t}function h9(e){var t=j();return this.subTo(e,t),t}function p9(e){var t=j();return this.multiplyTo(e,t),t}function d9(e){var t=j();return this.divRemTo(e,t,null),t}function y9(e){var t=j();return this.divRemTo(e,null,t),t}function g9(e){var t=j(),r=j();return this.divRemTo(e,t,r),new Array(t,r)}function m9(e){this.data[this.t]=this.am(0,e-1,this,0,0,this.t),++this.t,this.clamp()}function x9(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 Fi(){}function Su(e){return e}function v9(e,t,r){e.multiplyTo(t,r)}function w9(e,t){e.squareTo(t)}Fi.prototype.convert=Su;Fi.prototype.revert=Su;Fi.prototype.mulTo=v9;Fi.prototype.sqrTo=w9;function b9(e){return this.exp(e,new Fi)}function E9(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 S9(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 Gn(e){this.r2=j(),this.q3=j(),I.ONE.dlShiftTo(2*e.t,this.r2),this.mu=this.r2.divide(e),this.m=e}function I9(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 A9(e){return e}function B9(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 C9(e,t){e.squareTo(t),this.reduce(t)}function T9(e,t,r){e.multiplyTo(t,r),this.reduce(r)}Gn.prototype.convert=I9;Gn.prototype.revert=A9;Gn.prototype.reduce=B9;Gn.prototype.mulTo=T9;Gn.prototype.sqrTo=C9;function _9(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 rn(t):t.isEven()?o=new Gn(t):o=new nn(t);var s=new Array,a=3,u=n-1,c=(1<<n)-1;if(s[1]=o.convert(this),n>1){var f=j();for(o.sqrTo(s[1],f);a<=c;)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=e1(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 R9(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 P9(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 L9(e){var t=e.isEven();if(this.isEven()&&t||e.signum()==0)return I.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(I.ONE)!=0)return I.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 Be=[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],N9=(1<<26)/Be[Be.length-1];function k9(e){var t,r=this.abs();if(r.t==1&&r.data[0]<=Be[Be.length-1]){for(t=0;t<Be.length;++t)if(r.data[0]==Be[t])return!0;return!1}if(r.isEven())return!1;for(t=1;t<Be.length;){for(var n=Be[t],i=t+1;i<Be.length&&n<N9;)n*=Be[i++];for(n=r.modInt(n);t<i;)if(n%Be[t++]==0)return!1}return r.millerRabin(e)}function D9(e){var t=this.subtract(I.ONE),r=t.getLowestSetBit();if(r<=0)return!1;for(var n=t.shiftRight(r),i=F9(),o,s=0;s<e;++s){do o=new I(this.bitLength(),i);while(o.compareTo(I.ONE)<=0||o.compareTo(t)>=0);var a=o.modPow(n,this);if(a.compareTo(I.ONE)!=0&&a.compareTo(t)!=0){for(var u=1;u++<r&&a.compareTo(t)!=0;)if(a=a.modPowInt(2,this),a.compareTo(I.ONE)==0)return!1;if(a.compareTo(t)!=0)return!1}}return!0}function F9(){return{nextBytes:function(e){for(var t=0;t<e.length;++t)e[t]=Math.floor(Math.random()*256)}}}I.prototype.chunkSize=Ul;I.prototype.toRadix=Ml;I.prototype.fromRadix=Kl;I.prototype.fromNumber=Vl;I.prototype.bitwiseTo=Gl;I.prototype.changeBit=s9;I.prototype.addTo=f9;I.prototype.dMultiply=m9;I.prototype.dAddOffset=x9;I.prototype.multiplyLowerTo=E9;I.prototype.multiplyUpperTo=S9;I.prototype.modInt=P9;I.prototype.millerRabin=D9;I.prototype.clone=Nl;I.prototype.intValue=kl;I.prototype.byteValue=Dl;I.prototype.shortValue=Fl;I.prototype.signum=Ol;I.prototype.toByteArray=ql;I.prototype.equals=zl;I.prototype.min=$l;I.prototype.max=Hl;I.prototype.and=Wl;I.prototype.or=Yl;I.prototype.xor=Zl;I.prototype.andNot=Xl;I.prototype.not=jl;I.prototype.shiftLeft=Jl;I.prototype.shiftRight=t9;I.prototype.getLowestSetBit=r9;I.prototype.bitCount=i9;I.prototype.testBit=o9;I.prototype.setBit=a9;I.prototype.clearBit=u9;I.prototype.flipBit=c9;I.prototype.add=l9;I.prototype.subtract=h9;I.prototype.multiply=p9;I.prototype.divide=d9;I.prototype.remainder=y9;I.prototype.divideAndRemainder=g9;I.prototype.modPow=_9;I.prototype.modInverse=L9;I.prototype.pow=b9;I.prototype.gcd=R9;I.prototype.isProbablePrime=k9});var _u=D((kw,Tu)=>{var ze=nt();en();Ct();var Bu=Tu.exports=ze.sha1=ze.sha1||{};ze.md.sha1=ze.md.algorithms.sha1=Bu;Bu.create=function(){Cu||U9();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),Au(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(zs.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};Au(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 zs=null,Cu=!1;function U9(){zs=String.fromCharCode(128),zs+=ze.util.fillString(String.fromCharCode(0),64),Cu=!0}function Au(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 Lu=D((Dw,Pu)=>{var $e=nt();Ct();Di();_u();var Ru=Pu.exports=$e.pkcs1=$e.pkcs1||{};Ru.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),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=$e.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=n1(i,a-o.digestLength-1,s),g=$e.util.xorBytes(h,y,h.length),m=n1(g,o.digestLength,s),x=$e.util.xorBytes(i,m,i.length);return"\0"+x+g};Ru.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(),u=t.charAt(0),c=t.substring(1,i.digestLength+1),f=t.substring(1+i.digestLength),l=n1(f,i.digestLength,o),d=$e.util.xorBytes(c,l,c.length),p=n1(d,s-i.digestLength-1,o),h=$e.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 x=1,S=i.digestLength,N=i.digestLength;N<h.length;N++){var _=h.charCodeAt(N),T=_&1^1,q=x?65534:0;g|=_&q,x=x&T,S+=x}if(g||h.charCodeAt(S)!==1)throw new Error("Invalid RSAES-OAEP padding.");return h.substring(S+1)};function n1(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 Nu=D((Fw,$s)=>{var Tr=nt();Ct();r1();Di();(function(){if(Tr.prime){$s.exports=Tr.prime;return}var e=$s.exports=Tr.prime=Tr.prime||{},t=Tr.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||Tr.random,g={nextBytes:function(m){for(var x=y.getBytesSync(m.length),S=0;S<m.length;++S)m[S]=x.charCodeAt(S)}};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 x=10;"maxBlockTime"in p&&(x=p.maxBlockTime),a(y,l,d,g,m,x,h)}function a(l,d,p,h,y,g,m){var x=+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-x<g);Tr.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,x=m*30/8,S=p.workerScript||"forge/prime.worker.js";if(g===-1)return Tr.util.estimateCores(function(_,T){_&&(T=2),g=T-1,N()});N();function N(){g=Math.max(1,g);for(var _=[],T=0;T<g;++T)_[T]=new Worker(S);for(var q=g,T=0;T<g;++T)_[T].addEventListener("message",Lt);var G=!1;function Lt(ye){if(!G){--q;var Xt=ye.data;if(Xt.found){for(var qt=0;qt<_.length;++qt)_[qt].terminate();return G=!0,h(null,new t(Xt.prime,16))}y.bitLength()>l&&(y=c(l,d));var mn=y.toString(16);ye.target.postMessage({hex:mn,workLoad:m}),y.dAddOffset(x,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 o1=D((Uw,Ku)=>{var U=nt();ki();r1();Q0();Lu();Nu();Di();Ct();typeof W>"u"&&(W=U.jsbn.BigInteger);var W,Hs=U.util.isNodejs?$n():null,w=U.asn1,le=U.util;U.pki=U.pki||{};Ku.exports=U.pki.rsa=U.rsa=U.rsa||{};var K=U.pki,O9=[6,4,2,4,2,4,6,2],M9={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"}]},K9={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"}]},V9={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"}]},q9=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"}]}]},z9={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"}]},$9=function(e){var t;if(e.algorithm in K.oids)t=K.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()},Ou=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};K.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=Mu(e,t,r)):(i=U.util.createBuffer(),i.putBytes(e));for(var s=new W(i.toHex(),16),a=Ou(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()};K.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=Ou(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?i1(c.getBytes(),t,r):c.getBytes()};K.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 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};K.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 u=e.p===null?e.pBits:e.qBits,c=u-1;e.pqState===0?(e.num=new W(u,e.rng),e.num.testBit(c)||e.num.bitwiseTo(W.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(G9(e.num.bitLength()))?++e.pqState:e.num.dAddOffset(O9[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:K.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:K.rsa.setPublicKey(e.n,e.e)}}s=+new Date,a+=s-o,o=s}return e.keys!==null};K.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(ku("generateKeyPair"))return Hs.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:K.privateKeyFromPem(c),publicKey:K.publicKeyFromPem(u)})});if(Du("generateKey")&&Du("exportKey"))return le.globalScope.crypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Uu(t),hash:{name:"SHA-256"}},!0,["sign","verify"]).then(function(a){return le.globalScope.crypto.subtle.exportKey("pkcs8",a.privateKey)}).then(void 0,function(a){n(a)}).then(function(a){if(a){var u=K.privateKeyFromAsn1(w.fromDer(U.util.createBuffer(a)));n(null,{privateKey:u,publicKey:K.setRsaPublicKey(u.n,u.e)})}});if(Fu("generateKey")&&Fu("exportKey")){var i=le.globalScope.msCrypto.subtle.generateKey({name:"RSASSA-PKCS1-v1_5",modulusLength:e,publicExponent:Uu(t),hash:{name:"SHA-256"}},!0,["sign","verify"]);i.oncomplete=function(a){var u=a.target.result,c=le.globalScope.msCrypto.subtle.exportKey("pkcs8",u.privateKey);c.oncomplete=function(f){var l=f.target.result,d=K.privateKeyFromAsn1(w.fromDer(U.util.createBuffer(l)));n(null,{privateKey:d,publicKey:K.setRsaPublicKey(d.n,d.e)})},c.onerror=function(f){n(f)}},i.onerror=function(a){n(a)};return}}else if(ku("generateKeyPairSync")){var o=Hs.generateKeyPairSync("rsa",{modulusLength:e,publicExponent:t,publicKeyEncoding:{type:"spki",format:"pem"},privateKeyEncoding:{type:"pkcs8",format:"pem"}});return{privateKey:K.privateKeyFromPem(o.privateKey),publicKey:K.publicKeyFromPem(o.publicKey)}}}var s=K.rsa.createKeyPairGenerationState(e,t,r);if(!n)return K.rsa.stepKeyPairGenerationState(s,0),s.keys;H9(s,r,n)};K.setRsaPublicKey=K.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 Mu(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 K.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=i1(c,r,!0);var f=w.fromDer(c,{parseAllBytes:s._parseAllDigestBytes}),l={},d=[];if(!w.validate(f,z9,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=i1(c,r,!0),u===c}});var a=K.rsa.decrypt(i,r,!0,!1);return o.verify(n,a,r.n.bitLength())},r};K.setRsaPrivateKey=K.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=K.rsa.decrypt(c,u,!1,!1);if(f==="RSAES-PKCS1-V1_5")f={decode:i1};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:$9},l=1):(f==="NONE"||f==="NULL"||f===null)&&(f={encode:function(){return c}},l=1);var d=f.encode(c,u.n.bitLength());return K.rsa.encrypt(d,u,l)},u};K.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(K.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())])};K.privateKeyFromAsn1=function(e){var t={},r=[];if(w.validate(e,M9,t,r)&&(e=w.fromDer(U.util.createBuffer(t.privateKey))),t={},r=[],!w.validate(e,K9,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(),K.setRsaPrivateKey(new W(i,16),new W(o,16),new W(s,16),new W(a,16),new W(u,16),new W(c,16),new W(f,16),new W(l,16))};K.privateKeyToAsn1=K.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))])};K.publicKeyFromAsn1=function(e){var t={},r=[];if(w.validate(e,q9,t,r)){var n=w.derToOid(t.publicKeyOid);if(n!==K.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,V9,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 K.setRsaPublicKey(new W(o,16),new W(s,16))};K.publicKeyToAsn1=K.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(K.oids.rsaEncryption).getBytes()),w.create(w.Class.UNIVERSAL,w.Type.NULL,!1,"")]),w.create(w.Class.UNIVERSAL,w.Type.BITSTRING,!1,[K.publicKeyToRSAPublicKey(e)])])};K.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 Mu(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 i1(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 H9(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(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:K.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:K.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 G9(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 ku(e){return U.util.isNodejs&&typeof Hs[e]=="function"}function Du(e){return typeof le.globalScope<"u"&&typeof le.globalScope.crypto=="object"&&typeof le.globalScope.crypto.subtle=="object"&&typeof le.globalScope.crypto.subtle[e]=="function"}function Fu(e){return typeof le.globalScope<"u"&&typeof le.globalScope.msCrypto=="object"&&typeof le.globalScope.msCrypto.subtle=="object"&&typeof le.globalScope.msCrypto.subtle[e]=="function"}function Uu(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 Gu=D((Ow,Hu)=>{var P=nt();G0();ki();X4();en();Q0();Fs();iu();Di();gu();o1();Ct();typeof Vu>"u"&&(Vu=P.jsbn.BigInteger);var Vu,b=P.asn1,V=P.pki=P.pki||{};Hu.exports=V.pbe=P.pbe=P.pbe||{};var on=V.oids,Q9={name:"EncryptedPrivateKeyInfo",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"EncryptedPrivateKeyInfo.encryptionAlgorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"AlgorithmIdentifier.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"encryptionOid"},{name:"AlgorithmIdentifier.parameters",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,captureAsn1:"encryptionParams"}]},{name:"EncryptedPrivateKeyInfo.encryptedData",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"encryptedData"}]},W9={name:"PBES2Algorithms",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.keyDerivationFunc.oid",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"kdfOid"},{name:"PBES2Algorithms.params",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.params.salt",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"kdfSalt"},{name:"PBES2Algorithms.params.iterationCount",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"kdfIterationCount"},{name:"PBES2Algorithms.params.keyLength",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,optional:!0,capture:"keyLength"},{name:"PBES2Algorithms.params.prf",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,optional:!0,value:[{name:"PBES2Algorithms.params.prf.algorithm",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"prfOid"}]}]}]},{name:"PBES2Algorithms.encryptionScheme",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"PBES2Algorithms.encryptionScheme.oid",tagClass:b.Class.UNIVERSAL,type:b.Type.OID,constructed:!1,capture:"encOid"},{name:"PBES2Algorithms.encryptionScheme.iv",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"encIv"}]}]},Y9={name:"pkcs-12PbeParams",tagClass:b.Class.UNIVERSAL,type:b.Type.SEQUENCE,constructed:!0,value:[{name:"pkcs-12PbeParams.salt",tagClass:b.Class.UNIVERSAL,type:b.Type.OCTETSTRING,constructed:!1,capture:"salt"},{name:"pkcs-12PbeParams.iterations",tagClass:b.Class.UNIVERSAL,type:b.Type.INTEGER,constructed:!1,capture:"iterations"}]};V.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=b.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=on["aes128-CBC"],l=P.aes.createEncryptionCipher;break;case"aes192":s=24,c=16,f=on["aes192-CBC"],l=P.aes.createEncryptionCipher;break;case"aes256":s=32,c=16,f=on["aes256-CBC"],l=P.aes.createEncryptionCipher;break;case"des":s=8,c=8,f=on.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=$u(p),y=P.pkcs5.pbkdf2(t,n,i,s,h),g=P.random.getBytesSync(c),m=l(y);m.start(g),m.update(b.toDer(e)),m.finish(),u=m.output.getBytes();var x=Z9(n,o,s,p);a=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(on.pkcs5PBES2).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(on.pkcs5PBKDF2).getBytes()),x]),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(f).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,g)])])])}else if(r.algorithm==="3des"){s=24;var S=new P.util.ByteBuffer(n),y=V.pbe.generatePkcs12Key(t,S,1,i,s),g=V.pbe.generatePkcs12Key(t,S,2,i,s),m=P.des.createEncryptionCipher(y);m.start(g),m.update(b.toDer(e)),m.finish(),u=m.output.getBytes(),a=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(on["pbeWithSHAAnd3-KeyTripleDES-CBC"]).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,n),b.create(b.Class.UNIVERSAL,b.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=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[a,b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,u)]);return N};V.decryptPrivateKeyInfo=function(e,t){var r=null,n={},i=[];if(!b.validate(e,Q9,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=b.derToOid(n.encryptionOid),a=V.pbe.getCipher(s,n.encryptionParams,t),u=P.util.createBuffer(n.encryptedData);return a.update(u),a.finish()&&(r=b.fromDer(a.output)),r};V.encryptedPrivateKeyToPem=function(e,t){var r={type:"ENCRYPTED PRIVATE KEY",body:b.toDer(e).getBytes()};return P.pem.encode(r,{maxline:t})};V.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 b.fromDer(t.body)};V.encryptRsaPrivateKey=function(e,t,r){if(r=r||{},!r.legacy){var n=V.wrapRsaPrivateKey(V.privateKeyToAsn1(e));return n=V.encryptPrivateKeyInfo(n,t,r),V.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(b.toDer(V.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)};V.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=V.decryptPrivateKeyInfo(b.fromDer(r),t):r=b.fromDer(r),r!==null&&(r=V.privateKeyFromAsn1(r)),r};V.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),x=new P.util.ByteBuffer;for(a=0;a<m;a++)x.putByte(l.at(a%d));var S=g;S.putBuffer(x);for(var N=Math.ceil(i/u),_=1;_<=N;_++){var T=new P.util.ByteBuffer;T.putBytes(h.bytes()),T.putBytes(S.bytes());for(var q=0;q<n;q++)o.start(),o.update(T.getBytes()),T=o.digest();var G=new P.util.ByteBuffer;for(a=0;a<c;a++)G.putByte(T.at(a%u));var Lt=Math.ceil(p/c)+Math.ceil(d/c),ye=new P.util.ByteBuffer;for(s=0;s<Lt;s++){var Xt=new P.util.ByteBuffer(S.getBytes(c)),qt=511;for(a=G.length()-1;a>=0;a--)qt=qt>>8,qt+=G.at(a)+Xt.at(a),Xt.setAt(a,qt&255);ye.putBuffer(Xt)}S=ye,f.putBuffer(T)}return f.truncate(f.length()-i),f};V.pbe.getCipher=function(e,t,r){switch(e){case V.oids.pkcs5PBES2:return V.pbe.getCipherForPBES2(e,t,r);case V.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:case V.oids["pbewithSHAAnd40BitRC2-CBC"]:return V.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}};V.pbe.getCipherForPBES2=function(e,t,r){var n={},i=[];if(!b.validate(t,W9,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=b.derToOid(n.kdfOid),e!==V.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=b.derToOid(n.encOid),e!==V.oids["aes128-CBC"]&&e!==V.oids["aes192-CBC"]&&e!==V.oids["aes256-CBC"]&&e!==V.oids["des-EDE3-CBC"]&&e!==V.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(V.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=zu(n.prfOid),l=P.pkcs5.pbkdf2(r,s,a,u,f),d=n.encIv,p=c(l);return p.start(d),p};V.pbe.getCipherForPKCS12PBE=function(e,t,r){var n={},i=[];if(!b.validate(t,Y9,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 V.oids["pbeWithSHAAnd3-KeyTripleDES-CBC"]:u=24,c=8,f=P.des.startDecrypting;break;case V.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=zu(n.prfOid),d=V.pbe.generatePkcs12Key(r,s,1,a,u,l);l.start();var p=V.pbe.generatePkcs12Key(r,s,2,a,c,l);return f(d,p)};V.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=[qu(n,e+t)],o=16,s=1;o<r;++s,o+=16)i.push(qu(n,i[s-1]+e+t));return i.join("").substr(0,r)};function qu(e,t){return e.start().update(t).digest().getBytes()}function zu(e){var t;if(!e)t="hmacWithSHA1";else if(t=V.oids[b.derToOid(e)],!t){var r=new Error("Unsupported PRF OID.");throw r.oid=e,r.supported=["hmacWithSHA1","hmacWithSHA224","hmacWithSHA256","hmacWithSHA384","hmacWithSHA512"],r}return $u(t)}function $u(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=b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OCTETSTRING,!1,e),b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,t.getBytes())]);return n!=="hmacWithSHA1"&&i.value.push(b.create(b.Class.UNIVERSAL,b.Type.INTEGER,!1,P.util.hexToBytes(r.toString(16))),b.create(b.Class.UNIVERSAL,b.Type.SEQUENCE,!0,[b.create(b.Class.UNIVERSAL,b.Type.OID,!1,b.oidToDer(V.oids[n]).getBytes()),b.create(b.Class.UNIVERSAL,b.Type.NULL,!1,"")])),i}});var c5=D((cb,u5)=>{var lt=nt();en();Ct();var Ui=u5.exports=lt.sha512=lt.sha512||{};lt.md.sha512=lt.md.algorithms.sha512=Ui;var s5=lt.sha384=lt.sha512.sha384=lt.sha512.sha384||{};s5.create=function(){return Ui.create("SHA-384")};lt.md.sha384=lt.md.algorithms.sha384=s5;lt.sha512.sha256=lt.sha512.sha256||{create:function(){return Ui.create("SHA-512/256")}};lt.md["sha512/256"]=lt.md.algorithms["sha512/256"]=lt.sha512.sha256;lt.sha512.sha224=lt.sha512.sha224||{create:function(){return Ui.create("SHA-512/224")}};lt.md["sha512/224"]=lt.md.algorithms["sha512/224"]=lt.sha512.sha224;Ui.create=function(e){if(a5||th(),typeof e>"u"&&(e="SHA-512"),!(e in sn))throw new Error("Invalid SHA-512 algorithm: "+e);for(var t=sn[e],r=null,n=lt.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=lt.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=lt.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),o5(r,i,n),(n.read>2048||n.length()===0)&&n.compact(),a},a.digest=function(){var u=lt.util.createBuffer();u.putBytes(n.bytes());var c=a.fullMessageLength[a.fullMessageLength.length-1]+a.messageLengthSize,f=c&a.blockLength-1;u.putBytes(Qs.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);o5(y,i,u);var g=lt.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 Qs=null,a5=!1,Ws=null,sn=null;function th(){Qs=String.fromCharCode(128),Qs+=lt.util.fillString(String.fromCharCode(0),128),Ws=[[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]],sn={},sn["SHA-512"]=[[1779033703,4089235720],[3144134277,2227873595],[1013904242,4271175723],[2773480762,1595750129],[1359893119,2917565137],[2600822924,725511199],[528734635,4215389547],[1541459225,327033209]],sn["SHA-384"]=[[3418070365,3238371032],[1654270250,914150663],[2438529370,812702999],[355462360,4144912697],[1731405415,4290775857],[2394180231,1750603025],[3675008525,1694076839],[1203062813,3204075428]],sn["SHA-512/256"]=[[573645204,4230739756],[2673172387,3360449730],[596883563,1867755857],[2520282905,1497426621],[2519219938,2827943907],[3193839141,1401305490],[721525244,746961066],[246885852,2177182882]],sn["SHA-512/224"]=[[2352822216,424955298],[1944164710,2312950998],[502970286,855612546],[1738396948,1479516111],[258812777,2077511080],[2011393907,79989058],[1067287976,1780299464],[286451373,2446758561]],a5=!0}function o5(e,t,r){for(var n,i,o,s,a,u,c,f,l,d,p,h,y,g,m,x,S,N,_,T,q,G,Lt,ye,Xt,qt,mn,f0,_t,Qt,O,so,ao,uo,co,H2=r.length();H2>=128;){for(_t=0;_t<16;++_t)t[_t][0]=r.getInt32()>>>0,t[_t][1]=r.getInt32()>>>0;for(;_t<80;++_t)so=t[_t-2],Qt=so[0],O=so[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,uo=t[_t-15],Qt=uo[0],O=uo[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,ao=t[_t-7],co=t[_t-16],O=i+ao[1]+s+co[1],t[_t][0]=n+ao[0]+o+co[0]+(O/4294967296>>>0)>>>0,t[_t][1]=O>>>0;for(y=e[0][0],g=e[0][1],m=e[1][0],x=e[1][1],S=e[2][0],N=e[2][1],_=e[3][0],T=e[3][1],q=e[4][0],G=e[4][1],Lt=e[5][0],ye=e[5][1],Xt=e[6][0],qt=e[6][1],mn=e[7][0],f0=e[7][1],_t=0;_t<80;++_t)c=((q>>>14|G<<18)^(q>>>18|G<<14)^(G>>>9|q<<23))>>>0,f=((q<<18|G>>>14)^(q<<14|G>>>18)^(G<<23|q>>>9))>>>0,l=(Xt^q&(Lt^Xt))>>>0,d=(qt^G&(ye^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|S&(y^m))>>>0,h=(g&x|N&(g^x))>>>0,O=f0+f+d+Ws[_t][1]+t[_t][1],n=mn+c+l+Ws[_t][0]+t[_t][0]+(O/4294967296>>>0)>>>0,i=O>>>0,O=u+h,o=a+p+(O/4294967296>>>0)>>>0,s=O>>>0,mn=Xt,f0=qt,Xt=Lt,qt=ye,Lt=q,ye=G,O=T+i,q=_+n+(O/4294967296>>>0)>>>0,G=O>>>0,_=S,T=N,S=m,N=x,m=y,x=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]+x,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]+S+(O/4294967296>>>0)>>>0,e[2][1]=O>>>0,O=e[3][1]+T,e[3][0]=e[3][0]+_+(O/4294967296>>>0)>>>0,e[3][1]=O>>>0,O=e[4][1]+G,e[4][0]=e[4][0]+q+(O/4294967296>>>0)>>>0,e[4][1]=O>>>0,O=e[5][1]+ye,e[5][0]=e[5][0]+Lt+(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]+f0,e[7][0]=e[7][0]+mn+(O/4294967296>>>0)>>>0,e[7][1]=O>>>0,H2-=128}}});var r6=D((CE,e6)=>{e6.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 i6=D((TE,x2)=>{"use strict";var op=Object.prototype.hasOwnProperty,Gt="~";function Xi(){}Object.create&&(Xi.prototype=Object.create(null),new Xi().__proto__||(Gt=!1));function sp(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function n6(e,t,r,n,i){if(typeof r!="function")throw new TypeError("The listener must be a function");var o=new sp(r,n||e,i),s=Gt?Gt+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 A1(e,t){--e._eventsCount===0?e._events=new Xi:delete e._events[t]}function Vt(){this._events=new Xi,this._eventsCount=0}Vt.prototype.eventNames=function(){var t=[],r,n;if(this._eventsCount===0)return t;for(n in r=this._events)op.call(r,n)&&t.push(Gt?n.slice(1):n);return Object.getOwnPropertySymbols?t.concat(Object.getOwnPropertySymbols(r)):t};Vt.prototype.listeners=function(t){var r=Gt?Gt+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=Gt?Gt+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=Gt?Gt+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 n6(this,t,r,n,!1)};Vt.prototype.once=function(t,r,n){return n6(this,t,r,n,!0)};Vt.prototype.removeListener=function(t,r,n,i){var o=Gt?Gt+t:t;if(!this._events[o])return this;if(!r)return A1(this,o),this;var s=this._events[o];if(s.fn)s.fn===r&&(!i||s.once)&&(!n||s.context===n)&&A1(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:A1(this,o)}return this};Vt.prototype.removeAllListeners=function(t){var r;return t?(r=Gt?Gt+t:t,this._events[r]&&A1(this,r)):(this._events=new Xi,this._eventsCount=0),this};Vt.prototype.off=Vt.prototype.removeListener;Vt.prototype.addListener=Vt.prototype.on;Vt.prefixed=Gt;Vt.EventEmitter=Vt;typeof x2<"u"&&(x2.exports=Vt)});var U1=D((zE,A2)=>{"use strict";var ni=typeof Reflect=="object"?Reflect:null,m6=ni&&typeof ni.apply=="function"?ni.apply:function(t,r,n){return Function.prototype.apply.call(t,r,n)},D1;ni&&typeof ni.ownKeys=="function"?D1=ni.ownKeys:Object.getOwnPropertySymbols?D1=function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:D1=function(t){return Object.getOwnPropertyNames(t)};function hp(e){console&&console.warn&&console.warn(e)}var v6=Number.isNaN||function(t){return t!==t};function ot(){ot.init.call(this)}A2.exports=ot;A2.exports.once=gp;ot.EventEmitter=ot;ot.prototype._events=void 0;ot.prototype._eventsCount=0;ot.prototype._maxListeners=void 0;var x6=10;function F1(e){if(typeof e!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof e)}Object.defineProperty(ot,"defaultMaxListeners",{enumerable:!0,get:function(){return x6},set:function(e){if(typeof e!="number"||e<0||v6(e))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+e+".");x6=e}});ot.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};ot.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||v6(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 w6(e){return e._maxListeners===void 0?ot.defaultMaxListeners:e._maxListeners}ot.prototype.getMaxListeners=function(){return w6(this)};ot.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")m6(u,this,r);else for(var c=u.length,f=A6(u,c),n=0;n<c;++n)m6(f[n],this,r);return!0};function b6(e,t,r,n){var i,o,s;if(F1(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=w6(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,hp(a)}return e}ot.prototype.addListener=function(t,r){return b6(this,t,r,!1)};ot.prototype.on=ot.prototype.addListener;ot.prototype.prependListener=function(t,r){return b6(this,t,r,!0)};function pp(){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 E6(e,t,r){var n={fired:!1,wrapFn:void 0,target:e,type:t,listener:r},i=pp.bind(n);return i.listener=r,n.wrapFn=i,i}ot.prototype.once=function(t,r){return F1(r),this.on(t,E6(this,t,r)),this};ot.prototype.prependOnceListener=function(t,r){return F1(r),this.prependListener(t,E6(this,t,r)),this};ot.prototype.removeListener=function(t,r){var n,i,o,s,a;if(F1(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():dp(n,o),n.length===1&&(i[t]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",t,a||r)}return this};ot.prototype.off=ot.prototype.removeListener;ot.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 S6(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?yp(i):A6(i,i.length)}ot.prototype.listeners=function(t){return S6(this,t,!0)};ot.prototype.rawListeners=function(t){return S6(this,t,!1)};ot.listenerCount=function(e,t){return typeof e.listenerCount=="function"?e.listenerCount(t):I6.call(e,t)};ot.prototype.listenerCount=I6;function I6(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}ot.prototype.eventNames=function(){return this._eventsCount>0?D1(this._events):[]};function A6(e,t){for(var r=new Array(t),n=0;n<t;++n)r[n]=e[n];return r}function dp(e,t){for(;t+1<e.length;t++)e[t]=e[t+1];e.pop()}function yp(e){for(var t=new Array(e.length),r=0;r<t.length;++r)t[r]=e[r].listener||e[r];return t}function gp(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))}B6(e,t,o,{once:!0}),t!=="error"&&mp(e,i,{once:!0})})}function mp(e,t,r){typeof e.on=="function"&&B6(e,"error",t,r)}function B6(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 P6=D(q1=>{"use strict";q1.byteLength=Rp;q1.toByteArray=Lp;q1.fromByteArray=Dp;var Ye=[],de=[],_p=typeof Uint8Array<"u"?Uint8Array:Array,T2="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(dn=0,_6=T2.length;dn<_6;++dn)Ye[dn]=T2[dn],de[T2.charCodeAt(dn)]=dn;var dn,_6;de["-".charCodeAt(0)]=62;de["_".charCodeAt(0)]=63;function R6(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 Rp(e){var t=R6(e),r=t[0],n=t[1];return(r+n)*3/4-n}function Pp(e,t,r){return(t+r)*3/4-r}function Lp(e){var t,r=R6(e),n=r[0],i=r[1],o=new _p(Pp(e,n,i)),s=0,a=i>0?n-4:n,u;for(u=0;u<a;u+=4)t=de[e.charCodeAt(u)]<<18|de[e.charCodeAt(u+1)]<<12|de[e.charCodeAt(u+2)]<<6|de[e.charCodeAt(u+3)],o[s++]=t>>16&255,o[s++]=t>>8&255,o[s++]=t&255;return i===2&&(t=de[e.charCodeAt(u)]<<2|de[e.charCodeAt(u+1)]>>4,o[s++]=t&255),i===1&&(t=de[e.charCodeAt(u)]<<10|de[e.charCodeAt(u+1)]<<4|de[e.charCodeAt(u+2)]>>2,o[s++]=t>>8&255,o[s++]=t&255),o}function Np(e){return Ye[e>>18&63]+Ye[e>>12&63]+Ye[e>>6&63]+Ye[e&63]}function kp(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(Np(n));return i.join("")}function Dp(e){for(var t,r=e.length,n=r%3,i=[],o=16383,s=0,a=r-n;s<a;s+=o)i.push(kp(e,s,s+o>a?a:s+o));return n===1?(t=e[r-1],i.push(Ye[t>>2]+Ye[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],i.push(Ye[t>>10]+Ye[t>>4&63]+Ye[t<<2&63]+"=")),i.join("")}});var L6=D(_2=>{_2.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)};_2.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 Y6=D(ci=>{"use strict";var R2=P6(),ai=L6(),N6=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;ci.Buffer=E;ci.SlowBuffer=Vp;ci.INSPECT_MAX_BYTES=50;var z1=2147483647;ci.kMaxLength=z1;E.TYPED_ARRAY_SUPPORT=Fp();!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 Fp(){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 gr(e){if(e>z1)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 k2(e)}return U6(e,t,r)}E.poolSize=8192;function U6(e,t,r){if(typeof e=="string")return Op(e,t);if(ArrayBuffer.isView(e))return Mp(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(Ze(e,ArrayBuffer)||e&&Ze(e.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Ze(e,SharedArrayBuffer)||e&&Ze(e.buffer,SharedArrayBuffer)))return L2(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=Kp(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 U6(e,t,r)};Object.setPrototypeOf(E.prototype,Uint8Array.prototype);Object.setPrototypeOf(E,Uint8Array);function O6(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 Up(e,t,r){return O6(e),e<=0?gr(e):t!==void 0?typeof r=="string"?gr(e).fill(t,r):gr(e).fill(t):gr(e)}E.alloc=function(e,t,r){return Up(e,t,r)};function k2(e){return O6(e),gr(e<0?0:D2(e)|0)}E.allocUnsafe=function(e){return k2(e)};E.allocUnsafeSlow=function(e){return k2(e)};function Op(e,t){if((typeof t!="string"||t==="")&&(t="utf8"),!E.isEncoding(t))throw new TypeError("Unknown encoding: "+t);let r=M6(e,t)|0,n=gr(r),i=n.write(e,t);return i!==r&&(n=n.slice(0,i)),n}function P2(e){let t=e.length<0?0:D2(e.length)|0,r=gr(t);for(let n=0;n<t;n+=1)r[n]=e[n]&255;return r}function Mp(e){if(Ze(e,Uint8Array)){let t=new Uint8Array(e);return L2(t.buffer,t.byteOffset,t.byteLength)}return P2(e)}function L2(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 Kp(e){if(E.isBuffer(e)){let t=D2(e.length)|0,r=gr(t);return r.length===0||e.copy(r,0,0,t),r}if(e.length!==void 0)return typeof e.length!="number"||U2(e.length)?gr(0):P2(e);if(e.type==="Buffer"&&Array.isArray(e.data))return P2(e.data)}function D2(e){if(e>=z1)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+z1.toString(16)+" bytes");return e|0}function Vp(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(Ze(t,Uint8Array)&&(t=E.from(t,t.offset,t.byteLength)),Ze(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(Ze(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 M6(e,t){if(E.isBuffer(e))return e.length;if(ArrayBuffer.isView(e)||Ze(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 N2(e).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return W6(e).length;default:if(i)return n?-1:N2(e).length;t=(""+t).toLowerCase(),i=!0}}E.byteLength=M6;function qp(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 jp(this,t,r);case"utf8":case"utf-8":return V6(this,t,r);case"ascii":return Zp(this,t,r);case"latin1":case"binary":return Xp(this,t,r);case"base64":return Wp(this,t,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Jp(this,t,r);default:if(n)throw new TypeError("Unknown encoding: "+e);e=(e+"").toLowerCase(),n=!0}}E.prototype._isBuffer=!0;function yn(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)yn(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)yn(this,r,r+3),yn(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)yn(this,r,r+7),yn(this,r+1,r+6),yn(this,r+2,r+5),yn(this,r+3,r+4);return this};E.prototype.toString=function(){let t=this.length;return t===0?"":arguments.length===0?V6(this,0,t):qp.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=ci.INSPECT_MAX_BYTES;return t=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(t+=" ... "),"<Buffer "+t+">"};N6&&(E.prototype[N6]=E.prototype.inspect);E.prototype.compare=function(t,r,n,i,o){if(Ze(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 K6(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,U2(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:k6(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):k6(e,[t],r,n,i);throw new TypeError("val must be string, number or Buffer")}function k6(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 K6(this,t,r,n,!0)};E.prototype.lastIndexOf=function(t,r,n){return K6(this,t,r,n,!1)};function zp(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(U2(a))return s;e[r+s]=a}return s}function $p(e,t,r,n){return $1(N2(t,e.length-r),e,r,n)}function Hp(e,t,r,n){return $1(nd(t),e,r,n)}function Gp(e,t,r,n){return $1(W6(t),e,r,n)}function Qp(e,t,r,n){return $1(id(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 zp(this,t,r,n);case"utf8":case"utf-8":return $p(this,t,r,n);case"ascii":case"latin1":case"binary":return Hp(this,t,r,n);case"base64":return Gp(this,t,r,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Qp(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 Wp(e,t,r){return t===0&&r===e.length?R2.fromByteArray(e):R2.fromByteArray(e.slice(t,r))}function V6(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 Yp(n)}var D6=4096;function Yp(e){let t=e.length;if(t<=D6)return String.fromCharCode.apply(String,e);let r="",n=0;for(;n<t;)r+=String.fromCharCode.apply(String,e.slice(n,n+=D6));return r}function Zp(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 Xp(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 jp(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+=od[e[o]];return i}function Jp(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=Mr(function(t){t=t>>>0,ui(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&s0(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=Mr(function(t){t=t>>>0,ui(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&s0(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=Mr(function(t){t=t>>>0,ui(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&s0(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=Mr(function(t){t=t>>>0,ui(t,"offset");let r=this[t],n=this[t+7];(r===void 0||n===void 0)&&s0(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),ai.read(this,t,!0,23,4)};E.prototype.readFloatBE=function(t,r){return t=t>>>0,r||Kt(t,4,this.length),ai.read(this,t,!1,23,4)};E.prototype.readDoubleLE=function(t,r){return t=t>>>0,r||Kt(t,8,this.length),ai.read(this,t,!0,52,8)};E.prototype.readDoubleBE=function(t,r){return t=t>>>0,r||Kt(t,8,this.length),ai.read(this,t,!1,52,8)};function Zt(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;Zt(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;Zt(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||Zt(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||Zt(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||Zt(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||Zt(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||Zt(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 q6(e,t,r,n,i){Q6(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 z6(e,t,r,n,i){Q6(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=Mr(function(t,r=0){return q6(this,t,r,BigInt(0),BigInt("0xffffffffffffffff"))});E.prototype.writeBigUInt64BE=Mr(function(t,r=0){return z6(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);Zt(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);Zt(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||Zt(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||Zt(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||Zt(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||Zt(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||Zt(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=Mr(function(t,r=0){return q6(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});E.prototype.writeBigInt64BE=Mr(function(t,r=0){return z6(this,t,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function $6(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 H6(e,t,r,n,i){return t=+t,r=r>>>0,i||$6(e,t,r,4,34028234663852886e22,-34028234663852886e22),ai.write(e,t,r,n,23,4),r+4}E.prototype.writeFloatLE=function(t,r,n){return H6(this,t,r,!0,n)};E.prototype.writeFloatBE=function(t,r,n){return H6(this,t,r,!1,n)};function G6(e,t,r,n,i){return t=+t,r=r>>>0,i||$6(e,t,r,8,17976931348623157e292,-17976931348623157e292),ai.write(e,t,r,n,52,8),r+8}E.prototype.writeDoubleLE=function(t,r,n){return G6(this,t,r,!0,n)};E.prototype.writeDoubleBE=function(t,r,n){return G6(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 si={};function F2(e,t,r){si[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}`}}}F2("ERR_BUFFER_OUT_OF_BOUNDS",function(e){return e?`${e} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError);F2("ERR_INVALID_ARG_TYPE",function(e,t){return`The "${e}" argument must be of type number. Received type ${typeof t}`},TypeError);F2("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=F6(String(r)):typeof r=="bigint"&&(i=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(i=F6(i)),i+="n"),n+=` It must be ${t}. Received ${i}`,n},RangeError);function F6(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 td(e,t,r){ui(t,"offset"),(e[t]===void 0||e[t+r]===void 0)&&s0(t,e.length-(r+1))}function Q6(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 si.ERR_OUT_OF_RANGE("value",a,e)}td(n,i,o)}function ui(e,t){if(typeof e!="number")throw new si.ERR_INVALID_ARG_TYPE(t,"number",e)}function s0(e,t,r){throw Math.floor(e)!==e?(ui(e,r),new si.ERR_OUT_OF_RANGE(r||"offset","an integer",e)):t<0?new si.ERR_BUFFER_OUT_OF_BOUNDS:new si.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${t}`,e)}var ed=/[^+/0-9A-Za-z-_]/g;function rd(e){if(e=e.split("=")[0],e=e.trim().replace(ed,""),e.length<2)return"";for(;e.length%4!==0;)e=e+"=";return e}function N2(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 nd(e){let t=[];for(let r=0;r<e.length;++r)t.push(e.charCodeAt(r)&255);return t}function id(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 W6(e){return R2.toByteArray(rd(e))}function $1(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 Ze(e,t){return e instanceof t||e!=null&&e.constructor!=null&&e.constructor.name!=null&&e.constructor.name===t.name}function U2(e){return e!==e}var od=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 Mr(e){return typeof BigInt>"u"?sd:e}function sd(){throw new Error("BigInt not supported")}});var j6=D((O2,X6)=>{var H1=Y6(),Xe=H1.Buffer;function Z6(e,t){for(var r in e)t[r]=e[r]}Xe.from&&Xe.alloc&&Xe.allocUnsafe&&Xe.allocUnsafeSlow?X6.exports=H1:(Z6(H1,O2),O2.Buffer=gn);function gn(e,t,r){return Xe(e,t,r)}gn.prototype=Object.create(Xe.prototype);Z6(Xe,gn);gn.from=function(e,t,r){if(typeof e=="number")throw new TypeError("Argument must not be a number");return Xe(e,t,r)};gn.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError("Argument must be a number");var n=Xe(e);return t!==void 0?typeof r=="string"?n.fill(t,r):n.fill(t):n.fill(0),n};gn.allocUnsafe=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return Xe(e)};gn.allocUnsafeSlow=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return H1.SlowBuffer(e)}});var J6=D((US,K2)=>{"use strict";var M2=65536,ad=4294967295;function ud(){throw new Error(`Secure random number generation is not supported by this browser.
|
|
16
|
+
Use Chrome, Firefox or Internet Explorer 11`)}var cd=j6().Buffer,G1=globalThis.crypto||globalThis.msCrypto;G1&&G1.getRandomValues?K2.exports=fd:K2.exports=ud;function fd(e,t){if(e>ad)throw new RangeError("requested too many random bytes");var r=cd.allocUnsafe(e);if(e>0)if(e>M2)for(var n=0;n<e;n+=M2)G1.getRandomValues(r.slice(n,n+M2));else G1.getRandomValues(r);return typeof t=="function"?process.nextTick(function(){t(null,r)}):r}});var r8=D((OS,e8)=>{"use strict";var ld=J6(),{EventEmitter:hd}=U1();function t8(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 V2(){return{contacts:[],dontSplit:!1,left:null,right:null}}function a0(e,t){if(!(t instanceof Uint8Array))throw new TypeError(e+" is not a Uint8Array")}var fi=class extends hd{constructor(t={}){super(),this.localNodeId=t.localNodeId||ld(20),this.numberOfNodesPerKBucket=t.numberOfNodesPerKBucket||20,this.numberOfNodesToPing=t.numberOfNodesToPing||3,this.distance=t.distance||fi.distance,this.arbiter=t.arbiter||fi.arbiter,this.metadata=Object.assign({},t.metadata),a0("option.localNodeId as parameter 1",this.localNodeId),this.root=V2()}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){a0("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(a0("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){a0("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(t8(t.contacts[n].id,r))return n;return-1}remove(t){a0("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=V2(),t.right=V2();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(!t8(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))}};e8.exports=fi});var Id={};Nt(Id,{DHTContentRouting:()=>io,DHTPeerRouting:()=>oo,kadDHT:()=>Sd});var Q2=Symbol.for("@libp2p/content-routing");var W2=Symbol.for("@libp2p/peer-discovery"),h0=Symbol.for("@libp2p/peer-discovery");var Y2=Symbol.for("@libp2p/peer-routing");var Kr=class extends Error{constructor(t="The operation was aborted"){super(t),this.code=Kr.code,this.type=Kr.type}static get code(){return"ABORT_ERR"}static get type(){return"aborted"}},C=class extends Error{constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};function g8(e){return e[Symbol.asyncIterator]!=null}function m8(e){if(g8(e))return(async()=>{for await(let t of e);})();for(let t of e);}var hi=m8;var Vr=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)},je,ae=class extends EventTarget{constructor(){super(...arguments),je.set(this,new Map)}listenerCount(t){let r=Vr(this,je,"f").get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=Vr(this,je,"f").get(t);i==null&&(i=[],Vr(this,je,"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=Vr(this,je,"f").get(t);i!=null&&(i=i.filter(({callback:o})=>o!==r),Vr(this,je,"f").set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=Vr(this,je,"f").get(t.type);return n==null||(n=n.filter(({once:i})=>!i),Vr(this,je,"f").set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new jt(t,r))}};je=new WeakMap;var fo=class extends Event{constructor(t,r){super(t,r),this.detail=r?.detail}},jt=globalThis.CustomEvent??fo;var ue=$(ta(),1);var go={};Nt(go,{base58btc:()=>St,base58flickr:()=>D8});function R8(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,x=h.length;m!==x&&h[m]===0;)m++,y++;for(var S=(x-m)*f+1>>>0,N=new Uint8Array(S);m!==x;){for(var _=h[m],T=0,q=S-1;(_!==0||T<g)&&q!==-1;q--,T++)_+=256*N[q]>>>0,N[q]=_%a>>>0,_=_/a>>>0;if(_!==0)throw new Error("Non-zero carry");g=T,m++}for(var G=S-g;G!==S&&N[G]===0;)G++;for(var Lt=u.repeat(y);G<S;++G)Lt+=e.charAt(N[G]);return Lt}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 x=(h.length-y)*c+1>>>0,S=new Uint8Array(x);h[y];){var N=r[h.charCodeAt(y)];if(N===255)return;for(var _=0,T=x-1;(N!==0||_<m)&&T!==-1;T--,_++)N+=a*S[T]>>>0,S[T]=N%256>>>0,N=N/256>>>0;if(N!==0)throw new Error("Non-zero carry");m=_,y++}if(h[y]!==" "){for(var q=x-m;q!==x&&S[q]===0;)q++;for(var G=new Uint8Array(g+(x-q)),Lt=g;q!==x;)G[Lt++]=S[q++];return G}}}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 P8=R8,L8=P8,ea=L8;var Dd=new Uint8Array(0);var ra=(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),ia=e=>new TextDecoder().decode(e);var lo=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")}},ho=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 sa(this,t)}},po=class{constructor(t){this.decoders=t}or(t){return sa(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`)}},sa=(e,t)=>new po({...e.decoders||{[e.prefix]:e},...t.decoders||{[t.prefix]:t}}),yo=class{constructor(t,r,n,i){this.name=t,this.prefix=r,this.baseEncode=n,this.baseDecode=i,this.encoder=new lo(t,r,n),this.decoder=new ho(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 yo(e,t,r,n),mr=({prefix:e,name:t,alphabet:r})=>{let{encode:n,decode:i}=ea(r,t);return bn({prefix:e,name:t,encode:n,decode:o=>Je(i(o))})},N8=(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},k8=(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 k8(i,n,r)},decode(i){return N8(i,n,r,e)}});var St=mr({name:"base58btc",prefix:"z",alphabet:"123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"}),D8=mr({name:"base58flickr",prefix:"Z",alphabet:"123456789abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNPQRSTUVWXYZ"});var mo={};Nt(mo,{base32:()=>ge,base32hex:()=>M8,base32hexpad:()=>V8,base32hexpadupper:()=>q8,base32hexupper:()=>K8,base32pad:()=>U8,base32padupper:()=>O8,base32upper:()=>F8,base32z:()=>z8});var ge=wt({prefix:"b",name:"base32",alphabet:"abcdefghijklmnopqrstuvwxyz234567",bitsPerChar:5}),F8=wt({prefix:"B",name:"base32upper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",bitsPerChar:5}),U8=wt({prefix:"c",name:"base32pad",alphabet:"abcdefghijklmnopqrstuvwxyz234567=",bitsPerChar:5}),O8=wt({prefix:"C",name:"base32padupper",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZ234567=",bitsPerChar:5}),M8=wt({prefix:"v",name:"base32hex",alphabet:"0123456789abcdefghijklmnopqrstuv",bitsPerChar:5}),K8=wt({prefix:"V",name:"base32hexupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV",bitsPerChar:5}),V8=wt({prefix:"t",name:"base32hexpad",alphabet:"0123456789abcdefghijklmnopqrstuv=",bitsPerChar:5}),q8=wt({prefix:"T",name:"base32hexpadupper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUV=",bitsPerChar:5}),z8=wt({prefix:"h",name:"base32z",alphabet:"ybndrfg8ejkmcpqxot1uwisza345h769",bitsPerChar:5});var xo={};Nt(xo,{base64:()=>zr,base64pad:()=>$8,base64url:()=>H8,base64urlpad:()=>G8});var zr=wt({prefix:"m",name:"base64",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",bitsPerChar:6}),$8=wt({prefix:"M",name:"base64pad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",bitsPerChar:6}),H8=wt({prefix:"u",name:"base64url",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",bitsPerChar:6}),G8=wt({prefix:"U",name:"base64urlpad",alphabet:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_=",bitsPerChar:6});ue.default.formatters.b=e=>e==null?"undefined":St.baseEncode(e);ue.default.formatters.t=e=>e==null?"undefined":ge.baseEncode(e);ue.default.formatters.m=e=>e==null?"undefined":zr.baseEncode(e);ue.default.formatters.p=e=>e==null?"undefined":e.toString();ue.default.formatters.c=e=>e==null?"undefined":e.toString();ue.default.formatters.k=e=>e==null?"undefined":e.toString();function Q8(e){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=e,t.destroy=()=>!0,t.extend=()=>t,t}function z(e){let t=Q8(`${e}:trace`);return ue.default.enabled(`${e}:trace`)&&ue.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(t=(0,ue.default)(`${e}:trace`)),Object.assign((0,ue.default)(e),{error:(0,ue.default)(`${e}:error`),trace:t})}var y0=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}},En=class{constructor(t={}){this.hwm=t.splitLimit??16,this.head=new y0(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 y0(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 g0(e={}){return W8(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 W8(e,t){t=t??{};let r=t.onEnd,n=new En,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(x){g(x)}return i}}):e(n),u=y=>o!=null?o(y):(n.push(y),i),c=y=>(n=new En,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 En,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}function Y8(e){return e[Symbol.asyncIterator]!=null}function Z8(...e){let t=[];for(let r of e)Y8(r)||t.push(r);return t.length===e.length?function*(){for(let r of t)yield*r}():async function*(){let r=g0({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var me=Z8;var X8=ca,aa=128,j8=127,J8=~j8,tc=Math.pow(2,31);function ca(e,t,r){t=t||[],r=r||0;for(var n=r;e>=tc;)t[r++]=e&255|aa,e/=128;for(;e&J8;)t[r++]=e&255|aa,e>>>=7;return t[r]=e|0,ca.bytes=r-n+1,t}var ec=vo,rc=128,ua=127;function vo(e,n){var r=0,n=n||0,i=0,o=n,s,a=e.length;do{if(o>=a)throw vo.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>=rc);return vo.bytes=o-n,r}var nc=Math.pow(2,7),ic=Math.pow(2,14),oc=Math.pow(2,21),sc=Math.pow(2,28),ac=Math.pow(2,35),uc=Math.pow(2,42),cc=Math.pow(2,49),fc=Math.pow(2,56),lc=Math.pow(2,63),hc=function(e){return e<nc?1:e<ic?2:e<oc?3:e<sc?4:e<ac?5:e<uc?6:e<cc?7:e<fc?8:e<lc?9:10},pc={encode:X8,decode:ec,encodingLength:hc},dc=pc,pi=dc;var di=(e,t=0)=>[pi.decode(e,t),pi.decode.bytes],Sn=(e,t,r=0)=>(pi.encode(e,t,r),t),In=e=>pi.encodingLength(e);var Pe=(e,t)=>{let r=t.byteLength,n=In(e),i=n+In(r),o=new Uint8Array(i+r);return Sn(e,o,0),Sn(r,o,n),o.set(t,i),new An(e,r,t,o)},$r=e=>{let t=Je(e),[r,n]=di(t),[i,o]=di(t.subarray(n)),s=t.subarray(n+o);if(s.byteLength!==i)throw new Error("Incorrect length");return new An(r,i,s,t)},fa=(e,t)=>{if(e===t)return!0;{let r=t;return e.code===r.code&&e.size===r.size&&r.bytes instanceof Uint8Array&&ra(e.bytes,r.bytes)}},An=class{constructor(t,r,n,i){this.code=t,this.size=r,this.digest=n,this.bytes=i}};var la=(e,t)=>{let{bytes:r,version:n}=e;switch(n){case 0:return gc(r,wo(e),t||St.encoder);default:return mc(r,wo(e),t||ge.encoder)}};var ha=new WeakMap,wo=e=>{let t=ha.get(e);if(t==null){let r=new Map;return ha.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!==yi)throw new Error("Cannot convert a non dag-pb CID to CIDv0");if(r.code!==xc)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=Pe(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&&fa(t.multihash,n.multihash)}toString(t){return la(this,t)}toJSON(){return{"/":la(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||pa(n,i,o.bytes))}else if(r[vc]===!0){let{version:n,multihash:i,code:o}=r,s=$r(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!==yi)throw new Error(`Version 0 CID must use dag-pb (code: ${yi}) block encoding`);return new tt(t,r,n,n.bytes)}case 1:{let i=pa(t,r,n.bytes);return new tt(t,r,n,i)}default:throw new Error("Invalid version")}}static createV0(t){return tt.create(0,yi,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 An(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]=di(t.subarray(r));return r+=d,l},i=n(),o=yi;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]=yc(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 wo(o).set(n,t),o}},yc=(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 ge.prefix:{let r=t||ge;return[ge.prefix,r.decode(e)]}default:{if(t==null)throw Error("To parse non base32 or base58btc encoded CID multibase decoder must be provided");return[e[0],t.decode(e)]}}},gc=(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},mc=(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},yi=112,xc=18,pa=(e,t,r)=>{let n=In(e),i=n+In(t),o=new Uint8Array(i+r.byteLength);return Sn(e,o,0),Sn(t,o,n),o.set(r,i),o},vc=Symbol.for("@ipld/js-cid/CID");var bo={};Nt(bo,{identity:()=>wc});var wc=bn({prefix:"\0",name:"identity",encode:e=>ia(e),decode:e=>na(e)});var Eo={};Nt(Eo,{base2:()=>bc});var bc=wt({prefix:"0",name:"base2",alphabet:"01",bitsPerChar:1});var So={};Nt(So,{base8:()=>Ec});var Ec=wt({prefix:"7",name:"base8",alphabet:"01234567",bitsPerChar:3});var Io={};Nt(Io,{base10:()=>Sc});var Sc=mr({prefix:"9",name:"base10",alphabet:"0123456789"});var Ao={};Nt(Ao,{base16:()=>Ic,base16upper:()=>Ac});var Ic=wt({prefix:"f",name:"base16",alphabet:"0123456789abcdef",bitsPerChar:4}),Ac=wt({prefix:"F",name:"base16upper",alphabet:"0123456789ABCDEF",bitsPerChar:4});var Bo={};Nt(Bo,{base36:()=>Bc,base36upper:()=>Cc});var Bc=mr({prefix:"k",name:"base36",alphabet:"0123456789abcdefghijklmnopqrstuvwxyz"}),Cc=mr({prefix:"K",name:"base36upper",alphabet:"0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"});var Co={};Nt(Co,{base256emoji:()=>Lc});var da=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}"),Tc=da.reduce((e,t,r)=>(e[r]=t,e),[]),_c=da.reduce((e,t,r)=>(e[t.codePointAt(0)]=r,e),[]);function Rc(e){return e.reduce((t,r)=>(t+=Tc[r],t),"")}function Pc(e){let t=[];for(let r of e){let n=_c[r.codePointAt(0)];if(n===void 0)throw new Error(`Non-base256emoji character: ${r}`);t.push(n)}return new Uint8Array(t)}var Lc=bn({prefix:"\u{1F680}",name:"base256emoji",encode:Rc,decode:Pc});var Ro={};Nt(Ro,{sha256:()=>mt,sha512:()=>Nc});var _o=({name:e,code:t,encode:r})=>new To(e,t,r),To=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 ga=e=>async t=>new Uint8Array(await crypto.subtle.digest(e,t)),mt=_o({name:"sha2-256",code:18,encode:ga("SHA-256")}),Nc=_o({name:"sha2-512",code:19,encode:ga("SHA-512")});var Po={};Nt(Po,{identity:()=>xr});var ma=0,kc="identity",xa=Je,Dc=e=>Pe(ma,xa(e)),xr={code:ma,name:kc,encode:xa,digest:Dc};var gy=new TextEncoder,my=new TextDecoder;var vr={...bo,...Eo,...So,...Io,...Ao,...mo,...Bo,...go,...xo,...Co},Ey={...Ro,...Po};function st(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 va=Symbol.for("@libp2p/peer-id");var Oc=Symbol.for("nodejs.util.inspect.custom"),wa=Object.values(vr).map(e=>e.decoder).reduce((e,t)=>e.or(t),vr.identity.decoder),ba=114,Lo=36,No=37,gi=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[va](){return!0}toString(){return this.string==null&&(this.string=St.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return tt.createV1(ba,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return st(this.multihash.bytes,t);if(typeof t=="string")return bt(t).equals(this);if(t?.multihash?.bytes!=null)return st(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Oc](){return`PeerId(${this.toString()})`}},Bn=class extends gi{constructor(t){super({...t,type:"RSA"}),this.type="RSA",this.publicKey=t.publicKey}},Cn=class extends gi{constructor(t){super({...t,type:"Ed25519"}),this.type="Ed25519",this.publicKey=t.multihash.digest}},Tn=class extends gi{constructor(t){super({...t,type:"secp256k1"}),this.type="secp256k1",this.publicKey=t.multihash.digest}};function bt(e,t){if(t=t??wa,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=$r(St.decode(`z${e}`));return e.startsWith("12D")?new Cn({multihash:r}):e.startsWith("16U")?new Tn({multihash:r}):new Bn({multihash:r})}return Gr(wa.decode(e))}function Gr(e){try{let t=$r(e);if(t.code===xr.code){if(t.digest.length===Lo)return new Cn({multihash:t});if(t.digest.length===No)return new Tn({multihash:t})}if(t.code===mt.code)return new Bn({multihash:t})}catch{return Mc(tt.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function Mc(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==ba)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===mt.code)return new Bn({multihash:e.multihash});if(t.code===xr.code){if(t.digest.length===Lo)return new Cn({multihash:e.multihash});if(t.digest.length===No)return new Tn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function Ea(e,t){return e.length===Lo?new Cn({multihash:Pe(xr.code,e),privateKey:t}):e.length===No?new Tn({multihash:Pe(xr.code,e),privateKey:t}):new Bn({multihash:await mt.digest(e),publicKey:e,privateKey:t})}var Go=$(Oo(),1),c3=$(e3(),1),f3=$(Wr(),1),Qo=$(Ho(),1),l3=$(u3(),1);function Wc(){f3.default._configure(),Go.default._configure(c3.default),Qo.default._configure(l3.default)}Wc();var h3=["uint64","int64","sint64","fixed64","sfixed64"];function Yc(e){for(let t of h3){if(e[t]==null)continue;let r=e[t];e[t]=function(){return BigInt(r.call(this).toString())}}return e}function Wo(e){return Yc(new Go.default(e))}function Zc(e){for(let t of h3){if(e[t]==null)continue;let r=e[t];e[t]=function(n){return r.call(this,n.toString())}}return e}function Yo(){return Zc(Qo.default.create())}function ke(e,t){let r=Wo(e instanceof Uint8Array?e:e.subarray());return t.decode(r)}function De(e,t){let r=Yo();return t.encode(e,r,{lengthDelimited:!1}),r.finish()}var Rn;(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"})(Rn||(Rn={}));function E0(e,t,r,n){return{name:e,type:t,encode:r,decode:n}}function Pn(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 E0("enum",Rn.VARINT,r,n)}function Fe(e,t){return E0("message",Rn.LENGTH_DELIMITED,e,t)}var vi;(function(e){let t;e.codec=()=>(t==null&&(t=Fe((r,n,i={})=>{i.lengthDelimited!==!1&&n.fork(),r.key!=null&&r.key.byteLength>0&&(n.uint32(10),n.bytes(r.key)),r.value!=null&&r.value.byteLength>0&&(n.uint32(18),n.bytes(r.value)),r.timeReceived!=null&&r.timeReceived!==""&&(n.uint32(42),n.string(r.timeReceived)),i.lengthDelimited!==!1&&n.ldelim()},(r,n)=>{let i={key:new Uint8Array(0),value:new Uint8Array(0),timeReceived:""},o=n==null?r.len:r.pos+n;for(;r.pos<o;){let s=r.uint32();switch(s>>>3){case 1:i.key=r.bytes();break;case 2:i.value=r.bytes();break;case 5:i.timeReceived=r.string();break;default:r.skipType(s&7);break}}return i})),t),e.encode=r=>De(r,e.codec()),e.decode=r=>ke(r,e.codec())})(vi||(vi={}));function p3(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 d3(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 Rt=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 vi.encode(this.prepareSerialize())}prepareSerialize(){return{key:this.key,value:this.value,timeReceived:p3(this.timeReceived)}}static deserialize(t){let r=vi.decode(t);return new Rt(r.key,r.value,new Date(r.timeReceived))}static fromDeserialized(t){let r=d3(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 Rt(t.key,t.value,r)}};var S0=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 y3=45,jc=15,Ln=new S0;function Zo(e){if(!(e.length>jc))return Ln.new(e).parseWith(()=>Ln.readIPv4Addr())}function Xo(e){if(!(e.length>y3))return Ln.new(e).parseWith(()=>Ln.readIPv6Addr())}function I0(e){if(!(e.length>y3))return Ln.new(e).parseWith(()=>Ln.readIPAddr())}function g3(e){return!!Zo(e)}function m3(e){return!!Xo(e)}function Nn(e){return!!I0(e)}function tr(e){return globalThis.Buffer!=null?new Uint8Array(e.buffer,e.byteOffset,e.byteLength):e}function er(e=0){return globalThis.Buffer?.alloc!=null?tr(globalThis.Buffer.alloc(e)):new Uint8Array(e)}function te(e=0){return globalThis.Buffer?.allocUnsafe!=null?tr(globalThis.Buffer.allocUnsafe(e)):new Uint8Array(e)}function v3(e,t,r,n){return{name:e,prefix:t,encoder:{name:e,prefix:t,encode:r},decoder:{decode:n}}}var x3=v3("utf8","u",e=>"u"+new TextDecoder("utf8").decode(e),e=>new TextEncoder().encode(e.substring(1))),jo=v3("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=te(e.length);for(let r=0;r<e.length;r++)t[r]=e.charCodeAt(r);return t}),Jc={utf8:x3,"utf-8":x3,hex:vr.base16,latin1:jo,ascii:jo,binary:jo,...vr},A0=Jc;function M(e,t="utf8"){let r=A0[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?globalThis.Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString("utf8"):r.encoder.encode(e).substring(1)}var w3=g3,tf=m3,Jo=function(e){let t=0;if(e=e.toString().trim(),w3(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(tf(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=w3(r[n]),s;o&&(s=Jo(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")},b3=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 wi={},ts={},rf=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];rf.forEach(e=>{let t=nf(...e);ts[t.code]=t,wi[t.name]=t});function nf(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function it(e){if(typeof e=="number"){if(ts[e]!=null)return ts[e];throw new Error(`no protocol with code: ${e}`)}else if(typeof e=="string"){if(wi[e]!=null)return wi[e];throw new Error(`no protocol with name: ${e}`)}throw new Error(`invalid protocol id type: ${typeof e}`)}var Ue=$(bi(),1);function xt(e,t="utf8"){let r=A0[t];if(r==null)throw new Error(`Unsupported encoding "${t}"`);return(t==="utf8"||t==="utf-8")&&globalThis.Buffer!=null&&globalThis.Buffer.from!=null?tr(globalThis.Buffer.from(e,"utf-8")):r.decoder.decode(`${r.prefix}${e}`)}function ut(e,t){t==null&&(t=e.reduce((i,o)=>i+o.length,0));let r=te(t),n=0;for(let i of e)r.set(i,n),n+=i.length;return tr(r)}var Gg=parseInt("0xFFFF",16),Qg=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var Im=it("ip4"),Am=it("ip6"),Bm=it("ipcidr");function U3(e,t){switch(it(e).code){case 4:case 41:return Sf(t);case 42:return D3(t);case 6:case 273:case 33:case 132:return M3(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return D3(t);case 421:return Cf(t);case 444:return F3(t);case 445:return F3(t);case 466:return Bf(t);default:return M(t,"base16")}}function O3(e,t){switch(it(e).code){case 4:return N3(t);case 41:return N3(t);case 42:return k3(t);case 6:case 273:case 33:case 132:return is(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return k3(t);case 421:return If(t);case 444:return Tf(t);case 445:return _f(t);case 466:return Af(t);default:return xt(t,"base16")}}var ns=Object.values(vr).map(e=>e.decoder),Ef=function(){let e=ns[0].or(ns[1]);return ns.slice(2).forEach(t=>e=e.or(t)),e}();function N3(e){if(!Nn(e))throw new Error("invalid ip address");return Jo(e)}function Sf(e){let t=b3(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!Nn(t))throw new Error("invalid ip address");return t}function is(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function M3(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function k3(e){let t=xt(e),r=Uint8Array.from(Ue.default.encode(t.length));return ut([r,t],r.length+t.length)}function D3(e){let t=Ue.default.decode(e);if(e=e.slice(Ue.default.decode.bytes),e.length!==t)throw new Error("inconsistent lengths");return M(e)}function If(e){let t;e[0]==="Q"||e[0]==="1"?t=$r(St.decode(`z${e}`)).bytes:t=tt.parse(e).multihash.bytes;let r=Uint8Array.from(Ue.default.encode(t.length));return ut([r,t],r.length+t.length)}function Af(e){let t=Ef.decode(e),r=Uint8Array.from(Ue.default.encode(t.length));return ut([r,t],r.length+t.length)}function Bf(e){let t=Ue.default.decode(e),r=e.slice(Ue.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return"u"+M(r,"base64url")}function Cf(e){let t=Ue.default.decode(e),r=e.slice(Ue.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return M(r,"base58btc")}function Tf(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=ge.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=is(n);return ut([r,i],r.length+i.length)}function _f(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=ge.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=is(n);return ut([r,i],r.length+i.length)}function F3(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=M(t,"base32"),i=M3(r);return`${n}:${i}`}var kn=$(bi(),1);function Rf(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=it(i);if(o.size===0){t.push([i]);continue}if(n++,n>=r.length)throw V3("invalid address: "+e);if(o.path===!0){t.push([i,cs(r.slice(n).join("/"))]);break}t.push([i,r[n]])}return t}function Pf(e){let t=[];return e.map(r=>{let n=T0(r);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),cs(t.join("/"))}function Lf(e){return e.map(t=>{Array.isArray(t)||(t=[t]);let r=T0(t);return t.length>1?[r.code,O3(r.code,t[1])]:[r.code]})}function os(e){return e.map(t=>{let r=T0(t);return t[1]!=null?[r.code,U3(r.code,t[1])]:[r.code]})}function ss(e){return C0(ut(e.map(t=>{let r=T0(t),n=Uint8Array.from(kn.default.encode(r.code));return t.length>1&&t[1]!=null&&(n=ut([n,t[1]])),n})))}function as(e,t){return e.size>0?e.size/8:e.size===0?0:kn.default.decode(t)+(kn.default.decode.bytes??0)}function B0(e){let t=[],r=0;for(;r<e.length;){let n=kn.default.decode(e,r),i=kn.default.decode.bytes??0,o=it(n),s=as(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 V3("Invalid address Uint8Array: "+M(e,"base16"));t.push([n,a])}return t}function us(e){let t=B0(e),r=os(t);return Pf(r)}function Nf(e){e=cs(e);let t=Rf(e),r=Lf(t);return ss(r)}function K3(e){return Nf(e)}function C0(e){let t=kf(e);if(t!=null)throw t;return Uint8Array.from(e)}function kf(e){try{B0(e)}catch(t){return t}}function cs(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function V3(e){return new Error("Error parsing address: "+e)}function T0(e){return it(e[0])}var ls=$(bi(),1);var rr=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)},Dn=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},Ei,Si,Ii,Er,q3,Ff=Symbol.for("nodejs.util.inspect.custom"),Uf=[it("dns").code,it("dns4").code,it("dns6").code,it("dnsaddr").code],Of=new Map,z3=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Mf(e){return!!e?.[z3]}var nr=class{constructor(t){if(Ei.set(this,void 0),Si.set(this,void 0),Ii.set(this,void 0),Er.set(this,void 0),this[q3]=!0,t==null&&(t=""),t instanceof Uint8Array)this.bytes=C0(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);this.bytes=K3(t)}else if(Mf(t))this.bytes=C0(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return rr(this,Ei,"f")==null&&Dn(this,Ei,us(this.bytes),"f"),rr(this,Ei,"f")}toJSON(){return this.toString()}toOptions(){let t,r,n,i,o="",s=it("tcp"),a=it("udp"),u=it("ip4"),c=it("ip6"),f=it("dns6"),l=it("ip6zone");for(let[p,h]of this.stringTuples())p===l.code&&(o=`%${h??""}`),Uf.includes(p)&&(r=s.name,i=443,n=`${h??""}${o}`,t=p===f.code?6:4),(p===s.code||p===a.code)&&(r=it(p).name,i=parseInt(h??"")),(p===u.code||p===c.code)&&(r=it(p).name,n=`${h??""}${o}`,t=p===c.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({},it(t)))}protoCodes(){let t=[],r=this.bytes,n=0;for(;n<r.length;){let i=ls.default.decode(r,n),o=ls.default.decode.bytes??0,s=it(i),a=as(s,r.slice(n+o));n+=a+o,t.push(i)}return t}protoNames(){return this.protos().map(t=>t.name)}tuples(){return rr(this,Si,"f")==null&&Dn(this,Si,B0(this.bytes),"f"),rr(this,Si,"f")}stringTuples(){return rr(this,Ii,"f")==null&&Dn(this,Ii,os(this.tuples()),"f"),rr(this,Ii,"f")}encapsulate(t){return t=new nr(t),new nr(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 nr(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 nr(ss(r.slice(0,n)));return this}getPeerId(){try{let r=this.stringTuples().filter(n=>n[0]===wi.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(){if(rr(this,Er,"f")===void 0)try{Dn(this,Er,this.stringTuples().filter(t=>it(t[0]).path===!0)[0][1],"f"),rr(this,Er,"f")==null&&Dn(this,Er,null,"f")}catch{Dn(this,Er,null,"f")}return rr(this,Er,"f")}equals(t){return st(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=Of.get(r.name);if(n==null)throw new C(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(o=>new nr(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)}[(Ei=new WeakMap,Si=new WeakMap,Ii=new WeakMap,Er=new WeakMap,q3=z3,Ff)](){return`Multiaddr(${us(this.bytes)})`}};function fs(e){return new nr(e)}var $3;(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())})($3||($3={}));var Sr;(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=()=>Pn(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=()=>Pn(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);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);if(a.providerPeers!=null)for(let f of a.providerPeers)u.uint32(74),e.Peer.codec().encode(f,u);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())})(Sr||(Sr={}));var At=Sr.MessageType,Kf=Sr.ConnectionType,Q3=Object.keys(At),dt=class{type;key;clusterLevelRaw;closerPeers;providerPeers;record;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 Sr.encode({key:this.key,type:this.type,clusterLevelRaw:this.clusterLevelRaw,closerPeers:this.closerPeers.map(H3),providerPeers:this.providerPeers.map(H3),record:this.record==null?void 0:this.record.serialize().subarray()})}static deserialize(t){let r=Sr.decode(t),n=new dt(r.type??Sr.MessageType.PUT_VALUE,r.key??Uint8Array.from([]),r.clusterLevelRaw??0);return n.closerPeers=r.closerPeers.map(G3),n.providerPeers=r.providerPeers.map(G3),r.record?.length!=null&&(n.record=Rt.deserialize(r.record)),n}};function H3(e){return{id:e.id.toBytes(),addrs:(e.multiaddrs??[]).map(r=>r.bytes),connection:Kf.CONNECTED}}function G3(e){if(e.id==null)throw new Error("Invalid peer in message");return{id:Gr(e.id),multiaddrs:(e.addrs??[]).map(t=>fs(t)),protocols:[]}}function hs(e){return{...e,name:"SENDING_QUERY",type:0,messageName:e.type,messageType:Q3.indexOf(e.type.toString())}}function Ai(e){return{...e,name:"PEER_RESPONSE",type:1,messageName:e.messageType,closer:e.closer!=null?e.closer:[],providers:e.providers!=null?e.providers:[]}}function Bi(e){return{...e,name:"FINAL_PEER",type:2}}function zt(e){return{...e,name:"QUERY_ERROR",type:3}}function ps(e){return{...e,name:"PROVIDER",type:4}}function Ci(e){return{...e,name:"VALUE",type:5}}function ds(e){return{...e,name:"DIALING_PEER",type:7}}var Vf=z("libp2p:kad-dht"),_0=class extends ae{wan;lan;components;constructor(t,r,n){super(),this.components=t,this.wan=r,this.lan=n,this.wan.addEventListener("peer",i=>{this.dispatchEvent(new jt("peer",{detail:i.detail}))}),this.lan.addEventListener("peer",i=>{this.dispatchEvent(new jt("peer",{detail:i.detail}))})}[h0]=!0;[Symbol.toStringTag]="@libp2p/dual-kad-dht";isStarted(){return this.wan.isStarted()&&this.lan.isStarted()}async getMode(){return 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 me(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 me(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 C("No peers found in routing table!","ERR_NO_PEERS_IN_ROUTING_TABLE");i||(yield zt({from:this.components.peerId,error:new C("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 me(...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"&&(Vf("sent provider record for %s to %p",t,a.from),i++);if(i===0)throw o.length>0?new C(`Failed to provide to ${o.length} of ${n} peers`,"ERR_PROVIDES_FAILED",{errors:o}):new C("Failed to provide - no peers found","ERR_PROVIDES_FAILED")}async*findProviders(t,r={}){yield*me(this.lan.findProviders(t,r),this.wan.findProviders(t,r))}async*findPeer(t,r={}){let n=!1;for await(let i of me(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 C("Peer lookup failed","ERR_LOOKUP_FAILED")}async*getClosestPeers(t,r={}){yield*me(this.lan.getClosestPeers(t,r),this.wan.getClosestPeers(t,r))}async refreshRoutingTable(){await Promise.all([this.lan.refreshRoutingTable(),this.wan.refreshRoutingTable()])}};function W3(e,t,r){if(r.length===0){let s="No records given";throw new C(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 new C(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 new C(s,"ERR_UNRECOGNIZED_KEY_PREFIX")}return r.length===1?0:o(t,r)}function qf(e,t){return 0}var Y3={pk:qf};async function Fn(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 new C(s,"ERR_INVALID_RECORD_KEY_TYPE")}await o(r,t.value)}var zf=async(e,t)=>{if(!(e instanceof Uint8Array))throw new C('"key" must be a Uint8Array',"ERR_INVALID_RECORD_KEY_NOT_BUFFER");if(e.byteLength<5)throw new C("invalid public key record","ERR_INVALID_RECORD_KEY_TOO_SHORT");if(M(e.subarray(0,4))!=="/pk/")throw new C("key was not prefixed with /pk/","ERR_INVALID_RECORD_KEY_BAD_PREFIX");let n=e.slice(4),i=await mt.digest(t);if(!st(n,i.bytes))throw new C("public key does not match passed in key","ERR_INVALID_RECORD_HASH_MISMATCH")},Z3={pk:zf};function we(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var X3="/lan",j3="/ipfs",J3="/kad/1.0.0",t4="/dht/record",ys="/dht/provider";function $f(e){let[t,r]=e[Symbol.asyncIterator]!=null?[e[Symbol.asyncIterator](),Symbol.asyncIterator]:[e[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>t.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:t.next(),[r](){return this}}}var e4=$f;function Hf(e){return e[Symbol.asyncIterator]!=null}function Gf(e,t){if(Hf(e))return async function*(){for await(let a of e)yield t(a)}();let r=e4(e),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=t(n);if(typeof o.then=="function")return async function*(){yield await o;for await(let a of r)yield t(a)}();let s=t;return function*(){yield o;for(let a of r)yield s(a)}()}var R0=Gf;var P0=globalThis.CustomEvent??Event;async function*Ti(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=we(),a=we(),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=we(),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 P0("task-complete"))},g=>{y.done=!0,y.err=g,i.dispatchEvent(new P0("task-complete"))})}u=!0,i.dispatchEvent(new P0("task-complete"))}catch(h){c=h,i.dispatchEvent(new P0("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=we(),await a.promise),c!=null)throw c;if(n?yield*d():yield*p(),u&&o.length===0)break}}function be(e,...t){if(e==null)throw new Error("Empty pipeline");if(gs(e)){let n=e;e=()=>n.source}else if(n4(e)||r4(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&gs(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++)gs(r[n])&&(r[n]=Wf(r[n]));return Qf(...r)}var Qf=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},r4=e=>e?.[Symbol.asyncIterator]!=null,n4=e=>e?.[Symbol.iterator]!=null,gs=e=>e==null?!1:e.sink!=null&&e.source!=null,Wf=e=>t=>{let r=e.sink(t);if(r?.then!=null){let n=g0({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=e.source;if(r4(o))i=async function*(){yield*o,n.end()};else if(n4(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return me(n,i())}return e.source};var i4=(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 ir="/",o4=new TextEncoder().encode(ir),L0=o4[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]!==L0)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(ir))}static random(){return new Dt(i4().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=o4),this._buf[0]!==L0){let t=new Uint8Array(this._buf.byteLength+1);t.fill(L0,0,1),t.set(this._buf,1),this._buf=t}for(;this._buf.byteLength>1&&this._buf[this._buf.byteLength-1]===L0;)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(ir).slice(1)}type(){return Yf(this.baseNamespace())}name(){return Zf(this.baseNamespace())}instance(t){return new Dt(this.toString()+":"+t)}path(){let t=this.parent().toString();return t.endsWith(ir)||(t+=ir),t+=this.type(),new Dt(t)}parent(){let t=this.list();return t.length===1?new Dt(ir):new Dt(t.slice(0,-1).join(ir))}child(t){return this.toString()===ir?t:t.toString()===ir?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(),...Xf(t.map(r=>r.namespaces()))])}};function Yf(e){let t=e.split(":");return t.length<2?"":t.slice(0,-1).join(":")}function Zf(e){let t=e.split(":");return t[t.length-1]}function Xf(e){return[].concat(...e)}var h4=$(s4(),1);var a4="[a-fA-F\\d:]",Ir=e=>e&&e.includeBoundaries?`(?:(?<=\\s|^)(?=${a4})|(?<=${a4})(?=\\s|$))`:"",Ee="(?: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}",Pt="[a-fA-F\\d]{1,4}",N0=`
|
|
17
17
|
(?:
|
|
18
18
|
(?:${Pt}:){7}(?:${Pt}|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8
|
|
19
|
-
(?:${Pt}:){6}(?:${
|
|
20
|
-
(?:${Pt}:){5}(?::${
|
|
21
|
-
(?:${Pt}:){4}(?:(?::${Pt}){0,1}:${
|
|
22
|
-
(?:${Pt}:){3}(?:(?::${Pt}){0,2}:${
|
|
23
|
-
(?:${Pt}:){2}(?:(?::${Pt}){0,3}:${
|
|
24
|
-
(?:${Pt}:){1}(?:(?::${Pt}){0,4}:${
|
|
25
|
-
(?::(?:(?::${Pt}){0,5}:${
|
|
19
|
+
(?:${Pt}:){6}(?:${Ee}|:${Pt}|:)| // 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
|
+
(?:${Pt}:){5}(?::${Ee}|(?::${Pt}){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
|
+
(?:${Pt}:){4}(?:(?::${Pt}){0,1}:${Ee}|(?::${Pt}){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
|
+
(?:${Pt}:){3}(?:(?::${Pt}){0,2}:${Ee}|(?::${Pt}){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
|
+
(?:${Pt}:){2}(?:(?::${Pt}){0,3}:${Ee}|(?::${Pt}){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
|
+
(?:${Pt}:){1}(?:(?::${Pt}){0,4}:${Ee}|(?::${Pt}){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4
|
|
25
|
+
(?::(?:(?::${Pt}){0,5}:${Ee}|(?::${Pt}){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(),Cf=new RegExp(`(?:^${ve}$)|(?:^${_i}$)`),_f=new RegExp(`^${ve}$`),Tf=new RegExp(`^${_i}$`),cs=e=>e&&e.exact?Cf:new RegExp(`(?:${Sr(e)}${ve}${Sr(e)})|(?:${Sr(e)}${_i}${Sr(e)})`,"g");cs.v4=e=>e&&e.exact?_f:new RegExp(`${Sr(e)}${ve}${Sr(e)}`,"g");cs.v6=e=>e&&e.exact?Tf:new RegExp(`${Sr(e)}${_i}${Sr(e)}`,"g");var Q3=cs;var Ti=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 W3=45,Rf=15,Pn=new Ti;function fs(e){if(!(e.length>Rf))return Pn.new(e).parseWith(()=>Pn.readIPv4Addr())}function ls(e){if(!(e.length>W3))return Pn.new(e).parseWith(()=>Pn.readIPv6Addr())}function Ri(e){if(!(e.length>W3))return Pn.new(e).parseWith(()=>Pn.readIPAddr())}function Y3(e){return!!fs(e)}function Z3(e){return!!ls(e)}function Nn(e){return!!Ri(e)}var e4=$(j3(),1),{isValid:Pf,parse:Nf}=e4.default,Lf=["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"],kf=Lf.map(e=>new t4.Netmask(e));function Df(e){for(let t of kf)if(t.contains(e))return!0;return!1}function J3(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 r4=e=>{if(Pf(e)){let t=Nf(e);if(t.kind()==="ipv4")return Df(t.toNormalizedString());if(t.kind()==="ipv6")return J3(e)}else if(Nn(e)&&Q3.v6().test(e))return J3(e)};var hs=r4;function st(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 Yr=class extends Error{constructor(t="The operation was aborted"){super(t),this.code=Yr.code,this.type=Yr.type}static get code(){return"ABORT_ERR"}static get type(){return"aborted"}},C=class extends Error{constructor(t,r,n){super(t),this.code=r,this.name=n?.name??"CodeError",this.props=n??{}}};var n4=Symbol.for("@libp2p/peer-id");var Ff=Symbol.for("nodejs.util.inspect.custom"),i4=Object.values(wr).map(e=>e.decoder).reduce((e,t)=>e.or(t),wr.identity.decoder),o4=114,ps=36,ds=37,b0=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[n4](){return!0}toString(){return this.string==null&&(this.string=St.encode(this.multihash.bytes).slice(1)),this.string}toCID(){return tt.createV1(o4,this.multihash)}toBytes(){return this.multihash.bytes}toJSON(){return this.toString()}equals(t){if(t instanceof Uint8Array)return st(this.multihash.bytes,t);if(typeof t=="string")return bt(t).equals(this);if(t?.multihash?.bytes!=null)return st(this.multihash.bytes,t.multihash.bytes);throw new Error("not valid Id")}[Ff](){return`PeerId(${this.toString()})`}},Ln=class extends b0{constructor(t){super({...t,type:"RSA"}),this.type="RSA",this.publicKey=t.publicKey}},kn=class extends b0{constructor(t){super({...t,type:"Ed25519"}),this.type="Ed25519",this.publicKey=t.multihash.digest}},Dn=class extends b0{constructor(t){super({...t,type:"secp256k1"}),this.type="secp256k1",this.publicKey=t.multihash.digest}};function bt(e,t){if(t=t??i4,e.charAt(0)==="1"||e.charAt(0)==="Q"){let r=zr(St.decode(`z${e}`));return e.startsWith("12D")?new kn({multihash:r}):e.startsWith("16U")?new Dn({multihash:r}):new Ln({multihash:r})}return Zr(i4.decode(e))}function Zr(e){try{let t=zr(e);if(t.code===vr.code){if(t.digest.length===ps)return new kn({multihash:t});if(t.digest.length===ds)return new Dn({multihash:t})}if(t.code===mt.code)return new Ln({multihash:t})}catch{return Uf(tt.decode(e))}throw new Error("Supplied PeerID CID is invalid")}function Uf(e){if(e==null||e.multihash==null||e.version==null||e.version===1&&e.code!==o4)throw new Error("Supplied PeerID CID is invalid");let t=e.multihash;if(t.code===mt.code)return new Ln({multihash:e.multihash});if(t.code===vr.code){if(t.digest.length===ps)return new kn({multihash:e.multihash});if(t.digest.length===ds)return new Dn({multihash:e.multihash})}throw new Error("Supplied PeerID CID is invalid")}async function s4(e,t){return e.length===ps?new kn({multihash:ke(vr.code,e),privateKey:t}):e.length===ds?new Dn({multihash:ke(vr.code,e),privateKey:t}):new Ln({multihash:await mt.digest(e),publicKey:e,privateKey:t})}var a4="/lan",u4="/ipfs",c4="/kad/1.0.0",f4="/dht/record",ys="/dht/provider";var Of=xt("/pk/");function Fn(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=hs(n);return i==null?!0:!i})}}function Un(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=hs(n);return i??!1})}}async function Ke(e){return(await mt.digest(e)).digest}async function Jt(e){return await Ke(e.toBytes())}function nr(e){return new Dt(`${f4}/${M(e,"base32")}`,!1)}function l4(e){return ut([Of,e.toBytes()])}function h4(e){return M(e.subarray(0,4))==="/pk/"}function p4(e){return Zr(e.subarray(4))}function gs(e,t){let r=new Date;return new Rt(e,t,r).serialize()}function d4(e,t=100){let r;return()=>{clearTimeout(r),r=setTimeout(()=>{e()},t)}}var I4=$(g4(),1);var S0=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},vs=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},m4=e=>globalThis.DOMException===void 0?new vs(e):new DOMException(e),x4=e=>{let t=e.reason===void 0?m4("This operation was aborted."):e.reason;return t instanceof Error?t:m4(t)};function ws(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(x4(u)),u.addEventListener("abort",()=>{a(x4(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 S0(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 bs(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 Xr=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},ir,A0=class{constructor(){ir.set(this,[])}enqueue(t,r){r={priority:0,...r};let n={priority:r.priority,run:t};if(this.size&&Xr(this,ir,"f")[this.size-1].priority>=r.priority){Xr(this,ir,"f").push(n);return}let i=bs(Xr(this,ir,"f"),n,(o,s)=>s.priority-o.priority);Xr(this,ir,"f").splice(i,0,n)}dequeue(){let t=Xr(this,ir,"f").shift();return t?.run}filter(t){return Xr(this,ir,"f").filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return Xr(this,ir,"f").length}};ir=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)},It,B0,C0,Ir,Oi,_0,Li,we,I0,te,ki,ee,T0,Ar,Di,v4,w4,S4,b4,E4,Fi,Es,Ss,Mi,A4,Ui,Ki=class extends Error{},or=class extends I4.default{constructor(t){var r,n,i,o;if(super(),It.add(this),B0.set(this,void 0),C0.set(this,void 0),Ir.set(this,0),Oi.set(this,void 0),_0.set(this,void 0),Li.set(this,0),we.set(this,void 0),I0.set(this,void 0),te.set(this,void 0),ki.set(this,void 0),ee.set(this,0),T0.set(this,void 0),Ar.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:A0,...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,B0,t.carryoverConcurrencyCount,"f"),vt(this,C0,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),vt(this,Oi,t.intervalCap,"f"),vt(this,_0,t.interval,"f"),vt(this,te,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,Ar,t.autoStart===!1,"f")}get concurrency(){return k(this,T0,"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,T0,t,"f"),k(this,It,"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,te,"f").enqueue(async()=>{var o,s,a;vt(this,ee,(s=k(this,ee,"f"),s++,s),"f"),vt(this,Ir,(a=k(this,Ir,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new Ki("The task was aborted.");let u=t({signal:r.signal});r.timeout&&(u=ws(Promise.resolve(u),r.timeout)),r.signal&&(u=Promise.race([u,k(this,It,"m",A4).call(this,r.signal)]));let c=await u;n(c),this.emit("completed",c)}catch(u){if(u instanceof S0&&!r.throwOnTimeout){n();return}i(u),this.emit("error",u)}finally{k(this,It,"m",S4).call(this)}},r),this.emit("add"),k(this,It,"m",Fi).call(this)})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return k(this,Ar,"f")?(vt(this,Ar,!1,"f"),k(this,It,"m",Mi).call(this),this):this}pause(){vt(this,Ar,!0,"f")}clear(){vt(this,te,new(k(this,ki,"f")),"f")}async onEmpty(){k(this,te,"f").size!==0&&await k(this,It,"m",Ui).call(this,"empty")}async onSizeLessThan(t){k(this,te,"f").size<t||await k(this,It,"m",Ui).call(this,"next",()=>k(this,te,"f").size<t)}async onIdle(){k(this,ee,"f")===0&&k(this,te,"f").size===0||await k(this,It,"m",Ui).call(this,"idle")}get size(){return k(this,te,"f").size}sizeBy(t){return k(this,te,"f").filter(t).length}get pending(){return k(this,ee,"f")}get isPaused(){return k(this,Ar,"f")}};B0=new WeakMap,C0=new WeakMap,Ir=new WeakMap,Oi=new WeakMap,_0=new WeakMap,Li=new WeakMap,we=new WeakMap,I0=new WeakMap,te=new WeakMap,ki=new WeakMap,ee=new WeakMap,T0=new WeakMap,Ar=new WeakMap,Di=new WeakMap,It=new WeakSet,v4=function(){return k(this,C0,"f")||k(this,Ir,"f")<k(this,Oi,"f")},w4=function(){return k(this,ee,"f")<k(this,T0,"f")},S4=function(){var t;vt(this,ee,(t=k(this,ee,"f"),t--,t),"f"),k(this,It,"m",Fi).call(this),this.emit("next")},b4=function(){k(this,It,"m",Ss).call(this),k(this,It,"m",Es).call(this),vt(this,I0,void 0,"f")},E4=function(){let t=Date.now();if(k(this,we,"f")===void 0){let r=k(this,Li,"f")-t;if(r<0)vt(this,Ir,k(this,B0,"f")?k(this,ee,"f"):0,"f");else return k(this,I0,"f")===void 0&&vt(this,I0,setTimeout(()=>{k(this,It,"m",b4).call(this)},r),"f"),!0}return!1},Fi=function(){if(k(this,te,"f").size===0)return k(this,we,"f")&&clearInterval(k(this,we,"f")),vt(this,we,void 0,"f"),this.emit("empty"),k(this,ee,"f")===0&&this.emit("idle"),!1;if(!k(this,Ar,"f")){let t=!k(this,It,"a",E4);if(k(this,It,"a",v4)&&k(this,It,"a",w4)){let r=k(this,te,"f").dequeue();return r?(this.emit("active"),r(),t&&k(this,It,"m",Es).call(this),!0):!1}}return!1},Es=function(){k(this,C0,"f")||k(this,we,"f")!==void 0||(vt(this,we,setInterval(()=>{k(this,It,"m",Ss).call(this)},k(this,_0,"f")),"f"),vt(this,Li,Date.now()+k(this,_0,"f"),"f"))},Ss=function(){k(this,Ir,"f")===0&&k(this,ee,"f")===0&&k(this,we,"f")&&(clearInterval(k(this,we,"f")),vt(this,we,void 0,"f")),vt(this,Ir,k(this,B0,"f")?k(this,ee,"f"):0,"f"),k(this,It,"m",Mi).call(this)},Mi=function(){for(;k(this,It,"m",Fi).call(this););},A4=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 ce=$(R4(),1);ce.default.formatters.b=e=>e==null?"undefined":St.baseEncode(e);ce.default.formatters.t=e=>e==null?"undefined":ge.baseEncode(e);ce.default.formatters.m=e=>e==null?"undefined":Hr.baseEncode(e);ce.default.formatters.p=e=>e==null?"undefined":e.toString();ce.default.formatters.c=e=>e==null?"undefined":e.toString();ce.default.formatters.k=e=>e==null?"undefined":e.toString();function Jf(e){let t=()=>{};return t.enabled=!1,t.color="",t.diff=0,t.log=()=>{},t.namespace=e,t.destroy=()=>!0,t.extend=()=>t,t}function z(e){let t=Jf(`${e}:trace`);return ce.default.enabled(`${e}:trace`)&&ce.default.names.map(r=>r.toString()).find(r=>r.includes(":trace"))!=null&&(t=(0,ce.default)(`${e}:trace`)),Object.assign((0,ce.default)(e),{error:(0,ce.default)(`${e}:error`),trace:t})}function sr(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 As=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 sr(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 sr(this.map.keys(),t=>bt(t))}values(){return this.map.values()}get size(){return this.map.size}};var fe=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 sr(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 sr(this.set.values(),t=>bt(t))}intersection(t){let r=new fe;for(let n of t)this.has(n)&&r.add(n);return r}difference(t){let r=new fe;for(let n of this)t.has(n)||r.add(n);return r}union(t){let r=new fe;for(let n of t)r.add(n);for(let n of this)r.add(n);return r}};var Vn=class{constructor(t){if(this.list=[],t!=null)for(let r of t)this.list.push(r.toString())}[Symbol.iterator](){return sr(this.list.entries(),t=>bt(t[1]))}concat(t){let r=new Vn(this);for(let n of t)r.push(n);return r}entries(){return sr(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 Vn;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 t7="kad-close",e7=50,P4=20,r7=1e4,n7=10,zi=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??P4,this.pingTimeout=i??r7,this.pingConcurrency=s??n7,this.lan=o,this.running=!1,this.protocol=a,this.tagName=u??t7,this.tagValue=c??e7;let f=()=>{this.metrics?.pingQueueSize.update(this.pingQueue.size),this.metrics?.pingRunning.update(this.pingQueue.pending)};this.pingQueue=new or({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 N4.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 fe,n=d4(()=>{let i=new fe(t.closest(t.localNodeId,P4).map(a=>a.peer)),o=i.difference(r),s=r.difference(i);Promise.resolve().then(async()=>{for(let a of o)await this.components.peerStore.merge(a,{tags:{[this.tagName]:{value:this.tagValue}}});for(let a of s)await this.components.peerStore.merge(a,{tags:{[this.tagName]:void 0}})}).catch(a=>{this.log.error("Could not update peer tags",a)}),r=i});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=>{try{let o={signal:AbortSignal.timeout(this.pingTimeout)};this.log("pinging old contact %p",i.peer),(await(await this.components.connectionManager.openConnection(i.peer,o)).newStream(this.protocol,o)).close(),n++}catch(o){this.running&&this.kb!=null&&(this.log.error("could not ping peer %p",i.peer,o),this.log("evicting old contact after ping failed %p",i),this.kb.remove(i.id))}finally{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 ar(e,t){if(e.length!==t.length)throw new Error("Inputs should have the same length");let r=jt(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return tr(r)}var L4=[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 Bt={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 k4={SHA1:20,SHA256:32,SHA512:64};var i7={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},o7=async(e,t)=>{let r=await Bt.get().subtle.sign({name:"HMAC"},e,t);return new Uint8Array(r,0,r.byteLength)};async function D4(e,t){let r=i7[e],n=await Bt.get().subtle.importKey("raw",t,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(i){return await o7(n,i)},length:k4[e]}}var Um=$(Wi(),1),p7=$(nt(),1);var S1={};Lt(S1,{generateEphemeralKeyPair:()=>o6,generateKeyPair:()=>Lh,generateKeyPairFromSeed:()=>kh,importKey:()=>Oh,keyStretcher:()=>J5,keysPBM:()=>$n,marshalPrivateKey:()=>Uh,marshalPublicKey:()=>Fh,supportedKeys:()=>Ye,unmarshalPrivateKey:()=>ou,unmarshalPublicKey:()=>Dh});var $n={};Lt($n,{KeyType:()=>ct,PrivateKey:()=>Se,PublicKey:()=>Ee});var ct;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(ct||(ct={}));var Fs;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(Fs||(Fs={}));(function(e){e.codec=()=>Rn(Fs)})(ct||(ct={}));var Ee;(function(e){let t;e.codec=()=>(t==null&&(t=Me((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=>Oe(r,e.codec()),e.decode=r=>Ue(r,e.codec())})(Ee||(Ee={}));var Se;(function(e){let t;e.codec=()=>(t==null&&(t=Me((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=>Oe(r,e.codec()),e.decode=r=>Ue(r,e.codec())})(Se||(Se={}));var Sv=$(L0(),1),Av=$(X5(),1),E1=$(nt(),1);var j5={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function J5(e,t,r){let n=j5[e];if(n==null){let x=Object.keys(j5).join(" / ");throw new C(`unknown cipher type '${e}'. Must be ${x}`,"ERR_INVALID_CIPHER_TYPE")}if(t==null)throw new C("missing hash type","ERR_MISSING_HASH_TYPE");let i=n.keySize,o=n.ivSize,s=20,a=xt("key expansion"),u=2*(o+i+s),c=await D4(t,r),f=await c.digest(a),l=[],d=0;for(;d<u;){let x=await c.digest(ut([f,a])),S=x.length;d+S>u&&(S=u-d),l.push(x),d+=S,f=await c.digest(f)}let p=u/2,h=ut(l),y=h.subarray(0,p),g=h.subarray(p,u),m=x=>({iv:x.subarray(0,o),cipherKey:x.subarray(o,o+i),macKey:x.subarray(o+i)});return{k1:m(y),k2:m(g)}}var gx=$(Ct(),1),mx=$(i1(),1),t6=$(nt(),1);function Ie(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=ut([new Uint8Array(t-r.length),r])}return M(r,"base64url")}function ne(e){let t=u1(e);return new t6.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=ut([new Uint8Array(t-r.length),r])}return r}var e6={"P-256":256,"P-384":384,"P-521":521},L9=Object.keys(e6),Ws=L9.join(" / ");async function r6(e){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw new C(`Unknown curve: ${e}. Must be ${Ws}`,"ERR_INVALID_CURVE");let t=await Bt.get().subtle.generateKey({name:"ECDH",namedCurve:e},!0,["deriveBits"]),r=async(o,s)=>{let a;s!=null?a=await Bt.get().subtle.importKey("jwk",D9(e,s),{name:"ECDH",namedCurve:e},!1,["deriveBits"]):a=t.privateKey;let u=await Bt.get().subtle.importKey("jwk",i6(e,o),{name:"ECDH",namedCurve:e},!1,[]),c=await Bt.get().subtle.deriveBits({name:"ECDH",namedCurve:e,public:u},a,e6[e]);return new Uint8Array(c,0,c.byteLength)},n=await Bt.get().subtle.exportKey("jwk",t.publicKey);return{key:k9(n),genSharedKey:r}}var n6={"P-256":32,"P-384":48,"P-521":66};function k9(e){if(e.crv==null||e.x==null||e.y==null)throw new C("JWK was missing components","ERR_INVALID_PARAMETERS");if(e.crv!=="P-256"&&e.crv!=="P-384"&&e.crv!=="P-521")throw new C(`Unknown curve: ${e.crv}. Must be ${Ws}`,"ERR_INVALID_CURVE");let t=n6[e.crv];return ut([Uint8Array.from([4]),u1(e.x,t),u1(e.y,t)],1+t*2)}function i6(e,t){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw new C(`Unknown curve: ${e}. Must be ${Ws}`,"ERR_INVALID_CURVE");let r=n6[e];if(!st(t.subarray(0,1),Uint8Array.from([4])))throw new C("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 D9=(e,t)=>({...i6(e,t.public),d:M(t.private,"base64url")});var o6=r6;function s6(){return typeof navigator<"u"&&navigator.userAgent.includes("Safari")&&navigator.userAgent.includes("Linux")&&!navigator.userAgent.includes("Chrome")}var a6={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function c1(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=Bt.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=xt(d));let g;if(d.length===0&&s6())g=await a.subtle.importKey("jwk",a6,{name:"AES-GCM"},!0,["encrypt"]);else{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},S=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,S,{name:t,length:r},!0,["encrypt"])}let m=await a.subtle.encrypt(y,g,l);return ut([p,y.iv,new Uint8Array(m)])}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=xt(d));let m;if(d.length===0&&s6())m=await a.subtle.importKey("jwk",a6,{name:"AES-GCM"},!0,["decrypt"]);else{let S={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},L=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(S,L,{name:t,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(g,m,y);return new Uint8Array(x)}return{encrypt:u,decrypt:c}}async function c6(e,t){let r=Hr.decode(e);return await c1().decrypt(r,t)}var o2={};Lt(o2,{RsaPrivateKey:()=>e0,RsaPublicKey:()=>q0,fromJwk:()=>sh,generateKeyPair:()=>ah,unmarshalRsaPrivateKey:()=>ih,unmarshalRsaPublicKey:()=>oh});var av=$(d6(),1),V0=$(nt(),1);var U9=$(Hn(),1);var Y=BigInt(0),ht=BigInt(1),Pr=BigInt(2),O0=BigInt(3),y6=BigInt(8),Et=Object.freeze({a:Y,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:ht,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),g6=(e,t)=>(e+t/Pr)/t,f1={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(e){let{n:t}=Et,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-ht*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=g6(o*e,t),u=g6(-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}}},Be=32,Zn=32,O9=32,m6=Be+1,x6=2*Be+1;function v6(e){let{a:t,b:r}=Et,n=N(e*e),i=N(n*e);return N(i+t*e+r)}var l1=Et.a===Y,d1=class extends Error{constructor(t){super(t)}};function w6(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,ht)}static toAffineBatch(t){let r=z9(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){w6(t);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(Pr*(N(a*a)-i-s)),c=N(O0*i),f=N(c*c),l=N(f-Pr*u),d=N(c*(u-l)-y6*s),p=N(Pr*r*n);return new J(l,d,p)}add(t){w6(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 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===Y)return y===Y?this.double():J.ZERO;let g=N(h*h),m=N(h*g),x=N(f*g),S=N(y*y-m-Pr*x),L=N(y*(x-S)-d*m),T=N(i*a*h);return new J(S,L,T)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){let r=J.ZERO;if(typeof t=="bigint"&&t===Y)return r;let n=S6(t);if(n===ht)return this;if(!l1){let l=r,d=this;for(;n>Y;)n&ht&&(l=l.add(d)),d=d.double(),n>>=ht;return l}let{k1neg:i,k1:o,k2neg:s,k2:a}=f1.splitScalar(n),u=r,c=r,f=this;for(;o>Y||a>Y;)o&ht&&(u=u.add(f)),a&ht&&(c=c.add(f)),f=f.double(),o>>=ht,a>>=ht;return i&&(u=u.negate()),s&&(c=c.negate()),c=new J(N(c.x*f1.beta),c.y,c.z),u.add(c)}precomputeWindow(t){let r=l1?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&&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.BASE,a=1+(l1?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);t>>=l,h>u&&(h-=f,t+=ht);let y=p,g=p+Math.abs(h)-1,m=d%2!==0,x=h<0;h===0?s=s.add(h1(m,i[y])):o=o.add(h1(x,i[g]))}return{p:o,f:s}}multiply(t,r){let n=S6(t),i,o;if(l1){let{k1neg:s,k1:a,k2neg:u,k2:c}=f1.splitScalar(n),{p:f,f:l}=this.wNAF(a,r),{p:d,f:p}=this.wNAF(c,r);f=h1(s,f),d=h1(u,d),d=new J(N(d.x*f1.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?y6:Jn(i));let s=t,a=N(s*s),u=N(a*s),c=N(r*a),f=N(n*u),l=N(i*s);if(o)return et.ZERO;if(l!==ht)throw new Error("invZ was invalid");return new et(c,f)}};J.BASE=new J(Et.Gx,Et.Gy,ht);J.ZERO=new J(Y,ht,Y);function h1(e,t){let r=t.negate();return e?r:t}var js=new WeakMap,et=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,js.delete(this)}hasEvenY(){return this.y%Pr===Y}static fromCompressedHex(t){let r=t.length===32,n=Nr(r?t:t.subarray(1));if(!Xs(n))throw new Error("Point is not on curve");let i=v6(n),o=q9(i),s=(o&ht)===ht;r?s&&(o=N(-o)):(t[0]&1)===1!==s&&(o=N(-o));let a=new et(n,o);return a.assertValidity(),a}static fromUncompressedHex(t){let r=Nr(t.subarray(1,Be+1)),n=Nr(t.subarray(Be+1,Be*2+1)),i=new et(r,n);return i.assertValidity(),i}static fromHex(t){let r=jn(t),n=r.length,i=r[0];if(n===Be)return this.fromCompressedHex(r);if(n===m6&&(i===2||i===3))return this.fromCompressedHex(r);if(n===x6&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${m6} compressed bytes or ${x6} uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return et.BASE.multiply(g1(t))}static fromSignature(t,r,n){let{r:i,s:o}=A6(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let s=e2(jn(t)),{n:a}=Et,u=n===2||n===3?i+a:i,c=Jn(u,a),f=N(-s*c,a),l=N(o*c,a),d=n&1?"03":"02",p=et.fromHex(d+Wn(u)),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 sn(this.toHex(t))}toHex(t=!1){let r=Wn(this.x);return t?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${Wn(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=v6(r);if(N(i-o)!==Y)throw new Error(t)}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new et(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===Y||r===ht||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 b6(e){return Number.parseInt(e[0],16)>=8?"00"+e:e}function E6(e){if(e.length<2||e[0]!==2)throw new Error(`Invalid signature integer tag: ${Xn(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:Nr(r),left:e.subarray(t+2)}}function M9(e){if(e.length<2||e[0]!=48)throw new Error(`Invalid signature tag: ${Xn(e)}`);if(e[1]!==e.length-2)throw new Error("Invalid signature: incorrect length");let{data:t,left:r}=E6(e.subarray(2)),{data:n,left:i}=E6(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Xn(i)}`);return{r:t,s:n}}var Qe=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?Xn(t):t;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new Qe(y1(i.slice(0,64)),y1(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}=M9(r?t:sn(t));return new Qe(n,i)}static fromHex(t){return this.fromDER(t)}assertValidity(){let{r:t,s:r}=this;if(!K0(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!K0(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let t=Et.n>>ht;return this.s>t}normalizeS(){return this.hasHighS()?new Qe(this.r,N(-this.s,Et.n)):this}toDERRawBytes(){return sn(this.toDERHex())}toDERHex(){let t=b6(U0(this.s)),r=b6(U0(this.r)),n=t.length/2,i=r.length/2,o=U0(n),s=U0(i);return`30${U0(i+n+4)}02${s}${r}02${o}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return sn(this.toCompactHex())}toCompactHex(){return Wn(this.r)+Wn(this.s)}};function Rr(...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 K9=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Xn(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");let t="";for(let r=0;r<e.length;r++)t+=K9[e[r]];return t}var V9=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Wn(e){if(typeof e!="bigint")throw new Error("Expected bigint");if(!(Y<=e&&e<V9))throw new Error("Expected number 0 <= n < 2^256");return e.toString(16).padStart(64,"0")}function Js(e){let t=sn(Wn(e));if(t.length!==32)throw new Error("Error: expected 32 bytes");return t}function U0(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function y1(e){if(typeof e!="string")throw new TypeError("hexToNumber: expected string, got "+typeof e);return BigInt(`0x${e}`)}function sn(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 Nr(e){return y1(Xn(e))}function jn(e){return e instanceof Uint8Array?Uint8Array.from(e):sn(e)}function S6(e){if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)return BigInt(e);if(typeof e=="bigint"&&K0(e))return e;throw new TypeError("Expected valid private scalar: 0 < scalar < curve.n")}function N(e,t=Et.P){let r=e%t;return r>=Y?r:t+r}function pe(e,t){let{P:r}=Et,n=e;for(;t-- >Y;)n*=n,n%=r;return n}function q9(e){let{P:t}=Et,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=pe(c,O0)*c%t,l=pe(f,O0)*c%t,d=pe(l,Pr)*u%t,p=pe(d,n)*d%t,h=pe(p,i)*p%t,y=pe(h,s)*h%t,g=pe(y,a)*y%t,m=pe(g,s)*h%t,x=pe(m,O0)*c%t,S=pe(x,o)*p%t,L=pe(S,r)*u%t,T=pe(L,Pr);if(T*T%t!==e)throw new Error("Cannot find square root");return T}function Jn(e,t=Et.P){if(e===Y||t<=Y)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=N(e,t),n=t,i=Y,o=ht,s=ht,a=Y;for(;r!==Y;){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!==ht)throw new Error("invert: does not exist");return N(i,t)}function z9(e,t=Et.P){let r=new Array(e.length),n=e.reduce((o,s,a)=>s===Y?o:(r[a]=o,N(o*s,t)),ht),i=Jn(n,t);return e.reduceRight((o,s,a)=>s===Y?o:(r[a]=N(o*r[a],t),N(o*s,t)),i),r}function $9(e){let t=e.length*8-Zn*8,r=Nr(e);return t>0?r>>BigInt(t):r}function e2(e,t=!1){let r=$9(e);if(t)return r;let{n}=Et;return r>=n?r-n:r}var Yn,M0,t2=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 M0(this.k,...t)}checkSync(){if(typeof M0!="function")throw new d1("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 Rr(...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 Rr(...r)}};function K0(e){return Y<e&&e<Et.n}function Xs(e){return Y<e&&e<Et.P}function H9(e,t,r,n=!0){let{n:i}=Et,o=e2(e,!0);if(!K0(o))return;let s=Jn(o,i),a=et.BASE.multiply(o),u=N(a.x,i);if(u===Y)return;let c=N(s*N(t+r*u,i),i);if(c===Y)return;let f=new Qe(u,c),l=(a.x===f.r?0:2)|Number(a.y&ht);return n&&f.hasHighS()&&(f=f.normalizeS(),l^=1),{sig:f,recovery:l}}function g1(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*Zn)throw new Error("Expected 32 bytes of private key");t=y1(e)}else if(e instanceof Uint8Array){if(e.length!==Zn)throw new Error("Expected 32 bytes of private key");t=Nr(e)}else throw new TypeError("Expected valid private key");if(!K0(t))throw new Error("Expected private key: 0 < key < n");return t}function G9(e){return e instanceof et?(e.assertValidity(),e):et.fromHex(e)}function A6(e){if(e instanceof Qe)return e.assertValidity(),e;try{return Qe.fromDER(e)}catch{return Qe.fromCompact(e)}}function r2(e,t=!1){return et.fromPrivateKey(e).toRawBytes(t)}function I6(e){let t=e.length>Be?e.slice(0,Be):e;return Nr(t)}function Q9(e){let t=I6(e),r=N(t,Et.n);return B6(r<Y?t:r)}function B6(e){return Js(e)}function W9(e,t,r){if(e==null)throw new Error(`sign: expected valid message hash, not "${e}"`);let n=jn(e),i=g1(t),o=[B6(i),Q9(n)];if(r!=null){r===!0&&(r=Ce.randomBytes(Be));let u=jn(r);if(u.length!==Be)throw new Error(`sign: Expected ${Be} bytes of extra data`);o.push(u)}let s=Rr(...o),a=I6(n);return{seed:s,m:a,d:i}}function Y9(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 C6(e,t,r={}){let{seed:n,m:i,d:o}=W9(e,t,r.extraEntropy),s=new t2(O9,Zn);await s.reseed(n);let a;for(;!(a=H9(await s.generate(),i,o,r.canonical));)await s.reseed();return Y9(a,r)}var Z9={strict:!0};function _6(e,t,r,n=Z9){let i;try{i=A6(e),t=jn(t)}catch{return!1}let{r:o,s}=i;if(n.strict&&i.hasHighS())return!1;let a=e2(t),u;try{u=G9(r)}catch{return!1}let{n:c}=Et,f=Jn(s,c),l=N(a*f,c),d=N(o*f,c),p=et.BASE.multiplyAndAddUnsafe(u,l,d);return p?N(p.x,c)===o:!1}et.BASE._setWindowSize(8);var ie={node:U9,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var p1={},Ce={bytesToHex:Xn,hexToBytes:sn,concatBytes:Rr,mod:N,invert:Jn,isValidPrivateKey(e){try{return g1(e),!0}catch{return!1}},_bigintTo32Bytes:Js,_normalizePrivateKey:g1,hashToPrivateKey:e=>{e=jn(e);let t=Zn+8;if(e.length<t||e.length>1024)throw new Error("Expected valid bytes of private key as per FIPS 186");let r=N(Nr(e),Et.n-ht)+ht;return Js(r)},randomBytes:(e=32)=>{if(ie.web)return ie.web.getRandomValues(new Uint8Array(e));if(ie.node){let{randomBytes:t}=ie.node;return Uint8Array.from(t(e))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>Ce.hashToPrivateKey(Ce.randomBytes(Zn+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(O0),r},sha256:async(...e)=>{if(ie.web){let t=await ie.web.subtle.digest("SHA-256",Rr(...e));return new Uint8Array(t)}else if(ie.node){let{createHash:t}=ie.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(ie.web){let r=await ie.web.subtle.importKey("raw",e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=Rr(...t),i=await ie.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(ie.node){let{createHmac:r}=ie.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=p1[e];if(r===void 0){let n=await Ce.sha256(Uint8Array.from(e,i=>i.charCodeAt(0)));r=Rr(n,n),p1[e]=r}return Ce.sha256(r,...t)},taggedHashSync:(e,...t)=>{if(typeof Yn!="function")throw new d1("sha256Sync is undefined, you need to set it");let r=p1[e];if(r===void 0){let n=Yn(Uint8Array.from(e,i=>i.charCodeAt(0)));r=Rr(n,n),p1[e]=r}return Yn(r,...t)},_JacobianPoint:J};Object.defineProperties(Ce,{sha256Sync:{configurable:!1,get(){return Yn},set(e){Yn||(Yn=e)}},hmacSha256Sync:{configurable:!1,get(){return M0},set(e){M0||(M0=e)}}});function an(e){if(isNaN(e)||e<=0)throw new C("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return Ce.randomBytes(e)}var un={};Lt(un,{jwkToPkcs1:()=>J9,jwkToPkix:()=>eh,pkcs1ToJwk:()=>j9,pkixToJwk:()=>th});var Kx=$(L0(),1),Vx=$(a1(),1),lr=$(nt(),1);function j9(e){let t=lr.default.asn1.fromDer(M(e,"ascii")),r=lr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:Ie(r.n),e:Ie(r.e),d:Ie(r.d),p:Ie(r.p),q:Ie(r.q),dp:Ie(r.dP),dq:Ie(r.dQ),qi:Ie(r.qInv),alg:"RS256"}}function J9(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 C("JWK was missing components","ERR_INVALID_PARAMETERS");let t=lr.default.pki.privateKeyToAsn1({n:ne(e.n),e:ne(e.e),d:ne(e.d),p:ne(e.p),q:ne(e.q),dP:ne(e.dp),dQ:ne(e.dq),qInv:ne(e.qi)});return xt(lr.default.asn1.toDer(t).getBytes(),"ascii")}function th(e){let t=lr.default.asn1.fromDer(M(e,"ascii")),r=lr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:Ie(r.n),e:Ie(r.e)}}function eh(e){if(e.n==null||e.e==null)throw new C("JWK was missing components","ERR_INVALID_PARAMETERS");let t=lr.default.pki.publicKeyToAsn1({n:ne(e.n),e:ne(e.e)});return xt(lr.default.asn1.toDer(t).getBytes(),"ascii")}var Gx=$(a1(),1),n2=$(nt(),1);function T6(e,t){return t.map(r=>ne(e[r]))}function R6(e){return n2.default.pki.setRsaPrivateKey(...T6(e,["n","e","d","p","q","dp","dq","qi"]))}function P6(e){return n2.default.pki.setRsaPublicKey(...T6(e,["n","e"]))}async function N6(e){let t=await Bt.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 D6(t);return{privateKey:r[0],publicKey:r[1]}}async function i2(e){let r=[await Bt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await rh(e)],n=await D6({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function L6(e,t){let r=await Bt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Bt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function k6(e,t,r){let n=await Bt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return await Bt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r)}async function D6(e){if(e.privateKey==null||e.publicKey==null)throw new C("Private and public key are required","ERR_INVALID_PARAMETERS");return await Promise.all([Bt.get().subtle.exportKey("jwk",e.privateKey),Bt.get().subtle.exportKey("jwk",e.publicKey)])}async function rh(e){return await Bt.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 F6(e,t,r,n){let i=t?P6(e):R6(e),o=M(Uint8Array.from(r),"ascii"),s=n(o,i);return xt(s,"ascii")}function U6(e,t){return F6(e,!0,t,(r,n)=>n.encrypt(r))}function O6(e,t){return F6(e,!1,t,(r,n)=>n.decrypt(r))}async function t0(e,t){let n=await c1().encrypt(e,t);return Hr.encode(n)}var q0=class{constructor(t){this._key=t}async verify(t,r){return await k6(this._key,r,t)}marshal(){return un.jwkToPkix(this._key)}get bytes(){return Ee.encode({Type:ct.RSA,Data:this.marshal()}).subarray()}encrypt(t){return U6(this._key,t)}equals(t){return st(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}},e0=class{constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return an(16)}async sign(t){return await L6(this._key,t)}get public(){if(this._publicKey==null)throw new C("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new q0(this._publicKey)}decrypt(t){return O6(this._key,t)}marshal(){return un.jwkToPkcs1(this._key)}get bytes(){return Se.encode({Type:ct.RSA,Data:this.marshal()}).subarray()}equals(t){return st(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 V0.default.util.ByteBuffer(this.marshal()),i=V0.default.asn1.fromDer(n),o=V0.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return V0.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(r==="libp2p-key")return await t0(this.bytes,t);throw new C(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function ih(e){let t=un.pkcs1ToJwk(e),r=await i2(t);return new e0(r.privateKey,r.publicKey)}function oh(e){let t=un.pkixToJwk(e);return new q0(t)}async function sh(e){let t=await i2(e);return new e0(t.privateKey,t.publicKey)}async function ah(e){let t=await N6(e);return new e0(t.privateKey,t.publicKey)}var y2={};Lt(y2,{Ed25519PrivateKey:()=>fn,Ed25519PublicKey:()=>Q0,generateKeyPair:()=>_h,generateKeyPairFromSeed:()=>d2,unmarshalEd25519PrivateKey:()=>Bh,unmarshalEd25519PublicKey:()=>Ch});var uh=$(Hn(),1);var Kt=BigInt(0),Z=BigInt(1),Dr=BigInt(2),ch=BigInt(8),M6=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),pt=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:M6,n:M6,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var $6=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),z0=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),cv=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),fh=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),lh=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),hh=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),ph=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,I(t.x*t.y))}static toAffineBatch(t){let r=gh(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){V6(t);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t,u=I(r*a),c=I(o*i),f=I(n*a),l=I(s*i);return u===c&&f===l}negate(){return new Q(I(-this.x),this.y,this.z,I(-this.t))}double(){let{x:t,y:r,z:n}=this,{a:i}=pt,o=I(t*t),s=I(r*r),a=I(Dr*I(n*n)),u=I(i*o),c=t+r,f=I(I(c*c)-o-s),l=u+s,d=l-a,p=u-s,h=I(f*d),y=I(l*p),g=I(f*p),m=I(d*l);return new Q(h,y,m,g)}add(t){V6(t);let{x:r,y:n,z:i,t:o}=this,{x:s,y:a,z:u,t:c}=t,f=I((n-r)*(a+s)),l=I((n+r)*(a-s)),d=I(l-f);if(d===Kt)return this.double();let p=I(i*Dr*c),h=I(o*Dr*u),y=h+p,g=l+f,m=h-p,x=I(y*d),S=I(g*m),L=I(y*m),T=I(d*g);return new Q(x,S,T,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(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&&f2.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Q.normalizeZ(i),f2.set(r,i)));let o=Q.ZERO,s=Q.BASE,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);t>>=l,h>u&&(h-=f,t+=Z);let y=p,g=p+Math.abs(h)-1,m=d%2!==0,x=h<0;h===0?s=s.add(K6(m,i[y])):o=o.add(K6(x,i[g]))}return Q.normalizeZ([o,s])[0]}multiply(t,r){return this.wNAF(x1(t,pt.l),r)}multiplyUnsafe(t){let r=x1(t,pt.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(pt.h).equals(Q.ZERO)}isTorsionFree(){let t=this.multiplyUnsafe(pt.l/Dr).double();return pt.l%Dr&&(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?ch:v1(i));let s=I(r*t),a=I(n*t),u=I(i*t);if(o)return yt.ZERO;if(u!==Z)throw new Error("invZ was invalid");return new yt(s,a)}fromRistrettoBytes(){a2()}toRistrettoBytes(){a2()}fromRistrettoHash(){a2()}};Q.BASE=new Q(pt.Gx,pt.Gy,Z,I(pt.Gx*pt.Gy));Q.ZERO=new Q(Kt,Z,Z,Kt);function K6(e,t){let r=t.negate();return e?r:t}function V6(e){if(!(e instanceof Q))throw new TypeError("ExtendedPoint expected")}function s2(e){if(!(e instanceof Zt))throw new TypeError("RistrettoPoint expected")}function a2(){throw new Error("Legacy method: switch to RistrettoPoint")}var Zt=class{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){let{d:r}=pt,n=I(z0*t*t),i=I((n+Z)*hh),o=BigInt(-1),s=I((o-r*n)*I(n+r)),{isValid:a,value:u}=h2(i,s),c=I(u*t);kr(c)||(c=I(-c)),a||(u=c),a||(o=n);let f=I(o*(n-Z)*ph-s),l=u*u,d=I((u+u)*s),p=I(f*fh),h=I(Z-l),y=I(Z+l);return new Q(I(d*y),I(h*p),I(p*y),I(d*h))}static hashToCurve(t){t=Fr(t,64);let r=u2(t.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=u2(t.slice(32,64)),o=this.calcElligatorRistrettoMap(i);return new Zt(n.add(o))}static fromHex(t){t=Fr(t,32);let{a:r,d:n}=pt,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",o=u2(t);if(!xh($0(o),t)||kr(o))throw new Error(i);let s=I(o*o),a=I(Z+r*s),u=I(Z-r*s),c=I(a*a),f=I(u*u),l=I(r*n*c-f),{isValid:d,value:p}=z6(I(l*f)),h=I(p*u),y=I(p*h*l),g=I((o+o)*h);kr(g)&&(g=I(-g));let m=I(a*y),x=I(g*m);if(!d||kr(x)||m===Kt)throw new Error(i);return new Zt(new Q(g,m,Z,x))}toRawBytes(){let{x:t,y:r,z:n,t:i}=this.ep,o=I(I(n+r)*I(n-r)),s=I(t*r),a=I(s*s),{value:u}=z6(I(o*a)),c=I(u*o),f=I(u*s),l=I(c*f*i),d;if(kr(i*l)){let h=I(r*z0),y=I(t*z0);t=h,r=y,d=I(c*lh)}else d=f;kr(t*l)&&(r=I(-r));let p=I((n-r)*d);return kr(p)&&(p=I(-p)),$0(p)}toHex(){return H0(this.toRawBytes())}toString(){return this.toHex()}equals(t){s2(t);let r=this.ep,n=t.ep,i=I(r.x*n.y)===I(r.y*n.x),o=I(r.y*n.y)===I(r.x*n.x);return i||o}add(t){return s2(t),new Zt(this.ep.add(t.ep))}subtract(t){return s2(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 f2=new WeakMap,yt=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,f2.delete(this)}static fromHex(t,r=!0){let{d:n,P:i}=pt;t=Fr(t,32);let o=t.slice();o[31]=t[31]&-129;let s=G0(o);if(r&&s>=i)throw new Error("Expected 0 < hex < P");if(!r&&s>=$6)throw new Error("Expected 0 < hex < 2**256");let a=I(s*s),u=I(a-Z),c=I(n*a+Z),{isValid:f,value:l}=h2(u,c);if(!f)throw new Error("Point.fromHex: invalid y coordinate");let d=(l&Z)===Z;return(t[31]&128)!==0!==d&&(l=I(-l)),new yt(l,s)}static async fromPrivateKey(t){return(await w1(t)).point}toRawBytes(){let t=$0(this.y);return t[31]|=this.x&Z?128:0,t}toHex(){return H0(this.toRawBytes())}toX25519(){let{y:t}=this,r=I((Z+t)*v1(Z-t));return $0(r)}isTorsionFree(){return Q.fromAffine(this).isTorsionFree()}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new yt(I(-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(pt.Gx,pt.Gy);yt.ZERO=new yt(Kt,Z);var cn=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromHex(t){let r=Fr(t,64),n=yt.fromHex(r.slice(0,32),!1),i=G0(r.slice(32,64));return new cn(n,i)}assertValidity(){let{r:t,s:r}=this;if(!(t instanceof yt))throw new Error("Expected Point instance");return x1(r,pt.l,!1),this}toRawBytes(){let t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set($0(this.s),32),t}toHex(){return H0(this.toRawBytes())}};function q6(...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 dh=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function H0(e){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=dh[e[r]];return t}function l2(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 H6(e){let r=e.toString(16).padStart(64,"0");return l2(r)}function $0(e){return H6(e).reverse()}function kr(e){return(I(e)&Z)===Z}function G0(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+H0(Uint8Array.from(e).reverse()))}var yh=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function u2(e){return I(G0(e)&yh)}function I(e,t=pt.P){let r=e%t;return r>=Kt?r:t+r}function v1(e,t=pt.P){if(e===Kt||t<=Kt)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=I(e,t),n=t,i=Kt,o=Z,s=Z,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!==Z)throw new Error("invert: does not exist");return I(i,t)}function gh(e,t=pt.P){let r=new Array(e.length),n=e.reduce((o,s,a)=>s===Kt?o:(r[a]=o,I(o*s,t)),Z),i=v1(n,t);return e.reduceRight((o,s,a)=>s===Kt?o:(r[a]=I(o*r[a],t),I(o*s,t)),i),r}function We(e,t){let{P:r}=pt,n=e;for(;t-- >Kt;)n*=n,n%=r;return n}function mh(e){let{P:t}=pt,r=BigInt(5),n=BigInt(10),i=BigInt(20),o=BigInt(40),s=BigInt(80),u=e*e%t*e%t,c=We(u,Dr)*u%t,f=We(c,Z)*e%t,l=We(f,r)*f%t,d=We(l,n)*l%t,p=We(d,i)*d%t,h=We(p,o)*p%t,y=We(h,s)*h%t,g=We(y,s)*h%t,m=We(g,n)*l%t;return{pow_p_5_8:We(m,Dr)*e%t,b2:u}}function h2(e,t){let r=I(t*t*t),n=I(r*r*t),i=mh(e*n).pow_p_5_8,o=I(e*r*i),s=I(t*o*o),a=o,u=I(o*z0),c=s===e,f=s===I(-e),l=s===I(-e*z0);return c&&(o=a),(f||l)&&(o=u),kr(o)&&(o=I(-o)),{isValid:c||f,value:o}}function z6(e){return h2(Z,e)}function m1(e){return I(G0(e),pt.l)}function xh(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 Fr(e,t){let r=e instanceof Uint8Array?Uint8Array.from(e):l2(e);if(typeof t=="number"&&r.length!==t)throw new Error(`Expected ${t} bytes`);return r}function x1(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 vh(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function wh(e){if(e=typeof e=="bigint"||typeof e=="number"?H6(x1(e,$6)):Fr(e),e.length!==32)throw new Error("Expected 32 bytes");return e}function bh(e){let t=vh(e.slice(0,32)),r=e.slice(32,64),n=m1(t),i=yt.BASE.multiply(n),o=i.toRawBytes();return{head:t,prefix:r,scalar:n,point:i,pointBytes:o}}var c2;async function w1(e){return bh(await Ur.sha512(wh(e)))}async function p2(e){return(await w1(e)).pointBytes}async function G6(e,t){e=Fr(e);let{prefix:r,scalar:n,pointBytes:i}=await w1(t),o=m1(await Ur.sha512(r,e)),s=yt.BASE.multiply(o),a=m1(await Ur.sha512(s.toRawBytes(),i,e)),u=I(o+a*n,pt.l);return new cn(s,u).toRawBytes()}function Eh(e,t,r){t=Fr(t),r instanceof yt||(r=yt.fromHex(r,!1));let{r:n,s:i}=e instanceof cn?e.assertValidity():cn.fromHex(e),o=Q.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:o,pub:r,msg:t}}function Sh(e,t,r,n){let i=m1(n),o=Q.fromAffine(e).multiplyUnsafe(i);return Q.fromAffine(t).add(o).subtract(r).multiplyUnsafe(pt.h).equals(Q.ZERO)}async function Q6(e,t,r){let{r:n,SB:i,msg:o,pub:s}=Eh(e,t,r),a=await Ur.sha512(n.toRawBytes(),s.toRawBytes(),o);return Sh(s,n,i,a)}yt.BASE._setWindowSize(8);var Lr={node:uh,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},Ur={bytesToHex:H0,hexToBytes:l2,concatBytes:q6,getExtendedPublicKey:w1,mod:I,invert:v1,TORSION_SUBGROUP:["0100000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac037a","0000000000000000000000000000000000000000000000000000000000000080","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc05","ecffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff7f","26e8958fc2b227b045c3f489f2ef98f0d5dfac05d3c63339b13802886d53fc85","0000000000000000000000000000000000000000000000000000000000000000","c7176a703d4dd84fba3c0b760d10670f2a2053fa2c39ccc64ec7fd7792ac03fa"],hashToPrivateScalar:e=>{if(e=Fr(e),e.length<40||e.length>1024)throw new Error("Expected 40-1024 bytes of private key as per FIPS 186");return I(G0(e),pt.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:()=>Ur.randomBytes(32),sha512:async(...e)=>{let t=q6(...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(Dr),r},sha512Sync:void 0};Object.defineProperties(Ur,{sha512Sync:{configurable:!1,get(){return c2},set(e){c2||(c2=e)}}});var r0=32,hr=64,b1=32;async function W6(){let e=Ur.randomPrivateKey(),t=await p2(e);return{privateKey:j6(e,t),publicKey:t}}async function Y6(e){if(e.length!==b1)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 p2(t);return{privateKey:j6(t,r),publicKey:r}}async function Z6(e,t){let r=e.subarray(0,b1);return await G6(t,r)}async function X6(e,t,r){return await Q6(t,r,e)}function j6(e,t){let r=new Uint8Array(hr);for(let n=0;n<b1;n++)r[n]=e[n],r[b1+n]=t[n];return r}var Q0=class{constructor(t){this._key=n0(t,r0)}async verify(t,r){return await X6(this._key,r,t)}marshal(){return this._key}get bytes(){return Ee.encode({Type:ct.Ed25519,Data:this.marshal()}).subarray()}equals(t){return st(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}},fn=class{constructor(t,r){this._key=n0(t,hr),this._publicKey=n0(r,r0)}async sign(t){return await Z6(this._key,t)}get public(){return new Q0(this._publicKey)}marshal(){return this._key}get bytes(){return Se.encode({Type:ct.Ed25519,Data:this.marshal()}).subarray()}equals(t){return st(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}async id(){let t=vr.digest(this.public.bytes);return St.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return await t0(this.bytes,t);throw new C(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Bh(e){if(e.length>hr){e=n0(e,hr+r0);let n=e.subarray(0,hr),i=e.subarray(hr,e.length);return new fn(n,i)}e=n0(e,hr);let t=e.subarray(0,hr),r=e.subarray(r0);return new fn(t,r)}function Ch(e){return e=n0(e,r0),new Q0(e)}async function _h(){let{privateKey:e,publicKey:t}=await W6();return new fn(e,t)}async function d2(e){let{privateKey:t,publicKey:r}=await Y6(e);return new fn(t,r)}function n0(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new C(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var m2={};Lt(m2,{Secp256k1PrivateKey:()=>Y0,Secp256k1PublicKey:()=>W0,generateKeyPair:()=>Nh,unmarshalSecp256k1PrivateKey:()=>Rh,unmarshalSecp256k1PublicKey:()=>Ph});function J6(){return Ce.randomPrivateKey()}async function tu(e,t){let{digest:r}=await mt.digest(t);try{return await C6(r,e)}catch(n){throw new C(String(n),"ERR_INVALID_INPUT")}}async function eu(e,t,r){try{let{digest:n}=await mt.digest(r);return _6(t,n,e)}catch(n){throw new C(String(n),"ERR_INVALID_INPUT")}}function ru(e){return et.fromHex(e).toRawBytes(!0)}function nu(e){try{r2(e,!0)}catch(t){throw new C(String(t),"ERR_INVALID_PRIVATE_KEY")}}function g2(e){try{et.fromHex(e)}catch(t){throw new C(String(t),"ERR_INVALID_PUBLIC_KEY")}}function iu(e){try{return r2(e,!0)}catch(t){throw new C(String(t),"ERR_INVALID_PRIVATE_KEY")}}var W0=class{constructor(t){g2(t),this._key=t}async verify(t,r){return await eu(this._key,r,t)}marshal(){return ru(this._key)}get bytes(){return Ee.encode({Type:ct.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return st(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}},Y0=class{constructor(t,r){this._key=t,this._publicKey=r??iu(t),nu(this._key),g2(this._publicKey)}async sign(t){return await tu(this._key,t)}get public(){return new W0(this._publicKey)}marshal(){return this._key}get bytes(){return Se.encode({Type:ct.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return st(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 t0(this.bytes,t);throw new C(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Rh(e){return new Y0(e)}function Ph(e){return new W0(e)}async function Nh(){let e=J6();return new Y0(e)}var Ye={rsa:o2,ed25519:y2,secp256k1:m2};function x2(e){let t=Object.keys(Ye).join(" / ");return new C(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function v2(e){if(e=e.toLowerCase(),e==="rsa"||e==="ed25519"||e==="secp256k1")return Ye[e];throw x2(e)}async function Lh(e,t){return await v2(e).generateKeyPair(t??2048)}async function kh(e,t,r){if(e.toLowerCase()!=="ed25519")throw new C("Seed key derivation is unimplemented for RSA or secp256k1","ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return await d2(t)}function Dh(e){let t=Ee.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case ct.RSA:return Ye.rsa.unmarshalRsaPublicKey(r);case ct.Ed25519:return Ye.ed25519.unmarshalEd25519PublicKey(r);case ct.Secp256k1:return Ye.secp256k1.unmarshalSecp256k1PublicKey(r);default:throw x2(t.Type??"RSA")}}function Fh(e,t){return t=(t??"rsa").toLowerCase(),v2(t),e.bytes}async function ou(e){let t=Se.decode(e),r=t.Data??new Uint8Array;switch(t.Type){case ct.RSA:return await Ye.rsa.unmarshalRsaPrivateKey(r);case ct.Ed25519:return Ye.ed25519.unmarshalEd25519PrivateKey(r);case ct.Secp256k1:return Ye.secp256k1.unmarshalSecp256k1PrivateKey(r);default:throw x2(t.Type??"RSA")}}function Uh(e,t){return t=(t??"rsa").toLowerCase(),v2(t),e.bytes}async function Oh(e,t){try{let i=await c6(e,t);return await ou(i)}catch{}let r=E1.default.pki.decryptRsaPrivateKey(e,t);if(r===null)throw new C("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=E1.default.asn1.toDer(E1.default.pki.privateKeyToAsn1(r));return n=xt(n.getBytes(),"ascii"),await Ye.rsa.unmarshalRsaPrivateKey(n)}var Mh=$(Os(),1),Kh=$(Ct(),1);function Vh(e){return e[Symbol.asyncIterator]!=null}function qh(e){if(Vh(e))return(async()=>{let t=0;for await(let r of e)t++;return t})();{let t=0;for(let r of e)t++;return t}}var A1=qh;var I1=15,B1=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??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(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=await A1(this.peerRouting.getClosestPeers(i.toBytes(),{signal:AbortSignal.timeout(this.refreshQueryTimeout)}));this.log(`found ${o} peers that were close to imaginary peer %p`,i),this.log("finished refreshing cpl %s with key %p (routing table size is now %s)",t,i,this.routingTable.size)}_getTrackedCommonPrefixLengthsForRefresh(t){t>I1&&(t=I1);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=an(2),n=(r[1]<<8)+r[0],i=await this._makePeerId(this.routingTable.kb.localNodeId,n,t);return Zr(i)}async _makePeerId(t,r,n){if(n>I1)throw new Error(`Cannot generate peer ID for common prefix length greater than ${I1}`);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=L4[u],f=new ArrayBuffer(34),l=new DataView(f,0,f.byteLength);return l.setUint8(0,mt.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=ar(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}},i0=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 Hh(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 Hh(e,t){t=t??{};let r=t.onEnd,n=new i0,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(x){g(x)}return i}}):e(n),u=y=>o!=null?o(y):(n.push(y),i),c=y=>(n=new i0,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 i0,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}function Gh(e){return e[Symbol.asyncIterator]!=null}function Qh(...e){let t=[];for(let r of e)Gh(r)||t.push(r);return t.length===e.length?function*(){for(let r of t)yield*r}():async function*(){let r=_1({objectMode:!0});Promise.resolve().then(async()=>{try{await Promise.all(e.map(async n=>{for await(let i of n)r.push(i)})),r.end()}catch(n){r.end(n)}}),yield*r}()}var _e=Qh;function Te(e,...t){if(e==null)throw new Error("Empty pipeline");if(w2(e)){let n=e;e=()=>n.source}else if(au(e)||su(e)){let n=e;e=()=>n}let r=[e,...t];if(r.length>1&&w2(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++)w2(r[n])&&(r[n]=Yh(r[n]));return Wh(...r)}var Wh=(...e)=>{let t;for(;e.length>0;)t=e.shift()(t);return t},su=e=>e?.[Symbol.asyncIterator]!=null,au=e=>e?.[Symbol.iterator]!=null,w2=e=>e==null?!1:e.sink!=null&&e.source!=null,Yh=e=>t=>{let r=e.sink(t);if(r?.then!=null){let n=_1({objectMode:!0});r.then(()=>{n.end()},s=>{n.end(s)});let i,o=e.source;if(su(o))i=async function*(){yield*o,n.end()};else if(au(o))i=function*(){yield*o,n.end()};else throw new Error("Unknown duplex source type - must be Iterable or AsyncIterable");return _e(n,i())}return e.source};var cu=Symbol.for("@achingbrain/uint8arraylist");function uu(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?.[cu]}var Ze=class{constructor(...t){Object.defineProperty(this,cu,{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=uu(this.bufs,t);return r.buf[r.index]}set(t,r){let n=uu(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 ut(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:ut(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),o=new Ze;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(!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,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=jt(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=er(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=er(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=er(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=jt(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=er(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=er(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=er(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=er(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=er(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof Ze)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!st(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new Ze;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 fu=4294967296,oe=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 oe(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 oe(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 oe;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>fu&&(i=0,++n>fu&&(n=0))),new oe(n,i)}static fromNumber(t){if(t===0)return new oe;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 oe(i,n)}static fromBytes(t,r=0){let n=R1(t),i=new oe,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 Zh=Math.pow(2,7),Xh=Math.pow(2,14),jh=Math.pow(2,21),Jh=Math.pow(2,28),tp=Math.pow(2,35),ep=Math.pow(2,42),rp=Math.pow(2,49),np=Math.pow(2,56),ip=Math.pow(2,63),ln={encodingLength(e){return e<Zh?1:e<Xh?2:e<jh?3:e<Jh?4:e<tp?5:e<ep?6:e<rp?7:e<np?8:e<ip?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=jt(ln.encodingLength(e))),oe.fromNumber(e).toBytes(t,r),t},decode(e,t=0){return oe.fromBytes(e,t).toNumber(!0)}};function P1(e){return e[Symbol.asyncIterator]!=null}var N1=e=>{let t=ln.encodingLength(e),r=jt(t);return ln.encode(e,r),N1.bytes=t,r};N1.bytes=0;function hn(e,t){t=t??{};let r=t.lengthEncoder??N1;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return P1(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}hn.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??N1;return new Ze(r(e.byteLength),e)};var o0=$(pu(),1);var sp=8,ap=1024*1024*4,pn;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(pn||(pn={}));var b2=e=>{let t=ln.decode(e);return b2.bytes=ln.encodingLength(t),t};b2.bytes=0;function dn(e,t){let r=new Ze,n=pn.LENGTH,i=-1,o=t?.lengthDecoder??b2,s=t?.maxLengthLength??sp,a=t?.maxDataLength??ap;function*u(){for(;r.byteLength>0;){if(n===pn.LENGTH)try{if(i=o(r),i<0)throw(0,o0.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,o0.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let c=o.bytes;r.consume(c),t?.onLength!=null&&t.onLength(i),n=pn.DATA}catch(c){if(c instanceof RangeError){if(r.byteLength>s)throw(0,o0.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw c}if(n===pn.DATA){if(r.byteLength<i)break;let c=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(c),yield c,n=pn.LENGTH}}}return P1(e)?async function*(){for await(let c of e)r.append(c),yield*u();if(r.byteLength>0)throw(0,o0.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let c of e)r.append(c),yield*u();if(r.byteLength>0)throw(0,o0.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}dn.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 dn(n,{...t??{},onLength:o=>{r=o}})};function up(e){return e[Symbol.asyncIterator]!=null}function cp(e){if(up(e))return(async()=>{for await(let t of e);})();for(let t of e);}var Z0=cp;function fp(e){return e[Symbol.asyncIterator]!=null}function lp(e){if(fp(e))return(async()=>{for await(let t of e)return t})();for(let t of e)return t}var yu=lp;var gu=Y3,hp=Z3,E2=function(e){let t=0;if(e=e.toString().trim(),gu(e)){let r=new Uint8Array(t+4);return e.split(/\./g).forEach(n=>{r[t++]=parseInt(n,10)&255}),r}if(hp(e)){let r=e.split(":",8),n;for(n=0;n<r.length;n++){let o=gu(r[n]),s;o&&(s=E2(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")},mu=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={},S2={},dp=[[4,32,"ip4"],[6,16,"tcp"],[33,16,"dccp"],[41,128,"ip6"],[42,-1,"ip6zone"],[43,8,"ipcidr"],[53,-1,"dns",!0],[54,-1,"dns4",!0],[55,-1,"dns6",!0],[56,-1,"dnsaddr",!0],[132,16,"sctp"],[273,16,"udp"],[275,0,"p2p-webrtc-star"],[276,0,"p2p-webrtc-direct"],[277,0,"p2p-stardust"],[280,0,"webrtc-direct"],[281,0,"webrtc"],[290,0,"p2p-circuit"],[301,0,"udt"],[302,0,"utp"],[400,-1,"unix",!1,!0],[421,-1,"ipfs"],[421,-1,"p2p"],[443,0,"https"],[444,96,"onion"],[445,296,"onion3"],[446,-1,"garlic64"],[448,0,"tls"],[449,-1,"sni"],[460,0,"quic"],[461,0,"quic-v1"],[465,0,"webtransport"],[466,-1,"certhash"],[477,0,"ws"],[478,0,"wss"],[479,0,"p2p-websocket-star"],[480,0,"http"],[777,-1,"memory"]];dp.forEach(e=>{let t=yp(...e);S2[t.code]=t,X0[t.name]=t});function yp(e,t,r,n,i){return{code:e,size:t,name:r,resolvable:!!n,path:!!i}}function ot(e){if(typeof e=="number"){if(S2[e]!=null)return S2[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 Xe=$(j0(),1);var Mw=parseInt("0xFFFF",16),Kw=new Uint8Array([0,0,0,0,0,0,0,0,0,0,255,255]);var mb=ot("ip4"),xb=ot("ip6"),vb=ot("ipcidr");function Lu(e,t){switch(ot(e).code){case 4:case 41:return kp(t);case 42:return Pu(t);case 6:case 273:case 33:case 132:return Du(t).toString();case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Pu(t);case 421:return Op(t);case 444:return Nu(t);case 445:return Nu(t);case 466:return Up(t);default:return M(t,"base16")}}function ku(e,t){switch(ot(e).code){case 4:return Tu(t);case 41:return Tu(t);case 42:return Ru(t);case 6:case 273:case 33:case 132:return C2(parseInt(t,10));case 53:case 54:case 55:case 56:case 400:case 449:case 777:return Ru(t);case 421:return Dp(t);case 444:return Mp(t);case 445:return Kp(t);case 466:return Fp(t);default:return xt(t,"base16")}}var B2=Object.values(wr).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 Tu(e){if(!Nn(e))throw new Error("invalid ip address");return E2(e)}function kp(e){let t=mu(e,0,e.length);if(t==null)throw new Error("ipBuff is required");if(!Nn(t))throw new Error("invalid ip address");return t}function C2(e){let t=new ArrayBuffer(2);return new DataView(t).setUint16(0,e),new Uint8Array(t)}function Du(e){return new DataView(e.buffer).getUint16(e.byteOffset)}function Ru(e){let t=xt(e),r=Uint8Array.from(Xe.default.encode(t.length));return ut([r,t],r.length+t.length)}function Pu(e){let t=Xe.default.decode(e);if(e=e.slice(Xe.default.decode.bytes),e.length!==t)throw new Error("inconsistent lengths");return M(e)}function Dp(e){let t;e[0]==="Q"||e[0]==="1"?t=zr(St.decode(`z${e}`)).bytes:t=tt.parse(e).multihash.bytes;let r=Uint8Array.from(Xe.default.encode(t.length));return ut([r,t],r.length+t.length)}function Fp(e){let t=Lp.decode(e),r=Uint8Array.from(Xe.default.encode(t.length));return ut([r,t],r.length+t.length)}function Up(e){let t=Xe.default.decode(e),r=e.slice(Xe.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return"u"+M(r,"base64url")}function Op(e){let t=Xe.default.decode(e),r=e.slice(Xe.default.decode.bytes);if(r.length!==t)throw new Error("inconsistent lengths");return M(r,"base58btc")}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!==16)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion address.`);let r=ge.decode("b"+t[0]),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=C2(n);return ut([r,i],r.length+i.length)}function Kp(e){let t=e.split(":");if(t.length!==2)throw new Error(`failed to parse onion addr: ["'${t.join('", "')}'"]' does not contain a port number`);if(t[0].length!==56)throw new Error(`failed to parse onion addr: ${t[0]} not a Tor onion3 address.`);let r=ge.decode(`b${t[0]}`),n=parseInt(t[1],10);if(n<1||n>65536)throw new Error("Port number is not in range(1, 65536)");let i=C2(n);return ut([r,i],r.length+i.length)}function Nu(e){let t=e.slice(0,e.length-2),r=e.slice(e.length-2),n=M(t,"base32"),i=Du(r);return`${n}:${i}`}var s0=$(j0(),1);function Vp(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=ot(i);if(o.size===0){t.push([i]);continue}if(n++,n>=r.length)throw Uu("invalid address: "+e);if(o.path===!0){t.push([i,N2(r.slice(n).join("/"))]);break}t.push([i,r[n]])}return t}function qp(e){let t=[];return e.map(r=>{let n=D1(r);return t.push(n.name),r.length>1&&r[1]!=null&&t.push(r[1]),null}),N2(t.join("/"))}function zp(e){return e.map(t=>{Array.isArray(t)||(t=[t]);let r=D1(t);return t.length>1?[r.code,ku(r.code,t[1])]:[r.code]})}function _2(e){return e.map(t=>{let r=D1(t);return t[1]!=null?[r.code,Lu(r.code,t[1])]:[r.code]})}function T2(e){return k1(ut(e.map(t=>{let r=D1(t),n=Uint8Array.from(s0.default.encode(r.code));return t.length>1&&t[1]!=null&&(n=ut([n,t[1]])),n})))}function R2(e,t){return e.size>0?e.size/8:e.size===0?0:s0.default.decode(t)+(s0.default.decode.bytes??0)}function L1(e){let t=[],r=0;for(;r<e.length;){let n=s0.default.decode(e,r),i=s0.default.decode.bytes??0,o=ot(n),s=R2(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 Uu("Invalid address Uint8Array: "+M(e,"base16"));t.push([n,a])}return t}function P2(e){let t=L1(e),r=_2(t);return qp(r)}function $p(e){e=N2(e);let t=Vp(e),r=zp(t);return T2(r)}function Fu(e){return $p(e)}function k1(e){let t=Hp(e);if(t!=null)throw t;return Uint8Array.from(e)}function Hp(e){try{L1(e)}catch(t){return t}}function N2(e){return"/"+e.trim().split("/").filter(t=>t).join("/")}function Uu(e){return new Error("Error parsing address: "+e)}function D1(e){return ot(e[0])}var k2=$(j0(),1);var pr=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)},a0=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,ti,ei,Or,Ou,Qp=Symbol.for("nodejs.util.inspect.custom"),Wp=[ot("dns").code,ot("dns4").code,ot("dns6").code,ot("dnsaddr").code],Yp=new Map,Mu=Symbol.for("@multiformats/js-multiaddr/multiaddr");function Zp(e){return!!e?.[Mu]}var dr=class{constructor(t){if(J0.set(this,void 0),ti.set(this,void 0),ei.set(this,void 0),Or.set(this,void 0),this[Ou]=!0,t==null&&(t=""),t instanceof Uint8Array)this.bytes=k1(t);else if(typeof t=="string"){if(t.length>0&&t.charAt(0)!=="/")throw new Error(`multiaddr "${t}" must start with a "/"`);this.bytes=Fu(t)}else if(Zp(t))this.bytes=k1(t.bytes);else throw new Error("addr must be a string, Buffer, or another Multiaddr")}toString(){return pr(this,J0,"f")==null&&a0(this,J0,P2(this.bytes),"f"),pr(this,J0,"f")}toJSON(){return this.toString()}toOptions(){let t,r,n,i,o="",s=ot("tcp"),a=ot("udp"),u=ot("ip4"),c=ot("ip6"),f=ot("dns6"),l=ot("ip6zone");for(let[p,h]of this.stringTuples())p===l.code&&(o=`%${h??""}`),Wp.includes(p)&&(r=s.name,i=443,n=`${h??""}${o}`,t=p===f.code?6:4),(p===s.code||p===a.code)&&(r=ot(p).name,i=parseInt(h??"")),(p===u.code||p===c.code)&&(r=ot(p).name,n=`${h??""}${o}`,t=p===c.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({},ot(t)))}protoCodes(){let t=[],r=this.bytes,n=0;for(;n<r.length;){let i=k2.default.decode(r,n),o=k2.default.decode.bytes??0,s=ot(i),a=R2(s,r.slice(n+o));n+=a+o,t.push(i)}return t}protoNames(){return this.protos().map(t=>t.name)}tuples(){return pr(this,ti,"f")==null&&a0(this,ti,L1(this.bytes),"f"),pr(this,ti,"f")}stringTuples(){return pr(this,ei,"f")==null&&a0(this,ei,_2(this.tuples()),"f"),pr(this,ei,"f")}encapsulate(t){return t=new dr(t),new dr(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 dr(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 dr(T2(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(tt.parse(n).multihash.bytes,"base58btc")}return null}catch{return null}}getPath(){if(pr(this,Or,"f")===void 0)try{a0(this,Or,this.stringTuples().filter(t=>ot(t[0]).path===!0)[0][1],"f"),pr(this,Or,"f")==null&&a0(this,Or,null,"f")}catch{a0(this,Or,null,"f")}return pr(this,Or,"f")}equals(t){return st(this.bytes,t.bytes)}async resolve(t){let r=this.protos().find(o=>o.resolvable);if(r==null)return[this];let n=Yp.get(r.name);if(n==null)throw new C(`no available resolver for ${r.name}`,"ERR_NO_AVAILABLE_RESOLVER");return(await n(this,t)).map(o=>new dr(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,ti=new WeakMap,ei=new WeakMap,Or=new WeakMap,Ou=Mu,Qp)](){return`Multiaddr(${P2(this.bytes)})`}};function L2(e){return new dr(e)}var Ku;(function(e){let t;e.codec=()=>(t==null&&(t=Me((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=>Oe(r,e.codec()),e.decode=r=>Ue(r,e.codec())})(Ku||(Ku={}));var Mr;(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=()=>Rn(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=()=>Rn(i)}(n=e.ConnectionType||(e.ConnectionType={}));let o;(function(a){let u;a.codec=()=>(u==null&&(u=Me((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);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=>Oe(c,a.codec()),a.decode=c=>Ue(c,a.codec())})(o=e.Peer||(e.Peer={}));let s;e.codec=()=>(s==null&&(s=Me((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);if(a.providerPeers!=null)for(let f of a.providerPeers)u.uint32(74),e.Peer.codec().encode(f,u);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=>Oe(a,e.codec()),e.decode=a=>Ue(a,e.codec())})(Mr||(Mr={}));var _t=Mr.MessageType,Xp=Mr.ConnectionType,zu=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 Mr.encode({key:this.key,type:this.type,clusterLevelRaw:this.clusterLevelRaw,closerPeers:this.closerPeers.map(Vu),providerPeers:this.providerPeers.map(Vu),record:this.record==null?void 0:this.record.serialize().subarray()})}static deserialize(t){let r=Mr.decode(t),n=new gt(r.type??Mr.MessageType.PUT_VALUE,r.key??Uint8Array.from([]),r.clusterLevelRaw??0);return n.closerPeers=r.closerPeers.map(qu),n.providerPeers=r.providerPeers.map(qu),r.record?.length!=null&&(n.record=Rt.deserialize(r.record)),n}};function Vu(e){return{id:e.id.toBytes(),addrs:(e.multiaddrs??[]).map(r=>r.bytes),connection:Xp.CONNECTED}}function qu(e){if(e.id==null)throw new Error("Invalid peer in message");return{id:Zr(e.id),multiaddrs:(e.addrs??[]).map(t=>L2(t)),protocols:[]}}var yn=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)},yr,de=class extends EventTarget{constructor(){super(...arguments),yr.set(this,new Map)}listenerCount(t){let r=yn(this,yr,"f").get(t);return r==null?0:r.length}addEventListener(t,r,n){super.addEventListener(t,r,n);let i=yn(this,yr,"f").get(t);i==null&&(i=[],yn(this,yr,"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=yn(this,yr,"f").get(t);i!=null&&(i=i.filter(({callback:o})=>o!==r),yn(this,yr,"f").set(t,i))}dispatchEvent(t){let r=super.dispatchEvent(t),n=yn(this,yr,"f").get(t.type);return n==null||(n=n.filter(({once:i})=>!i),yn(this,yr,"f").set(t.type,n)),r}safeDispatchEvent(t,r){return this.dispatchEvent(new se(t,r))}};yr=new WeakMap;var D2=class extends Event{constructor(t,r){super(t,r),this.detail=r?.detail}},se=globalThis.CustomEvent??D2;function F2(e){return{...e,name:"SENDING_QUERY",type:0,messageName:e.type,messageType:zu.indexOf(e.type.toString())}}function ri(e){return{...e,name:"PEER_RESPONSE",type:1,messageName:e.messageType,closer:e.closer!=null?e.closer:[],providers:e.providers!=null?e.providers:[]}}function ni(e){return{...e,name:"FINAL_PEER",type:2}}function Gt(e){return{...e,name:"QUERY_ERROR",type:3}}function U2(e){return{...e,name:"PROVIDER",type:4}}function ii(e){return{...e,name:"VALUE",type:5}}function O2(e){return{...e,name:"DIALING_PEER",type:7}}var oi=class extends Error{constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function $u(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 Hu(e,t,r){let n=r??{},i=$u(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 oi(f,l)}let c=new Promise((f,l)=>{s=()=>{let{abortMessage:d,abortCode:p}=n;l(new oi(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&&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 jp(e,t,r){return n=>e(Hu(n,t,r))}function M2(e,t,r){return{sink:jp(e.sink,t,{...r,onAbort:void 0}),source:Hu(e.source,t,r)}}var F1=class extends de{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 O2({peer:t}),yield F2({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 ri({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 O2({peer:t}),yield F2({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 ri({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=M2(t,n.signal)),await Te([r],i=>hn(i),t,Z0)}async _writeReadMessage(t,r,n){n.signal!=null&&(t=M2(t,n.signal));let i=await Te([r],s=>hn(s),t,s=>dn(s),async s=>{let a=await yu(s);if(a!=null)return a;throw new C("No message received","ERR_NO_MESSAGE_RECEIVED")}),o=gt.deserialize(i);return o.closerPeers.forEach(s=>{this.dispatchEvent(new se("peer",{detail:s}))}),o.providerPeers.forEach(s=>{this.dispatchEvent(new se("peer",{detail:s}))}),o}};async function u0(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 new C(s,"ERR_INVALID_RECORD_KEY_TYPE")}await o(r,t.value)}var Jp=async(e,t)=>{if(!(e instanceof Uint8Array))throw new C('"key" must be a Uint8Array',"ERR_INVALID_RECORD_KEY_NOT_BUFFER");if(e.byteLength<5)throw new C("invalid public key record","ERR_INVALID_RECORD_KEY_TOO_SHORT");if(M(e.subarray(0,4))!=="/pk/")throw new C("key was not prefixed with /pk/","ERR_INVALID_RECORD_KEY_BAD_PREFIX");let n=e.slice(4),i=await mt.digest(t);if(!st(n,i.bytes))throw new C("public key does not match passed in key","ERR_INVALID_RECORD_HASH_MISMATCH")},Gu={pk:Jp};function Qu(e,t,r){if(r.length===0){let s="No records given";throw new C(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 new C(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 new C(s,"ERR_UNRECOGNIZED_KEY_PREFIX")}return r.length===1?0:o(t,r)}function td(e,t){return 0}var Wu={pk:td};function Re(){let e={};return e.promise=new Promise((t,r)=>{e.resolve=t,e.reject=r}),e}var U1=globalThis.CustomEvent??Event;async function*si(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=Re(),a=Re(),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=Re(),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"))})}u=!0,i.dispatchEvent(new U1("task-complete"))}catch(h){c=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=Re(),await a.promise),c!=null)throw c;if(n?yield*d():yield*p(),u&&o.length===0)break}}function ed(e){let[t,r]=e[Symbol.asyncIterator]!=null?[e[Symbol.asyncIterator](),Symbol.asyncIterator]:[e[Symbol.iterator](),Symbol.iterator],n=[];return{peek:()=>t.next(),push:i=>{n.push(i)},next:()=>n.length>0?{done:!1,value:n.shift()}:t.next(),[r](){return this}}}var Yu=ed;function rd(e){return e[Symbol.asyncIterator]!=null}function nd(e,t){if(rd(e))return async function*(){for await(let a of e)yield t(a)}();let r=Yu(e),{value:n,done:i}=r.next();if(i===!0)return function*(){}();let o=t(n);if(typeof o.then=="function")return async function*(){yield await o;for await(let a of r)yield t(a)}();let s=t;return function*(){yield o;for(let a of r)yield s(a)}()}var O1=nd;var M1=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=nr(t);await this.components.datastore.put(n,r)}async getLocal(t){this.log("getLocal %b",t);let r=nr(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=Rt.deserialize(n);return await u0(this.validators,i),i}async*sendCorrectionRecord(t,r,n,i={}){this.log("sendCorrection for %b",t);let o=gs(t,n);for(let{value:s,from:a}of r){if(st(s,n)){this.log("record was ok");continue}if(this.components.peerId.equals(a)){try{let f=nr(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 gt(_t.PUT_VALUE,t,0);c.record=Rt.deserialize(o);for await(let f of this.network.sendRequest(a,c,i))f.name==="PEER_RESPONSE"&&f.record!=null&&st(f.record.value,Rt.deserialize(o).value)&&(u=!0),yield f;u||(yield Gt({from:a,error:new C("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=gs(t,r),o=nr(t);this.log(`storing record for key ${o.toString()}`),await this.components.datastore.put(o,i.subarray()),yield*Te(this.peerRouting.getClosestPeers(t,{signal:n.signal}),s=>O1(s,a=>async()=>{if(a.name!=="FINAL_PEER")return[a];let u=[],c=new gt(_t.PUT_VALUE,t,0);c.record=Rt.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&&st(f.record.value,Rt.deserialize(i).value)||u.push(Gt({from:a.peer.id,error:new C("value not put correctly","ERR_PUT_VALUE_INVALID")})));return u}),s=>si(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=Qu(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 C("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 ii({value:a.value,from:this.components.peerId})}catch(a){this.log("error getting local value for %b",t,a)}let n=await Ke(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 ii({from:a,value:c.record.value}))};yield*this.queryManager.run(t,i,s,r)}};var K1=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 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 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*Te(this.peerRouting.getClosestPeers(t.multihash.bytes,n),a=>O1(a,u=>s(u)),a=>si(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 Ke(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))try{let d=await this.components.peerStore.get(l);f.push({id:l,multiaddrs:d.addresses.map(({multiaddr:p})=>p),protocols:d.protocols})}catch(d){if(d.code!=="ERR_NOT_FOUND")throw d;this.log("no peer store entry for %p",l)}yield ri({from:this.components.peerId,messageType:_t.GET_PROVIDERS,providers:f}),yield U2({from:this.components.peerId,providers:f})}if(a.length>=n)return;let u=async function*({peer:f,signal:l}){let d=new gt(_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 U2({from:f.from,providers:l})),c.size===n)return}}};function V1(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 q1=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:ar(this.originDhtKey,r)};this.peerDistances.push(n),this.peerDistances.sort((i,o)=>V1(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=ar(this.originDhtKey,i);if(V1(o,n)<0)return!0}return!1}};var z1=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 gt(_t.GET_VALUE,r,0);yield*this.network.sendRequest(t,i,n)}async*getPublicKeyFromNode(t,r={}){let n=l4(t);for await(let i of this._getValueSingle(t,n,r))if(yield i,i.name==="PEER_RESPONSE"&&i.record!=null){let o=await s4(S1.marshalPublicKey({bytes:i.record.value}));if(!o.equals(t))throw new C("public key does not match id","ERR_PUBLIC_KEY_DOES_NOT_MATCH_ID");if(o.publicKey==null)throw new C("public key missing","ERR_PUBLIC_KEY_MISSING");yield ii({from:t,value:o.publicKey})}throw new C(`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 ni({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 ni({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 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 ni({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:new C("Not found","ERR_NOT_FOUND")}))}async*getClosestPeers(t,r={}){this.log("getClosestPeers to %b",t);let n=await Ke(t),i=this.routingTable.closestPeers(n),o=this,s=new q1(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 gt(_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)try{let c=await this.components.peerStore.get(u);yield ni({from:this.components.peerId,peer:{id:u,multiaddrs:c.addresses.map(({multiaddr:f})=>f),protocols:c.protocols}})}catch(c){if(c.code!=="ERR_NOT_FOUND")throw c}}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 C(s,"ERR_INVALID_RECORD")});continue}yield i}}async _verifyRecordOnline(t){if(t.timeReceived==null)throw new C("invalid record received","ERR_INVALID_RECORD");await u0(this.validators,new Rt(t.key,t.value,t.timeReceived))}async getCloserPeersOffline(t,r){let n=await Ke(t),i=this.routingTable.closestPeers(n),o=[];for(let s of i)if(!s.equals(r))try{let a=await this.components.peerStore.get(s);o.push({id:s,multiaddrs:a.addresses.map(({multiaddr:u})=>u),protocols:a.protocols})}catch(a){if(a.code!=="ERR_NOT_FOUND")throw a}return o.length>0?this.log("getCloserPeersOffline found %d peer(s) closer to %b than %p",o.length,t,r):this.log("getCloserPeersOffline could not find peer closer to %b than %p",t,r),o}};var ju=$(Xu(),1),K2=$(j0(),1);var gr=z("libp2p:kad-dht:providers"),$1=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,ju.default)(n??256),this.syncQueue=new or({concurrency:1}),this.started=!1}isStarted(){return this.started}async start(){this.started||(this.started=!0,this.cleaner=setInterval(()=>{this._cleanup().catch(t=>{gr.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:ys});for await(let a of s)try{let{cid:u,peerId:c}=Ju(a.key),f=t8(a.value).getTime(),l=Date.now(),d=l-f,p=d>this.provideValidity;if(gr("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){gr.error(u.message)}i.size>0?(gr("deleting %d / %d entries",n,r),await o.commit()):gr("nothing to delete");for(let[a,u]of i){let c=ai(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)}}gr("Cleanup successful (%dms)",Date.now()-t)})}async _getProvidersMap(t){let r=ai(t),n=this.cache.get(r);return n==null&&(n=await ud(this.components.datastore,t),this.cache.set(r,n)),n}async addProvider(t,r){await this.syncQueue.add(async()=>{gr("%p provides %s",r,t);let n=await this._getProvidersMap(t);gr("loaded %s provs",n.size);let i=new Date;n.set(r.toString(),i);let o=ai(t);this.cache.set(o,n),await ad(this.components.datastore,t,r,i)})}async getProviders(t){return await this.syncQueue.add(async()=>(gr("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`${ys}/${t}`}async function ad(e,t,r,n){let i=[ai(t),"/",r.toString()].join(""),o=new Dt(i),s=Uint8Array.from(K2.default.encode(n.getTime()));await e.put(o,s)}function Ju(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 ud(e,t){let r=new Map,n=e.query({prefix:ai(t)});for await(let i of n){let{peerId:o}=Ju(i.key);r.set(o,t8(i.value))}return r}function t8(e){return new Date(K2.default.decode(e))}function f0(e){let t=new globalThis.AbortController;function r(){t.abort();for(let o of e)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}for(let o of e){if(o?.aborted===!0){r();break}o?.addEventListener!=null&&o.addEventListener("abort",r)}function n(){for(let o of e)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}let i=t.signal;return i.clear=n,i}var cd=BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");async function*e8(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 or({concurrency:s}),h=await Ke(t);function y(g,m){if(g==null)return;d.add(g);let x=BigInt("0x"+M(ar(m,h),"base16"));p.add(async()=>{let S=[i];f!=null&&S.push(AbortSignal.timeout(f));let L=f0(S);try{for await(let T of o({key:t,peer:g,signal:L,pathIndex:a,numPaths:u})){if(L.aborted)return;if(T.name==="PEER_RESPONSE")for(let _ of T.closer){if(d.has(_.id)){l("already seen %p in query",_.id);continue}if(n.equals(_.id)){l("not querying ourselves");continue}let q=await Jt(_.id);if(BigInt("0x"+M(ar(q,h),"base16"))>x){l("skipping %p as they are not closer to %b than %p",_.id,t,g);continue}l("querying closer peer %p",_.id),y(_.id,q)}p.emit("completed",T)}}catch(T){if(!i.aborted)return Gt({from:g,error:T})}finally{L.clear()}},{priority:cd-x}).catch(S=>{l.error(S)})}y(r,await Jt(r)),yield*fd(p,i,c,l)}async function*fd(e,t,r,n){let i=Re(),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(new C("Query aborted","ERR_QUERY_ABORTED"))}),r.addEventListener("cleanup",()=>{a(),i.resolve()});o;)for(await i.promise,i=Re();s.length>0;){let u=s.shift();u!=null&&(yield u)}yield*s}var gn=$(vi(),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.running=!1,this.alpha=o??3,this.lan=n,this.queries=0,this.initialQuerySelfHasRun=r.initialQuerySelfHasRun,this.shutDownController=new AbortController;try{gn.setMaxListeners!=null&&(0,gn.setMaxListeners)(1/0,this.shutDownController.signal)}catch{}}isStarted(){return this.running}async start(){this.running=!0,this.components.metrics!=null&&this.metrics==null&&(this.metrics={runningQueries:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_running_queries`),queryTime:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_query_time_seconds`)})}async stop(){this.running=!1,this.shutDownController.abort()}async*run(t,r,n,i={}){if(!this.running)throw new Error("QueryManager not started");let o=this.metrics?.queryTime.timer();if(i.signal==null){i.signal=AbortSignal.timeout(3e4);try{gn.setMaxListeners!=null&&(0,gn.setMaxListeners)(1/0,i.signal)}catch{}}let s=f0([this.shutDownController.signal,i.signal]);try{gn.setMaxListeners!=null&&(0,gn.setMaxListeners)(1/0,s)}catch{}let a=z(`libp2p:kad-dht:${this.lan?"lan":"wan"}:query:`+M(t,"base58btc")),u=r.slice(0,Math.min(this.disjointPaths,r.length)),c=Date.now(),f=new de;try{if(i.isSelfQuery!==!0&&this.initialQuerySelfHasRun!=null&&(a("waiting for initial query-self query before continuing"),await Promise.race([new Promise((p,h)=>{s.addEventListener("abort",()=>{h(new Yr("Query was aborted before self-query ran"))})}),this.initialQuerySelfHasRun.promise]),this.initialQuerySelfHasRun=void 0),a("query:start"),this.queries++,this.metrics?.runningQueries.update(this.queries),r.length===0){a.error("Running query with no peers");return}let l=new fe,d=u.map((p,h)=>e8({key:t,startingPeer:p,ourPeerId:this.components.peerId,signal:s,query:n,pathIndex:h,numPaths:u.length,alpha:this.alpha,cleanUp:f,queryFuncTimeout:i.queryFuncTimeout,log:a,peersSeen:l}));for await(let p of _e(...d))yield p,p.name==="QUERY_ERROR"&&a("error",p.error)}catch(l){if(!(!this.running&&l.code==="ERR_QUERY_ABORTED"))throw l}finally{s.clear(),this.queries--,this.metrics?.runningQueries.update(this.queries),o?.(),f.dispatchEvent(new se("cleanup")),a("query:done in %dms",Date.now()-c)}}};var ui=z("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 C("Missing key","ERR_MISSING_KEY");let n;try{n=tt.decode(r.key)}catch{throw new C("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 r8=z("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){r8("incoming request from %p for peers closer to %b",t,r.key);let n=[];st(this.components.peerId.toBytes(),r.key)?n=[{id:this.components.peerId,multiaddrs:this.components.addressManager.getAddresses().map(o=>o.decapsulateCode(ot("p2p").code)),protocols:[]}]:n=await this.peerRouting.getCloserPeersOffline(r.key,t),n=n.map(this.lan?Un:Fn).filter(({multiaddrs:o})=>o.length);let i=new gt(r.type,new Uint8Array(0),r.clusterLevel);return n.length>0?i.closerPeers=n:r8("could not find any peers closer to %b than %p",r.key,t),i}};var n8=z("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 C("Invalid CID","ERR_INVALID_CID")}n8("%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 gt(r.type,r.key,r.clusterLevel);return s.length>0&&(u.providerPeers=s),a.length>0&&(u.closerPeers=a),n8("got %s providers %s closerPeers",s.length,a.length),u}async _getAddresses(t){return[]}async _getPeers(t){let r=[],n=this.lan?Un:Fn;for(let i of t)try{let o=await this.components.peerStore.get(i),s=n({id:i,multiaddrs:o.addresses.map(({multiaddr:a})=>a),protocols:o.protocols});s.multiaddrs.length>0&&r.push(s)}catch(o){if(o.code!=="ERR_NOT_FOUND")throw o}return r}};var l0=z("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(l0("%p asked for key %b",t,n),n==null||n.length===0)throw new C("Invalid key","ERR_INVALID_KEY");let i=new gt(_t.GET_VALUE,n,r.clusterLevel);if(h4(n)){l0("is public key");let a=p4(n),u;try{let c=await this.components.peerStore.get(a);if(c.id.publicKey==null)throw new C("No public key found in key book","ERR_NOT_FOUND");u=c.id.publicKey}catch(c){if(c.code!=="ERR_NOT_FOUND")throw c}if(u!=null)return l0("returning found public key"),i.record=new Rt(n,u,new Date),i}let[o,s]=await Promise.all([this._checkLocalDatastore(n),this.peerRouting.getCloserPeersOffline(r.key,t)]);return o!=null&&(l0("had record for %b in local datastore",n),i.record=o),s.length>0&&(l0("had %s closer peers in routing table",s.length),i.closerPeers=s),i}async _checkLocalDatastore(t){l0("checkLocalDatastore looking for %b",t);let r=nr(t),n;try{n=await this.components.datastore.get(r)}catch(o){if(o.code==="ERR_NOT_FOUND")return;throw o}let i=Rt.deserialize(n);if(i==null)throw new C("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 pd=z("libp2p:kad-dht:rpc:handlers:ping"),X1=class{async handle(t,r){return pd("ping from %p",t),r}};var j1=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),new C(o,"ERR_EMPTY_RECORD")}try{await u0(this.validators,i),i.timeReceived=new Date;let o=nr(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=z("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 Te(r,s=>dn(s),async function*(s){for await(let a of s){let u=gt.deserialize(a);o.log("incoming %s from %p",u.type,i);let c=await o.handleMessage(i,u);c!=null&&(yield c.serialize())}},s=>hn(s),r)}).catch(r=>{this.log.error(r)})}};var V2=Symbol.for("@libp2p/topology");var i8=()=>{},q2=class{constructor(t){this.min=t.min??0,this.max=t.max??1/0,this.peers=new Set,this.onConnect=t.onConnect??i8,this.onDisconnect=t.onDisconnect??i8}get[Symbol.toStringTag](){return V2.toString()}get[V2](){return!0}async setRegistrar(t){this.registrar=t}disconnect(t){this.onDisconnect(t)}};function o8(e){return new q2(e)}var to=class extends de{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=o8({onConnect:r=>{this.log("observed peer %p with protocol %s",r,this.protocol),this.dispatchEvent(new se("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 z2=$(vi(),1);function dd(e){return e[Symbol.asyncIterator]!=null}function yd(e,t){return dd(e)?async function*(){let r=0;if(!(t<1)){for await(let n of e)if(yield n,r++,r===t)return}}():function*(){let r=0;if(!(t<1)){for(let n of e)if(yield n,r++,r===t)return}}()}var s8=yd;function vd(e,t){let r;return function(){let n=function(){r=void 0,e()};clearTimeout(r),r=setTimeout(n,t)}}var eo=class{constructor(t,r){let{peerRouting:n,lan:i,count:o,interval:s,queryTimeout:a,routingTable:u}=r;this.components=t,this.log=z(`libp2p:kad-dht:${i?"lan":"wan"}:query-self`),this.running=!1,this.started=!1,this.peerRouting=n,this.routingTable=u,this.count=o??20,this.interval=s??3e5,this.initialInterval=r.initialInterval??1e3,this.queryTimeout=a??5e3,this.initialQuerySelfHasRun=r.initialQuerySelfHasRun,this.querySelf=vd(this.querySelf.bind(this),100)}isStarted(){return this.started}async start(){this.started||(this.started=!0,clearTimeout(this.timeoutId),this.timeoutId=setTimeout(this.querySelf.bind(this),this.initialInterval))}async stop(){this.started=!1,this.timeoutId!=null&&clearTimeout(this.timeoutId),this.controller!=null&&this.controller.abort()}querySelf(){if(!this.started){this.log("skip self-query because we are not started");return}if(this.running){this.log("skip self-query because we are already running, will run again in %dms",this.interval);return}if(this.routingTable.size===0){let t=this.interval;this.initialQuerySelfHasRun!=null&&(t=this.initialInterval),this.log("skip self-query because routing table is empty, will run again in %dms",t),clearTimeout(this.timeoutId),this.timeoutId=setTimeout(this.querySelf.bind(this),t);return}this.running=!0,Promise.resolve().then(async()=>{this.controller=new AbortController;let t=f0([this.controller.signal,AbortSignal.timeout(this.queryTimeout)]);try{z2.setMaxListeners!=null&&(0,z2.setMaxListeners)(1/0,t)}catch{}try{this.log("run self-query, look for %d peers timing out after %dms",this.count,this.queryTimeout);let r=await Te(this.peerRouting.getClosestPeers(this.components.peerId.toBytes(),{signal:t,isSelfQuery:!0}),n=>s8(n,this.count),async n=>await A1(n));this.log("self-query ran successfully - found %d peers",r),this.initialQuerySelfHasRun!=null&&(this.initialQuerySelfHasRun.resolve(),this.initialQuerySelfHasRun=void 0)}catch(r){this.log.error("self-query error",r)}finally{t.clear()}}).catch(t=>{this.log("self-query error",t)}).finally(()=>{this.running=!1,this.log("running self-query again in %dms",this.interval),clearTimeout(this.timeoutId),this.timeoutId=setTimeout(this.querySelf.bind(this),this.interval)})}};var a8=Symbol.for("@libp2p/peer-discovery"),ro=Symbol.for("@libp2p/peer-discovery");var wd=32,bd=64,ci=class extends de{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=!!u,this.log=z(`libp2p:kad-dht:${u===!0?"lan":"wan"}`),this.protocol=`${c??u4}${u===!0?a4:""}${c4}`,this.kBucketSize=n??20,this.clientMode=i??!0,this.maxInboundStreams=d??wd,this.maxOutboundStreams=p??bd,this.routingTable=new zi(t,{kBucketSize:n,lan:this.lan,pingTimeout:f,pingConcurrency:l,protocol:this.protocol}),this.providers=new $1(t,h??{}),this.validators={...Gu,...o},this.selectors={...Wu,...s},this.network=new F1(t,{protocol:this.protocol,lan:this.lan});let y=Re();r.allowQueryWithZeroPeers===!0&&y.resolve(),this.queryManager=new G1(t,{disjointPaths:Math.ceil(this.kBucketSize/2),lan:u,initialQuerySelfHasRun:y}),this.peerRouting=new z1(t,{routingTable:this.routingTable,network:this.network,validators:this.validators,queryManager:this.queryManager,lan:this.lan}),this.contentFetching=new M1(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 K1(t,{network:this.network,peerRouting:this.peerRouting,queryManager:this.queryManager,routingTable:this.routingTable,providers:this.providers,lan:this.lan}),this.routingTableRefresh=new B1({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,initialInterval:r.initialQuerySelfInterval,lan:this.lan,initialQuerySelfHasRun:y,routingTable:this.routingTable}),this.network.addEventListener("peer",g=>{let m=g.detail;this.onPeerConnect(m).catch(x=>{this.log.error("could not add %p to routing table",m.id,x)}),this.dispatchEvent(new se("peer",{detail:m}))}),this.topologyListener.addEventListener("peer",g=>{let m=g.detail;Promise.resolve().then(async()=>{let x=await this.components.peerStore.get(m),S={id:m,multiaddrs:x.addresses.map(({multiaddr:L})=>L),protocols:x.protocols};await this.onPeerConnect(S)}).catch(x=>{this.log.error("could not add %p to routing table",m,x)})})}get[ro](){return!0}get[Symbol.toStringTag](){return"@libp2p/kad-dht"}async onPeerConnect(t){if(this.log("peer %p connected with protocols",t.id,t.protocols),this.lan?t=Un(t):t=Fn(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 Ed=z("libp2p:kad-dht"),no=class extends de{constructor(t,r,n){super(),this.components=t,this.wan=r,this.lan=n,this.wan.addEventListener("peer",i=>{this.dispatchEvent(new se("peer",{detail:i.detail}))}),this.lan.addEventListener("peer",i=>{this.dispatchEvent(new se("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 _e(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 _e(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 C("No peers found in routing table!","ERR_NO_PEERS_IN_ROUTING_TABLE");i||(yield Gt({from:this.components.peerId,error:new C("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 _e(...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"&&(Ed("sent provider record for %s to %p",t,a.from),i++);if(i===0)throw o.length>0?new C(`Failed to provide to ${o.length} of ${n} peers`,"ERR_PROVIDES_FAILED",{errors:o}):new C("Failed to provide - no peers found","ERR_PROVIDES_FAILED")}async*findProviders(t,r={}){yield*_e(this.lan.findProviders(t,r),this.wan.findProviders(t,r))}async*findPeer(t,r={}){let n=!1;for await(let i of _e(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 C("Peer lookup failed","ERR_LOOKUP_FAILED")}async*getClosestPeers(t,r={}){yield*_e(this.lan.getClosestPeers(t,r),this.wan.getClosestPeers(t,r))}async refreshRoutingTable(){await Promise.all([this.lan.refreshRoutingTable(),this.wan.refreshRoutingTable()])}};var u8=Symbol.for("@libp2p/content-routing");var c8=Symbol.for("@libp2p/peer-routing");var io=class{constructor(t){this.dht=t}async provide(t){await Z0(this.dht.provide(t))}async*findProviders(t,r={}){for await(let n of this.dht.findProviders(t,r))n.name==="PROVIDER"&&(yield*n.providers)}async put(t,r,n){await Z0(this.dht.put(t,r,n))}async get(t,r){for await(let n of this.dht.get(t,r))if(n.name==="VALUE")return n.value;throw new C("Not found","ERR_NOT_FOUND")}},oo=class{constructor(t){this.dht=t}async findPeer(t,r={}){for await(let n of this.dht.findPeer(t,r))if(n.name==="FINAL_PEER")return n.peer;throw new C("Not found","ERR_NOT_FOUND")}async*getClosestPeers(t,r={}){for await(let n of this.dht.getClosestPeers(t,r))n.name==="FINAL_PEER"&&(yield n.peer)}},$2=class extends no{constructor(t,r){super(t,new ci(t,{protocolPrefix:"/ipfs",...r,lan:!1}),new ci(t,{protocolPrefix:"/ipfs",...r,clientMode:!1,lan:!0})),this.contentRouting=new io(this),this.peerRouting=new oo(this)}get[u8](){return this.contentRouting}get[c8](){return this.peerRouting}get[a8](){return this}};function Sd(e){return t=>new $2(t,e)}return y8(Ad);})();
|
|
27
|
+
`.replace(/\s*\/\/.*$/gm,"").replace(/\n/g,"").trim(),jf=new RegExp(`(?:^${Ee}$)|(?:^${N0}$)`),Jf=new RegExp(`^${Ee}$`),t7=new RegExp(`^${N0}$`),ms=e=>e&&e.exact?jf:new RegExp(`(?:${Ir(e)}${Ee}${Ir(e)})|(?:${Ir(e)}${N0}${Ir(e)})`,"g");ms.v4=e=>e&&e.exact?Jf:new RegExp(`${Ir(e)}${Ee}${Ir(e)}`,"g");ms.v6=e=>e&&e.exact?t7:new RegExp(`${Ir(e)}${N0}${Ir(e)}`,"g");var u4=ms;var p4=$(f4(),1),{isValid:e7,parse:r7}=p4.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 h4.Netmask(e));function o7(e){for(let t of i7)if(t.contains(e))return!0;return!1}function l4(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 d4=e=>{if(e7(e)){let t=r7(e);if(t.kind()==="ipv4")return o7(t.toNormalizedString());if(t.kind()==="ipv6")return l4(e)}else if(Nn(e)&&u4.v6().test(e))return l4(e)};var xs=d4;var s7=xt("/pk/");function Un(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=xs(n);return i==null?!0:!i})}}function On(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=xs(n);return i??!1})}}async function Oe(e){return(await mt.digest(e)).digest}async function ee(e){return Oe(e.toBytes())}function or(e){return new Dt(`${t4}/${M(e,"base32")}`,!1)}function y4(e){return ut([s7,e.toBytes()])}function g4(e){return M(e.subarray(0,4))==="/pk/"}function m4(e){return Gr(e.subarray(4))}function vs(e,t){let r=new Date;return new Rt(e,t,r).serialize()}function x4(e,t=100){let r;return()=>{clearTimeout(r),r=setTimeout(()=>{e()},t)}}var D0=class{log;components;validators;selectors;peerRouting;queryManager;routingTable;network;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=or(t);await this.components.datastore.put(n,r)}async getLocal(t){this.log("getLocal %b",t);let r=or(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=Rt.deserialize(n);return await Fn(this.validators,i),i}async*sendCorrectionRecord(t,r,n,i={}){this.log("sendCorrection for %b",t);let o=vs(t,n);for(let{value:s,from:a}of r){if(st(s,n)){this.log("record was ok");continue}if(this.components.peerId.equals(a)){try{let f=or(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 dt(At.PUT_VALUE,t,0);c.record=Rt.deserialize(o);for await(let f of this.network.sendRequest(a,c,i))f.name==="PEER_RESPONSE"&&f.record!=null&&st(f.record.value,Rt.deserialize(o).value)&&(u=!0),yield f;u||(yield zt({from:a,error:new C("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=vs(t,r),o=or(t);this.log(`storing record for key ${o.toString()}`),await this.components.datastore.put(o,i.subarray()),yield*be(this.peerRouting.getClosestPeers(t,{signal:n.signal}),s=>R0(s,a=>async()=>{if(a.name!=="FINAL_PEER")return[a];let u=[],c=new dt(At.PUT_VALUE,t,0);c.record=Rt.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&&st(f.record.value,Rt.deserialize(i).value)||u.push(zt({from:a.peer.id,error:new C("value not put correctly","ERR_PUT_VALUE_INVALID")})));return u}),s=>Ti(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=W3(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 C("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 Ci({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:u}){for await(let c of o.peerRouting.getValueOrPeers(a,t,{signal:u}))yield c,c.name==="PEER_RESPONSE"&&c.record!=null&&(yield Ci({from:a,value:c.record.value}))};yield*this.queryManager.run(t,i,s,r)}};var F0=class{log;components;network;peerRouting;queryManager;routingTable;providers;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 dt(At.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(zt({from:a.peer.id,error:c}))}return u};yield*be(this.peerRouting.getClosestPeers(t.multihash.bytes,n),a=>R0(a,u=>s(u)),a=>Ti(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 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))try{let d=await this.components.peerStore.get(l);f.push({id:l,multiaddrs:d.addresses.map(({multiaddr:p})=>p),protocols:d.protocols})}catch(d){if(d.code!=="ERR_NOT_FOUND")throw d;this.log("no peer store entry for %p",l)}yield Ai({from:this.components.peerId,messageType:At.GET_PROVIDERS,providers:f}),yield ps({from:this.components.peerId,providers:f})}if(a.length>=n)return;let u=async function*({peer:f,signal:l}){let d=new dt(At.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 ps({from:f.from,providers:l})),c.size===n)return}}};var Ri=class extends Error{constructor(t,r){super(t??"The operation was aborted"),this.type="aborted",this.code=r??"ABORT_ERR"}};function v4(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 w4(e,t,r){let n=r??{},i=v4(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 Ri(f,l)}let c=new Promise((f,l)=>{s=()=>{let{abortMessage:d,abortCode:p}=n;l(new Ri(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&&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 a7(e,t,r){return n=>e(w4(n,t,r))}function bs(e,t,r){return{sink:a7(e.sink,t,{...r,onAbort:void 0}),source:w4(e.source,t,r)}}function u7(e){return e[Symbol.asyncIterator]!=null}function c7(e){if(u7(e))return(async()=>{for await(let t of e)return t})();for(let t of e)return t}var b4=c7;var S4=Symbol.for("@achingbrain/uint8arraylist");function E4(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 U0(e){return!!e?.[S4]}var Me=class{constructor(...t){Object.defineProperty(this,S4,{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(U0(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(U0(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=E4(this.bufs,t);return r.buf[r.index]}set(t,r){let n=E4(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(U0(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 ut(n,i)}subarray(t,r){let{bufs:n,length:i}=this._subList(t,r);return n.length===1?n[0]:ut(n,i)}sublist(t,r){let{bufs:n,length:i}=this._subList(t,r),o=new Me;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(!U0(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=te(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=er(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=er(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=er(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=te(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=er(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=er(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=er(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=er(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=er(8);new DataView(i.buffer,i.byteOffset,i.byteLength).setFloat64(0,r,n),this.write(i,t)}equals(t){if(t==null||!(t instanceof Me)||t.bufs.length!==this.bufs.length)return!1;for(let r=0;r<this.bufs.length;r++)if(!st(this.bufs[r],t.bufs[r]))return!1;return!0}static fromUint8Arrays(t,r){let n=new Me;return n.bufs=t,r==null&&(r=t.reduce((i,o)=>i+o.byteLength,0)),n.length=r,n}};function O0(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 I4=4294967296,re=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 re(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 re(r,n)}toBytes(t,r=0){let n=O0(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 re;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>I4&&(i=0,++n>I4&&(n=0))),new re(n,i)}static fromNumber(t){if(t===0)return new re;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 re(i,n)}static fromBytes(t,r=0){let n=O0(t),i=new re,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 f7=Math.pow(2,7),l7=Math.pow(2,14),h7=Math.pow(2,21),p7=Math.pow(2,28),d7=Math.pow(2,35),y7=Math.pow(2,42),g7=Math.pow(2,49),m7=Math.pow(2,56),x7=Math.pow(2,63),Zr={encodingLength(e){return e<f7?1:e<l7?2:e<h7?3:e<p7?4:e<d7?5:e<y7?6:e<g7?7:e<m7?8:e<x7?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=te(Zr.encodingLength(e))),re.fromNumber(e).toBytes(t,r),t},decode(e,t=0){return re.fromBytes(e,t).toNumber(!0)}};function M0(e){return e[Symbol.asyncIterator]!=null}var K0=e=>{let t=Zr.encodingLength(e),r=te(t);return Zr.encode(e,r),K0.bytes=t,r};K0.bytes=0;function Xr(e,t){t=t??{};let r=t.lengthEncoder??K0;function*n(i){let o=r(i.byteLength);o instanceof Uint8Array?yield o:yield*o,i instanceof Uint8Array?yield i:yield*i}return M0(e)?async function*(){for await(let i of e)yield*n(i)}():function*(){for(let i of e)yield*n(i)}()}Xr.single=(e,t)=>{t=t??{};let r=t.lengthEncoder??K0;return new Me(r(e.byteLength),e)};var Kn=$(C4(),1);var w7=8,b7=1024*1024*4,jr;(function(e){e[e.LENGTH=0]="LENGTH",e[e.DATA=1]="DATA"})(jr||(jr={}));var Es=e=>{let t=Zr.decode(e);return Es.bytes=Zr.encodingLength(t),t};Es.bytes=0;function Jr(e,t){let r=new Me,n=jr.LENGTH,i=-1,o=t?.lengthDecoder??Es,s=t?.maxLengthLength??w7,a=t?.maxDataLength??b7;function*u(){for(;r.byteLength>0;){if(n===jr.LENGTH)try{if(i=o(r),i<0)throw(0,Kn.default)(new Error("invalid message length"),"ERR_INVALID_MSG_LENGTH");if(i>a)throw(0,Kn.default)(new Error("message length too long"),"ERR_MSG_DATA_TOO_LONG");let c=o.bytes;r.consume(c),t?.onLength!=null&&t.onLength(i),n=jr.DATA}catch(c){if(c instanceof RangeError){if(r.byteLength>s)throw(0,Kn.default)(new Error("message length length too long"),"ERR_MSG_LENGTH_TOO_LONG");break}throw c}if(n===jr.DATA){if(r.byteLength<i)break;let c=r.sublist(0,i);r.consume(i),t?.onData!=null&&t.onData(c),yield c,n=jr.LENGTH}}}return M0(e)?async function*(){for await(let c of e)r.append(c),yield*u();if(r.byteLength>0)throw(0,Kn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}():function*(){for(let c of e)r.append(c),yield*u();if(r.byteLength>0)throw(0,Kn.default)(new Error("unexpected end of input"),"ERR_UNEXPECTED_EOF")}()}Jr.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 Jr(n,{...t??{},onLength:o=>{r=o}})};var V0=class extends ae{log;protocol;running;components;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 ds({peer:t}),yield hs({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 Ai({from:t,messageType:a.type,closer:a.closerPeers,providers:a.providerPeers,record:a.record})}catch(o){yield zt({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 ds({peer:t}),yield hs({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 Ai({from:t,messageType:r.type})}catch(o){yield zt({from:t,error:o})}finally{i?.close()}}async _writeMessage(t,r,n){n.signal!=null&&(t=bs(t,n.signal)),await be([r],i=>Xr(i),t,hi)}async _writeReadMessage(t,r,n){n.signal!=null&&(t=bs(t,n.signal));let i=await be([r],s=>Xr(s),t,s=>Jr(s),async s=>{let a=await b4(s);if(a!=null)return a;throw new C("No message received","ERR_NO_MESSAGE_RECEIVED")}),o=dt.deserialize(i);return o.closerPeers.forEach(s=>{this.dispatchEvent(new jt("peer",{detail:s}))}),o.providerPeers.forEach(s=>{this.dispatchEvent(new jt("peer",{detail:s}))}),o}};var Bt={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 _4={SHA1:20,SHA256:32,SHA512:64};var E7={SHA1:"SHA-1",SHA256:"SHA-256",SHA512:"SHA-512"},S7=async(e,t)=>{let r=await Bt.get().subtle.sign({name:"HMAC"},e,t);return new Uint8Array(r,0,r.byteLength)};async function R4(e,t){let r=E7[e],n=await Bt.get().subtle.importKey("raw",t,{name:"HMAC",hash:{name:r}},!1,["sign"]);return{async digest(i){return await S7(n,i)},length:_4[e]}}var fw=$(G0(),1),P7=$(nt(),1);var b1={};Nt(b1,{generateEphemeralKeyPair:()=>t5,generateKeyPair:()=>Xh,generateKeyPairFromSeed:()=>jh,importKey:()=>rp,keyStretcher:()=>Wu,keysPBM:()=>zn,marshalPrivateKey:()=>ep,marshalPublicKey:()=>tp,supportedKeys:()=>We,unmarshalPrivateKey:()=>t6,unmarshalPublicKey:()=>Jh});var zn={};Nt(zn,{KeyType:()=>ct,PrivateKey:()=>Ae,PublicKey:()=>Ie});var ct;(function(e){e.RSA="RSA",e.Ed25519="Ed25519",e.Secp256k1="Secp256k1"})(ct||(ct={}));var ks;(function(e){e[e.RSA=0]="RSA",e[e.Ed25519=1]="Ed25519",e[e.Secp256k1=2]="Secp256k1"})(ks||(ks={}));(function(e){e.codec=()=>Pn(ks)})(ct||(ct={}));var Ie;(function(e){let t;e.codec=()=>(t==null&&(t=Fe((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=>De(r,e.codec()),e.decode=r=>ke(r,e.codec())})(Ie||(Ie={}));var Ae;(function(e){let t;e.codec=()=>(t==null&&(t=Fe((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=>De(r,e.codec()),e.decode=r=>ke(r,e.codec())})(Ae||(Ae={}));var Zb=$(ki(),1),Xb=$(Gu(),1),w1=$(nt(),1);var Qu={"AES-128":{ivSize:16,keySize:16},"AES-256":{ivSize:16,keySize:32},Blowfish:{ivSize:8,keySize:32}};async function Wu(e,t,r){let n=Qu[e];if(n==null){let x=Object.keys(Qu).join(" / ");throw new C(`unknown cipher type '${e}'. Must be ${x}`,"ERR_INVALID_CIPHER_TYPE")}if(t==null)throw new C("missing hash type","ERR_MISSING_HASH_TYPE");let i=n.keySize,o=n.ivSize,s=20,a=xt("key expansion"),u=2*(o+i+s),c=await R4(t,r),f=await c.digest(a),l=[],d=0;for(;d<u;){let x=await c.digest(ut([f,a])),S=x.length;d+S>u&&(S=u-d),l.push(x),d+=S,f=await c.digest(f)}let p=u/2,h=ut(l),y=h.subarray(0,p),g=h.subarray(p,u),m=x=>({iv:x.subarray(0,o),cipherKey:x.subarray(o,o+i),macKey:x.subarray(o+i)});return{k1:m(y),k2:m(g)}}var zw=$(Ct(),1),$w=$(r1(),1),Yu=$(nt(),1);function Ce(e,t){let r=Uint8Array.from(e.abs().toByteArray());if(r=r[0]===0?r.subarray(1):r,t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=ut([new Uint8Array(t-r.length),r])}return M(r,"base64url")}function ne(e){let t=s1(e);return new Yu.default.jsbn.BigInteger(M(t,"base16"),16)}function s1(e,t){let r=xt(e,"base64urlpad");if(t!=null){if(r.length>t)throw new Error("byte array longer than desired length");r=ut([new Uint8Array(t-r.length),r])}return r}var Zu={"P-256":256,"P-384":384,"P-521":521},X9=Object.keys(Zu),Gs=X9.join(" / ");async function Xu(e){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw new C(`Unknown curve: ${e}. Must be ${Gs}`,"ERR_INVALID_CURVE");let t=await Bt.get().subtle.generateKey({name:"ECDH",namedCurve:e},!0,["deriveBits"]),r=async(o,s)=>{let a;s!=null?a=await Bt.get().subtle.importKey("jwk",J9(e,s),{name:"ECDH",namedCurve:e},!1,["deriveBits"]):a=t.privateKey;let u=await Bt.get().subtle.importKey("jwk",Ju(e,o),{name:"ECDH",namedCurve:e},!1,[]),c=await Bt.get().subtle.deriveBits({name:"ECDH",namedCurve:e,public:u},a,Zu[e]);return new Uint8Array(c,0,c.byteLength)},n=await Bt.get().subtle.exportKey("jwk",t.publicKey);return{key:j9(n),genSharedKey:r}}var ju={"P-256":32,"P-384":48,"P-521":66};function j9(e){if(e.crv==null||e.x==null||e.y==null)throw new C("JWK was missing components","ERR_INVALID_PARAMETERS");if(e.crv!=="P-256"&&e.crv!=="P-384"&&e.crv!=="P-521")throw new C(`Unknown curve: ${e.crv}. Must be ${Gs}`,"ERR_INVALID_CURVE");let t=ju[e.crv];return ut([Uint8Array.from([4]),s1(e.x,t),s1(e.y,t)],1+t*2)}function Ju(e,t){if(e!=="P-256"&&e!=="P-384"&&e!=="P-521")throw new C(`Unknown curve: ${e}. Must be ${Gs}`,"ERR_INVALID_CURVE");let r=ju[e];if(!st(t.subarray(0,1),Uint8Array.from([4])))throw new C("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 J9=(e,t)=>({...Ju(e,t.public),d:M(t.private,"base64url")});var t5=Xu;function e5(){return typeof navigator<"u"&&navigator.userAgent.includes("Safari")&&navigator.userAgent.includes("Linux")&&!navigator.userAgent.includes("Chrome")}var r5={alg:"A128GCM",ext:!0,k:"scm9jmO_4BJAgdwWGVulLg",key_ops:["encrypt","decrypt"],kty:"oct"};function a1(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=Bt.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=xt(d));let g;if(d.length===0&&e5())g=await a.subtle.importKey("jwk",r5,{name:"AES-GCM"},!0,["encrypt"]);else{let x={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},S=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);g=await a.subtle.deriveKey(x,S,{name:t,length:r},!0,["encrypt"])}let m=await a.subtle.encrypt(y,g,l);return ut([p,y.iv,new Uint8Array(m)])}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=xt(d));let m;if(d.length===0&&e5())m=await a.subtle.importKey("jwk",r5,{name:"AES-GCM"},!0,["decrypt"]);else{let S={name:"PBKDF2",salt:p,iterations:s,hash:{name:i}},N=await a.subtle.importKey("raw",d,{name:"PBKDF2"},!1,["deriveKey"]);m=await a.subtle.deriveKey(S,N,{name:t,length:r},!0,["decrypt"])}let x=await a.subtle.decrypt(g,m,y);return new Uint8Array(x)}return{encrypt:u,decrypt:c}}async function i5(e,t){let r=zr.decode(e);return await a1().decrypt(r,t)}var n2={};Nt(n2,{RsaPrivateKey:()=>ti,RsaPublicKey:()=>zi,fromJwk:()=>Ih,generateKeyPair:()=>Ah,unmarshalRsaPrivateKey:()=>Eh,unmarshalRsaPublicKey:()=>Sh});var kb=$(c5(),1),qi=$(nt(),1);var eh=$($n(),1);var Y=BigInt(0),ht=BigInt(1),Rr=BigInt(2),Mi=BigInt(3),f5=BigInt(8),Et=Object.freeze({a:Y,b:BigInt(7),P:BigInt("0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f"),n:BigInt("0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141"),h:ht,Gx:BigInt("55066263022277343669578718895168534326250603453777594175500187360389116729240"),Gy:BigInt("32670510020758816978083085130507043184471273380659243275938904335757337482424"),beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee")}),l5=(e,t)=>(e+t/Rr)/t,u1={beta:BigInt("0x7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee"),splitScalar(e){let{n:t}=Et,r=BigInt("0x3086d221a7d46bcde86c90e49284eb15"),n=-ht*BigInt("0xe4437ed6010e88286f547fa90abfe4c3"),i=BigInt("0x114ca50f7a8e2f3f657c1108d9d44cfd8"),o=r,s=BigInt("0x100000000000000000000000000000000"),a=l5(o*e,t),u=l5(-n*e,t),c=L(e-a*r-u*i,t),f=L(-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}}},Te=32,Yn=32,rh=32,h5=Te+1,p5=2*Te+1;function d5(e){let{a:t,b:r}=Et,n=L(e*e),i=L(n*e);return L(i+t*e+r)}var c1=Et.a===Y,h1=class extends Error{constructor(t){super(t)}};function y5(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,ht)}static toAffineBatch(t){let r=ah(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){y5(t);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t,u=L(i*i),c=L(a*a),f=L(r*c),l=L(o*u),d=L(L(n*a)*c),p=L(L(s*i)*u);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,u=L(Rr*(L(a*a)-i-s)),c=L(Mi*i),f=L(c*c),l=L(f-Rr*u),d=L(c*(u-l)-f5*s),p=L(Rr*r*n);return new J(l,d,p)}add(t){y5(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 u=L(i*i),c=L(a*a),f=L(r*c),l=L(o*u),d=L(L(n*a)*c),p=L(L(s*i)*u),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),x=L(f*g),S=L(y*y-m-Rr*x),N=L(y*(x-S)-d*m),_=L(i*a*h);return new J(S,N,_)}subtract(t){return this.add(t.negate())}multiplyUnsafe(t){let r=J.ZERO;if(typeof t=="bigint"&&t===Y)return r;let n=x5(t);if(n===ht)return this;if(!c1){let l=r,d=this;for(;n>Y;)n&ht&&(l=l.add(d)),d=d.double(),n>>=ht;return l}let{k1neg:i,k1:o,k2neg:s,k2:a}=u1.splitScalar(n),u=r,c=r,f=this;for(;o>Y||a>Y;)o&ht&&(u=u.add(f)),a&ht&&(c=c.add(f)),f=f.double(),o>>=ht,a>>=ht;return i&&(u=u.negate()),s&&(c=c.negate()),c=new J(L(c.x*u1.beta),c.y,c.z),u.add(c)}precomputeWindow(t){let r=c1?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&&Zs.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=J.normalizeZ(i),Zs.set(r,i)));let o=J.ZERO,s=J.BASE,a=1+(c1?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);t>>=l,h>u&&(h-=f,t+=ht);let y=p,g=p+Math.abs(h)-1,m=d%2!==0,x=h<0;h===0?s=s.add(f1(m,i[y])):o=o.add(f1(x,i[g]))}return{p:o,f:s}}multiply(t,r){let n=x5(t),i,o;if(c1){let{k1neg:s,k1:a,k2neg:u,k2:c}=u1.splitScalar(n),{p:f,f:l}=this.wNAF(a,r),{p:d,f:p}=this.wNAF(c,r);f=f1(s,f),d=f1(u,d),d=new J(L(d.x*u1.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?f5:jn(i));let s=t,a=L(s*s),u=L(a*s),c=L(r*a),f=L(n*u),l=L(i*s);if(o)return et.ZERO;if(l!==ht)throw new Error("invZ was invalid");return new et(c,f)}};J.BASE=new J(Et.Gx,Et.Gy,ht);J.ZERO=new J(Y,ht,Y);function f1(e,t){let r=t.negate();return e?r:t}var Zs=new WeakMap,et=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,Zs.delete(this)}hasEvenY(){return this.y%Rr===Y}static fromCompressedHex(t){let r=t.length===32,n=Pr(r?t:t.subarray(1));if(!Ys(n))throw new Error("Point is not on curve");let i=d5(n),o=sh(i),s=(o&ht)===ht;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,Te+1)),n=Pr(t.subarray(Te+1,Te*2+1)),i=new et(r,n);return i.assertValidity(),i}static fromHex(t){let r=Xn(t),n=r.length,i=r[0];if(n===Te)return this.fromCompressedHex(r);if(n===h5&&(i===2||i===3))return this.fromCompressedHex(r);if(n===p5&&i===4)return this.fromUncompressedHex(r);throw new Error(`Point.fromHex: received invalid point. Expected 32-${h5} compressed bytes or ${p5} uncompressed bytes, not ${n}`)}static fromPrivateKey(t){return et.BASE.multiply(d1(t))}static fromSignature(t,r,n){let{r:i,s:o}=v5(r);if(![0,1,2,3].includes(n))throw new Error("Cannot recover: invalid recovery bit");let s=Js(Xn(t)),{n:a}=Et,u=n===2||n===3?i+a:i,c=jn(u,a),f=L(-s*c,a),l=L(o*c,a),d=n&1?"03":"02",p=et.fromHex(d+Qn(u)),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 an(this.toHex(t))}toHex(t=!1){let r=Qn(this.x);return t?`${this.hasEvenY()?"02":"03"}${r}`:`04${r}${Qn(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(!Ys(r)||!Ys(n))throw new Error(t);let i=L(n*n),o=d5(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===ht||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 g5(e){return Number.parseInt(e[0],16)>=8?"00"+e:e}function m5(e){if(e.length<2||e[0]!==2)throw new Error(`Invalid signature integer tag: ${Zn(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 nh(e){if(e.length<2||e[0]!=48)throw new Error(`Invalid signature tag: ${Zn(e)}`);if(e[1]!==e.length-2)throw new Error("Invalid signature: incorrect length");let{data:t,left:r}=m5(e.subarray(2)),{data:n,left:i}=m5(r);if(i.length)throw new Error(`Invalid signature: left bytes after parsing: ${Zn(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?Zn(t):t;if(i.length!==128)throw new Error(`${n}: Expected 64-byte hex`);return new Ge(p1(i.slice(0,64)),p1(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}=nh(r?t:an(t));return new Ge(n,i)}static fromHex(t){return this.fromDER(t)}assertValidity(){let{r:t,s:r}=this;if(!Vi(t))throw new Error("Invalid Signature: r must be 0 < r < n");if(!Vi(r))throw new Error("Invalid Signature: s must be 0 < s < n")}hasHighS(){let t=Et.n>>ht;return this.s>t}normalizeS(){return this.hasHighS()?new Ge(this.r,L(-this.s,Et.n)):this}toDERRawBytes(){return an(this.toDERHex())}toDERHex(){let t=g5(Oi(this.s)),r=g5(Oi(this.r)),n=t.length/2,i=r.length/2,o=Oi(n),s=Oi(i);return`30${Oi(i+n+4)}02${s}${r}02${o}${t}`}toRawBytes(){return this.toDERRawBytes()}toHex(){return this.toDERHex()}toCompactRawBytes(){return an(this.toCompactHex())}toCompactHex(){return Qn(this.r)+Qn(this.s)}};function _r(...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 ih=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Zn(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");let t="";for(let r=0;r<e.length;r++)t+=ih[e[r]];return t}var oh=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000");function Qn(e){if(typeof e!="bigint")throw new Error("Expected bigint");if(!(Y<=e&&e<oh))throw new Error("Expected number 0 <= n < 2^256");return e.toString(16).padStart(64,"0")}function Xs(e){let t=an(Qn(e));if(t.length!==32)throw new Error("Error: expected 32 bytes");return t}function Oi(e){let t=e.toString(16);return t.length&1?`0${t}`:t}function p1(e){if(typeof e!="string")throw new TypeError("hexToNumber: expected string, got "+typeof e);return BigInt(`0x${e}`)}function an(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 p1(Zn(e))}function Xn(e){return e instanceof Uint8Array?Uint8Array.from(e):an(e)}function x5(e){if(typeof e=="number"&&Number.isSafeInteger(e)&&e>0)return BigInt(e);if(typeof e=="bigint"&&Vi(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 he(e,t){let{P:r}=Et,n=e;for(;t-- >Y;)n*=n,n%=r;return n}function sh(e){let{P:t}=Et,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=he(c,Mi)*c%t,l=he(f,Mi)*c%t,d=he(l,Rr)*u%t,p=he(d,n)*d%t,h=he(p,i)*p%t,y=he(h,s)*h%t,g=he(y,a)*y%t,m=he(g,s)*h%t,x=he(m,Mi)*c%t,S=he(x,o)*p%t,N=he(S,r)*u%t,_=he(N,Rr);if(_*_%t!==e)throw new Error("Cannot find square root");return _}function jn(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=ht,s=ht,a=Y;for(;r!==Y;){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!==ht)throw new Error("invert: does not exist");return L(i,t)}function ah(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)),ht),i=jn(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 uh(e){let t=e.length*8-Yn*8,r=Pr(e);return t>0?r>>BigInt(t):r}function Js(e,t=!1){let r=uh(e);if(t)return r;let{n}=Et;return r>=n?r-n:r}var Wn,Ki,js=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 _e.hmacSha256(this.k,...t)}hmacSync(...t){return Ki(this.k,...t)}checkSync(){if(typeof Ki!="function")throw new h1("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 _r(...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 _r(...r)}};function Vi(e){return Y<e&&e<Et.n}function Ys(e){return Y<e&&e<Et.P}function ch(e,t,r,n=!0){let{n:i}=Et,o=Js(e,!0);if(!Vi(o))return;let s=jn(o,i),a=et.BASE.multiply(o),u=L(a.x,i);if(u===Y)return;let c=L(s*L(t+r*u,i),i);if(c===Y)return;let f=new Ge(u,c),l=(a.x===f.r?0:2)|Number(a.y&ht);return n&&f.hasHighS()&&(f=f.normalizeS(),l^=1),{sig:f,recovery:l}}function d1(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*Yn)throw new Error("Expected 32 bytes of private key");t=p1(e)}else if(e instanceof Uint8Array){if(e.length!==Yn)throw new Error("Expected 32 bytes of private key");t=Pr(e)}else throw new TypeError("Expected valid private key");if(!Vi(t))throw new Error("Expected private key: 0 < key < n");return t}function fh(e){return e instanceof et?(e.assertValidity(),e):et.fromHex(e)}function v5(e){if(e instanceof Ge)return e.assertValidity(),e;try{return Ge.fromDER(e)}catch{return Ge.fromCompact(e)}}function t2(e,t=!1){return et.fromPrivateKey(e).toRawBytes(t)}function w5(e){let t=e.length>Te?e.slice(0,Te):e;return Pr(t)}function lh(e){let t=w5(e),r=L(t,Et.n);return b5(r<Y?t:r)}function b5(e){return Xs(e)}function hh(e,t,r){if(e==null)throw new Error(`sign: expected valid message hash, not "${e}"`);let n=Xn(e),i=d1(t),o=[b5(i),lh(n)];if(r!=null){r===!0&&(r=_e.randomBytes(Te));let u=Xn(r);if(u.length!==Te)throw new Error(`sign: Expected ${Te} bytes of extra data`);o.push(u)}let s=_r(...o),a=w5(n);return{seed:s,m:a,d:i}}function ph(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 E5(e,t,r={}){let{seed:n,m:i,d:o}=hh(e,t,r.extraEntropy),s=new js(rh,Yn);await s.reseed(n);let a;for(;!(a=ch(await s.generate(),i,o,r.canonical));)await s.reseed();return ph(a,r)}var dh={strict:!0};function S5(e,t,r,n=dh){let i;try{i=v5(e),t=Xn(t)}catch{return!1}let{r:o,s}=i;if(n.strict&&i.hasHighS())return!1;let a=Js(t),u;try{u=fh(r)}catch{return!1}let{n:c}=Et,f=jn(s,c),l=L(a*f,c),d=L(o*f,c),p=et.BASE.multiplyAndAddUnsafe(u,l,d);return p?L(p.x,c)===o:!1}et.BASE._setWindowSize(8);var ie={node:eh,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0};var l1={},_e={bytesToHex:Zn,hexToBytes:an,concatBytes:_r,mod:L,invert:jn,isValidPrivateKey(e){try{return d1(e),!0}catch{return!1}},_bigintTo32Bytes:Xs,_normalizePrivateKey:d1,hashToPrivateKey:e=>{e=Xn(e);let t=Yn+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-ht)+ht;return Xs(r)},randomBytes:(e=32)=>{if(ie.web)return ie.web.getRandomValues(new Uint8Array(e));if(ie.node){let{randomBytes:t}=ie.node;return Uint8Array.from(t(e))}else throw new Error("The environment doesn't have randomBytes function")},randomPrivateKey:()=>_e.hashToPrivateKey(_e.randomBytes(Yn+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(Mi),r},sha256:async(...e)=>{if(ie.web){let t=await ie.web.subtle.digest("SHA-256",_r(...e));return new Uint8Array(t)}else if(ie.node){let{createHash:t}=ie.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(ie.web){let r=await ie.web.subtle.importKey("raw",e,{name:"HMAC",hash:{name:"SHA-256"}},!1,["sign"]),n=_r(...t),i=await ie.web.subtle.sign("HMAC",r,n);return new Uint8Array(i)}else if(ie.node){let{createHmac:r}=ie.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=l1[e];if(r===void 0){let n=await _e.sha256(Uint8Array.from(e,i=>i.charCodeAt(0)));r=_r(n,n),l1[e]=r}return _e.sha256(r,...t)},taggedHashSync:(e,...t)=>{if(typeof Wn!="function")throw new h1("sha256Sync is undefined, you need to set it");let r=l1[e];if(r===void 0){let n=Wn(Uint8Array.from(e,i=>i.charCodeAt(0)));r=_r(n,n),l1[e]=r}return Wn(r,...t)},_JacobianPoint:J};Object.defineProperties(_e,{sha256Sync:{configurable:!1,get(){return Wn},set(e){Wn||(Wn=e)}},hmacSha256Sync:{configurable:!1,get(){return Ki},set(e){Ki||(Ki=e)}}});function un(e){if(isNaN(e)||e<=0)throw new C("random bytes length must be a Number bigger than 0","ERR_INVALID_LENGTH");return _e.randomBytes(e)}var cn={};Nt(cn,{jwkToPkcs1:()=>mh,jwkToPkix:()=>vh,pkcs1ToJwk:()=>gh,pkixToJwk:()=>xh});var pb=$(ki(),1),db=$(o1(),1),cr=$(nt(),1);function gh(e){let t=cr.default.asn1.fromDer(M(e,"ascii")),r=cr.default.pki.privateKeyFromAsn1(t);return{kty:"RSA",n:Ce(r.n),e:Ce(r.e),d:Ce(r.d),p:Ce(r.p),q:Ce(r.q),dp:Ce(r.dP),dq:Ce(r.dQ),qi:Ce(r.qInv),alg:"RS256"}}function mh(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 C("JWK was missing components","ERR_INVALID_PARAMETERS");let t=cr.default.pki.privateKeyToAsn1({n:ne(e.n),e:ne(e.e),d:ne(e.d),p:ne(e.p),q:ne(e.q),dP:ne(e.dp),dQ:ne(e.dq),qInv:ne(e.qi)});return xt(cr.default.asn1.toDer(t).getBytes(),"ascii")}function xh(e){let t=cr.default.asn1.fromDer(M(e,"ascii")),r=cr.default.pki.publicKeyFromAsn1(t);return{kty:"RSA",n:Ce(r.n),e:Ce(r.e)}}function vh(e){if(e.n==null||e.e==null)throw new C("JWK was missing components","ERR_INVALID_PARAMETERS");let t=cr.default.pki.publicKeyToAsn1({n:ne(e.n),e:ne(e.e)});return xt(cr.default.asn1.toDer(t).getBytes(),"ascii")}var vb=$(o1(),1),e2=$(nt(),1);function I5(e,t){return t.map(r=>ne(e[r]))}function A5(e){return e2.default.pki.setRsaPrivateKey(...I5(e,["n","e","d","p","q","dp","dq","qi"]))}function B5(e){return e2.default.pki.setRsaPublicKey(...I5(e,["n","e"]))}async function C5(e){let t=await Bt.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 R5(t);return{privateKey:r[0],publicKey:r[1]}}async function r2(e){let r=[await Bt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!0,["sign"]),await wh(e)],n=await R5({privateKey:r[0],publicKey:r[1]});return{privateKey:n[0],publicKey:n[1]}}async function T5(e,t){let r=await Bt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["sign"]),n=await Bt.get().subtle.sign({name:"RSASSA-PKCS1-v1_5"},r,Uint8Array.from(t));return new Uint8Array(n,0,n.byteLength)}async function _5(e,t,r){let n=await Bt.get().subtle.importKey("jwk",e,{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}},!1,["verify"]);return await Bt.get().subtle.verify({name:"RSASSA-PKCS1-v1_5"},n,t,r)}async function R5(e){if(e.privateKey==null||e.publicKey==null)throw new C("Private and public key are required","ERR_INVALID_PARAMETERS");return await Promise.all([Bt.get().subtle.exportKey("jwk",e.privateKey),Bt.get().subtle.exportKey("jwk",e.publicKey)])}async function wh(e){return await Bt.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 P5(e,t,r,n){let i=t?B5(e):A5(e),o=M(Uint8Array.from(r),"ascii"),s=n(o,i);return xt(s,"ascii")}function L5(e,t){return P5(e,!0,t,(r,n)=>n.encrypt(r))}function N5(e,t){return P5(e,!1,t,(r,n)=>n.decrypt(r))}async function Jn(e,t){let n=await a1().encrypt(e,t);return zr.encode(n)}var zi=class{constructor(t){this._key=t}async verify(t,r){return await _5(this._key,r,t)}marshal(){return cn.jwkToPkix(this._key)}get bytes(){return Ie.encode({Type:ct.RSA,Data:this.marshal()}).subarray()}encrypt(t){return L5(this._key,t)}equals(t){return st(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}},ti=class{constructor(t,r){this._key=t,this._publicKey=r}genSecret(){return un(16)}async sign(t){return await T5(this._key,t)}get public(){if(this._publicKey==null)throw new C("public key not provided","ERR_PUBKEY_NOT_PROVIDED");return new zi(this._publicKey)}decrypt(t){return N5(this._key,t)}marshal(){return cn.jwkToPkcs1(this._key)}get bytes(){return Ae.encode({Type:ct.RSA,Data:this.marshal()}).subarray()}equals(t){return st(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 qi.default.util.ByteBuffer(this.marshal()),i=qi.default.asn1.fromDer(n),o=qi.default.pki.privateKeyFromAsn1(i),s={algorithm:"aes256",count:1e4,saltSize:128/8,prfAlgorithm:"sha512"};return qi.default.pki.encryptRsaPrivateKey(o,t,s)}else{if(r==="libp2p-key")return await Jn(this.bytes,t);throw new C(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}}};async function Eh(e){let t=cn.pkcs1ToJwk(e),r=await r2(t);return new ti(r.privateKey,r.publicKey)}function Sh(e){let t=cn.pkixToJwk(e);return new zi(t)}async function Ih(e){let t=await r2(e);return new ti(t.privateKey,t.publicKey)}async function Ah(e){let t=await C5(e);return new ti(t.privateKey,t.publicKey)}var p2={};Nt(p2,{Ed25519PrivateKey:()=>ln,Ed25519PublicKey:()=>Wi,generateKeyPair:()=>Gh,generateKeyPairFromSeed:()=>h2,unmarshalEd25519PrivateKey:()=>$h,unmarshalEd25519PublicKey:()=>Hh});var Bh=$($n(),1);var Mt=BigInt(0),Z=BigInt(1),kr=BigInt(2),Ch=BigInt(8),k5=BigInt("7237005577332262213973186563042994240857116359379907606001950938285454250989"),pt=Object.freeze({a:BigInt(-1),d:BigInt("37095705934669439343138083508754565189542113879843219016388785533085940283555"),P:BigInt("57896044618658097711785492504343953926634992332820282019728792003956564819949"),l:k5,n:k5,h:BigInt(8),Gx:BigInt("15112221349535400772501151409588531511454012693041857206046113283949847762202"),Gy:BigInt("46316835694926478169428394003475163141307993866256225615783033603165251855960")});var M5=BigInt("0x10000000000000000000000000000000000000000000000000000000000000000"),$i=BigInt("19681161376707505956807079304988542015446066515923890162744021073123829784752"),Fb=BigInt("6853475219497561581579357271197624642482790079785650197046958215289687604742"),Th=BigInt("25063068953384623474111414158702152701244531502492656460079210482610430750235"),_h=BigInt("54469307008909316920995813868745141605393597292927456921205312896311721017578"),Rh=BigInt("1159843021668779879193775521855586647937357759715417654439879720876111806838"),Ph=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 gt))throw new TypeError("ExtendedPoint#fromAffine: expected Point");return t.equals(gt.ZERO)?Q.ZERO:new Q(t.x,t.y,Z,A(t.x*t.y))}static toAffineBatch(t){let r=kh(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){F5(t);let{x:r,y:n,z:i}=this,{x:o,y:s,z:a}=t,u=A(r*a),c=A(o*i),f=A(n*a),l=A(s*i);return u===c&&f===l}negate(){return new Q(A(-this.x),this.y,this.z,A(-this.t))}double(){let{x:t,y:r,z:n}=this,{a:i}=pt,o=A(t*t),s=A(r*r),a=A(kr*A(n*n)),u=A(i*o),c=t+r,f=A(A(c*c)-o-s),l=u+s,d=l-a,p=u-s,h=A(f*d),y=A(l*p),g=A(f*p),m=A(d*l);return new Q(h,y,m,g)}add(t){F5(t);let{x:r,y:n,z:i,t:o}=this,{x:s,y:a,z:u,t:c}=t,f=A((n-r)*(a+s)),l=A((n+r)*(a-s)),d=A(l-f);if(d===Mt)return this.double();let p=A(i*kr*c),h=A(o*kr*u),y=h+p,g=l+f,m=h-p,x=A(y*d),S=A(g*m),N=A(y*m),_=A(d*g);return new Q(x,S,_,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=gt.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&&u2.get(r);i||(i=this.precomputeWindow(n),r&&n!==1&&(i=Q.normalizeZ(i),u2.set(r,i)));let o=Q.ZERO,s=Q.BASE,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);t>>=l,h>u&&(h-=f,t+=Z);let y=p,g=p+Math.abs(h)-1,m=d%2!==0,x=h<0;h===0?s=s.add(D5(m,i[y])):o=o.add(D5(x,i[g]))}return Q.normalizeZ([o,s])[0]}multiply(t,r){return this.wNAF(g1(t,pt.l),r)}multiplyUnsafe(t){let r=g1(t,pt.l,!1),n=Q.BASE,i=Q.ZERO;if(r===Mt)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>Mt;)r&Z&&(o=o.add(s)),s=s.double(),r>>=Z;return o}isSmallOrder(){return this.multiplyUnsafe(pt.h).equals(Q.ZERO)}isTorsionFree(){let t=this.multiplyUnsafe(pt.l/kr).double();return pt.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?Ch:m1(i));let s=A(r*t),a=A(n*t),u=A(i*t);if(o)return gt.ZERO;if(u!==Z)throw new Error("invZ was invalid");return new gt(s,a)}fromRistrettoBytes(){o2()}toRistrettoBytes(){o2()}fromRistrettoHash(){o2()}};Q.BASE=new Q(pt.Gx,pt.Gy,Z,A(pt.Gx*pt.Gy));Q.ZERO=new Q(Mt,Z,Z,Mt);function D5(e,t){let r=t.negate();return e?r:t}function F5(e){if(!(e instanceof Q))throw new TypeError("ExtendedPoint expected")}function i2(e){if(!(e instanceof Yt))throw new TypeError("RistrettoPoint expected")}function o2(){throw new Error("Legacy method: switch to RistrettoPoint")}var Yt=class{constructor(t){this.ep=t}static calcElligatorRistrettoMap(t){let{d:r}=pt,n=A($i*t*t),i=A((n+Z)*Rh),o=BigInt(-1),s=A((o-r*n)*A(n+r)),{isValid:a,value:u}=f2(i,s),c=A(u*t);Nr(c)||(c=A(-c)),a||(u=c),a||(o=n);let f=A(o*(n-Z)*Ph-s),l=u*u,d=A((u+u)*s),p=A(f*Th),h=A(Z-l),y=A(Z+l);return new Q(A(d*y),A(h*p),A(p*y),A(d*h))}static hashToCurve(t){t=Dr(t,64);let r=s2(t.slice(0,32)),n=this.calcElligatorRistrettoMap(r),i=s2(t.slice(32,64)),o=this.calcElligatorRistrettoMap(i);return new Yt(n.add(o))}static fromHex(t){t=Dr(t,32);let{a:r,d:n}=pt,i="RistrettoPoint.fromHex: the hex is not valid encoding of RistrettoPoint",o=s2(t);if(!Fh(Hi(o),t)||Nr(o))throw new Error(i);let s=A(o*o),a=A(Z+r*s),u=A(Z-r*s),c=A(a*a),f=A(u*u),l=A(r*n*c-f),{isValid:d,value:p}=O5(A(l*f)),h=A(p*u),y=A(p*h*l),g=A((o+o)*h);Nr(g)&&(g=A(-g));let m=A(a*y),x=A(g*m);if(!d||Nr(x)||m===Mt)throw new Error(i);return new Yt(new Q(g,m,Z,x))}toRawBytes(){let{x:t,y:r,z:n,t:i}=this.ep,o=A(A(n+r)*A(n-r)),s=A(t*r),a=A(s*s),{value:u}=O5(A(o*a)),c=A(u*o),f=A(u*s),l=A(c*f*i),d;if(Nr(i*l)){let h=A(r*$i),y=A(t*$i);t=h,r=y,d=A(c*_h)}else d=f;Nr(t*l)&&(r=A(-r));let p=A((n-r)*d);return Nr(p)&&(p=A(-p)),Hi(p)}toHex(){return Gi(this.toRawBytes())}toString(){return this.toHex()}equals(t){i2(t);let r=this.ep,n=t.ep,i=A(r.x*n.y)===A(r.y*n.x),o=A(r.y*n.y)===A(r.x*n.x);return i||o}add(t){return i2(t),new Yt(this.ep.add(t.ep))}subtract(t){return i2(t),new Yt(this.ep.subtract(t.ep))}multiply(t){return new Yt(this.ep.multiply(t))}multiplyUnsafe(t){return new Yt(this.ep.multiplyUnsafe(t))}};Yt.BASE=new Yt(Q.BASE);Yt.ZERO=new Yt(Q.ZERO);var u2=new WeakMap,gt=class{constructor(t,r){this.x=t,this.y=r}_setWindowSize(t){this._WINDOW_SIZE=t,u2.delete(this)}static fromHex(t,r=!0){let{d:n,P:i}=pt;t=Dr(t,32);let o=t.slice();o[31]=t[31]&-129;let s=Qi(o);if(r&&s>=i)throw new Error("Expected 0 < hex < P");if(!r&&s>=M5)throw new Error("Expected 0 < hex < 2**256");let a=A(s*s),u=A(a-Z),c=A(n*a+Z),{isValid:f,value:l}=f2(u,c);if(!f)throw new Error("Point.fromHex: invalid y coordinate");let d=(l&Z)===Z;return(t[31]&128)!==0!==d&&(l=A(-l)),new gt(l,s)}static async fromPrivateKey(t){return(await x1(t)).point}toRawBytes(){let t=Hi(this.y);return t[31]|=this.x&Z?128:0,t}toHex(){return Gi(this.toRawBytes())}toX25519(){let{y:t}=this,r=A((Z+t)*m1(Z-t));return Hi(r)}isTorsionFree(){return Q.fromAffine(this).isTorsionFree()}equals(t){return this.x===t.x&&this.y===t.y}negate(){return new gt(A(-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()}};gt.BASE=new gt(pt.Gx,pt.Gy);gt.ZERO=new gt(Mt,Z);var fn=class{constructor(t,r){this.r=t,this.s=r,this.assertValidity()}static fromHex(t){let r=Dr(t,64),n=gt.fromHex(r.slice(0,32),!1),i=Qi(r.slice(32,64));return new fn(n,i)}assertValidity(){let{r:t,s:r}=this;if(!(t instanceof gt))throw new Error("Expected Point instance");return g1(r,pt.l,!1),this}toRawBytes(){let t=new Uint8Array(64);return t.set(this.r.toRawBytes()),t.set(Hi(this.s),32),t}toHex(){return Gi(this.toRawBytes())}};function U5(...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 Lh=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Gi(e){if(!(e instanceof Uint8Array))throw new Error("Uint8Array expected");let t="";for(let r=0;r<e.length;r++)t+=Lh[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 K5(e){let r=e.toString(16).padStart(64,"0");return c2(r)}function Hi(e){return K5(e).reverse()}function Nr(e){return(A(e)&Z)===Z}function Qi(e){if(!(e instanceof Uint8Array))throw new Error("Expected Uint8Array");return BigInt("0x"+Gi(Uint8Array.from(e).reverse()))}var Nh=BigInt("0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff");function s2(e){return A(Qi(e)&Nh)}function A(e,t=pt.P){let r=e%t;return r>=Mt?r:t+r}function m1(e,t=pt.P){if(e===Mt||t<=Mt)throw new Error(`invert: expected positive integers, got n=${e} mod=${t}`);let r=A(e,t),n=t,i=Mt,o=Z,s=Z,a=Mt;for(;r!==Mt;){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!==Z)throw new Error("invert: does not exist");return A(i,t)}function kh(e,t=pt.P){let r=new Array(e.length),n=e.reduce((o,s,a)=>s===Mt?o:(r[a]=o,A(o*s,t)),Z),i=m1(n,t);return e.reduceRight((o,s,a)=>s===Mt?o:(r[a]=A(o*r[a],t),A(o*s,t)),i),r}function Qe(e,t){let{P:r}=pt,n=e;for(;t-- >Mt;)n*=n,n%=r;return n}function Dh(e){let{P:t}=pt,r=BigInt(5),n=BigInt(10),i=BigInt(20),o=BigInt(40),s=BigInt(80),u=e*e%t*e%t,c=Qe(u,kr)*u%t,f=Qe(c,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:u}}function f2(e,t){let r=A(t*t*t),n=A(r*r*t),i=Dh(e*n).pow_p_5_8,o=A(e*r*i),s=A(t*o*o),a=o,u=A(o*$i),c=s===e,f=s===A(-e),l=s===A(-e*$i);return c&&(o=a),(f||l)&&(o=u),Nr(o)&&(o=A(-o)),{isValid:c||f,value:o}}function O5(e){return f2(Z,e)}function y1(e){return A(Qi(e),pt.l)}function Fh(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 g1(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(Mt<e)return e}else if(Mt<=e)return e}throw new TypeError("Expected valid scalar: 0 < scalar < max")}function Uh(e){return e[0]&=248,e[31]&=127,e[31]|=64,e}function Oh(e){if(e=typeof e=="bigint"||typeof e=="number"?K5(g1(e,M5)):Dr(e),e.length!==32)throw new Error("Expected 32 bytes");return e}function Mh(e){let t=Uh(e.slice(0,32)),r=e.slice(32,64),n=y1(t),i=gt.BASE.multiply(n),o=i.toRawBytes();return{head:t,prefix:r,scalar:n,point:i,pointBytes:o}}var a2;async function x1(e){return Mh(await Fr.sha512(Oh(e)))}async function l2(e){return(await x1(e)).pointBytes}async function V5(e,t){e=Dr(e);let{prefix:r,scalar:n,pointBytes:i}=await x1(t),o=y1(await Fr.sha512(r,e)),s=gt.BASE.multiply(o),a=y1(await Fr.sha512(s.toRawBytes(),i,e)),u=A(o+a*n,pt.l);return new fn(s,u).toRawBytes()}function Kh(e,t,r){t=Dr(t),r instanceof gt||(r=gt.fromHex(r,!1));let{r:n,s:i}=e instanceof fn?e.assertValidity():fn.fromHex(e),o=Q.BASE.multiplyUnsafe(i);return{r:n,s:i,SB:o,pub:r,msg:t}}function Vh(e,t,r,n){let i=y1(n),o=Q.fromAffine(e).multiplyUnsafe(i);return Q.fromAffine(t).add(o).subtract(r).multiplyUnsafe(pt.h).equals(Q.ZERO)}async function q5(e,t,r){let{r:n,SB:i,msg:o,pub:s}=Kh(e,t,r),a=await Fr.sha512(n.toRawBytes(),s.toRawBytes(),o);return Vh(s,n,i,a)}gt.BASE._setWindowSize(8);var Lr={node:Bh,web:typeof self=="object"&&"crypto"in self?self.crypto:void 0},Fr={bytesToHex:Gi,hexToBytes:c2,concatBytes:U5,getExtendedPublicKey:x1,mod:A,invert:m1,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 A(Qi(e),pt.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=U5(...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=gt.BASE){let r=t.equals(gt.BASE)?t:new gt(t.x,t.y);return r._setWindowSize(e),r.multiply(kr),r},sha512Sync:void 0};Object.defineProperties(Fr,{sha512Sync:{configurable:!1,get(){return a2},set(e){a2||(a2=e)}}});var ei=32,fr=64,v1=32;async function z5(){let e=Fr.randomPrivateKey(),t=await l2(e);return{privateKey:Q5(e,t),publicKey:t}}async function $5(e){if(e.length!==v1)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 l2(t);return{privateKey:Q5(t,r),publicKey:r}}async function H5(e,t){let r=e.subarray(0,v1);return await V5(t,r)}async function G5(e,t,r){return await q5(t,r,e)}function Q5(e,t){let r=new Uint8Array(fr);for(let n=0;n<v1;n++)r[n]=e[n],r[v1+n]=t[n];return r}var Wi=class{constructor(t){this._key=ri(t,ei)}async verify(t,r){return await G5(this._key,r,t)}marshal(){return this._key}get bytes(){return Ie.encode({Type:ct.Ed25519,Data:this.marshal()}).subarray()}equals(t){return st(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}},ln=class{constructor(t,r){this._key=ri(t,fr),this._publicKey=ri(r,ei)}async sign(t){return await H5(this._key,t)}get public(){return new Wi(this._publicKey)}marshal(){return this._key}get bytes(){return Ae.encode({Type:ct.Ed25519,Data:this.marshal()}).subarray()}equals(t){return st(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}async id(){let t=xr.digest(this.public.bytes);return St.encode(t.bytes).substring(1)}async export(t,r="libp2p-key"){if(r==="libp2p-key")return await Jn(this.bytes,t);throw new C(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function $h(e){if(e.length>fr){e=ri(e,fr+ei);let n=e.subarray(0,fr),i=e.subarray(fr,e.length);return new ln(n,i)}e=ri(e,fr);let t=e.subarray(0,fr),r=e.subarray(ei);return new ln(t,r)}function Hh(e){return e=ri(e,ei),new Wi(e)}async function Gh(){let{privateKey:e,publicKey:t}=await z5();return new ln(e,t)}async function h2(e){let{privateKey:t,publicKey:r}=await $5(e);return new ln(t,r)}function ri(e,t){if(e=Uint8Array.from(e??[]),e.length!==t)throw new C(`Key must be a Uint8Array of length ${t}, got ${e.length}`,"ERR_INVALID_KEY_TYPE");return e}var y2={};Nt(y2,{Secp256k1PrivateKey:()=>Zi,Secp256k1PublicKey:()=>Yi,generateKeyPair:()=>Zh,unmarshalSecp256k1PrivateKey:()=>Wh,unmarshalSecp256k1PublicKey:()=>Yh});function W5(){return _e.randomPrivateKey()}async function Y5(e,t){let{digest:r}=await mt.digest(t);try{return await E5(r,e)}catch(n){throw new C(String(n),"ERR_INVALID_INPUT")}}async function Z5(e,t,r){try{let{digest:n}=await mt.digest(r);return S5(t,n,e)}catch(n){throw new C(String(n),"ERR_INVALID_INPUT")}}function X5(e){return et.fromHex(e).toRawBytes(!0)}function j5(e){try{t2(e,!0)}catch(t){throw new C(String(t),"ERR_INVALID_PRIVATE_KEY")}}function d2(e){try{et.fromHex(e)}catch(t){throw new C(String(t),"ERR_INVALID_PUBLIC_KEY")}}function J5(e){try{return t2(e,!0)}catch(t){throw new C(String(t),"ERR_INVALID_PRIVATE_KEY")}}var Yi=class{constructor(t){d2(t),this._key=t}async verify(t,r){return await Z5(this._key,r,t)}marshal(){return X5(this._key)}get bytes(){return Ie.encode({Type:ct.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return st(this.bytes,t.bytes)}async hash(){let{bytes:t}=await mt.digest(this.bytes);return t}},Zi=class{constructor(t,r){this._key=t,this._publicKey=r??J5(t),j5(this._key),d2(this._publicKey)}async sign(t){return await Y5(this._key,t)}get public(){return new Yi(this._publicKey)}marshal(){return this._key}get bytes(){return Ae.encode({Type:ct.Secp256k1,Data:this.marshal()}).subarray()}equals(t){return st(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 Jn(this.bytes,t);throw new C(`export format '${r}' is not supported`,"ERR_INVALID_EXPORT_FORMAT")}};function Wh(e){return new Zi(e)}function Yh(e){return new Yi(e)}async function Zh(){let e=W5();return new Zi(e)}var We={rsa:n2,ed25519:p2,secp256k1:y2};function g2(e){let t=Object.keys(We).join(" / ");return new C(`invalid or unsupported key type ${e}. Must be ${t}`,"ERR_UNSUPPORTED_KEY_TYPE")}function m2(e){if(e=e.toLowerCase(),e==="rsa"||e==="ed25519"||e==="secp256k1")return We[e];throw g2(e)}async function Xh(e,t){return await m2(e).generateKeyPair(t??2048)}async function jh(e,t,r){if(e.toLowerCase()!=="ed25519")throw new C("Seed key derivation is unimplemented for RSA or secp256k1","ERR_UNSUPPORTED_KEY_DERIVATION_TYPE");return await h2(t)}function Jh(e){let t=Ie.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 g2(t.Type??"RSA")}}function tp(e,t){return t=(t??"rsa").toLowerCase(),m2(t),e.bytes}async function t6(e){let t=Ae.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 g2(t.Type??"RSA")}}function ep(e,t){return t=(t??"rsa").toLowerCase(),m2(t),e.bytes}async function rp(e,t){try{let i=await i5(e,t);return await t6(i)}catch{}let r=w1.default.pki.decryptRsaPrivateKey(e,t);if(r===null)throw new C("Cannot read the key, most likely the password is wrong or not a RSA key","ERR_CANNOT_DECRYPT_PEM");let n=w1.default.asn1.toDer(w1.default.pki.privateKeyToAsn1(r));return n=xt(n.getBytes(),"ascii"),await We.rsa.unmarshalRsaPrivateKey(n)}var np=$(Fs(),1),ip=$(Ct(),1);function E1(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}function lr(e,t){if(e.length!==t.length)throw new Error("Inputs should have the same length");let r=te(e.length);for(let n=0;n<e.length;n++)r[n]=e[n]^t[n];return tr(r)}var S1=class{originDhtKey;capacity;peerDistances;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 ee(t),n={peerId:t,distance:lr(this.originDhtKey,r)};this.peerDistances.push(n),this.peerDistances.sort((i,o)=>E1(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(ee)),n=this.peerDistances[this.peerDistances.length-1].distance;for(let i of r){let o=lr(this.originDhtKey,i);if(E1(o,n)<0)return!0}return!1}};var I1=class{components;log;routingTable;network;validators;queryManager;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 dt(At.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 Ea(b1.marshalPublicKey({bytes:i.record.value}));if(!o.equals(t))throw new C("public key does not match id","ERR_PUBLIC_KEY_DOES_NOT_MATCH_ID");if(o.publicKey==null)throw new C("public key missing","ERR_PUBLIC_KEY_MISSING");yield Ci({from:t,value:o.publicKey})}throw new C(`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 Bi({from:this.components.peerId,peer:n});return}let i=await ee(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 Bi({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 dt(At.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 Bi({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 zt({from:this.components.peerId,error:new C("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 S1(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 dt(At.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)try{let c=await this.components.peerStore.get(u);yield Bi({from:this.components.peerId,peer:{id:u,multiaddrs:c.addresses.map(({multiaddr:f})=>f),protocols:c.protocols}})}catch(c){if(c.code!=="ERR_NOT_FOUND")throw c}}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 zt({from:i.from,error:new C(s,"ERR_INVALID_RECORD")});continue}yield i}}async _verifyRecordOnline(t){if(t.timeReceived==null)throw new C("invalid record received","ERR_INVALID_RECORD");await Fn(this.validators,new Rt(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.get(s);o.push({id:s,multiaddrs:a.addresses.map(({multiaddr:u})=>u),protocols:a.protocols})}catch(a){if(a.code!=="ERR_NOT_FOUND")throw a}return o.length>0?this.log("getCloserPeersOffline found %d peer(s) closer to %b than %p",o.length,t,r):this.log("getCloserPeersOffline could not find peer closer to %b than %p",t,r),o}};var d6=$(r6(),1);var p6=$(i6(),1);var ji=class extends Error{constructor(t){super(t),this.name="TimeoutError"}},v2=class extends Error{constructor(t){super(),this.name="AbortError",this.message=t}},o6=e=>globalThis.DOMException===void 0?new v2(e):new DOMException(e),s6=e=>{let t=e.reason===void 0?o6("This operation was aborted."):e.reason;return t instanceof Error?t:o6(t)};function w2(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(s6(u)),u.addEventListener("abort",()=>{a(s6(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 ji(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 b2(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 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)},hr,Ji=class{constructor(){hr.set(this,[])}enqueue(t,r){r={priority:0,...r};let n={priority:r.priority,run:t};if(this.size&&hn(this,hr,"f")[this.size-1].priority>=r.priority){hn(this,hr,"f").push(n);return}let i=b2(hn(this,hr,"f"),n,(o,s)=>s.priority-o.priority);hn(this,hr,"f").splice(i,0,n)}dequeue(){let t=hn(this,hr,"f").shift();return t?.run}filter(t){return hn(this,hr,"f").filter(r=>r.priority===t.priority).map(r=>r.run)}get size(){return hn(this,hr,"f").length}};hr=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)},Tt,e0,r0,Or,P1,n0,B1,Re,t0,oe,C1,se,i0,Ur,T1,a6,u6,l6,c6,f6,_1,E2,S2,L1,h6,R1,N1=class extends Error{},pr=class extends p6.default{constructor(t){var r,n,i,o;if(super(),Tt.add(this),e0.set(this,void 0),r0.set(this,void 0),Or.set(this,0),P1.set(this,void 0),n0.set(this,void 0),B1.set(this,0),Re.set(this,void 0),t0.set(this,void 0),oe.set(this,void 0),C1.set(this,void 0),se.set(this,0),i0.set(this,void 0),Ur.set(this,void 0),T1.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:Ji,...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,r0,t.intervalCap===Number.POSITIVE_INFINITY||t.interval===0,"f"),vt(this,P1,t.intervalCap,"f"),vt(this,n0,t.interval,"f"),vt(this,oe,new t.queueClass,"f"),vt(this,C1,t.queueClass,"f"),this.concurrency=t.concurrency,this.timeout=t.timeout,vt(this,T1,t.throwOnTimeout===!0,"f"),vt(this,Ur,t.autoStart===!1,"f")}get concurrency(){return k(this,i0,"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,i0,t,"f"),k(this,Tt,"m",L1).call(this)}async add(t,r={}){return r={timeout:this.timeout,throwOnTimeout:k(this,T1,"f"),...r},new Promise((n,i)=>{k(this,oe,"f").enqueue(async()=>{var o,s,a;vt(this,se,(s=k(this,se,"f"),s++,s),"f"),vt(this,Or,(a=k(this,Or,"f"),a++,a),"f");try{if(!((o=r.signal)===null||o===void 0)&&o.aborted)throw new N1("The task was aborted.");let u=t({signal:r.signal});r.timeout&&(u=w2(Promise.resolve(u),r.timeout)),r.signal&&(u=Promise.race([u,k(this,Tt,"m",h6).call(this,r.signal)]));let c=await u;n(c),this.emit("completed",c)}catch(u){if(u instanceof ji&&!r.throwOnTimeout){n();return}i(u),this.emit("error",u)}finally{k(this,Tt,"m",l6).call(this)}},r),this.emit("add"),k(this,Tt,"m",_1).call(this)})}async addAll(t,r){return Promise.all(t.map(async n=>this.add(n,r)))}start(){return k(this,Ur,"f")?(vt(this,Ur,!1,"f"),k(this,Tt,"m",L1).call(this),this):this}pause(){vt(this,Ur,!0,"f")}clear(){vt(this,oe,new(k(this,C1,"f")),"f")}async onEmpty(){k(this,oe,"f").size!==0&&await k(this,Tt,"m",R1).call(this,"empty")}async onSizeLessThan(t){k(this,oe,"f").size<t||await k(this,Tt,"m",R1).call(this,"next",()=>k(this,oe,"f").size<t)}async onIdle(){k(this,se,"f")===0&&k(this,oe,"f").size===0||await k(this,Tt,"m",R1).call(this,"idle")}get size(){return k(this,oe,"f").size}sizeBy(t){return k(this,oe,"f").filter(t).length}get pending(){return k(this,se,"f")}get isPaused(){return k(this,Ur,"f")}};e0=new WeakMap,r0=new WeakMap,Or=new WeakMap,P1=new WeakMap,n0=new WeakMap,B1=new WeakMap,Re=new WeakMap,t0=new WeakMap,oe=new WeakMap,C1=new WeakMap,se=new WeakMap,i0=new WeakMap,Ur=new WeakMap,T1=new WeakMap,Tt=new WeakSet,a6=function(){return k(this,r0,"f")||k(this,Or,"f")<k(this,P1,"f")},u6=function(){return k(this,se,"f")<k(this,i0,"f")},l6=function(){var t;vt(this,se,(t=k(this,se,"f"),t--,t),"f"),k(this,Tt,"m",_1).call(this),this.emit("next")},c6=function(){k(this,Tt,"m",S2).call(this),k(this,Tt,"m",E2).call(this),vt(this,t0,void 0,"f")},f6=function(){let t=Date.now();if(k(this,Re,"f")===void 0){let r=k(this,B1,"f")-t;if(r<0)vt(this,Or,k(this,e0,"f")?k(this,se,"f"):0,"f");else return k(this,t0,"f")===void 0&&vt(this,t0,setTimeout(()=>{k(this,Tt,"m",c6).call(this)},r),"f"),!0}return!1},_1=function(){if(k(this,oe,"f").size===0)return k(this,Re,"f")&&clearInterval(k(this,Re,"f")),vt(this,Re,void 0,"f"),this.emit("empty"),k(this,se,"f")===0&&this.emit("idle"),!1;if(!k(this,Ur,"f")){let t=!k(this,Tt,"a",f6);if(k(this,Tt,"a",a6)&&k(this,Tt,"a",u6)){let r=k(this,oe,"f").dequeue();return r?(this.emit("active"),r(),t&&k(this,Tt,"m",E2).call(this),!0):!1}}return!1},E2=function(){k(this,r0,"f")||k(this,Re,"f")!==void 0||(vt(this,Re,setInterval(()=>{k(this,Tt,"m",S2).call(this)},k(this,n0,"f")),"f"),vt(this,B1,Date.now()+k(this,n0,"f"),"f"))},S2=function(){k(this,Or,"f")===0&&k(this,se,"f")===0&&k(this,Re,"f")&&(clearInterval(k(this,Re,"f")),vt(this,Re,void 0,"f")),vt(this,Or,k(this,e0,"f")?k(this,se,"f"):0,"f"),k(this,Tt,"m",L1).call(this)},L1=function(){for(;k(this,Tt,"m",_1).call(this););},h6=async function(t){return new Promise((r,n)=>{t.addEventListener("abort",()=>{n(new N1("The task was aborted."))},{once:!0})})},R1=async function(t,r){return new Promise(n=>{let i=()=>{r&&!r()||(this.off(t,i),n())};this.on(t,i)})};var I2=$(bi(),1);var dr=z("libp2p:kad-dht:providers"),k1=class{components;cache;cleanupInterval;provideValidity;syncQueue;started;cleaner;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,d6.default)(n??256),this.syncQueue=new pr({concurrency:1}),this.started=!1}isStarted(){return this.started}async start(){this.started||(this.started=!0,this.cleaner=setInterval(()=>{this._cleanup().catch(t=>{dr.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:ys});for await(let a of s)try{let{cid:u,peerId:c}=y6(a.key),f=g6(a.value).getTime(),l=Date.now(),d=l-f,p=d>this.provideValidity;if(dr("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){dr.error(u.message)}i.size>0?(dr("deleting %d / %d entries",n,r),await o.commit()):dr("nothing to delete");for(let[a,u]of i){let c=o0(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)}}dr("Cleanup successful (%dms)",Date.now()-t)})}async _getProvidersMap(t){let r=o0(t),n=this.cache.get(r);return n==null&&(n=await lp(this.components.datastore,t),this.cache.set(r,n)),n}async addProvider(t,r){await this.syncQueue.add(async()=>{dr("%p provides %s",r,t);let n=await this._getProvidersMap(t);dr("loaded %s provs",n.size);let i=new Date;n.set(r.toString(),i);let o=o0(t);this.cache.set(o,n),await fp(this.components.datastore,t,r,i)})}async getProviders(t){return this.syncQueue.add(async()=>(dr("get providers for %s",t),[...(await this._getProvidersMap(t)).keys()].map(n=>bt(n))),{throwOnTimeout:!0})}};function o0(e){let t=typeof e=="string"?e:M(e.multihash.bytes,"base32");return`${ys}/${t}`}async function fp(e,t,r,n){let i=[o0(t),"/",r.toString()].join(""),o=new Dt(i),s=Uint8Array.from(I2.default.encode(n.getTime()));await e.put(o,s)}function y6(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 lp(e,t){let r=new Map,n=e.query({prefix:o0(t)});for await(let i of n){let{peerId:o}=y6(i.key);r.set(o,g6(i.value))}return r}function g6(e){return new Date(I2.default.decode(e))}var pn=$(U1(),1);function yr(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 B2=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 yr(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 yr(this.map.keys(),t=>bt(t))}values(){return this.map.values()}get size(){return this.map.size}};var pe=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 yr(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 yr(this.set.values(),t=>bt(t))}intersection(t){let r=new pe;for(let n of t)this.has(n)&&r.add(n);return r}difference(t){let r=new pe;for(let n of this)t.has(n)||r.add(n);return r}union(t){let r=new pe;for(let n of t)r.add(n);for(let n of this)r.add(n);return r}};var ii=class{constructor(t){if(this.list=[],t!=null)for(let r of t)this.list.push(r.toString())}[Symbol.iterator](){return yr(this.list.entries(),t=>bt(t[1]))}concat(t){let r=new ii(this);for(let n of t)r.push(n);return r}entries(){return yr(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 ii;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}};function oi(e){let t=new globalThis.AbortController;function r(){t.abort();for(let o of e)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}for(let o of e){if(o?.aborted===!0){r();break}o?.addEventListener!=null&&o.addEventListener("abort",r)}function n(){for(let o of e)o?.removeEventListener!=null&&o.removeEventListener("abort",r)}let i=t.signal;return i.clear=n,i}var xp=BigInt("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF");async function*C6(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 pr({concurrency:s}),h=await Oe(t);function y(g,m){if(g==null)return;d.add(g);let x=BigInt("0x"+M(lr(m,h),"base16"));p.add(async()=>{let S=[i];f!=null&&S.push(AbortSignal.timeout(f));let N=oi(S);try{for await(let _ of o({key:t,peer:g,signal:N,pathIndex:a,numPaths:u})){if(N.aborted)return;if(_.name==="PEER_RESPONSE")for(let T of _.closer){if(d.has(T.id)){l("already seen %p in query",T.id);continue}if(n.equals(T.id)){l("not querying ourselves");continue}let q=await ee(T.id);if(BigInt("0x"+M(lr(q,h),"base16"))>x){l("skipping %p as they are not closer to %b than %p",T.id,t,g);continue}l("querying closer peer %p",T.id),y(T.id,q)}p.emit("completed",_)}}catch(_){if(!i.aborted)return zt({from:g,error:_})}finally{N.clear()}},{priority:xp-x}).catch(S=>{l.error(S)})}y(r,await ee(r)),yield*vp(p,i,c,l)}async function*vp(e,t,r,n){let i=we(),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(new C("Query aborted","ERR_QUERY_ABORTED"))}),r.addEventListener("cleanup",()=>{a(),i.resolve()});o;)for(await i.promise,i=we();s.length>0;){let u=s.shift();u!=null&&(yield u)}yield*s}var M1=class{components;lan;disjointPaths;alpha;shutDownController;running;queries;metrics;initialQuerySelfHasRun;constructor(t,r){let{lan:n=!1,disjointPaths:i=20,alpha:o=3}=r;this.components=t,this.disjointPaths=i??20,this.running=!1,this.alpha=o??3,this.lan=n,this.queries=0,this.initialQuerySelfHasRun=r.initialQuerySelfHasRun,this.shutDownController=new AbortController;try{pn.setMaxListeners!=null&&(0,pn.setMaxListeners)(1/0,this.shutDownController.signal)}catch{}}isStarted(){return this.running}async start(){this.running=!0,this.components.metrics!=null&&this.metrics==null&&(this.metrics={runningQueries:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_running_queries`),queryTime:this.components.metrics.registerMetric(`libp2p_kad_dht_${this.lan?"lan":"wan"}_query_time_seconds`)})}async stop(){this.running=!1,this.shutDownController.abort()}async*run(t,r,n,i={}){if(!this.running)throw new Error("QueryManager not started");let o=this.metrics?.queryTime.timer();if(i.signal==null){i.signal=AbortSignal.timeout(3e4);try{pn.setMaxListeners!=null&&(0,pn.setMaxListeners)(1/0,i.signal)}catch{}}let s=oi([this.shutDownController.signal,i.signal]);try{pn.setMaxListeners!=null&&(0,pn.setMaxListeners)(1/0,s)}catch{}let a=z(`libp2p:kad-dht:${this.lan?"lan":"wan"}:query:`+M(t,"base58btc")),u=r.slice(0,Math.min(this.disjointPaths,r.length)),c=Date.now(),f=new ae;try{if(i.isSelfQuery!==!0&&this.initialQuerySelfHasRun!=null&&(a("waiting for initial query-self query before continuing"),await Promise.race([new Promise((p,h)=>{s.addEventListener("abort",()=>{h(new Kr("Query was aborted before self-query ran"))})}),this.initialQuerySelfHasRun.promise]),this.initialQuerySelfHasRun=void 0),a("query:start"),this.queries++,this.metrics?.runningQueries.update(this.queries),r.length===0){a.error("Running query with no peers");return}let l=new pe,d=u.map((p,h)=>C6({key:t,startingPeer:p,ourPeerId:this.components.peerId,signal:s,query:n,pathIndex:h,numPaths:u.length,alpha:this.alpha,cleanUp:f,queryFuncTimeout:i.queryFuncTimeout,log:a,peersSeen:l}));for await(let p of me(...d))yield p,p.name==="QUERY_ERROR"&&a("error",p.error)}catch(l){if(!(!this.running&&l.code==="ERR_QUERY_ABORTED"))throw l}finally{s.clear(),this.queries--,this.metrics?.runningQueries.update(this.queries),o?.(),f.dispatchEvent(new jt("cleanup")),a("query:done in %dms",Date.now()-c)}}};var C2=$(U1(),1);function bp(e){return e[Symbol.asyncIterator]!=null}function Ep(e){if(bp(e))return(async()=>{let t=0;for await(let r of e)t++;return t})();{let t=0;for(let r of e)t++;return t}}var K1=Ep;function Sp(e){return e[Symbol.asyncIterator]!=null}function Ip(e,t){return Sp(e)?async function*(){let r=0;if(!(t<1)){for await(let n of e)if(yield n,r++,r===t)return}}():function*(){let r=0;if(!(t<1)){for(let n of e)if(yield n,r++,r===t)return}}()}var T6=Ip;function Tp(e,t){let r;return function(){let n=function(){r=void 0,e()};clearTimeout(r),r=setTimeout(n,t)}}var V1=class{log;components;peerRouting;routingTable;count;interval;initialInterval;queryTimeout;started;running;timeoutId;controller;initialQuerySelfHasRun;constructor(t,r){let{peerRouting:n,lan:i,count:o,interval:s,queryTimeout:a,routingTable:u}=r;this.components=t,this.log=z(`libp2p:kad-dht:${i?"lan":"wan"}:query-self`),this.running=!1,this.started=!1,this.peerRouting=n,this.routingTable=u,this.count=o??20,this.interval=s??3e5,this.initialInterval=r.initialInterval??1e3,this.queryTimeout=a??5e3,this.initialQuerySelfHasRun=r.initialQuerySelfHasRun,this.querySelf=Tp(this.querySelf.bind(this),100)}isStarted(){return this.started}async start(){this.started||(this.started=!0,clearTimeout(this.timeoutId),this.timeoutId=setTimeout(this.querySelf.bind(this),this.initialInterval))}async stop(){this.started=!1,this.timeoutId!=null&&clearTimeout(this.timeoutId),this.controller!=null&&this.controller.abort()}querySelf(){if(!this.started){this.log("skip self-query because we are not started");return}if(this.running){this.log("skip self-query because we are already running, will run again in %dms",this.interval);return}if(this.routingTable.size===0){let t=this.interval;this.initialQuerySelfHasRun!=null&&(t=this.initialInterval),this.log("skip self-query because routing table is empty, will run again in %dms",t),clearTimeout(this.timeoutId),this.timeoutId=setTimeout(this.querySelf.bind(this),t);return}this.running=!0,Promise.resolve().then(async()=>{this.controller=new AbortController;let t=oi([this.controller.signal,AbortSignal.timeout(this.queryTimeout)]);try{C2.setMaxListeners!=null&&(0,C2.setMaxListeners)(1/0,t)}catch{}try{this.log("run self-query, look for %d peers timing out after %dms",this.count,this.queryTimeout);let r=await be(this.peerRouting.getClosestPeers(this.components.peerId.toBytes(),{signal:t,isSelfQuery:!0}),n=>T6(n,this.count),async n=>K1(n));this.log("self-query ran successfully - found %d peers",r),this.initialQuerySelfHasRun!=null&&(this.initialQuerySelfHasRun.resolve(),this.initialQuerySelfHasRun=void 0)}catch(r){this.log.error("self-query error",r)}finally{t.clear()}}).catch(t=>{this.log("self-query error",t)}).finally(()=>{this.running=!1,this.log("running self-query again in %dms",this.interval),clearTimeout(this.timeoutId),this.timeoutId=setTimeout(this.querySelf.bind(this),this.interval)})}};var i8=$(r8(),1);var pd="kad-close",dd=50,n8=20,yd=1e4,gd=10,Q1=class{kBucketSize;kb;pingQueue;log;components;lan;pingTimeout;pingConcurrency;running;protocol;tagName;tagValue;metrics;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??n8,this.pingTimeout=i??yd,this.pingConcurrency=s??gd,this.lan=o,this.running=!1,this.protocol=a,this.tagName=u??pd,this.tagValue=c??dd;let f=()=>{this.metrics?.pingQueueSize.update(this.pingQueue.size),this.metrics?.pingRunning.update(this.pingQueue.pending)};this.pingQueue=new pr({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 i8.default({localNodeId:await ee(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 pe,n=x4(()=>{let i=new pe(t.closest(t.localNodeId,n8).map(a=>a.peer)),o=i.difference(r),s=r.difference(i);Promise.resolve().then(async()=>{for(let a of o)await this.components.peerStore.merge(a,{tags:{[this.tagName]:{value:this.tagValue}}});for(let a of s)await this.components.peerStore.merge(a,{tags:{[this.tagName]:void 0}})}).catch(a=>{this.log.error("Could not update peer tags",a)}),r=i});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=>{try{let o={signal:AbortSignal.timeout(this.pingTimeout)};this.log("pinging old contact %p",i.peer),(await(await this.components.connectionManager.openConnection(i.peer,o)).newStream(this.protocol,o)).close(),n++}catch(o){this.running&&this.kb!=null&&(this.log.error("could not ping peer %p",i.peer,o),this.log("evicting old contact after ping failed %p",i),this.kb.remove(i.id))}finally{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 ee(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 ee(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 ee(t);this.kb.remove(r),this.metrics?.routingTableSize.update(this.size)}};var o8=[77591,22417,43971,28421,740,29829,71467,228973,196661,78537,27689,36431,44415,14362,19456,106025,96308,2882,49509,21149,87173,131409,75844,23676,121838,30291,17492,2953,7564,110620,129477,127283,53113,72417,165166,109690,21200,102125,24049,71504,90342,25307,72039,26812,26715,32264,133800,71161,88956,171987,51779,24425,16671,30251,186294,247761,14202,2121,8465,35024,4876,85917,169730,3638,256836,96184,943,18678,6583,52907,35807,112254,214097,18796,11595,9243,23554,887,268203,382004,24590,111335,11625,16619,29039,102425,69006,97976,92362,32552,63717,41433,128974,137630,59943,10019,13986,35430,33665,108037,43799,43280,38195,29078,58629,18265,14425,46832,235538,40830,77881,110717,58937,3463,325358,51300,47623,117252,19007,10170,20540,91237,294813,4951,79841,56232,36270,128547,69209,66275,100156,32063,73531,34439,80937,28892,44466,88595,216307,32583,49620,16605,82127,45807,21630,78726,20235,40163,111007,96926,5567,72083,21665,58844,39419,179767,48328,42662,51550,5251,37811,49608,81056,50854,55513,20922,18891,197409,164656,32593,71449,220474,58919,85682,67854,13758,35066,3565,61905,214793,119572,141419,21504,10302,27354,67003,46131,32668,15165,64871,34450,17821,2757,11452,34189,5160,12257,85523,560,53385,65887,119549,135620,312353,115979,122356,10867,193231,124537,54783,90675,120791,4715,142253,50943,17271,43358,25331,4917,120566,34580,12878,33786,160528,32523,4869,301307,104817,81491,23276,8832,97911,31265,52065,7998,49622,9715,43998,34091,84587,20664,69041,29419,53205,10838,58288,116145,6185,5154,141795,35924,21307,144738,43730,12085,8279,10002,119,133779,199668,72938,31768,39176,67875,38453,9700,44144,4121,116048,41733,12868,82669,92308,128,34262,11332,7712,90764,36141,13553,71312,77470,117314,96549,49135,23602,54468,28605,6327,62308,17171,67531,21319,14105,894,107722,46157,8503,51069,100472,45138,15246,14577,35609,191464,1757,13364,161349,32067,91705,81144,52339,5408,91066,21983,14157,100545,4372,26630,129112,1423,29676,213626,4397,88436,99190,6877,49958,26122,114348,60661,29818,293118,50042,179738,16400,163423,89627,31040,43973,36638,45952,5153,1894,109322,1898,134021,12402,112077,68309,190269,69866,31938,107383,11522,105232,11248,14868,39852,71707,186525,16530,38162,106212,11700,5130,16608,26998,59586,108399,230033,43683,48135,82179,2073,5015,196684,189293,16378,23452,8301,35640,11632,214551,29240,57644,33137,91949,55157,52384,117313,5090,17717,89668,49363,82238,241035,66216,29066,184088,97206,62820,26595,4241,135635,173672,8202,459,71355,146294,29587,3008,135385,141203,14803,6634,45094,69362,50925,546,51884,62011,83296,234584,44515,56050,89476,87751,19373,12691,149923,19794,13833,35846,87557,58339,2884,19145,25647,12224,11024,77338,64608,122297,53025,7205,36189,36294,170779,21750,7739,173883,75192,35664,224240,113121,30181,26267,27036,117827,92015,106516,55628,203549,67949,60462,60844,35911,20457,1820,920,19773,8738,73173,181993,38521,98254,76257,46008,92796,5384,26868,151566,22124,2411,15919,186872,180021,28099,152961,78811,80237,62352,102653,74259,184890,16792,123702,224945,29940,19512,75283,14059,112691,92811,233329,20411,138569,53341,109802,50600,134528,66747,5529,166531,31578,64732,67189,1596,126357,967,167999,206598,109752,119431,207825,78791,91938,10301,27311,24233,252343,28831,32812,66002,112267,90895,8786,8095,16824,22866,21813,60507,174833,19549,130985,117051,52110,6938,81923,123864,38061,919,18680,53534,46739,112893,161529,85429,26761,11900,81121,91968,15390,217947,56524,1713,6654,37089,85630,138866,61850,16491,75577,16884,98296,73523,6140,44645,6062,36366,29844,57946,37932,42472,5266,20834,19309,33753,127182,134259,35810,41805,45878,312001,14881,47757,49251,120050,44252,3708,25856,107864,120347,1228,36550,41682,34496,47025,8393,173365,246526,12894,161607,35670,90785,126572,2095,124731,157033,58694,554,12786,9642,4817,16136,47864,174698,66992,4639,69284,10625,40710,27763,51738,30404,264105,137904,109882,52487,42824,57514,2740,10479,146799,107390,16586,88038,174951,9410,16185,44158,5568,40658,46108,12763,97385,26175,108859,664,230732,67470,46663,14395,50750,141320,93140,15361,47997,55784,6791,307840,118569,107326,18056,58281,260415,54691,8790,73332,45633,7511,45674,143373,14031,11799,94491,35646,96544,14560,26049,32983,25791,83814,42094,231370,63955,139212,2359,169908,3108,183486,105867,28197,32941,124968,26402,88267,149768,23053,3078,19091,52924,25383,19209,111548,97361,3959,24880,235061,9099,24921,161254,151405,20508,7159,34381,20133,11434,74036,19974,34769,36585,1076,22454,17354,38727,235160,111547,96454,117448,156940,91330,37299,7310,26915,117060,51369,22620,61861,322264,106850,111694,15091,2624,40345,300446,177064,1707,27389,54792,327783,132669,183543,59003,17744,20603,151134,106923,53084,71803,279424,319816,11579,21946,16728,38274,72711,5085,83391,88646,40159,25027,34680,10752,12988,54126,30365,18338,100445,230674,44874,84974,143877,123253,139372,28082,91477,144002,13096,219729,46016,50029,42377,14601,6660,58244,58978,23918,88206,113611,64452,17541,41032,10942,12021,49189,10978,40175,37156,10947,71709,106894,112538,57007,137486,150608,152719,40615,7746,279716,13101,19524,28708,40578,72320,1096,182051,94527,51275,22833,45164,81917,77519,48508,5421,140302,37845,149830,5587,27579,5357,428725,248187,6326,206760,39814,32585,89923,44341,288753,284443,96368,31201,94189,119504,20359,52073,103216,179,27934,32801,96035,34111,34309,101326,18198,20704,210266,37643,27880,141873,106e3,19414,56614,167714,66483,107885,86602,4379,20796,75467,4987,5017,118857,26003,34308,114428,29198,6686,29697,73632,3739,69795,16798,41504,7207,30722,21436,36735,28067,28545,3239,11221,36031,41889,100010,19247,317673,29495,174554,6424,129725,53845,94986,7955,59676,2604,191497,19735,102214,62954,23844,11872,179525,261436,34492,428,78404,142035,16747,17246,27578,37021,33672,57944,26056,135760,2369,61674,122066,31327,19374,157065,40553,130982,69619,71290,38855,72100,92903,95940,51422,165999,65713,57873,50726,7288,20272,2081,42326,22624,81120,57914,79352,19447,1684,72302,11774,302559,161481,96396,13692,414988,3721,79066,56627,46883,21150,11747,12184,5856,113458,176117,84416,52079,27933,3354,59765,141359,2212,216309,2555,23458,196722,142463,45701,44548,28798,19418,215,29916,9396,10574,114226,84475,13520,18694,34056,4524,90302,62930,13539,19407,77209,7728,38088,9535,2263,23875,183945,17750,26274,67172,10585,28042,22199,7478,51331,66030,26774,192929,31434,25850,50197,52926,178158,4679,181256,70184,229600,9959,105594,72158,73974,2726,35085,78087,23284,35568,51713,155676,5401,27254,11966,17569,223253,71993,103357,111477,55722,30504,26034,46774,35392,36285,214814,41143,163465,1051,16094,81044,6636,76489,179102,20712,39178,35683,125177,54219,30617,52994,25324,50123,2543,87529,58995,10688,125199,12388,60158,125481,131646,7642,133350,65874,3438,97277,101450,10075,56344,116821,50778,60547,98016,106135,13859,14255,16300,77373,173521,8285,45932,37426,4054,114295,55947,7703,39114,52,51119,128135,19714,60715,9554,50492,88180,2823,118271,52993,122625,97919,23859,37895,25040,33614,32102,20431,3577,9275,15686,43031,157741,110358,1884,40291,125391,13736,5008,64881,87336,77381,70711,43032,49155,118587,70494,4318,10168,30126,12580,10524,280104,104001,145413,2862,84140,6603,106005,13566,12780,11251,42830,571,179910,82443,13146,469,42714,32591,265217,424024,92553,54721,134100,6007,15242,114681,59030,16718,85465,200214,85982,55174,165013,23493,56964,82529,109150,32706,27568,82442,5350,14976,13165,44890,60021,21343,33978,17264,4655,22328,27819,75730,16567,55483,14510,17926,45827,150609,3704,7385,272531,161543,76904,122163,52405,2039,19165,41623,14423,228354,3369,176360,85491,7122,35789,303724,4465,13628,2233,55311,118771,20713,10006,221519,45115,71021,35650,29775,7337,10864,20665,21142,1746,15080,1624,32449,10905,105743,229797,7701,3940,22997,178467,57208,389057,39683,59403,63344,63125,54847,69691,18336,56448,3362,37202,18282,29648,138224,35867,10495,5911,28814,26653,31514,176702,26550,45621,11734,4525,40543,73944,121080,27858,155561,14887,44670,30742,8796,107455,113472,56369,75581,183777,240095,133699,153299,8768,160464,26058,49078,103971,21875,71486,44888,17156,9678,89541,123019,102337,3972,83930,21245,87852,109660,287918,183019,686,10100,39177,283941,11274,24736,26793,26214,25995,77011,141580,4070,23742,46285,46632,30700,26669,19056,35951,115575,174034,56097,35463,87425,24575,44245,38701,82317,85922,281616,100333,147697,61503,7730,84330,8530,59917,61597,17173,9092,32658,90288,193136,39023,20381,56654,31132,7779,1919,1375,117128,30819,11169,40938,23935,115201,101155,151034,4835,11231,74550,89388,59951,91704,107312,167882,115062,12732,72738,88703,464019,158267,57995,60496,737,14371,123867,4174,243339,159946,7568,16025,134556,110916,38103,191,80226,88794,29688,27230,10454,76308,57647,77409,113483,66864,14745,19808,12023,46583,84805,16015,17102,2231,20611,3547,95740,250131,34559,108894,8498,15853,159169,148920,20942,2813,93160,45188,210613,45531,52587,149062,39782,28194,57849,60965,84954,89766,84453,100927,16501,27658,165311,103841,54192,207341,19558,20084,319622,5672,205467,98462,61849,36279,13609,147177,24726,165015,209489,59591,31157,6551,117580,75060,141146,277310,21072,22023,106474,63041,137443,122965,68371,5383,42146,98961,113467,30863,23794,4843,99630,30392,82679,13699,241612,33601,93146,24319,18643,32155,95669,40440,15333,34089,67799,142144,58245,38633,114531,117400,77861,188726,5507,2568,8853,10987,107222,2663,2421,11530,13345,30075,41785,118661,104786,17459,12490,16281,71936,193555,17431,5944,71758,26485,77317,20803,367167,158,7362,93430,11735,172445,46002,11532,54482,930,62911,2235,23004,179236,4764,101859,208113,22477,55163,95579,14098,67320,162556,90709,156949,3826,57492,4025,34092,87442,104565,6718,186015,28214,14209,10039,107186,233912,58877,81637,55265,39828,6194,145813,50831,105849,4974,88319,122296,10272,197216,95714,51540,72418,23324,91555,8743,140452,250249,51666,34124,7229,38592,129641,78169,174242,22464,149964,51450,14034,10026,95376,26190,120062,14401,8700,265,31386,143573,7203,229889,61567,4227,140981,2466,72052,10787,10062,30958,6099,38471,30103,23202,208101,70847,467,58934,32271,32984,36637,24107,30771,17109,73353,13650,2098,157040,67366,66904,106018,265380,107238,18535,44025,32681,144983,62505,91295,56120,3082,77508,10322,63023,36700,81885,224127,16721,45023,239261,111272,13852,7866,149243,204199,32309,22084,42029,38316,126644,104973,14406,43454,67322,61310,15789,40285,24026,181047,6301,70927,23319,115823,27248,66693,115875,278566,63007,146844,56841,59007,87368,180001,22370,42114,80605,12022,10374,308,25079,14689,12618,63368,7936,264973,212291,136713,95999,105801,18965,32075,48700,52230,35119,96912,32992,8586,16606,101333,101812,14969,39930,759,193090,27387,42914,12937,5058,62646,64528,38624,25743,37502,3716,4435,30352,178687,26461,132611,42002,138442,35833,59582,16345,8048,60319,49349,309,47800,49739,90482,26405,34470,63786,32479,85028,39866,47846,11649,23934,29466,2816,42864,31828,7410,74885,49632,47629,111801,90749,19536,18767,105764,59606,21223,10746,76298,22220,39408,7190,79654,64856,11602,82156,272765,17079,70089,245473,51813,184407,384678,1576,122249,5064,27481,6188,25790,74361,27541,318284,45430,31488,620,93579,45723,192118,22670,51913,4162,70244,35966,26397,16199,50899,209613,121702,287507,2993,36101,132229,67345,33062,76295,118628,78705,52316,34375,107083,107454,44863,127561,33964,3073,154010,190914,55967,39074,6272,31047,5550,41123,26154,98638,47110,19998,148091,50229,31329,59900,195442,19106,61347,73497,70015,682,45850,25776,38022,148951,6288,37411,232526,109277,27286,32342,9262,5220,16651,23175,46740,129438,78614,121925,66914,88710,127952,5563,21500,34521,10739,14863,191006,62956,17359,16749,67027,56284,69134,43301,35039,58883,54466,60823,404451,75743,59856,86979,7923,34273,83785,32142,7693,268986,197428,282681,17049,22346,22990,92245,107180,3357,37104,96724,49153,7683,31197,43267,82231,164276,23696,20848,188364,22309,24821,158707,1018,22514,70922,27792,45589,59709,10765,736,35218,63479,51987,24275,63588,55361,92929,81964,4658,20122,12330,44058,13065,311456,72224,8337,211229,38979,22590,138478,52757,32595,133600,8838,31549,94412,43391,90056,1585,94802,127271,6223,31889,137038,132910,2165,57616,230152,6080,10748,36737,74579,134062,50525,180532,119270,34556,76155,82394,52595,29258,31435,87820,67996,26943,183878,38007,2410,13526,180297,69856,3503,187396,167700,7838,16701,9199,56267,3661,37407,65994,23767,5708,62508,221700,67088,86978,46776,84434,32088,5612,9149,88244,21685,95151,46750,189612,2979,506311,2594,3628,40074,105039,78243,28523,6651,38058,71999,30992,12764,68261,108991,6165,26450,61961,13400,22426,7490,60890,109623,2070,12958,50355,67979,257096,7213,42578,52121,35716,65461,7516,124758,39268,302,64712,14977,1467,219452,2840,34229,11121,21602,19270,63574,8024,1532,17331,79839,78885,52029,180767,57957,6069,91265,61380,55767,8927,32881,287603,22149,35029,68876,6428,199567,46926,13412,104132,21434,366616,45060,110046,81924,128910,45886,52821,130416,29416,77342,21762,67329,121432,79924,11724,38625,81006,102033,28338,13326,3250,82056,82526,38212,21112,12382,111495,3263,7414,86274,93490,40844,30224,45212,24019,48411,71367,24941,76729,57776,3769,38114,202019,197745,31953,237533,33270,201580,255648,100798,44741,32241,98468,106931,10085,15090,170358,33154,66787,18819,69760,25061,234005,82660,6295,131975,16874,9076,4094,25005,17740,40908,19533,220019,44330,99792,50040,19619,13950,55228,24423,31253,95308,103177,184795,28590,82285,5059,3210,75525,49894,70007,56178,10580,36051,139681,21617,98736,3555,106306,164189,37352,63915,47824,24883,145530,61904,28444,11483,19837,145446,30420,112972,85939,11835,191233,2262,20705,58630,1753,148334,1197,144714,6887,11223,107667,60879,77914,4151,57417,81594,96681,169430,1784,20444,95138,254041,27038,596,7117,72808,13759,3353,126776,21074,55322,27081,36942,39547,139830,179275,4453,713,8722,71399,19204,25785,22794,23923,104114,11291,25458,102309,88396,75288,230440,206396,104551,58447,130857,37247,94734,31548,176529,226077,65159,20104,10096,66881,94191,237909,27109,37404,1520,27421,25220,113003,23423,24884,50585,6286,231877,150800,11789,3226,90004,60642,5053,202400,61442,132531,175329,57138,30116,103847,9973,75367,16452,32360,59119,21246,10191,164804,23305,61051,37348,154530,13214,5468,50403,66754,130976,50559,80515,14436,155492,84017,5472,43107,41240,2890,90431,70188,382,76234,48040,50211,281038,237007,32115,142178,1536,22761,96429,1811,31243,1679,49143,55209,17402,235054,61494,7462,77030,34925,87609,78002,9499,9027,73289,201078,101379,63544,27666,5469,10642,30029,49816,132979,95620,58086,351930,116300,2110,2043,30845,6154,11279,16727,4122,2277,27281,4971,3650,39060,61970,65951,39674,75686,38151,11370,130809,177895,32665,63725,122267,7857,39618,118483,44792,157755,178624,136994,24260,41308,22471,12404,21707,12486,30473,52781,50246,20247,39065,909,56825,103158,128603,31542,1089,41935,32744,12428,37963,84420,33134,72921,208449,42622,168151,127335,147107,46699,38216,12591,94342,85814,31423,24944,2605,87542,67473,192551,4496,56321,91819,17630,6300,256183,114569,202090,33209,35289,34897,24967,40520,43470,5344,10199,34810,14283,10381,10017,62923,49924,23233,64539,13051,35686,19698,11570,135555,120868,44924,87065,52318,52335,47586,140906,245885,109834,78668,9065,46990,25258,72022,61243,40838,4545,146387,10537,11557,17470,36930,68104,46711,24264,79401,81043,18225,120488,24746,84338,81652,28266,13776,21878,46973,1047,230465,73357,95777,24973,210160,62210,58404,110633,169651,6937,41870,9909,26822,191062,76553,27519,96256,239070,2478,205678,67955,58532,20601,50120,19148,78501,195724,110740,8249,109665,27446,30568,57631,31425,49752,32820,65504,50079,3663,102256,219898,23849,211315,14645,4359,91767,9528,12449,49366,7941,49763,107848,8930,27086,50686,9744,10447,81935,39513,46514,1670,29229,6172,22312,137280,97759,9806,14445,22976,56458,73391,34983,93760,174219,52573,33149,59747,2429,136277,75123,165263,91040,7446,57632,48633,97140,246081,84766,151684,79918,93268,120346,54059,54875,77858,32996,103590,45276,11968,19600,25849,17159,132907,42828,16817,4913,99462,103303,27395,5737,74184,20749,21160,14377,77062,131403,158735,10999,27799,77785,9320,34366,51593,61070,33746,47048,29268,36675,30262,53297,9832,82e3,20188,122292,39917,7331,18160,68301,185935,134830,15031,4935,10004,165845,185534,46923,30109,44134,122631,18874,22903,112790,26561,18549,348902,82871,140345,255565,135390,63556,103747,145055,179600,145662,296111,61661,211987,23952,52342,126343,48450,32919,44277,82185,9591,62139,205363,376969,394874,108461,18040,120885,14798,39863,16571,16794,58271,81025,55206,14640,118656,6361,44092,85970,6262,153863,108244,180200,72264,79947,38044,10050,5735,61221,80712,5471,115689,11391,11661,184257,20010,60116,30320,19327,134598,45455,27542,18004,125092,452272,1549,91523,46567,180063,156026,2608,11174,58848,37788,65907,80194,30490,5786,40775,119519,106241,11323,156297,8425,61495,2617,29675,2425,59886,112582,49142,59618,4863,50597,86710,50650,168632,27693,85641,83643,18993,25768,84284,28090,93592,36627,312804,43381,9887,9402,100931,97165,3311,173330,66805,28935,4963,184460,3201,78102,19126,21607,37496,24938,22615,16153,32862,134792,153318,61120,6067,2812,12826,12792,23825,37559,64662,202250,102694,155488,85881,149193,46233,65383,15521,106982,11358,176786,25752,39717,34208,24510,32464,77742,39371,72028,138229,60688,71386,102834,132477,2208,11548,63670,271279,28351,30338,38620,32491,99845,143885,152266,13252,2825,178663,108097,1775,78201,14897,113573,163346,62292,171129,22183,96598,38733,64971,166776,117445,9968,146393,44677,74867,20908,97328,12761,25656,26785,9148,112344,26115,99176,110121,22437,49547,6180,79320,5835,31392,43328,33377,75870,119860,69497,80273,7325,155219,43167,111173,28347,20222,3763,71752,55041,47252,14618,28088,15012,97805,194698,54636,2036,41349,6173,96604,61530,51859,43782,13361,24334,22668,24792,7070,23441,16789,3209,36211,208475,26242,32880,122181,182407,21444,31060,88459,29929,77907,12716,10934,97005,20599,31690,8403,58445,30303,22700,10336,86731,103115,337709,72556,46788,112566,47684,67089,53548,36874,56487,41387,125985,26893,40071,106683,73712,18787,40105,72992,67246,137276,50802,36790,70328,138827,22466,39263,183295,29858,50975,9322,57397,10654,24364,30383,55799,41600,23584,127295,296610,129078,143558,244131,86397,36049,1085,80677,3820,108139,5476,34767,24683,7758,13060,7239,131671,250593,59556,103392,29810,4188,252323,39404,116877,7651,43600,40338,13554,157253,39196,25978,144387,61211,234,50104,6129,10449,93777,9240,356378,274148,4439,72970,3724,147770,78680,62570,115877,40027,40547,36817,224392,64609,34795,165027,67440,2477,37206,23431,50754,164797,46018,94995,170982,27051,7957,22767,3674,27900,56419,18930,60701,41302,2692,84749,339721,61996,111094,80221,50129,1045,8153,62945,19202,8250,37208,37418,32560,79477,41106,88569,33963,36693,5892,30570,1581,66471,49647,11922,160717,29442,5643,114865,82962,95982,132098,22633,22838,94726,54556,28566,205039,162340,33216,16849,35847,221339,94851,26533,71469,1805,3804,12935,45483,71020,36310,65381,192960,34240,35165,59773,1248,46954,155332,96864,4246,388800,16129,57133,74592,44807,442014,38203,42574,80818,91592,26377,36424,65760,977,77387,22628,147610,28018,30561,98454,6969,119628,63648,18170,36854,26601,64018,22027,37279,51395,152934,21153,9430,58760,194742,5330,55115,34158,28917,174111,13171,122326,1526,43896,66094,25325,4234,148354,11450,275,18999,112191,44365,22723,68409,8733,57746,96565,75007,14196,108844,29475,88599,177563,100792,106156,86323,93726,14248,135341,194131,40126,47099,14779,8272,39597,95983,171398,65882,28052,10393,47213,40689,22120,72212,106829,34964,109146,753,648,21660,30047,17527,181025,5619,145357,4085,216883,9359,186951,24779,53931,24545,36197,223296,62628,168101,4243,107313,30321,26642,13049,51059,31027,107912,807,73550,26551,84369,122422,165872,49754,74213,234264,33151,52014,33100,87183,22365,52500,40013,23302,5652,72723,21404,26107,48434,587,94049,168493,96418,32871,70860,31709,25128,443,71597,166253,15670,70994,26341,133675,28280,75491,54756,47955,56028,26182,11952,113272,472197,64640,110753,17919,337,50642,22576,142,87371,53391,93210,126694,15285,19642,85667,14148,1506,42092,52962,33243,11970,20734,135843,57044,58880,13002,219134,22876,64754,232519,4257,43120,321573,24799,64526,124728,52579,81472,70831,276848,17403,74359,23021,182101,74597,23744,148267,12055,7976,5349,11772,67540,167347,65318,18720,127832,108238,22828,90233,9987,259080,118185,73209,79270,13775,90100,137742,90799,70569,15699,19961,9087,67475,57872,39731,8810,134897,131868,146849,19898,3334,2281,167061,91073,60356,467742,74712,188,53179,137679,92769,29241,9537,132595,80119,1041,88962,5976,40171,44911,102859,139059,104558,98987,47761,19272,71472,113864,175377,73338,10857,23402,23758,1591,139864,5644,4076,118760,16427,134198,18853,20291,100849,37423,22038,36677,19071,195521,57445,11069,31869,55718,66882,148490,44,41296,75242,49704,166810,9906,20943,122258,49112,105667,15969,10344,6408,187694,21399,72742,58970,14867,14376,81889,41856,23225,15042,56993,16074,131389,74276,72407,53875,383108,53597,37363,68993,44854,122548,430927,198279,38430,80409,12245,2981,628,2818,17760,37437,238229,7968,46892,2200,3730,34190,65983,37959,112291,87850,70827,6522,20750,73913,111621,41652,19587,2780,58668,25916,85259,18200,168962,95781,42445,102050,7776,57662,103313,47742,96358,41964,66174,100396,29069,204735,19679,27978,7479,40264,22534,61183,36081,107436,58223,14680,23002,101311,24716,124108,12908,5646,31750,40380,14215,232799,102772,14122,96775,61398,50917,12096,149880,67833,598749,124194,155871,49216,790,14677,65319,56917,7440,145744,95701,12206,49405,129269,76199,45732,9767,11058,9047,210885,11051,7392,26307,2130,8132,147526,20802,232698,115660,50060,59789,57344,107623,80343,112676,23291,9866,160971,34032,118291,15719,59730,164911,28975,2659,58046,78480,21854,66209,53863,109085,116045,29021,46481,107552,22130,18764,70254,31272,11300,52460,43933,84738,20721,53869,190840,79673,105300,7561,321817,66924,13940,33281,101046,183181,32176,71878,5678,62924,79535,56646,40303,19559,27703,93042,73368,42187,3670,37376,46440,7023,36816,109628,20680,5940,276440,275233,170848,112093,136996,14984,20226,111441,77693,112960,48577,39370,55707,50314,123404,26570,54281,61372,123391,4857,35928,246740,132507,106646,44241,7196,92258,9825,37688,51197,303141,5590,15476,132986,10955,85782,34486,26696,7991,28813,18858,39546,11703,11365,38185,5716,93555,11925,40121,60002,6985,10976,171384,3887,43394,13337,56346,6381,252336,39573,75042,53711,1028,31781,44295,95925,131713,7214,68125,43571,70954,213234,1628,8760,13391,65485,17320,56038,1710,25248,60803,57399,19839,3870,326,281556,50945,72400,21460,316244,75619,56246,98775,481,13513,55765,50427,7388,123519,32929,57908,27124,61316,101097,57467,30228,48792,10788,20402,37318,50526,155730,34456,158065,145305,17832,43733,64052,4506,35072,205355,177028,184004,187081,68616,35938,83703,10367,36892,93186,260137,51934,89970,4985,23445,26755,21558,7948,78741,23376,124405,85594,68596,57536,49351,12619,56593,132668,99924,109728,71844,71935,196018,65464,17617,14987,89701,143773,33997,8687,22701,33258,2914,4436,72108,85610,9671,49067,2327,82988,1361,1672,44033,35777,30269,24057,10605,82236,616,15793,13919,47249,112086,116698,9484,80207,90574,33304,68624,93127,56101,42210,160929,4827,38995,38095,4701,125119,5027,33680,9236,231236,14135,87837,23318,70261,78893,30151,81482,14332,1084,74256,27532,46644,79185,3148,62615,6981,55672,31668,36825,1849,14536,37446,14738,23779,43058,162749,72199,1168,21346,5592,85932,85302,9668,18351,57135,150360,2080,228015,77953,34670,119302,151751,31009,106725,84265,45214,59289,74178,113071,263206,111009,4021,44449,188119,192629,123592,392506,292847,114487,12831,205858,9852,20780,79648,75767,357014,97721,18166,21005,67950,33226,204009,16536,2987,11335,66717,144910,47950,17262,55060,15063,2934,51038,26775,178497,66008,3427,49433,128592,20036,157553,63861,3089,23015,51210,28696,35933,49942,71135,231518,99620,17248,21835,176536,20676,16944,38700,165831,233253,295625,36723,13023,52745,10907,19423,67972,125868,95473,82875,1183,108455,52685,33417,64095,21433,52438,33191,127809,44505,211823,7810,2752,95548,162031,7185,91196,47563,61721,33359,17897,23682,42806,178101,22874,49707,199897,75419,82456,8618,11171,79712,116847,18783,44190,46564,5346,59046,95032,7893,14916,3214,26800,24172,121453,34362,10250,17408,18888,4840,68696,22831,13162,36005,32512,14800,62357,41723,45046,27247,37486,5372,2564,34261,298500,66509,133920,89138,31305,117697,19097,108304,81386,84106,23802,46411,63304,946,51417,41777,41041,19501,115864,60743,294354,37955,94165,18116,1156,17937,20645,57114,90804,58042,48643,92288,9861,2557,88546,61333,101008,12853,5148,87856,4152,144503,73841,18718,9789,147565,10846,42085,12789,30223,8993,56352,67203,2448,28215,6052,23540,126319,75933,36689,80235,23231,23561,21383,38800,77548,102798,21234,31468,158608,46188,63960,191679,8051,67014,11185,170078,42186,28827,34777,41930,212079,12421,34750,24111,110344,73918,45171,70826,141949,40063,23979,24254,37309,26724,27179,24718,83648,54938,14591,17425,29525,102675,48975,48654,12316,8929,60640,41709,50168,63264,89812,50716,48632,38755,138583,160123,55579,71829,24230,233277,46322,39650,166388,34718,24108,98252,7031,106695,62498,18258,35062,217827,78731,34824,33354,19520,60852,2432,60224,8587,2836,62955,702,20227,42285,40560,95592,62486,11094,53035,143291,18842,46177,77994,1770,9657,107422,172915,32655,128716,25886,25164,156740,119928,165875,85817,11007,89110,33956,12652,65156,180266,8494,36889,19958,20955,96,1264,118288,135769,44754,86671,5632,19026,168220,289120,33569,93821,66144,70635,7687,5642,2714,55445,56636,71545,184182,93133,7332,37389,12643,52315,22729,11014,158742,17050,152889,50178,34601,41945,52136,9948,26914,63548,95721,115951,40759,8960,158258,38938,49232,48325,42234,81523,253019,66128,40978,20048,238048,38760,62928,122560,118532,43687,137472,163689,26680,9878,17448,51035,16211,60834,36749,29178,14241,59868,150086,2305,26477,42422,34342,165341,83279,33894,14257,29928,12743,13957,125571,89134,66712,10952,16507,147839,30146,7249,16565,45399,39874,114565,215780,31990,230881,171477,102,196546,44538,10880,84948,281705,86651,10617,31395,2342,453658,43569,60561,132901,21845,17727,58556,258242,22262,58728,4008,77997,11806,37431,30599,81375,109137,185787,114085,217292,97453,169085,30593,60212,11544,102056,65580,2384,91655,4855,95725,7295,157994,16228,20669,53276,141590,105246,17334,25440,76067,17967,39321,38911,11362,28559,63807,21627,26468,85816,40120,1025,15234,58319,69516,66512,124548,75845,78873,22137,46681,51242,85683,32909,76747,35555,43396,101465,1765,73094,1077,2962,39028,66777,57831,42048,15828,13962,36041,63657,52412,5242,58846,2141,5506,219012,134451,3936,182230,17558,17153,152237,22621,49377,170216,35257,68233,65374,6510,11126,212151,7184,2480,22517,3437,33073,30156,16557,3768,55067,86829,91e3,12350,148650,66017,79424,70885,49066,28250,21369,51213,34533,11510,3258,18176,18465,84413,6315,36411,163765,4346,356,107618,598,13727,285026,162695,8749,14583,7132,63521,184253,32378,25991,5604,30961,53675,4874,84693,5086,34811,26978,56564,7904,33519,51221,113942,69253,6664,125563,22055,220680,102008,742,51930,19494,176108,44424,35123,13025,75685,11759,74335,22250,181453,131147,16984,132115,154311,11991,76452,52609,85351,196,30969,9198,74919,2529,56838,71779,29187,116304,3504,62330,41190,86153,28393,254926,104228,105189,13264,84359,3574,12415,8534,57147,10175,188174,59504,60932,66318,16407,107921,17638,99103,49278,28403,39786,145865,8462,3558,43406,142271,29139,21989,36552,93955,72365,7176,13556,106185,37957,321774,17782,129017,51154,27938,24952,1935,39366,2791,33489,41582,56078,24558,9311,5449,218786,27808,190429,68013,36020,86003,29735,3404,87348,119357,115714,2324,86796,81973,40992,43376,93621,28784,16808,36367,2517,2909,191926,24978,55303,53308,205724,60068,3098,21375,64784,23949,26579,63121,12319,80145,39967,97861,6757,70143,67642,37082,34698,69140,122883,46151,62187,80934,429,19437,135071,137885,222647,13331,154065,327,61778,74257,40116,37493,14855,85079,237641,42342,102164,199965,71204,4662,29368,5042,113914,122214,8955,13149,102503,43173,5659,163787,69003,307084,63392,171080,21390,81918,86666,36622,24126,28887,5736,28054,207170,163428,79891,346467,95363,38980,111806,80828,9200,19288,294896,114468,87405,111715,141705,7015,72754,68463,48738,243147,33397,101210,37051,98801,82847,20397,4940,185559,18716,54718,83491,11725,40803,1128,12128,23060,5174,7745,67007,46701,1571,27807,180186,256996,18975,16837,7877,212758,250379,15440,87954,57755,24719,124057,83461,258,50864,8874,29038,71289,31627,15429,9005,4061,113851,107716,82819,13651,79656,117851,17539,111446,12938,39724,190787,4352,15402,21070,62708,8539,23777,73853,13552,38810,86117,16285,56400,1718,75342,142863,29033,378,110113,180321,32586,23606,26393,160984,207987,23783,8406,16904,24596,47274,11693,46539,60524,78595,48423,31718,20170,9009,146268,15183,191060,172765,1349,138436,37365,10970,40509,225817,20021,70394,152138,21541,66559,66544,89352,2725,17258,91345,7313,3815,115868,8660,40362,4071,103524,39388,118275,21950,6549,38226,32754,209574,29201,43495,18028,20296,40597,18370,47520,202450,24134,2219,8195,69545,38041,136934,46374,19041,159811,84865,58620,846,98749,13569,30714,97246,32186,4479,27355,92973,35214,151491,75963,37631,1561,27200,238083,23182,60756,12291,25766,39355,102333,87362,65741,59906,19538,201575,48772,102938,24438,292580,39964,66366,9004,61379,50548,37622,38732,28379,68180,76622,17488,69849,5963,7219,48143,43413,55358,540,58691,29506,19245,52193,48621,5518,13048,118625,44755,191081,42061,89197,2259,60665,66994,71210,51232,3585,142096,55024,7892,8345,58653,463307,65658,64319,137941,136323,53499,12746,43492,6978,95163,29925,60175,5128,7352,41463,184756,121146,20473,18426,4598,5309,54580,14277,121151,10691,56711,43880,63409,76682,11830,172218,264898,32632,66536,81062,31649,25788,92774,60222,11100,63159,9432,224657,25240,53613,152,138620,163829,2397,85345,12501,37507,64932,38575,43522,65789,80198,78796,35226,3851,108891,73311,3060,28391,93671,39663,46142,30982,66041,37281,68157,26553,71872,81142,211527,39747,118119,22695,2859,11066,20232,168911,7933,197005,17066,111071,44434,133994,120798,12766,227798,45756,132852,29917,36076,55352,65281,129800,41958,18944,84678,18580,168093,132621,39997,54092,27740,32354,3770,114118,103242,43918,15899,18574,145944,3190,123469,219903,24169,100571,62403,16776,92779,14535,17168,16475,14304,37231,1712,28218,242754,61688,28980,1318,51359,222657,99200,67989,31772,23932,35351,201251,49041,27306,19128,40135,3986,77333,19649,120683,151927,21081,7076,78375,77501,101599,8011,89585,96715,58179,5378,102138,106793,26051,217276,4197,16297,27014,46721,13322,22806,5278,29629,70632,9647,71519,58818,40603,128530,8903,36770,56900,31483,26935,43845,34265,34920,87658,6114,84767,64250,47318,50720,19264,162514,33357,13117,6705,46696,75032,71054,87004,42035,69138,11903,99854,102328,19611,34525,69312,6431,49842,101600,133178,108751,41829,89939,225664,48916,99556,9195,130387,5960,36857,116724,53518,94002,39077,53996,6945,22261,64291,8314,152785,57588,16522,9091,5048,87671,35441,39509,1945,12423,158923,178413,37549,14095,1475,73188,62878,4819,24012,68534,42606,4010,120809,57497,59564,101758,103718,32701,80116,12345,95834,46918,21468,53213,15665,31200,3867,5140,96013,250744,21016,10069,13968,35449,180829,27683,39704,59956,22893,3115,26293,32785,75934,62445,141162,62720,2018,83638,19949,114012,95006,3330,99829,130935,309272,9565,55874,121727,37017,23586,319858,40970,27602,8625,112329,61060,100088,118525,25922,16232,1907,60671,51583,44553,80993,5262,94679,8676,940,20736,11823,3020,16476,12340,152600,97416,3703,25744,66826,16245,16876,46446,84798,74227,176020,45192,61955,75496,23946,23626,40372,26036,6149,11822,30582,16541,41914,82385,232823,40921,80773,14930,3631,7517,39619,4348,36180,126106,138939,62611,1477,113512,47321,25052,14546,118881,29060,23589,128322,36795,18401,137921,104699,267929,36194,172791,18113,4766,188215,30083,332586,94089,5805,77909,22194,68234,154976,43220,40660,70001,184893,138095,11128,103010,22663,5108,212615,8485,5565,49222,54614,26530,42639,16319,55062,152662,105595,21114,22216,10294,68158,10436,86950,7206,62115,3977,3657,59874,456,118617,18156,106663,112229,80992,17442,8217,55551,5133,34344,251927,51153,39364,201321,7816,66803,23057,156724,145664,14276,95705,979,2796,6875,13429,212525,50602,26276,28284,3424,19465,52397,46963,31420,51399,206476,92317,48851,637,100820,83349,10317,60227,21972,6908,282439,32857,224767,95629,83882,42106,87338,69757,29840,68709,37665,45244,114577,49188,175943,54009,186746,106158,70168,3358,234002,50555,9221,129338,9562,20118,32923,78479,118280,65752,4977,10474,102174,60947,129006,10570,83451,8598,8078,159367,123785,80438,16742,5905,5281,181513,42402,6977,163136,93179,42191,14968,50421,112401,105440,33456,57347,121611,4221,94954,36517,24046,27796,6255,33394,72990,135408,116627,1233,57874,25654,95419,68156,401399,313338,55208,45573,93124,119251,47200,38196,11909,130667,45391,73904,64964,167846,4137,115606,52036,62214,7969,160925,7187,1132,134835,40309,73195,64494,80472,444841,61111,26500,45323,40743,53625,52797,22659,15631,29739,36706,28841,39147,102836,26794,10536,14845,87305,45874,12241,127587,83833,57183,79722,30844,41304,84655,20825,92500,3722,25655,27811,10157,81634,31362,34088,92487,70123,22190,185100,72658,139035,192523,88241,2078,230490,44528,85638,100198,22088,29982,291233,241062,13865,4445,137791,37835,107218,31726,19718,38234,72528,23046,19177,66695,5109,17251,28077,5617,21554,47839,72425,133825,1486,73065,181275,141508,21768,62971,63082,2512,34200,9904,120309,6392,91243,68416,268253,41199,116757,138551,185526,41246,28986,4093,19057,17295,4148,245766,122360,35356,112075,20301,75441,10998,7977,19769,62922,937,63547,100196,26427,157820,20983,236696,22935,8140,90315,156004,47204,140973,7726,45097,52725,22636,23436,257282,105247,522,88389,216031,202204,46812,211666,19693,68828,81691,45925,11256,30292,372,5236,167826,88328,232776,151611,5360,82104,18841,80393,25465,18285,20320,72377,31730,33160,45803,38715,27705,37379,24163,18360,103586,4015,32305,269494,91252,20080,36567,54650,7797,57073,12650,31164,42209,6375,261663,105528,81661,106002,2800,5375,17247,43151,4442,15727,194619,100855,144898,62320,78465,39929,16454,1967,28311,61363,17219,9395,8745,121445,76939,80385,162380,22009,54191,44248,16299,122830,48151,74429,78291,64755,14238,44966,2511,17712,67954,93583,829,105899,49935,84750,11591,33185,85447,42717,27409,208542,28965,62052,52525,5597,25694,65594,16343,63224,276188,12475,9331,127507,38522,57287,24128,133161,79723,105548,133695,48917,27558,43278,46520,13778,141954,110785,83366,17715,46317,105763,66298,147013,41086,94180,16478,220447,44611,730,19722,78975,117889,125643,26254,16574,18480,65006,15806,38549,246418,46052,36056,8440,34984,30170,3163,59800,4458,115442,4283,41970,33507,104078,1653,22,121158,276486,3655,6338,24048,133421,23641,2161,24422,36006,8086,10675,181474,12307,29514,59143,14729,52509,87128,122470,19446,80852,33314,24573,119864,14237,9652,57779,6612,51851,15284,98871,90581,124466,156831,21190,22015,71380,161906,87247,69201,18392,17908,108470,72962,40719,14338,17911,95260,43339,20610,78916,20710,72451,11315,31448,17263,58853,178878,48111,116002,45497,80506,82605,85880,36300,121755,25215,36118,301929,88728,405223,276136,553,34704,212438,49970,78329,922,20711,25036,257130,38295,145369,18128,15385,30829,55656,48345,8012,3561,28004,122041,192900,58338,112508,41085,29976,87040,47117,23905,4336,92061,138880,97407,42083,172121,6256,25192,172671,5,93568,1420,12677,31605,56743,40620,6015,78415,231077,31298,80026,13902,19048,24924,170586,32955,176119,87859,36731,6773,27711,24658,26475,115216,133207,93250,95820,88522,8317,5714,124047,55219,86860,19677,23961,22928,162209,8904,225992,359835,56084,96201,29392,96558,86071,93643,55114,13347,8183,95129,82012,2017,123336,34219,115554,157159,47747,101684,41008,18735,193781,104151,226906,7552,179874,124113,31159,21162,44010,14771,51268,166128,31382,73124,77438,92830,205709,12113,1292,38937,13114,1334,2118,15597,69581,14449,21934,76618,48728,67038,14967,51495,24243,87736,147249,26720,11119,46063,43749,5843,44147,152629,133428,65703,14269,45604,57982,28672,55616,45957,8438,95433,37698,220862,132034,39456,61870,4161,26501,73560,56418,9845,4654,20916,10456,88920,119358,9015,65931,96507,48029,38534,21676,109081,43078,34943,25089,6131,28766,23665,5477,10255,16695,67,45778,42443,42770,29534,23733,100513,62617,42630,48746,14191,43753,50295,26007,8792,57243,43119,54725,164253,58250,112304,131796,25165,4651,3188,24831,47748,3705,19540,13211,102095,5593,18699,23666,32005,117571,33541,60584,74573,86311,99443,25172,27222,168938,7143,11853,53560,18834,19960,86522,28217,53266,117700,72989,34323,18721,66450,34346,74056,47217,202002,46269,9429,68582,75458,37823,82843,96652,32549,145144,27958,19820,158086,31955,201406,135379,31207,192545,12950,51704,9094,248263,76147,64028,110009,79407,89345,99284,223492,47966,26848,15359,201137,2861,110507,71231,72297,31851,118777,71039,151051,240855,16333,50766,14727,7939,4149,80908,418780,88378,59276,1327,7284,38576,79814,65820,42199,84860,49574,62596,12396,70598,40117,8648,7994,16836,7630,14047,359699,106878,525,29037,28064,13380,11675,50669,74216,103539,180314,27449,56299,172344,19274,7301,246099,32043,19422,36506,129317,6806,30140,4614,46639,66926,932,86600,6322,27847,233103,10541,39025,34887,3517,12972,26220,2031,66561,115015,48658,47596,12714,33845,3893,16165,35237,89983,14769,11962,147224,47018,29977,27979,5552,82338,86023,131368,1218,24853,237840,132193,15455,40873,3668,65351,53388,15229,59889,272245,47934,11858,34347,18038,90853,86981,300602,19343,114181,29362,84921,6095,106059,79472,38015,1206,48741,6208,8e4,21916,17423,6002,108083,24479,34931,56661,9511,26995,100694,163853,35997,81254,58321,18919,171890,86877,91341,74503,70477,53412,7027,59281,39892,131302,5864,15947,61301,67466,162369,47956,27874,35624,282324,21270,111847,102548,41482,30955,116737,28264,8592,55458,22301,75090,29821,30697,51709,3041,19208,8038,24634,30467,87509,126428,19389,18814,152686,20701,83474,45832,80891,105808,11378,153223,120770,98186,150633,49838,9141,12755,30962,5260,74490,21256,31678,65062,33326,289838,187831,20595,89768,2805,58535,10844,70085,12090,2451,138068,98544,24461,4511,6754,41684,28203,3383,65355,82833,30161,83924,234361,128424,28921,222594,33975,125491,34069,11508,67464,144226,41850,98703,34371,7901,21254,38398,65651,23549,53883,213340,123269,12028,71764,177701,28758,2623,68395,11549,15232,68603,9660,63116,36079,57093,31198,20475,48467,89984,35619,186847,107469,31389,43631,73867,41949,68841,114250,1605,30564,63403,17588,27680,99533,12641,70325,50428,73426,78379,11855,91651,72081,91720,60198,15743,12065,83398,140046,6761,46598,45900,5068,886,62448,148968,37347,19405,9680,15819,43496,63370,75667,163700,37639,3633,22774,34341,183131,134335,37200,23915,7054,14194,12970,26438,13350,285521,25594,8219,104410,91039,168804,138480,149734,15907,33818,61132,60082,4622,110187,56736,13551,73571,3945,73463,65498,17758,263266,17593,2710,27585,54469,38200,45367,63754,28881,3473,12791,98287,31895,65787,4463,94536,24951,36332,59901,28803,52130,86403,7668,181822,74831,18977,9850,177206,145485,109798,7292,31421,26280,77211,58511,12507,127004,11113,147,8729,56208,43066,79926,129937,31345,83947,39915,46146,98763,42566,1337,13192,18323,105163,80570,117753,16555,72883,11077,159438,40764,70933,83329,26066,12276,72059,21655,173836,126713,69454,153482,91585,70644,102558,110483,6764,127864,190133,3961,101798,20945,71138,82402,90884,69669,44753,923,16939,59700,164258,25969,27082,31399,43846,6306,246093,51342,6153,151581,202801,182731,56475,162188,89426,141356,14355,121815,27536,28023,65257,77523,106668,127314,24947,12790,38796,169698,23555,10725,44573,183083,42088,62716,43265,105958,32050,44067,50118,1668,3874,6243,318411,16599,1691,94999,52378,28671,216728,123258,2059,34969,69225,5913,136280,171443,141515,91662,22175,135282,80020,92270,1663,4808,4482,3495,34691,5226,109830,108512,17342,107488,11606,123190,100247,29666,146527,113014,15794,30894,13224,39585,243192,22351,9903,7836,47699,11078,25468,122291,48821,26780,122679,75521,81450,630,4895,92900,55074,74293,17441,3563,111657,103102,51613,12318,52370,36191,68245,34269,40445,41354,122901,168604,182500,62012,42557,11259,24428,115113,86345,12362,3909,78430,86852,134602,20459,47853,93879,22577,7659,3688,38555,13349,17381,56715,91639,12493,10895,92438,3142,37057,28928,2004,36427,32268,34222,209974,10432,67436,41989,173518,107930,27079,62729,30908,55558,5828,45031,14902,53546,8204,144263,60255,14520,88212,86582,109589,69356,8064,47449,8505,66558,16886,4844,52817,111260,215129,12941,91118,650,20770,6273,73089,40618,62790,2873,35002,14023,97208,19386,102646,36993,143736,135457,35385,113601,17893,32627,84439,100619,56016,6581,57264,172160,45452,111710,203627,70131,24100,322787,1996,35665,70078,22358,90922,83658,4097,63200,58499,14542,99153,52159,6615,12414,63415,31986,16823,1579,65405,137809,8841,16898,48082,259,33014,42375,12260,179850,73667,91389,98882,29532,17311,326251,41092,5928,20742,44964,48019,43505,9317,49265,6643,192712,48424,163487,19861,20113,70848,31928,105333,23685,78563,14638,54755,7158,24142,44018,20774,125255,20331,24280,10163,1285,2336,39851,4299,117269,46714,63816,87779,159624,11731,9971,990,137317,108831,50994,74554,162680,23640,131597,146962,170620,34829,91205,21184,1913,63616,18427,93136,156592,17519,67565,115882,138220,78622,88535,18115,2711,33554,109492,54298,971,24914,25863,36363,45715,27099,194995,14299,178181,111488,72395,322385,157719,130787,11897,81843,83999,11369,49280,118604,40922,61332,110343,53407,75639,40582,300440,54722,25637,13694,48248,48278,194521,56203,52779,48783,72627,10953,376,16733,280238,26351,230789,15132,25168,137270,3588,63704,73376,94031,74284,19443,159557,9697,39901,13351,119050,15406,146455,3460,29556,75195,37673,102524,92329,47289,98413,15311,100684,56345,7116,95480,11590,7200,167,23610,58426,17730,136656,27944,53151,2701,8824,103124,3017,90744,113588,53216,79736,65940,26931,498,29568,80540,143543,21292,1740,59268,16561,180816,42323,50174,40890,52866,10703,57169,4700,17191,4424,93511,49698,166650,26972,48631,165169,82879,69326,202970,4007,2376,231325,139592,22119,62851,37504,68816,58345,67398,186643,43331,277416,53749,15746,23102,17432,4793,151138,48822,54265,48203,198688,14305,54287,2291,18018,113378,123260,7180,97549,87027,120085,2920,76080,8190,102005,5641,64580,14955,59802,54028,58884,19367,81779,412567,85957,97053,103637,78871,29364,27637,141728,4767,30686,112738,130146,42745,12730,105040,14844,232,210944,36581,152317,135543,29744,3129,55647,58149,46319,27265,17499,28005,59948,7170,34138,5702,293047,110892,408,91760,218674,18469,46095,81403,14389,4610,35672,73060,11006,74848,104820,118143,190357,20043,105358,141735,5115,27093,45924,123073,52599,29433,9616,238350,78610,24851,58858,26769,31969,24613,18294,4982,32735,39639,143563,112073,202205,12567,4873,88601,44897,81503,101648,81362,34662,85277,17574,48173,21435,221188,40215,39576,80786,26544,64668,81841,10731,37733,247986,149188,127703,495,18382,54388,72446,43071,30974,198723,89608,41360,190,33045,8386,31658,19992,237838,119015,137622,50890,100913,6460,116233,267230,26621,104129,65114,14190,41542,14888,85962,23342,23041,26453,43725,71809,45186,4770,46452,53894,56616,221286,18973,9038,109299,55365,19366,26863,18808,60909,69353,41738,83463,12100,68561,72860,3980,13796,49340,12332,31311,27418,4255,53430,18976,45523,510,14224,30477,26581,4530,3651,101663,139840,22709,150861,31996,63923,120623,262522,3076,10528,2929,14672,130238,18087,9816,121894,100308,25085,55111,14565,18952,53293,2042,369988,23674,61789,133529,28783,108293,35477,47119,36448,71049,40015,33055,78598,198442,1833,159937,40654,77444,189245,113153,8621,18599,38553,35223,166072,2375,11659,21786,89523,6032,12116,63046,159398,18454,3678,32521,47626,11411,103527,38896,42946,15696,26370,10185,8413,37080,165583,4331,63555,14907,72220,50056,6623,62236,36565,49783,10049,17503,100581,55951,146244,24724,9626,17969,25524,109300,173965,99994,101056,46459,43647,53737,277968,8347,123521,74858,33829,44762,77574,877,81377,222525,123532,30602,43881,53145,2973,16284,81940,61281,127044,63620,9875,14756,114829,19032,9202,52759,119141,23928,120551,19607,3599,33401,76821,73233,117430,39968,36539,7071,5446,121735,194059,15206,45283,6706,15603,65615,1207,165723,92275,34773,104447,8396,32353,205240,164323,13600,60555,79205,25532,22907,33410,57480,107111,69630,32137,47832,70913,33161,20321,2371,117348,10714,86246,1625,11763,17900,268,78457,99175,97940,101092,86660,32221,14041,128504,125080,53744,124263,31017,13897,403,31859,21964,5633,111630,5547,77329,17961,18241,84995,25984,12983,67491,62168,47262,5241,297,51191,7351,8967,147212,82060,16821,782,11033,82431,62957,5026,43459,77963,203477,53528,6247,191852,87774,74164,215654,13467,1522,219964,28589,244104,16242,117821,67725,72570,156792,17186,15979,26990,44128,193014,35276,57125,16212,166451,68017,6905,77608,16364,53777,75921,76426,37975,26203,269296,64099,84122,12077,38533,830,4407,20139,963,43028,38902,42911,37503,83343,85045,16979,1165,60835,137387,58380,86990,110066,134540,56331,193845,81238,17922,163093,38744,110641,12502,56404,34862,26865,125964,12965,111648,25547,7771,27196,136980,9555,29551,107158,57885,18831,37705,35505,101742,13970,102109,62548,124657,23328,11124,89592,146376,248050,6241,22033,18337,80685,29898,11908,216623,67721,106162,146610,21377,15085,91552,42041,62560,122532,125336,102365,121537,142559,29693,223919,11515,110495,18776,22494,5895,185059,103592,229351,51220,100102,37027,257855,29359,54123,36066,106493,12244,79258,32002,432,56205,94836,90182,6726,14762,29391,48938,26864,38083,60364,3310,60192,14766,205567,57504,110760,22649,24666,46333,21517,3430,13135,28873,27052,158809,11597,20529,6695,23138,22960,37137,45574,6545,305877,43423,26153,24769,59844,14501,10430,134352,56169,13213,103432,49523,35181,13435,12408,129475,64620,230854,77390,51990,15653,83248,33466,44571,117828,51481,2187,10559,68019,18021,54895,48247,18354,33737,4554,108595,37288,39767,116707,9175,3726,108877,21616,83684,49862,1938,8543,276466,20134,108498,48770,102254,31914,131520,185291,100559,51890,209,19526,76471,50544,71814,99351,8172,198526,28816,20419,9109,98389,136777,76479,75596,30635,165417,48216,120220,25955,211071,39314,24308,32164,2559,146280,43403,9233,17947,90585,1786,86920,125662,2457,64741,32152,32918,122882,78538,44001,31723,56426,23375,103172,88177,145697,52506,49319,68016,31664,41488,18486,110400,7030,28241,986,109199,19900,42147,56864,65287,49183,7858,24e3,30453,840,16673,25907,68916,89927,6309,158335,36407,199737,130464,13137,59603,201778,195292,21015,42466,179062,172561,89492,11075,180407,31868,72493,20998,60217,9865,19530,39274,130266,54539,21623,12535,13505,40641,73375,4087,85633,2153,3117,70680,55788,92096,47509,98493,37490,271936,151475,3032,16171,96642,34106,78425,125761,19591,3366,19316,54508,24183,50786,194248,91528,33253,34622,108355,41741,705,3814,3883,108929,13203,67831,10142,59754,68208,29128,84820,56880,38794,24972,48571,40821,40476,18137,164254,24064,236309,79181,11282,395,39169,2013,51587,28551,9645,701,109513,115899,113566,12762,62045,58322,103726,41343,40866,244102,143816,2490,70346,40973,52618,15412,30720,104315,38917,42027,93676,17513,107418,20706,123890,13399,97727,24044,87962,65606,44250,98044,65276,74790,101473,19350,91570,1326,87790,172042,7577,100813,86896,85891,41512,108130,27794,14875,71431,12835,156250,58135,3759,22476,42176,115873,34686,56523,73643,108505,51491,20838,12721,32863,45700,29496,13700,34294,55360,29206,155942,123812,7706,163234,203,132720,49358,144431,8130,175788,35818,3270,76832,25710,54095,97274,28779,94621,74396,19092,128242,58067,20885,14670,93255,15107,63291,23654,126900,129421,59294,262659,9798,3251,67344,28600,44629,50672,29072,26999,31526,23183,49175,165843,175455,17282,175411,32022,45989,30298,90690,78118,83156,23749,35636,31317,7069,80381,94561,133756,14960,97404,6138,41065,78041,32843,16601,34123,9559,146529,123377,96395,54441,42012,84257,123541,10745,22139,106459,11720,150883,172651,154996,110538,4728,53447,25704,2009,71152,119354,21166,66604,1429,216162,8637,122250,63520,27180,29172,36124,276428,107787,77184,4680,14952,104903,24418,14793,51561,52931,8371,26342,48526,7118,92066,67280,40653,8847,34597,105438,14198,50163,61188,146286,50315,41205,170829,161496,585,197359,95056,1687,365794,91349,48507,5804,49263,5146,104902,96365,117343,132222,46084,96919,16875,8073,262381,79982,52663,13928,16056,153908,15145,109256,132308,18763,24904,167644,13618,40750,18686,147124,114709,150038,52849,2938,12568,48617,8778,5459,44202,44591,74914,17183,248689,13878,7822,80060,23116,194037,18487,2067,7798,43077,33678,244028,31320,74273,2794,19466,8218,36280,183997,48124,19416,29656,19280,98734,7715,18311,30701,133602,150307,126956,7378,2933,79903,13178,12593,86571,26604,92446,13574,44205,65699,427599,21118,8245,14407,27877,47936,33542,7916,26460,117762,21596,37818,2249,127359,209394,60044,47677,308089,36791,154971,31417,6998,150042,174360,12255,43009,29335,48739,3912,101398,53340,2580,146939,151295,45360,125275,15273,45383,27456,48761,23314,8750,60801,85823,104759,27894,123685,66968,39480,26917,55290,83305,2696,98390,57569,145853,340733,4919,20024,52268,30884,7413,203685,70989,112855,4129,50536,349518,68205,332641,159581,135361,236026,37563,176404,64899,6578,122033,63871,1850,85234,82089,66124,74145,121098,107351,12687,36881,117334,13136,14698,85933,93866,18047,32620,310,15094,46e3,88451,23632,36645,27940,87618,80520,58892,20976,27702,140090,96075,67841,103292,238964,87778,107338,17019,83427,67522,7302,8261,47570,116787,8730,80484,61772,174422,56005,131193,52875,14588,28471,59817,9586,15720,158155,51307,109734,15196,11025,59331,3884,52626,102602,84797,25158,27314,4437,20488,76214,189248,35023,114952,157376,2827,62439,102878,129749,36405,10329,109339,108633,36662,1254,13267,5470,87105,58004,15397,10434,159667,21864,52022,179464,3013,32147,31496,116832,18494,105502,129227,107267,50033,13481,9954,24267,22141,16257,116154,36185,950,115685,11305,176708,2048,178671,112573,287867,162328,497663,95170,50979,193861,50987,30368,136257,31830,46549,15119,169876,23788,17462,249887,57377,1949,35448,14791,43769,210091,3783,34612,282103,88380,245190,5457,20491,98908,11402,86899,117916,16028,162584,60644,320177,156096,31065,55876,22e3,77655,9992,23397,13757,317623,63978,215255,2443,17648,93231,27388,104529,93807,55505,140477,12046,112040,70887,40152,94365,112353,25063,114679,266061,71248,119555,15589,2244,617,14129,211431,70110,100652,7777,4383,85911,89221,21010,120615,58357,86405,37554,41647,18,15143,69662,60491,14714,186134,148344,42347,5410,168175,44535,42449,343894,129417,99682,20659,27272,140483,63455,222159,17536,13722,42637,62324,11976,114691,148109,2283,32057,182393,4295,147364,33705,2075,44303,30274,28331,63740,69740,29148,10346,44862,33716,73937,153333,12930,38784,247159,2515,41053,20256,83368,256189,54639,115240,5096,24661,175419,153552,26516,141,138176,63885,34115,47222,55709,2765,28479,38875,236608,12229,22921,77291,54426,45388,2860,57787,114579,295139,105782,17826,71066,19119,54364,69385,16568,12323,28057,33346,34919,124763,155533,101386,31644,8627,49001,303600,29868,63213,9103,77280,71333,9696,138789,37059,24823,5057,21352,32368,114208,56803,19424,10445,58514,8661,209508,26187,171838,10460,63454,14016,122504,41328,21329,46618,32493,38225,7855,31763,7945,29876,8734,6438,24205,97490,139977,130740,47323,33195,85390,57194,13813,60600,21313,96251,7699,27584,170521,139271,1363,4402,336738,129223,84983,69150,13147,3590,163929,207225,155260,55916,20288,4503,8398,98490,11773,27512,37113,84976,86558,28365,11756,116005,182148,13733,115313,47644,67208,85069,9347,14995,226141,14704,101835,41159,35314,13113,63526,214039,29978,50446,83339,17440,129441,72522,118641,97816,24907,73844,15717,118884,167255,96509,162793,30847,36849,51297,78974,77793,10427,1873,2972,9999,35074,28190,64297,146836,46298,60038,163007,108919,61219,2403,75022,127339,4233,110389,69022,9833,128097,88016,79390,222936,22570,94657,28462,56956,38803,81536,30474,152794,19566,16481,147408,74574,81895,20731,1918,1366,76367,187321,54494,24366,21690,61696,33283,107477,77499,31112,414383,74362,18463,218441,120929,59848,258629,201924,69269,454,19989,13054,59894,3623,58908,20681,35723,78523,102680,38988,184112,108087,50944,132704,52966,21699,18860,96349,201411,82697,85395,95658,5093,6427,177894,44191,32755,26961,155739,6249,31310,81030,26574,84311,120155,86730,113535,7424,48888,13516,45747,98098,20077,183995,81945,43210,26704,40420,75831,45648,11180,6855,57927,65528,124096,34851,2598,156633,107572,127352,38169,123845,60142,62722,105584,232364,23211,68120,1601,22169,89299,747,258039,80572,7258,152249,11862,101204,8834,121434,33761,19175,133142,46343,40178,48723,3589,41977,30210,38868,62257,10087,82658,87827,90646,16415,47552,351723,28298,72225,91146,272760,1701,11295,1652,109651,300747,51863,198800,29446,11794,32345,37538,22356,33102,37590,113544,37970,11478,179743,25454,103417,59905,221970,105196,145604,7817,164809,102360,16974,75840,255333,56902,6659,1954,645,59400,67769,7689,18675,5215,13793,20536,27852,3387,29523,259718,16860,94625,43143,29245,15848,233581,22685,63631,78557,22836,133302,84513,1348,51826,47129,98836,58284,1830,1749,94642,10933,6145,12506,10975,13879,103781,144434,10268,28409,32346,52968,121567,107374,77268,23686,35097,10501,155275,15303,47136,21102,168741,55332,90385,15996,84817,681,137803,25054,142275,6163,38175,8056,124296,240642,65621,4934,178205,16101,62803,60964,18230,100622,76465,44689,14545,9543,47514,16852,93380,28048,12047,107106,37575,101485,77047,57326,34819,96137,76916,6469,46264,115983,75768,87668,69942,13027,165,8373,114231,26434,52844,42799,182044,23580,146254,38081,43236,33883,146220,382894,14606,46035,36481,166621,35417,95382,2957,59384,60428,36358,66343,75378,22267,22950,83528,17577,56474,25285,4619,179691,75355,95836,53295,34588,171410,4487,14679,84208,44015,18562,109133,54101,11531,86052,174479,303157,28095,9953,35642,14564,39802,16145,77606,117406,53038,121117,53624,22062,1212,7632,127157,237292,189087,10478,127345,102515,181997,86752,87623,10966,121602,68783,68681,83042,114380,138349,191305,67176,50085,39016,1427,42384,1412,67118,122616,72389,25260,2237,13576,137346,19938,20304,2191,68759,5373,61364,238507,75814,23931,69565,38993,131741,38364,12528,87762,5679,129853,5310,186831,32653,90338,260176,389531,108118,26843,43985,50175,30563,25106,56965,18130,140428,4542,165503,117991,24219,229605,1819,129663,1240,3797,76093,18398,71339,51919,93043,27175,47060,216257,6483,35051,1217,16512,80798,129064,13225,69339,8548,237079,72298,2575,34280,51379,117910,55671,53345,247552,29486,39328,140821,34681,57045,60177,5004,90269,78522,2479,322607,48474,61296,13057,31558,4678,59271,6699,27044,31988,35944,12503,83480,4389,136508,3781,114121,70279,4488,155829,42214,2898,68191,75695,305850,45041,74344,106509,30087,17429,93292,12477,290,23080,114802,35714,18751,26554,105424,17775,2144,2412,100610,65192,113975,52975,180272,135050,129815,76238,106483,21440,63186,4260,46189,9711,28249,4169,23429,23390,8324,141585,63809,67668,38457,38063,39226,59972,1189,203916,62368,14403,16949,61767,85801,1739,40147,35049,76757,33124,62102,15780,103593,103009,53484,22952,67973,114645,6566,5245,50462,7601,8288,3513,194571,80276,1908,54592,5124,58571,2513,6800,273997,193904,1119,17991,117245,2508,129156,82366,26278,71465,63341,56943,39662,106116,94966,156875,9736,2204,122308,94418,27134,1280,24539,49022,45314,3764,50904,46424,30699,28087,293839,9400,33646,40165,822,147499,50263,116179,29085,11863,31314,5578,17797,5104,12454,1604,15342,219206,10232,67800,94261,25872,13565,90339,78971,75377,26649,41184,47695,11514,35369,20767,14227,41953,309396,148270,147938,33074,14453,27499,109019,39018,25738,240196,158931,52820,8612,95853,21524,137010,84901,70869,70021,116794,48404,38771,6732,1070,70990,187297,49140,5238,576,3564,253975,16027,16483,2811,37775,19034,25259,4053,2e3,70083,95774,19713,33431,92703,91314,42381,288770,48194,95985,3991,77418,13406,241328,245086,56533,35275,62725,9246,51924,70181,95331,16163,31410,79016,39312,120878,119371,275987,80124,27712,9186,220,23598,146167,85209,68238,282190,57048,31273,30555,80913,17594,75779,59160,135002,101219,189377,29225,96735,60126,62522,104e3,27620,86814,17240,147533,11001,5425,43682,410,49460,87270,69480,46315,59448,1816,76201,9431,11788,87960,29063,65539,47347,11678,33846,7008,196704,9895,6753,8633,120892,59970,572824,115934,6646,202559,892,48351,37611,251282,57823,67263,57750,26527,34485,90747,7685,88370,6144,64182,1709,41969,21458,62327,181657,49247,225330,122600,114574,107124,85361,111833,63243,71420,15655,191178,72430,18063,51425,54002,12364,53225,86557,18193,97580,41232,138398,67821,128724,8944,233212,101353,52099,42127,14006,120107,32789,32132,3498,18123,33758,56058,5779,128760,59888,98869,18445,84702,51911,13234,218379,20093,39031,8074,70195,20708,23462,24355,131384,60189,26390,10403,41060,7140,10781,49410,42261,87202,82566,41663,43105,60276,2768,5733,74176,28329,2297,145430,131632,83615,122915,105441,655,224102,5284,136426,67763,16294,188511,32538,61049,27893,3394,13951,159099,28542,17930,145360,9492,190122,32285,78855,26440,13570,58648,73908,4239,124561,2444,74172,53131,11468,10794,73566,11623,35343,64710,30481,4163,10328,38309,29901,10538,154377,76132,92405,24839,11679,3465,13449,11637,7824,2337,57754,1260,14458,41118,19878,38661,13416,159180,37074,163164,54137,28627,52134,184900,8520,40385,29546,30502,22386,66527,107458,6850,24022,47983,30603,35083,8934,304066,39500,9,28261,33026,77251,9374,44833,116312,34990,29236,63563,125639,135405,165398,159055,55690,88141,69643,236964,31983,25572,20436,36746,60896,31850,16179,11828,5888,3043,66368,9750,31167,7915,53111,36430,1333,64344,93659,20061,60596,180191,51630,6792,30244,43509,101058,22409,420,44210,109783,43223,27030,72477,72831,32679,29235,7675,47556,12258,39907,149412,84926,118247,24692,71717,105038,86009,45941,41189,89453,29856,52543,30627,226798,67303,59230,67415,34408,1367,99685,16867,128419,52147,4111,125381,117881,16173,44093,102224,31575,23234,24870,83790,127407,239098,3200,994,1255,100903,242275,117266,55116,38205,16140,29662,11307,40414,208793,123355,56470,4862,75600,30119,58218,70828,24075,26974,7802,192353,4851,5475,78720,66596,3409,28573,64396,30381,30690,59859,88256,5406,99945,103064,34463,37727,24238,86643,60088,4057,23741,5967,162904,38240,28356,93858,25510,122879,6897,3278,7057,11971,4400,35461,211413,21395,59615,39471,87233,55795,128426,3051,22470,41950,14705,3974,180108,80476,78442,204996,91987,15634,67610,139015,142373,35611,51134,10387,4353,153456,57749,181039,14183,68447,151532,21107,36452,20551,3186,46247,46383,129666,88736,140662,146243,2066,8360,7978,64818,106963,17896,47801,10723,114821,223295,74192,3293,3393,16987,74064,11277,91622,4270,29828,27951,387869,103235,1374,61988,120083,477,145892,128378,11779,211263,61354,18221,17869,46530,83061,108538,157981,90608,67199,95080,49064,195814,12302,66307,10348,231346,160732,112859,63633,146558,21271,31037,198802,47622,12862,95710,3910,77850,73961,85585,34752,61e3,4082,24595,103679,71107,8208,79568,150019,16615,24961,139857,32664,197366,4559,54735,32696,4126,162019,75698,13916,70108,159638,19834,9349,24675,175560,49643,18206,52459,27992,10809,88865,401975,133172,29e3,34558,30915,3658,25834,42430,36562,125265,18182,10155,40149,97082,208980,19575,60853,90529,66545,9600,789,46420,2317,88593,55595,98980,115302,5742,169155,1073,177901,3472,11189,63711,78643,65472,50459,127979,93,42202,67053,21720,157650,11145,141378,42033,22824,85705,79114,35584,15974,1510,54172,28562,12451,104226,19190,97151,73024,20948,5151,81741,21499,29006,84183,198074,54003,45120,170125,26240,35177,28389,64863,79974,60778,176915,232183,45342,2038,80253,41564,40703,32689,5430,100689,5366,23007,134279,14266,26712,73993,24934,64242,52113,102887,61801,46415,201049,54251,62133,122757,164883,30815,139966,2319,30842,766,13362,10287,134518,86111,81665,82440,28333,43019,18963,8804,161944,23439,102144,101145,80029,39052,248708,30350,117340,11878,128467,974,138625,63961,5237,74778,61834,67040,43814,13690,65947,33809,232476,115258,181745,28824,94013,9510,10246,93722,81976,7217,114383,3493,16014,69045,72692,12145,80981,9507,6692,1620,60820,330444,35474,33962,4797,7053,295463,46445,27026,12491,77988,49524,35675,90947,29114,166705,101385,133782,32704,6186,84595,176031,185623,45966,151302,63069,1699,107491,947,15458,74452,196212,6046,10498,12163,10239,35191,243951,9277,9090,29539,54460,22820,26514,112549,60372,51753,48756,21812,70861,260326,41,44222,10441,16961,48148,138771,216194,5914,52153,53400,212036,56519,26245,10117,45888,15294,138019,90913,26368,43842,42111,23348,6082,194845,161089,156206,51546,11647,30759,302912,262094,8635,78876,26535,35283,54183,31183,85484,147873,12989,5197,6356,72894,65347,20150,27370,73787,1493,45918,12366,190217,20724,13858,10981,67449,81213,7553,14115,72242,271517,11842,48310,88743,143726,22177,3290,243231,58452,62937,12592,1654,40066,33477,13751,9921,128442,15868,7106,75236,83773,10775,36938,10482,170465,17368,17469,161508,32752,98340,800,19824,264456,3901,87319,2867,26782,9630,113102,185815,24197,44584,86366,40224,3636,140916,31731,267731,9567,53678,72984,29389,27963,17106,50282,284911,60170,8322,12608,23374,89652,5268,39044,229766,8869,151350,31436,177342,12269,183212,120418,116270,2843,78888,69192,7865,184099,1086,129897,18383,70508,20242,18508,229924,124569,35749,50589,55626,9884,83115,40971,30671,18135,14452,38861,17844,201826,5549,26413,17189,13561,38539,10679,143331,3314,36785,171194,49685,187713,67506,4618,104039,17060,195080,50648,33159,19238,67559,134840,28599,157523,17130,38064,117398,94355,31918,13575,34538,40326,13997,3494,348283,62481,26862,3603,104426,244363,153709,112487,304612,199674,41239,35545,54869,293005,28223,26277,26899,4533,18518,15492,38587,80488,70485,160395,263,60162,11382,222152,4696,250751,51921,182609,10707,48463,46243,1227,49111,111564,46502,33342,56846,68541,63559,858,139927,16654,229375,76759,26478,33205,95828,23399,92945,2637,35630,28470,143992,50214,14174,21456,166191,65665,1711,21594,78019,97599,111701,36,147151,110246,189022,43021,30397,40757,131935,42065,73335,48039,26596,28984,15102,2361,7421,202167,69744,43766,52826,3642,83304,33873,75140,63169,192389,36551,92748,13039,123959,233220,21738,84447,77230,20228,187852,19095,25799,92136,108774,29237,53947,2299,118106,2687,8830,42331,202924,33667,2023,73763,30704,19363,19779,16737,35629,48081,24068,101013,162338,291912,13749,24745,328289,167679,70086,48299,23306,16732,17801,43322,54589,3586,63653,43624,53474,925,109177,251316,43805,13082,19511,86565,142182,92461,17117,101033,103319,64589,4022,4351,235897,5352,82705,107142,46391,156084,5860,61365,10558,13045,7717,18357,33922,12590,33065,6928,46993,783,46937,67846,8952,26295,6107,119656,18799,17458,50747,4229,179559,112727,118080,20683,41464,125468,51560,49749,44231,7359,35339,62988,136487,67015,5208,29150,24956,105186,48858,6143,18097,6972,16404,73489,58742,97196,36357,164616,5834,32267,13746,147733,15113,132091,34127,106298,39729,106426,22294,9780,15602,36213,71502,42808,66802,599,60755,5851,39120,67363,108623,126368,72770,91263,32486,30596,151717,7951,52002,43103,11768,68942,40901,39344,24037,127500,116890,48403,16926,86750,17745,48648,159545,34460,58419,5634,114317,67865,31462,23352,24010,98185,125708,69686,68337,13610,26271,70691,2980,4768,27225,102402,75453,28106,8104,6931,1176,6274,6475,112635,22498,6176,238686,26832,28893,90319,14441,15682,15087,39517,45270,109134,104440,45965,47645,81772,7876,52683,87720,12898,4505,185665,2769,113401,15664,57592,105229,137381,97059,119268,6876,43309,33886,128363,35476,144249,67013,143587,83367,25703,91436,59347,53236,2289,16519,19844,46309,58558,99834,23313,218816,231303,36388,51333,183535,109792,139277,54306,90139,18235,8275,32710,37677,82464,86025,92204,88842,117723,37570,128723,234242,76350,73795,34896,148247,58424,11105,11744,45746,63372,17118,49772,199520,81902,38004,22911,33752,3125,1995,53792,4689,26909,108150,146062,69674,41811,161444,84855,8999,28561,16731,93937,3189,21967,24890,22943,1356,145300,51569,28802,517,118679,31703,40607,48098,108854,25003,10233,73969,177495,5248,24516,215347,146192,48712,60626,69188,40735,5866,586,101541,6509,47590,52129,5969,222045,110933,25733,24223,65339,62812,2414,155418,35819,16022,78423,43138,20995,128255,240673,46745,236093,72176,57085,97841,61248,107,36068,193177,105427,55726,215229,20446,47228,100420,87091,14429,121708,23605,21157,187721,21880,2997,203976,99166,95068,25877,7724,98925,83401,4829,13182,18229,13718,239662,38653,116505,153497,30589,89029,38962,181302,43853,78872,180301,4786,248240,7401,106136,112590,77745,19731,60880,77789,125748,135487,5975,48627,34084,12419,215770,47557,254582,10364,106495,21856,67539,88981,38805,21428,48732,42316,12149,16078,52808,25327,51322,33850,51147,12253,122354,46077,56483,254553,115417,81834,150991,94662,86668,7381,12841,100650,18218,15741,22372,68294,50705,15535,84660,61887,22553,72299,31361,24824,17743,46820,64288,31582,77006,111674,116384,30760,80920,86149,77192,51979,79691,60342,122805,103800,240873,160744,233114,78962,54920,8608,3484,316104,72548,24337,5088,230040,21926,10172,36838,26,86221,83458,102176,12062,17571,41929,41170,28428,68239,41750,103930,2634,18313,53019,34825,97837,63115,24606,73157,152474,14715,91439,37033,109806,140259,30668,174760,380,135597,95673,136073,65073,134249,13829,17279,122305,4420,46444,10237,64848,203623,70728,10349,182885,65075,24519,25783,40318,34139,22222,63394,55266,102764,41422,20126,65100,90408,53640,35128,48932,11192,38935,96839,34782,39492,19396,41332,6250,5511,19492,51304,25936,104466,54099,73771,86115,5080,7669,30891,111700,13931,25276,72289,135447,14820,258641,25265,31005,281179,75286,393,95359,14623,13584,6680,101227,80173,44933,76666,54542,13244,39348,458,25379,109451,134348,81143,6959,65554,12027,51311,8716,57589,140731,28467,23316,17272,30458,25980,55229,77197,83798,28302,114784,7428,34548,26241,14712,39336,103304,18928,54080,12870,334,87722,15208,16895,142098,114262,39820,83913,57817,28682,7721,14900,108672,11250,62246,42849,415188,1724,26555,24549,25505,26443,107450,145899,61035,43528,6901,60726,65906,267741,21338,147590,42079,18924,73017,135236,15393,5206,4026,84185,1531,5988,113890,82647,303391,7386,69844,71611,189865,76523,31877,13315,19314,198575,32821,1928,67641,25913,104475,103489,3297,70391,18406,15446,113347,19295,93790,27856,1792,167471,116449,8541,4408,41757,63233,25765,86680,64501,27034,24816,34975,6079,4486,49693,36229,16917,21581,62426,27862,11612,54284,35702,194034,355,24277,48262,87411,70504,310164,118018,12516,47559,43502,57433,107139,9290,66533,80863,14634,34312,91725,28606,21342,67241,72355,43244,375789,37402,174015,105070,8342,44167,67494,1890,16365,11723,271002,1865,47918,8350,45564,27742,25110,125803,8553,49504,81925,62211,4534,15491,19011,80373,206920,667,102405,128623,245524,5553,113309,192739,65766,19567,22832,261958,29679,21293,71134,20962,105123,24721,860,21752,33448,18372,157167,94822,35770,173224,232737,75729,28937,46828,28062,25453,5207,140366,36665,30652,6169,67920,150458,92040,23186,184604,92330,20891,176492,49427,27828,38305,42495,143982,49560,25503,90043,29747,65328,47830,12932,11068,77721,9003,25213,94205,140426,46090,89945,138173,192691,33329,112232,129905,35709,27514,1841,19957,31411,127476,53572,17497,173549,55063,175135,19841,69314,5192,237921,117660,150697,4060,273045,50414,98940,65348,153665,164423,58804,156695,48994,213928,86036,28608,8355,39574,34540,16927,135680,18374,151587,10830,53805,16878,16623,4282,48030,8537,14986,46102,13062,72897,72,33050,108227,39451,45935,651,113320,40535,95176,57450,48843,5003,19019,10407,211163,3848,1068,4988,32091,30095,41692,15099,43602,107434,50744,7627,171349,16313,150832,352665,207750,33937,38256,51091,156e3,87889,90663,84175,24908,114900,50365,31494,83829,5398,169342,47521,54818,18935,8356,43094,41212,174536,10082,92550,6678,60614,23355,69721,14796,34149,128830,58187,3179,208,40325,28399,225029,401412,51150,31580,207268,6657,10993,69818,64282,289845,23308,12961,38447,6681,52944,31855,2572,47646,120728,179148,37240,45196,218274,4816,3695,21961,50084,35209,18073,51452,27004,6100,33941,1377,84831,171214,85,141510,9078,99227,32610,6417,11718,49868,65579,87902,73018,49062,46280,61742,21512,40862,107733,15941,29168,157765,144919,14487,5767,158014,140070,7241,573,71584,16921,223566,40331,179473,35081,47926,140885,41508,52104,59180,42310,32811,29048,123517,102413,80208,10104,14746,12649,153641,126022,37965,113017,4171,83,142592,2809,6362,50416,71323,116894,260776,16204,1524,5760,30351,12658,20703,54403,36083,45408,74772,4946,14485,50759,111222,10890,2195,167147,92962,130534,16283,177256,35016,15472,210156,151187,73922,117691,43250,52051,37392,24811,24358,30830,5775,818,21969,1476,127322,151783,58392,31021,106913,65215,89407,90802,28531,11690,20234,95249,44602,37256,18707,11928,5161,4410,26571,51903,49768,22008,25252,65780,209499,68769,203726,13249,137363,48845,86823,6658,5674,31881,1083,1823,108676,34518,166752,13791,14287,91576,91429,8665,11529,26401,16191,91972,30964,5254,28486,54697,79613,66520,18447,22870,45203,194466,22822,51703,12278,76716,44595,73455,33546,12235,144843,36154,51247,11116,33040,3180,225753,60864,1972,28469,12891,28879,10338,144157,56294,353058,38302,41447,87532,110616,27065,168438,6557,1213,50804,144643,24817,2390,136531,38174,247513,16190,4059,122791,131994,137430,39506,57650,16305,5188,54309,106128,20628,88071,67394,395446,250285,66176,91254,1399,114196,43915,60230,44853,27206,106353,43013,18733,345105,226453,51202,16607,57106,117175,35492,10476,89598,127439,15187,39624,13688,61570,10615,31111,59370,6238,175252,32143,224492,41388,95408,34384,148238,78307,38959,9340,160091,61443,15737,11216,41244,170,38299,102443,113097,26382,14027,33707,3957,76300,66160,19431,18900,6952,1717,108656,82206,188021,257335,27295,43999,41210,31777,46956,57457,12657,11489,15697,48060,204748,53583,82422,284790,30503,137341,8120,19615,220311,15991,10217,63424,9808,67431,70976,98221,4491,15177,28535,144789,751,13230,2394,1504,33977,132104,30316,22230,931,97193,185240,24826,22687,174322,15307,22988,1390,188745,180325,29580,59068,74903,18994,29195,79,15436,7622,38462,11566,138710,44828,45774,37768,99236,68137,84083,19282,22698,17134,74807,126662,173497,46248,16938,119735,3212,28292,213652,49013,9975,32180,45660,86250,4801,68788,95490,77482,113751,11994,44624,94452,46839,128497,100316,5798,58588,73184,202987,65417,37790,88524,1606,43156,97964,105717,34947,11203,100060,37742,130074,93653,107799,94311,196106,41347,8035,10780,16390,27883,118236,167395,1979,25006,19375,31628,18916,144723,78502,114047,103107,86492,107686,5844,20934,206963,23556,22591,16562,146333,20167,10471,117434,33085,2863,9740,36669,41849,37271,22790,18209,28979,8231,12952,54408,21731,25130,45208,55748,138120,75826,414,29593,9925,292865,25999,683,123149,7036,92159,86055,61827,103680,23176,54918,58466,57578,13305,5709,86479,16697,31064,17660,200919,10770,49793,33423,32370,52047,16488,62555,6459,8426,83493,7763,59725,82812,18628,67760,79405,68557,9612,7673,28102,56517,69620,171797,32458,29541,15870,81109,32080,207644,71495,21202,11039,91036,61230,2810,130800,32260,4613,60590,37112,75214,33979,126402,155062,30642,63875,12810,194463,82799,47664,16725,36685,43367,61099,449,172150,102867,21691,301838,36745,7130,18671,57316,34852,38034,54182,35578,65900,99486,19771,3456,2658,16914,99866,28390,28109,8262,21147,34353,20006,4228,137085,1675,203023,283196,198286,214375,163329,290603,152574,40471,83506,30068,14730,23177,131539,34759,27668,32178,71896,104799,116305,85430,119262,42860,25160,8911,23428,49437,105322,6519,16203,6349,74711,1230,38045,8540,75165,44736,25909,51026,317034,4984,32281,91312,27060,44431,17817,45363,155937,239085,35697,59784,91993,29531,126740,213757,76560,167776,285273,24262,8237,65030,41160,74437,48804,118916,13159,37842,1031,75349,1478,11655,108777,23435,277425,101734,67469,70231,124711,43532,28514,65526,54956,1e3,21882,17728,25302,40952,52214,149632,1999,2111,3259,63362,89961,220561,39777,26335,9063,10572,12416,34551,34623,38604,24723,5947,15588,69927,66252,119177,69173,46629,28714,70715,212408,20521,406913,74380,11716,50659,50862,37009,88460,130101,7210,53853,538,65120,151950,55806,163748,52837,13153,21100,16674,64536,6091,138201,44837,58547,3723,163,2177,32288,85454,34033,8497,14282,25742,10535,10741,79559,117493,243787,49337,100718,79495,40139,42956,7551,55433,15421,31509,23034,45081,547,61176,53434,328001,8470,36263,30145,4519,74173,53935,11845,73774,60211,78025,3,4102,73782,109293,315332,48412,26683,13714,6865,20128,18490,104141,325,39470,171970,115860,15707,7268,73301,74336,31370,2368,111827,107757,136231,142844,97138,96638,84053,38691,23801,1588,10573,122098,77039,240,186135,146101,11996,18143,112963,46171,155836,348769,47795,121213,116266,132515,3344,144804,31286,99187,255838,129694,35894,48779,55235,148582,71967,65282,15174,13920,47080,6147,108242,157593,125025,7136,1286,28957,127956,28402,98813,20805,7532,109417,40610,5041,32958,15142,18408,108596,33543,50517,27748,80114,233434,91447,487,37094,100048,30541,43477,10639,89862,155868,37667,8726,60684,237903,73408,99589,12190,38739,97348,3914,13594,2680,149016,13907,30171,28343,23530,115225,61104,35821,147679,14337,4297,244282,24085,326976,56428,7851,21303,131620,71446,83253,68692,111870,5224,15813,38197,49026,45057,13660,3306,76345,40671,27905,91072,996,68527,62085,91351,122634,55109,168209,2024,27560,112707,17352,8306,167115,169921,166958,5031,46020,11844,67284,19130,76185,6920,32849,5450,14610,22451,21002,17392,31872,66682,84796,13709,40210,59898,12029,8719,53564,21462,91884,21647,88379,194428,12754,37797,132826,160016,22567,54383,53186,77611,31107,8339,4694,19185,90355,23597,17222,140675,28442,23668,55977,9128,61555,28774,155229,17658,9390,24379,69357,15752,127381,239631,62460,93181,55913,45133,140155,18676,25249,33164,29581,82837,67223,22362,29975,7317,52813,1943,29613,20012,207130,49617,49651,5636,15334,36313,29226,28084,95247,72072,19e3,224932,15811,114,32127,38097,37508,88507,37225,27359,91626,12193,69279,20608,11055,88156,92808,2152,57259,55275,72789,24475,104414,1708,9882,3818,48661,66897,1631,34806,227930,85815,87753,18321,250664,72733,25107,206797,50891,8082,196411,92596,96764,152823,65514,22819,387277,62176,51225,40329,15563,189,3659,73670,64357,51793,275136,33482,86653,74615,67058,11318,125720,15388,22388,8267,1730,102663,170910,40784,7144,85373,13040,7088,94309,583,44224,140424,77439,18496,164026,36578,4722,9151,5824,63365,26510,35199,40500,79277,32495,44614,35233,9566,203293,152144,7097,2330,183480,98629,13423,330887,44130,68600,30939,97829,31012,345465,56747,94879,4939,160027,149761,99423,46099,32251,15332,8761,96094,128555,5763,235318,222223,55729,30241,55420,201746,3987,81382,8259,49325,23287,7719,24633,251100,92311,18591,110533,64759,170260,393860,7175,21144,132887,3593,75346,101277,91109,16387,259187,11627,57459,173829,44694,55780,49797,89192,120443,62622,3904,14814,23887,1027,112258,64955,99800,11132,66353,36202,48624,18158,88481,96882,43059,11040,2455,7077,21651,181159,99126,100434,61388,68186,19161,110468,120052,8819,55324,41494,7014,37689,3618,87729,92615,207943,9823,128657,12587,15857,6379,67628,51216,71775,157617,63244,1503,3864,218754,110864,5769,21492,7243,1192,87921,85529,31512,18537,42698,35350,73510,84474,34301,8991,21013,35034,566,38832,19838,35586,37216,39413,55006,12178,59742,856,84563,6900,25632,17437,49786,30723,13847,70845,4044,7843,23944,235976,55530,48942,6518,20939,73769,192653,52936,95207,23895,132542,142982,22632,87452,48042,54018,178468,10728,26230,23559,363,81269,142012,5718,346258,31456,84333,246476,51018,66692,101804,120570,39962,30373,70593,2864,60541,19425,54209,104092,7201,31545,48018,25865,15442,46257,40443,8328,6451,111782,47527,97754,33046,470,245116,31095,39,91934,87208,73470,36708,36521,12801,70624,36272,8892,79768,12427,55454,103756,5908,52390,62962,22720,141138,94634,41689,128402,126390,6628,106394,35527,134394,82727,254651,194502,148064,89549,3202,28359,957,21954,27906,49840,142747,8307,24206,48978,1186,71728,133038,71474,91306,6333,110959,74600,70387,18983,62609,56057,22970,1147,135850,1321,28834,3578,59715,102227,32827,81415,99952,55636,257598,390,22702,35701,85872,402916,39216,189795,14929,19467,10112,144422,61514,5279,63421,134686,41436,8424,51925,10598,132295,124416,4604,194739,210929,57866,31829,51626,50007,9976,91878,61906,56168,81906,60918,61859,40017,23059,16887,40927,62064,12785,32893,32913,21782,93965,20169,44387,79084,38463,11457,93950,27127,157050,2697,337088,5116,54128,48255,33279,8821,27352,25515,124022,65710,28906,38557,33390,1722,104435,72215,38551,12094,30978,25113,6671,37355,175109,42862,98024,65406,221276,59624,118012,64637,78760,86697,21426,1639,40350,12584,67193,84144,31396,7863,143011,69629,63112,9454,28666,65798,46372,134721,6314,51402,30837,151922,2847,38676,38008,92823,136245,17540,5504,109295,205242,37606,5211,214892,1586,20670,208711,137743,19328,40652,16995,20023,14657,154919,34422,12996,13918,38221,47690,16398,2959,37680,89122,6721,198469,91876,172043,83898,101992,26084,94570,3635,76958,22853,76497,38266,176590,168403,44464,142840,79180,184594,1984,41806,83147,11985,6546,366068,59732,24533,271505,8736,39084,222992,93429,28962,58985,86665,8432,30028,14548,32439,54424,165029,55175,27458,69046,121277,46168,33732,20661,24581,135574,123110,37556,79260,72611,16957,12939,46162,58238,44907,72936,253758,41324,32518,96480,11949,124438,65280,43256,34107,53533,43531,37037,28366,45970,32741,173438,6121,194202,62969,26355,30314,58370,28455,1848,50519,82830,90393,21761,295490,10936,256940,133568,44050,20269,4089,27457,21610,219460,36743,14821,101388,52005,13124,30979,140816,167362,26054,18458,60789,34917,40447,26606,33422,9066,3452,83614,5761,20263,137238,25038,91310,101,52322,74548,42572,38084,214054,186568,31802,17665,30620,141936,37730,14420,4265,187218,49640,188208,51441,55388,96452,66659,40869,42039,60967,221027,19234,178581,29105,96050,9165,196118,157335,3738,40354,117436,2965,34136,59659,15570,50843,230035,31444,71260,43886,18316,5387,38500,168508,17406,32174,8828,103373,143806,90367,3560,18719,122310,16508,26719,2541,105429,6645,37998,73190,10591,235916,49737,87112,233941,53188,32193,79154,4544,52905,126477,7580,63501,57314,3216,31337,6541,103083,60846,49,9756,15481,1355,43840,14319,13743,27486,10222,73114,230718,418644,16706,6674,279748,23058,45273,295831,86306,2743,5535,88773,21829,35253,120938,31153,3169,16839,42847,8751,80974,33942,36867,35514,16485,26474,77775,56877,5391,48346,3882,108713,31403,27804,55248,26235,43821,136104,40118,175507,28034,203908,18732,1788,34030,106427,36958,54359,7251,44936,15356,69139,455,157915,22173,140291,50348,43275,82066,49621,54952,15216,36226,96695,66855,6936,1987,8227,196087,4631,68827,99004,47541,110265,17953,147605,110242,58520,31312,38724,329975,642,3155,34497,75937,6207,73843,6120,17249,51429,117746,3218,910,68961,319671,14938,29555,34700,1649,66673,72268,9655,76800,153087,6941,210168,27130,35398,1780,73242,3135,56689,19556,165307,8765,35967,121458,13333,70453,17350,117253,22265,13340,44265,39869,441,3742,135025,23581,33309,16543,17731,13291,157637,283005,21408,101360,63887,52312,83873,5338,233779,23759,186949,34531,177320,38069,156465,91004,19353,59852,68160,14891,1338,1072,29823,1950,28901,81407,313445,73038,84807,162348,240257,37162,138934,16111,58013,41253,102951,16457,96056,19541,56402,67217,41638,94381,89674,29481,37456,80815,151579,13937,13683,132537,19699,134545,67020,29816,222341,141235,427578,48868,129557,233342,23077,87871,16213,18728,16184,9469,37913,19680,2798,171356,178328,13216,50049,72690,71904,124644,55455,7504,29052,41036,266546,19899,30391,188755,8659,59469,16,104298,112943,53865,76203,138226,68857,139953,14125,107625,119795,173133,4398,50273,48808,54390,16466,122086,31835,67035,50971,48859,7508,46427,66477,73021,84615,39985,83076,46779,201569,53336,36443,60865,168164,143810,51393,25548,169307,32896,24485,38424,21837,29087,275813,51674,6714,64883,46169,187369,55186,76192,12852,12018,62134,31067,118303,16542,12125,10579,4928,26291,43854,7091,10946,253716,109062,39283,17261,113012,258512,47764,125126,32646,55892,80279,201623,149872,3192,385,1208,48750,5376,58738,22335,5427,82416,47811,32435,143086,38930,94128,59975,156037,37977,38224,62485,7698,50405,71027,16462,21559,136153,34131,107506,162069,63703,3101,215029,40407,4178,3774,9187,80019,17880,97926,67579,2600,18405,8351,47924,86638,70820,92206,86453,29610,42241,119200,3198,15466,67813,57863,35454,4779,99518,4649,104641,144269,33730,38073,65864,6838,109456,193298,154007,5623,45741,30846,182578,25573,157224,1543,58575,138703,146140,44971,49356,18275,59064,20300,13122,11848,24453,11973,9797,86843,2919,25530,49210,1130,161220,76788,75373,85604,34926,36014,17777,17255,51533,11676,92226,51845,119859,21525,5936,18507,28050,1140,31418,14857,34207,47859,10750,36382,32079,106909,59426,87757,38393,110042,15965,97104,33757,35344,97993,53979,33651,45407,41884,82515,173089,7177,58371,35365,47543,51927,35587,10670,23544,29306,84233,39976,76076,62097,9007,8668,28119,78281,120790,19835,143020,54968,18670,64959,20649,34469,42570,33001,136570,87796,120044,1106,58700,63951,127623,12805,83057,40212,31773,49850,7361,54336,347524,101314,23751,19569,48791,29174,49369,20467,7465,75842,38281,623,112457,60210,28849,51003,94720,6426,90047,85560,43761,3579,85105,34607,90410,118528,7224,42907,111163,18168,6960,161135,191298,5247,100584,127552,171568,20121,91173,12636,54615,20199,63730,98105,2396,40387,14438,125012,4765,33235,12865,45299,37728,82098,77872,114037,59253,19675,24838,398016,102561,11446,17069,57508,178277,65836,99941,26114,2585,271882,136866,50126,11027,155648,118367,14585,8910,123015,335383,40434,41016,53021,14439,87098,176860,201543,121888,2358,9286,5739,22666,54270,37884,169381,33984,93859,16124,89364,72207,51639,76366,99029,65812,2198,12147,174891,194289,6986,30252,88822,21284,11445,288337,160821,33034,100869,43852,25761,52882,1144,103809,1924,84458,86079,43411,13542,139276,18141,34978,41298,7276,26481,173800,33210,17951,142652,33616,33677,2210,19941,98568,2486,192414,80136,12058,235883,50963,249638,29572,27221,47034,6124,72107,63346,97620,158513,299699,40388,23235,37176,224244,198386,121323,67992,23827,63170,17838,106622,158590,26807,5345,23489,91891,55474,74834,37981,13058,5977,72552,34706,26828,145172,19904,21367,34043,960,77092,91381,4733,47446,7680,41697,5170,16960,14741,46101,13656,473,51842,37433,11103,11551,121951,13191,97536,165932,50397,51628,129028,9069,44885,6590,59195,47045,32940,225472,90345,21833,13303,29407,96615,141951,5198,6028,18395,7181,3861,14966,156358,167182,36529,55253,25942,173153,30959,27261,50691,150176,162201,38467,48462,80602,42163,118482,168,108756,26011,17166,54149,456538,22512,91374,13816,90358,131615,18132,226707,1824,28139,26860,42253,93877,77351,65575,8980,80574,22020,27948,40422,91324,76376,13528,39281,91685,82215,122541,144066,1983,193851,17283,26320,2739,194978,4790,26845,42627,61300,65815,174612,55133,4200,191130,79771,158321,52280,166796,221620,62461,11278,4067,88152,83409,31717,121367,13522,47325,37945,10406,174348,249321,154101,64912,29938,51775,17220,15776,166138,78890,84425,54121,42861,16368,24572,291647,10197,32073,22651,11677,97509,26952,35787,18424,41910,71614,94977,72318,41594,70024,275419,37702,60199,7335,39107,61315,18271,18394,33768,87884,104277,123724,7277,56288,71981,189803,49320,3352,6798,14240,8954,69220,94433,57372,28620,68863,193727,85575,42309,41667,67689,42081,22543,44824,12719,28540,114236,101553,27638,27296,4300,5353,4663,19379,94098,3758,95888,95144,80344,87320,28447,259518,12718,71391,152731,37063,24132,31911,104896,15672,103782,1521,4945,72541,23717,122632,15619,87175,206120,29428,189780,61416,28350,44457,972,1175,47233,198738,95789,41907,21953,97034,59341,22864,53713,16873,32971,20693,20954,31336,21477,16169,38370,16412,9019,3841,24599,21938,17085,6484,81198,76413,5849,72514,12320,65247,276175,37234,59796,52642,16312,57349,198507,94148,46134,18958,125552,1747,18725,151873,14901,5490,68287,29470,3689,64794,40814,26018,25692,54450,2703,88278,124886,173087,174e3,24159,179477,24276,46004,201876,209202,445,52876,31948,30206,157610,39180,18439,44124,50469,5774,96278,222758,200216,50290,45486,20435,46986,46276,140133,142326,15569,13363,47522,92583,2182,7135,16853,22998,30272,4952,63263,35623,39096,53789,44864,20053,110392,124213,4630,16087,28221,127787,25839,77481,44693,13464,113146,6983,27069,55717,50102,4760,7107,26186,66507,59145,36032,104182,71328,29425,64317,50781,47465,94298,69706,74899,22754,120756,25108,93077,56834,73286,39928,16218,41699,176763,7555,70819,50083,26895,23315,26014,16773,123079,41712,5719,31516,90427,158540,85051,183128,40864,27505,55392,9058,45224,96857,30901,136622,96557,56304,120061,11501,151448,5773,89743,7769,86069,2935,18471,41628,10114,33660,110170,49479,26745,92846,33221,26731,18795,87076,8550,2100,29972,120289,3077,72490,33784,2630,208722,50861,63483,79029,6419,39467,14302,45286,64207,9686,67513,44170,1050,77246,59266,17055,53801,7150,11111,42432,4278,94579,362117,36175,42902,41933,39002,98489,22913,74161,84773,57036,17556,162288,74485,178760,93867,73635,128860,50362,261,67455,80001,46080,35662,4368,25247,19230,74393,22588,1822,27682,235324,13798,85998,13194,235067,23514,71669,147632,23191,134748,214683,105101,1518,25489,247114,7380,54842,26922,3971,26361,20844,68642,170517,77339,123255,8963,77818,150998,48466,36806,2732,23261,11741,236162,18243,126216,28690,50546,16385,92760,197383,246558,201295,88255,67588,71687,176076,172653,169058,33906,63747,24835,157621,43338,30050,46152,132741,2770,51371,94835,6614,15112,11749,56936,1250,19027,399017,58036,100215,23388,55815,308768,124152,94803,9521,64186,8971,28,30427,62163,7616,103838,35079,29203,131235,7743,17389,10882,37420,61460,228512,85363,41581,131077,62822,119647,10130,54445,26925,19968,29016,24446,74028,24176,61448,67185,9254,8563,119129,9771,99184,37716,39514,10532,221512,258753,218630,55980,23394,32141,61924,66749,32411,3741,36475,26678,77010,44946,91203,128749,116953,20476,49625,53116,13735,102335,29376,51946,83407,67892,59212,34685,21083,1546,112982,32972,74397,1078,190545,16082,86140,58591,89611,101531,10061,105104,76319,20035,17551,52611,169061,190842,100780,23907,90413,115619,9675,34710,193435,49443,129734,11183,258877,16318,136182,126808,44635,27304,192375,2599,125648,47051,12091,23814,721,58800,40137,66726,97930,60877,74487,7942,54326,9841,41428,13762,8211,85383,6950,99177,79806,201786,296464,124087,13144,29741,41721,47634,55088,254286,106408,17041,99064,12942,64086,45233,14005,2612,55827,255,7984,13980,38574,12776,46654,73499,249951,2101,26676,25996,132326,116415,119062,50449,31033,23038,11589,179252,20007,14860,129270,21143,17796,144715,60106,70758,69842,34674,282133,44014,16774,57268,38528,24053,46373,201667,28327,471023,51889,102667,21193,114909,84132,69317,96723,67969,16134,68145,15058,28765,32035,2524,101089,98664,25045,76571,14957,86040,118506,262428,154764,81573,39681,283900,73287,127825,544,80448,52347,38512,175971,15180,45467,33086,46552,48894,81107,43213,36672,54025,76703,8053,7608,13299,56619,20752,238099,54164,105133,1444,32942,953,37564,8e3,66316,119463,106817,404,13667,149108,128597,31267,10269,49836,106150,1484,52330,76965,160486,171648,38456,31263,22424,37738,66245,67467,143369,60471,75610,20895,115528,86070,60854,40796,49347,18989,15030,11371,37578,15779,79867,10187,86462,46402,155626,93200,40229,7090,57547,108053,99598,11088,47505,41218,206017,2173,20988,30219,22919,80563,57566,42369,93141,41675,2407,182519,120495,27154,16702,29456,14349,7958,16688,117177,140375,42467,261919,74916,153569,10836,34742,49526,7621,105997,12212,2270,392377,7755,17959,25086,232152,138791,33847,13860,35316,5811,1344,71259,50452,207539,92635,50359,5821,33674,30255,2086,2587,96264,17543,42,6029,9580,43007,139248,82831,12917,29607,25786,51467,42137,85161,100698,31561,88989,121990,278500,3602,109344,37982,15279,116442,28936,30880,87894,58079,128661,126731,67392,28051,146885,4861,16216,97344,42827,147561,153948,22684,21335,47685,1853,43349,15185,59642,10229,25520,187921,108972,5579,98037,24945,6697,19193,63734,137934,75056,89740,19767,224268,56138,63643,151661,39313,70618,84031,89723,84074,13703,85626,35460,8867,64845,3439,57906,99776,63968,49270,81130,34356,16210,23547,36446,34090,140028,72439,2221,22163,57058,363492,113754,18913,95451,48663,54464,54037,176097,68425,3023,34906,29482,117389,341780,80431,58330,16753,92616,60907,94846,147486,4498,48646,7773,46801,7778,18946,464978,47558,33223,177444,7328,15626,63337,94700,11743,9351,255024,39098,16447,42647,96230,39769,58840,10068,63439,35800,65843,58823,413844,9156,51258,7434,61791,85018,6872,3692,28096,7121,33024,6009,75532,31997,192535,9661,3304,9547,14753,31987,25314,55689,15896,20430,39472,31340,99744,25398,115569,54883,28719,205423,23071,57855,64638,149867,25671,82403,37616,20668,39989,77996,74948,140555,175248,64810,36515,46595,4958,248773,24045,28728,136673,168704,20804,114833,100325,27135,21205,96151,153134,45992,7093,13992,76047,1980,19432,145001,75159,87462,17710,1013,45556,34297,144882,20648,26061,11319,129567,108555,18872,464580,33386,22717,65948,167189,5603,135042,79542,8801,202632,18114,91882,5973,5239,67315,4431,60916,47819,71693,32597,32606,18183,45072,80329,76385,24749,51305,40314,156514,14693,130345,13168,66214,18029,12858,34801,27628,14544,10823,40522,40185,33739,148694,23548,9923,61012,28859,17933,19442,34364,99849,164107,141167,30629,21054,6744,36491,8096,42474,41706,155060,30650,10600,163442,1143,96655,61390,52359,7559,51568,64256,203854,4467,22453,14504,436398,7878,6980,8293,63610,293747,16167,35763,19627,147603,15419,18032,110744,51346,33681,54571,40472,48615,39073,21604,13754,173027,92560,11083,47299,63062,11813,52007,29883,9734,139722,15953,1550,20651,13616,49306,16113,90089,92326,7584,30712,72424,164858,6831,152871,55746,197721,34167,196442,6022,112107,55215,7538,123381,4920,43539,77165,8939,50392,34192,20225,79762,22505,58667,40770,29788,97180,82835,4568,8579,13273,363569,35898,49983,436,36598,3237,131691,62418,35591,8101,4073,379438,65218,76072,33887,2968,27573,212619,288680,68278,72851,150504,217896,6913,121339,22017,35340,51072,43616,75043,31437,10833,81487,4364,22968,41454,106687,85446,19863,109625,149241,524,141850,214404,54376,657,237023,9401,108137,53800,32474,49712,53334,126876,27337,45552,177696,8269,15036,12097,42240,2328,125374,119295,99715,2500,19624,39441,27220,102691,60957,94543,39101,18566,67362,13975,78230,25017,34017,239007,90027,39351,41681,35354,43822,1043,916,58587,141983,94818,38799,75459,41114,67432,16195,36606,59568,22272,126769,31424,68659,12287,134302,257977,5756,207285,95637,47248,117689,19583,77451,22373,12200,54993,117118,34244,29386,34562,53819,71267,64172,77665,49368,7716,59301,25749,45426,194789,17297,2650,1766,32501,45198,20403,20984,6600,14171,94604,19037,5402,29896,9938,59935,109708,88081,145182,44844,39167,352626,164173,35374,45982,6122,154,73419,220487,53834,53601,17992,8609,229321,5610,68098,66815,71012,95069,140968,27396,8957,134489,24656,86659,56598,134852,17316,123838,255436,6613,41610,138033,81452,32023,32396,123687,63398,8693,29712,30407,19296,121188,3551,36099,20032,111948,56624,16547,27453,35916,15378,52039,56849,13489,22214,73177,53097,277349,2157,14029,187886,10260,141743,246460,91880,50869,3788,49486,133566,54950,33120,129337,53768,18333,9525,26902,312251,10297,9020,70759,16647,112432,59260,84609,9818,82766,73569,468,46001,75780,55028,52106,11498,43645,108069,17150,17753,29417,16705,31799,9606,289,122254,115975,8620,6133,255357,56908,14456,133464,43554,79224,11247,29630,160,12756,25464,65960,350428,62521,321796,100359,67358,35169,46172,113128,48988,88868,31094,33266,6847,60887,98188,49659,69117,92977,220228,13947,80181,35103,62170,97351,13475,2440,199768,19498,36597,46971,25234,67806,62881,84717,73648,181966,10488,94149,21550,26655,63436,48375,14405,165650,9621,24439,28043,42735,4490,29963,56674,45373,1934,262446,50855,67098,26898,5261,52696,40644,33900,9440,180286,87162,22940,19704,26936,69769,10254,101759,27406,12243,48e3,73926,113215,54935,5726,192787,4312,106216,9366,11550,52949,23457,212271,277152,133895,108374,6191,96477,29980,218916,58024,54696,40853,91124,65894,91170,65908,252552,6793,29212,15389,44516,122515,52617,35058,9017,103536,39510,49136,19242,130652,662077,74699,47024,31422,8517,73351,24399,13867,128360,4810,4434,61779,111983,61036,17798,110240,59722,102960,39688,10001,23803,23039,176498,56659,44814,134295,17188,77577,74466,226175,102472,154333,63900,111747,18062,41171,79669,32773,408933,42562,28931,30907,107388,43487,2946,240310,23938,24354,319,184983,7927,6488,1422,10790,68809,68209,64775,4361,202,17123,59634,51200,44391,18188,17843,2619,74278,3230,9540,47187,21702,36274,56894,43907,16310,34790,16866,6150,5561,13587,107545,108873,126867,86986,28640,33427,19017,5762,80637,17430,46903,2047,131055,25958,13558,5444,47152,13900,44563,122857,45348,70863,39593,54332,38068,33637,318,40310,143467,18502,24520,11377,62013,28942,27246,28269,83545,17999,59015,90707,30065,15161,34720,1263,37008,2012,6060,98575,92933,5721,299,199555,24578,29223,2985,743,115825,109523,136657,47454,26378,53586,3733,174945,93340,244456,5693,37386,28782,89767,27545,23573,18798,136425,34320,84778,20041,48453,38215,7477,71958,40621,8773,5874,187927,105965,51100,43533,18083,8443,10180,43597,2003,183999,69689,12216,129696,146188,62389,34044,68410,12765,43273,26949,266807,3345,34477,79197,5688,47539,213110,21634,22257,50092,32222,42346,39530,63668,98,134978,74022,5152,59088,174145,37220,9934,9545,118937,5724,87240,19875,15784,40143,23263,87513,181654,285152,37881,263241,4966,43934,10433,186657,6470,74416,225854,25908,142677,246262,32280,6192,75890,45546,143264,135305,29742,47013,77787,11732,126658,8763,37950,21806,57557,113464,89465,108995,164574,23894,22996,23169,15369,23117,17642,130607,40503,36239,280990,44666,9981,40427,147487,26869,168452,32886,32991,46798,240839,15111,70502,65697,88548,44145,28701,48767,31139,206777,35659,181164,166262,14554,171445,31786,66523,76607,17956,6507,31279,90476,116611,167918,6560,1243,115324,80128,41867,55897,187323,37069,32596,189444,145931,13390,105530,65709,26805,6999,55714,41300,22915,68951,22138,21120,22264,10058,19945,33635,56123,99085,10032,5818,6016,46649,57476,35264,94413,112522,262288,93686,83038,14341,23204,28807,66084,77987,6101,126673,7133,38126,5923,122091,170240,97772,46874,215746,43948,41622,3272,55596,8332,146411,251315,13533,8561,81521,115449,48616,175175,2063,186556,3036,134537,75772,29728,82360,22973,186559,86348,89100,38388,82297,45610,2613,87082,9986,177812,57884,23591,47485,42543,33582,44713,74439,257444,252451,31825,35631,38540,33066,5147,13973,4343,51830,70378,22827,26448,95560,36896,241741,48067,203953,298860,61620,20450,3220,67272,6586,107662,100160,108684,6929,57226,4762,7457,1320,40404,77204,99309,62750,208653,59977,44e3,74315,34332,5819,172217,64904,114077,18147,84012,1791,98456,90930,21446,116669,103938,7422,85140,59713,5768,326211,16239,75411,13229,29398,10758,236107,1539,112472,95979,152154,151294,306,21196,38146,10700,6891,84282,109646,56492,40539,6589,119491,51354,30685,140209,136906,29622,73617,49553,70525,51671,166869,139616,74395,37439,49595,45678,11959,33211,86560,52434,9282,62690,112155,130810,5243,108261,99970,265613,72551,80049,6391,33365,90721,66737,69872,87011,1860,9032,112544,60905,37371,89015,140351,19076,850,373531,2802,36725,218795,72062,28990,16550,24614,7815,6187,26336,33373,32162,42791,73555,32062,23386,10244,56392,49442,27076,136262,12412,14883,1134,33675,97153,199281,15608,100152,74072,47942,254301,36451,16026,10687,65067,56708,254030,30290,50490,13864,57941,259331,35588,23485,43486,24869,21620,92971,22072,88645,1048,182050,13343,32452,14825,19509,3325,216938,45740,99716,189082,53740,78245,25609,24311,176777,47340,308354,40669,66085,14102,125339,9225,128709,97207,1271,200933,78439,113451,88975,18324,46521,11819,18570,141756,72512,170020,52754,63550,118515,103073,93330,32736,50499,14722,31600,68452,398867,29316,172786,18417,104924,2606,5670,84818,16288,67106,59580,82929,607401,291,85829,359,15897,35830,50696,65630,52672,22115,356968,29895,40837,231192,34024,38957,26722,406,23335,124952,72068,68804,13268,147101,164740,276569,162596,66943,11569,26654,66358,4777,23229,102127,5848,978,2921,59666,5371,28212,90108,42938,39320,2499,4271,108792,33510,125072,71653,65239,38250,66357,38577,13964,86251,35708,50755,36010,29448,12209,3844,38222,206337,100876,67827,137088,14167,252225,84163,195270,1306,5703,54198,779,46802,22028,51124,86759,70560,113164,35685,162145,45471,34561,422,2611,6464,47486,19223,38246,9191,18331,89942,243642,212364,15893,17518,22617,6409,30046,126182,59716,36560,104428,18846,26592,19458,50793,147333,30826,1388,27647,10922,14495,33545,19269,135828,39727,41601,46931,233379,49169,131130,182112,16276,82381,118209,142445,128310,19672,28740,82907,33436,3118,102206,28723,24819,41937,38854,5157,3881,111491,1142,9776,421673,152241,29309,14961,87854,6054,15424,3796,82656,54996,2108,55367,239450,154525,9643,118103,106041,64601,68549,48707,30266,25772,18740,9462,229669,91798,112152,191327,14493,72828,8175,66636,236474,25817,87351,129027,76653,20422,22983,71240,27846,44661,12399,46158,77704,53101,35032,11072,17300,109294,33638,24408,1895,11241,760,17584,82479,125877,63150,141075,34259,23274,81698,15732,43577,48340,91584,14688,16379,24481,150280,96420,262050,48635,43727,61819,56268,72003,88178,17281,79912,13218,122519,125295,166396,11811,2171,118930,67746,17636,178278,174656,95661,173039,83845,79689,17473,98555,127696,203415,54730,22925,232239,9309,12136,175026,20740,180188,10747,39816,314017,266131,10040,175732,112550,220651,31974,37393,888,23008,86799,4303,64905,148467,75337,251,3284,370102,50264,9835,5438,23655,4481,29851,329,12855,7162,64931,78141,12804,42372,296771,83547,18624,34874,86271,3360,48665,77735,88767,11463,63527,28889,22258,29140,194315,113924,25499,6406,31334,1845,4802,49184,43455,35469,127594,92970,61038,115005,38840,87761,106838,8811,20572,55637,11162,96721,132425,108925,2948,125457,36356,3502,75270,27622,127192,2561,123095,49394,61155,16897,110064,9699,89448,53356,19628,220310,21622,83036,9885,112214,6087,26713,17901,161912,91492,3440,68594,9266,92238,8087,6866,150194,72175,80701,13459,31836,43243,239700,95846,44749,50647,21945,230538,120612,132371,244604,5193,105637,34661,41341,68775,85393,1874,8771,33718,49672,77403,595452,99507,6490,58895,128742,7704,39239,73217,43816,62824,37804,199976,22361,80005,87514,94832,14089,4574,139975,59142,75523,100268,43906,53442,15152,2547,186002,17011,19513,204282,3343,60568,128318,119250,4298,51871,41336,71759,21921,45074,98169,145889,99427,11350,1237,5520,28799,7803,53702,21026,136352,38293,128690,12158,90132,44600,10184,26957,39459,126025,78904,82999,59373,39301,150198,120529,153042,20177,50089,14764,271571,30530,123161,38975,101562,22941,5648,124654,109243,69817,71675,49162,106884,21241,107795,30258,16572,188262,141456,7688,60718,8271,11044,32440,104608,103419,236109,93156,43293,128929,42107,67180,25201,115254,185488,130954,72813,167547,20537,39969,38432,22582,184022,1139,27199,5655,17767,97412,122606,209377,27070,35871,326617,188954,42680,73512,80911,22629,3011,95021,315242,157737,383,41821,41808,19335,27950,15674,25677,110950,35375,76835,59108,57370,35262,16569,160415,37706,78086,32041,49691,137143,9782,172080,50148,77917,6323,10110,69172,17711,21795,59511,76184,135114,31046,132319,59105,157578,20549,80778,57649,158421,65143,4575,72235,21899,10797,92745,34035,106079,80159,4508,78304,25350,75457,46458,32937,25623,47,8531,104751,84953,8138,36508,187199,66310,115274,13253,32461,38536,1916,42007,187160,35055,26325,84394,35963,94216,45590,97782];var W1=15,Y1=class{log;peerRouting;routingTable;refreshInterval;refreshQueryTimeout;commonPrefixLengthRefreshedAt;refreshTimeoutId;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??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(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=await K1(this.peerRouting.getClosestPeers(i.toBytes(),{signal:AbortSignal.timeout(this.refreshQueryTimeout)}));this.log(`found ${o} peers that were close to imaginary peer %p`,i),this.log("finished refreshing cpl %s with key %p (routing table size is now %s)",t,i,this.routingTable.size)}_getTrackedCommonPrefixLengthsForRefresh(t){t>W1&&(t=W1);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=un(2),n=(r[1]<<8)+r[0],i=await this._makePeerId(this.routingTable.kb.localNodeId,n,t);return Gr(i)}async _makePeerId(t,r,n){if(n>W1)throw new Error(`Cannot generate peer ID for common prefix length greater than ${W1}`);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=o8[u],f=new ArrayBuffer(34),l=new DataView(f,0,f.byteLength);return l.setUint8(0,mt.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=lr(this.routingTable.kb.localNodeId,t),n=0;for(let i of r)if(i===0)n++;else break;yield n}}};var u0=z("libp2p:kad-dht:rpc:handlers:add-provider"),Z1=class{providers;constructor(t){let{providers:r}=t;this.providers=r}async handle(t,r){if(u0("start"),r.key==null||r.key.length===0)throw new C("Missing key","ERR_MISSING_KEY");let n;try{n=tt.decode(r.key)}catch{throw new C("Invalid CID","ERR_INVALID_CID")}(r.providerPeers==null||r.providerPeers.length===0)&&u0.error("no providers found in message"),await Promise.all(r.providerPeers.map(async i=>{if(!i.id.equals(t)){u0("invalid provider peer %p from %p",i.id,t);return}if(i.multiaddrs.length<1){u0("no valid addresses for provider %p. Ignore",t);return}u0("received provider %p for %s (addrs %s)",t,n,i.multiaddrs.map(o=>o.toString())),await this.providers.addProvider(n,i.id)}))}};var s8=z("libp2p:kad-dht:rpc:handlers:find-node"),X1=class{peerRouting;lan;components;constructor(t,r){let{peerRouting:n,lan:i}=r;this.components=t,this.peerRouting=n,this.lan=!!i}async handle(t,r){s8("incoming request from %p for peers closer to %b",t,r.key);let n=[];st(this.components.peerId.toBytes(),r.key)?n=[{id:this.components.peerId,multiaddrs:this.components.addressManager.getAddresses().map(o=>o.decapsulateCode(it("p2p").code)),protocols:[]}]:n=await this.peerRouting.getCloserPeersOffline(r.key,t),n=n.map(this.lan?On:Un).filter(({multiaddrs:o})=>o.length);let i=new dt(r.type,new Uint8Array(0),r.clusterLevel);return n.length>0?i.closerPeers=n:s8("could not find any peers closer to %b than %p",r.key,t),i}};var a8=z("libp2p:kad-dht:rpc:handlers:get-providers"),j1=class{components;peerRouting;providers;lan;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 C("Invalid CID","ERR_INVALID_CID")}a8("%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 dt(r.type,r.key,r.clusterLevel);return s.length>0&&(u.providerPeers=s),a.length>0&&(u.closerPeers=a),a8("got %s providers %s closerPeers",s.length,a.length),u}async _getAddresses(t){return[]}async _getPeers(t){let r=[],n=this.lan?On:Un;for(let i of t)try{let o=await this.components.peerStore.get(i),s=n({id:i,multiaddrs:o.addresses.map(({multiaddr:a})=>a),protocols:o.protocols});s.multiaddrs.length>0&&r.push(s)}catch(o){if(o.code!=="ERR_NOT_FOUND")throw o}return r}};var li=z("libp2p:kad-dht:rpc:handlers:get-value"),J1=class{components;peerRouting;constructor(t,r){let{peerRouting:n}=r;this.components=t,this.peerRouting=n}async handle(t,r){let n=r.key;if(li("%p asked for key %b",t,n),n==null||n.length===0)throw new C("Invalid key","ERR_INVALID_KEY");let i=new dt(At.GET_VALUE,n,r.clusterLevel);if(g4(n)){li("is public key");let a=m4(n),u;try{let c=await this.components.peerStore.get(a);if(c.id.publicKey==null)throw new C("No public key found in key book","ERR_NOT_FOUND");u=c.id.publicKey}catch(c){if(c.code!=="ERR_NOT_FOUND")throw c}if(u!=null)return li("returning found public key"),i.record=new Rt(n,u,new Date),i}let[o,s]=await Promise.all([this._checkLocalDatastore(n),this.peerRouting.getCloserPeersOffline(r.key,t)]);return o!=null&&(li("had record for %b in local datastore",n),i.record=o),s.length>0&&(li("had %s closer peers in routing table",s.length),i.closerPeers=s),i}async _checkLocalDatastore(t){li("checkLocalDatastore looking for %b",t);let r=or(t),n;try{n=await this.components.datastore.get(r)}catch(o){if(o.code==="ERR_NOT_FOUND")return;throw o}let i=Rt.deserialize(n);if(i==null)throw new C("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 wd=z("libp2p:kad-dht:rpc:handlers:ping"),to=class{async handle(t,r){return wd("ping from %p",t),r}};var eo=class{log;components;validators;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),new C(o,"ERR_EMPTY_RECORD")}try{await Fn(this.validators,i),i.timeReceived=new Date;let o=or(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 ro=class{handlers;routingTable;log;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={[At.GET_VALUE]:new J1(t,{peerRouting:i}),[At.PUT_VALUE]:new eo(t,{validators:o}),[At.FIND_NODE]:new X1(t,{peerRouting:i,lan:s}),[At.ADD_PROVIDER]:new Z1({providers:n}),[At.GET_PROVIDERS]:new j1(t,{peerRouting:i,providers:n,lan:s}),[At.PING]:new to}}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 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 be(r,s=>Jr(s),async function*(s){for await(let a of s){let u=dt.deserialize(a);o.log("incoming %s from %p",u.type,i);let c=await o.handleMessage(i,u);c!=null&&(yield c.serialize())}},s=>Xr(s),r)}).catch(r=>{this.log.error(r)})}};var q2=Symbol.for("@libp2p/topology");var u8=()=>{},z2=class{constructor(t){this.min=t.min??0,this.max=t.max??1/0,this.peers=new Set,this.onConnect=t.onConnect??u8,this.onDisconnect=t.onDisconnect??u8}get[Symbol.toStringTag](){return q2.toString()}get[q2](){return!0}async setRegistrar(t){this.registrar=t}disconnect(t){this.onDisconnect(t)}};function c8(e){return new z2(e)}var no=class extends ae{log;components;protocol;running;registrarId;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=c8({onConnect:r=>{this.log("observed peer %p with protocol %s",r,this.protocol),this.dispatchEvent(new jt("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 bd=32,Ed=64,c0=class extends ae{protocol;routingTable;providers;network;peerRouting;components;log;running;kBucketSize;clientMode;lan;validators;selectors;queryManager;contentFetching;contentRouting;routingTableRefresh;rpc;topologyListener;querySelf;maxInboundStreams;maxOutboundStreams;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=!!u,this.log=z(`libp2p:kad-dht:${u===!0?"lan":"wan"}`),this.protocol=`${c??j3}${u===!0?X3:""}${J3}`,this.kBucketSize=n??20,this.clientMode=i??!0,this.maxInboundStreams=d??bd,this.maxOutboundStreams=p??Ed,this.routingTable=new Q1(t,{kBucketSize:n,lan:this.lan,pingTimeout:f,pingConcurrency:l,protocol:this.protocol}),this.providers=new k1(t,h??{}),this.validators={...Z3,...o},this.selectors={...Y3,...s},this.network=new V0(t,{protocol:this.protocol,lan:this.lan});let y=we();r.allowQueryWithZeroPeers===!0&&y.resolve(),this.queryManager=new M1(t,{disjointPaths:Math.ceil(this.kBucketSize/2),lan:u,initialQuerySelfHasRun:y}),this.peerRouting=new I1(t,{routingTable:this.routingTable,network:this.network,validators:this.validators,queryManager:this.queryManager,lan:this.lan}),this.contentFetching=new D0(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 F0(t,{network:this.network,peerRouting:this.peerRouting,queryManager:this.queryManager,routingTable:this.routingTable,providers:this.providers,lan:this.lan}),this.routingTableRefresh=new Y1({peerRouting:this.peerRouting,routingTable:this.routingTable,lan:this.lan}),this.rpc=new ro(t,{routingTable:this.routingTable,providers:this.providers,peerRouting:this.peerRouting,validators:this.validators,lan:this.lan}),this.topologyListener=new no(t,{protocol:this.protocol,lan:this.lan}),this.querySelf=new V1(t,{peerRouting:this.peerRouting,interval:a,initialInterval:r.initialQuerySelfInterval,lan:this.lan,initialQuerySelfHasRun:y,routingTable:this.routingTable}),this.network.addEventListener("peer",g=>{let m=g.detail;this.onPeerConnect(m).catch(x=>{this.log.error("could not add %p to routing table",m.id,x)}),this.dispatchEvent(new jt("peer",{detail:m}))}),this.topologyListener.addEventListener("peer",g=>{let m=g.detail;Promise.resolve().then(async()=>{let x=await this.components.peerStore.get(m),S={id:m,multiaddrs:x.addresses.map(({multiaddr:N})=>N),protocols:x.protocols};await this.onPeerConnect(S)}).catch(x=>{this.log.error("could not add %p to routing table",m,x)})})}[h0]=!0;[Symbol.toStringTag]="@libp2p/kad-dht";async onPeerConnect(t){if(this.log("peer %p connected with protocols",t.id,t.protocols),this.lan?t=On(t):t=Un(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 io=class{dht;constructor(t){this.dht=t}async provide(t){await hi(this.dht.provide(t))}async*findProviders(t,r={}){for await(let n of this.dht.findProviders(t,r))n.name==="PROVIDER"&&(yield*n.providers)}async put(t,r,n){await hi(this.dht.put(t,r,n))}async get(t,r){for await(let n of this.dht.get(t,r))if(n.name==="VALUE")return n.value;throw new C("Not found","ERR_NOT_FOUND")}},oo=class{dht;constructor(t){this.dht=t}async findPeer(t,r={}){for await(let n of this.dht.findPeer(t,r))if(n.name==="FINAL_PEER")return n.peer;throw new C("Not found","ERR_NOT_FOUND")}async*getClosestPeers(t,r={}){for await(let n of this.dht.getClosestPeers(t,r))n.name==="FINAL_PEER"&&(yield n.peer)}},$2=class extends _0{contentRouting;peerRouting;constructor(t,r){super(t,new c0(t,{protocolPrefix:"/ipfs",...r,lan:!1}),new c0(t,{protocolPrefix:"/ipfs",...r,clientMode:!1,lan:!0})),this.contentRouting=new io(this),this.peerRouting=new oo(this)}get[Q2](){return this.contentRouting}get[Y2](){return this.peerRouting}get[W2](){return this}};function Sd(e){return t=>new $2(t,e)}return y8(Id);})();
|
|
28
28
|
/*! Bundled license information:
|
|
29
29
|
|
|
30
30
|
ieee754/index.js:
|