@stacks/storage 3.2.1-alpha.0 → 3.4.1-beta.0

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.
@@ -0,0 +1,12 @@
1
+ window.global=window;import{Logger as t,fetchPrivate as e,Buffer as r,ValidationError as i,NotEnoughProofError as n,BadPathError as o,DoesNotExist as s,ConflictError as h,PreconditionFailedError as a,megabytesToBytes as u,PayloadTooLargeError as f,getGlobalObject as l,SignatureVerificationError as c,InvalidStateError as d,BLOCKSTACK_DEFAULT_GAIA_HUB_URL as p}from"@stacks/common/dist/polyfill";import{ecPairToAddress as m,hexStringToECPair as g,getPublicKeyFromPrivate as y,randomBytes as v,hashSha256Sync as b,publicKeyToAddress as w,verifyECDSA as M,eciesGetJsonStringLength as _,signECDSA as S}from"@stacks/encryption/dist/polyfill";import{lookupProfile as E,NAME_LOOKUP_PATH as k}from"@stacks/auth/dist/polyfill";var A="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function I(t){if(t.__esModule)return t;var e=Object.defineProperty({},"__esModule",{value:!0});return Object.keys(t).forEach((function(r){var i=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,i.get?i:{enumerable:!0,get:function(){return t[r]}})})),e}var T={},O={},P="undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{},x=[],B=[],R="undefined"!=typeof Uint8Array?Uint8Array:Array,N=!1;function U(){N=!0;for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",e=0,r=t.length;e<r;++e)x[e]=t[e],B[t.charCodeAt(e)]=e;B["-".charCodeAt(0)]=62,B["_".charCodeAt(0)]=63}function C(t,e,r){for(var i,n,o=[],s=e;s<r;s+=3)i=(t[s]<<16)+(t[s+1]<<8)+t[s+2],o.push(x[(n=i)>>18&63]+x[n>>12&63]+x[n>>6&63]+x[63&n]);return o.join("")}function L(t){var e;N||U();for(var r=t.length,i=r%3,n="",o=[],s=16383,h=0,a=r-i;h<a;h+=s)o.push(C(t,h,h+s>a?a:h+s));return 1===i?(e=t[r-1],n+=x[e>>2],n+=x[e<<4&63],n+="=="):2===i&&(e=(t[r-2]<<8)+t[r-1],n+=x[e>>10],n+=x[e>>4&63],n+=x[e<<2&63],n+="="),o.push(n),o.join("")}function D(t,e,r,i,n){var o,s,h=8*n-i-1,a=(1<<h)-1,u=a>>1,f=-7,l=r?n-1:0,c=r?-1:1,d=t[e+l];for(l+=c,o=d&(1<<-f)-1,d>>=-f,f+=h;f>0;o=256*o+t[e+l],l+=c,f-=8);for(s=o&(1<<-f)-1,o>>=-f,f+=i;f>0;s=256*s+t[e+l],l+=c,f-=8);if(0===o)o=1-u;else{if(o===a)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,i),o-=u}return(d?-1:1)*s*Math.pow(2,o-i)}function j(t,e,r,i,n,o){var s,h,a,u=8*o-n-1,f=(1<<u)-1,l=f>>1,c=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:o-1,p=i?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(h=isNaN(e)?1:0,s=f):(s=Math.floor(Math.log(e)/Math.LN2),e*(a=Math.pow(2,-s))<1&&(s--,a*=2),(e+=s+l>=1?c/a:c*Math.pow(2,1-l))*a>=2&&(s++,a/=2),s+l>=f?(h=0,s=f):s+l>=1?(h=(e*a-1)*Math.pow(2,n),s+=l):(h=e*Math.pow(2,l-1)*Math.pow(2,n),s=0));n>=8;t[r+d]=255&h,d+=p,h/=256,n-=8);for(s=s<<n|h,u+=n;u>0;t[r+d]=255&s,d+=p,s/=256,u-=8);t[r+d-p]|=128*m}var H={}.toString,q=Array.isArray||function(t){return"[object Array]"==H.call(t)};function K(){return z.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function F(t,e){if(K()<e)throw new RangeError("Invalid typed array length");return z.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e)).__proto__=z.prototype:(null===t&&(t=new z(e)),t.length=e),t}function z(t,e,r){if(!(z.TYPED_ARRAY_SUPPORT||this instanceof z))return new z(t,e,r);if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return Z(this,t)}return W(this,t,e,r)}function W(t,e,r,i){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?function(t,e,r,i){if(e.byteLength,r<0||e.byteLength<r)throw new RangeError("'offset' is out of bounds");if(e.byteLength<r+(i||0))throw new RangeError("'length' is out of bounds");e=void 0===r&&void 0===i?new Uint8Array(e):void 0===i?new Uint8Array(e,r):new Uint8Array(e,r,i);z.TYPED_ARRAY_SUPPORT?(t=e).__proto__=z.prototype:t=G(t,e);return t}(t,e,r,i):"string"==typeof e?function(t,e,r){"string"==typeof r&&""!==r||(r="utf8");if(!z.isEncoding(r))throw new TypeError('"encoding" must be a valid string encoding');var i=0|Y(e,r),n=(t=F(t,i)).write(e,r);n!==i&&(t=t.slice(0,n));return t}(t,e,r):function(t,e){if(X(e)){var r=0|$(e.length);return 0===(t=F(t,r)).length||e.copy(t,0,0,r),t}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||(i=e.length)!=i?F(t,0):G(t,e);if("Buffer"===e.type&&q(e.data))return G(t,e.data)}var i;throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}(t,e)}function V(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function Z(t,e){if(V(e),t=F(t,e<0?0:0|$(e)),!z.TYPED_ARRAY_SUPPORT)for(var r=0;r<e;++r)t[r]=0;return t}function G(t,e){var r=e.length<0?0:0|$(e.length);t=F(t,r);for(var i=0;i<r;i+=1)t[i]=255&e[i];return t}function $(t){if(t>=K())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+K().toString(16)+" bytes");return 0|t}function X(t){return!(null==t||!t._isBuffer)}function Y(t,e){if(X(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var r=t.length;if(0===r)return 0;for(var i=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":case void 0:return St(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return Et(t).length;default:if(i)return St(t).length;e=(""+e).toLowerCase(),i=!0}}function J(t,e,r){var i=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return ct(this,e,r);case"utf8":case"utf-8":return ut(this,e,r);case"ascii":return ft(this,e,r);case"latin1":case"binary":return lt(this,e,r);case"base64":return at(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return dt(this,e,r);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function Q(t,e,r){var i=t[e];t[e]=t[r],t[r]=i}function tt(t,e,r,i,n){if(0===t.length)return-1;if("string"==typeof r?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,isNaN(r)&&(r=n?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(n)return-1;r=t.length-1}else if(r<0){if(!n)return-1;r=0}if("string"==typeof e&&(e=z.from(e,i)),X(e))return 0===e.length?-1:et(t,e,r,i,n);if("number"==typeof e)return e&=255,z.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):et(t,[e],r,i,n);throw new TypeError("val must be string, number or Buffer")}function et(t,e,r,i,n){var o,s=1,h=t.length,a=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;s=2,h/=2,a/=2,r/=2}function u(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(n){var f=-1;for(o=r;o<h;o++)if(u(t,o)===u(e,-1===f?0:o-f)){if(-1===f&&(f=o),o-f+1===a)return f*s}else-1!==f&&(o-=o-f),f=-1}else for(r+a>h&&(r=h-a),o=r;o>=0;o--){for(var l=!0,c=0;c<a;c++)if(u(t,o+c)!==u(e,c)){l=!1;break}if(l)return o}return-1}function rt(t,e,r,i){r=Number(r)||0;var n=t.length-r;i?(i=Number(i))>n&&(i=n):i=n;var o=e.length;if(o%2!=0)throw new TypeError("Invalid hex string");i>o/2&&(i=o/2);for(var s=0;s<i;++s){var h=parseInt(e.substr(2*s,2),16);if(isNaN(h))return s;t[r+s]=h}return s}function it(t,e,r,i){return kt(St(e,t.length-r),t,r,i)}function nt(t,e,r,i){return kt(function(t){for(var e=[],r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,i)}function ot(t,e,r,i){return nt(t,e,r,i)}function st(t,e,r,i){return kt(Et(e),t,r,i)}function ht(t,e,r,i){return kt(function(t,e){for(var r,i,n,o=[],s=0;s<t.length&&!((e-=2)<0);++s)i=(r=t.charCodeAt(s))>>8,n=r%256,o.push(n),o.push(i);return o}(e,t.length-r),t,r,i)}function at(t,e,r){return 0===e&&r===t.length?L(t):L(t.slice(e,r))}function ut(t,e,r){r=Math.min(t.length,r);for(var i=[],n=e;n<r;){var o,s,h,a,u=t[n],f=null,l=u>239?4:u>223?3:u>191?2:1;if(n+l<=r)switch(l){case 1:u<128&&(f=u);break;case 2:128==(192&(o=t[n+1]))&&(a=(31&u)<<6|63&o)>127&&(f=a);break;case 3:o=t[n+1],s=t[n+2],128==(192&o)&&128==(192&s)&&(a=(15&u)<<12|(63&o)<<6|63&s)>2047&&(a<55296||a>57343)&&(f=a);break;case 4:o=t[n+1],s=t[n+2],h=t[n+3],128==(192&o)&&128==(192&s)&&128==(192&h)&&(a=(15&u)<<18|(63&o)<<12|(63&s)<<6|63&h)>65535&&a<1114112&&(f=a)}null===f?(f=65533,l=1):f>65535&&(f-=65536,i.push(f>>>10&1023|55296),f=56320|1023&f),i.push(f),n+=l}return function(t){var e=t.length;if(e<=4096)return String.fromCharCode.apply(String,t);var r="",i=0;for(;i<e;)r+=String.fromCharCode.apply(String,t.slice(i,i+=4096));return r}(i)}z.TYPED_ARRAY_SUPPORT=void 0===P.TYPED_ARRAY_SUPPORT||P.TYPED_ARRAY_SUPPORT,z.poolSize=8192,z._augment=function(t){return t.__proto__=z.prototype,t},z.from=function(t,e,r){return W(null,t,e,r)},z.TYPED_ARRAY_SUPPORT&&(z.prototype.__proto__=Uint8Array.prototype,z.__proto__=Uint8Array),z.alloc=function(t,e,r){return function(t,e,r,i){return V(e),e<=0?F(t,e):void 0!==r?"string"==typeof i?F(t,e).fill(r,i):F(t,e).fill(r):F(t,e)}(null,t,e,r)},z.allocUnsafe=function(t){return Z(null,t)},z.allocUnsafeSlow=function(t){return Z(null,t)},z.isBuffer=At,z.compare=function(t,e){if(!X(t)||!X(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var r=t.length,i=e.length,n=0,o=Math.min(r,i);n<o;++n)if(t[n]!==e[n]){r=t[n],i=e[n];break}return r<i?-1:i<r?1:0},z.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}},z.concat=function(t,e){if(!q(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return z.alloc(0);var r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;var i=z.allocUnsafe(e),n=0;for(r=0;r<t.length;++r){var o=t[r];if(!X(o))throw new TypeError('"list" argument must be an Array of Buffers');o.copy(i,n),n+=o.length}return i},z.byteLength=Y,z.prototype._isBuffer=!0,z.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)Q(this,e,e+1);return this},z.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)Q(this,e,e+3),Q(this,e+1,e+2);return this},z.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)Q(this,e,e+7),Q(this,e+1,e+6),Q(this,e+2,e+5),Q(this,e+3,e+4);return this},z.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?ut(this,0,t):J.apply(this,arguments)},z.prototype.equals=function(t){if(!X(t))throw new TypeError("Argument must be a Buffer");return this===t||0===z.compare(this,t)},z.prototype.inspect=function(){var t="";return this.length>0&&(t=this.toString("hex",0,50).match(/.{2}/g).join(" "),this.length>50&&(t+=" ... ")),"<Buffer "+t+">"},z.prototype.compare=function(t,e,r,i,n){if(!X(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===i&&(i=0),void 0===n&&(n=this.length),e<0||r>t.length||i<0||n>this.length)throw new RangeError("out of range index");if(i>=n&&e>=r)return 0;if(i>=n)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(n>>>=0)-(i>>>=0),s=(r>>>=0)-(e>>>=0),h=Math.min(o,s),a=this.slice(i,n),u=t.slice(e,r),f=0;f<h;++f)if(a[f]!==u[f]){o=a[f],s=u[f];break}return o<s?-1:s<o?1:0},z.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},z.prototype.indexOf=function(t,e,r){return tt(this,t,e,r,!0)},z.prototype.lastIndexOf=function(t,e,r){return tt(this,t,e,r,!1)},z.prototype.write=function(t,e,r,i){if(void 0===e)i="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)i=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e|=0,isFinite(r)?(r|=0,void 0===i&&(i="utf8")):(i=r,r=void 0)}var n=this.length-e;if((void 0===r||r>n)&&(r=n),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");for(var o=!1;;)switch(i){case"hex":return rt(this,t,e,r);case"utf8":case"utf-8":return it(this,t,e,r);case"ascii":return nt(this,t,e,r);case"latin1":case"binary":return ot(this,t,e,r);case"base64":return st(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ht(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},z.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function ft(t,e,r){var i="";r=Math.min(t.length,r);for(var n=e;n<r;++n)i+=String.fromCharCode(127&t[n]);return i}function lt(t,e,r){var i="";r=Math.min(t.length,r);for(var n=e;n<r;++n)i+=String.fromCharCode(t[n]);return i}function ct(t,e,r){var i=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>i)&&(r=i);for(var n="",o=e;o<r;++o)n+=_t(t[o]);return n}function dt(t,e,r){for(var i=t.slice(e,r),n="",o=0;o<i.length;o+=2)n+=String.fromCharCode(i[o]+256*i[o+1]);return n}function pt(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function mt(t,e,r,i,n,o){if(!X(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>n||e<o)throw new RangeError('"value" argument is out of bounds');if(r+i>t.length)throw new RangeError("Index out of range")}function gt(t,e,r,i){e<0&&(e=65535+e+1);for(var n=0,o=Math.min(t.length-r,2);n<o;++n)t[r+n]=(e&255<<8*(i?n:1-n))>>>8*(i?n:1-n)}function yt(t,e,r,i){e<0&&(e=4294967295+e+1);for(var n=0,o=Math.min(t.length-r,4);n<o;++n)t[r+n]=e>>>8*(i?n:3-n)&255}function vt(t,e,r,i,n,o){if(r+i>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function bt(t,e,r,i,n){return n||vt(t,0,r,4),j(t,e,r,i,23,4),r+4}function wt(t,e,r,i,n){return n||vt(t,0,r,8),j(t,e,r,i,52,8),r+8}z.prototype.slice=function(t,e){var r,i=this.length;if((t=~~t)<0?(t+=i)<0&&(t=0):t>i&&(t=i),(e=void 0===e?i:~~e)<0?(e+=i)<0&&(e=0):e>i&&(e=i),e<t&&(e=t),z.TYPED_ARRAY_SUPPORT)(r=this.subarray(t,e)).__proto__=z.prototype;else{var n=e-t;r=new z(n,void 0);for(var o=0;o<n;++o)r[o]=this[o+t]}return r},z.prototype.readUIntLE=function(t,e,r){t|=0,e|=0,r||pt(t,e,this.length);for(var i=this[t],n=1,o=0;++o<e&&(n*=256);)i+=this[t+o]*n;return i},z.prototype.readUIntBE=function(t,e,r){t|=0,e|=0,r||pt(t,e,this.length);for(var i=this[t+--e],n=1;e>0&&(n*=256);)i+=this[t+--e]*n;return i},z.prototype.readUInt8=function(t,e){return e||pt(t,1,this.length),this[t]},z.prototype.readUInt16LE=function(t,e){return e||pt(t,2,this.length),this[t]|this[t+1]<<8},z.prototype.readUInt16BE=function(t,e){return e||pt(t,2,this.length),this[t]<<8|this[t+1]},z.prototype.readUInt32LE=function(t,e){return e||pt(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},z.prototype.readUInt32BE=function(t,e){return e||pt(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},z.prototype.readIntLE=function(t,e,r){t|=0,e|=0,r||pt(t,e,this.length);for(var i=this[t],n=1,o=0;++o<e&&(n*=256);)i+=this[t+o]*n;return i>=(n*=128)&&(i-=Math.pow(2,8*e)),i},z.prototype.readIntBE=function(t,e,r){t|=0,e|=0,r||pt(t,e,this.length);for(var i=e,n=1,o=this[t+--i];i>0&&(n*=256);)o+=this[t+--i]*n;return o>=(n*=128)&&(o-=Math.pow(2,8*e)),o},z.prototype.readInt8=function(t,e){return e||pt(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},z.prototype.readInt16LE=function(t,e){e||pt(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},z.prototype.readInt16BE=function(t,e){e||pt(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},z.prototype.readInt32LE=function(t,e){return e||pt(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},z.prototype.readInt32BE=function(t,e){return e||pt(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},z.prototype.readFloatLE=function(t,e){return e||pt(t,4,this.length),D(this,t,!0,23,4)},z.prototype.readFloatBE=function(t,e){return e||pt(t,4,this.length),D(this,t,!1,23,4)},z.prototype.readDoubleLE=function(t,e){return e||pt(t,8,this.length),D(this,t,!0,52,8)},z.prototype.readDoubleBE=function(t,e){return e||pt(t,8,this.length),D(this,t,!1,52,8)},z.prototype.writeUIntLE=function(t,e,r,i){(t=+t,e|=0,r|=0,i)||mt(this,t,e,r,Math.pow(2,8*r)-1,0);var n=1,o=0;for(this[e]=255&t;++o<r&&(n*=256);)this[e+o]=t/n&255;return e+r},z.prototype.writeUIntBE=function(t,e,r,i){(t=+t,e|=0,r|=0,i)||mt(this,t,e,r,Math.pow(2,8*r)-1,0);var n=r-1,o=1;for(this[e+n]=255&t;--n>=0&&(o*=256);)this[e+n]=t/o&255;return e+r},z.prototype.writeUInt8=function(t,e,r){return t=+t,e|=0,r||mt(this,t,e,1,255,0),z.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),this[e]=255&t,e+1},z.prototype.writeUInt16LE=function(t,e,r){return t=+t,e|=0,r||mt(this,t,e,2,65535,0),z.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):gt(this,t,e,!0),e+2},z.prototype.writeUInt16BE=function(t,e,r){return t=+t,e|=0,r||mt(this,t,e,2,65535,0),z.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):gt(this,t,e,!1),e+2},z.prototype.writeUInt32LE=function(t,e,r){return t=+t,e|=0,r||mt(this,t,e,4,4294967295,0),z.TYPED_ARRAY_SUPPORT?(this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t):yt(this,t,e,!0),e+4},z.prototype.writeUInt32BE=function(t,e,r){return t=+t,e|=0,r||mt(this,t,e,4,4294967295,0),z.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):yt(this,t,e,!1),e+4},z.prototype.writeIntLE=function(t,e,r,i){if(t=+t,e|=0,!i){var n=Math.pow(2,8*r-1);mt(this,t,e,r,n-1,-n)}var o=0,s=1,h=0;for(this[e]=255&t;++o<r&&(s*=256);)t<0&&0===h&&0!==this[e+o-1]&&(h=1),this[e+o]=(t/s>>0)-h&255;return e+r},z.prototype.writeIntBE=function(t,e,r,i){if(t=+t,e|=0,!i){var n=Math.pow(2,8*r-1);mt(this,t,e,r,n-1,-n)}var o=r-1,s=1,h=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&0===h&&0!==this[e+o+1]&&(h=1),this[e+o]=(t/s>>0)-h&255;return e+r},z.prototype.writeInt8=function(t,e,r){return t=+t,e|=0,r||mt(this,t,e,1,127,-128),z.TYPED_ARRAY_SUPPORT||(t=Math.floor(t)),t<0&&(t=255+t+1),this[e]=255&t,e+1},z.prototype.writeInt16LE=function(t,e,r){return t=+t,e|=0,r||mt(this,t,e,2,32767,-32768),z.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8):gt(this,t,e,!0),e+2},z.prototype.writeInt16BE=function(t,e,r){return t=+t,e|=0,r||mt(this,t,e,2,32767,-32768),z.TYPED_ARRAY_SUPPORT?(this[e]=t>>>8,this[e+1]=255&t):gt(this,t,e,!1),e+2},z.prototype.writeInt32LE=function(t,e,r){return t=+t,e|=0,r||mt(this,t,e,4,2147483647,-2147483648),z.TYPED_ARRAY_SUPPORT?(this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24):yt(this,t,e,!0),e+4},z.prototype.writeInt32BE=function(t,e,r){return t=+t,e|=0,r||mt(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),z.TYPED_ARRAY_SUPPORT?(this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t):yt(this,t,e,!1),e+4},z.prototype.writeFloatLE=function(t,e,r){return bt(this,t,e,!0,r)},z.prototype.writeFloatBE=function(t,e,r){return bt(this,t,e,!1,r)},z.prototype.writeDoubleLE=function(t,e,r){return wt(this,t,e,!0,r)},z.prototype.writeDoubleBE=function(t,e,r){return wt(this,t,e,!1,r)},z.prototype.copy=function(t,e,r,i){if(r||(r=0),i||0===i||(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i<r&&(i=r),i===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("sourceStart out of bounds");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e<i-r&&(i=t.length-e+r);var n,o=i-r;if(this===t&&r<e&&e<i)for(n=o-1;n>=0;--n)t[n+e]=this[n+r];else if(o<1e3||!z.TYPED_ARRAY_SUPPORT)for(n=0;n<o;++n)t[n+e]=this[n+r];else Uint8Array.prototype.set.call(t,this.subarray(r,r+o),e);return o},z.prototype.fill=function(t,e,r,i){if("string"==typeof t){if("string"==typeof e?(i=e,e=0,r=this.length):"string"==typeof r&&(i=r,r=this.length),1===t.length){var n=t.charCodeAt(0);n<256&&(t=n)}if(void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!z.isEncoding(i))throw new TypeError("Unknown encoding: "+i)}else"number"==typeof t&&(t&=255);if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;var o;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(o=e;o<r;++o)this[o]=t;else{var s=X(t)?t:St(new z(t,i).toString()),h=s.length;for(o=0;o<r-e;++o)this[o+e]=s[o%h]}return this};var Mt=/[^+\/0-9A-Za-z-_]/g;function _t(t){return t<16?"0"+t.toString(16):t.toString(16)}function St(t,e){var r;e=e||1/0;for(var i=t.length,n=null,o=[],s=0;s<i;++s){if((r=t.charCodeAt(s))>55295&&r<57344){if(!n){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===i){(e-=3)>-1&&o.push(239,191,189);continue}n=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(e-=3)>-1&&o.push(239,191,189);if(n=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function Et(t){return function(t){var e,r,i,n,o,s;N||U();var h=t.length;if(h%4>0)throw new Error("Invalid string. Length must be a multiple of 4");o="="===t[h-2]?2:"="===t[h-1]?1:0,s=new R(3*h/4-o),i=o>0?h-4:h;var a=0;for(e=0,r=0;e<i;e+=4,r+=3)n=B[t.charCodeAt(e)]<<18|B[t.charCodeAt(e+1)]<<12|B[t.charCodeAt(e+2)]<<6|B[t.charCodeAt(e+3)],s[a++]=n>>16&255,s[a++]=n>>8&255,s[a++]=255&n;return 2===o?(n=B[t.charCodeAt(e)]<<2|B[t.charCodeAt(e+1)]>>4,s[a++]=255&n):1===o&&(n=B[t.charCodeAt(e)]<<10|B[t.charCodeAt(e+1)]<<4|B[t.charCodeAt(e+2)]>>2,s[a++]=n>>8&255,s[a++]=255&n),s}(function(t){if((t=function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")}(t).replace(Mt,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function kt(t,e,r,i){for(var n=0;n<i&&!(n+r>=e.length||n>=t.length);++n)e[n+r]=t[n];return n}function At(t){return null!=t&&(!!t._isBuffer||It(t)||function(t){return"function"==typeof t.readFloatLE&&"function"==typeof t.slice&&It(t.slice(0,0))}(t))}function It(t){return!!t.constructor&&"function"==typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}var Tt={},Ot={},Pt={exports:{}};"function"==typeof Object.create?Pt.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:Pt.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}};for(var xt={exports:{}},Bt={},Rt={byteLength:function(t){var e=Ht(t),r=e[0],i=e[1];return 3*(r+i)/4-i},toByteArray:function(t){var e,r,i=Ht(t),n=i[0],o=i[1],s=new Ct(function(t,e,r){return 3*(e+r)/4-r}(0,n,o)),h=0,a=o>0?n-4:n;for(r=0;r<a;r+=4)e=Ut[t.charCodeAt(r)]<<18|Ut[t.charCodeAt(r+1)]<<12|Ut[t.charCodeAt(r+2)]<<6|Ut[t.charCodeAt(r+3)],s[h++]=e>>16&255,s[h++]=e>>8&255,s[h++]=255&e;2===o&&(e=Ut[t.charCodeAt(r)]<<2|Ut[t.charCodeAt(r+1)]>>4,s[h++]=255&e);1===o&&(e=Ut[t.charCodeAt(r)]<<10|Ut[t.charCodeAt(r+1)]<<4|Ut[t.charCodeAt(r+2)]>>2,s[h++]=e>>8&255,s[h++]=255&e);return s},fromByteArray:function(t){for(var e,r=t.length,i=r%3,n=[],o=16383,s=0,h=r-i;s<h;s+=o)n.push(qt(t,s,s+o>h?h:s+o));1===i?(e=t[r-1],n.push(Nt[e>>2]+Nt[e<<4&63]+"==")):2===i&&(e=(t[r-2]<<8)+t[r-1],n.push(Nt[e>>10]+Nt[e>>4&63]+Nt[e<<2&63]+"="));return n.join("")}},Nt=[],Ut=[],Ct="undefined"!=typeof Uint8Array?Uint8Array:Array,Lt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Dt=0,jt=Lt.length;Dt<jt;++Dt)Nt[Dt]=Lt[Dt],Ut[Lt.charCodeAt(Dt)]=Dt;function Ht(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function qt(t,e,r){for(var i,n,o=[],s=e;s<r;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),o.push(Nt[(n=i)>>18&63]+Nt[n>>12&63]+Nt[n>>6&63]+Nt[63&n]);return o.join("")}Ut["-".charCodeAt(0)]=62,Ut["_".charCodeAt(0)]=63;var Kt={
2
+ /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
3
+ read:function(t,e,r,i,n){var o,s,h=8*n-i-1,a=(1<<h)-1,u=a>>1,f=-7,l=r?n-1:0,c=r?-1:1,d=t[e+l];for(l+=c,o=d&(1<<-f)-1,d>>=-f,f+=h;f>0;o=256*o+t[e+l],l+=c,f-=8);for(s=o&(1<<-f)-1,o>>=-f,f+=i;f>0;s=256*s+t[e+l],l+=c,f-=8);if(0===o)o=1-u;else{if(o===a)return s?NaN:1/0*(d?-1:1);s+=Math.pow(2,i),o-=u}return(d?-1:1)*s*Math.pow(2,o-i)},write:function(t,e,r,i,n,o){var s,h,a,u=8*o-n-1,f=(1<<u)-1,l=f>>1,c=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:o-1,p=i?1:-1,m=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(h=isNaN(e)?1:0,s=f):(s=Math.floor(Math.log(e)/Math.LN2),e*(a=Math.pow(2,-s))<1&&(s--,a*=2),(e+=s+l>=1?c/a:c*Math.pow(2,1-l))*a>=2&&(s++,a/=2),s+l>=f?(h=0,s=f):s+l>=1?(h=(e*a-1)*Math.pow(2,n),s+=l):(h=e*Math.pow(2,l-1)*Math.pow(2,n),s=0));n>=8;t[r+d]=255&h,d+=p,h/=256,n-=8);for(s=s<<n|h,u+=n;u>0;t[r+d]=255&s,d+=p,s/=256,u-=8);t[r+d-p]|=128*m}};
4
+ /*!
5
+ * The buffer module from node.js, for the browser.
6
+ *
7
+ * @author Feross Aboukhadijeh <https://feross.org>
8
+ * @license MIT
9
+ */
10
+ (function(t){const e=Rt,r=Kt,i="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;t.Buffer=s,t.SlowBuffer=function(t){+t!=t&&(t=0);return s.alloc(+t)},t.INSPECT_MAX_BYTES=50;const n=2147483647;function o(t){if(t>n)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,s.prototype),e}function s(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return u(t)}return h(t,e,r)}function h(t,e,r){if("string"==typeof t)return function(t,e){"string"==typeof e&&""!==e||(e="utf8");if(!s.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const r=0|d(t,e);let i=o(r);const n=i.write(t,e);n!==r&&(i=i.slice(0,n));return i}(t,e);if(ArrayBuffer.isView(t))return function(t){if(Z(t,Uint8Array)){const e=new Uint8Array(t);return l(e.buffer,e.byteOffset,e.byteLength)}return f(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(Z(t,ArrayBuffer)||t&&Z(t.buffer,ArrayBuffer))return l(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(Z(t,SharedArrayBuffer)||t&&Z(t.buffer,SharedArrayBuffer)))return l(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=t.valueOf&&t.valueOf();if(null!=i&&i!==t)return s.from(i,e,r);const n=function(t){if(s.isBuffer(t)){const e=0|c(t.length),r=o(e);return 0===r.length||t.copy(r,0,0,e),r}if(void 0!==t.length)return"number"!=typeof t.length||G(t.length)?o(0):f(t);if("Buffer"===t.type&&Array.isArray(t.data))return f(t.data)}(t);if(n)return n;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return s.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function a(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function u(t){return a(t),o(t<0?0:0|c(t))}function f(t){const e=t.length<0?0:0|c(t.length),r=o(e);for(let i=0;i<e;i+=1)r[i]=255&t[i];return r}function l(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('"length" is outside of buffer bounds');let i;return i=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r),Object.setPrototypeOf(i,s.prototype),i}function c(t){if(t>=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return 0|t}function d(t,e){if(s.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||Z(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const r=t.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===r)return 0;let n=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return z(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return W(t).length;default:if(n)return i?-1:z(t).length;e=(""+e).toLowerCase(),n=!0}}function p(t,e,r){let i=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return T(this,e,r);case"utf8":case"utf-8":return E(this,e,r);case"ascii":return A(this,e,r);case"latin1":case"binary":return I(this,e,r);case"base64":return S(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return O(this,e,r);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function m(t,e,r){const i=t[e];t[e]=t[r],t[r]=i}function g(t,e,r,i,n){if(0===t.length)return-1;if("string"==typeof r?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),G(r=+r)&&(r=n?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(n)return-1;r=t.length-1}else if(r<0){if(!n)return-1;r=0}if("string"==typeof e&&(e=s.from(e,i)),s.isBuffer(e))return 0===e.length?-1:y(t,e,r,i,n);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):y(t,[e],r,i,n);throw new TypeError("val must be string, number or Buffer")}function y(t,e,r,i,n){let o,s=1,h=t.length,a=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;s=2,h/=2,a/=2,r/=2}function u(t,e){return 1===s?t[e]:t.readUInt16BE(e*s)}if(n){let i=-1;for(o=r;o<h;o++)if(u(t,o)===u(e,-1===i?0:o-i)){if(-1===i&&(i=o),o-i+1===a)return i*s}else-1!==i&&(o-=o-i),i=-1}else for(r+a>h&&(r=h-a),o=r;o>=0;o--){let r=!0;for(let i=0;i<a;i++)if(u(t,o+i)!==u(e,i)){r=!1;break}if(r)return o}return-1}function v(t,e,r,i){r=Number(r)||0;const n=t.length-r;i?(i=Number(i))>n&&(i=n):i=n;const o=e.length;let s;for(i>o/2&&(i=o/2),s=0;s<i;++s){const i=parseInt(e.substr(2*s,2),16);if(G(i))return s;t[r+s]=i}return s}function b(t,e,r,i){return V(z(e,t.length-r),t,r,i)}function w(t,e,r,i){return V(function(t){const e=[];for(let r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,i)}function M(t,e,r,i){return V(W(e),t,r,i)}function _(t,e,r,i){return V(function(t,e){let r,i,n;const o=[];for(let s=0;s<t.length&&!((e-=2)<0);++s)r=t.charCodeAt(s),i=r>>8,n=r%256,o.push(n),o.push(i);return o}(e,t.length-r),t,r,i)}function S(t,r,i){return 0===r&&i===t.length?e.fromByteArray(t):e.fromByteArray(t.slice(r,i))}function E(t,e,r){r=Math.min(t.length,r);const i=[];let n=e;for(;n<r;){const e=t[n];let o=null,s=e>239?4:e>223?3:e>191?2:1;if(n+s<=r){let r,i,h,a;switch(s){case 1:e<128&&(o=e);break;case 2:r=t[n+1],128==(192&r)&&(a=(31&e)<<6|63&r,a>127&&(o=a));break;case 3:r=t[n+1],i=t[n+2],128==(192&r)&&128==(192&i)&&(a=(15&e)<<12|(63&r)<<6|63&i,a>2047&&(a<55296||a>57343)&&(o=a));break;case 4:r=t[n+1],i=t[n+2],h=t[n+3],128==(192&r)&&128==(192&i)&&128==(192&h)&&(a=(15&e)<<18|(63&r)<<12|(63&i)<<6|63&h,a>65535&&a<1114112&&(o=a))}}null===o?(o=65533,s=1):o>65535&&(o-=65536,i.push(o>>>10&1023|55296),o=56320|1023&o),i.push(o),n+=s}return function(t){const e=t.length;if(e<=k)return String.fromCharCode.apply(String,t);let r="",i=0;for(;i<e;)r+=String.fromCharCode.apply(String,t.slice(i,i+=k));return r}(i)}t.kMaxLength=n,s.TYPED_ARRAY_SUPPORT=function(){try{const t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),s.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||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."),Object.defineProperty(s.prototype,"parent",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.buffer}}),Object.defineProperty(s.prototype,"offset",{enumerable:!0,get:function(){if(s.isBuffer(this))return this.byteOffset}}),s.poolSize=8192,s.from=function(t,e,r){return h(t,e,r)},Object.setPrototypeOf(s.prototype,Uint8Array.prototype),Object.setPrototypeOf(s,Uint8Array),s.alloc=function(t,e,r){return function(t,e,r){return a(t),t<=0?o(t):void 0!==e?"string"==typeof r?o(t).fill(e,r):o(t).fill(e):o(t)}(t,e,r)},s.allocUnsafe=function(t){return u(t)},s.allocUnsafeSlow=function(t){return u(t)},s.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==s.prototype},s.compare=function(t,e){if(Z(t,Uint8Array)&&(t=s.from(t,t.offset,t.byteLength)),Z(e,Uint8Array)&&(e=s.from(e,e.offset,e.byteLength)),!s.isBuffer(t)||!s.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;let r=t.length,i=e.length;for(let n=0,o=Math.min(r,i);n<o;++n)if(t[n]!==e[n]){r=t[n],i=e[n];break}return r<i?-1:i<r?1:0},s.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}},s.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return s.alloc(0);let r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;const i=s.allocUnsafe(e);let n=0;for(r=0;r<t.length;++r){let e=t[r];if(Z(e,Uint8Array))n+e.length>i.length?(s.isBuffer(e)||(e=s.from(e)),e.copy(i,n)):Uint8Array.prototype.set.call(i,e,n);else{if(!s.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(i,n)}n+=e.length}return i},s.byteLength=d,s.prototype._isBuffer=!0,s.prototype.swap16=function(){const t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;e<t;e+=2)m(this,e,e+1);return this},s.prototype.swap32=function(){const t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let e=0;e<t;e+=4)m(this,e,e+3),m(this,e+1,e+2);return this},s.prototype.swap64=function(){const t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let e=0;e<t;e+=8)m(this,e,e+7),m(this,e+1,e+6),m(this,e+2,e+5),m(this,e+3,e+4);return this},s.prototype.toString=function(){const t=this.length;return 0===t?"":0===arguments.length?E(this,0,t):p.apply(this,arguments)},s.prototype.toLocaleString=s.prototype.toString,s.prototype.equals=function(t){if(!s.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===s.compare(this,t)},s.prototype.inspect=function(){let e="";const r=t.INSPECT_MAX_BYTES;return e=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(e+=" ... "),"<Buffer "+e+">"},i&&(s.prototype[i]=s.prototype.inspect),s.prototype.compare=function(t,e,r,i,n){if(Z(t,Uint8Array)&&(t=s.from(t,t.offset,t.byteLength)),!s.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===i&&(i=0),void 0===n&&(n=this.length),e<0||r>t.length||i<0||n>this.length)throw new RangeError("out of range index");if(i>=n&&e>=r)return 0;if(i>=n)return-1;if(e>=r)return 1;if(this===t)return 0;let o=(n>>>=0)-(i>>>=0),h=(r>>>=0)-(e>>>=0);const a=Math.min(o,h),u=this.slice(i,n),f=t.slice(e,r);for(let t=0;t<a;++t)if(u[t]!==f[t]){o=u[t],h=f[t];break}return o<h?-1:h<o?1:0},s.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},s.prototype.indexOf=function(t,e,r){return g(this,t,e,r,!0)},s.prototype.lastIndexOf=function(t,e,r){return g(this,t,e,r,!1)},s.prototype.write=function(t,e,r,i){if(void 0===e)i="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)i=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(r)?(r>>>=0,void 0===i&&(i="utf8")):(i=r,r=void 0)}const n=this.length-e;if((void 0===r||r>n)&&(r=n),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let o=!1;for(;;)switch(i){case"hex":return v(this,t,e,r);case"utf8":case"utf-8":return b(this,t,e,r);case"ascii":case"latin1":case"binary":return w(this,t,e,r);case"base64":return M(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return _(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),o=!0}},s.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const k=4096;function A(t,e,r){let i="";r=Math.min(t.length,r);for(let n=e;n<r;++n)i+=String.fromCharCode(127&t[n]);return i}function I(t,e,r){let i="";r=Math.min(t.length,r);for(let n=e;n<r;++n)i+=String.fromCharCode(t[n]);return i}function T(t,e,r){const i=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>i)&&(r=i);let n="";for(let i=e;i<r;++i)n+=$[t[i]];return n}function O(t,e,r){const i=t.slice(e,r);let n="";for(let t=0;t<i.length-1;t+=2)n+=String.fromCharCode(i[t]+256*i[t+1]);return n}function P(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function x(t,e,r,i,n,o){if(!s.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>n||e<o)throw new RangeError('"value" argument is out of bounds');if(r+i>t.length)throw new RangeError("Index out of range")}function B(t,e,r,i,n){H(e,i,n,t,r,7);let o=Number(e&BigInt(4294967295));t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s,r}function R(t,e,r,i,n){H(e,i,n,t,r,7);let o=Number(e&BigInt(4294967295));t[r+7]=o,o>>=8,t[r+6]=o,o>>=8,t[r+5]=o,o>>=8,t[r+4]=o;let s=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=s,s>>=8,t[r+2]=s,s>>=8,t[r+1]=s,s>>=8,t[r]=s,r+8}function N(t,e,r,i,n,o){if(r+i>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function U(t,e,i,n,o){return e=+e,i>>>=0,o||N(t,0,i,4),r.write(t,e,i,n,23,4),i+4}function C(t,e,i,n,o){return e=+e,i>>>=0,o||N(t,0,i,8),r.write(t,e,i,n,52,8),i+8}s.prototype.slice=function(t,e){const r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);const i=this.subarray(t,e);return Object.setPrototypeOf(i,s.prototype),i},s.prototype.readUintLE=s.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||P(t,e,this.length);let i=this[t],n=1,o=0;for(;++o<e&&(n*=256);)i+=this[t+o]*n;return i},s.prototype.readUintBE=s.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||P(t,e,this.length);let i=this[t+--e],n=1;for(;e>0&&(n*=256);)i+=this[t+--e]*n;return i},s.prototype.readUint8=s.prototype.readUInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),this[t]},s.prototype.readUint16LE=s.prototype.readUInt16LE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]|this[t+1]<<8},s.prototype.readUint16BE=s.prototype.readUInt16BE=function(t,e){return t>>>=0,e||P(t,2,this.length),this[t]<<8|this[t+1]},s.prototype.readUint32LE=s.prototype.readUInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},s.prototype.readUint32BE=s.prototype.readUInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},s.prototype.readBigUInt64LE=X((function(t){q(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);const i=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,n=this[++t]+256*this[++t]+65536*this[++t]+r*2**24;return BigInt(i)+(BigInt(n)<<BigInt(32))})),s.prototype.readBigUInt64BE=X((function(t){q(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);const i=e*2**24+65536*this[++t]+256*this[++t]+this[++t],n=this[++t]*2**24+65536*this[++t]+256*this[++t]+r;return(BigInt(i)<<BigInt(32))+BigInt(n)})),s.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||P(t,e,this.length);let i=this[t],n=1,o=0;for(;++o<e&&(n*=256);)i+=this[t+o]*n;return n*=128,i>=n&&(i-=Math.pow(2,8*e)),i},s.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||P(t,e,this.length);let i=e,n=1,o=this[t+--i];for(;i>0&&(n*=256);)o+=this[t+--i]*n;return n*=128,o>=n&&(o-=Math.pow(2,8*e)),o},s.prototype.readInt8=function(t,e){return t>>>=0,e||P(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},s.prototype.readInt16LE=function(t,e){t>>>=0,e||P(t,2,this.length);const r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt16BE=function(t,e){t>>>=0,e||P(t,2,this.length);const r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},s.prototype.readInt32LE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},s.prototype.readInt32BE=function(t,e){return t>>>=0,e||P(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},s.prototype.readBigInt64LE=X((function(t){q(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);const i=this[t+4]+256*this[t+5]+65536*this[t+6]+(r<<24);return(BigInt(i)<<BigInt(32))+BigInt(e+256*this[++t]+65536*this[++t]+this[++t]*2**24)})),s.prototype.readBigInt64BE=X((function(t){q(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||K(t,this.length-8);const i=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return(BigInt(i)<<BigInt(32))+BigInt(this[++t]*2**24+65536*this[++t]+256*this[++t]+r)})),s.prototype.readFloatLE=function(t,e){return t>>>=0,e||P(t,4,this.length),r.read(this,t,!0,23,4)},s.prototype.readFloatBE=function(t,e){return t>>>=0,e||P(t,4,this.length),r.read(this,t,!1,23,4)},s.prototype.readDoubleLE=function(t,e){return t>>>=0,e||P(t,8,this.length),r.read(this,t,!0,52,8)},s.prototype.readDoubleBE=function(t,e){return t>>>=0,e||P(t,8,this.length),r.read(this,t,!1,52,8)},s.prototype.writeUintLE=s.prototype.writeUIntLE=function(t,e,r,i){if(t=+t,e>>>=0,r>>>=0,!i){x(this,t,e,r,Math.pow(2,8*r)-1,0)}let n=1,o=0;for(this[e]=255&t;++o<r&&(n*=256);)this[e+o]=t/n&255;return e+r},s.prototype.writeUintBE=s.prototype.writeUIntBE=function(t,e,r,i){if(t=+t,e>>>=0,r>>>=0,!i){x(this,t,e,r,Math.pow(2,8*r)-1,0)}let n=r-1,o=1;for(this[e+n]=255&t;--n>=0&&(o*=256);)this[e+n]=t/o&255;return e+r},s.prototype.writeUint8=s.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,1,255,0),this[e]=255&t,e+1},s.prototype.writeUint16LE=s.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeUint16BE=s.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeUint32LE=s.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},s.prototype.writeUint32BE=s.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},s.prototype.writeBigUInt64LE=X((function(t,e=0){return B(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),s.prototype.writeBigUInt64BE=X((function(t,e=0){return R(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))})),s.prototype.writeIntLE=function(t,e,r,i){if(t=+t,e>>>=0,!i){const i=Math.pow(2,8*r-1);x(this,t,e,r,i-1,-i)}let n=0,o=1,s=0;for(this[e]=255&t;++n<r&&(o*=256);)t<0&&0===s&&0!==this[e+n-1]&&(s=1),this[e+n]=(t/o>>0)-s&255;return e+r},s.prototype.writeIntBE=function(t,e,r,i){if(t=+t,e>>>=0,!i){const i=Math.pow(2,8*r-1);x(this,t,e,r,i-1,-i)}let n=r-1,o=1,s=0;for(this[e+n]=255&t;--n>=0&&(o*=256);)t<0&&0===s&&0!==this[e+n+1]&&(s=1),this[e+n]=(t/o>>0)-s&255;return e+r},s.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},s.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},s.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},s.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},s.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||x(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},s.prototype.writeBigInt64LE=X((function(t,e=0){return B(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),s.prototype.writeBigInt64BE=X((function(t,e=0){return R(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),s.prototype.writeFloatLE=function(t,e,r){return U(this,t,e,!0,r)},s.prototype.writeFloatBE=function(t,e,r){return U(this,t,e,!1,r)},s.prototype.writeDoubleLE=function(t,e,r){return C(this,t,e,!0,r)},s.prototype.writeDoubleBE=function(t,e,r){return C(this,t,e,!1,r)},s.prototype.copy=function(t,e,r,i){if(!s.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),i||0===i||(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i<r&&(i=r),i===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=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-e<i-r&&(i=t.length-e+r);const n=i-r;return this===t&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(e,r,i):Uint8Array.prototype.set.call(t,this.subarray(r,i),e),n},s.prototype.fill=function(t,e,r,i){if("string"==typeof t){if("string"==typeof e?(i=e,e=0,r=this.length):"string"==typeof r&&(i=r,r=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!s.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===t.length){const e=t.charCodeAt(0);("utf8"===i&&e<128||"latin1"===i)&&(t=e)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;let n;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(n=e;n<r;++n)this[n]=t;else{const o=s.isBuffer(t)?t:s.from(t,i),h=o.length;if(0===h)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(n=0;n<r-e;++n)this[n+e]=o[n%h]}return this};const L={};function D(t,e,r){L[t]=class extends r{constructor(){super(),Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${t}]`,this.stack,delete this.name}get code(){return t}set code(t){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:t,writable:!0})}toString(){return`${this.name} [${t}]: ${this.message}`}}}function j(t){let e="",r=t.length;const i="-"===t[0]?1:0;for(;r>=i+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function H(t,e,r,i,n,o){if(t>r||t<e){const i="bigint"==typeof e?"n":"";let n;throw n=o>3?0===e||e===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(o+1)}${i}`:`>= -(2${i} ** ${8*(o+1)-1}${i}) and < 2 ** ${8*(o+1)-1}${i}`:`>= ${e}${i} and <= ${r}${i}`,new L.ERR_OUT_OF_RANGE("value",n,t)}!function(t,e,r){q(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||K(e,t.length-(r+1))}(i,n,o)}function q(t,e){if("number"!=typeof t)throw new L.ERR_INVALID_ARG_TYPE(e,"number",t)}function K(t,e,r){if(Math.floor(t)!==t)throw q(t,r),new L.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new L.ERR_BUFFER_OUT_OF_BOUNDS;throw new L.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}D("ERR_BUFFER_OUT_OF_BOUNDS",(function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),D("ERR_INVALID_ARG_TYPE",(function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`}),TypeError),D("ERR_OUT_OF_RANGE",(function(t,e,r){let i=`The value of "${t}" is out of range.`,n=r;return Number.isInteger(r)&&Math.abs(r)>2**32?n=j(String(r)):"bigint"==typeof r&&(n=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(n=j(n)),n+="n"),i+=` It must be ${e}. Received ${n}`,i}),RangeError);const F=/[^+/0-9A-Za-z-_]/g;function z(t,e){let r;e=e||1/0;const i=t.length;let n=null;const o=[];for(let s=0;s<i;++s){if(r=t.charCodeAt(s),r>55295&&r<57344){if(!n){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===i){(e-=3)>-1&&o.push(239,191,189);continue}n=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(e-=3)>-1&&o.push(239,191,189);if(n=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function W(t){return e.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(F,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function V(t,e,r,i){let n;for(n=0;n<i&&!(n+r>=e.length||n>=t.length);++n)e[n+r]=t[n];return n}function Z(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function G(t){return t!=t}const $=function(){const t="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){const i=16*r;for(let n=0;n<16;++n)e[i+n]=t[r]+t[n]}return e}();function X(t){return"undefined"==typeof BigInt?Y:t}function Y(){throw new Error("BigInt not supported")}})(Bt),
11
+ /*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
12
+ function(t,e){var r=Bt,i=r.Buffer;function n(t,e){for(var r in t)e[r]=t[r]}function o(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=r:(n(r,e),e.Buffer=o),o.prototype=Object.create(i.prototype),n(i,o),o.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,r)},o.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=i(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r.SlowBuffer(t)}}(xt,xt.exports);var Ft={exports:{}},zt={};function Wt(){throw new Error("setTimeout has not been defined")}function Vt(){throw new Error("clearTimeout has not been defined")}var Zt=Wt,Gt=Vt;function $t(t){if(Zt===setTimeout)return setTimeout(t,0);if((Zt===Wt||!Zt)&&setTimeout)return Zt=setTimeout,setTimeout(t,0);try{return Zt(t,0)}catch(e){try{return Zt.call(null,t,0)}catch(e){return Zt.call(this,t,0)}}}"function"==typeof P.setTimeout&&(Zt=setTimeout),"function"==typeof P.clearTimeout&&(Gt=clearTimeout);var Xt,Yt=[],Jt=!1,Qt=-1;function te(){Jt&&Xt&&(Jt=!1,Xt.length?Yt=Xt.concat(Yt):Qt=-1,Yt.length&&ee())}function ee(){if(!Jt){var t=$t(te);Jt=!0;for(var e=Yt.length;e;){for(Xt=Yt,Yt=[];++Qt<e;)Xt&&Xt[Qt].run();Qt=-1,e=Yt.length}Xt=null,Jt=!1,function(t){if(Gt===clearTimeout)return clearTimeout(t);if((Gt===Vt||!Gt)&&clearTimeout)return Gt=clearTimeout,clearTimeout(t);try{Gt(t)}catch(e){try{return Gt.call(null,t)}catch(e){return Gt.call(this,t)}}}(t)}}function re(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];Yt.push(new ie(t,e)),1!==Yt.length||Jt||$t(ee)}function ie(t,e){this.fun=t,this.array=e}ie.prototype.run=function(){this.fun.apply(null,this.array)};function ne(){}var oe=ne,se=ne,he=ne,ae=ne,ue=ne,fe=ne,le=ne;var ce=P.performance||{},de=ce.now||ce.mozNow||ce.msNow||ce.oNow||ce.webkitNow||function(){return(new Date).getTime()};var pe=new Date;var me,ge={nextTick:re,title:"browser",browser:!0,env:{},argv:[],version:"",versions:{},on:oe,addListener:se,once:he,off:ae,removeListener:ue,removeAllListeners:fe,emit:le,binding:function(t){throw new Error("process.binding is not supported")},cwd:function(){return"/"},chdir:function(t){throw new Error("process.chdir is not supported")},umask:function(){return 0},hrtime:function(t){var e=.001*de.call(ce),r=Math.floor(e),i=Math.floor(e%1*1e9);return t&&(r-=t[0],(i-=t[1])<0&&(r--,i+=1e9)),[r,i]},platform:"browser",release:{},config:{},uptime:function(){return(new Date-pe)/1e3}},ye={exports:{}},ve="object"==typeof Reflect?Reflect:null,be=ve&&"function"==typeof ve.apply?ve.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)};me=ve&&"function"==typeof ve.ownKeys?ve.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var we=Number.isNaN||function(t){return t!=t};function Me(){Me.init.call(this)}ye.exports=Me,ye.exports.once=function(t,e){return new Promise((function(r,i){function n(r){t.removeListener(e,o),i(r)}function o(){"function"==typeof t.removeListener&&t.removeListener("error",n),r([].slice.call(arguments))}xe(t,e,o,{once:!0}),"error"!==e&&function(t,e,r){"function"==typeof t.on&&xe(t,"error",e,r)}(t,n,{once:!0})}))},Me.EventEmitter=Me,Me.prototype._events=void 0,Me.prototype._eventsCount=0,Me.prototype._maxListeners=void 0;var _e=10;function Se(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function Ee(t){return void 0===t._maxListeners?Me.defaultMaxListeners:t._maxListeners}function ke(t,e,r,i){var n,o,s,h;if(Se(r),void 0===(o=t._events)?(o=t._events=Object.create(null),t._eventsCount=0):(void 0!==o.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]),void 0===s)s=o[e]=r,++t._eventsCount;else if("function"==typeof s?s=o[e]=i?[r,s]:[s,r]:i?s.unshift(r):s.push(r),(n=Ee(t))>0&&s.length>n&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=t,a.type=e,a.count=s.length,h=a,console&&console.warn&&console.warn(h)}return t}function Ae(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Ie(t,e,r){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},n=Ae.bind(i);return n.listener=r,i.wrapFn=n,n}function Te(t,e,r){var i=t._events;if(void 0===i)return[];var n=i[e];return void 0===n?[]:"function"==typeof n?r?[n.listener||n]:[n]:r?function(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}(n):Pe(n,n.length)}function Oe(t){var e=this._events;if(void 0!==e){var r=e[t];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function Pe(t,e){for(var r=new Array(e),i=0;i<e;++i)r[i]=t[i];return r}function xe(t,e,r,i){if("function"==typeof t.on)i.once?t.once(e,r):t.on(e,r);else{if("function"!=typeof t.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t);t.addEventListener(e,(function n(o){i.once&&t.removeEventListener(e,n),r(o)}))}}Object.defineProperty(Me,"defaultMaxListeners",{enumerable:!0,get:function(){return _e},set:function(t){if("number"!=typeof t||t<0||we(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");_e=t}}),Me.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},Me.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||we(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},Me.prototype.getMaxListeners=function(){return Ee(this)},Me.prototype.emit=function(t){for(var e=[],r=1;r<arguments.length;r++)e.push(arguments[r]);var i="error"===t,n=this._events;if(void 0!==n)i=i&&void 0===n.error;else if(!i)return!1;if(i){var o;if(e.length>0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var h=n[t];if(void 0===h)return!1;if("function"==typeof h)be(h,this,e);else{var a=h.length,u=Pe(h,a);for(r=0;r<a;++r)be(u[r],this,e)}return!0},Me.prototype.addListener=function(t,e){return ke(this,t,e,!1)},Me.prototype.on=Me.prototype.addListener,Me.prototype.prependListener=function(t,e){return ke(this,t,e,!0)},Me.prototype.once=function(t,e){return Se(e),this.on(t,Ie(this,t,e)),this},Me.prototype.prependOnceListener=function(t,e){return Se(e),this.prependListener(t,Ie(this,t,e)),this},Me.prototype.removeListener=function(t,e){var r,i,n,o,s;if(Se(e),void 0===(i=this._events))return this;if(void 0===(r=i[t]))return this;if(r===e||r.listener===e)0==--this._eventsCount?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,r.listener||e));else if("function"!=typeof r){for(n=-1,o=r.length-1;o>=0;o--)if(r[o]===e||r[o].listener===e){s=r[o].listener,n=o;break}if(n<0)return this;0===n?r.shift():function(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}(r,n),1===r.length&&(i[t]=r[0]),void 0!==i.removeListener&&this.emit("removeListener",t,s||e)}return this},Me.prototype.off=Me.prototype.removeListener,Me.prototype.removeAllListeners=function(t){var e,r,i;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[t]&&(0==--this._eventsCount?this._events=Object.create(null):delete r[t]),this;if(0===arguments.length){var n,o=Object.keys(r);for(i=0;i<o.length;++i)"removeListener"!==(n=o[i])&&this.removeAllListeners(n);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(e=r[t]))this.removeListener(t,e);else if(void 0!==e)for(i=e.length-1;i>=0;i--)this.removeListener(t,e[i]);return this},Me.prototype.listeners=function(t){return Te(this,t,!0)},Me.prototype.rawListeners=function(t){return Te(this,t,!1)},Me.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):Oe.call(t,e)},Me.prototype.listenerCount=Oe,Me.prototype.eventNames=function(){return this._eventsCount>0?me(this._events):[]};var Be=ye.exports.EventEmitter,Re=I(Object.freeze({__proto__:null,default:{}}));function Ne(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,i)}return r}function Ue(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Ce(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}var Le=Bt.Buffer,De=Re.inspect,je=De&&De.custom||"inspect";function He(t,e,r){Le.prototype.copy.call(t,e,r)}var qe=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}var e,r,i;return e=t,(r=[{key:"push",value:function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return Le.alloc(0);for(var e=Le.allocUnsafe(t>>>0),r=this.head,i=0;r;)He(r.data,e,i),i+=r.data.length,r=r.next;return e}},{key:"consume",value:function(t,e){var r;return t<this.head.data.length?(r=this.head.data.slice(0,t),this.head.data=this.head.data.slice(t)):r=t===this.head.data.length?this.shift():e?this._getString(t):this._getBuffer(t),r}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(t){var e=this.head,r=1,i=e.data;for(t-=i.length;e=e.next;){var n=e.data,o=t>n.length?n.length:t;if(o===n.length?i+=n:i+=n.slice(0,t),0==(t-=o)){o===n.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=n.slice(o));break}++r}return this.length-=r,i}},{key:"_getBuffer",value:function(t){var e=Le.allocUnsafe(t),r=this.head,i=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var n=r.data,o=t>n.length?n.length:t;if(n.copy(e,e.length-t,0,o),0==(t-=o)){o===n.length?(++i,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=n.slice(o));break}++i}return this.length-=i,e}},{key:je,value:function(t,e){return De(this,function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?Ne(Object(r),!0).forEach((function(e){Ue(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):Ne(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}({},e,{depth:0,customInspect:!1}))}}])&&Ce(e.prototype,r),i&&Ce(e,i),t}();function Ke(t,e){ze(t,e),Fe(t)}function Fe(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function ze(t,e){t.emit("error",e)}var We={destroy:function(t,e){var r=this,i=this._readableState&&this._readableState.destroyed,n=this._writableState&&this._writableState.destroyed;return i||n?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,re(ze,this,t)):re(ze,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,(function(t){!e&&t?r._writableState?r._writableState.errorEmitted?re(Fe,r):(r._writableState.errorEmitted=!0,re(Ke,r,t)):re(Ke,r,t):e?(re(Fe,r),e(t)):re(Fe,r)})),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}},Ve={};var Ze={};function Ge(t,e,r){r||(r=Error);var i=function(t){var r,i;function n(r,i,n){return t.call(this,function(t,r,i){return"string"==typeof e?e:e(t,r,i)}(r,i,n))||this}return i=t,(r=n).prototype=Object.create(i.prototype),r.prototype.constructor=r,r.__proto__=i,n}(r);i.prototype.name=r.name,i.prototype.code=t,Ze[t]=i}function $e(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map((function(t){return String(t)})),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}Ge("ERR_INVALID_OPT_VALUE",(function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'}),TypeError),Ge("ERR_INVALID_ARG_TYPE",(function(t,e,r){var i,n,o,s;if("string"==typeof e&&(n="not ",e.substr(!o||o<0?0:+o,n.length)===n)?(i="must not be",e=e.replace(/^not /,"")):i="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))s="The ".concat(t," ").concat(i," ").concat($e(e,"type"));else{var h=function(t,e,r){return"number"!=typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}(t,".")?"property":"argument";s='The "'.concat(t,'" ').concat(h," ").concat(i," ").concat($e(e,"type"))}return s+=". Received type ".concat(typeof r)}),TypeError),Ge("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),Ge("ERR_METHOD_NOT_IMPLEMENTED",(function(t){return"The "+t+" method is not implemented"})),Ge("ERR_STREAM_PREMATURE_CLOSE","Premature close"),Ge("ERR_STREAM_DESTROYED",(function(t){return"Cannot call "+t+" after a stream was destroyed"})),Ge("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),Ge("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),Ge("ERR_STREAM_WRITE_AFTER_END","write after end"),Ge("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),Ge("ERR_UNKNOWN_ENCODING",(function(t){return"Unknown encoding: "+t}),TypeError),Ge("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),Ve.codes=Ze;var Xe=Ve.codes.ERR_INVALID_OPT_VALUE;var Ye={getHighWaterMark:function(t,e,r,i){var n=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,i,r);if(null!=n){if(!isFinite(n)||Math.floor(n)!==n||n<0)throw new Xe(i?r:"highWaterMark",n);return Math.floor(n)}return t.objectMode?16:16384}},Je={},Qe={exports:{}};!function(t,e){var r=Bt,i=r.Buffer;function n(t,e){for(var r in t)e[r]=t[r]}function o(t,e,r){return i(t,e,r)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?t.exports=r:(n(r,e),e.Buffer=o),n(i,o),o.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return i(t,e,r)},o.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var n=i(t);return void 0!==e?"string"==typeof r?n.fill(e,r):n.fill(e):n.fill(0),n},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return r.SlowBuffer(t)}}(Qe,Qe.exports);var tr=Qe.exports.Buffer,er=tr.isEncoding||function(t){switch((t=""+t)&&t.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function rr(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(tr.isEncoding===er||!er(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=or,this.end=sr,e=4;break;case"utf8":this.fillLast=nr,e=4;break;case"base64":this.text=hr,this.end=ar,e=3;break;default:return this.write=ur,void(this.end=fr)}this.lastNeed=0,this.lastTotal=0,this.lastChar=tr.allocUnsafe(e)}function ir(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function nr(t){var e=this.lastTotal-this.lastNeed,r=function(t,e,r){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function or(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function sr(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function hr(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function ar(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function ur(t){return t.toString(this.encoding)}function fr(t){return t&&t.length?this.write(t):""}Je.StringDecoder=rr,rr.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<t.length?e?e+this.text(t,r):this.text(t,r):e||""},rr.prototype.end=function(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e},rr.prototype.text=function(t,e){var r=function(t,e,r){var i=e.length-1;if(i<r)return 0;var n=ir(e[i]);if(n>=0)return n>0&&(t.lastNeed=n-1),n;if(--i<r||-2===n)return 0;if((n=ir(e[i]))>=0)return n>0&&(t.lastNeed=n-2),n;if(--i<r||-2===n)return 0;if((n=ir(e[i]))>=0)return n>0&&(2===n?n=0:t.lastNeed=n-3),n;return 0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)},rr.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length};var lr=Ve.codes.ERR_STREAM_PREMATURE_CLOSE;function cr(){}var dr,pr=function t(e,r,i){if("function"==typeof r)return t(e,null,r);r||(r={}),i=function(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,i=new Array(r),n=0;n<r;n++)i[n]=arguments[n];t.apply(this,i)}}}(i||cr);var n=r.readable||!1!==r.readable&&e.readable,o=r.writable||!1!==r.writable&&e.writable,s=function(){e.writable||a()},h=e._writableState&&e._writableState.finished,a=function(){o=!1,h=!0,n||i.call(e)},u=e._readableState&&e._readableState.endEmitted,f=function(){n=!1,u=!0,o||i.call(e)},l=function(t){i.call(e,t)},c=function(){var t;return n&&!u?(e._readableState&&e._readableState.ended||(t=new lr),i.call(e,t)):o&&!h?(e._writableState&&e._writableState.ended||(t=new lr),i.call(e,t)):void 0},d=function(){e.req.on("finish",a)};return!function(t){return t.setHeader&&"function"==typeof t.abort}(e)?o&&!e._writableState&&(e.on("end",s),e.on("close",s)):(e.on("complete",a),e.on("abort",c),e.req?d():e.on("request",d)),e.on("end",f),e.on("finish",a),!1!==r.error&&e.on("error",l),e.on("close",c),function(){e.removeListener("complete",a),e.removeListener("abort",c),e.removeListener("request",d),e.req&&e.req.removeListener("finish",a),e.removeListener("end",s),e.removeListener("close",s),e.removeListener("finish",a),e.removeListener("end",f),e.removeListener("error",l),e.removeListener("close",c)}};function mr(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var gr=pr,yr=Symbol("lastResolve"),vr=Symbol("lastReject"),br=Symbol("error"),wr=Symbol("ended"),Mr=Symbol("lastPromise"),_r=Symbol("handlePromise"),Sr=Symbol("stream");function Er(t,e){return{value:t,done:e}}function kr(t){var e=t[yr];if(null!==e){var r=t[Sr].read();null!==r&&(t[Mr]=null,t[yr]=null,t[vr]=null,e(Er(r,!1)))}}function Ar(t){re(kr,t)}var Ir=Object.getPrototypeOf((function(){})),Tr=Object.setPrototypeOf((mr(dr={get stream(){return this[Sr]},next:function(){var t=this,e=this[br];if(null!==e)return Promise.reject(e);if(this[wr])return Promise.resolve(Er(void 0,!0));if(this[Sr].destroyed)return new Promise((function(e,r){re((function(){t[br]?r(t[br]):e(Er(void 0,!0))}))}));var r,i=this[Mr];if(i)r=new Promise(function(t,e){return function(r,i){t.then((function(){e[wr]?r(Er(void 0,!0)):e[_r](r,i)}),i)}}(i,this));else{var n=this[Sr].read();if(null!==n)return Promise.resolve(Er(n,!1));r=new Promise(this[_r])}return this[Mr]=r,r}},Symbol.asyncIterator,(function(){return this})),mr(dr,"return",(function(){var t=this;return new Promise((function(e,r){t[Sr].destroy(null,(function(t){t?r(t):e(Er(void 0,!0))}))}))})),dr),Ir),Or=function(t){var e,r=Object.create(Tr,(mr(e={},Sr,{value:t,writable:!0}),mr(e,yr,{value:null,writable:!0}),mr(e,vr,{value:null,writable:!0}),mr(e,br,{value:null,writable:!0}),mr(e,wr,{value:t._readableState.endEmitted,writable:!0}),mr(e,_r,{value:function(t,e){var i=r[Sr].read();i?(r[Mr]=null,r[yr]=null,r[vr]=null,t(Er(i,!1))):(r[yr]=t,r[vr]=e)},writable:!0}),e));return r[Mr]=null,gr(t,(function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=r[vr];return null!==e&&(r[Mr]=null,r[yr]=null,r[vr]=null,e(t)),void(r[br]=t)}var i=r[yr];null!==i&&(r[Mr]=null,r[yr]=null,r[vr]=null,i(Er(void 0,!0))),r[wr]=!0})),t.on("readable",Ar.bind(null,r)),r},Pr=function(){throw new Error("Readable.from is not available in the browser")};const xr=zt;xr.Readable=Jr,Jr.ReadableState=Yr,ye.exports.EventEmitter;var Br=function(t,e){return t.listeners(e).length},Rr=Be,Nr=Bt.Buffer,Ur=A.Uint8Array||function(){};var Cr,Lr=Re;Cr=Lr&&Lr.debuglog?Lr.debuglog("stream"):function(){};var Dr,jr,Hr,qr=qe,Kr=We,Fr=Ye.getHighWaterMark,zr=Ve.codes,Wr=zr.ERR_INVALID_ARG_TYPE,Vr=zr.ERR_STREAM_PUSH_AFTER_EOF,Zr=zr.ERR_METHOD_NOT_IMPLEMENTED,Gr=zr.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;Pt.exports(Jr,Rr);var $r=Kr.errorOrDestroy,Xr=["error","close","destroy","pause","resume"];function Yr(t,e,r){t=t||{},"boolean"!=typeof r&&(r=e instanceof xr.Duplex),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=Fr(this,t,"readableHighWaterMark",r),this.buffer=new qr,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(Dr||(Dr=Je.StringDecoder),this.decoder=new Dr(t.encoding),this.encoding=t.encoding)}function Jr(t){if(!(this instanceof Jr))return new Jr(t);var e=this instanceof xr.Duplex;this._readableState=new Yr(t,this,e),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),Rr.call(this)}function Qr(t,e,r,i,n){Cr("readableAddChunk",e);var o,s=t._readableState;if(null===e)s.reading=!1,function(t,e){if(Cr("onEofChunk"),e.ended)return;if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?ri(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,ii(t)))}(t,s);else if(n||(o=function(t,e){var r;i=e,Nr.isBuffer(i)||i instanceof Ur||"string"==typeof e||void 0===e||t.objectMode||(r=new Wr("chunk",["string","Buffer","Uint8Array"],e));var i;return r}(s,e)),o)$r(t,o);else if(s.objectMode||e&&e.length>0)if("string"==typeof e||s.objectMode||Object.getPrototypeOf(e)===Nr.prototype||(e=function(t){return Nr.from(t)}(e)),i)s.endEmitted?$r(t,new Gr):ti(t,s,e,!0);else if(s.ended)$r(t,new Vr);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(e=s.decoder.write(e),s.objectMode||0!==e.length?ti(t,s,e,!1):ni(t,s)):ti(t,s,e,!1)}else i||(s.reading=!1,ni(t,s));return!s.ended&&(s.length<s.highWaterMark||0===s.length)}function ti(t,e,r,i){e.flowing&&0===e.length&&!e.sync?(e.awaitDrain=0,t.emit("data",r)):(e.length+=e.objectMode?1:r.length,i?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&ri(t)),ni(t,e)}Object.defineProperty(Jr.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}}),Jr.prototype.destroy=Kr.destroy,Jr.prototype._undestroy=Kr.undestroy,Jr.prototype._destroy=function(t,e){e(t)},Jr.prototype.push=function(t,e){var r,i=this._readableState;return i.objectMode?r=!0:"string"==typeof t&&((e=e||i.defaultEncoding)!==i.encoding&&(t=Nr.from(t,e),e=""),r=!0),Qr(this,t,e,!1,r)},Jr.prototype.unshift=function(t){return Qr(this,t,null,!0,!1)},Jr.prototype.isPaused=function(){return!1===this._readableState.flowing},Jr.prototype.setEncoding=function(t){Dr||(Dr=Je.StringDecoder);var e=new Dr(t);this._readableState.decoder=e,this._readableState.encoding=this._readableState.decoder.encoding;for(var r=this._readableState.buffer.head,i="";null!==r;)i+=e.write(r.data),r=r.next;return this._readableState.buffer.clear(),""!==i&&this._readableState.buffer.push(i),this._readableState.length=i.length,this};function ei(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!=t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=function(t){return t>=1073741824?t=1073741824:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function ri(t){var e=t._readableState;Cr("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(Cr("emitReadable",e.flowing),e.emittedReadable=!0,re(ii,t))}function ii(t){var e=t._readableState;Cr("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,ui(t)}function ni(t,e){e.readingMore||(e.readingMore=!0,re(oi,t,e))}function oi(t,e){for(;!e.reading&&!e.ended&&(e.length<e.highWaterMark||e.flowing&&0===e.length);){var r=e.length;if(Cr("maybeReadMore read 0"),t.read(0),r===e.length)break}e.readingMore=!1}function si(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function hi(t){Cr("readable nexttick read 0"),t.read(0)}function ai(t,e){Cr("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),ui(t),e.flowing&&!e.reading&&t.read(0)}function ui(t){var e=t._readableState;for(Cr("flow",e.flowing);e.flowing&&null!==t.read(););}function fi(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function li(t){var e=t._readableState;Cr("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,re(ci,e,t))}function ci(t,e){if(Cr("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function di(t,e){for(var r=0,i=t.length;r<i;r++)if(t[r]===e)return r;return-1}Jr.prototype.read=function(t){Cr("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(0!==t&&(e.emittedReadable=!1),0===t&&e.needReadable&&((0!==e.highWaterMark?e.length>=e.highWaterMark:e.length>0)||e.ended))return Cr("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?li(this):ri(this),null;if(0===(t=ei(t,e))&&e.ended)return 0===e.length&&li(this),null;var i,n=e.needReadable;return Cr("need readable",n),(0===e.length||e.length-t<e.highWaterMark)&&Cr("length less than watermark",n=!0),e.ended||e.reading?Cr("reading or ended",n=!1):n&&(Cr("do read"),e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=ei(r,e))),null===(i=t>0?fi(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&li(this)),null!==i&&this.emit("data",i),i},Jr.prototype._read=function(t){$r(this,new Zr("_read()"))},Jr.prototype.pipe=function(t,e){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=t;break;case 1:i.pipes=[i.pipes,t];break;default:i.pipes.push(t)}i.pipesCount+=1,Cr("pipe count=%d opts=%j",i.pipesCount,e);var n=(!e||!1!==e.end)&&t!==ge.stdout&&t!==ge.stderr?s:d;function o(e,n){Cr("onunpipe"),e===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,Cr("cleanup"),t.removeListener("close",l),t.removeListener("finish",c),t.removeListener("drain",h),t.removeListener("error",f),t.removeListener("unpipe",o),r.removeListener("end",s),r.removeListener("end",d),r.removeListener("data",u),a=!0,!i.awaitDrain||t._writableState&&!t._writableState.needDrain||h())}function s(){Cr("onend"),t.end()}i.endEmitted?re(n):r.once("end",n),t.on("unpipe",o);var h=function(t){return function(){var e=t._readableState;Cr("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&Br(t,"data")&&(e.flowing=!0,ui(t))}}(r);t.on("drain",h);var a=!1;function u(e){Cr("ondata");var n=t.write(e);Cr("dest.write",n),!1===n&&((1===i.pipesCount&&i.pipes===t||i.pipesCount>1&&-1!==di(i.pipes,t))&&!a&&(Cr("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function f(e){Cr("onerror",e),d(),t.removeListener("error",f),0===Br(t,"error")&&$r(t,e)}function l(){t.removeListener("finish",c),d()}function c(){Cr("onfinish"),t.removeListener("close",l),d()}function d(){Cr("unpipe"),r.unpipe(t)}return r.on("data",u),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",f),t.once("close",l),t.once("finish",c),t.emit("pipe",r),i.flowing||(Cr("pipe resume"),r.resume()),t},Jr.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var o=0;o<n;o++)i[o].emit("unpipe",this,{hasUnpiped:!1});return this}var s=di(e.pipes,t);return-1===s||(e.pipes.splice(s,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,r)),this},Jr.prototype.on=function(t,e){var r=Rr.prototype.on.call(this,t,e),i=this._readableState;return"data"===t?(i.readableListening=this.listenerCount("readable")>0,!1!==i.flowing&&this.resume()):"readable"===t&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,Cr("on readable",i.length,i.reading),i.length?ri(this):i.reading||re(hi,this))),r},Jr.prototype.addListener=Jr.prototype.on,Jr.prototype.removeListener=function(t,e){var r=Rr.prototype.removeListener.call(this,t,e);return"readable"===t&&re(si,this),r},Jr.prototype.removeAllListeners=function(t){var e=Rr.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||re(si,this),e},Jr.prototype.resume=function(){var t=this._readableState;return t.flowing||(Cr("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,re(ai,t,e))}(this,t)),t.paused=!1,this},Jr.prototype.pause=function(){return Cr("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(Cr("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},Jr.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;for(var n in t.on("end",(function(){if(Cr("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)})),t.on("data",(function(n){(Cr("wrapped data"),r.decoder&&(n=r.decoder.write(n)),r.objectMode&&null==n)||(r.objectMode||n&&n.length)&&(e.push(n)||(i=!0,t.pause()))})),t)void 0===this[n]&&"function"==typeof t[n]&&(this[n]=function(e){return function(){return t[e].apply(t,arguments)}}(n));for(var o=0;o<Xr.length;o++)t.on(Xr[o],this.emit.bind(this,Xr[o]));return this._read=function(e){Cr("wrapped _read",e),i&&(i=!1,t.resume())},this},"function"==typeof Symbol&&(Jr.prototype[Symbol.asyncIterator]=function(){return void 0===jr&&(jr=Or),jr(this)}),Object.defineProperty(Jr.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(Jr.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(Jr.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t)}}),Jr._fromList=fi,Object.defineProperty(Jr.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(Jr.from=function(t,e){return void 0===Hr&&(Hr=Pr),Hr(Jr,t,e)});var pi=function(t,e){if(mi("noDeprecation"))return t;var r=!1;return function(){if(!r){if(mi("throwDeprecation"))throw new Error(e);mi("traceDeprecation")?console.trace(e):console.warn(e),r=!0}return t.apply(this,arguments)}};function mi(t){try{if(!A.localStorage)return!1}catch(t){return!1}var e=A.localStorage[t];return null!=e&&"true"===String(e).toLowerCase()}const gi=zt;function yi(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,r){var i=t.entry;t.entry=null;for(;i;){var n=i.callback;e.pendingcb--,n(r),i=i.next}e.corkedRequestsFree.next=t}(e,t)}}gi.Writable=Li,Li.WritableState=Ci;var vi={deprecate:pi},bi=Be,wi=Bt.Buffer,Mi=A.Uint8Array||function(){};var _i,Si=We,Ei=Ye.getHighWaterMark,ki=Ve.codes,Ai=ki.ERR_INVALID_ARG_TYPE,Ii=ki.ERR_METHOD_NOT_IMPLEMENTED,Ti=ki.ERR_MULTIPLE_CALLBACK,Oi=ki.ERR_STREAM_CANNOT_PIPE,Pi=ki.ERR_STREAM_DESTROYED,xi=ki.ERR_STREAM_NULL_VALUES,Bi=ki.ERR_STREAM_WRITE_AFTER_END,Ri=ki.ERR_UNKNOWN_ENCODING,Ni=Si.errorOrDestroy;function Ui(){}function Ci(t,e,r){t=t||{},"boolean"!=typeof r&&(r=e instanceof gi.Duplex),this.objectMode=!!t.objectMode,r&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=Ei(this,t,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var i=!1===t.decodeStrings;this.decodeStrings=!i,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var r=t._writableState,i=r.sync,n=r.writecb;if("function"!=typeof n)throw new Ti;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(r),e)!function(t,e,r,i,n){--e.pendingcb,r?(re(n,i),re(Fi,t,e),t._writableState.errorEmitted=!0,Ni(t,i)):(n(i),t._writableState.errorEmitted=!0,Ni(t,i),Fi(t,e))}(t,r,i,e,n);else{var o=qi(r)||t.destroyed;o||r.corked||r.bufferProcessing||!r.bufferedRequest||Hi(t,r),i?re(ji,t,r,o,n):ji(t,r,o,n)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new yi(this)}function Li(t){var e=this instanceof gi.Duplex;if(!e&&!_i.call(Li,this))return new Li(t);this._writableState=new Ci(t,this,e),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),bi.call(this)}function Di(t,e,r,i,n,o,s){e.writelen=i,e.writecb=s,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new Pi("write")):r?t._writev(n,e.onwrite):t._write(n,o,e.onwrite),e.sync=!1}function ji(t,e,r,i){r||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,i(),Fi(t,e)}function Hi(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var i=e.bufferedRequestCount,n=new Array(i),o=e.corkedRequestsFree;o.entry=r;for(var s=0,h=!0;r;)n[s]=r,r.isBuf||(h=!1),r=r.next,s+=1;n.allBuffers=h,Di(t,e,!0,e.length,n,"",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new yi(e),e.bufferedRequestCount=0}else{for(;r;){var a=r.chunk,u=r.encoding,f=r.callback;if(Di(t,e,!1,e.objectMode?1:a.length,a,u,f),r=r.next,e.bufferedRequestCount--,e.writing)break}null===r&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}function qi(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function Ki(t,e){t._final((function(r){e.pendingcb--,r&&Ni(t,r),e.prefinished=!0,t.emit("prefinish"),Fi(t,e)}))}function Fi(t,e){var r=qi(e);if(r&&(function(t,e){e.prefinished||e.finalCalled||("function"!=typeof t._final||e.destroyed?(e.prefinished=!0,t.emit("prefinish")):(e.pendingcb++,e.finalCalled=!0,re(Ki,t,e)))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){var i=t._readableState;(!i||i.autoDestroy&&i.endEmitted)&&t.destroy()}return r}Pt.exports(Li,bi),Ci.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(Ci.prototype,"buffer",{get:vi.deprecate((function(){return this.getBuffer()}),"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(_i=Function.prototype[Symbol.hasInstance],Object.defineProperty(Li,Symbol.hasInstance,{value:function(t){return!!_i.call(this,t)||this===Li&&(t&&t._writableState instanceof Ci)}})):_i=function(t){return t instanceof this},Li.prototype.pipe=function(){Ni(this,new Oi)},Li.prototype.write=function(t,e,r){var i,n=this._writableState,o=!1,s=!n.objectMode&&(i=t,wi.isBuffer(i)||i instanceof Mi);return s&&!wi.isBuffer(t)&&(t=function(t){return wi.from(t)}(t)),"function"==typeof e&&(r=e,e=null),s?e="buffer":e||(e=n.defaultEncoding),"function"!=typeof r&&(r=Ui),n.ending?function(t,e){var r=new Bi;Ni(t,r),re(e,r)}(this,r):(s||function(t,e,r,i){var n;return null===r?n=new xi:"string"==typeof r||e.objectMode||(n=new Ai("chunk",["string","Buffer"],r)),!n||(Ni(t,n),re(i,n),!1)}(this,n,t,r))&&(n.pendingcb++,o=function(t,e,r,i,n,o){if(!r){var s=function(t,e,r){t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=wi.from(e,r));return e}(e,i,n);i!==s&&(r=!0,n="buffer",i=s)}var h=e.objectMode?1:i.length;e.length+=h;var a=e.length<e.highWaterMark;a||(e.needDrain=!0);if(e.writing||e.corked){var u=e.lastBufferedRequest;e.lastBufferedRequest={chunk:i,encoding:n,isBuf:r,callback:o,next:null},u?u.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else Di(t,e,!1,h,i,n,o);return a}(this,n,s,t,e,r)),o},Li.prototype.cork=function(){this._writableState.corked++},Li.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.bufferProcessing||!t.bufferedRequest||Hi(this,t))},Li.prototype.setDefaultEncoding=function(t){if("string"==typeof t&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new Ri(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(Li.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(Li.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Li.prototype._write=function(t,e,r){r(new Ii("_write()"))},Li.prototype._writev=null,Li.prototype.end=function(t,e,r){var i=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||function(t,e,r){e.ending=!0,Fi(t,e),r&&(e.finished?re(r):t.once("finish",r));e.ended=!0,t.writable=!1}(this,i,r),this},Object.defineProperty(Li.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(Li.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),Li.prototype.destroy=Si.destroy,Li.prototype._undestroy=Si.undestroy,Li.prototype._destroy=function(t,e){e(t)};var zi=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};const Wi=zt;Wi.Duplex=$i,Pt.exports($i,Wi.Readable);for(var Vi=zi(Wi.Writable.prototype),Zi=0;Zi<Vi.length;Zi++){var Gi=Vi[Zi];$i.prototype[Gi]||($i.prototype[Gi]=Wi.Writable.prototype[Gi])}function $i(t){if(!(this instanceof $i))return new $i(t);Wi.Readable.call(this,t),Wi.Writable.call(this,t),this.allowHalfOpen=!0,t&&(!1===t.readable&&(this.readable=!1),!1===t.writable&&(this.writable=!1),!1===t.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",Xi)))}function Xi(){this._writableState.ended||re(Yi,this)}function Yi(t){t.end()}Object.defineProperty($i.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty($i.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty($i.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty($i.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(t){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=t,this._writableState.destroyed=t)}});const Ji=zt;Ji.Transform=sn;var Qi=Ve.codes,tn=Qi.ERR_METHOD_NOT_IMPLEMENTED,en=Qi.ERR_MULTIPLE_CALLBACK,rn=Qi.ERR_TRANSFORM_ALREADY_TRANSFORMING,nn=Qi.ERR_TRANSFORM_WITH_LENGTH_0;function on(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(null===i)return this.emit("error",new en);r.writechunk=null,r.writecb=null,null!=e&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}function sn(t){if(!(this instanceof sn))return new sn(t);Ji.Duplex.call(this,t),this._transformState={afterTransform:on.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.on("prefinish",hn)}function hn(){var t=this;"function"!=typeof this._flush||this._readableState.destroyed?an(this,null,null):this._flush((function(e,r){an(t,e,r)}))}function an(t,e,r){if(e)return t.emit("error",e);if(null!=r&&t.push(r),t._writableState.length)throw new nn;if(t._transformState.transforming)throw new rn;return t.push(null)}Pt.exports(sn,Ji.Duplex),sn.prototype.push=function(t,e){return this._transformState.needTransform=!1,Ji.Duplex.prototype.push.call(this,t,e)},sn.prototype._transform=function(t,e,r){r(new tn("_transform()"))},sn.prototype._write=function(t,e,r){var i=this._transformState;if(i.writecb=r,i.writechunk=t,i.writeencoding=e,!i.transforming){var n=this._readableState;(i.needTransform||n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}},sn.prototype._read=function(t){var e=this._transformState;null===e.writechunk||e.transforming?e.needTransform=!0:(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform))},sn.prototype._destroy=function(t,e){Ji.Duplex.prototype._destroy.call(this,t,(function(t){e(t)}))};const un=zt;function fn(t){if(!(this instanceof fn))return new fn(t);Transform.call(this,t)}var ln;un.PassThrough=fn,Pt.exports(fn,un.Transform),fn.prototype._transform=function(t,e,r){r(null,t)};var cn=Ve.codes,dn=cn.ERR_MISSING_ARGS,pn=cn.ERR_STREAM_DESTROYED;function mn(t){if(t)throw t}function gn(t,e,r,i){i=function(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}(i);var n=!1;t.on("close",(function(){n=!0})),void 0===ln&&(ln=pr),ln(t,{readable:e,writable:r},(function(t){if(t)return i(t);n=!0,i()}));var o=!1;return function(e){if(!n&&!o)return o=!0,function(t){return t.setHeader&&"function"==typeof t.abort}(t)?t.abort():"function"==typeof t.destroy?t.destroy():void i(e||new pn("pipe"))}}function yn(t){t()}function vn(t,e){return t.pipe(e)}function bn(t){return t.length?"function"!=typeof t[t.length-1]?mn:t.pop():mn}var wn=function(){for(var t=arguments.length,e=new Array(t),r=0;r<t;r++)e[r]=arguments[r];var i,n=bn(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new dn("streams");var o=e.map((function(t,r){var s=r<e.length-1;return gn(t,s,r>0,(function(t){i||(i=t),t&&o.forEach(yn),s||(o.forEach(yn),n(i))}))}));return e.reduce(vn)};!function(t,e){const r=zt;(e=Ft.exports=r.Readable).Stream=r.Readable,e.Readable=r.Readable,e.Writable=r.Writable,e.Duplex=r.Duplex,e.Transform=r.Transform,e.PassThrough=r.PassThrough,e.finished=pr,e.pipeline=wn}(0,Ft.exports);var Mn=xt.exports.Buffer,_n=Ft.exports.Transform;function Sn(t){_n.call(this),this._block=Mn.allocUnsafe(t),this._blockSize=t,this._blockOffset=0,this._length=[0,0,0,0],this._finalized=!1}(0,Pt.exports)(Sn,_n),Sn.prototype._transform=function(t,e,r){var i=null;try{this.update(t,e)}catch(t){i=t}r(i)},Sn.prototype._flush=function(t){var e=null;try{this.push(this.digest())}catch(t){e=t}t(e)},Sn.prototype.update=function(t,e){if(function(t,e){if(!Mn.isBuffer(t)&&"string"!=typeof t)throw new TypeError(e+" must be a string or a buffer")}(t,"Data"),this._finalized)throw new Error("Digest already called");Mn.isBuffer(t)||(t=Mn.from(t,e));for(var r=this._block,i=0;this._blockOffset+t.length-i>=this._blockSize;){for(var n=this._blockOffset;n<this._blockSize;)r[n++]=t[i++];this._update(),this._blockOffset=0}for(;i<t.length;)r[this._blockOffset++]=t[i++];for(var o=0,s=8*t.length;s>0;++o)this._length[o]+=s,(s=this._length[o]/4294967296|0)>0&&(this._length[o]-=4294967296*s);return this},Sn.prototype._update=function(){throw new Error("_update is not implemented")},Sn.prototype.digest=function(t){if(this._finalized)throw new Error("Digest already called");this._finalized=!0;var e=this._digest();void 0!==t&&(e=e.toString(t)),this._block.fill(0),this._blockOffset=0;for(var r=0;r<4;++r)this._length[r]=0;return e},Sn.prototype._digest=function(){throw new Error("_digest is not implemented")};var En=Sn,kn=Pt.exports,An=En,In=xt.exports.Buffer,Tn=new Array(16);function On(){An.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878}function Pn(t,e){return t<<e|t>>>32-e}function xn(t,e,r,i,n,o,s){return Pn(t+(e&r|~e&i)+n+o|0,s)+e|0}function Bn(t,e,r,i,n,o,s){return Pn(t+(e&i|r&~i)+n+o|0,s)+e|0}function Rn(t,e,r,i,n,o,s){return Pn(t+(e^r^i)+n+o|0,s)+e|0}function Nn(t,e,r,i,n,o,s){return Pn(t+(r^(e|~i))+n+o|0,s)+e|0}kn(On,An),On.prototype._update=function(){for(var t=Tn,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);var r=this._a,i=this._b,n=this._c,o=this._d;r=xn(r,i,n,o,t[0],3614090360,7),o=xn(o,r,i,n,t[1],3905402710,12),n=xn(n,o,r,i,t[2],606105819,17),i=xn(i,n,o,r,t[3],3250441966,22),r=xn(r,i,n,o,t[4],4118548399,7),o=xn(o,r,i,n,t[5],1200080426,12),n=xn(n,o,r,i,t[6],2821735955,17),i=xn(i,n,o,r,t[7],4249261313,22),r=xn(r,i,n,o,t[8],1770035416,7),o=xn(o,r,i,n,t[9],2336552879,12),n=xn(n,o,r,i,t[10],4294925233,17),i=xn(i,n,o,r,t[11],2304563134,22),r=xn(r,i,n,o,t[12],1804603682,7),o=xn(o,r,i,n,t[13],4254626195,12),n=xn(n,o,r,i,t[14],2792965006,17),r=Bn(r,i=xn(i,n,o,r,t[15],1236535329,22),n,o,t[1],4129170786,5),o=Bn(o,r,i,n,t[6],3225465664,9),n=Bn(n,o,r,i,t[11],643717713,14),i=Bn(i,n,o,r,t[0],3921069994,20),r=Bn(r,i,n,o,t[5],3593408605,5),o=Bn(o,r,i,n,t[10],38016083,9),n=Bn(n,o,r,i,t[15],3634488961,14),i=Bn(i,n,o,r,t[4],3889429448,20),r=Bn(r,i,n,o,t[9],568446438,5),o=Bn(o,r,i,n,t[14],3275163606,9),n=Bn(n,o,r,i,t[3],4107603335,14),i=Bn(i,n,o,r,t[8],1163531501,20),r=Bn(r,i,n,o,t[13],2850285829,5),o=Bn(o,r,i,n,t[2],4243563512,9),n=Bn(n,o,r,i,t[7],1735328473,14),r=Rn(r,i=Bn(i,n,o,r,t[12],2368359562,20),n,o,t[5],4294588738,4),o=Rn(o,r,i,n,t[8],2272392833,11),n=Rn(n,o,r,i,t[11],1839030562,16),i=Rn(i,n,o,r,t[14],4259657740,23),r=Rn(r,i,n,o,t[1],2763975236,4),o=Rn(o,r,i,n,t[4],1272893353,11),n=Rn(n,o,r,i,t[7],4139469664,16),i=Rn(i,n,o,r,t[10],3200236656,23),r=Rn(r,i,n,o,t[13],681279174,4),o=Rn(o,r,i,n,t[0],3936430074,11),n=Rn(n,o,r,i,t[3],3572445317,16),i=Rn(i,n,o,r,t[6],76029189,23),r=Rn(r,i,n,o,t[9],3654602809,4),o=Rn(o,r,i,n,t[12],3873151461,11),n=Rn(n,o,r,i,t[15],530742520,16),r=Nn(r,i=Rn(i,n,o,r,t[2],3299628645,23),n,o,t[0],4096336452,6),o=Nn(o,r,i,n,t[7],1126891415,10),n=Nn(n,o,r,i,t[14],2878612391,15),i=Nn(i,n,o,r,t[5],4237533241,21),r=Nn(r,i,n,o,t[12],1700485571,6),o=Nn(o,r,i,n,t[3],2399980690,10),n=Nn(n,o,r,i,t[10],4293915773,15),i=Nn(i,n,o,r,t[1],2240044497,21),r=Nn(r,i,n,o,t[8],1873313359,6),o=Nn(o,r,i,n,t[15],4264355552,10),n=Nn(n,o,r,i,t[6],2734768916,15),i=Nn(i,n,o,r,t[13],1309151649,21),r=Nn(r,i,n,o,t[4],4149444226,6),o=Nn(o,r,i,n,t[11],3174756917,10),n=Nn(n,o,r,i,t[2],718787259,15),i=Nn(i,n,o,r,t[9],3951481745,21),this._a=this._a+r|0,this._b=this._b+i|0,this._c=this._c+n|0,this._d=this._d+o|0},On.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=In.allocUnsafe(16);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t};var Un=On,Cn=Bt.Buffer,Ln=Pt.exports,Dn=En,jn=new Array(16),Hn=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],qn=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],Kn=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],Fn=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],zn=[0,1518500249,1859775393,2400959708,2840853838],Wn=[1352829926,1548603684,1836072691,2053994217,0];function Vn(){Dn.call(this,64),this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520}function Zn(t,e){return t<<e|t>>>32-e}function Gn(t,e,r,i,n,o,s,h){return Zn(t+(e^r^i)+o+s|0,h)+n|0}function $n(t,e,r,i,n,o,s,h){return Zn(t+(e&r|~e&i)+o+s|0,h)+n|0}function Xn(t,e,r,i,n,o,s,h){return Zn(t+((e|~r)^i)+o+s|0,h)+n|0}function Yn(t,e,r,i,n,o,s,h){return Zn(t+(e&i|r&~i)+o+s|0,h)+n|0}function Jn(t,e,r,i,n,o,s,h){return Zn(t+(e^(r|~i))+o+s|0,h)+n|0}Ln(Vn,Dn),Vn.prototype._update=function(){for(var t=jn,e=0;e<16;++e)t[e]=this._block.readInt32LE(4*e);for(var r=0|this._a,i=0|this._b,n=0|this._c,o=0|this._d,s=0|this._e,h=0|this._a,a=0|this._b,u=0|this._c,f=0|this._d,l=0|this._e,c=0;c<80;c+=1){var d,p;c<16?(d=Gn(r,i,n,o,s,t[Hn[c]],zn[0],Kn[c]),p=Jn(h,a,u,f,l,t[qn[c]],Wn[0],Fn[c])):c<32?(d=$n(r,i,n,o,s,t[Hn[c]],zn[1],Kn[c]),p=Yn(h,a,u,f,l,t[qn[c]],Wn[1],Fn[c])):c<48?(d=Xn(r,i,n,o,s,t[Hn[c]],zn[2],Kn[c]),p=Xn(h,a,u,f,l,t[qn[c]],Wn[2],Fn[c])):c<64?(d=Yn(r,i,n,o,s,t[Hn[c]],zn[3],Kn[c]),p=$n(h,a,u,f,l,t[qn[c]],Wn[3],Fn[c])):(d=Jn(r,i,n,o,s,t[Hn[c]],zn[4],Kn[c]),p=Gn(h,a,u,f,l,t[qn[c]],Wn[4],Fn[c])),r=s,s=o,o=Zn(n,10),n=i,i=d,h=l,l=f,f=Zn(u,10),u=a,a=p}var m=this._b+n+f|0;this._b=this._c+o+l|0,this._c=this._d+s+h|0,this._d=this._e+r+a|0,this._e=this._a+i+u|0,this._a=m},Vn.prototype._digest=function(){this._block[this._blockOffset++]=128,this._blockOffset>56&&(this._block.fill(0,this._blockOffset,64),this._update(),this._blockOffset=0),this._block.fill(0,this._blockOffset,56),this._block.writeUInt32LE(this._length[0],56),this._block.writeUInt32LE(this._length[1],60),this._update();var t=Cn.alloc?Cn.alloc(20):new Cn(20);return t.writeInt32LE(this._a,0),t.writeInt32LE(this._b,4),t.writeInt32LE(this._c,8),t.writeInt32LE(this._d,12),t.writeInt32LE(this._e,16),t};var Qn=Vn,to={exports:{}},eo=xt.exports.Buffer;function ro(t,e){this._block=eo.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}ro.prototype.update=function(t,e){"string"==typeof t&&(e=e||"utf8",t=eo.from(t,e));for(var r=this._block,i=this._blockSize,n=t.length,o=this._len,s=0;s<n;){for(var h=o%i,a=Math.min(n-s,i-h),u=0;u<a;u++)r[h+u]=t[s+u];s+=a,(o+=a)%i==0&&this._update(r)}return this._len+=n,this},ro.prototype.digest=function(t){var e=this._len%this._blockSize;this._block[e]=128,this._block.fill(0,e+1),e>=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=8*this._len;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var i=(4294967295&r)>>>0,n=(r-i)/4294967296;this._block.writeUInt32BE(n,this._blockSize-8),this._block.writeUInt32BE(i,this._blockSize-4)}this._update(this._block);var o=this._hash();return t?o.toString(t):o},ro.prototype._update=function(){throw new Error("_update must be implemented by subclass")};var io=ro,no=Pt.exports,oo=io,so=xt.exports.Buffer,ho=[1518500249,1859775393,-1894007588,-899497514],ao=new Array(80);function uo(){this.init(),this._w=ao,oo.call(this,64,56)}function fo(t){return t<<30|t>>>2}function lo(t,e,r,i){return 0===t?e&r|~e&i:2===t?e&r|e&i|r&i:e^r^i}no(uo,oo),uo.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},uo.prototype._update=function(t){for(var e,r=this._w,i=0|this._a,n=0|this._b,o=0|this._c,s=0|this._d,h=0|this._e,a=0;a<16;++a)r[a]=t.readInt32BE(4*a);for(;a<80;++a)r[a]=r[a-3]^r[a-8]^r[a-14]^r[a-16];for(var u=0;u<80;++u){var f=~~(u/20),l=0|((e=i)<<5|e>>>27)+lo(f,n,o,s)+h+r[u]+ho[f];h=s,s=o,o=fo(n),n=i,i=l}this._a=i+this._a|0,this._b=n+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=h+this._e|0},uo.prototype._hash=function(){var t=so.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t};var co=uo,po=Pt.exports,mo=io,go=xt.exports.Buffer,yo=[1518500249,1859775393,-1894007588,-899497514],vo=new Array(80);function bo(){this.init(),this._w=vo,mo.call(this,64,56)}function wo(t){return t<<5|t>>>27}function Mo(t){return t<<30|t>>>2}function _o(t,e,r,i){return 0===t?e&r|~e&i:2===t?e&r|e&i|r&i:e^r^i}po(bo,mo),bo.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this},bo.prototype._update=function(t){for(var e,r=this._w,i=0|this._a,n=0|this._b,o=0|this._c,s=0|this._d,h=0|this._e,a=0;a<16;++a)r[a]=t.readInt32BE(4*a);for(;a<80;++a)r[a]=(e=r[a-3]^r[a-8]^r[a-14]^r[a-16])<<1|e>>>31;for(var u=0;u<80;++u){var f=~~(u/20),l=wo(i)+_o(f,n,o,s)+h+r[u]+yo[f]|0;h=s,s=o,o=Mo(n),n=i,i=l}this._a=i+this._a|0,this._b=n+this._b|0,this._c=o+this._c|0,this._d=s+this._d|0,this._e=h+this._e|0},bo.prototype._hash=function(){var t=go.allocUnsafe(20);return t.writeInt32BE(0|this._a,0),t.writeInt32BE(0|this._b,4),t.writeInt32BE(0|this._c,8),t.writeInt32BE(0|this._d,12),t.writeInt32BE(0|this._e,16),t};var So=bo,Eo=Pt.exports,ko=io,Ao=xt.exports.Buffer,Io=[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],To=new Array(64);function Oo(){this.init(),this._w=To,ko.call(this,64,56)}function Po(t,e,r){return r^t&(e^r)}function xo(t,e,r){return t&e|r&(t|e)}function Bo(t){return(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10)}function Ro(t){return(t>>>6|t<<26)^(t>>>11|t<<21)^(t>>>25|t<<7)}function No(t){return(t>>>7|t<<25)^(t>>>18|t<<14)^t>>>3}function Uo(t){return(t>>>17|t<<15)^(t>>>19|t<<13)^t>>>10}Eo(Oo,ko),Oo.prototype.init=function(){return this._a=1779033703,this._b=3144134277,this._c=1013904242,this._d=2773480762,this._e=1359893119,this._f=2600822924,this._g=528734635,this._h=1541459225,this},Oo.prototype._update=function(t){for(var e=this._w,r=0|this._a,i=0|this._b,n=0|this._c,o=0|this._d,s=0|this._e,h=0|this._f,a=0|this._g,u=0|this._h,f=0;f<16;++f)e[f]=t.readInt32BE(4*f);for(;f<64;++f)e[f]=Uo(e[f-2])+e[f-7]+No(e[f-15])+e[f-16]|0;for(var l=0;l<64;++l){var c=u+Ro(s)+Po(s,h,a)+Io[l]+e[l]|0,d=Bo(r)+xo(r,i,n)|0;u=a,a=h,h=s,s=o+c|0,o=n,n=i,i=r,r=c+d|0}this._a=r+this._a|0,this._b=i+this._b|0,this._c=n+this._c|0,this._d=o+this._d|0,this._e=s+this._e|0,this._f=h+this._f|0,this._g=a+this._g|0,this._h=u+this._h|0},Oo.prototype._hash=function(){var t=Ao.allocUnsafe(32);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t.writeInt32BE(this._h,28),t};var Co=Oo,Lo=Pt.exports,Do=Co,jo=io,Ho=xt.exports.Buffer,qo=new Array(64);function Ko(){this.init(),this._w=qo,jo.call(this,64,56)}Lo(Ko,Do),Ko.prototype.init=function(){return this._a=3238371032,this._b=914150663,this._c=812702999,this._d=4144912697,this._e=4290775857,this._f=1750603025,this._g=1694076839,this._h=3204075428,this},Ko.prototype._hash=function(){var t=Ho.allocUnsafe(28);return t.writeInt32BE(this._a,0),t.writeInt32BE(this._b,4),t.writeInt32BE(this._c,8),t.writeInt32BE(this._d,12),t.writeInt32BE(this._e,16),t.writeInt32BE(this._f,20),t.writeInt32BE(this._g,24),t};var Fo=Ko,zo=Pt.exports,Wo=io,Vo=xt.exports.Buffer,Zo=[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],Go=new Array(160);function $o(){this.init(),this._w=Go,Wo.call(this,128,112)}function Xo(t,e,r){return r^t&(e^r)}function Yo(t,e,r){return t&e|r&(t|e)}function Jo(t,e){return(t>>>28|e<<4)^(e>>>2|t<<30)^(e>>>7|t<<25)}function Qo(t,e){return(t>>>14|e<<18)^(t>>>18|e<<14)^(e>>>9|t<<23)}function ts(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^t>>>7}function es(t,e){return(t>>>1|e<<31)^(t>>>8|e<<24)^(t>>>7|e<<25)}function rs(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^t>>>6}function is(t,e){return(t>>>19|e<<13)^(e>>>29|t<<3)^(t>>>6|e<<26)}function ns(t,e){return t>>>0<e>>>0?1:0}zo($o,Wo),$o.prototype.init=function(){return this._ah=1779033703,this._bh=3144134277,this._ch=1013904242,this._dh=2773480762,this._eh=1359893119,this._fh=2600822924,this._gh=528734635,this._hh=1541459225,this._al=4089235720,this._bl=2227873595,this._cl=4271175723,this._dl=1595750129,this._el=2917565137,this._fl=725511199,this._gl=4215389547,this._hl=327033209,this},$o.prototype._update=function(t){for(var e=this._w,r=0|this._ah,i=0|this._bh,n=0|this._ch,o=0|this._dh,s=0|this._eh,h=0|this._fh,a=0|this._gh,u=0|this._hh,f=0|this._al,l=0|this._bl,c=0|this._cl,d=0|this._dl,p=0|this._el,m=0|this._fl,g=0|this._gl,y=0|this._hl,v=0;v<32;v+=2)e[v]=t.readInt32BE(4*v),e[v+1]=t.readInt32BE(4*v+4);for(;v<160;v+=2){var b=e[v-30],w=e[v-30+1],M=ts(b,w),_=es(w,b),S=rs(b=e[v-4],w=e[v-4+1]),E=is(w,b),k=e[v-14],A=e[v-14+1],I=e[v-32],T=e[v-32+1],O=_+A|0,P=M+k+ns(O,_)|0;P=(P=P+S+ns(O=O+E|0,E)|0)+I+ns(O=O+T|0,T)|0,e[v]=P,e[v+1]=O}for(var x=0;x<160;x+=2){P=e[x],O=e[x+1];var B=Yo(r,i,n),R=Yo(f,l,c),N=Jo(r,f),U=Jo(f,r),C=Qo(s,p),L=Qo(p,s),D=Zo[x],j=Zo[x+1],H=Xo(s,h,a),q=Xo(p,m,g),K=y+L|0,F=u+C+ns(K,y)|0;F=(F=(F=F+H+ns(K=K+q|0,q)|0)+D+ns(K=K+j|0,j)|0)+P+ns(K=K+O|0,O)|0;var z=U+R|0,W=N+B+ns(z,U)|0;u=a,y=g,a=h,g=m,h=s,m=p,s=o+F+ns(p=d+K|0,d)|0,o=n,d=c,n=i,c=l,i=r,l=f,r=F+W+ns(f=K+z|0,K)|0}this._al=this._al+f|0,this._bl=this._bl+l|0,this._cl=this._cl+c|0,this._dl=this._dl+d|0,this._el=this._el+p|0,this._fl=this._fl+m|0,this._gl=this._gl+g|0,this._hl=this._hl+y|0,this._ah=this._ah+r+ns(this._al,f)|0,this._bh=this._bh+i+ns(this._bl,l)|0,this._ch=this._ch+n+ns(this._cl,c)|0,this._dh=this._dh+o+ns(this._dl,d)|0,this._eh=this._eh+s+ns(this._el,p)|0,this._fh=this._fh+h+ns(this._fl,m)|0,this._gh=this._gh+a+ns(this._gl,g)|0,this._hh=this._hh+u+ns(this._hl,y)|0},$o.prototype._hash=function(){var t=Vo.allocUnsafe(64);function e(e,r,i){t.writeInt32BE(e,i),t.writeInt32BE(r,i+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),e(this._gh,this._gl,48),e(this._hh,this._hl,56),t};var os=$o,ss=Pt.exports,hs=os,as=io,us=xt.exports.Buffer,fs=new Array(160);function ls(){this.init(),this._w=fs,as.call(this,128,112)}ss(ls,hs),ls.prototype.init=function(){return this._ah=3418070365,this._bh=1654270250,this._ch=2438529370,this._dh=355462360,this._eh=1731405415,this._fh=2394180231,this._gh=3675008525,this._hh=1203062813,this._al=3238371032,this._bl=914150663,this._cl=812702999,this._dl=4144912697,this._el=4290775857,this._fl=1750603025,this._gl=1694076839,this._hl=3204075428,this},ls.prototype._hash=function(){var t=us.allocUnsafe(48);function e(e,r,i){t.writeInt32BE(e,i),t.writeInt32BE(r,i+4)}return e(this._ah,this._al,0),e(this._bh,this._bl,8),e(this._ch,this._cl,16),e(this._dh,this._dl,24),e(this._eh,this._el,32),e(this._fh,this._fl,40),t};var cs=ls,ds=to.exports=function(t){t=t.toLowerCase();var e=ds[t];if(!e)throw new Error(t+" is not supported (we accept pull requests)");return new e};ds.sha=co,ds.sha1=So,ds.sha224=Fo,ds.sha256=Co,ds.sha384=cs,ds.sha512=os;var ps=xt.exports.Buffer,ms=Ft.exports.Transform,gs=Je.StringDecoder;function ys(t){ms.call(this),this.hashMode="string"==typeof t,this.hashMode?this[t]=this._finalOrDigest:this.final=this._finalOrDigest,this._final&&(this.__final=this._final,this._final=null),this._decoder=null,this._encoding=null}(0,Pt.exports)(ys,ms),ys.prototype.update=function(t,e,r){"string"==typeof t&&(t=ps.from(t,e));var i=this._update(t);return this.hashMode?this:(r&&(i=this._toString(i,r)),i)},ys.prototype.setAutoPadding=function(){},ys.prototype.getAuthTag=function(){throw new Error("trying to get auth tag in unsupported state")},ys.prototype.setAuthTag=function(){throw new Error("trying to set auth tag in unsupported state")},ys.prototype.setAAD=function(){throw new Error("trying to set aad in unsupported state")},ys.prototype._transform=function(t,e,r){var i;try{this.hashMode?this._update(t):this.push(this._update(t))}catch(t){i=t}finally{r(i)}},ys.prototype._flush=function(t){var e;try{this.push(this.__final())}catch(t){e=t}t(e)},ys.prototype._finalOrDigest=function(t){var e=this.__final()||ps.alloc(0);return t&&(e=this._toString(e,t,!0)),e},ys.prototype._toString=function(t,e,r){if(this._decoder||(this._decoder=new gs(e),this._encoding=e),this._encoding!==e)throw new Error("can't switch encodings");var i=this._decoder.write(t);return r&&(i+=this._decoder.end()),i};var vs=ys,bs=Pt.exports,ws=Un,Ms=Qn,_s=to.exports,Ss=vs;function Es(t){Ss.call(this,"digest"),this._hash=t}bs(Es,Ss),Es.prototype._update=function(t){this._hash.update(t)},Es.prototype._final=function(){return this._hash.digest()};var ks=function(t){return"md5"===(t=t.toLowerCase())?new ws:"rmd160"===t||"ripemd160"===t?new Ms:new Es(_s(t))},As=Pt.exports,Is=xt.exports.Buffer,Ts=vs,Os=Is.alloc(128);function Ps(t,e){Ts.call(this,"digest"),"string"==typeof e&&(e=Is.from(e)),this._alg=t,this._key=e,e.length>64?e=t(e):e.length<64&&(e=Is.concat([e,Os],64));for(var r=this._ipad=Is.allocUnsafe(64),i=this._opad=Is.allocUnsafe(64),n=0;n<64;n++)r[n]=54^e[n],i[n]=92^e[n];this._hash=[r]}As(Ps,Ts),Ps.prototype._update=function(t){this._hash.push(t)},Ps.prototype._final=function(){var t=this._alg(Is.concat(this._hash));return this._alg(Is.concat([this._opad,t]))};var xs=Ps,Bs=Un,Rs=function(t){return(new Bs).update(t).digest()},Ns=Pt.exports,Us=xs,Cs=vs,Ls=xt.exports.Buffer,Ds=Rs,js=Qn,Hs=to.exports,qs=Ls.alloc(128);function Ks(t,e){Cs.call(this,"digest"),"string"==typeof e&&(e=Ls.from(e));var r="sha512"===t||"sha384"===t?128:64;(this._alg=t,this._key=e,e.length>r)?e=("rmd160"===t?new js:Hs(t)).update(e).digest():e.length<r&&(e=Ls.concat([e,qs],r));for(var i=this._ipad=Ls.allocUnsafe(r),n=this._opad=Ls.allocUnsafe(r),o=0;o<r;o++)i[o]=54^e[o],n[o]=92^e[o];this._hash="rmd160"===t?new js:Hs(t),this._hash.update(i)}Ns(Ks,Cs),Ks.prototype._update=function(t){this._hash.update(t)},Ks.prototype._final=function(){var t=this._hash.digest();return("rmd160"===this._alg?new js:Hs(this._alg)).update(this._opad).update(t).digest()};var Fs=function(t,e){return"rmd160"===(t=t.toLowerCase())||"ripemd160"===t?new Ks("rmd160",e):"md5"===t?new Us(Ds,e):new Ks(t,e)};Object.defineProperty(Ot,"__esModule",{value:!0});const zs=ks,Ws=Fs;Ot.hash160=function(t){const e=zs("sha256").update(t).digest();try{return zs("rmd160").update(e).digest()}catch(t){return zs("ripemd160").update(e).digest()}},Ot.hmacSHA512=function(t,e){return Ws("sha512",t).update(e).digest()};var Vs=xt.exports.Buffer;var Zs=function(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),r=0;r<e.length;r++)e[r]=255;for(var i=0;i<t.length;i++){var n=t.charAt(i),o=n.charCodeAt(0);if(255!==e[o])throw new TypeError(n+" is ambiguous");e[o]=i}var s=t.length,h=t.charAt(0),a=Math.log(s)/Math.log(256),u=Math.log(256)/Math.log(s);function f(t){if("string"!=typeof t)throw new TypeError("Expected String");if(0===t.length)return Vs.alloc(0);var r=0;if(" "!==t[r]){for(var i=0,n=0;t[r]===h;)i++,r++;for(var o=(t.length-r)*a+1>>>0,u=new Uint8Array(o);t[r];){var f=e[t.charCodeAt(r)];if(255===f)return;for(var l=0,c=o-1;(0!==f||l<n)&&-1!==c;c--,l++)f+=s*u[c]>>>0,u[c]=f%256>>>0,f=f/256>>>0;if(0!==f)throw new Error("Non-zero carry");n=l,r++}if(" "!==t[r]){for(var d=o-n;d!==o&&0===u[d];)d++;var p=Vs.allocUnsafe(i+(o-d));p.fill(0,0,i);for(var m=i;d!==o;)p[m++]=u[d++];return p}}}return{encode:function(e){if((Array.isArray(e)||e instanceof Uint8Array)&&(e=Vs.from(e)),!Vs.isBuffer(e))throw new TypeError("Expected Buffer");if(0===e.length)return"";for(var r=0,i=0,n=0,o=e.length;n!==o&&0===e[n];)n++,r++;for(var a=(o-n)*u+1>>>0,f=new Uint8Array(a);n!==o;){for(var l=e[n],c=0,d=a-1;(0!==l||c<i)&&-1!==d;d--,c++)l+=256*f[d]>>>0,f[d]=l%s>>>0,l=l/s>>>0;if(0!==l)throw new Error("Non-zero carry");i=c,n++}for(var p=a-i;p!==a&&0===f[p];)p++;for(var m=h.repeat(r);p<a;++p)m+=t.charAt(f[p]);return m},decodeUnsafe:f,decode:function(t){var e=f(t);if(e)return e;throw new Error("Non-base"+s+" character")}}}("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz"),Gs=xt.exports.Buffer,$s=ks;var Xs=function(t){function e(e){var r=e.slice(0,-4),i=e.slice(-4),n=t(r);if(!(i[0]^n[0]|i[1]^n[1]|i[2]^n[2]|i[3]^n[3]))return r}return{encode:function(e){var r=t(e);return Zs.encode(Gs.concat([e,r],e.length+4))},decode:function(t){var r=e(Zs.decode(t));if(!r)throw new Error("Invalid checksum");return r},decodeUnsafe:function(t){var r=Zs.decodeUnsafe(t);if(r)return e(r)}}}((function(t){var e=$s("sha256").update(t).digest();return $s("sha256").update(e).digest()})),Ys={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Re.Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s<o;s++){var h=t.charCodeAt(s)-48;n*=i,n+=h>=49?h-49+10:h>=17?h-17+10:h}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?u[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);i=(p=p.idivn(d)).isZero()?m+i:u[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,h,a="le"===e,u=new t(o),f=this.clone();if(a){for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[h]=s;for(;h<o;h++)u[h]=0}else{for(h=0;h<o-n;h++)u[h]=0;for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[o-h-1]=s}return u},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this.strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=c),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?c(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e)},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i<t;i++)e[i]=this.revBin(i,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var i=0,n=0;n<e;n++)i|=(1&t)<<e-n-1,t>>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s<o;s++)i[s]=e[t[s]],n[s]=r[t[s]]},m.prototype.transform=function(t,e,r,i,n,o){this.permute(o,t,e,r,i,n);for(var s=1;s<n;s<<=1)for(var h=s<<1,a=Math.cos(2*Math.PI/h),u=Math.sin(2*Math.PI/h),f=0;f<n;f+=h)for(var l=a,c=u,d=0;d<s;d++){var p=r[f+d],m=i[f+d],g=r[f+d+s],y=i[f+d+s],v=l*g-c*y;y=l*y+c*g,g=v,r[f+d]=p+g,i[f+d]=m+y,r[f+d+s]=p-g,i[f+d+s]=m-y,d!==h&&(v=a*l-u*c,c=a*c+u*l,l=v)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=t[i];t[i]=t[r-i-1],t[r-i-1]=n,n=e[i],e[i]=-e[r-i-1],e[r-i-1]=-n}},m.prototype.normalize13b=function(t,e){for(var r=0,i=0;i<e/2;i++){var n=8192*Math.round(t[2*i+1]/e)+Math.round(t[2*i]/e)+r;t[i]=67108863&n,r=n<67108864?0:n/67108864|0}return t},m.prototype.convert13b=function(t,e,i,n){for(var o=0,s=0;s<e;s++)o+=0|t[s],i[2*s]=8191&o,o>>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<n;++s)i[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var i=2*this.guessLen13b(t.length,e.length),n=this.makeRBT(i),o=this.stub(i),s=new Array(i),h=new Array(i),a=new Array(i),u=new Array(i),f=new Array(i),l=new Array(i),c=r.words;c.length=i,this.convert13b(t.words,t.length,s,i),this.convert13b(e.words,e.length,u,i),this.transform(s,o,h,a,i,n),this.transform(u,o,f,l,i,n);for(var d=0;d<i;d++){var p=h[d]*f[d]-a[d]*l[d];a[d]=h[d]*l[d]+a[d]*f[d],h[d]=p}return this.conjugate(h,a,i),this.transform(h,a,c,o,i,n),this.conjugate(c,o,i),this.normalize13b(c,i),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),p(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,i=0;i<this.length;i++){var n=(0|this.words[i])*t,o=(67108863&n)+(67108863&e);e>>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=(t.words[i]&1<<n)>>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this.strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,y),i(w,y),i(M,y),M.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new S(t)},i(S,_),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(Ys,A);var Js={},Qs="6.5.4",th={},eh={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Re.Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s<o;s++){var h=t.charCodeAt(s)-48;n*=i,n+=h>=49?h-49+10:h>=17?h-17+10:h}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?u[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);i=(p=p.idivn(d)).isZero()?m+i:u[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,h,a="le"===e,u=new t(o),f=this.clone();if(a){for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[h]=s;for(;h<o;h++)u[h]=0}else{for(h=0;h<o-n;h++)u[h]=0;for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[o-h-1]=s}return u},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this.strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=c),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?c(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e)},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i<t;i++)e[i]=this.revBin(i,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var i=0,n=0;n<e;n++)i|=(1&t)<<e-n-1,t>>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s<o;s++)i[s]=e[t[s]],n[s]=r[t[s]]},m.prototype.transform=function(t,e,r,i,n,o){this.permute(o,t,e,r,i,n);for(var s=1;s<n;s<<=1)for(var h=s<<1,a=Math.cos(2*Math.PI/h),u=Math.sin(2*Math.PI/h),f=0;f<n;f+=h)for(var l=a,c=u,d=0;d<s;d++){var p=r[f+d],m=i[f+d],g=r[f+d+s],y=i[f+d+s],v=l*g-c*y;y=l*y+c*g,g=v,r[f+d]=p+g,i[f+d]=m+y,r[f+d+s]=p-g,i[f+d+s]=m-y,d!==h&&(v=a*l-u*c,c=a*c+u*l,l=v)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=t[i];t[i]=t[r-i-1],t[r-i-1]=n,n=e[i],e[i]=-e[r-i-1],e[r-i-1]=-n}},m.prototype.normalize13b=function(t,e){for(var r=0,i=0;i<e/2;i++){var n=8192*Math.round(t[2*i+1]/e)+Math.round(t[2*i]/e)+r;t[i]=67108863&n,r=n<67108864?0:n/67108864|0}return t},m.prototype.convert13b=function(t,e,i,n){for(var o=0,s=0;s<e;s++)o+=0|t[s],i[2*s]=8191&o,o>>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<n;++s)i[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var i=2*this.guessLen13b(t.length,e.length),n=this.makeRBT(i),o=this.stub(i),s=new Array(i),h=new Array(i),a=new Array(i),u=new Array(i),f=new Array(i),l=new Array(i),c=r.words;c.length=i,this.convert13b(t.words,t.length,s,i),this.convert13b(e.words,e.length,u,i),this.transform(s,o,h,a,i,n),this.transform(u,o,f,l,i,n);for(var d=0;d<i;d++){var p=h[d]*f[d]-a[d]*l[d];a[d]=h[d]*l[d]+a[d]*f[d],h[d]=p}return this.conjugate(h,a,i),this.transform(h,a,c,o,i,n),this.conjugate(c,o,i),this.normalize13b(c,i),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),p(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,i=0;i<this.length;i++){var n=(0|this.words[i])*t,o=(67108863&n)+(67108863&e);e>>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=(t.words[i]&1<<n)>>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this.strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,y),i(w,y),i(M,y),M.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new S(t)},i(S,_),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(eh,A);var rh=ih;function ih(t,e){if(!t)throw new Error(e||"Assertion failed")}ih.equal=function(t,e,r){if(t!=e)throw new Error(r||"Assertion failed: "+t+" != "+e)};var nh={};let oh;!function(t){var e=nh;function r(t){return 1===t.length?"0"+t:t}function i(t){for(var e="",i=0;i<t.length;i++)e+=r(t[i].toString(16));return e}e.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"!=typeof t){for(var i=0;i<t.length;i++)r[i]=0|t[i];return r}if("hex"===e){(t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t);for(i=0;i<t.length;i+=2)r.push(parseInt(t[i]+t[i+1],16))}else for(i=0;i<t.length;i++){var n=t.charCodeAt(i),o=n>>8,s=255&n;o?r.push(o,s):r.push(s)}return r},e.zero2=r,e.toHex=i,e.encode=function(t,e){return"hex"===e?i(t):t}}(),function(t){var e=th,r=eh.exports,i=rh,n=nh;e.assert=i,e.toArray=n.toArray,e.zero2=n.zero2,e.toHex=n.toHex,e.encode=n.encode,e.getNAF=function(t,e,r){var i=new Array(Math.max(t.bitLength(),r)+1);i.fill(0);for(var n=1<<e+1,o=t.clone(),s=0;s<i.length;s++){var h,a=o.andln(n-1);o.isOdd()?(h=a>(n>>1)-1?(n>>1)-a:a,o.isubn(h)):h=0,i[s]=h,o.iushrn(1)}return i},e.getJSF=function(t,e){var r=[[],[]];t=t.clone(),e=e.clone();for(var i,n=0,o=0;t.cmpn(-n)>0||e.cmpn(-o)>0;){var s,h,a=t.andln(3)+n&3,u=e.andln(3)+o&3;3===a&&(a=-1),3===u&&(u=-1),s=0==(1&a)?0:3!==(i=t.andln(7)+n&7)&&5!==i||2!==u?a:-a,r[0].push(s),h=0==(1&u)?0:3!==(i=e.andln(7)+o&7)&&5!==i||2!==a?u:-u,r[1].push(h),2*n===s+1&&(n=1-n),2*o===h+1&&(o=1-o),t.iushrn(1),e.iushrn(1)}return r},e.cachedProperty=function(t,e,r){var i="_"+e;t.prototype[e]=function(){return void 0!==this[i]?this[i]:this[i]=r.call(this)}},e.parseBytes=function(t){return"string"==typeof t?e.toArray(t,"hex"):t},e.intFromLE=function(t){return new r(t,"hex","le")}}();class sh{constructor(t){this.rand=t}generate(t){return this._rand(t)}_rand(t){if(this.rand.getBytes)return this.rand.getBytes(t);const e=new Uint8Array(t);for(let t=0;t<e.length;t++)e[t]=this.rand.getByte();return e}}if("object"==typeof self)self.crypto&&self.crypto.getRandomValues?sh.prototype._rand=function(t){const e=new Uint8Array(t);return self.crypto.getRandomValues(e),e}:self.msCrypto&&self.msCrypto.getRandomValues?sh.prototype._rand=function(t){const e=new Uint8Array(t);return self.msCrypto.getRandomValues(e),e}:"object"==typeof window&&(sh.prototype._rand=function(){throw new Error("Not implemented yet")});else try{const t=require("crypto");if("function"!=typeof t.randomBytes)throw new Error("Not supported");sh.prototype._rand=function(e){return t.randomBytes(e)}}catch(t){}var hh=I(Object.freeze({__proto__:null,rand:function(t){return oh||(oh=new sh(null)),oh.generate(t)},Rand:sh})),ah={},uh=eh.exports,fh=th,lh=fh.getNAF,ch=fh.getJSF,dh=fh.assert;function ph(t,e){this.type=t,this.p=new uh(e.p,16),this.red=e.prime?uh.red(e.prime):uh.mont(this.p),this.zero=new uh(0).toRed(this.red),this.one=new uh(1).toRed(this.red),this.two=new uh(2).toRed(this.red),this.n=e.n&&new uh(e.n,16),this.g=e.g&&this.pointFromJSON(e.g,e.gRed),this._wnafT1=new Array(4),this._wnafT2=new Array(4),this._wnafT3=new Array(4),this._wnafT4=new Array(4),this._bitLength=this.n?this.n.bitLength():0;var r=this.n&&this.p.div(this.n);!r||r.cmpn(100)>0?this.redN=null:(this._maxwellTrick=!0,this.redN=this.n.toRed(this.red))}var mh=ph;function gh(t,e){this.curve=t,this.type=e,this.precomputed=null}ph.prototype.point=function(){throw new Error("Not implemented")},ph.prototype.validate=function(){throw new Error("Not implemented")},ph.prototype._fixedNafMul=function(t,e){dh(t.precomputed);var r=t._getDoubles(),i=lh(e,1,this._bitLength),n=(1<<r.step+1)-(r.step%2==0?2:1);n/=3;var o,s,h=[];for(o=0;o<i.length;o+=r.step){s=0;for(var a=o+r.step-1;a>=o;a--)s=(s<<1)+i[a];h.push(s)}for(var u=this.jpoint(null,null,null),f=this.jpoint(null,null,null),l=n;l>0;l--){for(o=0;o<h.length;o++)(s=h[o])===l?f=f.mixedAdd(r.points[o]):s===-l&&(f=f.mixedAdd(r.points[o].neg()));u=u.add(f)}return u.toP()},ph.prototype._wnafMul=function(t,e){var r=4,i=t._getNAFPoints(r);r=i.wnd;for(var n=i.points,o=lh(e,r,this._bitLength),s=this.jpoint(null,null,null),h=o.length-1;h>=0;h--){for(var a=0;h>=0&&0===o[h];h--)a++;if(h>=0&&a++,s=s.dblp(a),h<0)break;var u=o[h];dh(0!==u),s="affine"===t.type?u>0?s.mixedAdd(n[u-1>>1]):s.mixedAdd(n[-u-1>>1].neg()):u>0?s.add(n[u-1>>1]):s.add(n[-u-1>>1].neg())}return"affine"===t.type?s.toP():s},ph.prototype._wnafMulAdd=function(t,e,r,i,n){var o,s,h,a=this._wnafT1,u=this._wnafT2,f=this._wnafT3,l=0;for(o=0;o<i;o++){var c=(h=e[o])._getNAFPoints(t);a[o]=c.wnd,u[o]=c.points}for(o=i-1;o>=1;o-=2){var d=o-1,p=o;if(1===a[d]&&1===a[p]){var m=[e[d],null,null,e[p]];0===e[d].y.cmp(e[p].y)?(m[1]=e[d].add(e[p]),m[2]=e[d].toJ().mixedAdd(e[p].neg())):0===e[d].y.cmp(e[p].y.redNeg())?(m[1]=e[d].toJ().mixedAdd(e[p]),m[2]=e[d].add(e[p].neg())):(m[1]=e[d].toJ().mixedAdd(e[p]),m[2]=e[d].toJ().mixedAdd(e[p].neg()));var g=[-3,-1,-5,-7,0,7,5,1,3],y=ch(r[d],r[p]);for(l=Math.max(y[0].length,l),f[d]=new Array(l),f[p]=new Array(l),s=0;s<l;s++){var v=0|y[0][s],b=0|y[1][s];f[d][s]=g[3*(v+1)+(b+1)],f[p][s]=0,u[d]=m}}else f[d]=lh(r[d],a[d],this._bitLength),f[p]=lh(r[p],a[p],this._bitLength),l=Math.max(f[d].length,l),l=Math.max(f[p].length,l)}var w=this.jpoint(null,null,null),M=this._wnafT4;for(o=l;o>=0;o--){for(var _=0;o>=0;){var S=!0;for(s=0;s<i;s++)M[s]=0|f[s][o],0!==M[s]&&(S=!1);if(!S)break;_++,o--}if(o>=0&&_++,w=w.dblp(_),o<0)break;for(s=0;s<i;s++){var E=M[s];0!==E&&(E>0?h=u[s][E-1>>1]:E<0&&(h=u[s][-E-1>>1].neg()),w="affine"===h.type?w.mixedAdd(h):w.add(h))}}for(o=0;o<i;o++)u[o]=null;return n?w:w.toP()},ph.BasePoint=gh,gh.prototype.eq=function(){throw new Error("Not implemented")},gh.prototype.validate=function(){return this.curve.validate(this)},ph.prototype.decodePoint=function(t,e){t=fh.toArray(t,e);var r=this.p.byteLength();if((4===t[0]||6===t[0]||7===t[0])&&t.length-1==2*r)return 6===t[0]?dh(t[t.length-1]%2==0):7===t[0]&&dh(t[t.length-1]%2==1),this.point(t.slice(1,1+r),t.slice(1+r,1+2*r));if((2===t[0]||3===t[0])&&t.length-1===r)return this.pointFromX(t.slice(1,1+r),3===t[0]);throw new Error("Unknown point format")},gh.prototype.encodeCompressed=function(t){return this.encode(t,!0)},gh.prototype._encode=function(t){var e=this.curve.p.byteLength(),r=this.getX().toArray("be",e);return t?[this.getY().isEven()?2:3].concat(r):[4].concat(r,this.getY().toArray("be",e))},gh.prototype.encode=function(t,e){return fh.encode(this._encode(e),t)},gh.prototype.precompute=function(t){if(this.precomputed)return this;var e={doubles:null,naf:null,beta:null};return e.naf=this._getNAFPoints(8),e.doubles=this._getDoubles(4,t),e.beta=this._getBeta(),this.precomputed=e,this},gh.prototype._hasDoubles=function(t){if(!this.precomputed)return!1;var e=this.precomputed.doubles;return!!e&&e.points.length>=Math.ceil((t.bitLength()+1)/e.step)},gh.prototype._getDoubles=function(t,e){if(this.precomputed&&this.precomputed.doubles)return this.precomputed.doubles;for(var r=[this],i=this,n=0;n<e;n+=t){for(var o=0;o<t;o++)i=i.dbl();r.push(i)}return{step:t,points:r}},gh.prototype._getNAFPoints=function(t){if(this.precomputed&&this.precomputed.naf)return this.precomputed.naf;for(var e=[this],r=(1<<t)-1,i=1===r?null:this.dbl(),n=1;n<r;n++)e[n]=e[n-1].add(i);return{wnd:t,points:e}},gh.prototype._getBeta=function(){return null},gh.prototype.dblp=function(t){for(var e=this,r=0;r<t;r++)e=e.dbl();return e};var yh=th,vh=eh.exports,bh=Pt.exports,wh=mh,Mh=yh.assert;function _h(t){wh.call(this,"short",t),this.a=new vh(t.a,16).toRed(this.red),this.b=new vh(t.b,16).toRed(this.red),this.tinv=this.two.redInvm(),this.zeroA=0===this.a.fromRed().cmpn(0),this.threeA=0===this.a.fromRed().sub(this.p).cmpn(-3),this.endo=this._getEndomorphism(t),this._endoWnafT1=new Array(4),this._endoWnafT2=new Array(4)}bh(_h,wh);var Sh=_h;function Eh(t,e,r,i){wh.BasePoint.call(this,t,"affine"),null===e&&null===r?(this.x=null,this.y=null,this.inf=!0):(this.x=new vh(e,16),this.y=new vh(r,16),i&&(this.x.forceRed(this.curve.red),this.y.forceRed(this.curve.red)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.inf=!1)}function kh(t,e,r,i){wh.BasePoint.call(this,t,"jacobian"),null===e&&null===r&&null===i?(this.x=this.curve.one,this.y=this.curve.one,this.z=new vh(0)):(this.x=new vh(e,16),this.y=new vh(r,16),this.z=new vh(i,16)),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.zOne=this.z===this.curve.one}_h.prototype._getEndomorphism=function(t){if(this.zeroA&&this.g&&this.n&&1===this.p.modn(3)){var e,r;if(t.beta)e=new vh(t.beta,16).toRed(this.red);else{var i=this._getEndoRoots(this.p);e=(e=i[0].cmp(i[1])<0?i[0]:i[1]).toRed(this.red)}if(t.lambda)r=new vh(t.lambda,16);else{var n=this._getEndoRoots(this.n);0===this.g.mul(n[0]).x.cmp(this.g.x.redMul(e))?r=n[0]:(r=n[1],Mh(0===this.g.mul(r).x.cmp(this.g.x.redMul(e))))}return{beta:e,lambda:r,basis:t.basis?t.basis.map((function(t){return{a:new vh(t.a,16),b:new vh(t.b,16)}})):this._getEndoBasis(r)}}},_h.prototype._getEndoRoots=function(t){var e=t===this.p?this.red:vh.mont(t),r=new vh(2).toRed(e).redInvm(),i=r.redNeg(),n=new vh(3).toRed(e).redNeg().redSqrt().redMul(r);return[i.redAdd(n).fromRed(),i.redSub(n).fromRed()]},_h.prototype._getEndoBasis=function(t){for(var e,r,i,n,o,s,h,a,u,f=this.n.ushrn(Math.floor(this.n.bitLength()/2)),l=t,c=this.n.clone(),d=new vh(1),p=new vh(0),m=new vh(0),g=new vh(1),y=0;0!==l.cmpn(0);){var v=c.div(l);a=c.sub(v.mul(l)),u=m.sub(v.mul(d));var b=g.sub(v.mul(p));if(!i&&a.cmp(f)<0)e=h.neg(),r=d,i=a.neg(),n=u;else if(i&&2==++y)break;h=a,c=l,l=a,m=d,d=u,g=p,p=b}o=a.neg(),s=u;var w=i.sqr().add(n.sqr());return o.sqr().add(s.sqr()).cmp(w)>=0&&(o=e,s=r),i.negative&&(i=i.neg(),n=n.neg()),o.negative&&(o=o.neg(),s=s.neg()),[{a:i,b:n},{a:o,b:s}]},_h.prototype._endoSplit=function(t){var e=this.endo.basis,r=e[0],i=e[1],n=i.b.mul(t).divRound(this.n),o=r.b.neg().mul(t).divRound(this.n),s=n.mul(r.a),h=o.mul(i.a),a=n.mul(r.b),u=o.mul(i.b);return{k1:t.sub(s).sub(h),k2:a.add(u).neg()}},_h.prototype.pointFromX=function(t,e){(t=new vh(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr().redMul(t).redIAdd(t.redMul(this.a)).redIAdd(this.b),i=r.redSqrt();if(0!==i.redSqr().redSub(r).cmp(this.zero))throw new Error("invalid point");var n=i.fromRed().isOdd();return(e&&!n||!e&&n)&&(i=i.redNeg()),this.point(t,i)},_h.prototype.validate=function(t){if(t.inf)return!0;var e=t.x,r=t.y,i=this.a.redMul(e),n=e.redSqr().redMul(e).redIAdd(i).redIAdd(this.b);return 0===r.redSqr().redISub(n).cmpn(0)},_h.prototype._endoWnafMulAdd=function(t,e,r){for(var i=this._endoWnafT1,n=this._endoWnafT2,o=0;o<t.length;o++){var s=this._endoSplit(e[o]),h=t[o],a=h._getBeta();s.k1.negative&&(s.k1.ineg(),h=h.neg(!0)),s.k2.negative&&(s.k2.ineg(),a=a.neg(!0)),i[2*o]=h,i[2*o+1]=a,n[2*o]=s.k1,n[2*o+1]=s.k2}for(var u=this._wnafMulAdd(1,i,n,2*o,r),f=0;f<2*o;f++)i[f]=null,n[f]=null;return u},bh(Eh,wh.BasePoint),_h.prototype.point=function(t,e,r){return new Eh(this,t,e,r)},_h.prototype.pointFromJSON=function(t,e){return Eh.fromJSON(this,t,e)},Eh.prototype._getBeta=function(){if(this.curve.endo){var t=this.precomputed;if(t&&t.beta)return t.beta;var e=this.curve.point(this.x.redMul(this.curve.endo.beta),this.y);if(t){var r=this.curve,i=function(t){return r.point(t.x.redMul(r.endo.beta),t.y)};t.beta=e,e.precomputed={beta:null,naf:t.naf&&{wnd:t.naf.wnd,points:t.naf.points.map(i)},doubles:t.doubles&&{step:t.doubles.step,points:t.doubles.points.map(i)}}}return e}},Eh.prototype.toJSON=function(){return this.precomputed?[this.x,this.y,this.precomputed&&{doubles:this.precomputed.doubles&&{step:this.precomputed.doubles.step,points:this.precomputed.doubles.points.slice(1)},naf:this.precomputed.naf&&{wnd:this.precomputed.naf.wnd,points:this.precomputed.naf.points.slice(1)}}]:[this.x,this.y]},Eh.fromJSON=function(t,e,r){"string"==typeof e&&(e=JSON.parse(e));var i=t.point(e[0],e[1],r);if(!e[2])return i;function n(e){return t.point(e[0],e[1],r)}var o=e[2];return i.precomputed={beta:null,doubles:o.doubles&&{step:o.doubles.step,points:[i].concat(o.doubles.points.map(n))},naf:o.naf&&{wnd:o.naf.wnd,points:[i].concat(o.naf.points.map(n))}},i},Eh.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+">"},Eh.prototype.isInfinity=function(){return this.inf},Eh.prototype.add=function(t){if(this.inf)return t;if(t.inf)return this;if(this.eq(t))return this.dbl();if(this.neg().eq(t))return this.curve.point(null,null);if(0===this.x.cmp(t.x))return this.curve.point(null,null);var e=this.y.redSub(t.y);0!==e.cmpn(0)&&(e=e.redMul(this.x.redSub(t.x).redInvm()));var r=e.redSqr().redISub(this.x).redISub(t.x),i=e.redMul(this.x.redSub(r)).redISub(this.y);return this.curve.point(r,i)},Eh.prototype.dbl=function(){if(this.inf)return this;var t=this.y.redAdd(this.y);if(0===t.cmpn(0))return this.curve.point(null,null);var e=this.curve.a,r=this.x.redSqr(),i=t.redInvm(),n=r.redAdd(r).redIAdd(r).redIAdd(e).redMul(i),o=n.redSqr().redISub(this.x.redAdd(this.x)),s=n.redMul(this.x.redSub(o)).redISub(this.y);return this.curve.point(o,s)},Eh.prototype.getX=function(){return this.x.fromRed()},Eh.prototype.getY=function(){return this.y.fromRed()},Eh.prototype.mul=function(t){return t=new vh(t,16),this.isInfinity()?this:this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve.endo?this.curve._endoWnafMulAdd([this],[t]):this.curve._wnafMul(this,t)},Eh.prototype.mulAdd=function(t,e,r){var i=[this,e],n=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n):this.curve._wnafMulAdd(1,i,n,2)},Eh.prototype.jmulAdd=function(t,e,r){var i=[this,e],n=[t,r];return this.curve.endo?this.curve._endoWnafMulAdd(i,n,!0):this.curve._wnafMulAdd(1,i,n,2,!0)},Eh.prototype.eq=function(t){return this===t||this.inf===t.inf&&(this.inf||0===this.x.cmp(t.x)&&0===this.y.cmp(t.y))},Eh.prototype.neg=function(t){if(this.inf)return this;var e=this.curve.point(this.x,this.y.redNeg());if(t&&this.precomputed){var r=this.precomputed,i=function(t){return t.neg()};e.precomputed={naf:r.naf&&{wnd:r.naf.wnd,points:r.naf.points.map(i)},doubles:r.doubles&&{step:r.doubles.step,points:r.doubles.points.map(i)}}}return e},Eh.prototype.toJ=function(){return this.inf?this.curve.jpoint(null,null,null):this.curve.jpoint(this.x,this.y,this.curve.one)},bh(kh,wh.BasePoint),_h.prototype.jpoint=function(t,e,r){return new kh(this,t,e,r)},kh.prototype.toP=function(){if(this.isInfinity())return this.curve.point(null,null);var t=this.z.redInvm(),e=t.redSqr(),r=this.x.redMul(e),i=this.y.redMul(e).redMul(t);return this.curve.point(r,i)},kh.prototype.neg=function(){return this.curve.jpoint(this.x,this.y.redNeg(),this.z)},kh.prototype.add=function(t){if(this.isInfinity())return t;if(t.isInfinity())return this;var e=t.z.redSqr(),r=this.z.redSqr(),i=this.x.redMul(e),n=t.x.redMul(r),o=this.y.redMul(e.redMul(t.z)),s=t.y.redMul(r.redMul(this.z)),h=i.redSub(n),a=o.redSub(s);if(0===h.cmpn(0))return 0!==a.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var u=h.redSqr(),f=u.redMul(h),l=i.redMul(u),c=a.redSqr().redIAdd(f).redISub(l).redISub(l),d=a.redMul(l.redISub(c)).redISub(o.redMul(f)),p=this.z.redMul(t.z).redMul(h);return this.curve.jpoint(c,d,p)},kh.prototype.mixedAdd=function(t){if(this.isInfinity())return t.toJ();if(t.isInfinity())return this;var e=this.z.redSqr(),r=this.x,i=t.x.redMul(e),n=this.y,o=t.y.redMul(e).redMul(this.z),s=r.redSub(i),h=n.redSub(o);if(0===s.cmpn(0))return 0!==h.cmpn(0)?this.curve.jpoint(null,null,null):this.dbl();var a=s.redSqr(),u=a.redMul(s),f=r.redMul(a),l=h.redSqr().redIAdd(u).redISub(f).redISub(f),c=h.redMul(f.redISub(l)).redISub(n.redMul(u)),d=this.z.redMul(s);return this.curve.jpoint(l,c,d)},kh.prototype.dblp=function(t){if(0===t)return this;if(this.isInfinity())return this;if(!t)return this.dbl();var e;if(this.curve.zeroA||this.curve.threeA){var r=this;for(e=0;e<t;e++)r=r.dbl();return r}var i=this.curve.a,n=this.curve.tinv,o=this.x,s=this.y,h=this.z,a=h.redSqr().redSqr(),u=s.redAdd(s);for(e=0;e<t;e++){var f=o.redSqr(),l=u.redSqr(),c=l.redSqr(),d=f.redAdd(f).redIAdd(f).redIAdd(i.redMul(a)),p=o.redMul(l),m=d.redSqr().redISub(p.redAdd(p)),g=p.redISub(m),y=d.redMul(g);y=y.redIAdd(y).redISub(c);var v=u.redMul(h);e+1<t&&(a=a.redMul(c)),o=m,h=v,u=y}return this.curve.jpoint(o,u.redMul(n),h)},kh.prototype.dbl=function(){return this.isInfinity()?this:this.curve.zeroA?this._zeroDbl():this.curve.threeA?this._threeDbl():this._dbl()},kh.prototype._zeroDbl=function(){var t,e,r;if(this.zOne){var i=this.x.redSqr(),n=this.y.redSqr(),o=n.redSqr(),s=this.x.redAdd(n).redSqr().redISub(i).redISub(o);s=s.redIAdd(s);var h=i.redAdd(i).redIAdd(i),a=h.redSqr().redISub(s).redISub(s),u=o.redIAdd(o);u=(u=u.redIAdd(u)).redIAdd(u),t=a,e=h.redMul(s.redISub(a)).redISub(u),r=this.y.redAdd(this.y)}else{var f=this.x.redSqr(),l=this.y.redSqr(),c=l.redSqr(),d=this.x.redAdd(l).redSqr().redISub(f).redISub(c);d=d.redIAdd(d);var p=f.redAdd(f).redIAdd(f),m=p.redSqr(),g=c.redIAdd(c);g=(g=g.redIAdd(g)).redIAdd(g),t=m.redISub(d).redISub(d),e=p.redMul(d.redISub(t)).redISub(g),r=(r=this.y.redMul(this.z)).redIAdd(r)}return this.curve.jpoint(t,e,r)},kh.prototype._threeDbl=function(){var t,e,r;if(this.zOne){var i=this.x.redSqr(),n=this.y.redSqr(),o=n.redSqr(),s=this.x.redAdd(n).redSqr().redISub(i).redISub(o);s=s.redIAdd(s);var h=i.redAdd(i).redIAdd(i).redIAdd(this.curve.a),a=h.redSqr().redISub(s).redISub(s);t=a;var u=o.redIAdd(o);u=(u=u.redIAdd(u)).redIAdd(u),e=h.redMul(s.redISub(a)).redISub(u),r=this.y.redAdd(this.y)}else{var f=this.z.redSqr(),l=this.y.redSqr(),c=this.x.redMul(l),d=this.x.redSub(f).redMul(this.x.redAdd(f));d=d.redAdd(d).redIAdd(d);var p=c.redIAdd(c),m=(p=p.redIAdd(p)).redAdd(p);t=d.redSqr().redISub(m),r=this.y.redAdd(this.z).redSqr().redISub(l).redISub(f);var g=l.redSqr();g=(g=(g=g.redIAdd(g)).redIAdd(g)).redIAdd(g),e=d.redMul(p.redISub(t)).redISub(g)}return this.curve.jpoint(t,e,r)},kh.prototype._dbl=function(){var t=this.curve.a,e=this.x,r=this.y,i=this.z,n=i.redSqr().redSqr(),o=e.redSqr(),s=r.redSqr(),h=o.redAdd(o).redIAdd(o).redIAdd(t.redMul(n)),a=e.redAdd(e),u=(a=a.redIAdd(a)).redMul(s),f=h.redSqr().redISub(u.redAdd(u)),l=u.redISub(f),c=s.redSqr();c=(c=(c=c.redIAdd(c)).redIAdd(c)).redIAdd(c);var d=h.redMul(l).redISub(c),p=r.redAdd(r).redMul(i);return this.curve.jpoint(f,d,p)},kh.prototype.trpl=function(){if(!this.curve.zeroA)return this.dbl().add(this);var t=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr(),i=e.redSqr(),n=t.redAdd(t).redIAdd(t),o=n.redSqr(),s=this.x.redAdd(e).redSqr().redISub(t).redISub(i),h=(s=(s=(s=s.redIAdd(s)).redAdd(s).redIAdd(s)).redISub(o)).redSqr(),a=i.redIAdd(i);a=(a=(a=a.redIAdd(a)).redIAdd(a)).redIAdd(a);var u=n.redIAdd(s).redSqr().redISub(o).redISub(h).redISub(a),f=e.redMul(u);f=(f=f.redIAdd(f)).redIAdd(f);var l=this.x.redMul(h).redISub(f);l=(l=l.redIAdd(l)).redIAdd(l);var c=this.y.redMul(u.redMul(a.redISub(u)).redISub(s.redMul(h)));c=(c=(c=c.redIAdd(c)).redIAdd(c)).redIAdd(c);var d=this.z.redAdd(s).redSqr().redISub(r).redISub(h);return this.curve.jpoint(l,c,d)},kh.prototype.mul=function(t,e){return t=new vh(t,e),this.curve._wnafMul(this,t)},kh.prototype.eq=function(t){if("affine"===t.type)return this.eq(t.toJ());if(this===t)return!0;var e=this.z.redSqr(),r=t.z.redSqr();if(0!==this.x.redMul(r).redISub(t.x.redMul(e)).cmpn(0))return!1;var i=e.redMul(this.z),n=r.redMul(t.z);return 0===this.y.redMul(n).redISub(t.y.redMul(i)).cmpn(0)},kh.prototype.eqXToP=function(t){var e=this.z.redSqr(),r=t.toRed(this.curve.red).redMul(e);if(0===this.x.cmp(r))return!0;for(var i=t.clone(),n=this.curve.redN.redMul(e);;){if(i.iadd(this.curve.n),i.cmp(this.curve.p)>=0)return!1;if(r.redIAdd(n),0===this.x.cmp(r))return!0}},kh.prototype.inspect=function(){return this.isInfinity()?"<EC JPoint Infinity>":"<EC JPoint x: "+this.x.toString(16,2)+" y: "+this.y.toString(16,2)+" z: "+this.z.toString(16,2)+">"},kh.prototype.isInfinity=function(){return 0===this.z.cmpn(0)};var Ah=eh.exports,Ih=Pt.exports,Th=mh,Oh=th;function Ph(t){Th.call(this,"mont",t),this.a=new Ah(t.a,16).toRed(this.red),this.b=new Ah(t.b,16).toRed(this.red),this.i4=new Ah(4).toRed(this.red).redInvm(),this.two=new Ah(2).toRed(this.red),this.a24=this.i4.redMul(this.a.redAdd(this.two))}Ih(Ph,Th);var xh=Ph;function Bh(t,e,r){Th.BasePoint.call(this,t,"projective"),null===e&&null===r?(this.x=this.curve.one,this.z=this.curve.zero):(this.x=new Ah(e,16),this.z=new Ah(r,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)))}Ph.prototype.validate=function(t){var e=t.normalize().x,r=e.redSqr(),i=r.redMul(e).redAdd(r.redMul(this.a)).redAdd(e);return 0===i.redSqrt().redSqr().cmp(i)},Ih(Bh,Th.BasePoint),Ph.prototype.decodePoint=function(t,e){return this.point(Oh.toArray(t,e),1)},Ph.prototype.point=function(t,e){return new Bh(this,t,e)},Ph.prototype.pointFromJSON=function(t){return Bh.fromJSON(this,t)},Bh.prototype.precompute=function(){},Bh.prototype._encode=function(){return this.getX().toArray("be",this.curve.p.byteLength())},Bh.fromJSON=function(t,e){return new Bh(t,e[0],e[1]||t.one)},Bh.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Bh.prototype.isInfinity=function(){return 0===this.z.cmpn(0)},Bh.prototype.dbl=function(){var t=this.x.redAdd(this.z).redSqr(),e=this.x.redSub(this.z).redSqr(),r=t.redSub(e),i=t.redMul(e),n=r.redMul(e.redAdd(this.curve.a24.redMul(r)));return this.curve.point(i,n)},Bh.prototype.add=function(){throw new Error("Not supported on Montgomery curve")},Bh.prototype.diffAdd=function(t,e){var r=this.x.redAdd(this.z),i=this.x.redSub(this.z),n=t.x.redAdd(t.z),o=t.x.redSub(t.z).redMul(r),s=n.redMul(i),h=e.z.redMul(o.redAdd(s).redSqr()),a=e.x.redMul(o.redISub(s).redSqr());return this.curve.point(h,a)},Bh.prototype.mul=function(t){for(var e=t.clone(),r=this,i=this.curve.point(null,null),n=[];0!==e.cmpn(0);e.iushrn(1))n.push(e.andln(1));for(var o=n.length-1;o>=0;o--)0===n[o]?(r=r.diffAdd(i,this),i=i.dbl()):(i=r.diffAdd(i,this),r=r.dbl());return i},Bh.prototype.mulAdd=function(){throw new Error("Not supported on Montgomery curve")},Bh.prototype.jumlAdd=function(){throw new Error("Not supported on Montgomery curve")},Bh.prototype.eq=function(t){return 0===this.getX().cmp(t.getX())},Bh.prototype.normalize=function(){return this.x=this.x.redMul(this.z.redInvm()),this.z=this.curve.one,this},Bh.prototype.getX=function(){return this.normalize(),this.x.fromRed()};var Rh=th,Nh=eh.exports,Uh=Pt.exports,Ch=mh,Lh=Rh.assert;function Dh(t){this.twisted=1!=(0|t.a),this.mOneA=this.twisted&&-1==(0|t.a),this.extended=this.mOneA,Ch.call(this,"edwards",t),this.a=new Nh(t.a,16).umod(this.red.m),this.a=this.a.toRed(this.red),this.c=new Nh(t.c,16).toRed(this.red),this.c2=this.c.redSqr(),this.d=new Nh(t.d,16).toRed(this.red),this.dd=this.d.redAdd(this.d),Lh(!this.twisted||0===this.c.fromRed().cmpn(1)),this.oneC=1==(0|t.c)}Uh(Dh,Ch);var jh=Dh;function Hh(t,e,r,i,n){Ch.BasePoint.call(this,t,"projective"),null===e&&null===r&&null===i?(this.x=this.curve.zero,this.y=this.curve.one,this.z=this.curve.one,this.t=this.curve.zero,this.zOne=!0):(this.x=new Nh(e,16),this.y=new Nh(r,16),this.z=i?new Nh(i,16):this.curve.one,this.t=n&&new Nh(n,16),this.x.red||(this.x=this.x.toRed(this.curve.red)),this.y.red||(this.y=this.y.toRed(this.curve.red)),this.z.red||(this.z=this.z.toRed(this.curve.red)),this.t&&!this.t.red&&(this.t=this.t.toRed(this.curve.red)),this.zOne=this.z===this.curve.one,this.curve.extended&&!this.t&&(this.t=this.x.redMul(this.y),this.zOne||(this.t=this.t.redMul(this.z.redInvm()))))}Dh.prototype._mulA=function(t){return this.mOneA?t.redNeg():this.a.redMul(t)},Dh.prototype._mulC=function(t){return this.oneC?t:this.c.redMul(t)},Dh.prototype.jpoint=function(t,e,r,i){return this.point(t,e,r,i)},Dh.prototype.pointFromX=function(t,e){(t=new Nh(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),i=this.c2.redSub(this.a.redMul(r)),n=this.one.redSub(this.c2.redMul(this.d).redMul(r)),o=i.redMul(n.redInvm()),s=o.redSqrt();if(0!==s.redSqr().redSub(o).cmp(this.zero))throw new Error("invalid point");var h=s.fromRed().isOdd();return(e&&!h||!e&&h)&&(s=s.redNeg()),this.point(t,s)},Dh.prototype.pointFromY=function(t,e){(t=new Nh(t,16)).red||(t=t.toRed(this.red));var r=t.redSqr(),i=r.redSub(this.c2),n=r.redMul(this.d).redMul(this.c2).redSub(this.a),o=i.redMul(n.redInvm());if(0===o.cmp(this.zero)){if(e)throw new Error("invalid point");return this.point(this.zero,t)}var s=o.redSqrt();if(0!==s.redSqr().redSub(o).cmp(this.zero))throw new Error("invalid point");return s.fromRed().isOdd()!==e&&(s=s.redNeg()),this.point(s,t)},Dh.prototype.validate=function(t){if(t.isInfinity())return!0;t.normalize();var e=t.x.redSqr(),r=t.y.redSqr(),i=e.redMul(this.a).redAdd(r),n=this.c2.redMul(this.one.redAdd(this.d.redMul(e).redMul(r)));return 0===i.cmp(n)},Uh(Hh,Ch.BasePoint),Dh.prototype.pointFromJSON=function(t){return Hh.fromJSON(this,t)},Dh.prototype.point=function(t,e,r,i){return new Hh(this,t,e,r,i)},Hh.fromJSON=function(t,e){return new Hh(t,e[0],e[1],e[2])},Hh.prototype.inspect=function(){return this.isInfinity()?"<EC Point Infinity>":"<EC Point x: "+this.x.fromRed().toString(16,2)+" y: "+this.y.fromRed().toString(16,2)+" z: "+this.z.fromRed().toString(16,2)+">"},Hh.prototype.isInfinity=function(){return 0===this.x.cmpn(0)&&(0===this.y.cmp(this.z)||this.zOne&&0===this.y.cmp(this.curve.c))},Hh.prototype._extDbl=function(){var t=this.x.redSqr(),e=this.y.redSqr(),r=this.z.redSqr();r=r.redIAdd(r);var i=this.curve._mulA(t),n=this.x.redAdd(this.y).redSqr().redISub(t).redISub(e),o=i.redAdd(e),s=o.redSub(r),h=i.redSub(e),a=n.redMul(s),u=o.redMul(h),f=n.redMul(h),l=s.redMul(o);return this.curve.point(a,u,l,f)},Hh.prototype._projDbl=function(){var t,e,r,i,n,o,s=this.x.redAdd(this.y).redSqr(),h=this.x.redSqr(),a=this.y.redSqr();if(this.curve.twisted){var u=(i=this.curve._mulA(h)).redAdd(a);this.zOne?(t=s.redSub(h).redSub(a).redMul(u.redSub(this.curve.two)),e=u.redMul(i.redSub(a)),r=u.redSqr().redSub(u).redSub(u)):(n=this.z.redSqr(),o=u.redSub(n).redISub(n),t=s.redSub(h).redISub(a).redMul(o),e=u.redMul(i.redSub(a)),r=u.redMul(o))}else i=h.redAdd(a),n=this.curve._mulC(this.z).redSqr(),o=i.redSub(n).redSub(n),t=this.curve._mulC(s.redISub(i)).redMul(o),e=this.curve._mulC(i).redMul(h.redISub(a)),r=i.redMul(o);return this.curve.point(t,e,r)},Hh.prototype.dbl=function(){return this.isInfinity()?this:this.curve.extended?this._extDbl():this._projDbl()},Hh.prototype._extAdd=function(t){var e=this.y.redSub(this.x).redMul(t.y.redSub(t.x)),r=this.y.redAdd(this.x).redMul(t.y.redAdd(t.x)),i=this.t.redMul(this.curve.dd).redMul(t.t),n=this.z.redMul(t.z.redAdd(t.z)),o=r.redSub(e),s=n.redSub(i),h=n.redAdd(i),a=r.redAdd(e),u=o.redMul(s),f=h.redMul(a),l=o.redMul(a),c=s.redMul(h);return this.curve.point(u,f,c,l)},Hh.prototype._projAdd=function(t){var e,r,i=this.z.redMul(t.z),n=i.redSqr(),o=this.x.redMul(t.x),s=this.y.redMul(t.y),h=this.curve.d.redMul(o).redMul(s),a=n.redSub(h),u=n.redAdd(h),f=this.x.redAdd(this.y).redMul(t.x.redAdd(t.y)).redISub(o).redISub(s),l=i.redMul(a).redMul(f);return this.curve.twisted?(e=i.redMul(u).redMul(s.redSub(this.curve._mulA(o))),r=a.redMul(u)):(e=i.redMul(u).redMul(s.redSub(o)),r=this.curve._mulC(a).redMul(u)),this.curve.point(l,e,r)},Hh.prototype.add=function(t){return this.isInfinity()?t:t.isInfinity()?this:this.curve.extended?this._extAdd(t):this._projAdd(t)},Hh.prototype.mul=function(t){return this._hasDoubles(t)?this.curve._fixedNafMul(this,t):this.curve._wnafMul(this,t)},Hh.prototype.mulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!1)},Hh.prototype.jmulAdd=function(t,e,r){return this.curve._wnafMulAdd(1,[this,e],[t,r],2,!0)},Hh.prototype.normalize=function(){if(this.zOne)return this;var t=this.z.redInvm();return this.x=this.x.redMul(t),this.y=this.y.redMul(t),this.t&&(this.t=this.t.redMul(t)),this.z=this.curve.one,this.zOne=!0,this},Hh.prototype.neg=function(){return this.curve.point(this.x.redNeg(),this.y,this.z,this.t&&this.t.redNeg())},Hh.prototype.getX=function(){return this.normalize(),this.x.fromRed()},Hh.prototype.getY=function(){return this.normalize(),this.y.fromRed()},Hh.prototype.eq=function(t){return this===t||0===this.getX().cmp(t.getX())&&0===this.getY().cmp(t.getY())},Hh.prototype.eqXToP=function(t){var e=t.toRed(this.curve.red).redMul(this.z);if(0===this.x.cmp(e))return!0;for(var r=t.clone(),i=this.curve.redN.redMul(this.z);;){if(r.iadd(this.curve.n),r.cmp(this.curve.p)>=0)return!1;if(e.redIAdd(i),0===this.x.cmp(e))return!0}},Hh.prototype.toP=Hh.prototype.normalize,Hh.prototype.mixedAdd=Hh.prototype.add,function(t){var e=t;e.base=mh,e.short=Sh,e.mont=xh,e.edwards=jh}(ah);var qh={},Kh={},Fh={},zh=rh,Wh=Pt.exports;function Vh(t,e){return 55296==(64512&t.charCodeAt(e))&&(!(e<0||e+1>=t.length)&&56320==(64512&t.charCodeAt(e+1)))}function Zh(t){return(t>>>24|t>>>8&65280|t<<8&16711680|(255&t)<<24)>>>0}function Gh(t){return 1===t.length?"0"+t:t}function $h(t){return 7===t.length?"0"+t:6===t.length?"00"+t:5===t.length?"000"+t:4===t.length?"0000"+t:3===t.length?"00000"+t:2===t.length?"000000"+t:1===t.length?"0000000"+t:t}Fh.inherits=Wh,Fh.toArray=function(t,e){if(Array.isArray(t))return t.slice();if(!t)return[];var r=[];if("string"==typeof t)if(e){if("hex"===e)for((t=t.replace(/[^a-z0-9]+/gi,"")).length%2!=0&&(t="0"+t),n=0;n<t.length;n+=2)r.push(parseInt(t[n]+t[n+1],16))}else for(var i=0,n=0;n<t.length;n++){var o=t.charCodeAt(n);o<128?r[i++]=o:o<2048?(r[i++]=o>>6|192,r[i++]=63&o|128):Vh(t,n)?(o=65536+((1023&o)<<10)+(1023&t.charCodeAt(++n)),r[i++]=o>>18|240,r[i++]=o>>12&63|128,r[i++]=o>>6&63|128,r[i++]=63&o|128):(r[i++]=o>>12|224,r[i++]=o>>6&63|128,r[i++]=63&o|128)}else for(n=0;n<t.length;n++)r[n]=0|t[n];return r},Fh.toHex=function(t){for(var e="",r=0;r<t.length;r++)e+=Gh(t[r].toString(16));return e},Fh.htonl=Zh,Fh.toHex32=function(t,e){for(var r="",i=0;i<t.length;i++){var n=t[i];"little"===e&&(n=Zh(n)),r+=$h(n.toString(16))}return r},Fh.zero2=Gh,Fh.zero8=$h,Fh.join32=function(t,e,r,i){var n=r-e;zh(n%4==0);for(var o=new Array(n/4),s=0,h=e;s<o.length;s++,h+=4){var a;a="big"===i?t[h]<<24|t[h+1]<<16|t[h+2]<<8|t[h+3]:t[h+3]<<24|t[h+2]<<16|t[h+1]<<8|t[h],o[s]=a>>>0}return o},Fh.split32=function(t,e){for(var r=new Array(4*t.length),i=0,n=0;i<t.length;i++,n+=4){var o=t[i];"big"===e?(r[n]=o>>>24,r[n+1]=o>>>16&255,r[n+2]=o>>>8&255,r[n+3]=255&o):(r[n+3]=o>>>24,r[n+2]=o>>>16&255,r[n+1]=o>>>8&255,r[n]=255&o)}return r},Fh.rotr32=function(t,e){return t>>>e|t<<32-e},Fh.rotl32=function(t,e){return t<<e|t>>>32-e},Fh.sum32=function(t,e){return t+e>>>0},Fh.sum32_3=function(t,e,r){return t+e+r>>>0},Fh.sum32_4=function(t,e,r,i){return t+e+r+i>>>0},Fh.sum32_5=function(t,e,r,i,n){return t+e+r+i+n>>>0},Fh.sum64=function(t,e,r,i){var n=t[e],o=i+t[e+1]>>>0,s=(o<i?1:0)+r+n;t[e]=s>>>0,t[e+1]=o},Fh.sum64_hi=function(t,e,r,i){return(e+i>>>0<e?1:0)+t+r>>>0},Fh.sum64_lo=function(t,e,r,i){return e+i>>>0},Fh.sum64_4_hi=function(t,e,r,i,n,o,s,h){var a=0,u=e;return a+=(u=u+i>>>0)<e?1:0,a+=(u=u+o>>>0)<o?1:0,t+r+n+s+(a+=(u=u+h>>>0)<h?1:0)>>>0},Fh.sum64_4_lo=function(t,e,r,i,n,o,s,h){return e+i+o+h>>>0},Fh.sum64_5_hi=function(t,e,r,i,n,o,s,h,a,u){var f=0,l=e;return f+=(l=l+i>>>0)<e?1:0,f+=(l=l+o>>>0)<o?1:0,f+=(l=l+h>>>0)<h?1:0,t+r+n+s+a+(f+=(l=l+u>>>0)<u?1:0)>>>0},Fh.sum64_5_lo=function(t,e,r,i,n,o,s,h,a,u){return e+i+o+h+u>>>0},Fh.rotr64_hi=function(t,e,r){return(e<<32-r|t>>>r)>>>0},Fh.rotr64_lo=function(t,e,r){return(t<<32-r|e>>>r)>>>0},Fh.shr64_hi=function(t,e,r){return t>>>r},Fh.shr64_lo=function(t,e,r){return(t<<32-r|e>>>r)>>>0};var Xh={},Yh=Fh,Jh=rh;function Qh(){this.pending=null,this.pendingTotal=0,this.blockSize=this.constructor.blockSize,this.outSize=this.constructor.outSize,this.hmacStrength=this.constructor.hmacStrength,this.padLength=this.constructor.padLength/8,this.endian="big",this._delta8=this.blockSize/8,this._delta32=this.blockSize/32}Xh.BlockHash=Qh,Qh.prototype.update=function(t,e){if(t=Yh.toArray(t,e),this.pending?this.pending=this.pending.concat(t):this.pending=t,this.pendingTotal+=t.length,this.pending.length>=this._delta8){var r=(t=this.pending).length%this._delta8;this.pending=t.slice(t.length-r,t.length),0===this.pending.length&&(this.pending=null),t=Yh.join32(t,0,t.length-r,this.endian);for(var i=0;i<t.length;i+=this._delta32)this._update(t,i,i+this._delta32)}return this},Qh.prototype.digest=function(t){return this.update(this._pad()),Jh(null===this.pending),this._digest(t)},Qh.prototype._pad=function(){var t=this.pendingTotal,e=this._delta8,r=e-(t+this.padLength)%e,i=new Array(r+this.padLength);i[0]=128;for(var n=1;n<r;n++)i[n]=0;if(t<<=3,"big"===this.endian){for(var o=8;o<this.padLength;o++)i[n++]=0;i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=t>>>24&255,i[n++]=t>>>16&255,i[n++]=t>>>8&255,i[n++]=255&t}else for(i[n++]=255&t,i[n++]=t>>>8&255,i[n++]=t>>>16&255,i[n++]=t>>>24&255,i[n++]=0,i[n++]=0,i[n++]=0,i[n++]=0,o=8;o<this.padLength;o++)i[n++]=0;return i};var ta={},ea={},ra=Fh.rotr32;function ia(t,e,r){return t&e^~t&r}function na(t,e,r){return t&e^t&r^e&r}function oa(t,e,r){return t^e^r}ea.ft_1=function(t,e,r,i){return 0===t?ia(e,r,i):1===t||3===t?oa(e,r,i):2===t?na(e,r,i):void 0},ea.ch32=ia,ea.maj32=na,ea.p32=oa,ea.s0_256=function(t){return ra(t,2)^ra(t,13)^ra(t,22)},ea.s1_256=function(t){return ra(t,6)^ra(t,11)^ra(t,25)},ea.g0_256=function(t){return ra(t,7)^ra(t,18)^t>>>3},ea.g1_256=function(t){return ra(t,17)^ra(t,19)^t>>>10};var sa=Fh,ha=Xh,aa=ea,ua=sa.rotl32,fa=sa.sum32,la=sa.sum32_5,ca=aa.ft_1,da=ha.BlockHash,pa=[1518500249,1859775393,2400959708,3395469782];function ma(){if(!(this instanceof ma))return new ma;da.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.W=new Array(80)}sa.inherits(ma,da);var ga=ma;ma.blockSize=512,ma.outSize=160,ma.hmacStrength=80,ma.padLength=64,ma.prototype._update=function(t,e){for(var r=this.W,i=0;i<16;i++)r[i]=t[e+i];for(;i<r.length;i++)r[i]=ua(r[i-3]^r[i-8]^r[i-14]^r[i-16],1);var n=this.h[0],o=this.h[1],s=this.h[2],h=this.h[3],a=this.h[4];for(i=0;i<r.length;i++){var u=~~(i/20),f=la(ua(n,5),ca(u,o,s,h),a,r[i],pa[u]);a=h,h=s,s=ua(o,30),o=n,n=f}this.h[0]=fa(this.h[0],n),this.h[1]=fa(this.h[1],o),this.h[2]=fa(this.h[2],s),this.h[3]=fa(this.h[3],h),this.h[4]=fa(this.h[4],a)},ma.prototype._digest=function(t){return"hex"===t?sa.toHex32(this.h,"big"):sa.split32(this.h,"big")};var ya=Fh,va=Xh,ba=ea,wa=rh,Ma=ya.sum32,_a=ya.sum32_4,Sa=ya.sum32_5,Ea=ba.ch32,ka=ba.maj32,Aa=ba.s0_256,Ia=ba.s1_256,Ta=ba.g0_256,Oa=ba.g1_256,Pa=va.BlockHash,xa=[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];function Ba(){if(!(this instanceof Ba))return new Ba;Pa.call(this),this.h=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],this.k=xa,this.W=new Array(64)}ya.inherits(Ba,Pa);var Ra=Ba;Ba.blockSize=512,Ba.outSize=256,Ba.hmacStrength=192,Ba.padLength=64,Ba.prototype._update=function(t,e){for(var r=this.W,i=0;i<16;i++)r[i]=t[e+i];for(;i<r.length;i++)r[i]=_a(Oa(r[i-2]),r[i-7],Ta(r[i-15]),r[i-16]);var n=this.h[0],o=this.h[1],s=this.h[2],h=this.h[3],a=this.h[4],u=this.h[5],f=this.h[6],l=this.h[7];for(wa(this.k.length===r.length),i=0;i<r.length;i++){var c=Sa(l,Ia(a),Ea(a,u,f),this.k[i],r[i]),d=Ma(Aa(n),ka(n,o,s));l=f,f=u,u=a,a=Ma(h,c),h=s,s=o,o=n,n=Ma(c,d)}this.h[0]=Ma(this.h[0],n),this.h[1]=Ma(this.h[1],o),this.h[2]=Ma(this.h[2],s),this.h[3]=Ma(this.h[3],h),this.h[4]=Ma(this.h[4],a),this.h[5]=Ma(this.h[5],u),this.h[6]=Ma(this.h[6],f),this.h[7]=Ma(this.h[7],l)},Ba.prototype._digest=function(t){return"hex"===t?ya.toHex32(this.h,"big"):ya.split32(this.h,"big")};var Na=Fh,Ua=Ra;function Ca(){if(!(this instanceof Ca))return new Ca;Ua.call(this),this.h=[3238371032,914150663,812702999,4144912697,4290775857,1750603025,1694076839,3204075428]}Na.inherits(Ca,Ua);var La=Ca;Ca.blockSize=512,Ca.outSize=224,Ca.hmacStrength=192,Ca.padLength=64,Ca.prototype._digest=function(t){return"hex"===t?Na.toHex32(this.h.slice(0,7),"big"):Na.split32(this.h.slice(0,7),"big")};var Da=Fh,ja=Xh,Ha=rh,qa=Da.rotr64_hi,Ka=Da.rotr64_lo,Fa=Da.shr64_hi,za=Da.shr64_lo,Wa=Da.sum64,Va=Da.sum64_hi,Za=Da.sum64_lo,Ga=Da.sum64_4_hi,$a=Da.sum64_4_lo,Xa=Da.sum64_5_hi,Ya=Da.sum64_5_lo,Ja=ja.BlockHash,Qa=[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];function tu(){if(!(this instanceof tu))return new tu;Ja.call(this),this.h=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],this.k=Qa,this.W=new Array(160)}Da.inherits(tu,Ja);var eu=tu;function ru(t,e,r,i,n){var o=t&r^~t&n;return o<0&&(o+=4294967296),o}function iu(t,e,r,i,n,o){var s=e&i^~e&o;return s<0&&(s+=4294967296),s}function nu(t,e,r,i,n){var o=t&r^t&n^r&n;return o<0&&(o+=4294967296),o}function ou(t,e,r,i,n,o){var s=e&i^e&o^i&o;return s<0&&(s+=4294967296),s}function su(t,e){var r=qa(t,e,28)^qa(e,t,2)^qa(e,t,7);return r<0&&(r+=4294967296),r}function hu(t,e){var r=Ka(t,e,28)^Ka(e,t,2)^Ka(e,t,7);return r<0&&(r+=4294967296),r}function au(t,e){var r=qa(t,e,14)^qa(t,e,18)^qa(e,t,9);return r<0&&(r+=4294967296),r}function uu(t,e){var r=Ka(t,e,14)^Ka(t,e,18)^Ka(e,t,9);return r<0&&(r+=4294967296),r}function fu(t,e){var r=qa(t,e,1)^qa(t,e,8)^Fa(t,e,7);return r<0&&(r+=4294967296),r}function lu(t,e){var r=Ka(t,e,1)^Ka(t,e,8)^za(t,e,7);return r<0&&(r+=4294967296),r}function cu(t,e){var r=qa(t,e,19)^qa(e,t,29)^Fa(t,e,6);return r<0&&(r+=4294967296),r}function du(t,e){var r=Ka(t,e,19)^Ka(e,t,29)^za(t,e,6);return r<0&&(r+=4294967296),r}tu.blockSize=1024,tu.outSize=512,tu.hmacStrength=192,tu.padLength=128,tu.prototype._prepareBlock=function(t,e){for(var r=this.W,i=0;i<32;i++)r[i]=t[e+i];for(;i<r.length;i+=2){var n=cu(r[i-4],r[i-3]),o=du(r[i-4],r[i-3]),s=r[i-14],h=r[i-13],a=fu(r[i-30],r[i-29]),u=lu(r[i-30],r[i-29]),f=r[i-32],l=r[i-31];r[i]=Ga(n,o,s,h,a,u,f,l),r[i+1]=$a(n,o,s,h,a,u,f,l)}},tu.prototype._update=function(t,e){this._prepareBlock(t,e);var r=this.W,i=this.h[0],n=this.h[1],o=this.h[2],s=this.h[3],h=this.h[4],a=this.h[5],u=this.h[6],f=this.h[7],l=this.h[8],c=this.h[9],d=this.h[10],p=this.h[11],m=this.h[12],g=this.h[13],y=this.h[14],v=this.h[15];Ha(this.k.length===r.length);for(var b=0;b<r.length;b+=2){var w=y,M=v,_=au(l,c),S=uu(l,c),E=ru(l,c,d,p,m),k=iu(l,c,d,p,m,g),A=this.k[b],I=this.k[b+1],T=r[b],O=r[b+1],P=Xa(w,M,_,S,E,k,A,I,T,O),x=Ya(w,M,_,S,E,k,A,I,T,O);w=su(i,n),M=hu(i,n),_=nu(i,n,o,s,h),S=ou(i,n,o,s,h,a);var B=Va(w,M,_,S),R=Za(w,M,_,S);y=m,v=g,m=d,g=p,d=l,p=c,l=Va(u,f,P,x),c=Za(f,f,P,x),u=h,f=a,h=o,a=s,o=i,s=n,i=Va(P,x,B,R),n=Za(P,x,B,R)}Wa(this.h,0,i,n),Wa(this.h,2,o,s),Wa(this.h,4,h,a),Wa(this.h,6,u,f),Wa(this.h,8,l,c),Wa(this.h,10,d,p),Wa(this.h,12,m,g),Wa(this.h,14,y,v)},tu.prototype._digest=function(t){return"hex"===t?Da.toHex32(this.h,"big"):Da.split32(this.h,"big")};var pu=Fh,mu=eu;function gu(){if(!(this instanceof gu))return new gu;mu.call(this),this.h=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428]}pu.inherits(gu,mu);var yu=gu;gu.blockSize=1024,gu.outSize=384,gu.hmacStrength=192,gu.padLength=128,gu.prototype._digest=function(t){return"hex"===t?pu.toHex32(this.h.slice(0,12),"big"):pu.split32(this.h.slice(0,12),"big")},ta.sha1=ga,ta.sha224=La,ta.sha256=Ra,ta.sha384=yu,ta.sha512=eu;var vu={},bu=Fh,wu=Xh,Mu=bu.rotl32,_u=bu.sum32,Su=bu.sum32_3,Eu=bu.sum32_4,ku=wu.BlockHash;function Au(){if(!(this instanceof Au))return new Au;ku.call(this),this.h=[1732584193,4023233417,2562383102,271733878,3285377520],this.endian="little"}function Iu(t,e,r,i){return t<=15?e^r^i:t<=31?e&r|~e&i:t<=47?(e|~r)^i:t<=63?e&i|r&~i:e^(r|~i)}function Tu(t){return t<=15?0:t<=31?1518500249:t<=47?1859775393:t<=63?2400959708:2840853838}function Ou(t){return t<=15?1352829926:t<=31?1548603684:t<=47?1836072691:t<=63?2053994217:0}bu.inherits(Au,ku),vu.ripemd160=Au,Au.blockSize=512,Au.outSize=160,Au.hmacStrength=192,Au.padLength=64,Au.prototype._update=function(t,e){for(var r=this.h[0],i=this.h[1],n=this.h[2],o=this.h[3],s=this.h[4],h=r,a=i,u=n,f=o,l=s,c=0;c<80;c++){var d=_u(Mu(Eu(r,Iu(c,i,n,o),t[Pu[c]+e],Tu(c)),Bu[c]),s);r=s,s=o,o=Mu(n,10),n=i,i=d,d=_u(Mu(Eu(h,Iu(79-c,a,u,f),t[xu[c]+e],Ou(c)),Ru[c]),l),h=l,l=f,f=Mu(u,10),u=a,a=d}d=Su(this.h[1],n,f),this.h[1]=Su(this.h[2],o,l),this.h[2]=Su(this.h[3],s,h),this.h[3]=Su(this.h[4],r,a),this.h[4]=Su(this.h[0],i,u),this.h[0]=d},Au.prototype._digest=function(t){return"hex"===t?bu.toHex32(this.h,"little"):bu.split32(this.h,"little")};var Pu=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,7,4,13,1,10,6,15,3,12,0,9,5,2,14,11,8,3,10,14,4,9,15,8,1,2,7,0,6,13,11,5,12,1,9,11,10,0,8,12,4,13,3,7,15,14,5,6,2,4,0,5,9,7,12,2,10,14,1,3,8,11,6,15,13],xu=[5,14,7,0,9,2,11,4,13,6,15,8,1,10,3,12,6,11,3,7,0,13,5,10,14,15,8,12,4,9,1,2,15,5,1,3,7,14,6,9,11,8,12,2,10,0,4,13,8,6,4,1,3,11,15,0,5,12,2,13,9,7,10,14,12,15,10,4,1,5,8,7,6,2,13,14,0,3,9,11],Bu=[11,14,15,12,5,8,7,9,11,13,14,15,6,7,9,8,7,6,8,13,11,9,7,15,7,12,15,9,11,7,13,12,11,13,6,7,14,9,13,15,14,8,13,6,5,12,7,5,11,12,14,15,14,15,9,8,9,14,5,6,8,6,5,12,9,15,5,11,6,8,13,12,5,12,13,14,11,8,5,6],Ru=[8,9,9,11,13,15,15,5,7,7,8,11,14,14,12,6,9,13,15,7,12,8,9,11,7,7,12,7,6,15,13,11,9,7,15,11,8,6,6,14,12,13,5,14,13,13,7,5,15,5,8,11,14,14,6,14,6,9,12,9,12,5,15,8,8,5,12,9,12,5,14,6,8,13,6,5,15,13,11,11],Nu=Fh,Uu=rh;function Cu(t,e,r){if(!(this instanceof Cu))return new Cu(t,e,r);this.Hash=t,this.blockSize=t.blockSize/8,this.outSize=t.outSize/8,this.inner=null,this.outer=null,this._init(Nu.toArray(e,r))}var Lu=Cu;Cu.prototype._init=function(t){t.length>this.blockSize&&(t=(new this.Hash).update(t).digest()),Uu(t.length<=this.blockSize);for(var e=t.length;e<this.blockSize;e++)t.push(0);for(e=0;e<t.length;e++)t[e]^=54;for(this.inner=(new this.Hash).update(t),e=0;e<t.length;e++)t[e]^=106;this.outer=(new this.Hash).update(t)},Cu.prototype.update=function(t,e){return this.inner.update(t,e),this},Cu.prototype.digest=function(t){return this.outer.update(this.inner.digest()),this.outer.digest(t)},function(t){var e=Kh;e.utils=Fh,e.common=Xh,e.sha=ta,e.ripemd=vu,e.hmac=Lu,e.sha1=e.sha.sha1,e.sha256=e.sha.sha256,e.sha224=e.sha.sha224,e.sha384=e.sha.sha384,e.sha512=e.sha.sha512,e.ripemd160=e.ripemd.ripemd160}();var Du={doubles:{step:4,points:[["e60fce93b59e9ec53011aabc21c23e97b2a31369b87a5ae9c44ee89e2a6dec0a","f7e3507399e595929db99f34f57937101296891e44d23f0be1f32cce69616821"],["8282263212c609d9ea2a6e3e172de238d8c39cabd5ac1ca10646e23fd5f51508","11f8a8098557dfe45e8256e830b60ace62d613ac2f7b17bed31b6eaff6e26caf"],["175e159f728b865a72f99cc6c6fc846de0b93833fd2222ed73fce5b551e5b739","d3506e0d9e3c79eba4ef97a51ff71f5eacb5955add24345c6efa6ffee9fed695"],["363d90d447b00c9c99ceac05b6262ee053441c7e55552ffe526bad8f83ff4640","4e273adfc732221953b445397f3363145b9a89008199ecb62003c7f3bee9de9"],["8b4b5f165df3c2be8c6244b5b745638843e4a781a15bcd1b69f79a55dffdf80c","4aad0a6f68d308b4b3fbd7813ab0da04f9e336546162ee56b3eff0c65fd4fd36"],["723cbaa6e5db996d6bf771c00bd548c7b700dbffa6c0e77bcb6115925232fcda","96e867b5595cc498a921137488824d6e2660a0653779494801dc069d9eb39f5f"],["eebfa4d493bebf98ba5feec812c2d3b50947961237a919839a533eca0e7dd7fa","5d9a8ca3970ef0f269ee7edaf178089d9ae4cdc3a711f712ddfd4fdae1de8999"],["100f44da696e71672791d0a09b7bde459f1215a29b3c03bfefd7835b39a48db0","cdd9e13192a00b772ec8f3300c090666b7ff4a18ff5195ac0fbd5cd62bc65a09"],["e1031be262c7ed1b1dc9227a4a04c017a77f8d4464f3b3852c8acde6e534fd2d","9d7061928940405e6bb6a4176597535af292dd419e1ced79a44f18f29456a00d"],["feea6cae46d55b530ac2839f143bd7ec5cf8b266a41d6af52d5e688d9094696d","e57c6b6c97dce1bab06e4e12bf3ecd5c981c8957cc41442d3155debf18090088"],["da67a91d91049cdcb367be4be6ffca3cfeed657d808583de33fa978bc1ec6cb1","9bacaa35481642bc41f463f7ec9780e5dec7adc508f740a17e9ea8e27a68be1d"],["53904faa0b334cdda6e000935ef22151ec08d0f7bb11069f57545ccc1a37b7c0","5bc087d0bc80106d88c9eccac20d3c1c13999981e14434699dcb096b022771c8"],["8e7bcd0bd35983a7719cca7764ca906779b53a043a9b8bcaeff959f43ad86047","10b7770b2a3da4b3940310420ca9514579e88e2e47fd68b3ea10047e8460372a"],["385eed34c1cdff21e6d0818689b81bde71a7f4f18397e6690a841e1599c43862","283bebc3e8ea23f56701de19e9ebf4576b304eec2086dc8cc0458fe5542e5453"],["6f9d9b803ecf191637c73a4413dfa180fddf84a5947fbc9c606ed86c3fac3a7","7c80c68e603059ba69b8e2a30e45c4d47ea4dd2f5c281002d86890603a842160"],["3322d401243c4e2582a2147c104d6ecbf774d163db0f5e5313b7e0e742d0e6bd","56e70797e9664ef5bfb019bc4ddaf9b72805f63ea2873af624f3a2e96c28b2a0"],["85672c7d2de0b7da2bd1770d89665868741b3f9af7643397721d74d28134ab83","7c481b9b5b43b2eb6374049bfa62c2e5e77f17fcc5298f44c8e3094f790313a6"],["948bf809b1988a46b06c9f1919413b10f9226c60f668832ffd959af60c82a0a","53a562856dcb6646dc6b74c5d1c3418c6d4dff08c97cd2bed4cb7f88d8c8e589"],["6260ce7f461801c34f067ce0f02873a8f1b0e44dfc69752accecd819f38fd8e8","bc2da82b6fa5b571a7f09049776a1ef7ecd292238051c198c1a84e95b2b4ae17"],["e5037de0afc1d8d43d8348414bbf4103043ec8f575bfdc432953cc8d2037fa2d","4571534baa94d3b5f9f98d09fb990bddbd5f5b03ec481f10e0e5dc841d755bda"],["e06372b0f4a207adf5ea905e8f1771b4e7e8dbd1c6a6c5b725866a0ae4fce725","7a908974bce18cfe12a27bb2ad5a488cd7484a7787104870b27034f94eee31dd"],["213c7a715cd5d45358d0bbf9dc0ce02204b10bdde2a3f58540ad6908d0559754","4b6dad0b5ae462507013ad06245ba190bb4850f5f36a7eeddff2c27534b458f2"],["4e7c272a7af4b34e8dbb9352a5419a87e2838c70adc62cddf0cc3a3b08fbd53c","17749c766c9d0b18e16fd09f6def681b530b9614bff7dd33e0b3941817dcaae6"],["fea74e3dbe778b1b10f238ad61686aa5c76e3db2be43057632427e2840fb27b6","6e0568db9b0b13297cf674deccb6af93126b596b973f7b77701d3db7f23cb96f"],["76e64113f677cf0e10a2570d599968d31544e179b760432952c02a4417bdde39","c90ddf8dee4e95cf577066d70681f0d35e2a33d2b56d2032b4b1752d1901ac01"],["c738c56b03b2abe1e8281baa743f8f9a8f7cc643df26cbee3ab150242bcbb891","893fb578951ad2537f718f2eacbfbbbb82314eef7880cfe917e735d9699a84c3"],["d895626548b65b81e264c7637c972877d1d72e5f3a925014372e9f6588f6c14b","febfaa38f2bc7eae728ec60818c340eb03428d632bb067e179363ed75d7d991f"],["b8da94032a957518eb0f6433571e8761ceffc73693e84edd49150a564f676e03","2804dfa44805a1e4d7c99cc9762808b092cc584d95ff3b511488e4e74efdf6e7"],["e80fea14441fb33a7d8adab9475d7fab2019effb5156a792f1a11778e3c0df5d","eed1de7f638e00771e89768ca3ca94472d155e80af322ea9fcb4291b6ac9ec78"],["a301697bdfcd704313ba48e51d567543f2a182031efd6915ddc07bbcc4e16070","7370f91cfb67e4f5081809fa25d40f9b1735dbf7c0a11a130c0d1a041e177ea1"],["90ad85b389d6b936463f9d0512678de208cc330b11307fffab7ac63e3fb04ed4","e507a3620a38261affdcbd9427222b839aefabe1582894d991d4d48cb6ef150"],["8f68b9d2f63b5f339239c1ad981f162ee88c5678723ea3351b7b444c9ec4c0da","662a9f2dba063986de1d90c2b6be215dbbea2cfe95510bfdf23cbf79501fff82"],["e4f3fb0176af85d65ff99ff9198c36091f48e86503681e3e6686fd5053231e11","1e63633ad0ef4f1c1661a6d0ea02b7286cc7e74ec951d1c9822c38576feb73bc"],["8c00fa9b18ebf331eb961537a45a4266c7034f2f0d4e1d0716fb6eae20eae29e","efa47267fea521a1a9dc343a3736c974c2fadafa81e36c54e7d2a4c66702414b"],["e7a26ce69dd4829f3e10cec0a9e98ed3143d084f308b92c0997fddfc60cb3e41","2a758e300fa7984b471b006a1aafbb18d0a6b2c0420e83e20e8a9421cf2cfd51"],["b6459e0ee3662ec8d23540c223bcbdc571cbcb967d79424f3cf29eb3de6b80ef","67c876d06f3e06de1dadf16e5661db3c4b3ae6d48e35b2ff30bf0b61a71ba45"],["d68a80c8280bb840793234aa118f06231d6f1fc67e73c5a5deda0f5b496943e8","db8ba9fff4b586d00c4b1f9177b0e28b5b0e7b8f7845295a294c84266b133120"],["324aed7df65c804252dc0270907a30b09612aeb973449cea4095980fc28d3d5d","648a365774b61f2ff130c0c35aec1f4f19213b0c7e332843967224af96ab7c84"],["4df9c14919cde61f6d51dfdbe5fee5dceec4143ba8d1ca888e8bd373fd054c96","35ec51092d8728050974c23a1d85d4b5d506cdc288490192ebac06cad10d5d"],["9c3919a84a474870faed8a9c1cc66021523489054d7f0308cbfc99c8ac1f98cd","ddb84f0f4a4ddd57584f044bf260e641905326f76c64c8e6be7e5e03d4fc599d"],["6057170b1dd12fdf8de05f281d8e06bb91e1493a8b91d4cc5a21382120a959e5","9a1af0b26a6a4807add9a2daf71df262465152bc3ee24c65e899be932385a2a8"],["a576df8e23a08411421439a4518da31880cef0fba7d4df12b1a6973eecb94266","40a6bf20e76640b2c92b97afe58cd82c432e10a7f514d9f3ee8be11ae1b28ec8"],["7778a78c28dec3e30a05fe9629de8c38bb30d1f5cf9a3a208f763889be58ad71","34626d9ab5a5b22ff7098e12f2ff580087b38411ff24ac563b513fc1fd9f43ac"],["928955ee637a84463729fd30e7afd2ed5f96274e5ad7e5cb09eda9c06d903ac","c25621003d3f42a827b78a13093a95eeac3d26efa8a8d83fc5180e935bcd091f"],["85d0fef3ec6db109399064f3a0e3b2855645b4a907ad354527aae75163d82751","1f03648413a38c0be29d496e582cf5663e8751e96877331582c237a24eb1f962"],["ff2b0dce97eece97c1c9b6041798b85dfdfb6d8882da20308f5404824526087e","493d13fef524ba188af4c4dc54d07936c7b7ed6fb90e2ceb2c951e01f0c29907"],["827fbbe4b1e880ea9ed2b2e6301b212b57f1ee148cd6dd28780e5e2cf856e241","c60f9c923c727b0b71bef2c67d1d12687ff7a63186903166d605b68baec293ec"],["eaa649f21f51bdbae7be4ae34ce6e5217a58fdce7f47f9aa7f3b58fa2120e2b3","be3279ed5bbbb03ac69a80f89879aa5a01a6b965f13f7e59d47a5305ba5ad93d"],["e4a42d43c5cf169d9391df6decf42ee541b6d8f0c9a137401e23632dda34d24f","4d9f92e716d1c73526fc99ccfb8ad34ce886eedfa8d8e4f13a7f7131deba9414"],["1ec80fef360cbdd954160fadab352b6b92b53576a88fea4947173b9d4300bf19","aeefe93756b5340d2f3a4958a7abbf5e0146e77f6295a07b671cdc1cc107cefd"],["146a778c04670c2f91b00af4680dfa8bce3490717d58ba889ddb5928366642be","b318e0ec3354028add669827f9d4b2870aaa971d2f7e5ed1d0b297483d83efd0"],["fa50c0f61d22e5f07e3acebb1aa07b128d0012209a28b9776d76a8793180eef9","6b84c6922397eba9b72cd2872281a68a5e683293a57a213b38cd8d7d3f4f2811"],["da1d61d0ca721a11b1a5bf6b7d88e8421a288ab5d5bba5220e53d32b5f067ec2","8157f55a7c99306c79c0766161c91e2966a73899d279b48a655fba0f1ad836f1"],["a8e282ff0c9706907215ff98e8fd416615311de0446f1e062a73b0610d064e13","7f97355b8db81c09abfb7f3c5b2515888b679a3e50dd6bd6cef7c73111f4cc0c"],["174a53b9c9a285872d39e56e6913cab15d59b1fa512508c022f382de8319497c","ccc9dc37abfc9c1657b4155f2c47f9e6646b3a1d8cb9854383da13ac079afa73"],["959396981943785c3d3e57edf5018cdbe039e730e4918b3d884fdff09475b7ba","2e7e552888c331dd8ba0386a4b9cd6849c653f64c8709385e9b8abf87524f2fd"],["d2a63a50ae401e56d645a1153b109a8fcca0a43d561fba2dbb51340c9d82b151","e82d86fb6443fcb7565aee58b2948220a70f750af484ca52d4142174dcf89405"],["64587e2335471eb890ee7896d7cfdc866bacbdbd3839317b3436f9b45617e073","d99fcdd5bf6902e2ae96dd6447c299a185b90a39133aeab358299e5e9faf6589"],["8481bde0e4e4d885b3a546d3e549de042f0aa6cea250e7fd358d6c86dd45e458","38ee7b8cba5404dd84a25bf39cecb2ca900a79c42b262e556d64b1b59779057e"],["13464a57a78102aa62b6979ae817f4637ffcfed3c4b1ce30bcd6303f6caf666b","69be159004614580ef7e433453ccb0ca48f300a81d0942e13f495a907f6ecc27"],["bc4a9df5b713fe2e9aef430bcc1dc97a0cd9ccede2f28588cada3a0d2d83f366","d3a81ca6e785c06383937adf4b798caa6e8a9fbfa547b16d758d666581f33c1"],["8c28a97bf8298bc0d23d8c749452a32e694b65e30a9472a3954ab30fe5324caa","40a30463a3305193378fedf31f7cc0eb7ae784f0451cb9459e71dc73cbef9482"],["8ea9666139527a8c1dd94ce4f071fd23c8b350c5a4bb33748c4ba111faccae0","620efabbc8ee2782e24e7c0cfb95c5d735b783be9cf0f8e955af34a30e62b945"],["dd3625faef5ba06074669716bbd3788d89bdde815959968092f76cc4eb9a9787","7a188fa3520e30d461da2501045731ca941461982883395937f68d00c644a573"],["f710d79d9eb962297e4f6232b40e8f7feb2bc63814614d692c12de752408221e","ea98e67232d3b3295d3b535532115ccac8612c721851617526ae47a9c77bfc82"]]},naf:{wnd:7,points:[["f9308a019258c31049344f85f89d5229b531c845836f99b08601f113bce036f9","388f7b0f632de8140fe337e62a37f3566500a99934c2231b6cb9fd7584b8e672"],["2f8bde4d1a07209355b4a7250a5c5128e88b84bddc619ab7cba8d569b240efe4","d8ac222636e5e3d6d4dba9dda6c9c426f788271bab0d6840dca87d3aa6ac62d6"],["5cbdf0646e5db4eaa398f365f2ea7a0e3d419b7e0330e39ce92bddedcac4f9bc","6aebca40ba255960a3178d6d861a54dba813d0b813fde7b5a5082628087264da"],["acd484e2f0c7f65309ad178a9f559abde09796974c57e714c35f110dfc27ccbe","cc338921b0a7d9fd64380971763b61e9add888a4375f8e0f05cc262ac64f9c37"],["774ae7f858a9411e5ef4246b70c65aac5649980be5c17891bbec17895da008cb","d984a032eb6b5e190243dd56d7b7b365372db1e2dff9d6a8301d74c9c953c61b"],["f28773c2d975288bc7d1d205c3748651b075fbc6610e58cddeeddf8f19405aa8","ab0902e8d880a89758212eb65cdaf473a1a06da521fa91f29b5cb52db03ed81"],["d7924d4f7d43ea965a465ae3095ff41131e5946f3c85f79e44adbcf8e27e080e","581e2872a86c72a683842ec228cc6defea40af2bd896d3a5c504dc9ff6a26b58"],["defdea4cdb677750a420fee807eacf21eb9898ae79b9768766e4faa04a2d4a34","4211ab0694635168e997b0ead2a93daeced1f4a04a95c0f6cfb199f69e56eb77"],["2b4ea0a797a443d293ef5cff444f4979f06acfebd7e86d277475656138385b6c","85e89bc037945d93b343083b5a1c86131a01f60c50269763b570c854e5c09b7a"],["352bbf4a4cdd12564f93fa332ce333301d9ad40271f8107181340aef25be59d5","321eb4075348f534d59c18259dda3e1f4a1b3b2e71b1039c67bd3d8bcf81998c"],["2fa2104d6b38d11b0230010559879124e42ab8dfeff5ff29dc9cdadd4ecacc3f","2de1068295dd865b64569335bd5dd80181d70ecfc882648423ba76b532b7d67"],["9248279b09b4d68dab21a9b066edda83263c3d84e09572e269ca0cd7f5453714","73016f7bf234aade5d1aa71bdea2b1ff3fc0de2a887912ffe54a32ce97cb3402"],["daed4f2be3a8bf278e70132fb0beb7522f570e144bf615c07e996d443dee8729","a69dce4a7d6c98e8d4a1aca87ef8d7003f83c230f3afa726ab40e52290be1c55"],["c44d12c7065d812e8acf28d7cbb19f9011ecd9e9fdf281b0e6a3b5e87d22e7db","2119a460ce326cdc76c45926c982fdac0e106e861edf61c5a039063f0e0e6482"],["6a245bf6dc698504c89a20cfded60853152b695336c28063b61c65cbd269e6b4","e022cf42c2bd4a708b3f5126f16a24ad8b33ba48d0423b6efd5e6348100d8a82"],["1697ffa6fd9de627c077e3d2fe541084ce13300b0bec1146f95ae57f0d0bd6a5","b9c398f186806f5d27561506e4557433a2cf15009e498ae7adee9d63d01b2396"],["605bdb019981718b986d0f07e834cb0d9deb8360ffb7f61df982345ef27a7479","2972d2de4f8d20681a78d93ec96fe23c26bfae84fb14db43b01e1e9056b8c49"],["62d14dab4150bf497402fdc45a215e10dcb01c354959b10cfe31c7e9d87ff33d","80fc06bd8cc5b01098088a1950eed0db01aa132967ab472235f5642483b25eaf"],["80c60ad0040f27dade5b4b06c408e56b2c50e9f56b9b8b425e555c2f86308b6f","1c38303f1cc5c30f26e66bad7fe72f70a65eed4cbe7024eb1aa01f56430bd57a"],["7a9375ad6167ad54aa74c6348cc54d344cc5dc9487d847049d5eabb0fa03c8fb","d0e3fa9eca8726909559e0d79269046bdc59ea10c70ce2b02d499ec224dc7f7"],["d528ecd9b696b54c907a9ed045447a79bb408ec39b68df504bb51f459bc3ffc9","eecf41253136e5f99966f21881fd656ebc4345405c520dbc063465b521409933"],["49370a4b5f43412ea25f514e8ecdad05266115e4a7ecb1387231808f8b45963","758f3f41afd6ed428b3081b0512fd62a54c3f3afbb5b6764b653052a12949c9a"],["77f230936ee88cbbd73df930d64702ef881d811e0e1498e2f1c13eb1fc345d74","958ef42a7886b6400a08266e9ba1b37896c95330d97077cbbe8eb3c7671c60d6"],["f2dac991cc4ce4b9ea44887e5c7c0bce58c80074ab9d4dbaeb28531b7739f530","e0dedc9b3b2f8dad4da1f32dec2531df9eb5fbeb0598e4fd1a117dba703a3c37"],["463b3d9f662621fb1b4be8fbbe2520125a216cdfc9dae3debcba4850c690d45b","5ed430d78c296c3543114306dd8622d7c622e27c970a1de31cb377b01af7307e"],["f16f804244e46e2a09232d4aff3b59976b98fac14328a2d1a32496b49998f247","cedabd9b82203f7e13d206fcdf4e33d92a6c53c26e5cce26d6579962c4e31df6"],["caf754272dc84563b0352b7a14311af55d245315ace27c65369e15f7151d41d1","cb474660ef35f5f2a41b643fa5e460575f4fa9b7962232a5c32f908318a04476"],["2600ca4b282cb986f85d0f1709979d8b44a09c07cb86d7c124497bc86f082120","4119b88753c15bd6a693b03fcddbb45d5ac6be74ab5f0ef44b0be9475a7e4b40"],["7635ca72d7e8432c338ec53cd12220bc01c48685e24f7dc8c602a7746998e435","91b649609489d613d1d5e590f78e6d74ecfc061d57048bad9e76f302c5b9c61"],["754e3239f325570cdbbf4a87deee8a66b7f2b33479d468fbc1a50743bf56cc18","673fb86e5bda30fb3cd0ed304ea49a023ee33d0197a695d0c5d98093c536683"],["e3e6bd1071a1e96aff57859c82d570f0330800661d1c952f9fe2694691d9b9e8","59c9e0bba394e76f40c0aa58379a3cb6a5a2283993e90c4167002af4920e37f5"],["186b483d056a033826ae73d88f732985c4ccb1f32ba35f4b4cc47fdcf04aa6eb","3b952d32c67cf77e2e17446e204180ab21fb8090895138b4a4a797f86e80888b"],["df9d70a6b9876ce544c98561f4be4f725442e6d2b737d9c91a8321724ce0963f","55eb2dafd84d6ccd5f862b785dc39d4ab157222720ef9da217b8c45cf2ba2417"],["5edd5cc23c51e87a497ca815d5dce0f8ab52554f849ed8995de64c5f34ce7143","efae9c8dbc14130661e8cec030c89ad0c13c66c0d17a2905cdc706ab7399a868"],["290798c2b6476830da12fe02287e9e777aa3fba1c355b17a722d362f84614fba","e38da76dcd440621988d00bcf79af25d5b29c094db2a23146d003afd41943e7a"],["af3c423a95d9f5b3054754efa150ac39cd29552fe360257362dfdecef4053b45","f98a3fd831eb2b749a93b0e6f35cfb40c8cd5aa667a15581bc2feded498fd9c6"],["766dbb24d134e745cccaa28c99bf274906bb66b26dcf98df8d2fed50d884249a","744b1152eacbe5e38dcc887980da38b897584a65fa06cedd2c924f97cbac5996"],["59dbf46f8c94759ba21277c33784f41645f7b44f6c596a58ce92e666191abe3e","c534ad44175fbc300f4ea6ce648309a042ce739a7919798cd85e216c4a307f6e"],["f13ada95103c4537305e691e74e9a4a8dd647e711a95e73cb62dc6018cfd87b8","e13817b44ee14de663bf4bc808341f326949e21a6a75c2570778419bdaf5733d"],["7754b4fa0e8aced06d4167a2c59cca4cda1869c06ebadfb6488550015a88522c","30e93e864e669d82224b967c3020b8fa8d1e4e350b6cbcc537a48b57841163a2"],["948dcadf5990e048aa3874d46abef9d701858f95de8041d2a6828c99e2262519","e491a42537f6e597d5d28a3224b1bc25df9154efbd2ef1d2cbba2cae5347d57e"],["7962414450c76c1689c7b48f8202ec37fb224cf5ac0bfa1570328a8a3d7c77ab","100b610ec4ffb4760d5c1fc133ef6f6b12507a051f04ac5760afa5b29db83437"],["3514087834964b54b15b160644d915485a16977225b8847bb0dd085137ec47ca","ef0afbb2056205448e1652c48e8127fc6039e77c15c2378b7e7d15a0de293311"],["d3cc30ad6b483e4bc79ce2c9dd8bc54993e947eb8df787b442943d3f7b527eaf","8b378a22d827278d89c5e9be8f9508ae3c2ad46290358630afb34db04eede0a4"],["1624d84780732860ce1c78fcbfefe08b2b29823db913f6493975ba0ff4847610","68651cf9b6da903e0914448c6cd9d4ca896878f5282be4c8cc06e2a404078575"],["733ce80da955a8a26902c95633e62a985192474b5af207da6df7b4fd5fc61cd4","f5435a2bd2badf7d485a4d8b8db9fcce3e1ef8e0201e4578c54673bc1dc5ea1d"],["15d9441254945064cf1a1c33bbd3b49f8966c5092171e699ef258dfab81c045c","d56eb30b69463e7234f5137b73b84177434800bacebfc685fc37bbe9efe4070d"],["a1d0fcf2ec9de675b612136e5ce70d271c21417c9d2b8aaaac138599d0717940","edd77f50bcb5a3cab2e90737309667f2641462a54070f3d519212d39c197a629"],["e22fbe15c0af8ccc5780c0735f84dbe9a790badee8245c06c7ca37331cb36980","a855babad5cd60c88b430a69f53a1a7a38289154964799be43d06d77d31da06"],["311091dd9860e8e20ee13473c1155f5f69635e394704eaa74009452246cfa9b3","66db656f87d1f04fffd1f04788c06830871ec5a64feee685bd80f0b1286d8374"],["34c1fd04d301be89b31c0442d3e6ac24883928b45a9340781867d4232ec2dbdf","9414685e97b1b5954bd46f730174136d57f1ceeb487443dc5321857ba73abee"],["f219ea5d6b54701c1c14de5b557eb42a8d13f3abbcd08affcc2a5e6b049b8d63","4cb95957e83d40b0f73af4544cccf6b1f4b08d3c07b27fb8d8c2962a400766d1"],["d7b8740f74a8fbaab1f683db8f45de26543a5490bca627087236912469a0b448","fa77968128d9c92ee1010f337ad4717eff15db5ed3c049b3411e0315eaa4593b"],["32d31c222f8f6f0ef86f7c98d3a3335ead5bcd32abdd94289fe4d3091aa824bf","5f3032f5892156e39ccd3d7915b9e1da2e6dac9e6f26e961118d14b8462e1661"],["7461f371914ab32671045a155d9831ea8793d77cd59592c4340f86cbc18347b5","8ec0ba238b96bec0cbdddcae0aa442542eee1ff50c986ea6b39847b3cc092ff6"],["ee079adb1df1860074356a25aa38206a6d716b2c3e67453d287698bad7b2b2d6","8dc2412aafe3be5c4c5f37e0ecc5f9f6a446989af04c4e25ebaac479ec1c8c1e"],["16ec93e447ec83f0467b18302ee620f7e65de331874c9dc72bfd8616ba9da6b5","5e4631150e62fb40d0e8c2a7ca5804a39d58186a50e497139626778e25b0674d"],["eaa5f980c245f6f038978290afa70b6bd8855897f98b6aa485b96065d537bd99","f65f5d3e292c2e0819a528391c994624d784869d7e6ea67fb18041024edc07dc"],["78c9407544ac132692ee1910a02439958ae04877151342ea96c4b6b35a49f51","f3e0319169eb9b85d5404795539a5e68fa1fbd583c064d2462b675f194a3ddb4"],["494f4be219a1a77016dcd838431aea0001cdc8ae7a6fc688726578d9702857a5","42242a969283a5f339ba7f075e36ba2af925ce30d767ed6e55f4b031880d562c"],["a598a8030da6d86c6bc7f2f5144ea549d28211ea58faa70ebf4c1e665c1fe9b5","204b5d6f84822c307e4b4a7140737aec23fc63b65b35f86a10026dbd2d864e6b"],["c41916365abb2b5d09192f5f2dbeafec208f020f12570a184dbadc3e58595997","4f14351d0087efa49d245b328984989d5caf9450f34bfc0ed16e96b58fa9913"],["841d6063a586fa475a724604da03bc5b92a2e0d2e0a36acfe4c73a5514742881","73867f59c0659e81904f9a1c7543698e62562d6744c169ce7a36de01a8d6154"],["5e95bb399a6971d376026947f89bde2f282b33810928be4ded112ac4d70e20d5","39f23f366809085beebfc71181313775a99c9aed7d8ba38b161384c746012865"],["36e4641a53948fd476c39f8a99fd974e5ec07564b5315d8bf99471bca0ef2f66","d2424b1b1abe4eb8164227b085c9aa9456ea13493fd563e06fd51cf5694c78fc"],["336581ea7bfbbb290c191a2f507a41cf5643842170e914faeab27c2c579f726","ead12168595fe1be99252129b6e56b3391f7ab1410cd1e0ef3dcdcabd2fda224"],["8ab89816dadfd6b6a1f2634fcf00ec8403781025ed6890c4849742706bd43ede","6fdcef09f2f6d0a044e654aef624136f503d459c3e89845858a47a9129cdd24e"],["1e33f1a746c9c5778133344d9299fcaa20b0938e8acff2544bb40284b8c5fb94","60660257dd11b3aa9c8ed618d24edff2306d320f1d03010e33a7d2057f3b3b6"],["85b7c1dcb3cec1b7ee7f30ded79dd20a0ed1f4cc18cbcfcfa410361fd8f08f31","3d98a9cdd026dd43f39048f25a8847f4fcafad1895d7a633c6fed3c35e999511"],["29df9fbd8d9e46509275f4b125d6d45d7fbe9a3b878a7af872a2800661ac5f51","b4c4fe99c775a606e2d8862179139ffda61dc861c019e55cd2876eb2a27d84b"],["a0b1cae06b0a847a3fea6e671aaf8adfdfe58ca2f768105c8082b2e449fce252","ae434102edde0958ec4b19d917a6a28e6b72da1834aff0e650f049503a296cf2"],["4e8ceafb9b3e9a136dc7ff67e840295b499dfb3b2133e4ba113f2e4c0e121e5","cf2174118c8b6d7a4b48f6d534ce5c79422c086a63460502b827ce62a326683c"],["d24a44e047e19b6f5afb81c7ca2f69080a5076689a010919f42725c2b789a33b","6fb8d5591b466f8fc63db50f1c0f1c69013f996887b8244d2cdec417afea8fa3"],["ea01606a7a6c9cdd249fdfcfacb99584001edd28abbab77b5104e98e8e3b35d4","322af4908c7312b0cfbfe369f7a7b3cdb7d4494bc2823700cfd652188a3ea98d"],["af8addbf2b661c8a6c6328655eb96651252007d8c5ea31be4ad196de8ce2131f","6749e67c029b85f52a034eafd096836b2520818680e26ac8f3dfbcdb71749700"],["e3ae1974566ca06cc516d47e0fb165a674a3dabcfca15e722f0e3450f45889","2aeabe7e4531510116217f07bf4d07300de97e4874f81f533420a72eeb0bd6a4"],["591ee355313d99721cf6993ffed1e3e301993ff3ed258802075ea8ced397e246","b0ea558a113c30bea60fc4775460c7901ff0b053d25ca2bdeee98f1a4be5d196"],["11396d55fda54c49f19aa97318d8da61fa8584e47b084945077cf03255b52984","998c74a8cd45ac01289d5833a7beb4744ff536b01b257be4c5767bea93ea57a4"],["3c5d2a1ba39c5a1790000738c9e0c40b8dcdfd5468754b6405540157e017aa7a","b2284279995a34e2f9d4de7396fc18b80f9b8b9fdd270f6661f79ca4c81bd257"],["cc8704b8a60a0defa3a99a7299f2e9c3fbc395afb04ac078425ef8a1793cc030","bdd46039feed17881d1e0862db347f8cf395b74fc4bcdc4e940b74e3ac1f1b13"],["c533e4f7ea8555aacd9777ac5cad29b97dd4defccc53ee7ea204119b2889b197","6f0a256bc5efdf429a2fb6242f1a43a2d9b925bb4a4b3a26bb8e0f45eb596096"],["c14f8f2ccb27d6f109f6d08d03cc96a69ba8c34eec07bbcf566d48e33da6593","c359d6923bb398f7fd4473e16fe1c28475b740dd098075e6c0e8649113dc3a38"],["a6cbc3046bc6a450bac24789fa17115a4c9739ed75f8f21ce441f72e0b90e6ef","21ae7f4680e889bb130619e2c0f95a360ceb573c70603139862afd617fa9b9f"],["347d6d9a02c48927ebfb86c1359b1caf130a3c0267d11ce6344b39f99d43cc38","60ea7f61a353524d1c987f6ecec92f086d565ab687870cb12689ff1e31c74448"],["da6545d2181db8d983f7dcb375ef5866d47c67b1bf31c8cf855ef7437b72656a","49b96715ab6878a79e78f07ce5680c5d6673051b4935bd897fea824b77dc208a"],["c40747cc9d012cb1a13b8148309c6de7ec25d6945d657146b9d5994b8feb1111","5ca560753be2a12fc6de6caf2cb489565db936156b9514e1bb5e83037e0fa2d4"],["4e42c8ec82c99798ccf3a610be870e78338c7f713348bd34c8203ef4037f3502","7571d74ee5e0fb92a7a8b33a07783341a5492144cc54bcc40a94473693606437"],["3775ab7089bc6af823aba2e1af70b236d251cadb0c86743287522a1b3b0dedea","be52d107bcfa09d8bcb9736a828cfa7fac8db17bf7a76a2c42ad961409018cf7"],["cee31cbf7e34ec379d94fb814d3d775ad954595d1314ba8846959e3e82f74e26","8fd64a14c06b589c26b947ae2bcf6bfa0149ef0be14ed4d80f448a01c43b1c6d"],["b4f9eaea09b6917619f6ea6a4eb5464efddb58fd45b1ebefcdc1a01d08b47986","39e5c9925b5a54b07433a4f18c61726f8bb131c012ca542eb24a8ac07200682a"],["d4263dfc3d2df923a0179a48966d30ce84e2515afc3dccc1b77907792ebcc60e","62dfaf07a0f78feb30e30d6295853ce189e127760ad6cf7fae164e122a208d54"],["48457524820fa65a4f8d35eb6930857c0032acc0a4a2de422233eeda897612c4","25a748ab367979d98733c38a1fa1c2e7dc6cc07db2d60a9ae7a76aaa49bd0f77"],["dfeeef1881101f2cb11644f3a2afdfc2045e19919152923f367a1767c11cceda","ecfb7056cf1de042f9420bab396793c0c390bde74b4bbdff16a83ae09a9a7517"],["6d7ef6b17543f8373c573f44e1f389835d89bcbc6062ced36c82df83b8fae859","cd450ec335438986dfefa10c57fea9bcc521a0959b2d80bbf74b190dca712d10"],["e75605d59102a5a2684500d3b991f2e3f3c88b93225547035af25af66e04541f","f5c54754a8f71ee540b9b48728473e314f729ac5308b06938360990e2bfad125"],["eb98660f4c4dfaa06a2be453d5020bc99a0c2e60abe388457dd43fefb1ed620c","6cb9a8876d9cb8520609af3add26cd20a0a7cd8a9411131ce85f44100099223e"],["13e87b027d8514d35939f2e6892b19922154596941888336dc3563e3b8dba942","fef5a3c68059a6dec5d624114bf1e91aac2b9da568d6abeb2570d55646b8adf1"],["ee163026e9fd6fe017c38f06a5be6fc125424b371ce2708e7bf4491691e5764a","1acb250f255dd61c43d94ccc670d0f58f49ae3fa15b96623e5430da0ad6c62b2"],["b268f5ef9ad51e4d78de3a750c2dc89b1e626d43505867999932e5db33af3d80","5f310d4b3c99b9ebb19f77d41c1dee018cf0d34fd4191614003e945a1216e423"],["ff07f3118a9df035e9fad85eb6c7bfe42b02f01ca99ceea3bf7ffdba93c4750d","438136d603e858a3a5c440c38eccbaddc1d2942114e2eddd4740d098ced1f0d8"],["8d8b9855c7c052a34146fd20ffb658bea4b9f69e0d825ebec16e8c3ce2b526a1","cdb559eedc2d79f926baf44fb84ea4d44bcf50fee51d7ceb30e2e7f463036758"],["52db0b5384dfbf05bfa9d472d7ae26dfe4b851ceca91b1eba54263180da32b63","c3b997d050ee5d423ebaf66a6db9f57b3180c902875679de924b69d84a7b375"],["e62f9490d3d51da6395efd24e80919cc7d0f29c3f3fa48c6fff543becbd43352","6d89ad7ba4876b0b22c2ca280c682862f342c8591f1daf5170e07bfd9ccafa7d"],["7f30ea2476b399b4957509c88f77d0191afa2ff5cb7b14fd6d8e7d65aaab1193","ca5ef7d4b231c94c3b15389a5f6311e9daff7bb67b103e9880ef4bff637acaec"],["5098ff1e1d9f14fb46a210fada6c903fef0fb7b4a1dd1d9ac60a0361800b7a00","9731141d81fc8f8084d37c6e7542006b3ee1b40d60dfe5362a5b132fd17ddc0"],["32b78c7de9ee512a72895be6b9cbefa6e2f3c4ccce445c96b9f2c81e2778ad58","ee1849f513df71e32efc3896ee28260c73bb80547ae2275ba497237794c8753c"],["e2cb74fddc8e9fbcd076eef2a7c72b0ce37d50f08269dfc074b581550547a4f7","d3aa2ed71c9dd2247a62df062736eb0baddea9e36122d2be8641abcb005cc4a4"],["8438447566d4d7bedadc299496ab357426009a35f235cb141be0d99cd10ae3a8","c4e1020916980a4da5d01ac5e6ad330734ef0d7906631c4f2390426b2edd791f"],["4162d488b89402039b584c6fc6c308870587d9c46f660b878ab65c82c711d67e","67163e903236289f776f22c25fb8a3afc1732f2b84b4e95dbda47ae5a0852649"],["3fad3fa84caf0f34f0f89bfd2dcf54fc175d767aec3e50684f3ba4a4bf5f683d","cd1bc7cb6cc407bb2f0ca647c718a730cf71872e7d0d2a53fa20efcdfe61826"],["674f2600a3007a00568c1a7ce05d0816c1fb84bf1370798f1c69532faeb1a86b","299d21f9413f33b3edf43b257004580b70db57da0b182259e09eecc69e0d38a5"],["d32f4da54ade74abb81b815ad1fb3b263d82d6c692714bcff87d29bd5ee9f08f","f9429e738b8e53b968e99016c059707782e14f4535359d582fc416910b3eea87"],["30e4e670435385556e593657135845d36fbb6931f72b08cb1ed954f1e3ce3ff6","462f9bce619898638499350113bbc9b10a878d35da70740dc695a559eb88db7b"],["be2062003c51cc3004682904330e4dee7f3dcd10b01e580bf1971b04d4cad297","62188bc49d61e5428573d48a74e1c655b1c61090905682a0d5558ed72dccb9bc"],["93144423ace3451ed29e0fb9ac2af211cb6e84a601df5993c419859fff5df04a","7c10dfb164c3425f5c71a3f9d7992038f1065224f72bb9d1d902a6d13037b47c"],["b015f8044f5fcbdcf21ca26d6c34fb8197829205c7b7d2a7cb66418c157b112c","ab8c1e086d04e813744a655b2df8d5f83b3cdc6faa3088c1d3aea1454e3a1d5f"],["d5e9e1da649d97d89e4868117a465a3a4f8a18de57a140d36b3f2af341a21b52","4cb04437f391ed73111a13cc1d4dd0db1693465c2240480d8955e8592f27447a"],["d3ae41047dd7ca065dbf8ed77b992439983005cd72e16d6f996a5316d36966bb","bd1aeb21ad22ebb22a10f0303417c6d964f8cdd7df0aca614b10dc14d125ac46"],["463e2763d885f958fc66cdd22800f0a487197d0a82e377b49f80af87c897b065","bfefacdb0e5d0fd7df3a311a94de062b26b80c61fbc97508b79992671ef7ca7f"],["7985fdfd127c0567c6f53ec1bb63ec3158e597c40bfe747c83cddfc910641917","603c12daf3d9862ef2b25fe1de289aed24ed291e0ec6708703a5bd567f32ed03"],["74a1ad6b5f76e39db2dd249410eac7f99e74c59cb83d2d0ed5ff1543da7703e9","cc6157ef18c9c63cd6193d83631bbea0093e0968942e8c33d5737fd790e0db08"],["30682a50703375f602d416664ba19b7fc9bab42c72747463a71d0896b22f6da3","553e04f6b018b4fa6c8f39e7f311d3176290d0e0f19ca73f17714d9977a22ff8"],["9e2158f0d7c0d5f26c3791efefa79597654e7a2b2464f52b1ee6c1347769ef57","712fcdd1b9053f09003a3481fa7762e9ffd7c8ef35a38509e2fbf2629008373"],["176e26989a43c9cfeba4029c202538c28172e566e3c4fce7322857f3be327d66","ed8cc9d04b29eb877d270b4878dc43c19aefd31f4eee09ee7b47834c1fa4b1c3"],["75d46efea3771e6e68abb89a13ad747ecf1892393dfc4f1b7004788c50374da8","9852390a99507679fd0b86fd2b39a868d7efc22151346e1a3ca4726586a6bed8"],["809a20c67d64900ffb698c4c825f6d5f2310fb0451c869345b7319f645605721","9e994980d9917e22b76b061927fa04143d096ccc54963e6a5ebfa5f3f8e286c1"],["1b38903a43f7f114ed4500b4eac7083fdefece1cf29c63528d563446f972c180","4036edc931a60ae889353f77fd53de4a2708b26b6f5da72ad3394119daf408f9"]]}};!function(t){var e,r=qh,i=Kh,n=ah,o=th.assert;function s(t){"short"===t.type?this.curve=new n.short(t):"edwards"===t.type?this.curve=new n.edwards(t):this.curve=new n.mont(t),this.g=this.curve.g,this.n=this.curve.n,this.hash=t.hash,o(this.g.validate(),"Invalid curve"),o(this.g.mul(this.n).isInfinity(),"Invalid curve, G*N != O")}function h(t,e){Object.defineProperty(r,t,{configurable:!0,enumerable:!0,get:function(){var i=new s(e);return Object.defineProperty(r,t,{configurable:!0,enumerable:!0,value:i}),i}})}r.PresetCurve=s,h("p192",{type:"short",prime:"p192",p:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff",a:"ffffffff ffffffff ffffffff fffffffe ffffffff fffffffc",b:"64210519 e59c80e7 0fa7e9ab 72243049 feb8deec c146b9b1",n:"ffffffff ffffffff ffffffff 99def836 146bc9b1 b4d22831",hash:i.sha256,gRed:!1,g:["188da80e b03090f6 7cbf20eb 43a18800 f4ff0afd 82ff1012","07192b95 ffc8da78 631011ed 6b24cdd5 73f977a1 1e794811"]}),h("p224",{type:"short",prime:"p224",p:"ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001",a:"ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff fffffffe",b:"b4050a85 0c04b3ab f5413256 5044b0b7 d7bfd8ba 270b3943 2355ffb4",n:"ffffffff ffffffff ffffffff ffff16a2 e0b8f03e 13dd2945 5c5c2a3d",hash:i.sha256,gRed:!1,g:["b70e0cbd 6bb4bf7f 321390b9 4a03c1d3 56c21122 343280d6 115c1d21","bd376388 b5f723fb 4c22dfe6 cd4375a0 5a074764 44d58199 85007e34"]}),h("p256",{type:"short",prime:null,p:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff ffffffff",a:"ffffffff 00000001 00000000 00000000 00000000 ffffffff ffffffff fffffffc",b:"5ac635d8 aa3a93e7 b3ebbd55 769886bc 651d06b0 cc53b0f6 3bce3c3e 27d2604b",n:"ffffffff 00000000 ffffffff ffffffff bce6faad a7179e84 f3b9cac2 fc632551",hash:i.sha256,gRed:!1,g:["6b17d1f2 e12c4247 f8bce6e5 63a440f2 77037d81 2deb33a0 f4a13945 d898c296","4fe342e2 fe1a7f9b 8ee7eb4a 7c0f9e16 2bce3357 6b315ece cbb64068 37bf51f5"]}),h("p384",{type:"short",prime:null,p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 ffffffff",a:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe ffffffff 00000000 00000000 fffffffc",b:"b3312fa7 e23ee7e4 988e056b e3f82d19 181d9c6e fe814112 0314088f 5013875a c656398d 8a2ed19d 2a85c8ed d3ec2aef",n:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff c7634d81 f4372ddf 581a0db2 48b0a77a ecec196a ccc52973",hash:i.sha384,gRed:!1,g:["aa87ca22 be8b0537 8eb1c71e f320ad74 6e1d3b62 8ba79b98 59f741e0 82542a38 5502f25d bf55296c 3a545e38 72760ab7","3617de4a 96262c6f 5d9e98bf 9292dc29 f8f41dbd 289a147c e9da3113 b5f0b8c0 0a60b1ce 1d7e819d 7a431d7c 90ea0e5f"]}),h("p521",{type:"short",prime:null,p:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff",a:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffc",b:"00000051 953eb961 8e1c9a1f 929a21a0 b68540ee a2da725b 99b315f3 b8b48991 8ef109e1 56193951 ec7e937b 1652c0bd 3bb1bf07 3573df88 3d2c34f1 ef451fd4 6b503f00",n:"000001ff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffa 51868783 bf2f966b 7fcc0148 f709a5d0 3bb5c9b8 899c47ae bb6fb71e 91386409",hash:i.sha512,gRed:!1,g:["000000c6 858e06b7 0404e9cd 9e3ecb66 2395b442 9c648139 053fb521 f828af60 6b4d3dba a14b5e77 efe75928 fe1dc127 a2ffa8de 3348b3c1 856a429b f97e7e31 c2e5bd66","00000118 39296a78 9a3bc004 5c8a5fb4 2c7d1bd9 98f54449 579b4468 17afbd17 273e662c 97ee7299 5ef42640 c550b901 3fad0761 353c7086 a272c240 88be9476 9fd16650"]}),h("curve25519",{type:"mont",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"76d06",b:"1",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:i.sha256,gRed:!1,g:["9"]}),h("ed25519",{type:"edwards",prime:"p25519",p:"7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed",a:"-1",c:"1",d:"52036cee2b6ffe73 8cc740797779e898 00700a4d4141d8ab 75eb4dca135978a3",n:"1000000000000000 0000000000000000 14def9dea2f79cd6 5812631a5cf5d3ed",hash:i.sha256,gRed:!1,g:["216936d3cd6e53fec0a4e231fdd6dc5c692cc7609525a7b2c9562d608f25d51a","6666666666666666666666666666666666666666666666666666666666666658"]});try{e=Du}catch(t){e=void 0}h("secp256k1",{type:"short",prime:"k256",p:"ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f",a:"0",b:"7",n:"ffffffff ffffffff ffffffff fffffffe baaedce6 af48a03b bfd25e8c d0364141",h:"1",hash:i.sha256,beta:"7ae96a2b657c07106e64479eac3434e99cf0497512f58995c1396c28719501ee",lambda:"5363ad4cc05c30e0a5261c028812645a122e22ea20816678df02967c1b23bd72",basis:[{a:"3086d221a7d46bcde86c90e49284eb15",b:"-e4437ed6010e88286f547fa90abfe4c3"},{a:"114ca50f7a8e2f3f657c1108d9d44cfd8",b:"3086d221a7d46bcde86c90e49284eb15"}],gRed:!1,g:["79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8",e]})}();var ju=Kh,Hu=nh,qu=rh;function Ku(t){if(!(this instanceof Ku))return new Ku(t);this.hash=t.hash,this.predResist=!!t.predResist,this.outLen=this.hash.outSize,this.minEntropy=t.minEntropy||this.hash.hmacStrength,this._reseed=null,this.reseedInterval=null,this.K=null,this.V=null;var e=Hu.toArray(t.entropy,t.entropyEnc||"hex"),r=Hu.toArray(t.nonce,t.nonceEnc||"hex"),i=Hu.toArray(t.pers,t.persEnc||"hex");qu(e.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._init(e,r,i)}var Fu=Ku;Ku.prototype._init=function(t,e,r){var i=t.concat(e).concat(r);this.K=new Array(this.outLen/8),this.V=new Array(this.outLen/8);for(var n=0;n<this.V.length;n++)this.K[n]=0,this.V[n]=1;this._update(i),this._reseed=1,this.reseedInterval=281474976710656},Ku.prototype._hmac=function(){return new ju.hmac(this.hash,this.K)},Ku.prototype._update=function(t){var e=this._hmac().update(this.V).update([0]);t&&(e=e.update(t)),this.K=e.digest(),this.V=this._hmac().update(this.V).digest(),t&&(this.K=this._hmac().update(this.V).update([1]).update(t).digest(),this.V=this._hmac().update(this.V).digest())},Ku.prototype.reseed=function(t,e,r,i){"string"!=typeof e&&(i=r,r=e,e=null),t=Hu.toArray(t,e),r=Hu.toArray(r,i),qu(t.length>=this.minEntropy/8,"Not enough entropy. Minimum is: "+this.minEntropy+" bits"),this._update(t.concat(r||[])),this._reseed=1},Ku.prototype.generate=function(t,e,r,i){if(this._reseed>this.reseedInterval)throw new Error("Reseed is required");"string"!=typeof e&&(i=r,r=e,e=null),r&&(r=Hu.toArray(r,i||"hex"),this._update(r));for(var n=[];n.length<t;)this.V=this._hmac().update(this.V).digest(),n=n.concat(this.V);var o=n.slice(0,t);return this._update(r),this._reseed++,Hu.encode(o,e)};var zu=eh.exports,Wu=th.assert;function Vu(t,e){this.ec=t,this.priv=null,this.pub=null,e.priv&&this._importPrivate(e.priv,e.privEnc),e.pub&&this._importPublic(e.pub,e.pubEnc)}var Zu=Vu;Vu.fromPublic=function(t,e,r){return e instanceof Vu?e:new Vu(t,{pub:e,pubEnc:r})},Vu.fromPrivate=function(t,e,r){return e instanceof Vu?e:new Vu(t,{priv:e,privEnc:r})},Vu.prototype.validate=function(){var t=this.getPublic();return t.isInfinity()?{result:!1,reason:"Invalid public key"}:t.validate()?t.mul(this.ec.curve.n).isInfinity()?{result:!0,reason:null}:{result:!1,reason:"Public key * N != O"}:{result:!1,reason:"Public key is not a point"}},Vu.prototype.getPublic=function(t,e){return"string"==typeof t&&(e=t,t=null),this.pub||(this.pub=this.ec.g.mul(this.priv)),e?this.pub.encode(e,t):this.pub},Vu.prototype.getPrivate=function(t){return"hex"===t?this.priv.toString(16,2):this.priv},Vu.prototype._importPrivate=function(t,e){this.priv=new zu(t,e||16),this.priv=this.priv.umod(this.ec.curve.n)},Vu.prototype._importPublic=function(t,e){if(t.x||t.y)return"mont"===this.ec.curve.type?Wu(t.x,"Need x coordinate"):"short"!==this.ec.curve.type&&"edwards"!==this.ec.curve.type||Wu(t.x&&t.y,"Need both x and y coordinate"),void(this.pub=this.ec.curve.point(t.x,t.y));this.pub=this.ec.curve.decodePoint(t,e)},Vu.prototype.derive=function(t){return t.validate()||Wu(t.validate(),"public point not validated"),t.mul(this.priv).getX()},Vu.prototype.sign=function(t,e,r){return this.ec.sign(t,this,e,r)},Vu.prototype.verify=function(t,e){return this.ec.verify(t,e,this)},Vu.prototype.inspect=function(){return"<Key priv: "+(this.priv&&this.priv.toString(16,2))+" pub: "+(this.pub&&this.pub.inspect())+" >"};var Gu=eh.exports,$u=th,Xu=$u.assert;function Yu(t,e){if(t instanceof Yu)return t;this._importDER(t,e)||(Xu(t.r&&t.s,"Signature without r or s"),this.r=new Gu(t.r,16),this.s=new Gu(t.s,16),void 0===t.recoveryParam?this.recoveryParam=null:this.recoveryParam=t.recoveryParam)}var Ju=Yu;function Qu(){this.place=0}function tf(t,e){var r=t[e.place++];if(!(128&r))return r;var i=15&r;if(0===i||i>4)return!1;for(var n=0,o=0,s=e.place;o<i;o++,s++)n<<=8,n|=t[s],n>>>=0;return!(n<=127)&&(e.place=s,n)}function ef(t){for(var e=0,r=t.length-1;!t[e]&&!(128&t[e+1])&&e<r;)e++;return 0===e?t:t.slice(e)}function rf(t,e){if(e<128)t.push(e);else{var r=1+(Math.log(e)/Math.LN2>>>3);for(t.push(128|r);--r;)t.push(e>>>(r<<3)&255);t.push(e)}}Yu.prototype._importDER=function(t,e){t=$u.toArray(t,e);var r=new Qu;if(48!==t[r.place++])return!1;var i=tf(t,r);if(!1===i)return!1;if(i+r.place!==t.length)return!1;if(2!==t[r.place++])return!1;var n=tf(t,r);if(!1===n)return!1;var o=t.slice(r.place,n+r.place);if(r.place+=n,2!==t[r.place++])return!1;var s=tf(t,r);if(!1===s)return!1;if(t.length!==s+r.place)return!1;var h=t.slice(r.place,s+r.place);if(0===o[0]){if(!(128&o[1]))return!1;o=o.slice(1)}if(0===h[0]){if(!(128&h[1]))return!1;h=h.slice(1)}return this.r=new Gu(o),this.s=new Gu(h),this.recoveryParam=null,!0},Yu.prototype.toDER=function(t){var e=this.r.toArray(),r=this.s.toArray();for(128&e[0]&&(e=[0].concat(e)),128&r[0]&&(r=[0].concat(r)),e=ef(e),r=ef(r);!(r[0]||128&r[1]);)r=r.slice(1);var i=[2];rf(i,e.length),(i=i.concat(e)).push(2),rf(i,r.length);var n=i.concat(r),o=[48];return rf(o,n.length),o=o.concat(n),$u.encode(o,t)};var nf=eh.exports,of=Fu,sf=qh,hf=hh,af=th.assert,uf=Zu,ff=Ju;function lf(t){if(!(this instanceof lf))return new lf(t);"string"==typeof t&&(af(Object.prototype.hasOwnProperty.call(sf,t),"Unknown curve "+t),t=sf[t]),t instanceof sf.PresetCurve&&(t={curve:t}),this.curve=t.curve.curve,this.n=this.curve.n,this.nh=this.n.ushrn(1),this.g=this.curve.g,this.g=t.curve.g,this.g.precompute(t.curve.n.bitLength()+1),this.hash=t.hash||t.curve.hash}var cf=lf;lf.prototype.keyPair=function(t){return new uf(this,t)},lf.prototype.keyFromPrivate=function(t,e){return uf.fromPrivate(this,t,e)},lf.prototype.keyFromPublic=function(t,e){return uf.fromPublic(this,t,e)},lf.prototype.genKeyPair=function(t){t||(t={});for(var e=new of({hash:this.hash,pers:t.pers,persEnc:t.persEnc||"utf8",entropy:t.entropy||hf(this.hash.hmacStrength),entropyEnc:t.entropy&&t.entropyEnc||"utf8",nonce:this.n.toArray()}),r=this.n.byteLength(),i=this.n.sub(new nf(2));;){var n=new nf(e.generate(r));if(!(n.cmp(i)>0))return n.iaddn(1),this.keyFromPrivate(n)}},lf.prototype._truncateToN=function(t,e){var r=8*t.byteLength()-this.n.bitLength();return r>0&&(t=t.ushrn(r)),!e&&t.cmp(this.n)>=0?t.sub(this.n):t},lf.prototype.sign=function(t,e,r,i){"object"==typeof r&&(i=r,r=null),i||(i={}),e=this.keyFromPrivate(e,r),t=this._truncateToN(new nf(t,16));for(var n=this.n.byteLength(),o=e.getPrivate().toArray("be",n),s=t.toArray("be",n),h=new of({hash:this.hash,entropy:o,nonce:s,pers:i.pers,persEnc:i.persEnc||"utf8"}),a=this.n.sub(new nf(1)),u=0;;u++){var f=i.k?i.k(u):new nf(h.generate(this.n.byteLength()));if(!((f=this._truncateToN(f,!0)).cmpn(1)<=0||f.cmp(a)>=0)){var l=this.g.mul(f);if(!l.isInfinity()){var c=l.getX(),d=c.umod(this.n);if(0!==d.cmpn(0)){var p=f.invm(this.n).mul(d.mul(e.getPrivate()).iadd(t));if(0!==(p=p.umod(this.n)).cmpn(0)){var m=(l.getY().isOdd()?1:0)|(0!==c.cmp(d)?2:0);return i.canonical&&p.cmp(this.nh)>0&&(p=this.n.sub(p),m^=1),new ff({r:d,s:p,recoveryParam:m})}}}}}},lf.prototype.verify=function(t,e,r,i){t=this._truncateToN(new nf(t,16)),r=this.keyFromPublic(r,i);var n=(e=new ff(e,"hex")).r,o=e.s;if(n.cmpn(1)<0||n.cmp(this.n)>=0)return!1;if(o.cmpn(1)<0||o.cmp(this.n)>=0)return!1;var s,h=o.invm(this.n),a=h.mul(t).umod(this.n),u=h.mul(n).umod(this.n);return this.curve._maxwellTrick?!(s=this.g.jmulAdd(a,r.getPublic(),u)).isInfinity()&&s.eqXToP(n):!(s=this.g.mulAdd(a,r.getPublic(),u)).isInfinity()&&0===s.getX().umod(this.n).cmp(n)},lf.prototype.recoverPubKey=function(t,e,r,i){af((3&r)===r,"The recovery param is more than two bits"),e=new ff(e,i);var n=this.n,o=new nf(t),s=e.r,h=e.s,a=1&r,u=r>>1;if(s.cmp(this.curve.p.umod(this.curve.n))>=0&&u)throw new Error("Unable to find sencond key candinate");s=u?this.curve.pointFromX(s.add(this.curve.n),a):this.curve.pointFromX(s,a);var f=e.r.invm(n),l=n.sub(o).mul(f).umod(n),c=h.mul(f).umod(n);return this.g.mulAdd(l,s,c)},lf.prototype.getKeyRecoveryParam=function(t,e,r,i){if(null!==(e=new ff(e,i)).recoveryParam)return e.recoveryParam;for(var n=0;n<4;n++){var o;try{o=this.recoverPubKey(t,e,n)}catch(t){continue}if(o.eq(r))return n}throw new Error("Unable to find valid recovery factor")};var df=th,pf=df.assert,mf=df.parseBytes,gf=df.cachedProperty;function yf(t,e){this.eddsa=t,this._secret=mf(e.secret),t.isPoint(e.pub)?this._pub=e.pub:this._pubBytes=mf(e.pub)}yf.fromPublic=function(t,e){return e instanceof yf?e:new yf(t,{pub:e})},yf.fromSecret=function(t,e){return e instanceof yf?e:new yf(t,{secret:e})},yf.prototype.secret=function(){return this._secret},gf(yf,"pubBytes",(function(){return this.eddsa.encodePoint(this.pub())})),gf(yf,"pub",(function(){return this._pubBytes?this.eddsa.decodePoint(this._pubBytes):this.eddsa.g.mul(this.priv())})),gf(yf,"privBytes",(function(){var t=this.eddsa,e=this.hash(),r=t.encodingLength-1,i=e.slice(0,t.encodingLength);return i[0]&=248,i[r]&=127,i[r]|=64,i})),gf(yf,"priv",(function(){return this.eddsa.decodeInt(this.privBytes())})),gf(yf,"hash",(function(){return this.eddsa.hash().update(this.secret()).digest()})),gf(yf,"messagePrefix",(function(){return this.hash().slice(this.eddsa.encodingLength)})),yf.prototype.sign=function(t){return pf(this._secret,"KeyPair can only verify"),this.eddsa.sign(t,this)},yf.prototype.verify=function(t,e){return this.eddsa.verify(t,e,this)},yf.prototype.getSecret=function(t){return pf(this._secret,"KeyPair is public only"),df.encode(this.secret(),t)},yf.prototype.getPublic=function(t){return df.encode(this.pubBytes(),t)};var vf=yf,bf=eh.exports,wf=th,Mf=wf.assert,_f=wf.cachedProperty,Sf=wf.parseBytes;function Ef(t,e){this.eddsa=t,"object"!=typeof e&&(e=Sf(e)),Array.isArray(e)&&(e={R:e.slice(0,t.encodingLength),S:e.slice(t.encodingLength)}),Mf(e.R&&e.S,"Signature without R or S"),t.isPoint(e.R)&&(this._R=e.R),e.S instanceof bf&&(this._S=e.S),this._Rencoded=Array.isArray(e.R)?e.R:e.Rencoded,this._Sencoded=Array.isArray(e.S)?e.S:e.Sencoded}_f(Ef,"S",(function(){return this.eddsa.decodeInt(this.Sencoded())})),_f(Ef,"R",(function(){return this.eddsa.decodePoint(this.Rencoded())})),_f(Ef,"Rencoded",(function(){return this.eddsa.encodePoint(this.R())})),_f(Ef,"Sencoded",(function(){return this.eddsa.encodeInt(this.S())})),Ef.prototype.toBytes=function(){return this.Rencoded().concat(this.Sencoded())},Ef.prototype.toHex=function(){return wf.encode(this.toBytes(),"hex").toUpperCase()};var kf=Ef,Af=Kh,If=qh,Tf=th,Of=Tf.assert,Pf=Tf.parseBytes,xf=vf,Bf=kf;function Rf(t){if(Of("ed25519"===t,"only tested with ed25519 so far"),!(this instanceof Rf))return new Rf(t);t=If[t].curve,this.curve=t,this.g=t.g,this.g.precompute(t.n.bitLength()+1),this.pointClass=t.point().constructor,this.encodingLength=Math.ceil(t.n.bitLength()/8),this.hash=Af.sha512}var Nf=Rf;Rf.prototype.sign=function(t,e){t=Pf(t);var r=this.keyFromSecret(e),i=this.hashInt(r.messagePrefix(),t),n=this.g.mul(i),o=this.encodePoint(n),s=this.hashInt(o,r.pubBytes(),t).mul(r.priv()),h=i.add(s).umod(this.curve.n);return this.makeSignature({R:n,S:h,Rencoded:o})},Rf.prototype.verify=function(t,e,r){t=Pf(t),e=this.makeSignature(e);var i=this.keyFromPublic(r),n=this.hashInt(e.Rencoded(),i.pubBytes(),t),o=this.g.mul(e.S());return e.R().add(i.pub().mul(n)).eq(o)},Rf.prototype.hashInt=function(){for(var t=this.hash(),e=0;e<arguments.length;e++)t.update(arguments[e]);return Tf.intFromLE(t.digest()).umod(this.curve.n)},Rf.prototype.keyFromPublic=function(t){return xf.fromPublic(this,t)},Rf.prototype.keyFromSecret=function(t){return xf.fromSecret(this,t)},Rf.prototype.makeSignature=function(t){return t instanceof Bf?t:new Bf(this,t)},Rf.prototype.encodePoint=function(t){var e=t.getY().toArray("le",this.encodingLength);return e[this.encodingLength-1]|=t.getX().isOdd()?128:0,e},Rf.prototype.decodePoint=function(t){var e=(t=Tf.parseBytes(t)).length-1,r=t.slice(0,e).concat(-129&t[e]),i=0!=(128&t[e]),n=Tf.intFromLE(r);return this.curve.pointFromY(n,i)},Rf.prototype.encodeInt=function(t){return t.toArray("le",this.encodingLength)},Rf.prototype.decodeInt=function(t){return Tf.intFromLE(t)},Rf.prototype.isPoint=function(t){return t instanceof this.pointClass},function(t){var e=Js;e.version=Qs,e.utils=th,e.rand=hh,e.curve=ah,e.curves=qh,e.ec=cf,e.eddsa=Nf}();const Uf=Fs,Cf=z.alloc(1,1),Lf=z.alloc(1,0);var Df=function(t,e,r,i,n){let o=z.alloc(32,0),s=z.alloc(32,1);o=Uf("sha256",o).update(s).update(Lf).update(e).update(t).update(n||"").digest(),s=Uf("sha256",o).update(s).digest(),o=Uf("sha256",o).update(s).update(Cf).update(e).update(t).update(n||"").digest(),s=Uf("sha256",o).update(s).digest(),s=Uf("sha256",o).update(s).digest();let h=s;for(;!i(h)||!r(h);)o=Uf("sha256",o).update(s).update(Lf).digest(),s=Uf("sha256",o).update(s).digest(),s=Uf("sha256",o).update(s).digest(),h=s;return h};const jf=Ys.exports,Hf=new(0,Js.ec)("secp256k1"),qf=Df,Kf=z.alloc(32,0),Ff=z.from("fffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141","hex"),zf=z.from("fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f","hex"),Wf=Hf.curve.n,Vf=Wf.shrn(1),Zf=Hf.curve.g;function Gf(t){return At(t)&&32===t.length}function $f(t){return!!Gf(t)&&t.compare(Ff)<0}function Xf(t){if(!At(t))return!1;if(t.length<33)return!1;const e=t[0],r=t.slice(1,33);if(0===r.compare(Kf))return!1;if(r.compare(zf)>=0)return!1;if((2===e||3===e)&&33===t.length){try{rl(t)}catch(t){return!1}return!0}const i=t.slice(33);return 0!==i.compare(Kf)&&(!(i.compare(zf)>=0)&&(4===e&&65===t.length))}function Yf(t){return 4!==t[0]}function Jf(t){return!!Gf(t)&&(t.compare(Kf)>0&&t.compare(Ff)<0)}function Qf(t,e){return void 0===t&&void 0!==e?Yf(e):void 0===t||t}function tl(t){return new jf(t)}function el(t){return t.toArrayLike(z,"be",32)}function rl(t){return Hf.curve.decodePoint(t)}function il(t,e){return z.from(t._encode(e))}function nl(t,e,r){if(!Gf(t))throw new TypeError("Expected Hash");if(!Jf(e))throw new TypeError("Expected Private");if(void 0!==r&&!Gf(r))throw new TypeError("Expected Extra Data (32 bytes)");const i=tl(e),n=tl(t);let o,s;qf(t,e,(function(t){const e=tl(t),r=Zf.mul(e);return!r.isInfinity()&&(o=r.x.umod(Wf),0!==o.isZero()&&(s=e.invm(Wf).mul(n.add(i.mul(o))).umod(Wf),0!==s.isZero()))}),Jf,r),s.cmp(Vf)>0&&(s=Wf.sub(s));const h=z.allocUnsafe(64);return el(o).copy(h,0),el(s).copy(h,32),h}var ol={isPoint:Xf,isPointCompressed:function(t){return!!Xf(t)&&Yf(t)},isPrivate:Jf,pointAdd:function(t,e,r){if(!Xf(t))throw new TypeError("Expected Point");if(!Xf(e))throw new TypeError("Expected Point");const i=rl(t),n=rl(e),o=i.add(n);return o.isInfinity()?null:il(o,Qf(r,t))},pointAddScalar:function(t,e,r){if(!Xf(t))throw new TypeError("Expected Point");if(!$f(e))throw new TypeError("Expected Tweak");const i=Qf(r,t),n=rl(t);if(0===e.compare(Kf))return il(n,i);const o=tl(e),s=Zf.mul(o),h=n.add(s);return h.isInfinity()?null:il(h,i)},pointCompress:function(t,e){if(!Xf(t))throw new TypeError("Expected Point");const r=rl(t);if(r.isInfinity())throw new TypeError("Expected Point");return il(r,Qf(e,t))},pointFromScalar:function(t,e){if(!Jf(t))throw new TypeError("Expected Private");const r=tl(t),i=Zf.mul(r);return i.isInfinity()?null:il(i,Qf(e))},pointMultiply:function(t,e,r){if(!Xf(t))throw new TypeError("Expected Point");if(!$f(e))throw new TypeError("Expected Tweak");const i=Qf(r,t),n=rl(t),o=tl(e),s=n.mul(o);return s.isInfinity()?null:il(s,i)},privateAdd:function(t,e){if(!Jf(t))throw new TypeError("Expected Private");if(!$f(e))throw new TypeError("Expected Tweak");const r=tl(t),i=tl(e),n=el(r.add(i).umod(Wf));return Jf(n)?n:null},privateSub:function(t,e){if(!Jf(t))throw new TypeError("Expected Private");if(!$f(e))throw new TypeError("Expected Tweak");const r=tl(t),i=tl(e),n=el(r.sub(i).umod(Wf));return Jf(n)?n:null},sign:function(t,e){return nl(t,e)},signWithEntropy:function(t,e,r){return nl(t,e,r)},verify:function(t,e,r,i){if(!Gf(t))throw new TypeError("Expected Hash");if(!Xf(e))throw new TypeError("Expected Point");if(!function(t){const e=t.slice(0,32),r=t.slice(32,64);return At(t)&&64===t.length&&e.compare(Ff)<0&&r.compare(Ff)<0}(r))throw new TypeError("Expected Signature");const n=rl(e),o=tl(r.slice(0,32)),s=tl(r.slice(32,64));if(i&&s.cmp(Vf)>0)return!1;if(o.gtn(0)<=0)return!1;if(s.gtn(0)<=0)return!1;const h=tl(t),a=s.invm(Wf),u=h.mul(a).umod(Wf),f=o.mul(a).umod(Wf),l=Zf.mulAdd(u,n,f);return!l.isInfinity()&&l.x.umod(Wf).eq(o)}},sl={Array:function(t){return null!=t&&t.constructor===Array},Boolean:function(t){return"boolean"==typeof t},Function:function(t){return"function"==typeof t},Nil:function(t){return null==t},Number:function(t){return"number"==typeof t},Object:function(t){return"object"==typeof t},String:function(t){return"string"==typeof t},"":function(){return!0}};for(var hl in sl.Null=sl.Nil,sl)sl[hl].toJSON=function(t){return t}.bind(null,hl);var al=sl,ul=al;function fl(t){return t.name||t.toString().match(/function (.*?)\s*\(/)[1]}function ll(t){return ul.Nil(t)?"":fl(t.constructor)}function cl(t,e){Error.captureStackTrace&&Error.captureStackTrace(t,e)}function dl(t){return ul.Function(t)?t.toJSON?t.toJSON():fl(t):ul.Array(t)?"Array":t&&ul.Object(t)?"Object":void 0!==t?t:""}function pl(t,e,r){var i=function(t){return ul.Function(t)?"":ul.String(t)?JSON.stringify(t):t&&ul.Object(t)?"":t}(e);return"Expected "+dl(t)+", got"+(""!==r?" "+r:"")+(""!==i?" "+i:"")}function ml(t,e,r){r=r||ll(e),this.message=pl(t,e,r),cl(this,ml),this.__type=t,this.__value=e,this.__valueTypeName=r}function gl(t,e,r,i,n){t?(n=n||ll(i),this.message=function(t,e,r,i,n){var o='" of type ';return"key"===e&&(o='" with key type '),pl('property "'+dl(r)+o+dl(t),i,n)}(t,r,e,i,n)):this.message='Unexpected property "'+e+'"',cl(this,ml),this.__label=r,this.__property=e,this.__type=t,this.__value=i,this.__valueTypeName=n}ml.prototype=Object.create(Error.prototype),ml.prototype.constructor=ml,gl.prototype=Object.create(Error.prototype),gl.prototype.constructor=ml;var yl={TfTypeError:ml,TfPropertyTypeError:gl,tfCustomError:function(t,e){return new ml(t,{},e)},tfSubError:function(t,e,r){return t instanceof gl?(e=e+"."+t.__property,t=new gl(t.__type,e,t.__label,t.__value,t.__valueTypeName)):t instanceof ml&&(t=new gl(t.__type,e,r,t.__value,t.__valueTypeName)),cl(t),t},tfJSON:dl,getValueTypeName:ll},vl=al,bl=yl;function wl(t){return At(t)}function Ml(t){return"string"==typeof t&&/^([0-9a-f]{2})+$/i.test(t)}function _l(t,e){var r=t.toJSON();function i(i){if(!t(i))return!1;if(i.length===e)return!0;throw bl.tfCustomError(r+"(Length: "+e+")",r+"(Length: "+i.length+")")}return i.toJSON=function(){return r},i}var Sl=_l.bind(null,vl.Array),El=_l.bind(null,wl),kl=_l.bind(null,Ml),Al=_l.bind(null,vl.String);var Il=Math.pow(2,53)-1;var Tl={ArrayN:Sl,Buffer:wl,BufferN:El,Finite:function(t){return"number"==typeof t&&isFinite(t)},Hex:Ml,HexN:kl,Int8:function(t){return t<<24>>24===t},Int16:function(t){return t<<16>>16===t},Int32:function(t){return(0|t)===t},Int53:function(t){return"number"==typeof t&&t>=-Il&&t<=Il&&Math.floor(t)===t},Range:function(t,e,r){function i(i,n){return r(i,n)&&i>t&&i<e}return r=r||vl.Number,i.toJSON=function(){return`${r.toJSON()} between [${t}, ${e}]`},i},StringN:Al,UInt8:function(t){return(255&t)===t},UInt16:function(t){return(65535&t)===t},UInt32:function(t){return t>>>0===t},UInt53:function(t){return"number"==typeof t&&t>=0&&t<=Il&&Math.floor(t)===t}};for(var Ol in Tl)Tl[Ol].toJSON=function(t){return t}.bind(null,Ol);var Pl=Tl,xl=al,Bl=yl.tfJSON,Rl=yl.TfTypeError,Nl=yl.TfPropertyTypeError,Ul=yl.tfSubError,Cl=yl.getValueTypeName,Ll={arrayOf:function(t,e){function r(r,i){return!!xl.Array(r)&&(!xl.Nil(r)&&(!(void 0!==e.minLength&&r.length<e.minLength)&&(!(void 0!==e.maxLength&&r.length>e.maxLength)&&((void 0===e.length||r.length===e.length)&&r.every((function(e,r){try{return jl(t,e,i)}catch(t){throw Ul(t,r)}}))))))}return t=Dl(t),e=e||{},r.toJSON=function(){var r="["+Bl(t)+"]";return void 0!==e.length?r+="{"+e.length+"}":void 0===e.minLength&&void 0===e.maxLength||(r+="{"+(void 0===e.minLength?0:e.minLength)+","+(void 0===e.maxLength?1/0:e.maxLength)+"}"),r},r},maybe:function t(e){function r(r,i){return xl.Nil(r)||e(r,i,t)}return e=Dl(e),r.toJSON=function(){return"?"+Bl(e)},r},map:function(t,e){function r(r,i){if(!xl.Object(r))return!1;if(xl.Nil(r))return!1;for(var n in r){try{e&&jl(e,n,i)}catch(t){throw Ul(t,n,"key")}try{var o=r[n];jl(t,o,i)}catch(t){throw Ul(t,n)}}return!0}return t=Dl(t),e&&(e=Dl(e)),r.toJSON=e?function(){return"{"+Bl(e)+": "+Bl(t)+"}"}:function(){return"{"+Bl(t)+"}"},r},object:function(t){var e={};for(var r in t)e[r]=Dl(t[r]);function i(t,r){if(!xl.Object(t))return!1;if(xl.Nil(t))return!1;var i;try{for(i in e){jl(e[i],t[i],r)}}catch(t){throw Ul(t,i)}if(r)for(i in t)if(!e[i])throw new Nl(void 0,i);return!0}return i.toJSON=function(){return Bl(e)},i},anyOf:function(){var t=[].slice.call(arguments).map(Dl);function e(e,r){return t.some((function(t){try{return jl(t,e,r)}catch(t){return!1}}))}return e.toJSON=function(){return t.map(Bl).join("|")},e},allOf:function(){var t=[].slice.call(arguments).map(Dl);function e(e,r){return t.every((function(t){try{return jl(t,e,r)}catch(t){return!1}}))}return e.toJSON=function(){return t.map(Bl).join(" & ")},e},quacksLike:function(t){function e(e){return t===Cl(e)}return e.toJSON=function(){return t},e},tuple:function(){var t=[].slice.call(arguments).map(Dl);function e(e,r){return!xl.Nil(e)&&(!xl.Nil(e.length)&&((!r||e.length===t.length)&&t.every((function(t,i){try{return jl(t,e[i],r)}catch(t){throw Ul(t,i)}}))))}return e.toJSON=function(){return"("+t.map(Bl).join(", ")+")"},e},value:function(t){function e(e){return e===t}return e.toJSON=function(){return t},e}};function Dl(t){if(xl.String(t))return"?"===t[0]?Ll.maybe(t.slice(1)):xl[t]||Ll.quacksLike(t);if(t&&xl.Object(t)){if(xl.Array(t)){if(1!==t.length)throw new TypeError("Expected compile() parameter of type Array of length 1");return Ll.arrayOf(t[0])}return Ll.object(t)}return xl.Function(t)?t:Ll.value(t)}function jl(t,e,r,i){if(xl.Function(t)){if(t(e,r))return!0;throw new Rl(i||t,e)}return jl(Dl(t),e,r)}for(var Hl in Ll.oneOf=Ll.anyOf,xl)jl[Hl]=xl[Hl];for(Hl in Ll)jl[Hl]=Ll[Hl];var ql=Pl;for(Hl in ql)jl[Hl]=ql[Hl];jl.compile=Dl,jl.TfTypeError=Rl,jl.TfPropertyTypeError=Nl;var Kl=jl,Fl=Xs;function zl(t,e){if(void 0!==e&&t[0]!==e)throw new Error("Invalid network version");if(33===t.length)return{version:t[0],privateKey:t.slice(1,33),compressed:!1};if(34!==t.length)throw new Error("Invalid WIF length");if(1!==t[33])throw new Error("Invalid compression flag");return{version:t[0],privateKey:t.slice(1,33),compressed:!0}}function Wl(t,e,r){var i=new z(r?34:33);return i.writeUInt8(t,0),e.copy(i,1),r&&(i[33]=1),i}var Vl={decode:function(t,e){return zl(Fl.decode(t),e)},decodeRaw:zl,encode:function(t,e,r){return"number"==typeof t?Fl.encode(Wl(t,e,r)):Fl.encode(Wl(t.version,t.privateKey,t.compressed))},encodeRaw:Wl};Object.defineProperty(Tt,"__esModule",{value:!0});const Zl=Ot,Gl=Xs,$l=ol,Xl=Kl,Yl=Vl,Jl=Xl.BufferN(32),Ql=Xl.compile({wif:Xl.UInt8,bip32:{public:Xl.UInt32,private:Xl.UInt32}}),tc={messagePrefix:"Bitcoin Signed Message:\n",bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128},ec=Math.pow(2,31)-1;function rc(t){return Xl.String(t)&&null!==t.match(/^(m\/)?(\d+'?\/)*\d+'?$/)}function ic(t){return Xl.UInt32(t)&&t<=ec}class nc{constructor(t,e,r,i,n=0,o=0,s=0){this.__D=t,this.__Q=e,this.chainCode=r,this.network=i,this.__DEPTH=n,this.__INDEX=o,this.__PARENT_FINGERPRINT=s,Xl(Ql,i),this.lowR=!1}get depth(){return this.__DEPTH}get index(){return this.__INDEX}get parentFingerprint(){return this.__PARENT_FINGERPRINT}get publicKey(){return void 0===this.__Q&&(this.__Q=$l.pointFromScalar(this.__D,!0)),this.__Q}get privateKey(){return this.__D}get identifier(){return Zl.hash160(this.publicKey)}get fingerprint(){return this.identifier.slice(0,4)}get compressed(){return!0}isNeutered(){return void 0===this.__D}neutered(){return hc(this.publicKey,this.chainCode,this.network,this.depth,this.index,this.parentFingerprint)}toBase58(){const t=this.network,e=this.isNeutered()?t.bip32.public:t.bip32.private,r=z.allocUnsafe(78);return r.writeUInt32BE(e,0),r.writeUInt8(this.depth,4),r.writeUInt32BE(this.parentFingerprint,5),r.writeUInt32BE(this.index,9),this.chainCode.copy(r,13),this.isNeutered()?this.publicKey.copy(r,45):(r.writeUInt8(0,45),this.privateKey.copy(r,46)),Gl.encode(r)}toWIF(){if(!this.privateKey)throw new TypeError("Missing private key");return Yl.encode(this.network.wif,this.privateKey,!0)}derive(t){Xl(Xl.UInt32,t);const e=t>=2147483648,r=z.allocUnsafe(37);if(e){if(this.isNeutered())throw new TypeError("Missing private key for hardened child key");r[0]=0,this.privateKey.copy(r,1),r.writeUInt32BE(t,33)}else this.publicKey.copy(r,0),r.writeUInt32BE(t,33);const i=Zl.hmacSHA512(this.chainCode,r),n=i.slice(0,32),o=i.slice(32);if(!$l.isPrivate(n))return this.derive(t+1);let s;if(this.isNeutered()){const e=$l.pointAddScalar(this.publicKey,n,!0);if(null===e)return this.derive(t+1);s=hc(e,o,this.network,this.depth+1,t,this.fingerprint.readUInt32BE(0))}else{const e=$l.privateAdd(this.privateKey,n);if(null==e)return this.derive(t+1);s=sc(e,o,this.network,this.depth+1,t,this.fingerprint.readUInt32BE(0))}return s}deriveHardened(t){return Xl(ic,t),this.derive(t+2147483648)}derivePath(t){Xl(rc,t);let e=t.split("/");if("m"===e[0]){if(this.parentFingerprint)throw new TypeError("Expected master, got child");e=e.slice(1)}return e.reduce(((t,e)=>{let r;return"'"===e.slice(-1)?(r=parseInt(e.slice(0,-1),10),t.deriveHardened(r)):(r=parseInt(e,10),t.derive(r))}),this)}sign(t,e){if(!this.privateKey)throw new Error("Missing private key");if(void 0===e&&(e=this.lowR),!1===e)return $l.sign(t,this.privateKey);{let e=$l.sign(t,this.privateKey);const r=z.alloc(32,0);let i=0;for(;e[0]>127;)i++,r.writeUIntLE(i,0,6),e=$l.signWithEntropy(t,this.privateKey,r);return e}}verify(t,e){return $l.verify(t,this.publicKey,e)}}function oc(t,e,r){return sc(t,e,r)}function sc(t,e,r,i,n,o){if(Xl({privateKey:Jl,chainCode:Jl},{privateKey:t,chainCode:e}),r=r||tc,!$l.isPrivate(t))throw new TypeError("Private key not in range [1, n)");return new nc(t,void 0,e,r,i,n,o)}function hc(t,e,r,i,n,o){if(Xl({publicKey:Xl.BufferN(33),chainCode:Jl},{publicKey:t,chainCode:e}),r=r||tc,!$l.isPoint(t))throw new TypeError("Point is not on the curve");return new nc(void 0,t,e,r,i,n,o)}Tt.fromBase58=function(t,e){const r=Gl.decode(t);if(78!==r.length)throw new TypeError("Invalid buffer length");e=e||tc;const i=r.readUInt32BE(0);if(i!==e.bip32.private&&i!==e.bip32.public)throw new TypeError("Invalid network version");const n=r[4],o=r.readUInt32BE(5);if(0===n&&0!==o)throw new TypeError("Invalid parent fingerprint");const s=r.readUInt32BE(9);if(0===n&&0!==s)throw new TypeError("Invalid index");const h=r.slice(13,45);let a;if(i===e.bip32.private){if(0!==r.readUInt8(45))throw new TypeError("Invalid private key");a=sc(r.slice(46,78),h,e,n,s,o)}else{a=hc(r.slice(45,78),h,e,n,s,o)}return a},Tt.fromPrivateKey=oc,Tt.fromPublicKey=function(t,e,r){return hc(t,e,r)},Tt.fromSeed=function(t,e){if(Xl(Xl.Buffer,t),t.length<16)throw new TypeError("Seed should be at least 128 bits");if(t.length>64)throw new TypeError("Seed should be at most 512 bits");e=e||tc;const r=Zl.hmacSHA512(z.from("Bitcoin seed","utf8"),t);return oc(r.slice(0,32),r.slice(32),e)},Object.defineProperty(O,"__esModule",{value:!0});var ac=Tt;O.fromSeed=ac.fromSeed,O.fromBase58=ac.fromBase58,O.fromPublicKey=ac.fromPublicKey,O.fromPrivateKey=ac.fromPrivateKey;var uc={},fc={};Object.defineProperty(fc,"__esModule",{value:!0}),fc.bitcoin={messagePrefix:"Bitcoin Signed Message:\n",bech32:"bc",bip32:{public:76067358,private:76066276},pubKeyHash:0,scriptHash:5,wif:128},fc.regtest={messagePrefix:"Bitcoin Signed Message:\n",bech32:"bcrt",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239},fc.testnet={messagePrefix:"Bitcoin Signed Message:\n",bech32:"tb",bip32:{public:70617039,private:70615956},pubKeyHash:111,scriptHash:196,wif:239};var lc={},cc={},dc={},pc={};Object.defineProperty(pc,"__esModule",{value:!0}),pc.decode=function(t,e,r){e=e||4,r=void 0===r||r;const i=t.length;if(0===i)return 0;if(i>e)throw new TypeError("Script number overflow");if(r&&0==(127&t[i-1])&&(i<=1||0==(128&t[i-2])))throw new Error("Non-minimally encoded script number");if(5===i){const e=t.readUInt32LE(0),r=t.readUInt8(4);return 128&r?-(4294967296*(-129&r)+e):4294967296*r+e}let n=0;for(let e=0;e<i;++e)n|=t[e]<<8*e;return 128&t[i-1]?-(n&~(128<<8*(i-1))):n},pc.encode=function(t){let e=Math.abs(t);const r=function(t){return t>2147483647?5:t>8388607?4:t>32767?3:t>127?2:t>0?1:0}(e),i=z.allocUnsafe(r),n=t<0;for(let t=0;t<r;++t)i.writeUInt8(255&e,t),e>>=8;return 128&i[r-1]?i.writeUInt8(n?128:0,r-1):n&&(i[r-1]|=128),i};var mc={},gc={};Object.defineProperty(gc,"__esModule",{value:!0});const yc=Kl,vc=Math.pow(2,31)-1;function bc(t){return yc.String(t)&&!!t.match(/^(m\/)?(\d+'?\/)*\d+'?$/)}gc.UInt31=function(t){return yc.UInt32(t)&&t<=vc},gc.BIP32Path=bc,bc.toJSON=()=>"BIP32 derivation path",gc.Signer=function(t){return(yc.Buffer(t.publicKey)||"function"==typeof t.getPublicKey)&&"function"==typeof t.sign};gc.Satoshi=function(t){return yc.UInt53(t)&&t<=21e14},gc.ECPoint=yc.quacksLike("Point"),gc.Network=yc.compile({messagePrefix:yc.oneOf(yc.Buffer,yc.String),bip32:{public:yc.UInt32,private:yc.UInt32},pubKeyHash:yc.UInt8,scriptHash:yc.UInt8,wif:yc.UInt8}),gc.Buffer256bit=yc.BufferN(32),gc.Hash160bit=yc.BufferN(20),gc.Hash256bit=yc.BufferN(32),gc.Number=yc.Number,gc.Array=yc.Array,gc.Boolean=yc.Boolean,gc.String=yc.String,gc.Buffer=yc.Buffer,gc.Hex=yc.Hex,gc.maybe=yc.maybe,gc.tuple=yc.tuple,gc.UInt8=yc.UInt8,gc.UInt32=yc.UInt32,gc.Function=yc.Function,gc.BufferN=yc.BufferN,gc.Null=yc.Null,gc.oneOf=yc.oneOf;var wc=xt.exports.Buffer;var Mc={check:function(t){if(t.length<8)return!1;if(t.length>72)return!1;if(48!==t[0])return!1;if(t[1]!==t.length-2)return!1;if(2!==t[2])return!1;var e=t[3];if(0===e)return!1;if(5+e>=t.length)return!1;if(2!==t[4+e])return!1;var r=t[5+e];return 0!==r&&(6+e+r===t.length&&(!(128&t[4])&&(!(e>1&&0===t[4]&&!(128&t[5]))&&(!(128&t[e+6])&&!(r>1&&0===t[e+6]&&!(128&t[e+7]))))))},decode:function(t){if(t.length<8)throw new Error("DER sequence length is too short");if(t.length>72)throw new Error("DER sequence length is too long");if(48!==t[0])throw new Error("Expected DER sequence");if(t[1]!==t.length-2)throw new Error("DER sequence length is invalid");if(2!==t[2])throw new Error("Expected DER integer");var e=t[3];if(0===e)throw new Error("R length is zero");if(5+e>=t.length)throw new Error("R length is too long");if(2!==t[4+e])throw new Error("Expected DER integer (2)");var r=t[5+e];if(0===r)throw new Error("S length is zero");if(6+e+r!==t.length)throw new Error("S length is invalid");if(128&t[4])throw new Error("R value is negative");if(e>1&&0===t[4]&&!(128&t[5]))throw new Error("R value excessively padded");if(128&t[e+6])throw new Error("S value is negative");if(r>1&&0===t[e+6]&&!(128&t[e+7]))throw new Error("S value excessively padded");return{r:t.slice(4,4+e),s:t.slice(6+e)}},encode:function(t,e){var r=t.length,i=e.length;if(0===r)throw new Error("R length is zero");if(0===i)throw new Error("S length is zero");if(r>33)throw new Error("R length is too long");if(i>33)throw new Error("S length is too long");if(128&t[0])throw new Error("R value is negative");if(128&e[0])throw new Error("S value is negative");if(r>1&&0===t[0]&&!(128&t[1]))throw new Error("R value excessively padded");if(i>1&&0===e[0]&&!(128&e[1]))throw new Error("S value excessively padded");var n=wc.allocUnsafe(6+r+i);return n[0]=48,n[1]=n.length-2,n[2]=2,n[3]=t.length,t.copy(n,4),n[4+r]=2,n[5+r]=e.length,e.copy(n,6+r),n}};Object.defineProperty(mc,"__esModule",{value:!0});const _c=gc,Sc=Mc,Ec=Kl,kc=z.alloc(1,0);function Ac(t){let e=0;for(;0===t[e];)++e;return e===t.length?kc:128&(t=t.slice(e))[0]?z.concat([kc,t],1+t.length):t}function Ic(t){0===t[0]&&(t=t.slice(1));const e=z.alloc(32,0),r=Math.max(0,32-t.length);return t.copy(e,r),e}mc.decode=function(t){const e=t.readUInt8(t.length-1),r=-129&e;if(r<=0||r>=4)throw new Error("Invalid hashType "+e);const i=Sc.decode(t.slice(0,-1)),n=Ic(i.r),o=Ic(i.s);return{signature:z.concat([n,o],64),hashType:e}},mc.encode=function(t,e){Ec({signature:_c.BufferN(64),hashType:_c.UInt8},{signature:t,hashType:e});const r=-129&e;if(r<=0||r>=4)throw new Error("Invalid hashType "+e);const i=z.allocUnsafe(1);i.writeUInt8(e,0);const n=Ac(t.slice(0,32)),o=Ac(t.slice(32,64));return z.concat([Sc.encode(n,o),i])};var Tc={OP_FALSE:0,OP_0:0,OP_PUSHDATA1:76,OP_PUSHDATA2:77,OP_PUSHDATA4:78,OP_1NEGATE:79,OP_RESERVED:80,OP_TRUE:81,OP_1:81,OP_2:82,OP_3:83,OP_4:84,OP_5:85,OP_6:86,OP_7:87,OP_8:88,OP_9:89,OP_10:90,OP_11:91,OP_12:92,OP_13:93,OP_14:94,OP_15:95,OP_16:96,OP_NOP:97,OP_VER:98,OP_IF:99,OP_NOTIF:100,OP_VERIF:101,OP_VERNOTIF:102,OP_ELSE:103,OP_ENDIF:104,OP_VERIFY:105,OP_RETURN:106,OP_TOALTSTACK:107,OP_FROMALTSTACK:108,OP_2DROP:109,OP_2DUP:110,OP_3DUP:111,OP_2OVER:112,OP_2ROT:113,OP_2SWAP:114,OP_IFDUP:115,OP_DEPTH:116,OP_DROP:117,OP_DUP:118,OP_NIP:119,OP_OVER:120,OP_PICK:121,OP_ROLL:122,OP_ROT:123,OP_SWAP:124,OP_TUCK:125,OP_CAT:126,OP_SUBSTR:127,OP_LEFT:128,OP_RIGHT:129,OP_SIZE:130,OP_INVERT:131,OP_AND:132,OP_OR:133,OP_XOR:134,OP_EQUAL:135,OP_EQUALVERIFY:136,OP_RESERVED1:137,OP_RESERVED2:138,OP_1ADD:139,OP_1SUB:140,OP_2MUL:141,OP_2DIV:142,OP_NEGATE:143,OP_ABS:144,OP_NOT:145,OP_0NOTEQUAL:146,OP_ADD:147,OP_SUB:148,OP_MUL:149,OP_DIV:150,OP_MOD:151,OP_LSHIFT:152,OP_RSHIFT:153,OP_BOOLAND:154,OP_BOOLOR:155,OP_NUMEQUAL:156,OP_NUMEQUALVERIFY:157,OP_NUMNOTEQUAL:158,OP_LESSTHAN:159,OP_GREATERTHAN:160,OP_LESSTHANOREQUAL:161,OP_GREATERTHANOREQUAL:162,OP_MIN:163,OP_MAX:164,OP_WITHIN:165,OP_RIPEMD160:166,OP_SHA1:167,OP_SHA256:168,OP_HASH160:169,OP_HASH256:170,OP_CODESEPARATOR:171,OP_CHECKSIG:172,OP_CHECKSIGVERIFY:173,OP_CHECKMULTISIG:174,OP_CHECKMULTISIGVERIFY:175,OP_NOP1:176,OP_NOP2:177,OP_CHECKLOCKTIMEVERIFY:177,OP_NOP3:178,OP_CHECKSEQUENCEVERIFY:178,OP_NOP4:179,OP_NOP5:180,OP_NOP6:181,OP_NOP7:182,OP_NOP8:183,OP_NOP9:184,OP_NOP10:185,OP_PUBKEYHASH:253,OP_PUBKEY:254,OP_INVALIDOPCODE:255},Oc=Tc;function Pc(t){return t<Oc.OP_PUSHDATA1?1:t<=255?2:t<=65535?3:5}var xc={encodingLength:Pc,encode:function(t,e,r){var i=Pc(e);return 1===i?t.writeUInt8(e,r):2===i?(t.writeUInt8(Oc.OP_PUSHDATA1,r),t.writeUInt8(e,r+1)):3===i?(t.writeUInt8(Oc.OP_PUSHDATA2,r),t.writeUInt16LE(e,r+1)):(t.writeUInt8(Oc.OP_PUSHDATA4,r),t.writeUInt32LE(e,r+1)),i},decode:function(t,e){var r,i,n=t.readUInt8(e);if(n<Oc.OP_PUSHDATA1)r=n,i=1;else if(n===Oc.OP_PUSHDATA1){if(e+2>t.length)return null;r=t.readUInt8(e+1),i=2}else if(n===Oc.OP_PUSHDATA2){if(e+3>t.length)return null;r=t.readUInt16LE(e+1),i=3}else{if(e+5>t.length)return null;if(n!==Oc.OP_PUSHDATA4)throw new Error("Unexpected opcode");r=t.readUInt32LE(e+1),i=5}return{opcode:n,number:r,size:i}}},Bc=Tc,Rc={};for(var Nc in Bc){Rc[Bc[Nc]]=Nc}var Uc=Rc;!function(t){Object.defineProperty(t,"__esModule",{value:!0});const e=pc,r=mc,i=gc,n=Mc,o=ol,s=xc,h=Kl;t.OPS=Tc;const a=Uc,u=t.OPS.OP_RESERVED;function f(e){return i.Buffer(e)||function(e){return i.Number(e)&&(e===t.OPS.OP_0||e>=t.OPS.OP_1&&e<=t.OPS.OP_16||e===t.OPS.OP_1NEGATE)}(e)}function l(t){return i.Array(t)&&t.every(f)}function c(e){return 0===e.length?t.OPS.OP_0:1===e.length?e[0]>=1&&e[0]<=16?u+e[0]:129===e[0]?t.OPS.OP_1NEGATE:void 0:void 0}function d(t){return At(t)}function p(t){return At(t)}function m(t){if(d(t))return t;h(i.Array,t);const e=t.reduce(((t,e)=>p(e)?1===e.length&&void 0!==c(e)?t+1:t+s.encodingLength(e.length)+e.length:t+1),0),r=z.allocUnsafe(e);let n=0;if(t.forEach((t=>{if(p(t)){const e=c(t);if(void 0!==e)return r.writeUInt8(e,n),void(n+=1);n+=s.encode(r,t.length,n),t.copy(r,n),n+=t.length}else r.writeUInt8(t,n),n+=1})),n!==r.length)throw new Error("Could not decode chunks");return r}function g(e){if(r=e,i.Array(r))return e;var r;h(i.Buffer,e);const n=[];let o=0;for(;o<e.length;){const r=e[o];if(r>t.OPS.OP_0&&r<=t.OPS.OP_PUSHDATA4){const t=s.decode(e,o);if(null===t)return null;if(o+=t.size,o+t.number>e.length)return null;const r=e.slice(o,o+t.number);o+=t.number;const i=c(r);void 0!==i?n.push(i):n.push(r)}else n.push(r),o+=1}return n}function y(t){const e=-129&t;return e>0&&e<4}t.isPushOnly=l,t.compile=m,t.decompile=g,t.toASM=function(t){return d(t)&&(t=g(t)),t.map((t=>{if(p(t)){const e=c(t);if(void 0===e)return t.toString("hex");t=e}return a[t]})).join(" ")},t.fromASM=function(e){return h(i.String,e),m(e.split(" ").map((e=>void 0!==t.OPS[e]?t.OPS[e]:(h(i.Hex,e),z.from(e,"hex")))))},t.toStack=function(r){return r=g(r),h(l,r),r.map((r=>p(r)?r:r===t.OPS.OP_0?z.allocUnsafe(0):e.encode(r-u)))},t.isCanonicalPubKey=function(t){return o.isPoint(t)},t.isDefinedHashType=y,t.isCanonicalScriptSignature=function(t){return!!At(t)&&(!!y(t[t.length-1])&&n.check(t.slice(0,-1)))},t.number=e,t.signature=r}(dc);var Cc={};Object.defineProperty(Cc,"__esModule",{value:!0}),Cc.prop=function(t,e,r){Object.defineProperty(t,e,{configurable:!0,enumerable:!0,get(){const t=r.call(this);return this[e]=t,t},set(t){Object.defineProperty(this,e,{configurable:!0,enumerable:!0,value:t,writable:!0})}})},Cc.value=function(t){let e;return()=>(void 0!==e||(e=t()),e)},Object.defineProperty(cc,"__esModule",{value:!0});const Lc=fc,Dc=dc,jc=Cc,Hc=Kl,qc=Dc.OPS;cc.p2data=function(t,e){if(!t.data&&!t.output)throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),Hc({network:Hc.maybe(Hc.Object),output:Hc.maybe(Hc.Buffer),data:Hc.maybe(Hc.arrayOf(Hc.Buffer))},t);const r={name:"embed",network:t.network||Lc.bitcoin};if(jc.prop(r,"output",(()=>{if(t.data)return Dc.compile([qc.OP_RETURN].concat(t.data))})),jc.prop(r,"data",(()=>{if(t.output)return Dc.decompile(t.output).slice(1)})),e.validate&&t.output){const e=Dc.decompile(t.output);if(e[0]!==qc.OP_RETURN)throw new TypeError("Output is invalid");if(!e.slice(1).every(Hc.Buffer))throw new TypeError("Output is invalid");if(t.data&&!function(t,e){return t.length===e.length&&t.every(((t,r)=>t.equals(e[r])))}(t.data,r.data))throw new TypeError("Data mismatch")}return Object.assign(r,t)};var Kc={};Object.defineProperty(Kc,"__esModule",{value:!0});const Fc=fc,zc=dc,Wc=Cc,Vc=zc.OPS,Zc=Kl,Gc=ol,$c=Vc.OP_RESERVED;function Xc(t,e){return t.length===e.length&&t.every(((t,r)=>t.equals(e[r])))}Kc.p2ms=function(t,e){if(!(t.input||t.output||t.pubkeys&&void 0!==t.m||t.signatures))throw new TypeError("Not enough data");function r(t){return zc.isCanonicalScriptSignature(t)||void 0!==(e.allowIncomplete&&t===Vc.OP_0)}e=Object.assign({validate:!0},e||{}),Zc({network:Zc.maybe(Zc.Object),m:Zc.maybe(Zc.Number),n:Zc.maybe(Zc.Number),output:Zc.maybe(Zc.Buffer),pubkeys:Zc.maybe(Zc.arrayOf(Gc.isPoint)),signatures:Zc.maybe(Zc.arrayOf(r)),input:Zc.maybe(Zc.Buffer)},t);const i={network:t.network||Fc.bitcoin};let n=[],o=!1;function s(t){o||(o=!0,n=zc.decompile(t),i.m=n[0]-$c,i.n=n[n.length-2]-$c,i.pubkeys=n.slice(1,-2))}if(Wc.prop(i,"output",(()=>{if(t.m&&i.n&&t.pubkeys)return zc.compile([].concat($c+t.m,t.pubkeys,$c+i.n,Vc.OP_CHECKMULTISIG))})),Wc.prop(i,"m",(()=>{if(i.output)return s(i.output),i.m})),Wc.prop(i,"n",(()=>{if(i.pubkeys)return i.pubkeys.length})),Wc.prop(i,"pubkeys",(()=>{if(t.output)return s(t.output),i.pubkeys})),Wc.prop(i,"signatures",(()=>{if(t.input)return zc.decompile(t.input).slice(1)})),Wc.prop(i,"input",(()=>{if(t.signatures)return zc.compile([Vc.OP_0].concat(t.signatures))})),Wc.prop(i,"witness",(()=>{if(i.input)return[]})),Wc.prop(i,"name",(()=>{if(i.m&&i.n)return`p2ms(${i.m} of ${i.n})`})),e.validate){if(t.output){if(s(t.output),!Zc.Number(n[0]))throw new TypeError("Output is invalid");if(!Zc.Number(n[n.length-2]))throw new TypeError("Output is invalid");if(n[n.length-1]!==Vc.OP_CHECKMULTISIG)throw new TypeError("Output is invalid");if(i.m<=0||i.n>16||i.m>i.n||i.n!==n.length-3)throw new TypeError("Output is invalid");if(!i.pubkeys.every((t=>Gc.isPoint(t))))throw new TypeError("Output is invalid");if(void 0!==t.m&&t.m!==i.m)throw new TypeError("m mismatch");if(void 0!==t.n&&t.n!==i.n)throw new TypeError("n mismatch");if(t.pubkeys&&!Xc(t.pubkeys,i.pubkeys))throw new TypeError("Pubkeys mismatch")}if(t.pubkeys){if(void 0!==t.n&&t.n!==t.pubkeys.length)throw new TypeError("Pubkey count mismatch");if(i.n=t.pubkeys.length,i.n<i.m)throw new TypeError("Pubkey count cannot be less than m")}if(t.signatures){if(t.signatures.length<i.m)throw new TypeError("Not enough signatures provided");if(t.signatures.length>i.m)throw new TypeError("Too many signatures provided")}if(t.input){if(t.input[0]!==Vc.OP_0)throw new TypeError("Input is invalid");if(0===i.signatures.length||!i.signatures.every(r))throw new TypeError("Input has invalid signature(s)");if(t.signatures&&!Xc(t.signatures,i.signatures))throw new TypeError("Signature mismatch");if(void 0!==t.m&&t.m!==t.signatures.length)throw new TypeError("Signature count mismatch")}}return Object.assign(i,t)};var Yc={};Object.defineProperty(Yc,"__esModule",{value:!0});const Jc=fc,Qc=dc,td=Cc,ed=Kl,rd=Qc.OPS,id=ol;Yc.p2pk=function(t,e){if(!(t.input||t.output||t.pubkey||t.input||t.signature))throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),ed({network:ed.maybe(ed.Object),output:ed.maybe(ed.Buffer),pubkey:ed.maybe(id.isPoint),signature:ed.maybe(Qc.isCanonicalScriptSignature),input:ed.maybe(ed.Buffer)},t);const r=td.value((()=>Qc.decompile(t.input))),i={name:"p2pk",network:t.network||Jc.bitcoin};if(td.prop(i,"output",(()=>{if(t.pubkey)return Qc.compile([t.pubkey,rd.OP_CHECKSIG])})),td.prop(i,"pubkey",(()=>{if(t.output)return t.output.slice(1,-1)})),td.prop(i,"signature",(()=>{if(t.input)return r()[0]})),td.prop(i,"input",(()=>{if(t.signature)return Qc.compile([t.signature])})),td.prop(i,"witness",(()=>{if(i.input)return[]})),e.validate){if(t.output){if(t.output[t.output.length-1]!==rd.OP_CHECKSIG)throw new TypeError("Output is invalid");if(!id.isPoint(i.pubkey))throw new TypeError("Output pubkey is invalid");if(t.pubkey&&!t.pubkey.equals(i.pubkey))throw new TypeError("Pubkey mismatch")}if(t.signature&&t.input&&!t.input.equals(i.input))throw new TypeError("Signature mismatch");if(t.input){if(1!==r().length)throw new TypeError("Input is invalid");if(!Qc.isCanonicalScriptSignature(i.signature))throw new TypeError("Input has invalid signature")}}return Object.assign(i,t)};var nd={},od={};Object.defineProperty(od,"__esModule",{value:!0});const sd=ks;function hd(t){try{return sd("rmd160").update(t).digest()}catch(e){return sd("ripemd160").update(t).digest()}}function ad(t){return sd("sha256").update(t).digest()}od.ripemd160=hd,od.sha1=function(t){return sd("sha1").update(t).digest()},od.sha256=ad,od.hash160=function(t){return hd(ad(t))},od.hash256=function(t){return ad(ad(t))},Object.defineProperty(nd,"__esModule",{value:!0});const ud=od,fd=fc,ld=dc,cd=Cc,dd=Kl,pd=ld.OPS,md=ol,gd=Xs;nd.p2pkh=function(t,e){if(!(t.address||t.hash||t.output||t.pubkey||t.input))throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),dd({network:dd.maybe(dd.Object),address:dd.maybe(dd.String),hash:dd.maybe(dd.BufferN(20)),output:dd.maybe(dd.BufferN(25)),pubkey:dd.maybe(md.isPoint),signature:dd.maybe(ld.isCanonicalScriptSignature),input:dd.maybe(dd.Buffer)},t);const r=cd.value((()=>{const e=gd.decode(t.address);return{version:e.readUInt8(0),hash:e.slice(1)}})),i=cd.value((()=>ld.decompile(t.input))),n=t.network||fd.bitcoin,o={name:"p2pkh",network:n};if(cd.prop(o,"address",(()=>{if(!o.hash)return;const t=z.allocUnsafe(21);return t.writeUInt8(n.pubKeyHash,0),o.hash.copy(t,1),gd.encode(t)})),cd.prop(o,"hash",(()=>t.output?t.output.slice(3,23):t.address?r().hash:t.pubkey||o.pubkey?ud.hash160(t.pubkey||o.pubkey):void 0)),cd.prop(o,"output",(()=>{if(o.hash)return ld.compile([pd.OP_DUP,pd.OP_HASH160,o.hash,pd.OP_EQUALVERIFY,pd.OP_CHECKSIG])})),cd.prop(o,"pubkey",(()=>{if(t.input)return i()[1]})),cd.prop(o,"signature",(()=>{if(t.input)return i()[0]})),cd.prop(o,"input",(()=>{if(t.pubkey&&t.signature)return ld.compile([t.signature,t.pubkey])})),cd.prop(o,"witness",(()=>{if(o.input)return[]})),e.validate){let e=z.from([]);if(t.address){if(r().version!==n.pubKeyHash)throw new TypeError("Invalid version or Network mismatch");if(20!==r().hash.length)throw new TypeError("Invalid address");e=r().hash}if(t.hash){if(e.length>0&&!e.equals(t.hash))throw new TypeError("Hash mismatch");e=t.hash}if(t.output){if(25!==t.output.length||t.output[0]!==pd.OP_DUP||t.output[1]!==pd.OP_HASH160||20!==t.output[2]||t.output[23]!==pd.OP_EQUALVERIFY||t.output[24]!==pd.OP_CHECKSIG)throw new TypeError("Output is invalid");const r=t.output.slice(3,23);if(e.length>0&&!e.equals(r))throw new TypeError("Hash mismatch");e=r}if(t.pubkey){const r=ud.hash160(t.pubkey);if(e.length>0&&!e.equals(r))throw new TypeError("Hash mismatch");e=r}if(t.input){const r=i();if(2!==r.length)throw new TypeError("Input is invalid");if(!ld.isCanonicalScriptSignature(r[0]))throw new TypeError("Input has invalid signature");if(!md.isPoint(r[1]))throw new TypeError("Input has invalid pubkey");if(t.signature&&!t.signature.equals(r[0]))throw new TypeError("Signature mismatch");if(t.pubkey&&!t.pubkey.equals(r[1]))throw new TypeError("Pubkey mismatch");const n=ud.hash160(r[1]);if(e.length>0&&!e.equals(n))throw new TypeError("Hash mismatch")}}return Object.assign(o,t)};var yd={};Object.defineProperty(yd,"__esModule",{value:!0});const vd=od,bd=fc,wd=dc,Md=Cc,_d=Kl,Sd=wd.OPS,Ed=Xs;yd.p2sh=function(t,e){if(!(t.address||t.hash||t.output||t.redeem||t.input))throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),_d({network:_d.maybe(_d.Object),address:_d.maybe(_d.String),hash:_d.maybe(_d.BufferN(20)),output:_d.maybe(_d.BufferN(23)),redeem:_d.maybe({network:_d.maybe(_d.Object),output:_d.maybe(_d.Buffer),input:_d.maybe(_d.Buffer),witness:_d.maybe(_d.arrayOf(_d.Buffer))}),input:_d.maybe(_d.Buffer),witness:_d.maybe(_d.arrayOf(_d.Buffer))},t);let r=t.network;r||(r=t.redeem&&t.redeem.network||bd.bitcoin);const i={network:r},n=Md.value((()=>{const e=Ed.decode(t.address);return{version:e.readUInt8(0),hash:e.slice(1)}})),o=Md.value((()=>wd.decompile(t.input))),s=Md.value((()=>{const e=o();return{network:r,output:e[e.length-1],input:wd.compile(e.slice(0,-1)),witness:t.witness||[]}}));if(Md.prop(i,"address",(()=>{if(!i.hash)return;const t=z.allocUnsafe(21);return t.writeUInt8(i.network.scriptHash,0),i.hash.copy(t,1),Ed.encode(t)})),Md.prop(i,"hash",(()=>t.output?t.output.slice(2,22):t.address?n().hash:i.redeem&&i.redeem.output?vd.hash160(i.redeem.output):void 0)),Md.prop(i,"output",(()=>{if(i.hash)return wd.compile([Sd.OP_HASH160,i.hash,Sd.OP_EQUAL])})),Md.prop(i,"redeem",(()=>{if(t.input)return s()})),Md.prop(i,"input",(()=>{if(t.redeem&&t.redeem.input&&t.redeem.output)return wd.compile([].concat(wd.decompile(t.redeem.input),t.redeem.output))})),Md.prop(i,"witness",(()=>i.redeem&&i.redeem.witness?i.redeem.witness:i.input?[]:void 0)),Md.prop(i,"name",(()=>{const t=["p2sh"];return void 0!==i.redeem&&t.push(i.redeem.name),t.join("-")})),e.validate){let e=z.from([]);if(t.address){if(n().version!==r.scriptHash)throw new TypeError("Invalid version or Network mismatch");if(20!==n().hash.length)throw new TypeError("Invalid address");e=n().hash}if(t.hash){if(e.length>0&&!e.equals(t.hash))throw new TypeError("Hash mismatch");e=t.hash}if(t.output){if(23!==t.output.length||t.output[0]!==Sd.OP_HASH160||20!==t.output[1]||t.output[22]!==Sd.OP_EQUAL)throw new TypeError("Output is invalid");const r=t.output.slice(2,22);if(e.length>0&&!e.equals(r))throw new TypeError("Hash mismatch");e=r}const i=t=>{if(t.output){const r=wd.decompile(t.output);if(!r||r.length<1)throw new TypeError("Redeem.output too short");const i=vd.hash160(t.output);if(e.length>0&&!e.equals(i))throw new TypeError("Hash mismatch");e=i}if(t.input){const e=t.input.length>0,r=t.witness&&t.witness.length>0;if(!e&&!r)throw new TypeError("Empty input");if(e&&r)throw new TypeError("Input and witness provided");if(e){const e=wd.decompile(t.input);if(!wd.isPushOnly(e))throw new TypeError("Non push-only scriptSig")}}};if(t.input){const t=o();if(!t||t.length<1)throw new TypeError("Input too short");if(!At(s().output))throw new TypeError("Input is invalid");i(s())}if(t.redeem){if(t.redeem.network&&t.redeem.network!==r)throw new TypeError("Network mismatch");if(t.input){const e=s();if(t.redeem.output&&!t.redeem.output.equals(e.output))throw new TypeError("Redeem.output mismatch");if(t.redeem.input&&!t.redeem.input.equals(e.input))throw new TypeError("Redeem.input mismatch")}i(t.redeem)}if(t.witness&&t.redeem&&t.redeem.witness&&!function(t,e){return t.length===e.length&&t.every(((t,r)=>t.equals(e[r])))}(t.redeem.witness,t.witness))throw new TypeError("Witness and redeem.witness mismatch")}return Object.assign(i,t)};for(var kd={},Ad="qpzry9x8gf2tvdw0s3jn54khce6mua7l",Id={},Td=0;Td<Ad.length;Td++){var Od=Ad.charAt(Td);if(void 0!==Id[Od])throw new TypeError(Od+" is ambiguous");Id[Od]=Td}function Pd(t){var e=t>>25;return(33554431&t)<<5^996825010&-(e>>0&1)^642813549&-(e>>1&1)^513874426&-(e>>2&1)^1027748829&-(e>>3&1)^705979059&-(e>>4&1)}function xd(t){for(var e=1,r=0;r<t.length;++r){var i=t.charCodeAt(r);if(i<33||i>126)return"Invalid prefix ("+t+")";e=Pd(e)^i>>5}for(e=Pd(e),r=0;r<t.length;++r){var n=t.charCodeAt(r);e=Pd(e)^31&n}return e}function Bd(t,e){if(e=e||90,t.length<8)return t+" too short";if(t.length>e)return"Exceeds length limit";var r=t.toLowerCase(),i=t.toUpperCase();if(t!==r&&t!==i)return"Mixed-case string "+t;var n=(t=r).lastIndexOf("1");if(-1===n)return"No separator character for "+t;if(0===n)return"Missing prefix for "+t;var o=t.slice(0,n),s=t.slice(n+1);if(s.length<6)return"Data too short";var h=xd(o);if("string"==typeof h)return h;for(var a=[],u=0;u<s.length;++u){var f=s.charAt(u),l=Id[f];if(void 0===l)return"Unknown character "+f;h=Pd(h)^l,u+6>=s.length||a.push(l)}return 1!==h?"Invalid checksum for "+t:{prefix:o,words:a}}function Rd(t,e,r,i){for(var n=0,o=0,s=(1<<r)-1,h=[],a=0;a<t.length;++a)for(n=n<<e|t[a],o+=e;o>=r;)o-=r,h.push(n>>o&s);if(i)o>0&&h.push(n<<r-o&s);else{if(o>=e)return"Excess padding";if(n<<r-o&s)return"Non-zero padding"}return h}var Nd={decodeUnsafe:function(){var t=Bd.apply(null,arguments);if("object"==typeof t)return t},decode:function(t){var e=Bd.apply(null,arguments);if("object"==typeof e)return e;throw new Error(e)},encode:function(t,e,r){if(r=r||90,t.length+7+e.length>r)throw new TypeError("Exceeds length limit");var i=xd(t=t.toLowerCase());if("string"==typeof i)throw new Error(i);for(var n=t+"1",o=0;o<e.length;++o){var s=e[o];if(s>>5!=0)throw new Error("Non 5-bit word");i=Pd(i)^s,n+=Ad.charAt(s)}for(o=0;o<6;++o)i=Pd(i);for(i^=1,o=0;o<6;++o){n+=Ad.charAt(i>>5*(5-o)&31)}return n},toWordsUnsafe:function(t){var e=Rd(t,8,5,!0);if(Array.isArray(e))return e},toWords:function(t){var e=Rd(t,8,5,!0);if(Array.isArray(e))return e;throw new Error(e)},fromWordsUnsafe:function(t){var e=Rd(t,5,8,!1);if(Array.isArray(e))return e},fromWords:function(t){var e=Rd(t,5,8,!1);if(Array.isArray(e))return e;throw new Error(e)}};Object.defineProperty(kd,"__esModule",{value:!0});const Ud=od,Cd=fc,Ld=dc,Dd=Cc,jd=Kl,Hd=Ld.OPS,qd=ol,Kd=Nd,Fd=z.alloc(0);kd.p2wpkh=function(t,e){if(!(t.address||t.hash||t.output||t.pubkey||t.witness))throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),jd({address:jd.maybe(jd.String),hash:jd.maybe(jd.BufferN(20)),input:jd.maybe(jd.BufferN(0)),network:jd.maybe(jd.Object),output:jd.maybe(jd.BufferN(22)),pubkey:jd.maybe(qd.isPoint),signature:jd.maybe(Ld.isCanonicalScriptSignature),witness:jd.maybe(jd.arrayOf(jd.Buffer))},t);const r=Dd.value((()=>{const e=Kd.decode(t.address),r=e.words.shift(),i=Kd.fromWords(e.words);return{version:r,prefix:e.prefix,data:z.from(i)}})),i=t.network||Cd.bitcoin,n={name:"p2wpkh",network:i};if(Dd.prop(n,"address",(()=>{if(!n.hash)return;const t=Kd.toWords(n.hash);return t.unshift(0),Kd.encode(i.bech32,t)})),Dd.prop(n,"hash",(()=>t.output?t.output.slice(2,22):t.address?r().data:t.pubkey||n.pubkey?Ud.hash160(t.pubkey||n.pubkey):void 0)),Dd.prop(n,"output",(()=>{if(n.hash)return Ld.compile([Hd.OP_0,n.hash])})),Dd.prop(n,"pubkey",(()=>t.pubkey?t.pubkey:t.witness?t.witness[1]:void 0)),Dd.prop(n,"signature",(()=>{if(t.witness)return t.witness[0]})),Dd.prop(n,"input",(()=>{if(n.witness)return Fd})),Dd.prop(n,"witness",(()=>{if(t.pubkey&&t.signature)return[t.signature,t.pubkey]})),e.validate){let e=z.from([]);if(t.address){if(i&&i.bech32!==r().prefix)throw new TypeError("Invalid prefix or Network mismatch");if(0!==r().version)throw new TypeError("Invalid address version");if(20!==r().data.length)throw new TypeError("Invalid address data");e=r().data}if(t.hash){if(e.length>0&&!e.equals(t.hash))throw new TypeError("Hash mismatch");e=t.hash}if(t.output){if(22!==t.output.length||t.output[0]!==Hd.OP_0||20!==t.output[1])throw new TypeError("Output is invalid");if(e.length>0&&!e.equals(t.output.slice(2)))throw new TypeError("Hash mismatch");e=t.output.slice(2)}if(t.pubkey){const r=Ud.hash160(t.pubkey);if(e.length>0&&!e.equals(r))throw new TypeError("Hash mismatch");if(e=r,!qd.isPoint(t.pubkey)||33!==t.pubkey.length)throw new TypeError("Invalid pubkey for p2wpkh")}if(t.witness){if(2!==t.witness.length)throw new TypeError("Witness is invalid");if(!Ld.isCanonicalScriptSignature(t.witness[0]))throw new TypeError("Witness has invalid signature");if(!qd.isPoint(t.witness[1])||33!==t.witness[1].length)throw new TypeError("Witness has invalid pubkey");if(t.signature&&!t.signature.equals(t.witness[0]))throw new TypeError("Signature mismatch");if(t.pubkey&&!t.pubkey.equals(t.witness[1]))throw new TypeError("Pubkey mismatch");const r=Ud.hash160(t.witness[1]);if(e.length>0&&!e.equals(r))throw new TypeError("Hash mismatch")}}return Object.assign(n,t)};var zd={};Object.defineProperty(zd,"__esModule",{value:!0});const Wd=od,Vd=fc,Zd=dc,Gd=Cc,$d=Kl,Xd=Zd.OPS,Yd=ol,Jd=Nd,Qd=z.alloc(0);function tp(t){return!(!At(t)||65!==t.length||4!==t[0]||!Yd.isPoint(t))}zd.p2wsh=function(t,e){if(!(t.address||t.hash||t.output||t.redeem||t.witness))throw new TypeError("Not enough data");e=Object.assign({validate:!0},e||{}),$d({network:$d.maybe($d.Object),address:$d.maybe($d.String),hash:$d.maybe($d.BufferN(32)),output:$d.maybe($d.BufferN(34)),redeem:$d.maybe({input:$d.maybe($d.Buffer),network:$d.maybe($d.Object),output:$d.maybe($d.Buffer),witness:$d.maybe($d.arrayOf($d.Buffer))}),input:$d.maybe($d.BufferN(0)),witness:$d.maybe($d.arrayOf($d.Buffer))},t);const r=Gd.value((()=>{const e=Jd.decode(t.address),r=e.words.shift(),i=Jd.fromWords(e.words);return{version:r,prefix:e.prefix,data:z.from(i)}})),i=Gd.value((()=>Zd.decompile(t.redeem.input)));let n=t.network;n||(n=t.redeem&&t.redeem.network||Vd.bitcoin);const o={network:n};if(Gd.prop(o,"address",(()=>{if(!o.hash)return;const t=Jd.toWords(o.hash);return t.unshift(0),Jd.encode(n.bech32,t)})),Gd.prop(o,"hash",(()=>t.output?t.output.slice(2):t.address?r().data:o.redeem&&o.redeem.output?Wd.sha256(o.redeem.output):void 0)),Gd.prop(o,"output",(()=>{if(o.hash)return Zd.compile([Xd.OP_0,o.hash])})),Gd.prop(o,"redeem",(()=>{if(t.witness)return{output:t.witness[t.witness.length-1],input:Qd,witness:t.witness.slice(0,-1)}})),Gd.prop(o,"input",(()=>{if(o.witness)return Qd})),Gd.prop(o,"witness",(()=>{if(t.redeem&&t.redeem.input&&t.redeem.input.length>0&&t.redeem.output&&t.redeem.output.length>0){const e=Zd.toStack(i());return o.redeem=Object.assign({witness:e},t.redeem),o.redeem.input=Qd,[].concat(e,t.redeem.output)}if(t.redeem&&t.redeem.output&&t.redeem.witness)return[].concat(t.redeem.witness,t.redeem.output)})),Gd.prop(o,"name",(()=>{const t=["p2wsh"];return void 0!==o.redeem&&t.push(o.redeem.name),t.join("-")})),e.validate){let e=z.from([]);if(t.address){if(r().prefix!==n.bech32)throw new TypeError("Invalid prefix or Network mismatch");if(0!==r().version)throw new TypeError("Invalid address version");if(32!==r().data.length)throw new TypeError("Invalid address data");e=r().data}if(t.hash){if(e.length>0&&!e.equals(t.hash))throw new TypeError("Hash mismatch");e=t.hash}if(t.output){if(34!==t.output.length||t.output[0]!==Xd.OP_0||32!==t.output[1])throw new TypeError("Output is invalid");const r=t.output.slice(2);if(e.length>0&&!e.equals(r))throw new TypeError("Hash mismatch");e=r}if(t.redeem){if(t.redeem.network&&t.redeem.network!==n)throw new TypeError("Network mismatch");if(t.redeem.input&&t.redeem.input.length>0&&t.redeem.witness&&t.redeem.witness.length>0)throw new TypeError("Ambiguous witness source");if(t.redeem.output){if(0===Zd.decompile(t.redeem.output).length)throw new TypeError("Redeem.output is invalid");const r=Wd.sha256(t.redeem.output);if(e.length>0&&!e.equals(r))throw new TypeError("Hash mismatch");e=r}if(t.redeem.input&&!Zd.isPushOnly(i()))throw new TypeError("Non push-only scriptSig");if(t.witness&&t.redeem.witness&&!function(t,e){return t.length===e.length&&t.every(((t,r)=>t.equals(e[r])))}(t.witness,t.redeem.witness))throw new TypeError("Witness and redeem.witness mismatch");if(t.redeem.input&&i().some(tp)||t.redeem.output&&(Zd.decompile(t.redeem.output)||[]).some(tp))throw new TypeError("redeem.input or redeem.output contains uncompressed pubkey")}if(t.witness&&t.witness.length>0){const e=t.witness[t.witness.length-1];if(t.redeem&&t.redeem.output&&!t.redeem.output.equals(e))throw new TypeError("Witness and redeem.output mismatch");if(t.witness.some(tp)||(Zd.decompile(e)||[]).some(tp))throw new TypeError("Witness contains uncompressed pubkey")}}return Object.assign(o,t)},Object.defineProperty(lc,"__esModule",{value:!0});const ep=cc;lc.embed=ep.p2data;const rp=Kc;lc.p2ms=rp.p2ms;const ip=Yc;lc.p2pk=ip.p2pk;const np=nd;lc.p2pkh=np.p2pkh;const op=yd;lc.p2sh=op.p2sh;const sp=kd;lc.p2wpkh=sp.p2wpkh;const hp=zd;lc.p2wsh=hp.p2wsh,Object.defineProperty(uc,"__esModule",{value:!0});const ap=fc,up=lc,fp=dc,lp=gc,cp=Nd,dp=Xs,pp=Kl;function mp(t){const e=dp.decode(t);if(e.length<21)throw new TypeError(t+" is too short");if(e.length>21)throw new TypeError(t+" is too long");return{version:e.readUInt8(0),hash:e.slice(1)}}function gp(t){const e=cp.decode(t),r=cp.fromWords(e.words.slice(1));return{version:e.words[0],prefix:e.prefix,data:z.from(r)}}uc.fromBase58Check=mp,uc.fromBech32=gp,uc.toBase58Check=function(t,e){pp(lp.tuple(lp.Hash160bit,lp.UInt8),arguments);const r=z.allocUnsafe(21);return r.writeUInt8(e,0),t.copy(r,1),dp.encode(r)},uc.toBech32=function(t,e,r){const i=cp.toWords(t);return i.unshift(e),cp.encode(r,i)},uc.fromOutputScript=function(t,e){e=e||ap.bitcoin;try{return up.p2pkh({output:t,network:e}).address}catch(t){}try{return up.p2sh({output:t,network:e}).address}catch(t){}try{return up.p2wpkh({output:t,network:e}).address}catch(t){}try{return up.p2wsh({output:t,network:e}).address}catch(t){}throw new Error(fp.toASM(t)+" has no matching Address")},uc.toOutputScript=function(t,e){let r,i;e=e||ap.bitcoin;try{r=mp(t)}catch(t){}if(r){if(r.version===e.pubKeyHash)return up.p2pkh({hash:r.hash}).output;if(r.version===e.scriptHash)return up.p2sh({hash:r.hash}).output}else{try{i=gp(t)}catch(t){}if(i){if(i.prefix!==e.bech32)throw new Error(t+" has an invalid prefix");if(0===i.version){if(20===i.data.length)return up.p2wpkh({hash:i.data}).output;if(32===i.data.length)return up.p2wsh({hash:i.data}).output}}}throw new Error(t+" has no matching Script")};var yp={},vp={exports:{}};var bp=xt.exports.Buffer,wp=A.crypto||A.msCrypto;wp&&wp.getRandomValues?vp.exports=function(t,e){if(t>4294967295)throw new RangeError("requested too many random bytes");var r=bp.allocUnsafe(t);if(t>0)if(t>65536)for(var i=0;i<t;i+=65536)wp.getRandomValues(r.slice(i,i+65536));else wp.getRandomValues(r);if("function"==typeof e)return re((function(){e(null,r)}));return r}:vp.exports=function(){throw new Error("Secure random number generation is not supported by this browser.\nUse Chrome, Firefox or Internet Explorer 11")},Object.defineProperty(yp,"__esModule",{value:!0});const Mp=fc,_p=gc,Sp=ol,Ep=vp.exports,kp=Kl,Ap=Vl,Ip=kp.maybe(kp.compile({compressed:_p.maybe(_p.Boolean),network:_p.maybe(_p.Network)}));class Tp{constructor(t,e,r){this.__D=t,this.__Q=e,this.lowR=!1,void 0===r&&(r={}),this.compressed=void 0===r.compressed||r.compressed,this.network=r.network||Mp.bitcoin,void 0!==e&&(this.__Q=Sp.pointCompress(e,this.compressed))}get privateKey(){return this.__D}get publicKey(){return this.__Q||(this.__Q=Sp.pointFromScalar(this.__D,this.compressed)),this.__Q}toWIF(){if(!this.__D)throw new Error("Missing private key");return Ap.encode(this.network.wif,this.__D,this.compressed)}sign(t,e){if(!this.__D)throw new Error("Missing private key");if(void 0===e&&(e=this.lowR),!1===e)return Sp.sign(t,this.__D);{let e=Sp.sign(t,this.__D);const r=z.alloc(32,0);let i=0;for(;e[0]>127;)i++,r.writeUIntLE(i,0,6),e=Sp.signWithEntropy(t,this.__D,r);return e}}verify(t,e){return Sp.verify(t,this.publicKey,e)}}function Op(t,e){if(kp(_p.Buffer256bit,t),!Sp.isPrivate(t))throw new TypeError("Private key not in range [1, n)");return kp(Ip,e),new Tp(t,void 0,e)}yp.fromPrivateKey=Op,yp.fromPublicKey=function(t,e){return kp(Sp.isPoint,t),kp(Ip,e),new Tp(void 0,t,e)},yp.fromWIF=function(t,e){const r=Ap.decode(t),i=r.version;if(_p.Array(e)){if(!(e=e.filter((t=>i===t.wif)).pop()))throw new Error("Unknown network version")}else if(e=e||Mp.bitcoin,i!==e.wif)throw new Error("Invalid network version");return Op(r.privateKey,{compressed:r.compressed,network:e})},yp.makeRandom=function(t){kp(Ip,t),void 0===t&&(t={});const e=t.rng||Ep;let r;do{r=e(32),kp(_p.Buffer256bit,r)}while(!Sp.isPrivate(r));return Op(r,t)};var Pp={},xp={},Bp=xt.exports.Buffer;function Rp(t){if(t<0||t>9007199254740991||t%1!=0)throw new RangeError("value out of range")}function Np(t){return Rp(t),t<253?1:t<=65535?3:t<=4294967295?5:9}var Up={encode:function t(e,r,i){if(Rp(e),r||(r=Bp.allocUnsafe(Np(e))),!Bp.isBuffer(r))throw new TypeError("buffer must be a Buffer instance");return i||(i=0),e<253?(r.writeUInt8(e,i),t.bytes=1):e<=65535?(r.writeUInt8(253,i),r.writeUInt16LE(e,i+1),t.bytes=3):e<=4294967295?(r.writeUInt8(254,i),r.writeUInt32LE(e,i+1),t.bytes=5):(r.writeUInt8(255,i),r.writeUInt32LE(e>>>0,i+1),r.writeUInt32LE(e/4294967296|0,i+5),t.bytes=9),r},decode:function t(e,r){if(!Bp.isBuffer(e))throw new TypeError("buffer must be a Buffer instance");r||(r=0);var i=e.readUInt8(r);if(i<253)return t.bytes=1,i;if(253===i)return t.bytes=3,e.readUInt16LE(r+1);if(254===i)return t.bytes=5,e.readUInt32LE(r+1);t.bytes=9;var n=e.readUInt32LE(r+1),o=4294967296*e.readUInt32LE(r+5)+n;return Rp(o),o},encodingLength:Np};Object.defineProperty(xp,"__esModule",{value:!0});const Cp=gc,Lp=Kl,Dp=Up;function jp(t,e){if("number"!=typeof t)throw new Error("cannot write a non-number as a number");if(t<0)throw new Error("specified a negative value for writing an unsigned value");if(t>e)throw new Error("RangeError: value out of range");if(Math.floor(t)!==t)throw new Error("value has a fractional component")}function Hp(t,e){const r=t.readUInt32LE(e);let i=t.readUInt32LE(e+4);return i*=4294967296,jp(i+r,9007199254740991),i+r}function qp(t,e,r){return jp(e,9007199254740991),t.writeInt32LE(-1&e,r),t.writeUInt32LE(Math.floor(e/4294967296),r+4),r+8}xp.readUInt64LE=Hp,xp.writeUInt64LE=qp,xp.reverseBuffer=function(t){if(t.length<1)return t;let e=t.length-1,r=0;for(let i=0;i<t.length/2;i++)r=t[i],t[i]=t[e],t[e]=r,e--;return t},xp.cloneBuffer=function(t){const e=z.allocUnsafe(t.length);return t.copy(e),e};xp.BufferWriter=class{constructor(t,e=0){this.buffer=t,this.offset=e,Lp(Cp.tuple(Cp.Buffer,Cp.UInt32),[t,e])}writeUInt8(t){this.offset=this.buffer.writeUInt8(t,this.offset)}writeInt32(t){this.offset=this.buffer.writeInt32LE(t,this.offset)}writeUInt32(t){this.offset=this.buffer.writeUInt32LE(t,this.offset)}writeUInt64(t){this.offset=qp(this.buffer,t,this.offset)}writeVarInt(t){Dp.encode(t,this.buffer,this.offset),this.offset+=Dp.encode.bytes}writeSlice(t){if(this.buffer.length<this.offset+t.length)throw new Error("Cannot write slice out of bounds");this.offset+=t.copy(this.buffer,this.offset)}writeVarSlice(t){this.writeVarInt(t.length),this.writeSlice(t)}writeVector(t){this.writeVarInt(t.length),t.forEach((t=>this.writeVarSlice(t)))}};xp.BufferReader=class{constructor(t,e=0){this.buffer=t,this.offset=e,Lp(Cp.tuple(Cp.Buffer,Cp.UInt32),[t,e])}readUInt8(){const t=this.buffer.readUInt8(this.offset);return this.offset++,t}readInt32(){const t=this.buffer.readInt32LE(this.offset);return this.offset+=4,t}readUInt32(){const t=this.buffer.readUInt32LE(this.offset);return this.offset+=4,t}readUInt64(){const t=Hp(this.buffer,this.offset);return this.offset+=8,t}readVarInt(){const t=Dp.decode(this.buffer,this.offset);return this.offset+=Dp.decode.bytes,t}readSlice(t){if(this.buffer.length<this.offset+t)throw new Error("Cannot read slice out of bounds");const e=this.buffer.slice(this.offset,this.offset+t);return this.offset+=t,e}readVarSlice(){return this.readSlice(this.readVarInt())}readVector(){const t=this.readVarInt(),e=[];for(let r=0;r<t;r++)e.push(this.readVarSlice());return e}};var Kp={};Object.defineProperty(Kp,"__esModule",{value:!0});const Fp=xp,zp=od,Wp=dc,Vp=dc,Zp=gc,Gp=Kl,$p=Up;function Xp(t){const e=t.length;return $p.encodingLength(e)+e}const Yp=z.allocUnsafe(0),Jp=[],Qp=z.from("0000000000000000000000000000000000000000000000000000000000000000","hex"),tm=z.from("0000000000000000000000000000000000000000000000000000000000000001","hex"),em=z.from("ffffffffffffffff","hex"),rm={script:Yp,valueBuffer:em};class im{constructor(){this.version=1,this.locktime=0,this.ins=[],this.outs=[]}static fromBuffer(t,e){const r=new Fp.BufferReader(t),i=new im;i.version=r.readInt32();const n=r.readUInt8(),o=r.readUInt8();let s=!1;n===im.ADVANCED_TRANSACTION_MARKER&&o===im.ADVANCED_TRANSACTION_FLAG?s=!0:r.offset-=2;const h=r.readVarInt();for(let t=0;t<h;++t)i.ins.push({hash:r.readSlice(32),index:r.readUInt32(),script:r.readVarSlice(),sequence:r.readUInt32(),witness:Jp});const a=r.readVarInt();for(let t=0;t<a;++t)i.outs.push({value:r.readUInt64(),script:r.readVarSlice()});if(s){for(let t=0;t<h;++t)i.ins[t].witness=r.readVector();if(!i.hasWitnesses())throw new Error("Transaction has superfluous witness data")}if(i.locktime=r.readUInt32(),e)return i;if(r.offset!==t.length)throw new Error("Transaction has unexpected data");return i}static fromHex(t){return im.fromBuffer(z.from(t,"hex"),!1)}static isCoinbaseHash(t){Gp(Zp.Hash256bit,t);for(let e=0;e<32;++e)if(0!==t[e])return!1;return!0}isCoinbase(){return 1===this.ins.length&&im.isCoinbaseHash(this.ins[0].hash)}addInput(t,e,r,i){return Gp(Zp.tuple(Zp.Hash256bit,Zp.UInt32,Zp.maybe(Zp.UInt32),Zp.maybe(Zp.Buffer)),arguments),Zp.Null(r)&&(r=im.DEFAULT_SEQUENCE),this.ins.push({hash:t,index:e,script:i||Yp,sequence:r,witness:Jp})-1}addOutput(t,e){return Gp(Zp.tuple(Zp.Buffer,Zp.Satoshi),arguments),this.outs.push({script:t,value:e})-1}hasWitnesses(){return this.ins.some((t=>0!==t.witness.length))}weight(){return 3*this.byteLength(!1)+this.byteLength(!0)}virtualSize(){return Math.ceil(this.weight()/4)}byteLength(t=!0){const e=t&&this.hasWitnesses();return(e?10:8)+$p.encodingLength(this.ins.length)+$p.encodingLength(this.outs.length)+this.ins.reduce(((t,e)=>t+40+Xp(e.script)),0)+this.outs.reduce(((t,e)=>t+8+Xp(e.script)),0)+(e?this.ins.reduce(((t,e)=>t+function(t){const e=t.length;return $p.encodingLength(e)+t.reduce(((t,e)=>t+Xp(e)),0)}(e.witness)),0):0)}clone(){const t=new im;return t.version=this.version,t.locktime=this.locktime,t.ins=this.ins.map((t=>({hash:t.hash,index:t.index,script:t.script,sequence:t.sequence,witness:t.witness}))),t.outs=this.outs.map((t=>({script:t.script,value:t.value}))),t}hashForSignature(t,e,r){if(Gp(Zp.tuple(Zp.UInt32,Zp.Buffer,Zp.Number),arguments),t>=this.ins.length)return tm;const i=Wp.compile(Wp.decompile(e).filter((t=>t!==Vp.OPS.OP_CODESEPARATOR))),n=this.clone();if((31&r)===im.SIGHASH_NONE)n.outs=[],n.ins.forEach(((e,r)=>{r!==t&&(e.sequence=0)}));else if((31&r)===im.SIGHASH_SINGLE){if(t>=this.outs.length)return tm;n.outs.length=t+1;for(let e=0;e<t;e++)n.outs[e]=rm;n.ins.forEach(((e,r)=>{r!==t&&(e.sequence=0)}))}r&im.SIGHASH_ANYONECANPAY?(n.ins=[n.ins[t]],n.ins[0].script=i):(n.ins.forEach((t=>{t.script=Yp})),n.ins[t].script=i);const o=z.allocUnsafe(n.byteLength(!1)+4);return o.writeInt32LE(r,o.length-4),n.__toBuffer(o,0,!1),zp.hash256(o)}hashForWitnessV0(t,e,r,i){Gp(Zp.tuple(Zp.UInt32,Zp.Buffer,Zp.Satoshi,Zp.UInt32),arguments);let n,o=z.from([]),s=Qp,h=Qp,a=Qp;if(i&im.SIGHASH_ANYONECANPAY||(o=z.allocUnsafe(36*this.ins.length),n=new Fp.BufferWriter(o,0),this.ins.forEach((t=>{n.writeSlice(t.hash),n.writeUInt32(t.index)})),h=zp.hash256(o)),i&im.SIGHASH_ANYONECANPAY||(31&i)===im.SIGHASH_SINGLE||(31&i)===im.SIGHASH_NONE||(o=z.allocUnsafe(4*this.ins.length),n=new Fp.BufferWriter(o,0),this.ins.forEach((t=>{n.writeUInt32(t.sequence)})),a=zp.hash256(o)),(31&i)!==im.SIGHASH_SINGLE&&(31&i)!==im.SIGHASH_NONE){const t=this.outs.reduce(((t,e)=>t+8+Xp(e.script)),0);o=z.allocUnsafe(t),n=new Fp.BufferWriter(o,0),this.outs.forEach((t=>{n.writeUInt64(t.value),n.writeVarSlice(t.script)})),s=zp.hash256(o)}else if((31&i)===im.SIGHASH_SINGLE&&t<this.outs.length){const e=this.outs[t];o=z.allocUnsafe(8+Xp(e.script)),n=new Fp.BufferWriter(o,0),n.writeUInt64(e.value),n.writeVarSlice(e.script),s=zp.hash256(o)}o=z.allocUnsafe(156+Xp(e)),n=new Fp.BufferWriter(o,0);const u=this.ins[t];return n.writeUInt32(this.version),n.writeSlice(h),n.writeSlice(a),n.writeSlice(u.hash),n.writeUInt32(u.index),n.writeVarSlice(e),n.writeUInt64(r),n.writeUInt32(u.sequence),n.writeSlice(s),n.writeUInt32(this.locktime),n.writeUInt32(i),zp.hash256(o)}getHash(t){return t&&this.isCoinbase()?z.alloc(32,0):zp.hash256(this.__toBuffer(void 0,void 0,t))}getId(){return Fp.reverseBuffer(this.getHash(!1)).toString("hex")}toBuffer(t,e){return this.__toBuffer(t,e,!0)}toHex(){return this.toBuffer(void 0,void 0).toString("hex")}setInputScript(t,e){Gp(Zp.tuple(Zp.Number,Zp.Buffer),arguments),this.ins[t].script=e}setWitness(t,e){Gp(Zp.tuple(Zp.Number,[Zp.Buffer]),arguments),this.ins[t].witness=e}__toBuffer(t,e,r=!1){t||(t=z.allocUnsafe(this.byteLength(r)));const i=new Fp.BufferWriter(t,e||0);i.writeInt32(this.version);const n=r&&this.hasWitnesses();return n&&(i.writeUInt8(im.ADVANCED_TRANSACTION_MARKER),i.writeUInt8(im.ADVANCED_TRANSACTION_FLAG)),i.writeVarInt(this.ins.length),this.ins.forEach((t=>{i.writeSlice(t.hash),i.writeUInt32(t.index),i.writeVarSlice(t.script),i.writeUInt32(t.sequence)})),i.writeVarInt(this.outs.length),this.outs.forEach((t=>{void 0!==t.value?i.writeUInt64(t.value):i.writeSlice(t.valueBuffer),i.writeVarSlice(t.script)})),n&&this.ins.forEach((t=>{i.writeVector(t.witness)})),i.writeUInt32(this.locktime),void 0!==e?t.slice(e,i.offset):t}}im.DEFAULT_SEQUENCE=4294967295,im.SIGHASH_ALL=1,im.SIGHASH_NONE=2,im.SIGHASH_SINGLE=3,im.SIGHASH_ANYONECANPAY=128,im.ADVANCED_TRANSACTION_MARKER=0,im.ADVANCED_TRANSACTION_FLAG=1,Kp.Transaction=im;Object.defineProperty(Pp,"__esModule",{value:!0});const nm=xp,om=od,sm=Kp,hm=gc,am=function(t,e){if(!Array.isArray(t))throw TypeError("Expected values Array");if("function"!=typeof e)throw TypeError("Expected digest Function");for(var r=t.length,i=t.concat();r>1;){for(var n=0,o=0;o<r;o+=2,++n){var s=i[o],h=o+1===r?s:i[o+1],a=z.concat([s,h]);i[n]=e(a)}r=n}return i[0]},um=Kl,fm=Up,lm=new TypeError("Cannot compute merkle root for zero transactions"),cm=new TypeError("Cannot compute witness commit for non-segwit block");class dm{constructor(){this.version=1,this.prevHash=void 0,this.merkleRoot=void 0,this.timestamp=0,this.witnessCommit=void 0,this.bits=0,this.nonce=0,this.transactions=void 0}static fromBuffer(t){if(t.length<80)throw new Error("Buffer too small (< 80 bytes)");const e=new nm.BufferReader(t),r=new dm;if(r.version=e.readInt32(),r.prevHash=e.readSlice(32),r.merkleRoot=e.readSlice(32),r.timestamp=e.readUInt32(),r.bits=e.readUInt32(),r.nonce=e.readUInt32(),80===t.length)return r;const i=()=>{const t=sm.Transaction.fromBuffer(e.buffer.slice(e.offset),!0);return e.offset+=t.byteLength(),t},n=e.readVarInt();r.transactions=[];for(let t=0;t<n;++t){const t=i();r.transactions.push(t)}const o=r.getWitnessCommit();return o&&(r.witnessCommit=o),r}static fromHex(t){return dm.fromBuffer(z.from(t,"hex"))}static calculateTarget(t){const e=((4278190080&t)>>24)-3,r=8388607&t,i=z.alloc(32,0);return i.writeUIntBE(r,29-e,3),i}static calculateMerkleRoot(t,e){if(um([{getHash:hm.Function}],t),0===t.length)throw lm;if(e&&!pm(t))throw cm;const r=t.map((t=>t.getHash(e))),i=am(r,om.hash256);return e?om.hash256(z.concat([i,t[0].ins[0].witness[0]])):i}getWitnessCommit(){if(!pm(this.transactions))return null;const t=this.transactions[0].outs.filter((t=>t.script.slice(0,6).equals(z.from("6a24aa21a9ed","hex")))).map((t=>t.script.slice(6,38)));if(0===t.length)return null;const e=t[t.length-1];return e instanceof z&&32===e.length?e:null}hasWitnessCommit(){return this.witnessCommit instanceof z&&32===this.witnessCommit.length||null!==this.getWitnessCommit()}hasWitness(){return(t=this.transactions)instanceof Array&&t.some((t=>"object"==typeof t&&t.ins instanceof Array&&t.ins.some((t=>"object"==typeof t&&t.witness instanceof Array&&t.witness.length>0))));var t}weight(){return 3*this.byteLength(!1,!1)+this.byteLength(!1,!0)}byteLength(t,e=!0){return t||!this.transactions?80:80+fm.encodingLength(this.transactions.length)+this.transactions.reduce(((t,r)=>t+r.byteLength(e)),0)}getHash(){return om.hash256(this.toBuffer(!0))}getId(){return nm.reverseBuffer(this.getHash()).toString("hex")}getUTCDate(){const t=new Date(0);return t.setUTCSeconds(this.timestamp),t}toBuffer(t){const e=z.allocUnsafe(this.byteLength(t)),r=new nm.BufferWriter(e);return r.writeInt32(this.version),r.writeSlice(this.prevHash),r.writeSlice(this.merkleRoot),r.writeUInt32(this.timestamp),r.writeUInt32(this.bits),r.writeUInt32(this.nonce),t||!this.transactions||(fm.encode(this.transactions.length,e,r.offset),r.offset+=fm.encode.bytes,this.transactions.forEach((t=>{const i=t.byteLength();t.toBuffer(e,r.offset),r.offset+=i}))),e}toHex(t){return this.toBuffer(t).toString("hex")}checkTxRoots(){const t=this.hasWitnessCommit();return!(!t&&this.hasWitness())&&(this.__checkMerkleRoot()&&(!t||this.__checkWitnessCommit()))}checkProofOfWork(){const t=nm.reverseBuffer(this.getHash()),e=dm.calculateTarget(this.bits);return t.compare(e)<=0}__checkMerkleRoot(){if(!this.transactions)throw lm;const t=dm.calculateMerkleRoot(this.transactions);return 0===this.merkleRoot.compare(t)}__checkWitnessCommit(){if(!this.transactions)throw lm;if(!this.hasWitnessCommit())throw cm;const t=dm.calculateMerkleRoot(this.transactions,!0);return 0===this.witnessCommit.compare(t)}}function pm(t){return t instanceof Array&&t[0]&&t[0].ins&&t[0].ins instanceof Array&&t[0].ins[0]&&t[0].ins[0].witness&&t[0].ins[0].witness instanceof Array&&t[0].ins[0].witness.length>0}Pp.Block=dm;var mm={},gm={},ym={},vm={},bm={},wm={},Mm={};!function(t){var e,r,i;Object.defineProperty(t,"__esModule",{value:!0}),(e=t.GlobalTypes||(t.GlobalTypes={}))[e.UNSIGNED_TX=0]="UNSIGNED_TX",e[e.GLOBAL_XPUB=1]="GLOBAL_XPUB",t.GLOBAL_TYPE_NAMES=["unsignedTx","globalXpub"],(r=t.InputTypes||(t.InputTypes={}))[r.NON_WITNESS_UTXO=0]="NON_WITNESS_UTXO",r[r.WITNESS_UTXO=1]="WITNESS_UTXO",r[r.PARTIAL_SIG=2]="PARTIAL_SIG",r[r.SIGHASH_TYPE=3]="SIGHASH_TYPE",r[r.REDEEM_SCRIPT=4]="REDEEM_SCRIPT",r[r.WITNESS_SCRIPT=5]="WITNESS_SCRIPT",r[r.BIP32_DERIVATION=6]="BIP32_DERIVATION",r[r.FINAL_SCRIPTSIG=7]="FINAL_SCRIPTSIG",r[r.FINAL_SCRIPTWITNESS=8]="FINAL_SCRIPTWITNESS",r[r.POR_COMMITMENT=9]="POR_COMMITMENT",t.INPUT_TYPE_NAMES=["nonWitnessUtxo","witnessUtxo","partialSig","sighashType","redeemScript","witnessScript","bip32Derivation","finalScriptSig","finalScriptWitness","porCommitment"],(i=t.OutputTypes||(t.OutputTypes={}))[i.REDEEM_SCRIPT=0]="REDEEM_SCRIPT",i[i.WITNESS_SCRIPT=1]="WITNESS_SCRIPT",i[i.BIP32_DERIVATION=2]="BIP32_DERIVATION",t.OUTPUT_TYPE_NAMES=["redeemScript","witnessScript","bip32Derivation"]}(Mm);var _m={};Object.defineProperty(_m,"__esModule",{value:!0});const Sm=Mm;_m.decode=function(t){if(t.key[0]!==Sm.GlobalTypes.GLOBAL_XPUB)throw new Error("Decode Error: could not decode globalXpub with key 0x"+t.key.toString("hex"));if(79!==t.key.length||![2,3].includes(t.key[46]))throw new Error("Decode Error: globalXpub has invalid extended pubkey in key 0x"+t.key.toString("hex"));if(t.value.length/4%1!=0)throw new Error("Decode Error: Global GLOBAL_XPUB value length should be multiple of 4");const e=t.key.slice(1),r={masterFingerprint:t.value.slice(0,4),extendedPubkey:e,path:"m"};for(const e of(t=>[...Array(t).keys()])(t.value.length/4-1)){const i=t.value.readUInt32LE(4*e+4),n=!!(2147483648&i),o=2147483647&i;r.path+="/"+o.toString(10)+(n?"'":"")}return r},_m.encode=function(t){const e=z.from([Sm.GlobalTypes.GLOBAL_XPUB]),r=z.concat([e,t.extendedPubkey]),i=t.path.split("/"),n=z.allocUnsafe(4*i.length);t.masterFingerprint.copy(n,0);let o=4;return i.slice(1).forEach((t=>{const e="'"===t.slice(-1);let r=2147483647&parseInt(e?t.slice(0,-1):t,10);e&&(r+=2147483648),n.writeUInt32LE(r,o),o+=4})),{key:r,value:n}},_m.expected="{ masterFingerprint: Buffer; extendedPubkey: Buffer; path: string; }",_m.check=function(t){const e=t.extendedPubkey,r=t.masterFingerprint,i=t.path;return At(e)&&78===e.length&&[2,3].indexOf(e[45])>-1&&At(r)&&4===r.length&&"string"==typeof i&&!!i.match(/^m(\/\d+'?)+$/)},_m.canAddToArray=function(t,e,r){const i=e.extendedPubkey.toString("hex");return!r.has(i)&&(r.add(i),0===t.filter((t=>t.extendedPubkey.equals(e.extendedPubkey))).length)};var Em={};Object.defineProperty(Em,"__esModule",{value:!0});const km=Mm;Em.encode=function(t){return{key:z.from([km.GlobalTypes.UNSIGNED_TX]),value:t.toBuffer()}};var Am={};Object.defineProperty(Am,"__esModule",{value:!0});const Im=Mm;Am.decode=function(t){if(t.key[0]!==Im.InputTypes.FINAL_SCRIPTSIG)throw new Error("Decode Error: could not decode finalScriptSig with key 0x"+t.key.toString("hex"));return t.value},Am.encode=function(t){return{key:z.from([Im.InputTypes.FINAL_SCRIPTSIG]),value:t}},Am.expected="Buffer",Am.check=function(t){return At(t)},Am.canAdd=function(t,e){return!!t&&!!e&&void 0===t.finalScriptSig};var Tm={};Object.defineProperty(Tm,"__esModule",{value:!0});const Om=Mm;Tm.decode=function(t){if(t.key[0]!==Om.InputTypes.FINAL_SCRIPTWITNESS)throw new Error("Decode Error: could not decode finalScriptWitness with key 0x"+t.key.toString("hex"));return t.value},Tm.encode=function(t){return{key:z.from([Om.InputTypes.FINAL_SCRIPTWITNESS]),value:t}},Tm.expected="Buffer",Tm.check=function(t){return At(t)},Tm.canAdd=function(t,e){return!!t&&!!e&&void 0===t.finalScriptWitness};var Pm={};Object.defineProperty(Pm,"__esModule",{value:!0});const xm=Mm;Pm.decode=function(t){if(t.key[0]!==xm.InputTypes.NON_WITNESS_UTXO)throw new Error("Decode Error: could not decode nonWitnessUtxo with key 0x"+t.key.toString("hex"));return t.value},Pm.encode=function(t){return{key:z.from([xm.InputTypes.NON_WITNESS_UTXO]),value:t}},Pm.expected="Buffer",Pm.check=function(t){return At(t)},Pm.canAdd=function(t,e){return!!t&&!!e&&void 0===t.nonWitnessUtxo};var Bm={};Object.defineProperty(Bm,"__esModule",{value:!0});const Rm=Mm;Bm.decode=function(t){if(t.key[0]!==Rm.InputTypes.PARTIAL_SIG)throw new Error("Decode Error: could not decode partialSig with key 0x"+t.key.toString("hex"));if(34!==t.key.length&&66!==t.key.length||![2,3,4].includes(t.key[1]))throw new Error("Decode Error: partialSig has invalid pubkey in key 0x"+t.key.toString("hex"));return{pubkey:t.key.slice(1),signature:t.value}},Bm.encode=function(t){const e=z.from([Rm.InputTypes.PARTIAL_SIG]);return{key:z.concat([e,t.pubkey]),value:t.signature}},Bm.expected="{ pubkey: Buffer; signature: Buffer; }",Bm.check=function(t){return At(t.pubkey)&&At(t.signature)&&[33,65].includes(t.pubkey.length)&&[2,3,4].includes(t.pubkey[0])&&function(t){if(!At(t)||t.length<9)return!1;if(48!==t[0])return!1;if(t.length!==t[1]+3)return!1;if(2!==t[2])return!1;const e=t[3];if(e>33||e<1)return!1;if(2!==t[3+e+1])return!1;const r=t[3+e+2];return!(r>33||r<1)&&t.length===3+e+2+r+2}(t.signature)},Bm.canAddToArray=function(t,e,r){const i=e.pubkey.toString("hex");return!r.has(i)&&(r.add(i),0===t.filter((t=>t.pubkey.equals(e.pubkey))).length)};var Nm={};Object.defineProperty(Nm,"__esModule",{value:!0});const Um=Mm;Nm.decode=function(t){if(t.key[0]!==Um.InputTypes.POR_COMMITMENT)throw new Error("Decode Error: could not decode porCommitment with key 0x"+t.key.toString("hex"));return t.value.toString("utf8")},Nm.encode=function(t){return{key:z.from([Um.InputTypes.POR_COMMITMENT]),value:z.from(t,"utf8")}},Nm.expected="string",Nm.check=function(t){return"string"==typeof t},Nm.canAdd=function(t,e){return!!t&&!!e&&void 0===t.porCommitment};var Cm={};Object.defineProperty(Cm,"__esModule",{value:!0});const Lm=Mm;Cm.decode=function(t){if(t.key[0]!==Lm.InputTypes.SIGHASH_TYPE)throw new Error("Decode Error: could not decode sighashType with key 0x"+t.key.toString("hex"));return t.value.readUInt32LE(0)},Cm.encode=function(t){const e=z.from([Lm.InputTypes.SIGHASH_TYPE]),r=z.allocUnsafe(4);return r.writeUInt32LE(t,0),{key:e,value:r}},Cm.expected="number",Cm.check=function(t){return"number"==typeof t},Cm.canAdd=function(t,e){return!!t&&!!e&&void 0===t.sighashType};var Dm={},jm={},Hm={};Object.defineProperty(Hm,"__esModule",{value:!0});function qm(t){if(t<0||t>9007199254740991||t%1!=0)throw new RangeError("value out of range")}function Km(t){return qm(t),t<253?1:t<=65535?3:t<=4294967295?5:9}Hm.encode=function t(e,r,i){if(qm(e),r||(r=z.allocUnsafe(Km(e))),!At(r))throw new TypeError("buffer must be a Buffer instance");return i||(i=0),e<253?(r.writeUInt8(e,i),Object.assign(t,{bytes:1})):e<=65535?(r.writeUInt8(253,i),r.writeUInt16LE(e,i+1),Object.assign(t,{bytes:3})):e<=4294967295?(r.writeUInt8(254,i),r.writeUInt32LE(e,i+1),Object.assign(t,{bytes:5})):(r.writeUInt8(255,i),r.writeUInt32LE(e>>>0,i+1),r.writeUInt32LE(e/4294967296|0,i+5),Object.assign(t,{bytes:9})),r},Hm.decode=function t(e,r){if(!At(e))throw new TypeError("buffer must be a Buffer instance");r||(r=0);const i=e.readUInt8(r);if(i<253)return Object.assign(t,{bytes:1}),i;if(253===i)return Object.assign(t,{bytes:3}),e.readUInt16LE(r+1);if(254===i)return Object.assign(t,{bytes:5}),e.readUInt32LE(r+1);{Object.assign(t,{bytes:9});const i=e.readUInt32LE(r+1),n=4294967296*e.readUInt32LE(r+5)+i;return qm(n),n}},Hm.encodingLength=Km,Object.defineProperty(jm,"__esModule",{value:!0});const Fm=Hm;function zm(t){const e=t.key.length,r=t.value.length,i=Fm.encodingLength(e),n=Fm.encodingLength(r),o=z.allocUnsafe(i+e+n+r);return Fm.encode(e,o,0),t.key.copy(o,i),Fm.encode(r,o,i+e),t.value.copy(o,i+e+n),o}function Wm(t,e){if("number"!=typeof t)throw new Error("cannot write a non-number as a number");if(t<0)throw new Error("specified a negative value for writing an unsigned value");if(t>e)throw new Error("RangeError: value out of range");if(Math.floor(t)!==t)throw new Error("value has a fractional component")}jm.range=t=>[...Array(t).keys()],jm.reverseBuffer=function(t){if(t.length<1)return t;let e=t.length-1,r=0;for(let i=0;i<t.length/2;i++)r=t[i],t[i]=t[e],t[e]=r,e--;return t},jm.keyValsToBuffer=function(t){const e=t.map(zm);return e.push(z.from([0])),z.concat(e)},jm.keyValToBuffer=zm,jm.readUInt64LE=function(t,e){const r=t.readUInt32LE(e);let i=t.readUInt32LE(e+4);return i*=4294967296,Wm(i+r,9007199254740991),i+r},jm.writeUInt64LE=function(t,e,r){return Wm(e,9007199254740991),t.writeInt32LE(-1&e,r),t.writeUInt32LE(Math.floor(e/4294967296),r+4),r+8},Object.defineProperty(Dm,"__esModule",{value:!0});const Vm=Mm,Zm=jm,Gm=Hm;Dm.decode=function(t){if(t.key[0]!==Vm.InputTypes.WITNESS_UTXO)throw new Error("Decode Error: could not decode witnessUtxo with key 0x"+t.key.toString("hex"));const e=Zm.readUInt64LE(t.value,0);let r=8;const i=Gm.decode(t.value,r);r+=Gm.encodingLength(i);const n=t.value.slice(r);if(n.length!==i)throw new Error("Decode Error: WITNESS_UTXO script is not proper length");return{script:n,value:e}},Dm.encode=function(t){const{script:e,value:r}=t,i=Gm.encodingLength(e.length),n=z.allocUnsafe(8+i+e.length);return Zm.writeUInt64LE(n,r,0),Gm.encode(e.length,n,8),e.copy(n,8+i),{key:z.from([Vm.InputTypes.WITNESS_UTXO]),value:n}},Dm.expected="{ script: Buffer; value: number; }",Dm.check=function(t){return At(t.script)&&"number"==typeof t.value},Dm.canAdd=function(t,e){return!!t&&!!e&&void 0===t.witnessUtxo};var $m={};Object.defineProperty($m,"__esModule",{value:!0});$m.makeConverter=function(t){return{decode:function(e){if(e.key[0]!==t)throw new Error("Decode Error: could not decode bip32Derivation with key 0x"+e.key.toString("hex"));if(34!==e.key.length&&66!==e.key.length||![2,3,4].includes(e.key[1]))throw new Error("Decode Error: bip32Derivation has invalid pubkey in key 0x"+e.key.toString("hex"));if(e.value.length/4%1!=0)throw new Error("Decode Error: Input BIP32_DERIVATION value length should be multiple of 4");const r=e.key.slice(1),i={masterFingerprint:e.value.slice(0,4),pubkey:r,path:"m"};for(const t of(t=>[...Array(t).keys()])(e.value.length/4-1)){const r=e.value.readUInt32LE(4*t+4),n=!!(2147483648&r),o=2147483647&r;i.path+="/"+o.toString(10)+(n?"'":"")}return i},encode:function(e){const r=z.from([t]),i=z.concat([r,e.pubkey]),n=e.path.split("/"),o=z.allocUnsafe(4*n.length);e.masterFingerprint.copy(o,0);let s=4;return n.slice(1).forEach((t=>{const e="'"===t.slice(-1);let r=2147483647&parseInt(e?t.slice(0,-1):t,10);e&&(r+=2147483648),o.writeUInt32LE(r,s),s+=4})),{key:i,value:o}},check:function(t){return At(t.pubkey)&&At(t.masterFingerprint)&&"string"==typeof t.path&&[33,65].includes(t.pubkey.length)&&[2,3,4].includes(t.pubkey[0])&&4===t.masterFingerprint.length},expected:"{ masterFingerprint: Buffer; pubkey: Buffer; path: string; }",canAddToArray:function(t,e,r){const i=e.pubkey.toString("hex");return!r.has(i)&&(r.add(i),0===t.filter((t=>t.pubkey.equals(e.pubkey))).length)}}};var Xm={};Object.defineProperty(Xm,"__esModule",{value:!0}),Xm.makeChecker=function(t){return function(e){let r;if(t.includes(e.key[0])&&(r=e.key.slice(1),33!==r.length&&65!==r.length||![2,3,4].includes(r[0])))throw new Error("Format Error: invalid pubkey in key 0x"+e.key.toString("hex"));return r}};var Ym={};Object.defineProperty(Ym,"__esModule",{value:!0}),Ym.makeConverter=function(t){return{decode:function(e){if(e.key[0]!==t)throw new Error("Decode Error: could not decode redeemScript with key 0x"+e.key.toString("hex"));return e.value},encode:function(e){return{key:z.from([t]),value:e}},check:function(t){return At(t)},expected:"Buffer",canAdd:function(t,e){return!!t&&!!e&&void 0===t.redeemScript}}};var Jm={};Object.defineProperty(Jm,"__esModule",{value:!0}),Jm.makeConverter=function(t){return{decode:function(e){if(e.key[0]!==t)throw new Error("Decode Error: could not decode witnessScript with key 0x"+e.key.toString("hex"));return e.value},encode:function(e){return{key:z.from([t]),value:e}},check:function(t){return At(t)},expected:"Buffer",canAdd:function(t,e){return!!t&&!!e&&void 0===t.witnessScript}}},Object.defineProperty(wm,"__esModule",{value:!0});const Qm=Mm,tg=Am,eg=Tm,rg=Pm,ig=Bm,ng=Nm,og=Cm,sg=Dm,hg=$m,ag=Xm,ug=Ym,fg=Jm,lg={unsignedTx:Em,globalXpub:_m,checkPubkey:ag.makeChecker([])};wm.globals=lg;const cg={nonWitnessUtxo:rg,partialSig:ig,sighashType:og,finalScriptSig:tg,finalScriptWitness:eg,porCommitment:ng,witnessUtxo:sg,bip32Derivation:hg.makeConverter(Qm.InputTypes.BIP32_DERIVATION),redeemScript:ug.makeConverter(Qm.InputTypes.REDEEM_SCRIPT),witnessScript:fg.makeConverter(Qm.InputTypes.WITNESS_SCRIPT),checkPubkey:ag.makeChecker([Qm.InputTypes.PARTIAL_SIG,Qm.InputTypes.BIP32_DERIVATION])};wm.inputs=cg;const dg={bip32Derivation:hg.makeConverter(Qm.OutputTypes.BIP32_DERIVATION),redeemScript:ug.makeConverter(Qm.OutputTypes.REDEEM_SCRIPT),witnessScript:fg.makeConverter(Qm.OutputTypes.WITNESS_SCRIPT),checkPubkey:ag.makeChecker([Qm.OutputTypes.BIP32_DERIVATION])};wm.outputs=dg,Object.defineProperty(bm,"__esModule",{value:!0});const pg=wm,mg=jm,gg=Hm,yg=Mm;function vg(t,e,r){if(!e.equals(z.from([r])))throw new Error(`Format Error: Invalid ${t} key: ${e.toString("hex")}`)}function bg(t,{globalMapKeyVals:e,inputKeyVals:r,outputKeyVals:i}){const n={unsignedTx:t};let o=0;for(const t of e)switch(t.key[0]){case yg.GlobalTypes.UNSIGNED_TX:if(vg("global",t.key,yg.GlobalTypes.UNSIGNED_TX),o>0)throw new Error("Format Error: GlobalMap has multiple UNSIGNED_TX");o++;break;case yg.GlobalTypes.GLOBAL_XPUB:void 0===n.globalXpub&&(n.globalXpub=[]),n.globalXpub.push(pg.globals.globalXpub.decode(t));break;default:n.unknownKeyVals||(n.unknownKeyVals=[]),n.unknownKeyVals.push(t)}const s=r.length,h=i.length,a=[],u=[];for(const t of mg.range(s)){const e={};for(const i of r[t])switch(pg.inputs.checkPubkey(i),i.key[0]){case yg.InputTypes.NON_WITNESS_UTXO:if(vg("input",i.key,yg.InputTypes.NON_WITNESS_UTXO),void 0!==e.nonWitnessUtxo)throw new Error("Format Error: Input has multiple NON_WITNESS_UTXO");e.nonWitnessUtxo=pg.inputs.nonWitnessUtxo.decode(i);break;case yg.InputTypes.WITNESS_UTXO:if(vg("input",i.key,yg.InputTypes.WITNESS_UTXO),void 0!==e.witnessUtxo)throw new Error("Format Error: Input has multiple WITNESS_UTXO");e.witnessUtxo=pg.inputs.witnessUtxo.decode(i);break;case yg.InputTypes.PARTIAL_SIG:void 0===e.partialSig&&(e.partialSig=[]),e.partialSig.push(pg.inputs.partialSig.decode(i));break;case yg.InputTypes.SIGHASH_TYPE:if(vg("input",i.key,yg.InputTypes.SIGHASH_TYPE),void 0!==e.sighashType)throw new Error("Format Error: Input has multiple SIGHASH_TYPE");e.sighashType=pg.inputs.sighashType.decode(i);break;case yg.InputTypes.REDEEM_SCRIPT:if(vg("input",i.key,yg.InputTypes.REDEEM_SCRIPT),void 0!==e.redeemScript)throw new Error("Format Error: Input has multiple REDEEM_SCRIPT");e.redeemScript=pg.inputs.redeemScript.decode(i);break;case yg.InputTypes.WITNESS_SCRIPT:if(vg("input",i.key,yg.InputTypes.WITNESS_SCRIPT),void 0!==e.witnessScript)throw new Error("Format Error: Input has multiple WITNESS_SCRIPT");e.witnessScript=pg.inputs.witnessScript.decode(i);break;case yg.InputTypes.BIP32_DERIVATION:void 0===e.bip32Derivation&&(e.bip32Derivation=[]),e.bip32Derivation.push(pg.inputs.bip32Derivation.decode(i));break;case yg.InputTypes.FINAL_SCRIPTSIG:vg("input",i.key,yg.InputTypes.FINAL_SCRIPTSIG),e.finalScriptSig=pg.inputs.finalScriptSig.decode(i);break;case yg.InputTypes.FINAL_SCRIPTWITNESS:vg("input",i.key,yg.InputTypes.FINAL_SCRIPTWITNESS),e.finalScriptWitness=pg.inputs.finalScriptWitness.decode(i);break;case yg.InputTypes.POR_COMMITMENT:vg("input",i.key,yg.InputTypes.POR_COMMITMENT),e.porCommitment=pg.inputs.porCommitment.decode(i);break;default:e.unknownKeyVals||(e.unknownKeyVals=[]),e.unknownKeyVals.push(i)}a.push(e)}for(const t of mg.range(h)){const e={};for(const r of i[t])switch(pg.outputs.checkPubkey(r),r.key[0]){case yg.OutputTypes.REDEEM_SCRIPT:if(vg("output",r.key,yg.OutputTypes.REDEEM_SCRIPT),void 0!==e.redeemScript)throw new Error("Format Error: Output has multiple REDEEM_SCRIPT");e.redeemScript=pg.outputs.redeemScript.decode(r);break;case yg.OutputTypes.WITNESS_SCRIPT:if(vg("output",r.key,yg.OutputTypes.WITNESS_SCRIPT),void 0!==e.witnessScript)throw new Error("Format Error: Output has multiple WITNESS_SCRIPT");e.witnessScript=pg.outputs.witnessScript.decode(r);break;case yg.OutputTypes.BIP32_DERIVATION:void 0===e.bip32Derivation&&(e.bip32Derivation=[]),e.bip32Derivation.push(pg.outputs.bip32Derivation.decode(r));break;default:e.unknownKeyVals||(e.unknownKeyVals=[]),e.unknownKeyVals.push(r)}u.push(e)}return{globalMap:n,inputs:a,outputs:u}}bm.psbtFromBuffer=function(t,e){let r=0;function i(){const e=gg.decode(t,r);r+=gg.encodingLength(e);const i=t.slice(r,r+e);return r+=e,i}function n(){return{key:i(),value:i()}}function o(){if(r>=t.length)throw new Error("Format Error: Unexpected End of PSBT");const e=0===t.readUInt8(r);return e&&r++,e}if(1886610036!==function(){const e=t.readUInt32BE(r);return r+=4,e}())throw new Error("Format Error: Invalid Magic Number");if(255!==function(){const e=t.readUInt8(r);return r+=1,e}())throw new Error("Format Error: Magic Number must be followed by 0xff separator");const s=[],h={};for(;!o();){const t=n(),e=t.key.toString("hex");if(h[e])throw new Error("Format Error: Keys must be unique for global keymap: key "+e);h[e]=1,s.push(t)}const a=s.filter((t=>t.key[0]===yg.GlobalTypes.UNSIGNED_TX));if(1!==a.length)throw new Error("Format Error: Only one UNSIGNED_TX allowed");const u=e(a[0].value),{inputCount:f,outputCount:l}=u.getInputOutputCounts(),c=[],d=[];for(const t of mg.range(f)){const e={},r=[];for(;!o();){const i=n(),o=i.key.toString("hex");if(e[o])throw new Error("Format Error: Keys must be unique for each input: input index "+t+" key "+o);e[o]=1,r.push(i)}c.push(r)}for(const t of mg.range(l)){const e={},r=[];for(;!o();){const i=n(),o=i.key.toString("hex");if(e[o])throw new Error("Format Error: Keys must be unique for each output: output index "+t+" key "+o);e[o]=1,r.push(i)}d.push(r)}return bg(u,{globalMapKeyVals:s,inputKeyVals:c,outputKeyVals:d})},bm.checkKeyBuffer=vg,bm.psbtFromKeyVals=bg;var wg={};Object.defineProperty(wg,"__esModule",{value:!0});const Mg=wm,_g=jm;wg.psbtToBuffer=function({globalMap:t,inputs:e,outputs:r}){const{globalKeyVals:i,inputKeyVals:n,outputKeyVals:o}=kg({globalMap:t,inputs:e,outputs:r}),s=_g.keyValsToBuffer(i),h=t=>0===t.length?[z.from([0])]:t.map(_g.keyValsToBuffer),a=h(n),u=h(o),f=z.allocUnsafe(5);return f.writeUIntBE(482972169471,0,5),z.concat([f,s].concat(a,u))};const Sg=(t,e)=>t.key.compare(e.key);function Eg(t,e){const r=new Set,i=Object.entries(t).reduce(((t,[i,n])=>{if("unknownKeyVals"===i)return t;const o=e[i];if(void 0===o)return t;const s=(Array.isArray(n)?n:[n]).map(o.encode);return s.map((t=>t.key.toString("hex"))).forEach((t=>{if(r.has(t))throw new Error("Serialize Error: Duplicate key: "+t);r.add(t)})),t.concat(s)}),[]),n=t.unknownKeyVals?t.unknownKeyVals.filter((t=>!r.has(t.key.toString("hex")))):[];return i.concat(n).sort(Sg)}function kg({globalMap:t,inputs:e,outputs:r}){return{globalKeyVals:Eg(t,Mg.globals),inputKeyVals:e.map((t=>Eg(t,Mg.inputs))),outputKeyVals:r.map((t=>Eg(t,Mg.outputs)))}}wg.psbtToKeyVals=kg,function(t){function e(e){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r])}Object.defineProperty(t,"__esModule",{value:!0}),e(bm),e(wg)}(vm),Object.defineProperty(ym,"__esModule",{value:!0});const Ag=vm;function Ig(t,e,r){return i=>{if(t.has(i))return;const n=r.filter((t=>t.key.toString("hex")===i))[0];e.push(n),t.add(i)}}function Tg(t){return t.globalMap.unsignedTx}function Og(t){const e=new Set;return t.forEach((t=>{const r=t.key.toString("hex");if(e.has(r))throw new Error("Combine: KeyValue Map keys should be unique");e.add(r)})),e}ym.combine=function(t){const e=t[0],r=Ag.psbtToKeyVals(e),i=t.slice(1);if(0===i.length)throw new Error("Combine: Nothing to combine");const n=Tg(e);if(void 0===n)throw new Error("Combine: Self missing transaction");const o=Og(r.globalKeyVals),s=r.inputKeyVals.map(Og),h=r.outputKeyVals.map(Og);for(const t of i){const e=Tg(t);if(void 0===e||!e.toBuffer().equals(n.toBuffer()))throw new Error("Combine: One of the Psbts does not have the same transaction.");const i=Ag.psbtToKeyVals(t);Og(i.globalKeyVals).forEach(Ig(o,r.globalKeyVals,i.globalKeyVals));i.inputKeyVals.map(Og).forEach(((t,e)=>t.forEach(Ig(s[e],r.inputKeyVals[e],i.inputKeyVals[e]))));i.outputKeyVals.map(Og).forEach(((t,e)=>t.forEach(Ig(h[e],r.outputKeyVals[e],i.outputKeyVals[e]))))}return Ag.psbtFromKeyVals(n,{globalMapKeyVals:r.globalKeyVals,inputKeyVals:r.inputKeyVals,outputKeyVals:r.outputKeyVals})};var Pg={};!function(t){Object.defineProperty(t,"__esModule",{value:!0});const e=wm;function r(t,e){const r=t[e];if(void 0===r)throw new Error(`No input #${e}`);return r}function i(t,e,r,i){throw new Error(`Data for ${t} key ${e} is incorrect: Expected ${r} and got ${JSON.stringify(i)}`)}function n(t){return(r,n)=>{for(const o of Object.keys(r)){const s=r[o],{canAdd:h,canAddToArray:a,check:u,expected:f}=e[t+"s"][o]||{},l=!!a;if(u)if(l){if(!Array.isArray(s)||n[o]&&!Array.isArray(n[o]))throw new Error(`Key type ${o} must be an array`);s.every(u)||i(t,o,f,s);const e=n[o]||[],r=new Set;if(!s.every((t=>a(e,t,r))))throw new Error("Can not add duplicate data to array");n[o]=e.concat(s)}else{if(u(s)||i(t,o,f,s),!h(n,s))throw new Error(`Can not add duplicate data to ${t}`);n[o]=s}}}}t.checkForInput=r,t.checkForOutput=function(t,e){const r=t[e];if(void 0===r)throw new Error(`No output #${e}`);return r},t.checkHasKey=function(t,e,r){if(t.key[0]<r)throw new Error("Use the method for your specific key instead of addUnknownKeyVal*");if(e&&0!==e.filter((e=>e.key.equals(t.key))).length)throw new Error(`Duplicate Key: ${t.key.toString("hex")}`)},t.getEnumLength=function(t){let e=0;return Object.keys(t).forEach((t=>{Number(isNaN(Number(t)))&&e++})),e},t.inputCheckUncleanFinalized=function(t,e){let r=!1;if(e.nonWitnessUtxo||e.witnessUtxo){const t=!!e.redeemScript,i=!!e.witnessScript,n=!t||!!e.finalScriptSig,o=!i||!!e.finalScriptWitness,s=!!e.finalScriptSig||!!e.finalScriptWitness;r=n&&o&&s}if(!1===r)throw new Error(`Input #${t} has too much or too little data to clean`)},t.updateGlobal=n("global"),t.updateInput=n("input"),t.updateOutput=n("output"),t.addInputAttributes=function(e,i){const n=r(e,e.length-1);t.updateInput(i,n)},t.addOutputAttributes=function(e,i){const n=r(e,e.length-1);t.updateOutput(i,n)},t.defaultVersionSetter=function(t,e){if(!At(e)||e.length<4)throw new Error("Set Version: Invalid Transaction");return e.writeUInt32LE(t,0),e},t.defaultLocktimeSetter=function(t,e){if(!At(e)||e.length<4)throw new Error("Set Locktime: Invalid Transaction");return e.writeUInt32LE(t,e.length-4),e}}(Pg),Object.defineProperty(gm,"__esModule",{value:!0});const xg=ym,Bg=vm,Rg=Mm,Ng=Pg;gm.Psbt=class{constructor(t){this.inputs=[],this.outputs=[],this.globalMap={unsignedTx:t}}static fromBase64(t,e){const r=z.from(t,"base64");return this.fromBuffer(r,e)}static fromHex(t,e){const r=z.from(t,"hex");return this.fromBuffer(r,e)}static fromBuffer(t,e){const r=Bg.psbtFromBuffer(t,e),i=new this(r.globalMap.unsignedTx);return Object.assign(i,r),i}toBase64(){return this.toBuffer().toString("base64")}toHex(){return this.toBuffer().toString("hex")}toBuffer(){return Bg.psbtToBuffer(this)}updateGlobal(t){return Ng.updateGlobal(t,this.globalMap),this}updateInput(t,e){const r=Ng.checkForInput(this.inputs,t);return Ng.updateInput(e,r),this}updateOutput(t,e){const r=Ng.checkForOutput(this.outputs,t);return Ng.updateOutput(e,r),this}addUnknownKeyValToGlobal(t){return Ng.checkHasKey(t,this.globalMap.unknownKeyVals,Ng.getEnumLength(Rg.GlobalTypes)),this.globalMap.unknownKeyVals||(this.globalMap.unknownKeyVals=[]),this.globalMap.unknownKeyVals.push(t),this}addUnknownKeyValToInput(t,e){const r=Ng.checkForInput(this.inputs,t);return Ng.checkHasKey(e,r.unknownKeyVals,Ng.getEnumLength(Rg.InputTypes)),r.unknownKeyVals||(r.unknownKeyVals=[]),r.unknownKeyVals.push(e),this}addUnknownKeyValToOutput(t,e){const r=Ng.checkForOutput(this.outputs,t);return Ng.checkHasKey(e,r.unknownKeyVals,Ng.getEnumLength(Rg.OutputTypes)),r.unknownKeyVals||(r.unknownKeyVals=[]),r.unknownKeyVals.push(e),this}addInput(t){this.globalMap.unsignedTx.addInput(t),this.inputs.push({unknownKeyVals:[]});const e=t.unknownKeyVals||[],r=this.inputs.length-1;if(!Array.isArray(e))throw new Error("unknownKeyVals must be an Array");return e.forEach((t=>this.addUnknownKeyValToInput(r,t))),Ng.addInputAttributes(this.inputs,t),this}addOutput(t){this.globalMap.unsignedTx.addOutput(t),this.outputs.push({unknownKeyVals:[]});const e=t.unknownKeyVals||[],r=this.outputs.length-1;if(!Array.isArray(e))throw new Error("unknownKeyVals must be an Array");return e.forEach((t=>this.addUnknownKeyValToInput(r,t))),Ng.addOutputAttributes(this.outputs,t),this}clearFinalizedInput(t){const e=Ng.checkForInput(this.inputs,t);Ng.inputCheckUncleanFinalized(t,e);for(const t of Object.keys(e))["witnessUtxo","nonWitnessUtxo","finalScriptSig","finalScriptWitness","unknownKeyVals"].includes(t)||delete e[t];return this}combine(...t){const e=xg.combine([this].concat(t));return Object.assign(this,e),this}getTransaction(){return this.globalMap.unsignedTx.toBuffer()}},Object.defineProperty(mm,"__esModule",{value:!0});const Ug=gm,Cg=Hm,Lg=Pg,Dg=uc,jg=xp,Hg=od,qg=yp,Kg=lc,Fg=dc,zg=Kp,Wg={network:fc.bitcoin,maximumFeeRate:5e3};class Vg{constructor(t={},e=new Ug.Psbt(new Gg)){this.data=e,this.opts=Object.assign({},Wg,t),this.__CACHE={__NON_WITNESS_UTXO_TX_CACHE:[],__NON_WITNESS_UTXO_BUF_CACHE:[],__TX_IN_CACHE:{},__TX:this.data.globalMap.unsignedTx.tx,__UNSAFE_SIGN_NONSEGWIT:!1},0===this.data.inputs.length&&this.setVersion(2);const r=(t,e,r,i)=>Object.defineProperty(t,e,{enumerable:r,writable:i});r(this,"__CACHE",!1,!0),r(this,"opts",!1,!0)}static fromBase64(t,e={}){const r=z.from(t,"base64");return this.fromBuffer(r,e)}static fromHex(t,e={}){const r=z.from(t,"hex");return this.fromBuffer(r,e)}static fromBuffer(t,e={}){const r=Ug.Psbt.fromBuffer(t,Zg),i=new Vg(e,r);var n,o;return n=i.__CACHE.__TX,o=i.__CACHE,n.ins.forEach((t=>{uy(o,t)})),i}get inputCount(){return this.data.inputs.length}get version(){return this.__CACHE.__TX.version}set version(t){this.setVersion(t)}get locktime(){return this.__CACHE.__TX.locktime}set locktime(t){this.setLocktime(t)}get txInputs(){return this.__CACHE.__TX.ins.map((t=>({hash:jg.cloneBuffer(t.hash),index:t.index,sequence:t.sequence})))}get txOutputs(){return this.__CACHE.__TX.outs.map((t=>{let e;try{e=Dg.fromOutputScript(t.script,this.opts.network)}catch(t){}return{script:jg.cloneBuffer(t.script),value:t.value,address:e}}))}combine(...t){return this.data.combine(...t.map((t=>t.data))),this}clone(){const t=Vg.fromBuffer(this.data.toBuffer());return t.opts=JSON.parse(JSON.stringify(this.opts)),t}setMaximumFeeRate(t){sy(t),this.opts.maximumFeeRate=t}setVersion(t){sy(t),hy(this.data.inputs,"setVersion");const e=this.__CACHE;return e.__TX.version=t,e.__EXTRACTED_TX=void 0,this}setLocktime(t){sy(t),hy(this.data.inputs,"setLocktime");const e=this.__CACHE;return e.__TX.locktime=t,e.__EXTRACTED_TX=void 0,this}setInputSequence(t,e){sy(e),hy(this.data.inputs,"setInputSequence");const r=this.__CACHE;if(r.__TX.ins.length<=t)throw new Error("Input index too high");return r.__TX.ins[t].sequence=e,r.__EXTRACTED_TX=void 0,this}addInputs(t){return t.forEach((t=>this.addInput(t))),this}addInput(t){if(arguments.length>1||!t||void 0===t.hash||void 0===t.index)throw new Error("Invalid arguments for Psbt.addInput. Requires single object with at least [hash] and [index]");hy(this.data.inputs,"addInput"),t.witnessScript&&Ay(t.witnessScript);const e=this.__CACHE;this.data.addInput(t);uy(e,e.__TX.ins[e.__TX.ins.length-1]);const r=this.data.inputs.length-1,i=this.data.inputs[r];return i.nonWitnessUtxo&&wy(this.__CACHE,i,r),e.__FEE=void 0,e.__FEE_RATE=void 0,e.__EXTRACTED_TX=void 0,this}addOutputs(t){return t.forEach((t=>this.addOutput(t))),this}addOutput(t){if(arguments.length>1||!t||void 0===t.value||void 0===t.address&&void 0===t.script)throw new Error("Invalid arguments for Psbt.addOutput. Requires single object with at least [script or address] and [value]");hy(this.data.inputs,"addOutput");const{address:e}=t;if("string"==typeof e){const{network:r}=this.opts,i=Dg.toOutputScript(e,r);t=Object.assign(t,{script:i})}const r=this.__CACHE;return this.data.addOutput(t),r.__FEE=void 0,r.__FEE_RATE=void 0,r.__EXTRACTED_TX=void 0,this}extractTransaction(t){if(!this.data.inputs.every(Yg))throw new Error("Not finalized");const e=this.__CACHE;if(t||function(t,e,r){const i=e.__FEE_RATE||t.getFeeRate(),n=e.__EXTRACTED_TX.virtualSize(),o=i*n;if(i>=r.maximumFeeRate)throw new Error(`Warning: You are paying around ${(o/1e8).toFixed(8)} in fees, which is ${i} satoshi per byte for a transaction with a VSize of ${n} bytes (segwit counted as 0.25 byte per byte). Use setMaximumFeeRate method to raise your threshold, or pass true to the first arg of extractTransaction.`)}(this,e,this.opts),e.__EXTRACTED_TX)return e.__EXTRACTED_TX;const r=e.__TX.clone();return My(this.data.inputs,r,e,!0),r}getFeeRate(){return dy("__FEE_RATE","fee rate",this.data.inputs,this.__CACHE)}getFee(){return dy("__FEE","fee",this.data.inputs,this.__CACHE)}finalizeAllInputs(){return Lg.checkForInput(this.data.inputs,0),Oy(this.data.inputs.length).forEach((t=>this.finalizeInput(t))),this}finalizeInput(t,e=py){const r=Lg.checkForInput(this.data.inputs,t),{script:i,isP2SH:n,isP2WSH:o,isSegwit:s}=function(t,e,r){const i=r.__TX,n={script:null,isSegwit:!1,isP2SH:!1,isP2WSH:!1};if(n.isP2SH=!!e.redeemScript,n.isP2WSH=!!e.witnessScript,e.witnessScript)n.script=e.witnessScript;else if(e.redeemScript)n.script=e.redeemScript;else if(e.nonWitnessUtxo){const o=_y(r,e,t),s=i.ins[t].index;n.script=o.outs[s].script}else e.witnessUtxo&&(n.script=e.witnessUtxo.script);(e.witnessScript||ry(n.script))&&(n.isSegwit=!0);return n}(t,r,this.__CACHE);if(!i)throw new Error(`No script found for input #${t}`);!function(t){if(!t.sighashType||!t.partialSig)return;const{partialSig:e,sighashType:r}=t;e.forEach((t=>{const{hashType:e}=Fg.signature.decode(t.signature);if(r!==e)throw new Error("Signature sighash does not match input sighash type")}))}(r);const{finalScriptSig:h,finalScriptWitness:a}=e(t,r,i,s,n,o);if(h&&this.data.updateInput(t,{finalScriptSig:h}),a&&this.data.updateInput(t,{finalScriptWitness:a}),!h&&!a)throw new Error(`Unknown error finalizing input #${t}`);return this.data.clearFinalizedInput(t),this}getInputType(t){const e=Lg.checkForInput(this.data.inputs,t),r=ky(Sy(t,e,this.__CACHE),t,"input",e.redeemScript||function(t){if(!t)return;const e=Fg.decompile(t);if(!e)return;const r=e[e.length-1];if(!At(r)||Ey(r)||(i=r,Fg.isCanonicalScriptSignature(i)))return;var i;if(!Fg.decompile(r))return;return r}(e.finalScriptSig),e.witnessScript||function(t){if(!t)return;const e=vy(t),r=e[e.length-1];if(Ey(r))return;if(!Fg.decompile(r))return;return r}(e.finalScriptWitness));return("raw"===r.type?"":r.type+"-")+Ty(r.meaningfulScript)}inputHasPubkey(t,e){return function(t,e,r,i){const n=Sy(r,e,i),{meaningfulScript:o}=ky(n,r,"input",e.redeemScript,e.witnessScript);return Iy(t,o)}(e,Lg.checkForInput(this.data.inputs,t),t,this.__CACHE)}inputHasHDKey(t,e){const r=Lg.checkForInput(this.data.inputs,t),i=oy(e);return!!r.bip32Derivation&&r.bip32Derivation.some(i)}outputHasPubkey(t,e){return function(t,e,r,i){const n=i.__TX.outs[r].script,{meaningfulScript:o}=ky(n,r,"output",e.redeemScript,e.witnessScript);return Iy(t,o)}(e,Lg.checkForOutput(this.data.outputs,t),t,this.__CACHE)}outputHasHDKey(t,e){const r=Lg.checkForOutput(this.data.outputs,t),i=oy(e);return!!r.bip32Derivation&&r.bip32Derivation.some(i)}validateSignaturesOfAllInputs(){Lg.checkForInput(this.data.inputs,0);return Oy(this.data.inputs.length).map((t=>this.validateSignaturesOfInput(t))).reduce(((t,e)=>!0===e&&t),!0)}validateSignaturesOfInput(t,e){const r=this.data.inputs[t],i=(r||{}).partialSig;if(!r||!i||i.length<1)throw new Error("No signatures to validate");const n=e?i.filter((t=>t.pubkey.equals(e))):i;if(n.length<1)throw new Error("No signatures for this pubkey");const o=[];let s,h,a;for(const e of n){const i=Fg.signature.decode(e.signature),{hash:n,script:u}=a!==i.hashType?gy(t,Object.assign({},r,{sighashType:i.hashType}),this.__CACHE,!0):{hash:s,script:h};a=i.hashType,s=n,h=u,ay(e.pubkey,u,"verify");const f=qg.fromPublicKey(e.pubkey);o.push(f.verify(n,i.signature))}return o.every((t=>!0===t))}signAllInputsHD(t,e=[zg.Transaction.SIGHASH_ALL]){if(!t||!t.publicKey||!t.fingerprint)throw new Error("Need HDSigner to sign input");const r=[];for(const i of Oy(this.data.inputs.length))try{this.signInputHD(i,t,e),r.push(!0)}catch(t){r.push(!1)}if(r.every((t=>!1===t)))throw new Error("No inputs were signed");return this}signAllInputsHDAsync(t,e=[zg.Transaction.SIGHASH_ALL]){return new Promise(((r,i)=>{if(!t||!t.publicKey||!t.fingerprint)return i(new Error("Need HDSigner to sign input"));const n=[],o=[];for(const r of Oy(this.data.inputs.length))o.push(this.signInputHDAsync(r,t,e).then((()=>{n.push(!0)}),(()=>{n.push(!1)})));return Promise.all(o).then((()=>{if(n.every((t=>!1===t)))return i(new Error("No inputs were signed"));r()}))}))}signInputHD(t,e,r=[zg.Transaction.SIGHASH_ALL]){if(!e||!e.publicKey||!e.fingerprint)throw new Error("Need HDSigner to sign input");return yy(t,this.data.inputs,e).forEach((e=>this.signInput(t,e,r))),this}signInputHDAsync(t,e,r=[zg.Transaction.SIGHASH_ALL]){return new Promise(((i,n)=>{if(!e||!e.publicKey||!e.fingerprint)return n(new Error("Need HDSigner to sign input"));const o=yy(t,this.data.inputs,e).map((e=>this.signInputAsync(t,e,r)));return Promise.all(o).then((()=>{i()})).catch(n)}))}signAllInputs(t,e=[zg.Transaction.SIGHASH_ALL]){if(!t||!t.publicKey)throw new Error("Need Signer to sign input");const r=[];for(const i of Oy(this.data.inputs.length))try{this.signInput(i,t,e),r.push(!0)}catch(t){r.push(!1)}if(r.every((t=>!1===t)))throw new Error("No inputs were signed");return this}signAllInputsAsync(t,e=[zg.Transaction.SIGHASH_ALL]){return new Promise(((r,i)=>{if(!t||!t.publicKey)return i(new Error("Need Signer to sign input"));const n=[],o=[];for(const[r]of this.data.inputs.entries())o.push(this.signInputAsync(r,t,e).then((()=>{n.push(!0)}),(()=>{n.push(!1)})));return Promise.all(o).then((()=>{if(n.every((t=>!1===t)))return i(new Error("No inputs were signed"));r()}))}))}signInput(t,e,r=[zg.Transaction.SIGHASH_ALL]){if(!e||!e.publicKey)throw new Error("Need Signer to sign input");const{hash:i,sighashType:n}=my(this.data.inputs,t,e.publicKey,this.__CACHE,r),o=[{pubkey:e.publicKey,signature:Fg.signature.encode(e.sign(i),n)}];return this.data.updateInput(t,{partialSig:o}),this}signInputAsync(t,e,r=[zg.Transaction.SIGHASH_ALL]){return Promise.resolve().then((()=>{if(!e||!e.publicKey)throw new Error("Need Signer to sign input");const{hash:i,sighashType:n}=my(this.data.inputs,t,e.publicKey,this.__CACHE,r);return Promise.resolve(e.sign(i)).then((r=>{const i=[{pubkey:e.publicKey,signature:Fg.signature.encode(r,n)}];this.data.updateInput(t,{partialSig:i})}))}))}toBuffer(){return $g(this.__CACHE),this.data.toBuffer()}toHex(){return $g(this.__CACHE),this.data.toHex()}toBase64(){return $g(this.__CACHE),this.data.toBase64()}updateGlobal(t){return this.data.updateGlobal(t),this}updateInput(t,e){return e.witnessScript&&Ay(e.witnessScript),this.data.updateInput(t,e),e.nonWitnessUtxo&&wy(this.__CACHE,this.data.inputs[t],t),this}updateOutput(t,e){return this.data.updateOutput(t,e),this}addUnknownKeyValToGlobal(t){return this.data.addUnknownKeyValToGlobal(t),this}addUnknownKeyValToInput(t,e){return this.data.addUnknownKeyValToInput(t,e),this}addUnknownKeyValToOutput(t,e){return this.data.addUnknownKeyValToOutput(t,e),this}clearFinalizedInput(t){return this.data.clearFinalizedInput(t),this}}mm.Psbt=Vg;const Zg=t=>new Gg(t);class Gg{constructor(t=z.from([2,0,0,0,0,0,0,0,0,0])){this.tx=zg.Transaction.fromBuffer(t),function(t){if(!t.ins.every((t=>t.script&&0===t.script.length&&t.witness&&0===t.witness.length)))throw new Error("Format Error: Transaction ScriptSigs are not empty")}(this.tx),Object.defineProperty(this,"tx",{enumerable:!1,writable:!0})}getInputOutputCounts(){return{inputCount:this.tx.ins.length,outputCount:this.tx.outs.length}}addInput(t){if(void 0===t.hash||void 0===t.index||!At(t.hash)&&"string"!=typeof t.hash||"number"!=typeof t.index)throw new Error("Error adding input.");const e="string"==typeof t.hash?jg.reverseBuffer(z.from(t.hash,"hex")):t.hash;this.tx.addInput(e,t.index,t.sequence)}addOutput(t){if(void 0===t.script||void 0===t.value||!At(t.script)||"number"!=typeof t.value)throw new Error("Error adding output.");this.tx.addOutput(t.script,t.value)}toBuffer(){return this.tx.toBuffer()}}function $g(t){if(!1!==t.__UNSAFE_SIGN_NONSEGWIT)throw new Error("Not BIP174 compliant, can not export")}function Xg(t,e,r){if(!e)return!1;let i;if(i=r?r.map((t=>{const r=qg.fromPublicKey(t,{compressed:!0}).publicKey;return e.find((t=>t.pubkey.equals(r)))})).filter((t=>!!t)):e,i.length>t)throw new Error("Too many signatures");return i.length===t}function Yg(t){return!!t.finalScriptSig||!!t.finalScriptWitness}function Jg(t){return e=>{try{return t({output:e}),!0}catch(t){return!1}}}const Qg=Jg(Kg.p2ms),ty=Jg(Kg.p2pk),ey=Jg(Kg.p2pkh),ry=Jg(Kg.p2wpkh),iy=Jg(Kg.p2wsh),ny=Jg(Kg.p2sh);function oy(t){return e=>!!e.masterFingerprint.equals(t.fingerprint)&&!!t.derivePath(e.path).publicKey.equals(e.pubkey)}function sy(t){if("number"!=typeof t||t!==Math.floor(t)||t>4294967295||t<0)throw new Error("Invalid 32 bit integer")}function hy(t,e){t.forEach((t=>{let r=!1,i=[];if(0===(t.partialSig||[]).length){if(!t.finalScriptSig&&!t.finalScriptWitness)return;i=function(t){const e=t.finalScriptSig&&Fg.decompile(t.finalScriptSig)||[],r=t.finalScriptWitness&&Fg.decompile(t.finalScriptWitness)||[];return e.concat(r).filter((t=>At(t)&&Fg.isCanonicalScriptSignature(t))).map((t=>({signature:t})))}(t)}else i=t.partialSig;if(i.forEach((t=>{const{hashType:i}=Fg.signature.decode(t.signature),n=[];i&zg.Transaction.SIGHASH_ANYONECANPAY&&n.push("addInput");switch(31&i){case zg.Transaction.SIGHASH_ALL:break;case zg.Transaction.SIGHASH_SINGLE:case zg.Transaction.SIGHASH_NONE:n.push("addOutput"),n.push("setInputSequence")}-1===n.indexOf(e)&&(r=!0)})),r)throw new Error("Can not modify transaction, signatures exist.")}))}function ay(t,e,r){if(!Iy(t,e))throw new Error(`Can not ${r} for this input with the key ${t.toString("hex")}`)}function uy(t,e){const r=jg.reverseBuffer(z.from(e.hash)).toString("hex")+":"+e.index;if(t.__TX_IN_CACHE[r])throw new Error("Duplicate input detected.");t.__TX_IN_CACHE[r]=1}function fy(t,e){return(r,i,n,o)=>{const s=t({redeem:{output:n}}).output;if(!i.equals(s))throw new Error(`${e} for ${o} #${r} doesn't match the scriptPubKey in the prevout`)}}const ly=fy(Kg.p2sh,"Redeem script"),cy=fy(Kg.p2wsh,"Witness script");function dy(t,e,r,i){if(!r.every(Yg))throw new Error(`PSBT must be finalized to calculate ${e}`);if("__FEE_RATE"===t&&i.__FEE_RATE)return i.__FEE_RATE;if("__FEE"===t&&i.__FEE)return i.__FEE;let n,o=!0;return i.__EXTRACTED_TX?(n=i.__EXTRACTED_TX,o=!1):n=i.__TX.clone(),My(r,n,i,o),"__FEE_RATE"===t?i.__FEE_RATE:"__FEE"===t?i.__FEE:void 0}function py(t,e,r,i,n,o){const s=Ty(r);if(!function(t,e,r){switch(r){case"pubkey":case"pubkeyhash":case"witnesspubkeyhash":return Xg(1,t.partialSig);case"multisig":const r=Kg.p2ms({output:e});return Xg(r.m,t.partialSig,r.pubkeys);default:return!1}}(e,r,s))throw new Error(`Can not finalize input #${t}`);return function(t,e,r,i,n,o){let s,h;const a=function(t,e,r){let i;switch(e){case"multisig":const e=function(t,e){return Kg.p2ms({output:t}).pubkeys.map((t=>(e.filter((e=>e.pubkey.equals(t)))[0]||{}).signature)).filter((t=>!!t))}(t,r);i=Kg.p2ms({output:t,signatures:e});break;case"pubkey":i=Kg.p2pk({output:t,signature:r[0].signature});break;case"pubkeyhash":i=Kg.p2pkh({output:t,pubkey:r[0].pubkey,signature:r[0].signature});break;case"witnesspubkeyhash":i=Kg.p2wpkh({output:t,pubkey:r[0].pubkey,signature:r[0].signature})}return i}(t,e,r),u=o?Kg.p2wsh({redeem:a}):null,f=n?Kg.p2sh({redeem:u||a}):null;i?(h=by(u?u.witness:a.witness),f&&(s=f.input)):s=f?f.input:a.input;return{finalScriptSig:s,finalScriptWitness:h}}(r,s,e.partialSig,i,n,o)}function my(t,e,r,i,n){const o=Lg.checkForInput(t,e),{hash:s,sighashType:h,script:a}=gy(e,o,i,!1,n);return ay(r,a,"sign"),{hash:s,sighashType:h}}function gy(t,e,r,i,n){const o=r.__TX,s=e.sighashType||zg.Transaction.SIGHASH_ALL;if(n&&n.indexOf(s)<0){const t=function(t){let e=t&zg.Transaction.SIGHASH_ANYONECANPAY?"SIGHASH_ANYONECANPAY | ":"";switch(31&t){case zg.Transaction.SIGHASH_ALL:e+="SIGHASH_ALL";break;case zg.Transaction.SIGHASH_SINGLE:e+="SIGHASH_SINGLE";break;case zg.Transaction.SIGHASH_NONE:e+="SIGHASH_NONE"}return e}(s);throw new Error(`Sighash type is not allowed. Retry the sign method passing the sighashTypes array of whitelisted types. Sighash type: ${t}`)}let h,a;if(e.nonWitnessUtxo){const i=_y(r,e,t),n=o.ins[t].hash,s=i.getHash();if(!n.equals(s))throw new Error(`Non-witness UTXO hash for input #${t} doesn't match the hash specified in the prevout`);const h=o.ins[t].index;a=i.outs[h]}else{if(!e.witnessUtxo)throw new Error("Need a Utxo input item for signing");a=e.witnessUtxo}const{meaningfulScript:u,type:f}=ky(a.script,t,"input",e.redeemScript,e.witnessScript);if(["p2sh-p2wsh","p2wsh"].indexOf(f)>=0)h=o.hashForWitnessV0(t,u,a.value,s);else if(ry(u)){const e=Kg.p2pkh({hash:u.slice(2)}).output;h=o.hashForWitnessV0(t,e,a.value,s)}else{if(void 0===e.nonWitnessUtxo&&!1===r.__UNSAFE_SIGN_NONSEGWIT)throw new Error(`Input #${t} has witnessUtxo but non-segwit script: ${u.toString("hex")}`);i||!1===r.__UNSAFE_SIGN_NONSEGWIT||console.warn("Warning: Signing non-segwit inputs without the full parent transaction means there is a chance that a miner could feed you incorrect information to trick you into paying large fees. This behavior is the same as the old TransactionBuilder class when signing non-segwit scripts. You are not able to export this Psbt with toBuffer|toBase64|toHex since it is not BIP174 compliant.\n*********************\nPROCEED WITH CAUTION!\n*********************"),h=o.hashForSignature(t,u,s)}return{script:u,sighashType:s,hash:h}}function yy(t,e,r){const i=Lg.checkForInput(e,t);if(!i.bip32Derivation||0===i.bip32Derivation.length)throw new Error("Need bip32Derivation to sign with HD");const n=i.bip32Derivation.map((t=>t.masterFingerprint.equals(r.fingerprint)?t:void 0)).filter((t=>!!t));if(0===n.length)throw new Error("Need one bip32Derivation masterFingerprint to match the HDSigner fingerprint");return n.map((t=>{const e=r.derivePath(t.path);if(!t.pubkey.equals(e.publicKey))throw new Error("pubkey did not match bip32Derivation");return e}))}function vy(t){let e=0;function r(){const r=Cg.decode(t,e);return e+=Cg.decode.bytes,r}function i(){return function(r){return e+=r,t.slice(e-r,e)}(r())}return function(){const t=r(),e=[];for(let r=0;r<t;r++)e.push(i());return e}()}function by(t){let e=z.allocUnsafe(0);function r(t){const r=e.length,i=Cg.encodingLength(t);e=z.concat([e,z.allocUnsafe(i)]),Cg.encode(t,e,r)}function i(t){r(t.length),function(t){e=z.concat([e,z.from(t)])}(t)}var n;return r((n=t).length),n.forEach(i),e}function wy(t,e,r){t.__NON_WITNESS_UTXO_BUF_CACHE[r]=e.nonWitnessUtxo;const i=zg.Transaction.fromBuffer(e.nonWitnessUtxo);t.__NON_WITNESS_UTXO_TX_CACHE[r]=i;const n=t,o=r;delete e.nonWitnessUtxo,Object.defineProperty(e,"nonWitnessUtxo",{enumerable:!0,get(){const t=n.__NON_WITNESS_UTXO_BUF_CACHE[o],e=n.__NON_WITNESS_UTXO_TX_CACHE[o];if(void 0!==t)return t;{const t=e.toBuffer();return n.__NON_WITNESS_UTXO_BUF_CACHE[o]=t,t}},set(t){n.__NON_WITNESS_UTXO_BUF_CACHE[o]=t}})}function My(t,e,r,i){let n=0;t.forEach(((t,o)=>{if(i&&t.finalScriptSig&&(e.ins[o].script=t.finalScriptSig),i&&t.finalScriptWitness&&(e.ins[o].witness=vy(t.finalScriptWitness)),t.witnessUtxo)n+=t.witnessUtxo.value;else if(t.nonWitnessUtxo){const i=_y(r,t,o),s=e.ins[o].index,h=i.outs[s];n+=h.value}}));const o=e.outs.reduce(((t,e)=>t+e.value),0),s=n-o;if(s<0)throw new Error("Outputs are spending more than Inputs");const h=e.virtualSize();r.__FEE=s,r.__EXTRACTED_TX=e,r.__FEE_RATE=Math.floor(s/h)}function _y(t,e,r){const i=t.__NON_WITNESS_UTXO_TX_CACHE;return i[r]||wy(t,e,r),i[r]}function Sy(t,e,r){if(void 0!==e.witnessUtxo)return e.witnessUtxo.script;if(void 0!==e.nonWitnessUtxo){return _y(r,e,t).outs[r.__TX.ins[t].index].script}throw new Error("Can't find pubkey in input without Utxo data")}function Ey(t){return 33===t.length&&Fg.isCanonicalPubKey(t)}function ky(t,e,r,i,n){const o=ny(t),s=o&&i&&iy(i),h=iy(t);if(o&&void 0===i)throw new Error("scriptPubkey is P2SH but redeemScript missing");if((h||s)&&void 0===n)throw new Error("scriptPubkey or redeemScript is P2WSH but witnessScript missing");let a;return s?(a=n,ly(e,t,i,r),cy(e,i,n,r),Ay(a)):h?(a=n,cy(e,t,n,r),Ay(a)):o?(a=i,ly(e,t,i,r)):a=t,{meaningfulScript:a,type:s?"p2sh-p2wsh":o?"p2sh":h?"p2wsh":"raw"}}function Ay(t){if(ry(t)||ny(t))throw new Error("P2WPKH or P2SH can not be contained within P2WSH")}function Iy(t,e){const r=Hg.hash160(t),i=Fg.decompile(e);if(null===i)throw new Error("Unknown script error");return i.some((e=>"number"!=typeof e&&(e.equals(t)||e.equals(r))))}function Ty(t){return ry(t)?"witnesspubkeyhash":ey(t)?"pubkeyhash":Qg(t)?"multisig":ty(t)?"pubkey":"nonstandard"}function Oy(t){return[...Array(t).keys()]}var Py={},xy={},By={},Ry={};Object.defineProperty(Ry,"__esModule",{value:!0});const Ny=dc,Uy=dc;function Cy(t){return t===Uy.OPS.OP_0||Ny.isCanonicalScriptSignature(t)}function Ly(t,e){const r=Ny.decompile(t);return!(r.length<2)&&(r[0]===Uy.OPS.OP_0&&(e?r.slice(1).every(Cy):r.slice(1).every(Ny.isCanonicalScriptSignature)))}Ry.check=Ly,Ly.toJSON=()=>"multisig input";var Dy={};Object.defineProperty(Dy,"__esModule",{value:!0});const jy=dc,Hy=dc,qy=gc,Ky=Hy.OPS.OP_RESERVED;function Fy(t,e){const r=jy.decompile(t);if(r.length<4)return!1;if(r[r.length-1]!==Hy.OPS.OP_CHECKMULTISIG)return!1;if(!qy.Number(r[0]))return!1;if(!qy.Number(r[r.length-2]))return!1;const i=r[0]-Ky,n=r[r.length-2]-Ky;if(i<=0)return!1;if(n>16)return!1;if(i>n)return!1;if(n!==r.length-3)return!1;if(e)return!0;return r.slice(1,-2).every(jy.isCanonicalPubKey)}Dy.check=Fy,Fy.toJSON=()=>"multi-sig output",Object.defineProperty(By,"__esModule",{value:!0});const zy=Ry;By.input=zy;const Wy=Dy;By.output=Wy;var Vy={};Object.defineProperty(Vy,"__esModule",{value:!0});const Zy=dc,Gy=Zy.OPS;function $y(t){const e=Zy.compile(t);return e.length>1&&e[0]===Gy.OP_RETURN}Vy.check=$y,$y.toJSON=()=>"null data output";const Xy={check:$y};Vy.output=Xy;var Yy={},Jy={};Object.defineProperty(Jy,"__esModule",{value:!0});const Qy=dc;function tv(t){const e=Qy.decompile(t);return 1===e.length&&Qy.isCanonicalScriptSignature(e[0])}Jy.check=tv,tv.toJSON=()=>"pubKey input";var ev={};Object.defineProperty(ev,"__esModule",{value:!0});const rv=dc,iv=dc;function nv(t){const e=rv.decompile(t);return 2===e.length&&rv.isCanonicalPubKey(e[0])&&e[1]===iv.OPS.OP_CHECKSIG}ev.check=nv,nv.toJSON=()=>"pubKey output",Object.defineProperty(Yy,"__esModule",{value:!0});const ov=Jy;Yy.input=ov;const sv=ev;Yy.output=sv;var hv={},av={};Object.defineProperty(av,"__esModule",{value:!0});const uv=dc;function fv(t){const e=uv.decompile(t);return 2===e.length&&uv.isCanonicalScriptSignature(e[0])&&uv.isCanonicalPubKey(e[1])}av.check=fv,fv.toJSON=()=>"pubKeyHash input";var lv={};Object.defineProperty(lv,"__esModule",{value:!0});const cv=dc,dv=dc;function pv(t){const e=cv.compile(t);return 25===e.length&&e[0]===dv.OPS.OP_DUP&&e[1]===dv.OPS.OP_HASH160&&20===e[2]&&e[23]===dv.OPS.OP_EQUALVERIFY&&e[24]===dv.OPS.OP_CHECKSIG}lv.check=pv,pv.toJSON=()=>"pubKeyHash output",Object.defineProperty(hv,"__esModule",{value:!0});const mv=av;hv.input=mv;const gv=lv;hv.output=gv;var yv={},vv={},bv={};Object.defineProperty(bv,"__esModule",{value:!0});const wv=dc,Mv=dc;function _v(t){const e=wv.compile(t);return 22===e.length&&e[0]===Mv.OPS.OP_0&&20===e[1]}bv.check=_v,_v.toJSON=()=>"Witness pubKeyHash output";var Sv={};Object.defineProperty(Sv,"__esModule",{value:!0});const Ev=dc,kv=dc;function Av(t){const e=Ev.compile(t);return 34===e.length&&e[0]===kv.OPS.OP_0&&32===e[1]}Sv.check=Av,Av.toJSON=()=>"Witness scriptHash output",Object.defineProperty(vv,"__esModule",{value:!0});const Iv=dc,Tv=By,Ov=Yy,Pv=hv,xv=bv,Bv=Sv;function Rv(t,e){const r=Iv.decompile(t);if(r.length<1)return!1;const i=r[r.length-1];if(!At(i))return!1;const n=Iv.decompile(Iv.compile(r.slice(0,-1))),o=Iv.decompile(i);return!!o&&(!!Iv.isPushOnly(n)&&(1===r.length?Bv.check(o)||xv.check(o):!(!Pv.input.check(n)||!Pv.output.check(o))||(!(!Tv.input.check(n,e)||!Tv.output.check(o))||!(!Ov.input.check(n)||!Ov.output.check(o)))))}vv.check=Rv,Rv.toJSON=()=>"scriptHash input";var Nv={};Object.defineProperty(Nv,"__esModule",{value:!0});const Uv=dc,Cv=dc;function Lv(t){const e=Uv.compile(t);return 23===e.length&&e[0]===Cv.OPS.OP_HASH160&&20===e[1]&&e[22]===Cv.OPS.OP_EQUAL}Nv.check=Lv,Lv.toJSON=()=>"scriptHash output",Object.defineProperty(yv,"__esModule",{value:!0});const Dv=vv;yv.input=Dv;const jv=Nv;yv.output=jv;var Hv={},qv={};Object.defineProperty(qv,"__esModule",{value:!0});const Kv=dc,Fv=dc,zv=gc,Wv=Kl,Vv=z.from("aa21a9ed","hex");function Zv(t){const e=Kv.compile(t);return e.length>37&&e[0]===Fv.OPS.OP_RETURN&&36===e[1]&&e.slice(2,6).equals(Vv)}qv.check=Zv,Zv.toJSON=()=>"Witness commitment output",qv.encode=function(t){Wv(zv.Hash256bit,t);const e=z.allocUnsafe(36);return Vv.copy(e,0),t.copy(e,4),Kv.compile([Fv.OPS.OP_RETURN,e])},qv.decode=function(t){return Wv(Zv,t),Kv.decompile(t)[1].slice(4,36)},Object.defineProperty(Hv,"__esModule",{value:!0});const Gv=qv;Hv.output=Gv;var $v={},Xv={};Object.defineProperty(Xv,"__esModule",{value:!0});const Yv=dc;function Jv(t){const e=Yv.decompile(t);return 2===e.length&&Yv.isCanonicalScriptSignature(e[0])&&function(t){return Yv.isCanonicalPubKey(t)&&33===t.length}(e[1])}Xv.check=Jv,Jv.toJSON=()=>"witnessPubKeyHash input",Object.defineProperty($v,"__esModule",{value:!0});const Qv=Xv;$v.input=Qv;const tb=bv;$v.output=tb;var eb={},rb={};Object.defineProperty(rb,"__esModule",{value:!0});const ib=dc,nb=Kl,ob=By,sb=Yy,hb=hv;function ab(t,e){if(nb(nb.Array,t),t.length<1)return!1;const r=t[t.length-1];if(!At(r))return!1;const i=ib.decompile(r);if(!i||0===i.length)return!1;const n=ib.compile(t.slice(0,-1));return!(!hb.input.check(n)||!hb.output.check(i))||(!(!ob.input.check(n,e)||!ob.output.check(i))||!(!sb.input.check(n)||!sb.output.check(i)))}rb.check=ab,ab.toJSON=()=>"witnessScriptHash input",Object.defineProperty(eb,"__esModule",{value:!0});const ub=rb;eb.input=ub;const fb=Sv;eb.output=fb,Object.defineProperty(xy,"__esModule",{value:!0});const lb=dc,cb=By,db=Vy,pb=Yy,mb=hv,gb=yv,yb=Hv,vb=$v,bb=eb,wb={P2MS:"multisig",NONSTANDARD:"nonstandard",NULLDATA:"nulldata",P2PK:"pubkey",P2PKH:"pubkeyhash",P2SH:"scripthash",P2WPKH:"witnesspubkeyhash",P2WSH:"witnessscripthash",WITNESS_COMMITMENT:"witnesscommitment"};xy.types=wb,xy.output=function(t){if(vb.output.check(t))return wb.P2WPKH;if(bb.output.check(t))return wb.P2WSH;if(mb.output.check(t))return wb.P2PKH;if(gb.output.check(t))return wb.P2SH;const e=lb.decompile(t);if(!e)throw new TypeError("Invalid script");return cb.output.check(e)?wb.P2MS:pb.output.check(e)?wb.P2PK:yb.output.check(e)?wb.WITNESS_COMMITMENT:db.output.check(e)?wb.NULLDATA:wb.NONSTANDARD},xy.input=function(t,e){const r=lb.decompile(t);if(!r)throw new TypeError("Invalid script");return mb.input.check(r)?wb.P2PKH:gb.input.check(r,e)?wb.P2SH:cb.input.check(r,e)?wb.P2MS:pb.input.check(r)?wb.P2PK:wb.NONSTANDARD},xy.witness=function(t,e){const r=lb.decompile(t);if(!r)throw new TypeError("Invalid script");return vb.input.check(r)?wb.P2WPKH:bb.input.check(r,e)?wb.P2WSH:wb.NONSTANDARD},Object.defineProperty(Py,"__esModule",{value:!0});const Mb=uc,_b=xp,Sb=xy,Eb=od,kb=yp,Ab=fc,Ib=lc,Tb=dc,Ob=dc,Pb=Kp,xb=gc,Bb=Kl,Rb=Sb.types,Nb=new Set(["p2pkh","p2pk","p2wpkh","p2ms","p2sh-p2pkh","p2sh-p2pk","p2sh-p2wpkh","p2sh-p2ms","p2wsh-p2pkh","p2wsh-p2pk","p2wsh-p2ms","p2sh-p2wsh-p2pkh","p2sh-p2wsh-p2pk","p2sh-p2wsh-p2ms"]);function Ub(t,e,r){try{Bb(t,e)}catch(t){throw new Error(r)}}class Cb{constructor(t=Ab.bitcoin,e=2500){this.network=t,this.maximumFeeRate=e,this.__PREV_TX_SET={},this.__INPUTS=[],this.__TX=new Pb.Transaction,this.__TX.version=2,this.__USE_LOW_R=!1,console.warn("Deprecation Warning: TransactionBuilder will be removed in the future. (v6.x.x or later) Please use the Psbt class instead. Examples of usage are available in the transactions-psbt.js integration test file on our Github. A high level explanation is available in the psbt.ts and psbt.js files as well.")}static fromTransaction(t,e){const r=new Cb(e);return r.setVersion(t.version),r.setLockTime(t.locktime),t.outs.forEach((t=>{r.addOutput(t.script,t.value)})),t.ins.forEach((t=>{r.__addInputUnsafe(t.hash,t.index,{sequence:t.sequence,script:t.script,witness:t.witness})})),r.__INPUTS.forEach(((e,r)=>{!function(t,e,r){if(t.redeemScriptType!==Rb.P2MS||!t.redeemScript)return;if(t.pubkeys.length===t.signatures.length)return;const i=t.signatures.concat();t.signatures=t.pubkeys.map((n=>{const o=kb.fromPublicKey(n);let s;return i.some(((n,h)=>{if(!n)return!1;const a=Tb.signature.decode(n),u=e.hashForSignature(r,t.redeemScript,a.hashType);return!!o.verify(u,a.signature)&&(i[h]=void 0,s=n,!0)})),s}))}(e,t,r)})),r}setLowR(t){return Bb(Bb.maybe(Bb.Boolean),t),void 0===t&&(t=!0),this.__USE_LOW_R=t,t}setLockTime(t){if(Bb(xb.UInt32,t),this.__INPUTS.some((t=>!!t.signatures&&t.signatures.some((t=>void 0!==t)))))throw new Error("No, this would invalidate signatures");this.__TX.locktime=t}setVersion(t){Bb(xb.UInt32,t),this.__TX.version=t}addInput(t,e,r,i){if(!this.__canModifyInputs())throw new Error("No, this would invalidate signatures");let n;if("string"==typeof(o=t)||o instanceof String)t=_b.reverseBuffer(z.from(t,"hex"));else if(function(t){return t instanceof Pb.Transaction}(t)){const r=t.outs[e];i=r.script,n=r.value,t=t.getHash(!1)}var o;return this.__addInputUnsafe(t,e,{sequence:r,prevOutScript:i,value:n})}addOutput(t,e){if(!this.__canModifyOutputs())throw new Error("No, this would invalidate signatures");return"string"==typeof t&&(t=Mb.toOutputScript(t,this.network)),this.__TX.addOutput(t,e)}build(){return this.__build(!1)}buildIncomplete(){return this.__build(!0)}sign(t,e,r,i,n,o){!function({input:t,ourPubKey:e,keyPair:r,signatureHash:i,hashType:n,useLowR:o}){let s=!1;for(const[h,a]of t.pubkeys.entries()){if(!e.equals(a))continue;if(t.signatures[h])throw new Error("Signature already exists");if(33!==e.length&&t.hasWitness)throw new Error("BIP143 rejects uncompressed public keys in P2WPKH or P2WSH");const u=r.sign(i,o);t.signatures[h]=Tb.signature.encode(u,n),s=!0}if(!s)throw new Error("Key pair cannot sign for this input")}(function(t,e,r,i,n,o,s,h,a,u,f){let l;if("number"==typeof n)console.warn("DEPRECATED: TransactionBuilder sign method arguments will change in v6, please use the TxbSignArg interface"),l=n;else{if("object"!=typeof n)throw new TypeError("TransactionBuilder sign first arg must be TxbSignArg or number");!function(t,e){if(!Nb.has(e.prevOutScriptType))throw new TypeError(`Unknown prevOutScriptType "${e.prevOutScriptType}"`);Ub(Bb.Number,e.vin,"sign must include vin parameter as Number (input index)"),Ub(xb.Signer,e.keyPair,"sign must include keyPair parameter as Signer interface"),Ub(Bb.maybe(Bb.Number),e.hashType,"sign hashType parameter must be a number");const r=(t[e.vin]||[]).prevOutType,i=e.prevOutScriptType;switch(i){case"p2pkh":if(r&&"pubkeyhash"!==r)throw new TypeError(`input #${e.vin} is not of type p2pkh: ${r}`);Ub(Bb.value(void 0),e.witnessScript,`${i} requires NO witnessScript`),Ub(Bb.value(void 0),e.redeemScript,`${i} requires NO redeemScript`),Ub(Bb.value(void 0),e.witnessValue,`${i} requires NO witnessValue`);break;case"p2pk":if(r&&"pubkey"!==r)throw new TypeError(`input #${e.vin} is not of type p2pk: ${r}`);Ub(Bb.value(void 0),e.witnessScript,`${i} requires NO witnessScript`),Ub(Bb.value(void 0),e.redeemScript,`${i} requires NO redeemScript`),Ub(Bb.value(void 0),e.witnessValue,`${i} requires NO witnessValue`);break;case"p2wpkh":if(r&&"witnesspubkeyhash"!==r)throw new TypeError(`input #${e.vin} is not of type p2wpkh: ${r}`);Ub(Bb.value(void 0),e.witnessScript,`${i} requires NO witnessScript`),Ub(Bb.value(void 0),e.redeemScript,`${i} requires NO redeemScript`),Ub(xb.Satoshi,e.witnessValue,`${i} requires witnessValue`);break;case"p2ms":if(r&&"multisig"!==r)throw new TypeError(`input #${e.vin} is not of type p2ms: ${r}`);Ub(Bb.value(void 0),e.witnessScript,`${i} requires NO witnessScript`),Ub(Bb.value(void 0),e.redeemScript,`${i} requires NO redeemScript`),Ub(Bb.value(void 0),e.witnessValue,`${i} requires NO witnessValue`);break;case"p2sh-p2wpkh":if(r&&"scripthash"!==r)throw new TypeError(`input #${e.vin} is not of type p2sh-p2wpkh: ${r}`);Ub(Bb.value(void 0),e.witnessScript,`${i} requires NO witnessScript`),Ub(Bb.Buffer,e.redeemScript,`${i} requires redeemScript`),Ub(xb.Satoshi,e.witnessValue,`${i} requires witnessValue`);break;case"p2sh-p2ms":case"p2sh-p2pk":case"p2sh-p2pkh":if(r&&"scripthash"!==r)throw new TypeError(`input #${e.vin} is not of type ${i}: ${r}`);Ub(Bb.value(void 0),e.witnessScript,`${i} requires NO witnessScript`),Ub(Bb.Buffer,e.redeemScript,`${i} requires redeemScript`),Ub(Bb.value(void 0),e.witnessValue,`${i} requires NO witnessValue`);break;case"p2wsh-p2ms":case"p2wsh-p2pk":case"p2wsh-p2pkh":if(r&&"witnessscripthash"!==r)throw new TypeError(`input #${e.vin} is not of type ${i}: ${r}`);Ub(Bb.Buffer,e.witnessScript,`${i} requires witnessScript`),Ub(Bb.value(void 0),e.redeemScript,`${i} requires NO redeemScript`),Ub(xb.Satoshi,e.witnessValue,`${i} requires witnessValue`);break;case"p2sh-p2wsh-p2ms":case"p2sh-p2wsh-p2pk":case"p2sh-p2wsh-p2pkh":if(r&&"scripthash"!==r)throw new TypeError(`input #${e.vin} is not of type ${i}: ${r}`);Ub(Bb.Buffer,e.witnessScript,`${i} requires witnessScript`),Ub(Bb.Buffer,e.redeemScript,`${i} requires witnessScript`),Ub(xb.Satoshi,e.witnessValue,`${i} requires witnessScript`)}}(e,n),({vin:l,keyPair:o,redeemScript:s,hashType:h,witnessValue:a,witnessScript:u}=n)}if(void 0===o)throw new Error("sign requires keypair");if(o.network&&o.network!==t)throw new TypeError("Inconsistent network");if(!e[l])throw new Error("No input at index: "+l);if(h=h||Pb.Transaction.SIGHASH_ALL,r(h))throw new Error("Transaction needs outputs");const c=e[l];if(void 0!==c.redeemScript&&s&&!c.redeemScript.equals(s))throw new Error("Inconsistent redeemScript");const d=o.publicKey||o.getPublicKey&&o.getPublicKey();if(!Hb(c)){if(void 0!==a){if(void 0!==c.value&&c.value!==a)throw new Error("Input did not match witnessValue");Bb(xb.Satoshi,a),c.value=a}if(!Hb(c)){const t=function(t,e,r,i){if(r&&i){const n=Ib.p2wsh({redeem:{output:i}}),o=Ib.p2wsh({output:r}),s=Ib.p2sh({redeem:{output:r}}),h=Ib.p2sh({redeem:n});if(!n.hash.equals(o.hash))throw new Error("Witness script inconsistent with prevOutScript");if(!s.hash.equals(h.hash))throw new Error("Redeem script inconsistent with prevOutScript");const a=Db(n.redeem.output,e);if(!a.pubkeys)throw new Error(a.type+" not supported as witnessScript ("+Tb.toASM(i)+")");t.signatures&&t.signatures.some((t=>void 0!==t))&&(a.signatures=t.signatures);const u=i;if(a.type===Rb.P2WPKH)throw new Error("P2SH(P2WSH(P2WPKH)) is a consensus failure");return{redeemScript:r,redeemScriptType:Rb.P2WSH,witnessScript:i,witnessScriptType:a.type,prevOutType:Rb.P2SH,prevOutScript:s.output,hasWitness:!0,signScript:u,signType:a.type,pubkeys:a.pubkeys,signatures:a.signatures,maxSignatures:a.maxSignatures}}if(r){const i=Ib.p2sh({redeem:{output:r}});if(t.prevOutScript){let e;try{e=Ib.p2sh({output:t.prevOutScript})}catch(t){throw new Error("PrevOutScript must be P2SH")}if(!i.hash.equals(e.hash))throw new Error("Redeem script inconsistent with prevOutScript")}const n=Db(i.redeem.output,e);if(!n.pubkeys)throw new Error(n.type+" not supported as redeemScript ("+Tb.toASM(r)+")");t.signatures&&t.signatures.some((t=>void 0!==t))&&(n.signatures=t.signatures);let o=r;return n.type===Rb.P2WPKH&&(o=Ib.p2pkh({pubkey:n.pubkeys[0]}).output),{redeemScript:r,redeemScriptType:n.type,prevOutType:Rb.P2SH,prevOutScript:i.output,hasWitness:n.type===Rb.P2WPKH,signScript:o,signType:n.type,pubkeys:n.pubkeys,signatures:n.signatures,maxSignatures:n.maxSignatures}}if(i){const r=Ib.p2wsh({redeem:{output:i}});if(t.prevOutScript){const e=Ib.p2wsh({output:t.prevOutScript});if(!r.hash.equals(e.hash))throw new Error("Witness script inconsistent with prevOutScript")}const n=Db(r.redeem.output,e);if(!n.pubkeys)throw new Error(n.type+" not supported as witnessScript ("+Tb.toASM(i)+")");t.signatures&&t.signatures.some((t=>void 0!==t))&&(n.signatures=t.signatures);const o=i;if(n.type===Rb.P2WPKH)throw new Error("P2WSH(P2WPKH) is a consensus failure");return{witnessScript:i,witnessScriptType:n.type,prevOutType:Rb.P2WSH,prevOutScript:r.output,hasWitness:!0,signScript:o,signType:n.type,pubkeys:n.pubkeys,signatures:n.signatures,maxSignatures:n.maxSignatures}}if(t.prevOutType&&t.prevOutScript){if(t.prevOutType===Rb.P2SH)throw new Error("PrevOutScript is "+t.prevOutType+", requires redeemScript");if(t.prevOutType===Rb.P2WSH)throw new Error("PrevOutScript is "+t.prevOutType+", requires witnessScript");if(!t.prevOutScript)throw new Error("PrevOutScript is missing");const r=Db(t.prevOutScript,e);if(!r.pubkeys)throw new Error(r.type+" not supported ("+Tb.toASM(t.prevOutScript)+")");t.signatures&&t.signatures.some((t=>void 0!==t))&&(r.signatures=t.signatures);let i=t.prevOutScript;return r.type===Rb.P2WPKH&&(i=Ib.p2pkh({pubkey:r.pubkeys[0]}).output),{prevOutType:r.type,prevOutScript:t.prevOutScript,hasWitness:r.type===Rb.P2WPKH,signScript:i,signType:r.type,pubkeys:r.pubkeys,signatures:r.signatures,maxSignatures:r.maxSignatures}}const n=Ib.p2pkh({pubkey:e}).output;return{prevOutType:Rb.P2PKH,prevOutScript:n,hasWitness:!1,signScript:n,signType:Rb.P2PKH,pubkeys:[e],signatures:[void 0]}}(c,d,s,u);Object.assign(c,t)}if(!Hb(c))throw Error(c.prevOutType+" not supported")}let p;p=c.hasWitness?i.hashForWitnessV0(l,c.signScript,c.value,h):i.hashForSignature(l,c.signScript,h);return{input:c,ourPubKey:d,keyPair:o,signatureHash:p,hashType:h,useLowR:!!f}}(this.network,this.__INPUTS,this.__needsOutputs.bind(this),this.__TX,t,e,r,i,n,o,this.__USE_LOW_R))}__addInputUnsafe(t,e,r){if(Pb.Transaction.isCoinbaseHash(t))throw new Error("coinbase inputs not supported");const i=t.toString("hex")+":"+e;if(void 0!==this.__PREV_TX_SET[i])throw new Error("Duplicate TxOut: "+i);let n={};if(void 0!==r.script&&(n=Lb(r.script,r.witness||[])),void 0!==r.value&&(n.value=r.value),!n.prevOutScript&&r.prevOutScript){let t;if(!n.pubkeys&&!n.signatures){const e=Db(r.prevOutScript);e.pubkeys&&(n.pubkeys=e.pubkeys,n.signatures=e.signatures),t=e.type}n.prevOutScript=r.prevOutScript,n.prevOutType=t||Sb.output(r.prevOutScript)}const o=this.__TX.addInput(t,e,r.sequence,r.scriptSig);return this.__INPUTS[o]=n,this.__PREV_TX_SET[i]=!0,o}__build(t){if(!t){if(!this.__TX.ins.length)throw new Error("Transaction has no inputs");if(!this.__TX.outs.length)throw new Error("Transaction has no outputs")}const e=this.__TX.clone();if(this.__INPUTS.forEach(((r,i)=>{if(!r.prevOutType&&!t)throw new Error("Transaction is not complete");const n=jb(r.prevOutType,r,t);if(n)e.setInputScript(i,n.input),e.setWitness(i,n.witness);else{if(!t&&r.prevOutType===Rb.NONSTANDARD)throw new Error("Unknown input type");if(!t)throw new Error("Not enough information")}})),!t&&this.__overMaximumFees(e.virtualSize()))throw new Error("Transaction has absurd fees");return e}__canModifyInputs(){return this.__INPUTS.every((t=>!t.signatures||t.signatures.every((t=>{if(!t)return!0;return 0!=(qb(t)&Pb.Transaction.SIGHASH_ANYONECANPAY)}))))}__needsOutputs(t){return t===Pb.Transaction.SIGHASH_ALL?0===this.__TX.outs.length:0===this.__TX.outs.length&&this.__INPUTS.some((t=>!!t.signatures&&t.signatures.some((t=>{if(!t)return!1;return!(qb(t)&Pb.Transaction.SIGHASH_NONE)}))))}__canModifyOutputs(){const t=this.__TX.ins.length,e=this.__TX.outs.length;return this.__INPUTS.every((r=>void 0===r.signatures||r.signatures.every((r=>{if(!r)return!0;const i=31&qb(r);return i===Pb.Transaction.SIGHASH_NONE||i===Pb.Transaction.SIGHASH_SINGLE&&t<=e}))))}__overMaximumFees(t){return(this.__INPUTS.reduce(((t,e)=>t+(e.value>>>0)),0)-this.__TX.outs.reduce(((t,e)=>t+e.value),0))/t>this.maximumFeeRate}}function Lb(t,e,r,i){if(0===t.length&&0===e.length)return{};if(!r){let i=Sb.input(t,!0),n=Sb.witness(e,!0);i===Rb.NONSTANDARD&&(i=void 0),n===Rb.NONSTANDARD&&(n=void 0),r=i||n}switch(r){case Rb.P2WPKH:{const{output:t,pubkey:r,signature:i}=Ib.p2wpkh({witness:e});return{prevOutScript:t,prevOutType:Rb.P2WPKH,pubkeys:[r],signatures:[i]}}case Rb.P2PKH:{const{output:e,pubkey:r,signature:i}=Ib.p2pkh({input:t});return{prevOutScript:e,prevOutType:Rb.P2PKH,pubkeys:[r],signatures:[i]}}case Rb.P2PK:{const{signature:e}=Ib.p2pk({input:t});return{prevOutType:Rb.P2PK,pubkeys:[void 0],signatures:[e]}}case Rb.P2MS:{const{m:e,pubkeys:r,signatures:n}=Ib.p2ms({input:t,output:i},{allowIncomplete:!0});return{prevOutType:Rb.P2MS,pubkeys:r,signatures:n,maxSignatures:e}}}if(r===Rb.P2SH){const{output:r,redeem:i}=Ib.p2sh({input:t,witness:e}),n=Sb.output(i.output),o=Lb(i.input,i.witness,n,i.output);return o.prevOutType?{prevOutScript:r,prevOutType:Rb.P2SH,redeemScript:i.output,redeemScriptType:o.prevOutType,witnessScript:o.witnessScript,witnessScriptType:o.witnessScriptType,pubkeys:o.pubkeys,signatures:o.signatures}:{}}if(r===Rb.P2WSH){const{output:r,redeem:i}=Ib.p2wsh({input:t,witness:e}),n=Sb.output(i.output);let o;return o=n===Rb.P2WPKH?Lb(i.input,i.witness,n):Lb(Tb.compile(i.witness),[],n,i.output),o.prevOutType?{prevOutScript:r,prevOutType:Rb.P2WSH,witnessScript:i.output,witnessScriptType:o.prevOutType,pubkeys:o.pubkeys,signatures:o.signatures}:{}}return{prevOutType:Rb.NONSTANDARD,prevOutScript:t}}function Db(t,e){Bb(xb.Buffer,t);const r=Sb.output(t);switch(r){case Rb.P2PKH:{if(!e)return{type:r};const i=Ib.p2pkh({output:t}).hash,n=Eb.hash160(e);return i.equals(n)?{type:r,pubkeys:[e],signatures:[void 0]}:{type:r}}case Rb.P2WPKH:{if(!e)return{type:r};const i=Ib.p2wpkh({output:t}).hash,n=Eb.hash160(e);return i.equals(n)?{type:r,pubkeys:[e],signatures:[void 0]}:{type:r}}case Rb.P2PK:return{type:r,pubkeys:[Ib.p2pk({output:t}).pubkey],signatures:[void 0]};case Rb.P2MS:{const e=Ib.p2ms({output:t});return{type:r,pubkeys:e.pubkeys,signatures:e.pubkeys.map((()=>{})),maxSignatures:e.m}}}return{type:r}}function jb(t,e,r){const i=e.pubkeys||[];let n=e.signatures||[];switch(t){case Rb.P2PKH:if(0===i.length)break;if(0===n.length)break;return Ib.p2pkh({pubkey:i[0],signature:n[0]});case Rb.P2WPKH:if(0===i.length)break;if(0===n.length)break;return Ib.p2wpkh({pubkey:i[0],signature:n[0]});case Rb.P2PK:if(0===i.length)break;if(0===n.length)break;return Ib.p2pk({signature:n[0]});case Rb.P2MS:{const t=e.maxSignatures;n=r?n.map((t=>t||Ob.OPS.OP_0)):n.filter((t=>t));const o=!r||t===n.length;return Ib.p2ms({m:t,pubkeys:i,signatures:n},{allowIncomplete:r,validate:o})}case Rb.P2SH:{const t=jb(e.redeemScriptType,e,r);if(!t)return;return Ib.p2sh({redeem:{output:t.output||e.redeemScript,input:t.input,witness:t.witness}})}case Rb.P2WSH:{const t=jb(e.witnessScriptType,e,r);if(!t)return;return Ib.p2wsh({redeem:{output:e.witnessScript,input:t.input,witness:t.witness}})}}}function Hb(t){return void 0!==t.signScript&&void 0!==t.signType&&void 0!==t.pubkeys&&void 0!==t.signatures&&t.signatures.length===t.pubkeys.length&&t.pubkeys.length>0&&(!1===t.hasWitness||void 0!==t.value)}function qb(t){return t.readUInt8(t.length-1)}Py.TransactionBuilder=Cb,Object.defineProperty(T,"__esModule",{value:!0});const Kb=O;T.bip32=Kb;const Fb=uc;T.address=Fb;const zb=od;T.crypto=zb;const Wb=yp;var Vb=T.ECPair=Wb;const Zb=fc;T.networks=Zb;const Gb=lc;T.payments=Gb;const $b=dc;var Xb=T.script=$b,Yb=Pp;T.Block=Yb.Block;var Jb=mm;T.Psbt=Jb.Psbt;var Qb=dc;T.opcodes=Qb.OPS;var tw=Kp,ew=T.Transaction=tw.Transaction,rw=Py;T.TransactionBuilder=rw.TransactionBuilder;var iw={},nw={},ow={exports:{}},sw={},hw={};Object.defineProperty(hw,"__esModule",{value:!0}),hw.default=function(t){var e=t.length,r=e%4;if(!r)return t;var i=e,n=4-r,o=e+n,s=z.alloc(o);for(s.write(t);n--;)s.write("=",i++);return s.toString()},Object.defineProperty(sw,"__esModule",{value:!0});var aw=hw;function uw(t,e){return void 0===e&&(e="utf8"),At(t)?lw(t.toString("base64")):lw(z.from(t,e).toString("base64"))}function fw(t){return t=t.toString(),aw.default(t).replace(/\-/g,"+").replace(/_/g,"/")}function lw(t){return t.replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")}var cw,dw=uw;dw.encode=uw,dw.decode=function(t,e){return void 0===e&&(e="utf8"),z.from(fw(t),"base64").toString(e)},dw.toBase64=fw,dw.fromBase64=lw,dw.toBuffer=function(t){return z.from(fw(t),"base64")},sw.default=dw,(cw=ow).exports=sw.default,cw.exports.default=cw.exports;var pw={},mw={};function gw(t){return(t/8|0)+(t%8==0?0:1)}var yw={ES256:gw(256),ES384:gw(384),ES512:gw(521)};var vw=function(t){var e=yw[t];if(e)return e;throw new Error('Unknown algorithm "'+t+'"')},bw=xt.exports.Buffer,ww=vw;function Mw(t){if(bw.isBuffer(t))return t;if("string"==typeof t)return bw.from(t,"base64");throw new TypeError("ECDSA signature must be a Base64 string or a Buffer")}function _w(t,e,r){for(var i=0;e+i<r&&0===t[e+i];)++i;return t[e+i]>=128&&--i,i}var Sw={derToJose:function(t,e){t=Mw(t);var r=ww(e),i=r+1,n=t.length,o=0;if(48!==t[o++])throw new Error('Could not find expected "seq"');var s=t[o++];if(129===s&&(s=t[o++]),n-o<s)throw new Error('"seq" specified length of "'+s+'", only "'+(n-o)+'" remaining');if(2!==t[o++])throw new Error('Could not find expected "int" for "r"');var h=t[o++];if(n-o-2<h)throw new Error('"r" specified length of "'+h+'", only "'+(n-o-2)+'" available');if(i<h)throw new Error('"r" specified length of "'+h+'", max of "'+i+'" is acceptable');var a=o;if(o+=h,2!==t[o++])throw new Error('Could not find expected "int" for "s"');var u=t[o++];if(n-o!==u)throw new Error('"s" specified length of "'+u+'", expected "'+(n-o)+'"');if(i<u)throw new Error('"s" specified length of "'+u+'", max of "'+i+'" is acceptable');var f=o;if((o+=u)!==n)throw new Error('Expected to consume entire buffer, but "'+(n-o)+'" bytes remain');var l=r-h,c=r-u,d=bw.allocUnsafe(l+h+c+u);for(o=0;o<l;++o)d[o]=0;t.copy(d,o,a+Math.max(-l,0),a+h);for(var p=o=r;o<p+c;++o)d[o]=0;return t.copy(d,o,f+Math.max(-c,0),f+u),d=(d=d.toString("base64")).replace(/=/g,"").replace(/\+/g,"-").replace(/\//g,"_")},joseToDer:function(t,e){t=Mw(t);var r=ww(e),i=t.length;if(i!==2*r)throw new TypeError('"'+e+'" signatures must be "'+2*r+'" bytes, saw "'+i+'"');var n=_w(t,0,r),o=_w(t,r,t.length),s=r-n,h=r-o,a=2+s+1+1+h,u=a<128,f=bw.allocUnsafe((u?2:3)+a),l=0;return f[l++]=48,u?f[l++]=a:(f[l++]=129,f[l++]=255&a),f[l++]=2,f[l++]=s,n<0?(f[l++]=0,l+=t.copy(f,l,0,r)):l+=t.copy(f,l,n,r),f[l++]=2,f[l++]=h,o<0?(f[l++]=0,t.copy(f,l,r)):t.copy(f,l,r+o),f}},Ew={};Object.defineProperty(Ew,"__esModule",{value:!0});class kw extends Error{constructor(t){super(),this.name="MissingParametersError",this.message=t||""}}Ew.MissingParametersError=kw;class Aw extends Error{constructor(t){super(),this.name="InvalidTokenError",this.message=t||""}}Ew.InvalidTokenError=Aw,Object.defineProperty(mw,"__esModule",{value:!0});const Iw=Js,Tw=Sw,Ow=Ew;class Pw{constructor(){}static loadPrivateKey(t){return 66===t.length&&(t=t.slice(0,64)),Pw.ec.keyFromPrivate(t)}static loadPublicKey(t){return Pw.ec.keyFromPublic(t,"hex")}static derivePublicKey(t,e=!0){if("string"!=typeof t)throw Error("private key must be a string");if(!/^[0-9A-F]+$/i.test(t))throw Error("private key must be a hex string");if(66==t.length)t=t.slice(0,64);else if(!(t.length<=64))throw Error("private key must be 66 characters or less");return Pw.ec.keyFromPrivate(t).getPublic(e,"hex")}static signHash(t,e,r="jose"){if(!t||!e)throw new Ow.MissingParametersError("a signing input hash and private key are all required");const i=Pw.loadPrivateKey(e).sign(t),n=z.from(i.toDER());if("der"===r)return n.toString("hex");if("jose"===r)return Tw.derToJose(n,"ES256");throw Error("Invalid signature format")}static loadSignature(t){return Tw.joseToDer(t,"ES256")}static verifyHash(t,e,r){if(!(t&&e&&r))throw new Ow.MissingParametersError("a signing input hash, der signature, and public key are all required");return Pw.loadPublicKey(r).verify(t,e)}}mw.SECP256K1Client=Pw,Pw.ec=new Iw.ec("secp256k1"),Pw.algorithmName="ES256K",Object.defineProperty(pw,"__esModule",{value:!0});const xw=mw;pw.SECP256K1Client=xw.SECP256K1Client;const Bw={ES256K:xw.SECP256K1Client};pw.cryptoClients=Bw;var Rw,Nw={},Uw={},Cw={sha224WithRSAEncryption:{sign:"rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},"RSA-SHA224":{sign:"ecdsa/rsa",hash:"sha224",id:"302d300d06096086480165030402040500041c"},sha256WithRSAEncryption:{sign:"rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},"RSA-SHA256":{sign:"ecdsa/rsa",hash:"sha256",id:"3031300d060960864801650304020105000420"},sha384WithRSAEncryption:{sign:"rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},"RSA-SHA384":{sign:"ecdsa/rsa",hash:"sha384",id:"3041300d060960864801650304020205000430"},sha512WithRSAEncryption:{sign:"rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA512":{sign:"ecdsa/rsa",hash:"sha512",id:"3051300d060960864801650304020305000440"},"RSA-SHA1":{sign:"rsa",hash:"sha1",id:"3021300906052b0e03021a05000414"},"ecdsa-with-SHA1":{sign:"ecdsa",hash:"sha1",id:""},sha256:{sign:"ecdsa",hash:"sha256",id:""},sha224:{sign:"ecdsa",hash:"sha224",id:""},sha384:{sign:"ecdsa",hash:"sha384",id:""},sha512:{sign:"ecdsa",hash:"sha512",id:""},"DSA-SHA":{sign:"dsa",hash:"sha1",id:""},"DSA-SHA1":{sign:"dsa",hash:"sha1",id:""},DSA:{sign:"dsa",hash:"sha1",id:""},"DSA-WITH-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-SHA224":{sign:"dsa",hash:"sha224",id:""},"DSA-WITH-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-SHA256":{sign:"dsa",hash:"sha256",id:""},"DSA-WITH-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-SHA384":{sign:"dsa",hash:"sha384",id:""},"DSA-WITH-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-SHA512":{sign:"dsa",hash:"sha512",id:""},"DSA-RIPEMD160":{sign:"dsa",hash:"rmd160",id:""},ripemd160WithRSA:{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},"RSA-RIPEMD160":{sign:"rsa",hash:"rmd160",id:"3021300906052b2403020105000414"},md5WithRSAEncryption:{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"},"RSA-MD5":{sign:"rsa",hash:"md5",id:"3020300c06082a864886f70d020505000410"}},Lw=Cw,Dw={},jw=Math.pow(2,30)-1,Hw=function(t,e){if("number"!=typeof t)throw new TypeError("Iterations not a number");if(t<0)throw new TypeError("Bad iterations");if("number"!=typeof e)throw new TypeError("Key length not a number");if(e<0||e>jw||e!=e)throw new TypeError("Bad key length")};if(A.process&&A.true)Rw="utf-8";else if(A.process&&A.process.version){Rw=parseInt(ge.version.split(".")[0].slice(1),10)>=6?"utf-8":"binary"}else Rw="utf-8";var qw=Rw,Kw=xt.exports.Buffer,Fw=function(t,e,r){if(Kw.isBuffer(t))return t;if("string"==typeof t)return Kw.from(t,e);if(ArrayBuffer.isView(t))return Kw.from(t.buffer);throw new TypeError(r+" must be a string, a Buffer, a typed array or a DataView")},zw=Rs,Ww=Qn,Vw=to.exports,Zw=xt.exports.Buffer,Gw=Hw,$w=qw,Xw=Fw,Yw=Zw.alloc(128),Jw={md5:16,sha1:20,sha224:28,sha256:32,sha384:48,sha512:64,rmd160:20,ripemd160:20};function Qw(t,e,r){var i=function(t){function e(e){return Vw(t).update(e).digest()}function r(t){return(new Ww).update(t).digest()}return"rmd160"===t||"ripemd160"===t?r:"md5"===t?zw:e}(t),n="sha512"===t||"sha384"===t?128:64;e.length>n?e=i(e):e.length<n&&(e=Zw.concat([e,Yw],n));for(var o=Zw.allocUnsafe(n+Jw[t]),s=Zw.allocUnsafe(n+Jw[t]),h=0;h<n;h++)o[h]=54^e[h],s[h]=92^e[h];var a=Zw.allocUnsafe(n+r+4);o.copy(a,0,0,n),this.ipad1=a,this.ipad2=o,this.opad=s,this.alg=t,this.blocksize=n,this.hash=i,this.size=Jw[t]}Qw.prototype.run=function(t,e){return t.copy(e,this.blocksize),this.hash(e).copy(this.opad,this.blocksize),this.hash(this.opad)};var tM,eM,rM=function(t,e,r,i,n){Gw(r,i);var o=new Qw(n=n||"sha1",t=Xw(t,$w,"Password"),(e=Xw(e,$w,"Salt")).length),s=Zw.allocUnsafe(i),h=Zw.allocUnsafe(e.length+4);e.copy(h,0,0,e.length);for(var a=0,u=Jw[n],f=Math.ceil(i/u),l=1;l<=f;l++){h.writeUInt32BE(l,e.length);for(var c=o.run(h,o.ipad1),d=c,p=1;p<r;p++){d=o.run(d,o.ipad2);for(var m=0;m<u;m++)c[m]^=d[m]}c.copy(s,a),a+=u}return s},iM=xt.exports.Buffer,nM=Hw,oM=qw,sM=rM,hM=Fw,aM=A.crypto&&A.crypto.subtle,uM={sha:"SHA-1","sha-1":"SHA-1",sha1:"SHA-1",sha256:"SHA-256","sha-256":"SHA-256",sha384:"SHA-384","sha-384":"SHA-384","sha-512":"SHA-512",sha512:"SHA-512"},fM=[];function lM(){return eM||(eM=A.process&&A.process.nextTick?A.process.nextTick:A.queueMicrotask?A.queueMicrotask:A.setImmediate?A.setImmediate:A.setTimeout)}function cM(t,e,r,i,n){return aM.importKey("raw",t,{name:"PBKDF2"},!1,["deriveBits"]).then((function(t){return aM.deriveBits({name:"PBKDF2",salt:e,iterations:r,hash:{name:n}},t,i<<3)})).then((function(t){return iM.from(t)}))}Dw.pbkdf2=function(t,e,r,i,n,o){"function"==typeof n&&(o=n,n=void 0);var s=uM[(n=n||"sha1").toLowerCase()];if(s&&"function"==typeof A.Promise){if(nM(r,i),t=hM(t,oM,"Password"),e=hM(e,oM,"Salt"),"function"!=typeof o)throw new Error("No callback provided to pbkdf2");!function(t,e){t.then((function(t){lM()((function(){e(null,t)}))}),(function(t){lM()((function(){e(t)}))}))}(function(t){if(A.process&&!A.true)return Promise.resolve(!1);if(!aM||!aM.importKey||!aM.deriveBits)return Promise.resolve(!1);if(void 0!==fM[t])return fM[t];var e=cM(tM=tM||iM.alloc(8),tM,10,128,t).then((function(){return!0})).catch((function(){return!1}));return fM[t]=e,e}(s).then((function(o){return o?cM(t,e,r,i,s):sM(t,e,r,i,n)})),o)}else lM()((function(){var s;try{s=sM(t,e,r,i,n)}catch(t){return o(t)}o(null,s)}))},Dw.pbkdf2Sync=rM;var dM={},pM={},mM={readUInt32BE:function(t,e){return(t[0+e]<<24|t[1+e]<<16|t[2+e]<<8|t[3+e])>>>0},writeUInt32BE:function(t,e,r){t[0+r]=e>>>24,t[1+r]=e>>>16&255,t[2+r]=e>>>8&255,t[3+r]=255&e},ip:function(t,e,r,i){for(var n=0,o=0,s=6;s>=0;s-=2){for(var h=0;h<=24;h+=8)n<<=1,n|=e>>>h+s&1;for(h=0;h<=24;h+=8)n<<=1,n|=t>>>h+s&1}for(s=6;s>=0;s-=2){for(h=1;h<=25;h+=8)o<<=1,o|=e>>>h+s&1;for(h=1;h<=25;h+=8)o<<=1,o|=t>>>h+s&1}r[i+0]=n>>>0,r[i+1]=o>>>0},rip:function(t,e,r,i){for(var n=0,o=0,s=0;s<4;s++)for(var h=24;h>=0;h-=8)n<<=1,n|=e>>>h+s&1,n<<=1,n|=t>>>h+s&1;for(s=4;s<8;s++)for(h=24;h>=0;h-=8)o<<=1,o|=e>>>h+s&1,o<<=1,o|=t>>>h+s&1;r[i+0]=n>>>0,r[i+1]=o>>>0},pc1:function(t,e,r,i){for(var n=0,o=0,s=7;s>=5;s--){for(var h=0;h<=24;h+=8)n<<=1,n|=e>>h+s&1;for(h=0;h<=24;h+=8)n<<=1,n|=t>>h+s&1}for(h=0;h<=24;h+=8)n<<=1,n|=e>>h+s&1;for(s=1;s<=3;s++){for(h=0;h<=24;h+=8)o<<=1,o|=e>>h+s&1;for(h=0;h<=24;h+=8)o<<=1,o|=t>>h+s&1}for(h=0;h<=24;h+=8)o<<=1,o|=t>>h+s&1;r[i+0]=n>>>0,r[i+1]=o>>>0},r28shl:function(t,e){return t<<e&268435455|t>>>28-e}},gM=[14,11,17,4,27,23,25,0,13,22,7,18,5,9,16,24,2,20,12,21,1,8,15,26,15,4,25,19,9,1,26,16,5,11,23,8,12,7,17,0,22,3,10,14,6,20,27,24];mM.pc2=function(t,e,r,i){for(var n=0,o=0,s=gM.length>>>1,h=0;h<s;h++)n<<=1,n|=t>>>gM[h]&1;for(h=s;h<gM.length;h++)o<<=1,o|=e>>>gM[h]&1;r[i+0]=n>>>0,r[i+1]=o>>>0},mM.expand=function(t,e,r){var i=0,n=0;i=(1&t)<<5|t>>>27;for(var o=23;o>=15;o-=4)i<<=6,i|=t>>>o&63;for(o=11;o>=3;o-=4)n|=t>>>o&63,n<<=6;n|=(31&t)<<1|t>>>31,e[r+0]=i>>>0,e[r+1]=n>>>0};var yM=[14,0,4,15,13,7,1,4,2,14,15,2,11,13,8,1,3,10,10,6,6,12,12,11,5,9,9,5,0,3,7,8,4,15,1,12,14,8,8,2,13,4,6,9,2,1,11,7,15,5,12,11,9,3,7,14,3,10,10,0,5,6,0,13,15,3,1,13,8,4,14,7,6,15,11,2,3,8,4,14,9,12,7,0,2,1,13,10,12,6,0,9,5,11,10,5,0,13,14,8,7,10,11,1,10,3,4,15,13,4,1,2,5,11,8,6,12,7,6,12,9,0,3,5,2,14,15,9,10,13,0,7,9,0,14,9,6,3,3,4,15,6,5,10,1,2,13,8,12,5,7,14,11,12,4,11,2,15,8,1,13,1,6,10,4,13,9,0,8,6,15,9,3,8,0,7,11,4,1,15,2,14,12,3,5,11,10,5,14,2,7,12,7,13,13,8,14,11,3,5,0,6,6,15,9,0,10,3,1,4,2,7,8,2,5,12,11,1,12,10,4,14,15,9,10,3,6,15,9,0,0,6,12,10,11,1,7,13,13,8,15,9,1,4,3,5,14,11,5,12,2,7,8,2,4,14,2,14,12,11,4,2,1,12,7,4,10,7,11,13,6,1,8,5,5,0,3,15,15,10,13,3,0,9,14,8,9,6,4,11,2,8,1,12,11,7,10,1,13,14,7,2,8,13,15,6,9,15,12,0,5,9,6,10,3,4,0,5,14,3,12,10,1,15,10,4,15,2,9,7,2,12,6,9,8,5,0,6,13,1,3,13,4,14,14,0,7,11,5,3,11,8,9,4,14,3,15,2,5,12,2,9,8,5,12,15,3,10,7,11,0,14,4,1,10,7,1,6,13,0,11,8,6,13,4,13,11,0,2,11,14,7,15,4,0,9,8,1,13,10,3,14,12,3,9,5,7,12,5,2,10,15,6,8,1,6,1,6,4,11,11,13,13,8,12,1,3,4,7,10,14,7,10,9,15,5,6,0,8,15,0,14,5,2,9,3,2,12,13,1,2,15,8,13,4,8,6,10,15,3,11,7,1,4,10,12,9,5,3,6,14,11,5,0,0,14,12,9,7,2,7,2,11,1,4,14,1,7,9,4,12,10,14,8,2,13,0,15,6,12,10,9,13,0,15,3,3,5,5,6,8,11];mM.substitute=function(t,e){for(var r=0,i=0;i<4;i++){r<<=4,r|=yM[64*i+(t>>>18-6*i&63)]}for(i=0;i<4;i++){r<<=4,r|=yM[256+64*i+(e>>>18-6*i&63)]}return r>>>0};var vM=[16,25,12,11,3,20,4,15,31,17,9,6,27,14,1,22,30,24,8,18,0,5,29,23,13,19,2,26,10,21,28,7];mM.permute=function(t){for(var e=0,r=0;r<vM.length;r++)e<<=1,e|=t>>>vM[r]&1;return e>>>0},mM.padSplit=function(t,e,r){for(var i=t.toString(2);i.length<e;)i="0"+i;for(var n=[],o=0;o<e;o+=r)n.push(i.slice(o,o+r));return n.join(" ")};var bM=rh;function wM(t){this.options=t,this.type=this.options.type,this.blockSize=8,this._init(),this.buffer=new Array(this.blockSize),this.bufferOff=0}var MM=wM;wM.prototype._init=function(){},wM.prototype.update=function(t){return 0===t.length?[]:"decrypt"===this.type?this._updateDecrypt(t):this._updateEncrypt(t)},wM.prototype._buffer=function(t,e){for(var r=Math.min(this.buffer.length-this.bufferOff,t.length-e),i=0;i<r;i++)this.buffer[this.bufferOff+i]=t[e+i];return this.bufferOff+=r,r},wM.prototype._flushBuffer=function(t,e){return this._update(this.buffer,0,t,e),this.bufferOff=0,this.blockSize},wM.prototype._updateEncrypt=function(t){var e=0,r=0,i=(this.bufferOff+t.length)/this.blockSize|0,n=new Array(i*this.blockSize);0!==this.bufferOff&&(e+=this._buffer(t,e),this.bufferOff===this.buffer.length&&(r+=this._flushBuffer(n,r)));for(var o=t.length-(t.length-e)%this.blockSize;e<o;e+=this.blockSize)this._update(t,e,n,r),r+=this.blockSize;for(;e<t.length;e++,this.bufferOff++)this.buffer[this.bufferOff]=t[e];return n},wM.prototype._updateDecrypt=function(t){for(var e=0,r=0,i=Math.ceil((this.bufferOff+t.length)/this.blockSize)-1,n=new Array(i*this.blockSize);i>0;i--)e+=this._buffer(t,e),r+=this._flushBuffer(n,r);return e+=this._buffer(t,e),n},wM.prototype.final=function(t){var e,r;return t&&(e=this.update(t)),r="encrypt"===this.type?this._finalEncrypt():this._finalDecrypt(),e?e.concat(r):r},wM.prototype._pad=function(t,e){if(0===e)return!1;for(;e<t.length;)t[e++]=0;return!0},wM.prototype._finalEncrypt=function(){if(!this._pad(this.buffer,this.bufferOff))return[];var t=new Array(this.blockSize);return this._update(this.buffer,0,t,0),t},wM.prototype._unpad=function(t){return t},wM.prototype._finalDecrypt=function(){bM.equal(this.bufferOff,this.blockSize,"Not enough data to decrypt");var t=new Array(this.blockSize);return this._flushBuffer(t,0),this._unpad(t)};var _M=rh,SM=Pt.exports,EM=mM,kM=MM;function AM(){this.tmp=new Array(2),this.keys=null}function IM(t){kM.call(this,t);var e=new AM;this._desState=e,this.deriveKeys(e,t.key)}SM(IM,kM);var TM=IM;IM.create=function(t){return new IM(t)};var OM=[1,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1];IM.prototype.deriveKeys=function(t,e){t.keys=new Array(32),_M.equal(e.length,this.blockSize,"Invalid key length");var r=EM.readUInt32BE(e,0),i=EM.readUInt32BE(e,4);EM.pc1(r,i,t.tmp,0),r=t.tmp[0],i=t.tmp[1];for(var n=0;n<t.keys.length;n+=2){var o=OM[n>>>1];r=EM.r28shl(r,o),i=EM.r28shl(i,o),EM.pc2(r,i,t.keys,n)}},IM.prototype._update=function(t,e,r,i){var n=this._desState,o=EM.readUInt32BE(t,e),s=EM.readUInt32BE(t,e+4);EM.ip(o,s,n.tmp,0),o=n.tmp[0],s=n.tmp[1],"encrypt"===this.type?this._encrypt(n,o,s,n.tmp,0):this._decrypt(n,o,s,n.tmp,0),o=n.tmp[0],s=n.tmp[1],EM.writeUInt32BE(r,o,i),EM.writeUInt32BE(r,s,i+4)},IM.prototype._pad=function(t,e){for(var r=t.length-e,i=e;i<t.length;i++)t[i]=r;return!0},IM.prototype._unpad=function(t){for(var e=t[t.length-1],r=t.length-e;r<t.length;r++)_M.equal(t[r],e);return t.slice(0,t.length-e)},IM.prototype._encrypt=function(t,e,r,i,n){for(var o=e,s=r,h=0;h<t.keys.length;h+=2){var a=t.keys[h],u=t.keys[h+1];EM.expand(s,t.tmp,0),a^=t.tmp[0],u^=t.tmp[1];var f=EM.substitute(a,u),l=s;s=(o^EM.permute(f))>>>0,o=l}EM.rip(s,o,i,n)},IM.prototype._decrypt=function(t,e,r,i,n){for(var o=r,s=e,h=t.keys.length-2;h>=0;h-=2){var a=t.keys[h],u=t.keys[h+1];EM.expand(o,t.tmp,0),a^=t.tmp[0],u^=t.tmp[1];var f=EM.substitute(a,u),l=o;o=(s^EM.permute(f))>>>0,s=l}EM.rip(o,s,i,n)};var PM={},xM=rh,BM=Pt.exports,RM={};function NM(t){xM.equal(t.length,8,"Invalid IV length"),this.iv=new Array(8);for(var e=0;e<this.iv.length;e++)this.iv[e]=t[e]}PM.instantiate=function(t){function e(e){t.call(this,e),this._cbcInit()}BM(e,t);for(var r=Object.keys(RM),i=0;i<r.length;i++){var n=r[i];e.prototype[n]=RM[n]}return e.create=function(t){return new e(t)},e},RM._cbcInit=function(){var t=new NM(this.options.iv);this._cbcState=t},RM._update=function(t,e,r,i){var n=this._cbcState,o=this.constructor.super_.prototype,s=n.iv;if("encrypt"===this.type){for(var h=0;h<this.blockSize;h++)s[h]^=t[e+h];o._update.call(this,s,0,r,i);for(h=0;h<this.blockSize;h++)s[h]=r[i+h]}else{o._update.call(this,t,e,r,i);for(h=0;h<this.blockSize;h++)r[i+h]^=s[h];for(h=0;h<this.blockSize;h++)s[h]=t[e+h]}};var UM=rh,CM=Pt.exports,LM=MM,DM=TM;function jM(t,e){UM.equal(e.length,24,"Invalid key length");var r=e.slice(0,8),i=e.slice(8,16),n=e.slice(16,24);this.ciphers="encrypt"===t?[DM.create({type:"encrypt",key:r}),DM.create({type:"decrypt",key:i}),DM.create({type:"encrypt",key:n})]:[DM.create({type:"decrypt",key:n}),DM.create({type:"encrypt",key:i}),DM.create({type:"decrypt",key:r})]}function HM(t){LM.call(this,t);var e=new jM(this.type,this.options.key);this._edeState=e}CM(HM,LM);var qM=HM;HM.create=function(t){return new HM(t)},HM.prototype._update=function(t,e,r,i){var n=this._edeState;n.ciphers[0]._update(t,e,r,i),n.ciphers[1]._update(r,i,r,i),n.ciphers[2]._update(r,i,r,i)},HM.prototype._pad=DM.prototype._pad,HM.prototype._unpad=DM.prototype._unpad,pM.utils=mM,pM.Cipher=MM,pM.DES=TM,pM.CBC=PM,pM.EDE=qM;var KM=vs,FM=pM,zM=Pt.exports,WM=xt.exports.Buffer,VM={"des-ede3-cbc":FM.CBC.instantiate(FM.EDE),"des-ede3":FM.EDE,"des-ede-cbc":FM.CBC.instantiate(FM.EDE),"des-ede":FM.EDE,"des-cbc":FM.CBC.instantiate(FM.DES),"des-ecb":FM.DES};VM.des=VM["des-cbc"],VM.des3=VM["des-ede3-cbc"];var ZM=GM;function GM(t){KM.call(this);var e,r=t.mode.toLowerCase(),i=VM[r];e=t.decrypt?"decrypt":"encrypt";var n=t.key;WM.isBuffer(n)||(n=WM.from(n)),"des-ede"!==r&&"des-ede-cbc"!==r||(n=WM.concat([n,n.slice(0,8)]));var o=t.iv;WM.isBuffer(o)||(o=WM.from(o)),this._des=i.create({key:n,iv:o,type:e})}zM(GM,KM),GM.prototype._update=function(t){return WM.from(this._des.update(t))},GM.prototype._final=function(){return WM.from(this._des.final())};var $M={},XM={},YM={encrypt:function(t,e){return t._cipher.encryptBlock(e)},decrypt:function(t,e){return t._cipher.decryptBlock(e)}},JM={},QM=function(t,e){for(var r=Math.min(t.length,e.length),i=new z(r),n=0;n<r;++n)i[n]=t[n]^e[n];return i},t_=QM;JM.encrypt=function(t,e){var r=t_(e,t._prev);return t._prev=t._cipher.encryptBlock(r),t._prev},JM.decrypt=function(t,e){var r=t._prev;t._prev=e;var i=t._cipher.decryptBlock(e);return t_(i,r)};var e_={},r_=xt.exports.Buffer,i_=QM;function n_(t,e,r){var i=e.length,n=i_(e,t._cache);return t._cache=t._cache.slice(i),t._prev=r_.concat([t._prev,r?e:n]),n}e_.encrypt=function(t,e,r){for(var i,n=r_.allocUnsafe(0);e.length;){if(0===t._cache.length&&(t._cache=t._cipher.encryptBlock(t._prev),t._prev=r_.allocUnsafe(0)),!(t._cache.length<=e.length)){n=r_.concat([n,n_(t,e,r)]);break}i=t._cache.length,n=r_.concat([n,n_(t,e.slice(0,i),r)]),e=e.slice(i)}return n};var o_={},s_=xt.exports.Buffer;function h_(t,e,r){var i=t._cipher.encryptBlock(t._prev)[0]^e;return t._prev=s_.concat([t._prev.slice(1),s_.from([r?e:i])]),i}o_.encrypt=function(t,e,r){for(var i=e.length,n=s_.allocUnsafe(i),o=-1;++o<i;)n[o]=h_(t,e[o],r);return n};var a_={},u_=xt.exports.Buffer;function f_(t,e,r){for(var i,n,o=-1,s=0;++o<8;)i=e&1<<7-o?128:0,s+=(128&(n=t._cipher.encryptBlock(t._prev)[0]^i))>>o%8,t._prev=l_(t._prev,r?i:n);return s}function l_(t,e){var r=t.length,i=-1,n=u_.allocUnsafe(t.length);for(t=u_.concat([t,u_.from([e])]);++i<r;)n[i]=t[i]<<1|t[i+1]>>7;return n}a_.encrypt=function(t,e,r){for(var i=e.length,n=u_.allocUnsafe(i),o=-1;++o<i;)n[o]=f_(t,e[o],r);return n};var c_={},d_=QM;function p_(t){return t._prev=t._cipher.encryptBlock(t._prev),t._prev}c_.encrypt=function(t,e){for(;t._cache.length<e.length;)t._cache=z.concat([t._cache,p_(t)]);var r=t._cache.slice(0,e.length);return t._cache=t._cache.slice(e.length),d_(e,r)};var m_={};var g_=function(t){for(var e,r=t.length;r--;){if(255!==(e=t.readUInt8(r))){e++,t.writeUInt8(e,r);break}t.writeUInt8(0,r)}},y_=QM,v_=xt.exports.Buffer,b_=g_;function w_(t){var e=t._cipher.encryptBlockRaw(t._prev);return b_(t._prev),e}m_.encrypt=function(t,e){var r=Math.ceil(e.length/16),i=t._cache.length;t._cache=v_.concat([t._cache,v_.allocUnsafe(16*r)]);for(var n=0;n<r;n++){var o=w_(t),s=i+16*n;t._cache.writeUInt32BE(o[0],s+0),t._cache.writeUInt32BE(o[1],s+4),t._cache.writeUInt32BE(o[2],s+8),t._cache.writeUInt32BE(o[3],s+12)}var h=t._cache.slice(0,e.length);return t._cache=t._cache.slice(e.length),y_(e,h)};var M_={"aes-128-ecb":{cipher:"AES",key:128,iv:0,mode:"ECB",type:"block"},"aes-192-ecb":{cipher:"AES",key:192,iv:0,mode:"ECB",type:"block"},"aes-256-ecb":{cipher:"AES",key:256,iv:0,mode:"ECB",type:"block"},"aes-128-cbc":{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},"aes-192-cbc":{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},"aes-256-cbc":{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},aes128:{cipher:"AES",key:128,iv:16,mode:"CBC",type:"block"},aes192:{cipher:"AES",key:192,iv:16,mode:"CBC",type:"block"},aes256:{cipher:"AES",key:256,iv:16,mode:"CBC",type:"block"},"aes-128-cfb":{cipher:"AES",key:128,iv:16,mode:"CFB",type:"stream"},"aes-192-cfb":{cipher:"AES",key:192,iv:16,mode:"CFB",type:"stream"},"aes-256-cfb":{cipher:"AES",key:256,iv:16,mode:"CFB",type:"stream"},"aes-128-cfb8":{cipher:"AES",key:128,iv:16,mode:"CFB8",type:"stream"},"aes-192-cfb8":{cipher:"AES",key:192,iv:16,mode:"CFB8",type:"stream"},"aes-256-cfb8":{cipher:"AES",key:256,iv:16,mode:"CFB8",type:"stream"},"aes-128-cfb1":{cipher:"AES",key:128,iv:16,mode:"CFB1",type:"stream"},"aes-192-cfb1":{cipher:"AES",key:192,iv:16,mode:"CFB1",type:"stream"},"aes-256-cfb1":{cipher:"AES",key:256,iv:16,mode:"CFB1",type:"stream"},"aes-128-ofb":{cipher:"AES",key:128,iv:16,mode:"OFB",type:"stream"},"aes-192-ofb":{cipher:"AES",key:192,iv:16,mode:"OFB",type:"stream"},"aes-256-ofb":{cipher:"AES",key:256,iv:16,mode:"OFB",type:"stream"},"aes-128-ctr":{cipher:"AES",key:128,iv:16,mode:"CTR",type:"stream"},"aes-192-ctr":{cipher:"AES",key:192,iv:16,mode:"CTR",type:"stream"},"aes-256-ctr":{cipher:"AES",key:256,iv:16,mode:"CTR",type:"stream"},"aes-128-gcm":{cipher:"AES",key:128,iv:12,mode:"GCM",type:"auth"},"aes-192-gcm":{cipher:"AES",key:192,iv:12,mode:"GCM",type:"auth"},"aes-256-gcm":{cipher:"AES",key:256,iv:12,mode:"GCM",type:"auth"}},__={ECB:YM,CBC:JM,CFB:e_,CFB8:o_,CFB1:a_,OFB:c_,CTR:m_,GCM:m_},S_=M_;for(var E_ in S_)S_[E_].module=__[S_[E_].mode];var k_=S_,A_={},I_=xt.exports.Buffer;function T_(t){I_.isBuffer(t)||(t=I_.from(t));for(var e=t.length/4|0,r=new Array(e),i=0;i<e;i++)r[i]=t.readUInt32BE(4*i);return r}function O_(t){for(;0<t.length;t++)t[0]=0}function P_(t,e,r,i,n){for(var o,s,h,a,u=r[0],f=r[1],l=r[2],c=r[3],d=t[0]^e[0],p=t[1]^e[1],m=t[2]^e[2],g=t[3]^e[3],y=4,v=1;v<n;v++)o=u[d>>>24]^f[p>>>16&255]^l[m>>>8&255]^c[255&g]^e[y++],s=u[p>>>24]^f[m>>>16&255]^l[g>>>8&255]^c[255&d]^e[y++],h=u[m>>>24]^f[g>>>16&255]^l[d>>>8&255]^c[255&p]^e[y++],a=u[g>>>24]^f[d>>>16&255]^l[p>>>8&255]^c[255&m]^e[y++],d=o,p=s,m=h,g=a;return o=(i[d>>>24]<<24|i[p>>>16&255]<<16|i[m>>>8&255]<<8|i[255&g])^e[y++],s=(i[p>>>24]<<24|i[m>>>16&255]<<16|i[g>>>8&255]<<8|i[255&d])^e[y++],h=(i[m>>>24]<<24|i[g>>>16&255]<<16|i[d>>>8&255]<<8|i[255&p])^e[y++],a=(i[g>>>24]<<24|i[d>>>16&255]<<16|i[p>>>8&255]<<8|i[255&m])^e[y++],[o>>>=0,s>>>=0,h>>>=0,a>>>=0]}var x_=[0,1,2,4,8,16,32,64,128,27,54],B_=function(){for(var t=new Array(256),e=0;e<256;e++)t[e]=e<128?e<<1:e<<1^283;for(var r=[],i=[],n=[[],[],[],[]],o=[[],[],[],[]],s=0,h=0,a=0;a<256;++a){var u=h^h<<1^h<<2^h<<3^h<<4;u=u>>>8^255&u^99,r[s]=u,i[u]=s;var f=t[s],l=t[f],c=t[l],d=257*t[u]^16843008*u;n[0][s]=d<<24|d>>>8,n[1][s]=d<<16|d>>>16,n[2][s]=d<<8|d>>>24,n[3][s]=d,d=16843009*c^65537*l^257*f^16843008*s,o[0][u]=d<<24|d>>>8,o[1][u]=d<<16|d>>>16,o[2][u]=d<<8|d>>>24,o[3][u]=d,0===s?s=h=1:(s=f^t[t[t[c^f]]],h^=t[t[h]])}return{SBOX:r,INV_SBOX:i,SUB_MIX:n,INV_SUB_MIX:o}}();function R_(t){this._key=T_(t),this._reset()}R_.blockSize=16,R_.keySize=32,R_.prototype.blockSize=R_.blockSize,R_.prototype.keySize=R_.keySize,R_.prototype._reset=function(){for(var t=this._key,e=t.length,r=e+6,i=4*(r+1),n=[],o=0;o<e;o++)n[o]=t[o];for(o=e;o<i;o++){var s=n[o-1];o%e==0?(s=s<<8|s>>>24,s=B_.SBOX[s>>>24]<<24|B_.SBOX[s>>>16&255]<<16|B_.SBOX[s>>>8&255]<<8|B_.SBOX[255&s],s^=x_[o/e|0]<<24):e>6&&o%e==4&&(s=B_.SBOX[s>>>24]<<24|B_.SBOX[s>>>16&255]<<16|B_.SBOX[s>>>8&255]<<8|B_.SBOX[255&s]),n[o]=n[o-e]^s}for(var h=[],a=0;a<i;a++){var u=i-a,f=n[u-(a%4?0:4)];h[a]=a<4||u<=4?f:B_.INV_SUB_MIX[0][B_.SBOX[f>>>24]]^B_.INV_SUB_MIX[1][B_.SBOX[f>>>16&255]]^B_.INV_SUB_MIX[2][B_.SBOX[f>>>8&255]]^B_.INV_SUB_MIX[3][B_.SBOX[255&f]]}this._nRounds=r,this._keySchedule=n,this._invKeySchedule=h},R_.prototype.encryptBlockRaw=function(t){return P_(t=T_(t),this._keySchedule,B_.SUB_MIX,B_.SBOX,this._nRounds)},R_.prototype.encryptBlock=function(t){var e=this.encryptBlockRaw(t),r=I_.allocUnsafe(16);return r.writeUInt32BE(e[0],0),r.writeUInt32BE(e[1],4),r.writeUInt32BE(e[2],8),r.writeUInt32BE(e[3],12),r},R_.prototype.decryptBlock=function(t){var e=(t=T_(t))[1];t[1]=t[3],t[3]=e;var r=P_(t,this._invKeySchedule,B_.INV_SUB_MIX,B_.INV_SBOX,this._nRounds),i=I_.allocUnsafe(16);return i.writeUInt32BE(r[0],0),i.writeUInt32BE(r[3],4),i.writeUInt32BE(r[2],8),i.writeUInt32BE(r[1],12),i},R_.prototype.scrub=function(){O_(this._keySchedule),O_(this._invKeySchedule),O_(this._key)},A_.AES=R_;var N_=xt.exports.Buffer,U_=N_.alloc(16,0);function C_(t){var e=N_.allocUnsafe(16);return e.writeUInt32BE(t[0]>>>0,0),e.writeUInt32BE(t[1]>>>0,4),e.writeUInt32BE(t[2]>>>0,8),e.writeUInt32BE(t[3]>>>0,12),e}function L_(t){this.h=t,this.state=N_.alloc(16,0),this.cache=N_.allocUnsafe(0)}L_.prototype.ghash=function(t){for(var e=-1;++e<t.length;)this.state[e]^=t[e];this._multiply()},L_.prototype._multiply=function(){for(var t,e,r,i=[(t=this.h).readUInt32BE(0),t.readUInt32BE(4),t.readUInt32BE(8),t.readUInt32BE(12)],n=[0,0,0,0],o=-1;++o<128;){for(0!=(this.state[~~(o/8)]&1<<7-o%8)&&(n[0]^=i[0],n[1]^=i[1],n[2]^=i[2],n[3]^=i[3]),r=0!=(1&i[3]),e=3;e>0;e--)i[e]=i[e]>>>1|(1&i[e-1])<<31;i[0]=i[0]>>>1,r&&(i[0]=i[0]^225<<24)}this.state=C_(n)},L_.prototype.update=function(t){var e;for(this.cache=N_.concat([this.cache,t]);this.cache.length>=16;)e=this.cache.slice(0,16),this.cache=this.cache.slice(16),this.ghash(e)},L_.prototype.final=function(t,e){return this.cache.length&&this.ghash(N_.concat([this.cache,U_],16)),this.ghash(C_([0,t,0,e])),this.state};var D_=L_,j_=A_,H_=xt.exports.Buffer,q_=vs,K_=Pt.exports,F_=D_,z_=QM,W_=g_;function V_(t,e,r,i){q_.call(this);var n=H_.alloc(4,0);this._cipher=new j_.AES(e);var o=this._cipher.encryptBlock(n);this._ghash=new F_(o),r=function(t,e,r){if(12===e.length)return t._finID=H_.concat([e,H_.from([0,0,0,1])]),H_.concat([e,H_.from([0,0,0,2])]);var i=new F_(r),n=e.length,o=n%16;i.update(e),o&&(o=16-o,i.update(H_.alloc(o,0))),i.update(H_.alloc(8,0));var s=8*n,h=H_.alloc(8);h.writeUIntBE(s,0,8),i.update(h),t._finID=i.state;var a=H_.from(t._finID);return W_(a),a}(this,r,o),this._prev=H_.from(r),this._cache=H_.allocUnsafe(0),this._secCache=H_.allocUnsafe(0),this._decrypt=i,this._alen=0,this._len=0,this._mode=t,this._authTag=null,this._called=!1}K_(V_,q_),V_.prototype._update=function(t){if(!this._called&&this._alen){var e=16-this._alen%16;e<16&&(e=H_.alloc(e,0),this._ghash.update(e))}this._called=!0;var r=this._mode.encrypt(this,t);return this._decrypt?this._ghash.update(t):this._ghash.update(r),this._len+=t.length,r},V_.prototype._final=function(){if(this._decrypt&&!this._authTag)throw new Error("Unsupported state or unable to authenticate data");var t=z_(this._ghash.final(8*this._alen,8*this._len),this._cipher.encryptBlock(this._finID));if(this._decrypt&&function(t,e){var r=0;t.length!==e.length&&r++;for(var i=Math.min(t.length,e.length),n=0;n<i;++n)r+=t[n]^e[n];return r}(t,this._authTag))throw new Error("Unsupported state or unable to authenticate data");this._authTag=t,this._cipher.scrub()},V_.prototype.getAuthTag=function(){if(this._decrypt||!H_.isBuffer(this._authTag))throw new Error("Attempting to get auth tag in unsupported state");return this._authTag},V_.prototype.setAuthTag=function(t){if(!this._decrypt)throw new Error("Attempting to set auth tag in unsupported state");this._authTag=t},V_.prototype.setAAD=function(t){if(this._called)throw new Error("Attempting to set AAD in unsupported state");this._ghash.update(t),this._alen+=t.length};var Z_=V_,G_=A_,$_=xt.exports.Buffer,X_=vs;function Y_(t,e,r,i){X_.call(this),this._cipher=new G_.AES(e),this._prev=$_.from(r),this._cache=$_.allocUnsafe(0),this._secCache=$_.allocUnsafe(0),this._decrypt=i,this._mode=t}(0,Pt.exports)(Y_,X_),Y_.prototype._update=function(t){return this._mode.encrypt(this,t,this._decrypt)},Y_.prototype._final=function(){this._cipher.scrub()};var J_=Y_,Q_=xt.exports.Buffer,tS=Un;var eS=function(t,e,r,i){if(Q_.isBuffer(t)||(t=Q_.from(t,"binary")),e&&(Q_.isBuffer(e)||(e=Q_.from(e,"binary")),8!==e.length))throw new RangeError("salt should be Buffer with 8 byte length");for(var n=r/8,o=Q_.alloc(n),s=Q_.alloc(i||0),h=Q_.alloc(0);n>0||i>0;){var a=new tS;a.update(h),a.update(t),e&&a.update(e),h=a.digest();var u=0;if(n>0){var f=o.length-n;u=Math.min(n,h.length),h.copy(o,f,0,u),n-=u}if(u<h.length&&i>0){var l=s.length-i,c=Math.min(i,h.length-u);h.copy(s,l,u,u+c),i-=c}}return h.fill(0),{key:o,iv:s}},rS=k_,iS=Z_,nS=xt.exports.Buffer,oS=J_,sS=vs,hS=A_,aS=eS;function uS(t,e,r){sS.call(this),this._cache=new lS,this._cipher=new hS.AES(e),this._prev=nS.from(r),this._mode=t,this._autopadding=!0}(0,Pt.exports)(uS,sS),uS.prototype._update=function(t){var e,r;this._cache.add(t);for(var i=[];e=this._cache.get();)r=this._mode.encrypt(this,e),i.push(r);return nS.concat(i)};var fS=nS.alloc(16,16);function lS(){this.cache=nS.allocUnsafe(0)}function cS(t,e,r){var i=rS[t.toLowerCase()];if(!i)throw new TypeError("invalid suite type");if("string"==typeof e&&(e=nS.from(e)),e.length!==i.key/8)throw new TypeError("invalid key length "+e.length);if("string"==typeof r&&(r=nS.from(r)),"GCM"!==i.mode&&r.length!==i.iv)throw new TypeError("invalid iv length "+r.length);return"stream"===i.type?new oS(i.module,e,r):"auth"===i.type?new iS(i.module,e,r):new uS(i.module,e,r)}uS.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return t=this._mode.encrypt(this,t),this._cipher.scrub(),t;if(!t.equals(fS))throw this._cipher.scrub(),new Error("data not multiple of block length")},uS.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},lS.prototype.add=function(t){this.cache=nS.concat([this.cache,t])},lS.prototype.get=function(){if(this.cache.length>15){var t=this.cache.slice(0,16);return this.cache=this.cache.slice(16),t}return null},lS.prototype.flush=function(){for(var t=16-this.cache.length,e=nS.allocUnsafe(t),r=-1;++r<t;)e.writeUInt8(t,r);return nS.concat([this.cache,e])},XM.createCipheriv=cS,XM.createCipher=function(t,e){var r=rS[t.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var i=aS(e,!1,r.key,r.iv);return cS(t,i.key,i.iv)};var dS={},pS=Z_,mS=xt.exports.Buffer,gS=k_,yS=J_,vS=vs,bS=A_,wS=eS;function MS(t,e,r){vS.call(this),this._cache=new _S,this._last=void 0,this._cipher=new bS.AES(e),this._prev=mS.from(r),this._mode=t,this._autopadding=!0}function _S(){this.cache=mS.allocUnsafe(0)}function SS(t,e,r){var i=gS[t.toLowerCase()];if(!i)throw new TypeError("invalid suite type");if("string"==typeof r&&(r=mS.from(r)),"GCM"!==i.mode&&r.length!==i.iv)throw new TypeError("invalid iv length "+r.length);if("string"==typeof e&&(e=mS.from(e)),e.length!==i.key/8)throw new TypeError("invalid key length "+e.length);return"stream"===i.type?new yS(i.module,e,r,!0):"auth"===i.type?new pS(i.module,e,r,!0):new MS(i.module,e,r)}(0,Pt.exports)(MS,vS),MS.prototype._update=function(t){var e,r;this._cache.add(t);for(var i=[];e=this._cache.get(this._autopadding);)r=this._mode.decrypt(this,e),i.push(r);return mS.concat(i)},MS.prototype._final=function(){var t=this._cache.flush();if(this._autopadding)return function(t){var e=t[15];if(e<1||e>16)throw new Error("unable to decrypt data");var r=-1;for(;++r<e;)if(t[r+(16-e)]!==e)throw new Error("unable to decrypt data");if(16===e)return;return t.slice(0,16-e)}(this._mode.decrypt(this,t));if(t)throw new Error("data not multiple of block length")},MS.prototype.setAutoPadding=function(t){return this._autopadding=!!t,this},_S.prototype.add=function(t){this.cache=mS.concat([this.cache,t])},_S.prototype.get=function(t){var e;if(t){if(this.cache.length>16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e}else if(this.cache.length>=16)return e=this.cache.slice(0,16),this.cache=this.cache.slice(16),e;return null},_S.prototype.flush=function(){if(this.cache.length)return this.cache},dS.createDecipher=function(t,e){var r=gS[t.toLowerCase()];if(!r)throw new TypeError("invalid suite type");var i=wS(e,!1,r.key,r.iv);return SS(t,i.key,i.iv)},dS.createDecipheriv=SS;var ES=XM,kS=dS,AS=M_;$M.createCipher=$M.Cipher=ES.createCipher,$M.createCipheriv=$M.Cipheriv=ES.createCipheriv,$M.createDecipher=$M.Decipher=kS.createDecipher,$M.createDecipheriv=$M.Decipheriv=kS.createDecipheriv,$M.listCiphers=$M.getCiphers=function(){return Object.keys(AS)};var IS={};!function(t){t["des-ecb"]={key:8,iv:0},t["des-cbc"]=t.des={key:8,iv:8},t["des-ede3-cbc"]=t.des3={key:24,iv:8},t["des-ede3"]={key:24,iv:0},t["des-ede-cbc"]={key:16,iv:8},t["des-ede"]={key:16,iv:0}}(IS);var TS=ZM,OS=$M,PS=k_,xS=IS,BS=eS;function RS(t,e,r){if(t=t.toLowerCase(),PS[t])return OS.createCipheriv(t,e,r);if(xS[t])return new TS({key:e,iv:r,mode:t});throw new TypeError("invalid suite type")}function NS(t,e,r){if(t=t.toLowerCase(),PS[t])return OS.createDecipheriv(t,e,r);if(xS[t])return new TS({key:e,iv:r,mode:t,decrypt:!0});throw new TypeError("invalid suite type")}dM.createCipher=dM.Cipher=function(t,e){var r,i;if(t=t.toLowerCase(),PS[t])r=PS[t].key,i=PS[t].iv;else{if(!xS[t])throw new TypeError("invalid suite type");r=8*xS[t].key,i=xS[t].iv}var n=BS(e,!1,r,i);return RS(t,n.key,n.iv)},dM.createCipheriv=dM.Cipheriv=RS,dM.createDecipher=dM.Decipher=function(t,e){var r,i;if(t=t.toLowerCase(),PS[t])r=PS[t].key,i=PS[t].iv;else{if(!xS[t])throw new TypeError("invalid suite type");r=8*xS[t].key,i=xS[t].iv}var n=BS(e,!1,r,i);return NS(t,n.key,n.iv)},dM.createDecipheriv=dM.Decipheriv=NS,dM.listCiphers=dM.getCiphers=function(){return Object.keys(xS).concat(OS.getCiphers())};var US={},CS={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Re.Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s<o;s++){var h=t.charCodeAt(s)-48;n*=i,n+=h>=49?h-49+10:h>=17?h-17+10:h}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?u[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);i=(p=p.idivn(d)).isZero()?m+i:u[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,h,a="le"===e,u=new t(o),f=this.clone();if(a){for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[h]=s;for(;h<o;h++)u[h]=0}else{for(h=0;h<o-n;h++)u[h]=0;for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[o-h-1]=s}return u},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this.strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=c),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?c(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e)},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i<t;i++)e[i]=this.revBin(i,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var i=0,n=0;n<e;n++)i|=(1&t)<<e-n-1,t>>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s<o;s++)i[s]=e[t[s]],n[s]=r[t[s]]},m.prototype.transform=function(t,e,r,i,n,o){this.permute(o,t,e,r,i,n);for(var s=1;s<n;s<<=1)for(var h=s<<1,a=Math.cos(2*Math.PI/h),u=Math.sin(2*Math.PI/h),f=0;f<n;f+=h)for(var l=a,c=u,d=0;d<s;d++){var p=r[f+d],m=i[f+d],g=r[f+d+s],y=i[f+d+s],v=l*g-c*y;y=l*y+c*g,g=v,r[f+d]=p+g,i[f+d]=m+y,r[f+d+s]=p-g,i[f+d+s]=m-y,d!==h&&(v=a*l-u*c,c=a*c+u*l,l=v)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=t[i];t[i]=t[r-i-1],t[r-i-1]=n,n=e[i],e[i]=-e[r-i-1],e[r-i-1]=-n}},m.prototype.normalize13b=function(t,e){for(var r=0,i=0;i<e/2;i++){var n=8192*Math.round(t[2*i+1]/e)+Math.round(t[2*i]/e)+r;t[i]=67108863&n,r=n<67108864?0:n/67108864|0}return t},m.prototype.convert13b=function(t,e,i,n){for(var o=0,s=0;s<e;s++)o+=0|t[s],i[2*s]=8191&o,o>>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<n;++s)i[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var i=2*this.guessLen13b(t.length,e.length),n=this.makeRBT(i),o=this.stub(i),s=new Array(i),h=new Array(i),a=new Array(i),u=new Array(i),f=new Array(i),l=new Array(i),c=r.words;c.length=i,this.convert13b(t.words,t.length,s,i),this.convert13b(e.words,e.length,u,i),this.transform(s,o,h,a,i,n),this.transform(u,o,f,l,i,n);for(var d=0;d<i;d++){var p=h[d]*f[d]-a[d]*l[d];a[d]=h[d]*l[d]+a[d]*f[d],h[d]=p}return this.conjugate(h,a,i),this.transform(h,a,c,o,i,n),this.conjugate(c,o,i),this.normalize13b(c,i),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),p(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,i=0;i<this.length;i++){var n=(0|this.words[i])*t,o=(67108863&n)+(67108863&e);e>>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=(t.words[i]&1<<n)>>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this.strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,y),i(w,y),i(M,y),M.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new S(t)},i(S,_),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(CS,A);var LS={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Re.Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s<o;s++){var h=t.charCodeAt(s)-48;n*=i,n+=h>=49?h-49+10:h>=17?h-17+10:h}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?u[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);i=(p=p.idivn(d)).isZero()?m+i:u[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,h,a="le"===e,u=new t(o),f=this.clone();if(a){for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[h]=s;for(;h<o;h++)u[h]=0}else{for(h=0;h<o-n;h++)u[h]=0;for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[o-h-1]=s}return u},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this.strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=c),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?c(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e)},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i<t;i++)e[i]=this.revBin(i,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var i=0,n=0;n<e;n++)i|=(1&t)<<e-n-1,t>>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s<o;s++)i[s]=e[t[s]],n[s]=r[t[s]]},m.prototype.transform=function(t,e,r,i,n,o){this.permute(o,t,e,r,i,n);for(var s=1;s<n;s<<=1)for(var h=s<<1,a=Math.cos(2*Math.PI/h),u=Math.sin(2*Math.PI/h),f=0;f<n;f+=h)for(var l=a,c=u,d=0;d<s;d++){var p=r[f+d],m=i[f+d],g=r[f+d+s],y=i[f+d+s],v=l*g-c*y;y=l*y+c*g,g=v,r[f+d]=p+g,i[f+d]=m+y,r[f+d+s]=p-g,i[f+d+s]=m-y,d!==h&&(v=a*l-u*c,c=a*c+u*l,l=v)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=t[i];t[i]=t[r-i-1],t[r-i-1]=n,n=e[i],e[i]=-e[r-i-1],e[r-i-1]=-n}},m.prototype.normalize13b=function(t,e){for(var r=0,i=0;i<e/2;i++){var n=8192*Math.round(t[2*i+1]/e)+Math.round(t[2*i]/e)+r;t[i]=67108863&n,r=n<67108864?0:n/67108864|0}return t},m.prototype.convert13b=function(t,e,i,n){for(var o=0,s=0;s<e;s++)o+=0|t[s],i[2*s]=8191&o,o>>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<n;++s)i[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var i=2*this.guessLen13b(t.length,e.length),n=this.makeRBT(i),o=this.stub(i),s=new Array(i),h=new Array(i),a=new Array(i),u=new Array(i),f=new Array(i),l=new Array(i),c=r.words;c.length=i,this.convert13b(t.words,t.length,s,i),this.convert13b(e.words,e.length,u,i),this.transform(s,o,h,a,i,n),this.transform(u,o,f,l,i,n);for(var d=0;d<i;d++){var p=h[d]*f[d]-a[d]*l[d];a[d]=h[d]*l[d]+a[d]*f[d],h[d]=p}return this.conjugate(h,a,i),this.transform(h,a,c,o,i,n),this.conjugate(c,o,i),this.normalize13b(c,i),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),p(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,i=0;i<this.length;i++){var n=(0|this.words[i])*t,o=(67108863&n)+(67108863&e);e>>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=(t.words[i]&1<<n)>>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this.strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,y),i(w,y),i(M,y),M.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new S(t)},i(S,_),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(LS,A);var DS=LS.exports,jS=hh;function HS(t){this.rand=t||new jS.Rand}var qS=HS;HS.create=function(t){return new HS(t)},HS.prototype._randbelow=function(t){var e=t.bitLength(),r=Math.ceil(e/8);do{var i=new DS(this.rand.generate(r))}while(i.cmp(t)>=0);return i},HS.prototype._randrange=function(t,e){var r=e.sub(t);return t.add(this._randbelow(r))},HS.prototype.test=function(t,e,r){var i=t.bitLength(),n=DS.mont(t),o=new DS(1).toRed(n);e||(e=Math.max(1,i/48|0));for(var s=t.subn(1),h=0;!s.testn(h);h++);for(var a=t.shrn(h),u=s.toRed(n);e>0;e--){var f=this._randrange(new DS(2),s);r&&r(f);var l=f.toRed(n).redPow(a);if(0!==l.cmp(o)&&0!==l.cmp(u)){for(var c=1;c<h;c++){if(0===(l=l.redSqr()).cmp(o))return!1;if(0===l.cmp(u))break}if(c===h)return!1}}return!0},HS.prototype.getDivisor=function(t,e){var r=t.bitLength(),i=DS.mont(t),n=new DS(1).toRed(i);e||(e=Math.max(1,r/48|0));for(var o=t.subn(1),s=0;!o.testn(s);s++);for(var h=t.shrn(s),a=o.toRed(i);e>0;e--){var u=this._randrange(new DS(2),o),f=t.gcd(u);if(0!==f.cmpn(1))return f;var l=u.toRed(i).redPow(h);if(0!==l.cmp(n)&&0!==l.cmp(a)){for(var c=1;c<s;c++){if(0===(l=l.redSqr()).cmp(n))return l.fromRed().subn(1).gcd(t);if(0===l.cmp(a))break}if(c===s)return(l=l.redSqr()).fromRed().subn(1).gcd(t)}}return!1};var KS=vp.exports,FS=iE;iE.simpleSieve=eE,iE.fermatTest=rE;var zS=CS.exports,WS=new zS(24),VS=new qS,ZS=new zS(1),GS=new zS(2),$S=new zS(5);new zS(16),new zS(8);var XS=new zS(10),YS=new zS(3);new zS(7);var JS=new zS(11),QS=new zS(4);new zS(12);var tE=null;function eE(t){for(var e=function(){if(null!==tE)return tE;var t=[];t[0]=2;for(var e=1,r=3;r<1048576;r+=2){for(var i=Math.ceil(Math.sqrt(r)),n=0;n<e&&t[n]<=i&&r%t[n]!=0;n++);e!==n&&t[n]<=i||(t[e++]=r)}return tE=t,t}(),r=0;r<e.length;r++)if(0===t.modn(e[r]))return 0===t.cmpn(e[r]);return!0}function rE(t){var e=zS.mont(t);return 0===GS.toRed(e).redPow(t.subn(1)).fromRed().cmpn(1)}function iE(t,e){if(t<16)return new zS(2===e||5===e?[140,123]:[140,39]);var r,i;for(e=new zS(e);;){for(r=new zS(KS(Math.ceil(t/8)));r.bitLength()>t;)r.ishrn(1);if(r.isEven()&&r.iadd(ZS),r.testn(1)||r.iadd(GS),e.cmp(GS)){if(!e.cmp($S))for(;r.mod(XS).cmp(YS);)r.iadd(QS)}else for(;r.mod(WS).cmp(JS);)r.iadd(QS);if(eE(i=r.shrn(1))&&eE(r)&&rE(i)&&rE(r)&&VS.test(i)&&VS.test(r))return r}}var nE={modp1:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a63a3620ffffffffffffffff"},modp2:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece65381ffffffffffffffff"},modp5:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca237327ffffffffffffffff"},modp14:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aacaa68ffffffffffffffff"},modp15:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a93ad2caffffffffffffffff"},modp16:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c934063199ffffffffffffffff"},modp17:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dcc4024ffffffffffffffff"},modp18:{gen:"02",prime:"ffffffffffffffffc90fdaa22168c234c4c6628b80dc1cd129024e088a67cc74020bbea63b139b22514a08798e3404ddef9519b3cd3a431b302b0a6df25f14374fe1356d6d51c245e485b576625e7ec6f44c42e9a637ed6b0bff5cb6f406b7edee386bfb5a899fa5ae9f24117c4b1fe649286651ece45b3dc2007cb8a163bf0598da48361c55d39a69163fa8fd24cf5f83655d23dca3ad961c62f356208552bb9ed529077096966d670c354e4abc9804f1746c08ca18217c32905e462e36ce3be39e772c180e86039b2783a2ec07a28fb5c55df06f4c52c9de2bcbf6955817183995497cea956ae515d2261898fa051015728e5a8aaac42dad33170d04507a33a85521abdf1cba64ecfb850458dbef0a8aea71575d060c7db3970f85a6e1e4c7abf5ae8cdb0933d71e8c94e04a25619dcee3d2261ad2ee6bf12ffa06d98a0864d87602733ec86a64521f2b18177b200cbbe117577a615d6c770988c0bad946e208e24fa074e5ab3143db5bfce0fd108e4b82d120a92108011a723c12a787e6d788719a10bdba5b2699c327186af4e23c1a946834b6150bda2583e9ca2ad44ce8dbbbc2db04de8ef92e8efc141fbecaa6287c59474e6bc05d99b2964fa090c3a2233ba186515be7ed1f612970cee2d7afb81bdd762170481cd0069127d5b05aa993b4ea988d8fddc186ffb7dc90a6c08f4df435c93402849236c3fab4d27c7026c1d4dcb2602646dec9751e763dba37bdf8ff9406ad9e530ee5db382f413001aeb06a53ed9027d831179727b0865a8918da3edbebcf9b14ed44ce6cbaced4bb1bdb7f1447e6cc254b332051512bd7af426fb8f401378cd2bf5983ca01c64b92ecf032ea15d1721d03f482d7ce6e74fef6d55e702f46980c82b5a84031900b1c9e59e7c97fbec7e8f323a97a7e36cc88be0f1d45b7ff585ac54bd407b22b4154aacc8f6d7ebf48e1d814cc5ed20f8037e0a79715eef29be32806a1d58bb7c5da76f550aa3d8a1fbff0eb19ccb1a313d55cda56c9ec2ef29632387fe8d76e3c0468043e8f663f4860ee12bf2d5b0b7474d6e694f91e6dbe115974a3926f12fee5e438777cb6a932df8cd8bec4d073b931ba3bc832b68d9dd300741fa7bf8afc47ed2576f6936ba424663aab639c5ae4f5683423b4742bf1c978238f16cbe39d652de3fdb8befc848ad922222e04a4037c0713eb57a81a23f0c73473fc646cea306b4bcbc8862f8385ddfa9d4b7fa2c087e879683303ed5bdd3a062b3cf5b3a278a66d2a13f83f44f82ddf310ee074ab6a364597e899a0255dc164f31cc50846851df9ab48195ded7ea1b1d510bd7ee74d73faf36bc31ecfa268359046f4eb879f924009438b481c6cd7889a002ed5ee382bc9190da6fc026e479558e4475677e9aa9e3050e2765694dfc81f56e880b96e7160c980dd98edd3dfffffffffffffffff"}},oE=CS.exports,sE=new qS,hE=new oE(24),aE=new oE(11),uE=new oE(10),fE=new oE(3),lE=new oE(7),cE=FS,dE=vp.exports,pE=vE;function mE(t,e){return e=e||"utf8",At(t)||(t=new z(t,e)),this._pub=new oE(t),this}function gE(t,e){return e=e||"utf8",At(t)||(t=new z(t,e)),this._priv=new oE(t),this}var yE={};function vE(t,e,r){this.setGenerator(e),this.__prime=new oE(t),this._prime=oE.mont(this.__prime),this._primeLen=t.length,this._pub=void 0,this._priv=void 0,this._primeCode=void 0,r?(this.setPublicKey=mE,this.setPrivateKey=gE):this._primeCode=8}function bE(t,e){var r=new z(t.toArray());return e?r.toString(e):r}Object.defineProperty(vE.prototype,"verifyError",{enumerable:!0,get:function(){return"number"!=typeof this._primeCode&&(this._primeCode=function(t,e){var r=e.toString("hex"),i=[r,t.toString(16)].join("_");if(i in yE)return yE[i];var n,o=0;if(t.isEven()||!cE.simpleSieve||!cE.fermatTest(t)||!sE.test(t))return o+=1,o+="02"===r||"05"===r?8:4,yE[i]=o,o;switch(sE.test(t.shrn(1))||(o+=2),r){case"02":t.mod(hE).cmp(aE)&&(o+=8);break;case"05":(n=t.mod(uE)).cmp(fE)&&n.cmp(lE)&&(o+=8);break;default:o+=4}return yE[i]=o,o}(this.__prime,this.__gen)),this._primeCode}}),vE.prototype.generateKeys=function(){return this._priv||(this._priv=new oE(dE(this._primeLen))),this._pub=this._gen.toRed(this._prime).redPow(this._priv).fromRed(),this.getPublicKey()},vE.prototype.computeSecret=function(t){var e=new z((t=(t=new oE(t)).toRed(this._prime)).redPow(this._priv).fromRed().toArray()),r=this.getPrime();if(e.length<r.length){var i=new z(r.length-e.length);i.fill(0),e=z.concat([i,e])}return e},vE.prototype.getPublicKey=function(t){return bE(this._pub,t)},vE.prototype.getPrivateKey=function(t){return bE(this._priv,t)},vE.prototype.getPrime=function(t){return bE(this.__prime,t)},vE.prototype.getGenerator=function(t){return bE(this._gen,t)},vE.prototype.setGenerator=function(t,e){return e=e||"utf8",At(t)||(t=new z(t,e)),this.__gen=t,this._gen=new oE(t),this};var wE=FS,ME=nE,_E=pE;var SE={binary:!0,hex:!0,base64:!0};US.DiffieHellmanGroup=US.createDiffieHellmanGroup=US.getDiffieHellman=function(t){var e=new z(ME[t].prime,"hex"),r=new z(ME[t].gen,"hex");return new _E(e,r)},US.createDiffieHellman=US.DiffieHellman=function t(e,r,i,n){return At(r)||void 0===SE[r]?t(e,"binary",r,i):(r=r||"binary",n=n||"binary",At(i=i||new z([2]))||(i=new z(i,n)),"number"==typeof e?new _E(wE(e,i),i,!0):(At(e)||(e=new z(e,r)),new _E(e,i,!0)))};var EE={exports:{}},kE={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Re.Buffer}catch(t){}function s(t,e){var i=t.charCodeAt(e);return i>=48&&i<=57?i-48:i>=65&&i<=70?i-55:i>=97&&i<=102?i-87:void r(!1,"Invalid character in "+t)}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,i,n){for(var o=0,s=0,h=Math.min(t.length,i),a=e;a<h;a++){var u=t.charCodeAt(a)-48;o*=n,s=u>=49?u-49+10:u>=17?u-17+10:u,r(u>=0&&s<n,"Invalid character"),o+=s}return o}function u(t,e){t.words=e.words,t.length=e.length,t.negative=e.negative,t.red=e.red}if(n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this._strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this._strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this._strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype._move=function(t){u(t,this)},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype._strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},"undefined"!=typeof Symbol&&"function"==typeof Symbol.for)try{n.prototype[Symbol.for("nodejs.util.inspect.custom")]=f}catch(t){n.prototype.inspect=f}else n.prototype.inspect=f;function f(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"}var l=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],c=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],d=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function p(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r._strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?l[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var u=c[t],f=d[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modrn(f).toString(t);i=(p=p.idivn(f)).isZero()?m+i:l[u-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16,2)},o&&(n.prototype.toBuffer=function(t,e){return this.toArrayLike(o,t,e)}),n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){this._strip();var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0");var s=function(t,e){return t.allocUnsafe?t.allocUnsafe(e):new t(e)}(t,o);return this["_toArrayLike"+("le"===e?"LE":"BE")](s,n),s},n.prototype._toArrayLikeLE=function(t,e){for(var r=0,i=0,n=0,o=0;n<this.length;n++){var s=this.words[n]<<o|i;t[r++]=255&s,r<t.length&&(t[r++]=s>>8&255),r<t.length&&(t[r++]=s>>16&255),6===o?(r<t.length&&(t[r++]=s>>24&255),i=0,o=0):(i=s>>>24,o+=2)}if(r<t.length)for(t[r++]=i;r<t.length;)t[r++]=0},n.prototype._toArrayLikeBE=function(t,e){for(var r=t.length-1,i=0,n=0,o=0;n<this.length;n++){var s=this.words[n]<<o|i;t[r--]=255&s,r>=0&&(t[r--]=s>>8&255),r>=0&&(t[r--]=s>>16&255),6===o?(r>=0&&(t[r--]=s>>24&255),i=0,o=0):(i=s>>>24,o+=2)}if(r>=0)for(t[r--]=i;r>=0;)t[r--]=0},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this._strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this._strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this._strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this._strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this._strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this._strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var m=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function g(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r._strip()}function y(t,e,r){return g(t,e,r)}Math.imul||(m=p),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?m(this,t,e):r<63?p(this,t,e):r<1024?g(this,t,e):y(this,t,e)},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),y(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){var e=t<0;e&&(t=-t),r("number"==typeof t),r(t<67108864);for(var i=0,n=0;n<this.length;n++){var o=(0|this.words[n])*t,s=(67108863&o)+(67108863&i);i>>=26,i+=o/67108864|0,i+=s>>>26,this.words[n]=67108863&s}return 0!==i&&(this.words[n]=i,this.length++),e?this.ineg():this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=t.words[i]>>>n&1}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this._strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this._strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this._strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<=t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this._strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this._strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this._strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h._strip(),i._strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modrn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modrn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modrn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var i=(1<<26)%t,n=0,o=this.length-1;o>=0;o--)n=(i*n+(0|this.words[o]))%t;return e?-n:n},n.prototype.modn=function(t){return this.modrn(t)},n.prototype.idivn=function(t){var e=t<0;e&&(t=-t),r(t<=67108863);for(var i=0,n=this.length-1;n>=0;n--){var o=(0|this.words[n])+67108864*i;this.words[n]=o/t|0,i=o%t}return this._strip(),e?this.ineg():this},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this._strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new E(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var v={k256:null,p224:null,p192:null,p25519:null};function b(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function w(){b.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function M(){b.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function _(){b.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function S(){b.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function E(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function k(t){E.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}b.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},b.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},b.prototype.split=function(t,e){t.iushrn(this.n,0,e)},b.prototype.imulK=function(t){return t.imul(this.k)},i(w,b),w.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},w.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(M,b),i(_,b),i(S,b),S.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(v[t])return v[t];var e;if("k256"===t)e=new w;else if("p224"===t)e=new M;else if("p192"===t)e=new _;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new S}return v[t]=e,e},E.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},E.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},E.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):(u(t,t.umod(this.m)._forceRed(this)),t)},E.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},E.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},E.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},E.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},E.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},E.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},E.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},E.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},E.prototype.isqr=function(t){return this.imul(t,t.clone())},E.prototype.sqr=function(t){return this.mul(t,t)},E.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},E.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},E.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},E.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},E.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new k(t)},i(k,E),k.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},k.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},k.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},k.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},k.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(kE,A);var AE=kE.exports,IE=vp.exports;function TE(t){var e,r=t.modulus.byteLength();do{e=new AE(IE(r))}while(e.cmp(t.modulus)>=0||!e.umod(t.prime1)||!e.umod(t.prime2));return e}function OE(t,e){var r=function(t){var e=TE(t);return{blinder:e.toRed(AE.mont(t.modulus)).redPow(new AE(t.publicExponent)).fromRed(),unblinder:e.invm(t.modulus)}}(e),i=e.modulus.byteLength(),n=new AE(t).mul(r.blinder).umod(e.modulus),o=n.toRed(AE.mont(e.prime1)),s=n.toRed(AE.mont(e.prime2)),h=e.coefficient,a=e.prime1,u=e.prime2,f=o.redPow(e.exponent1).fromRed(),l=s.redPow(e.exponent2).fromRed(),c=f.isub(l).imul(h).umod(a).imul(u);return l.iadd(c).imul(r.unblinder).umod(e.modulus).toArrayLike(z,"be",i)}OE.getr=TE;var PE=OE,xE={},BE={},RE={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Re.Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s<o;s++){var h=t.charCodeAt(s)-48;n*=i,n+=h>=49?h-49+10:h>=17?h-17+10:h}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?u[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);i=(p=p.idivn(d)).isZero()?m+i:u[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,h,a="le"===e,u=new t(o),f=this.clone();if(a){for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[h]=s;for(;h<o;h++)u[h]=0}else{for(h=0;h<o-n;h++)u[h]=0;for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[o-h-1]=s}return u},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this.strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=c),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?c(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e)},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i<t;i++)e[i]=this.revBin(i,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var i=0,n=0;n<e;n++)i|=(1&t)<<e-n-1,t>>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s<o;s++)i[s]=e[t[s]],n[s]=r[t[s]]},m.prototype.transform=function(t,e,r,i,n,o){this.permute(o,t,e,r,i,n);for(var s=1;s<n;s<<=1)for(var h=s<<1,a=Math.cos(2*Math.PI/h),u=Math.sin(2*Math.PI/h),f=0;f<n;f+=h)for(var l=a,c=u,d=0;d<s;d++){var p=r[f+d],m=i[f+d],g=r[f+d+s],y=i[f+d+s],v=l*g-c*y;y=l*y+c*g,g=v,r[f+d]=p+g,i[f+d]=m+y,r[f+d+s]=p-g,i[f+d+s]=m-y,d!==h&&(v=a*l-u*c,c=a*c+u*l,l=v)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=t[i];t[i]=t[r-i-1],t[r-i-1]=n,n=e[i],e[i]=-e[r-i-1],e[r-i-1]=-n}},m.prototype.normalize13b=function(t,e){for(var r=0,i=0;i<e/2;i++){var n=8192*Math.round(t[2*i+1]/e)+Math.round(t[2*i]/e)+r;t[i]=67108863&n,r=n<67108864?0:n/67108864|0}return t},m.prototype.convert13b=function(t,e,i,n){for(var o=0,s=0;s<e;s++)o+=0|t[s],i[2*s]=8191&o,o>>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<n;++s)i[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var i=2*this.guessLen13b(t.length,e.length),n=this.makeRBT(i),o=this.stub(i),s=new Array(i),h=new Array(i),a=new Array(i),u=new Array(i),f=new Array(i),l=new Array(i),c=r.words;c.length=i,this.convert13b(t.words,t.length,s,i),this.convert13b(e.words,e.length,u,i),this.transform(s,o,h,a,i,n),this.transform(u,o,f,l,i,n);for(var d=0;d<i;d++){var p=h[d]*f[d]-a[d]*l[d];a[d]=h[d]*l[d]+a[d]*f[d],h[d]=p}return this.conjugate(h,a,i),this.transform(h,a,c,o,i,n),this.conjugate(c,o,i),this.normalize13b(c,i),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),p(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,i=0;i<this.length;i++){var n=(0|this.words[i])*t,o=(67108863&n)+(67108863&e);e>>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=(t.words[i]&1<<n)>>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this.strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,y),i(w,y),i(M,y),M.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new S(t)},i(S,_),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(RE,A);var NE,UE={},CE={},LE=Bt,DE=LE.Buffer,jE={};for(NE in LE)LE.hasOwnProperty(NE)&&"SlowBuffer"!==NE&&"Buffer"!==NE&&(jE[NE]=LE[NE]);var HE=jE.Buffer={};for(NE in DE)DE.hasOwnProperty(NE)&&"allocUnsafe"!==NE&&"allocUnsafeSlow"!==NE&&(HE[NE]=DE[NE]);if(jE.Buffer.prototype=DE.prototype,HE.from&&HE.from!==Uint8Array.from||(HE.from=function(t,e,r){if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type '+typeof t);if(t&&void 0===t.length)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);return DE(t,e,r)}),HE.alloc||(HE.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError('The "size" argument must be of type number. Received type '+typeof t);if(t<0||t>=2*(1<<30))throw new RangeError('The value "'+t+'" is invalid for option "size"');var i=DE(t);return e&&0!==e.length?"string"==typeof r?i.fill(e,r):i.fill(e):i.fill(0),i}),!jE.kStringMaxLength)try{jE.kStringMaxLength=ge.binding("buffer").kStringMaxLength}catch(t){}jE.constants||(jE.constants={MAX_LENGTH:jE.kMaxLength},jE.kStringMaxLength&&(jE.constants.MAX_STRING_LENGTH=jE.kStringMaxLength));var qE=jE,KE={};const FE=Pt.exports;function zE(t){this._reporterState={obj:null,path:[],options:t||{},errors:[]}}function WE(t,e){this.path=t,this.rethrow(e)}KE.Reporter=zE,zE.prototype.isError=function(t){return t instanceof WE},zE.prototype.save=function(){const t=this._reporterState;return{obj:t.obj,pathLen:t.path.length}},zE.prototype.restore=function(t){const e=this._reporterState;e.obj=t.obj,e.path=e.path.slice(0,t.pathLen)},zE.prototype.enterKey=function(t){return this._reporterState.path.push(t)},zE.prototype.exitKey=function(t){const e=this._reporterState;e.path=e.path.slice(0,t-1)},zE.prototype.leaveKey=function(t,e,r){const i=this._reporterState;this.exitKey(t),null!==i.obj&&(i.obj[e]=r)},zE.prototype.path=function(){return this._reporterState.path.join("/")},zE.prototype.enterObject=function(){const t=this._reporterState,e=t.obj;return t.obj={},e},zE.prototype.leaveObject=function(t){const e=this._reporterState,r=e.obj;return e.obj=t,r},zE.prototype.error=function(t){let e;const r=this._reporterState,i=t instanceof WE;if(e=i?t:new WE(r.path.map((function(t){return"["+JSON.stringify(t)+"]"})).join(""),t.message||t,t.stack),!r.options.partial)throw e;return i||r.errors.push(e),e},zE.prototype.wrapResult=function(t){const e=this._reporterState;return e.options.partial?{result:this.isError(t)?null:t,errors:e.errors}:t},FE(WE,Error),WE.prototype.rethrow=function(t){if(this.message=t+" at: "+(this.path||"(shallow)"),Error.captureStackTrace&&Error.captureStackTrace(this,WE),!this.stack)try{throw new Error(this.message)}catch(t){this.stack=t.stack}return this};var VE={};const ZE=Pt.exports,GE=KE.Reporter,$E=qE.Buffer;function XE(t,e){GE.call(this,e),$E.isBuffer(t)?(this.base=t,this.offset=0,this.length=t.length):this.error("Input not Buffer")}function YE(t,e){if(Array.isArray(t))this.length=0,this.value=t.map((function(t){return YE.isEncoderBuffer(t)||(t=new YE(t,e)),this.length+=t.length,t}),this);else if("number"==typeof t){if(!(0<=t&&t<=255))return e.error("non-byte EncoderBuffer value");this.value=t,this.length=1}else if("string"==typeof t)this.value=t,this.length=$E.byteLength(t);else{if(!$E.isBuffer(t))return e.error("Unsupported type: "+typeof t);this.value=t,this.length=t.length}}ZE(XE,GE),VE.DecoderBuffer=XE,XE.isDecoderBuffer=function(t){if(t instanceof XE)return!0;return"object"==typeof t&&$E.isBuffer(t.base)&&"DecoderBuffer"===t.constructor.name&&"number"==typeof t.offset&&"number"==typeof t.length&&"function"==typeof t.save&&"function"==typeof t.restore&&"function"==typeof t.isEmpty&&"function"==typeof t.readUInt8&&"function"==typeof t.skip&&"function"==typeof t.raw},XE.prototype.save=function(){return{offset:this.offset,reporter:GE.prototype.save.call(this)}},XE.prototype.restore=function(t){const e=new XE(this.base);return e.offset=t.offset,e.length=this.offset,this.offset=t.offset,GE.prototype.restore.call(this,t.reporter),e},XE.prototype.isEmpty=function(){return this.offset===this.length},XE.prototype.readUInt8=function(t){return this.offset+1<=this.length?this.base.readUInt8(this.offset++,!0):this.error(t||"DecoderBuffer overrun")},XE.prototype.skip=function(t,e){if(!(this.offset+t<=this.length))return this.error(e||"DecoderBuffer overrun");const r=new XE(this.base);return r._reporterState=this._reporterState,r.offset=this.offset,r.length=this.offset+t,this.offset+=t,r},XE.prototype.raw=function(t){return this.base.slice(t?t.offset:this.offset,this.length)},VE.EncoderBuffer=YE,YE.isEncoderBuffer=function(t){if(t instanceof YE)return!0;return"object"==typeof t&&"EncoderBuffer"===t.constructor.name&&"number"==typeof t.length&&"function"==typeof t.join},YE.prototype.join=function(t,e){return t||(t=$E.alloc(this.length)),e||(e=0),0===this.length||(Array.isArray(this.value)?this.value.forEach((function(r){r.join(t,e),e+=r.length})):("number"==typeof this.value?t[e]=this.value:"string"==typeof this.value?t.write(this.value,e):$E.isBuffer(this.value)&&this.value.copy(t,e),e+=this.length)),t};const JE=KE.Reporter,QE=VE.EncoderBuffer,tk=VE.DecoderBuffer,ek=rh,rk=["seq","seqof","set","setof","objid","bool","gentime","utctime","null_","enum","int","objDesc","bitstr","bmpstr","charstr","genstr","graphstr","ia5str","iso646str","numstr","octstr","printstr","t61str","unistr","utf8str","videostr"],ik=["key","obj","use","optional","explicit","implicit","def","choice","any","contains"].concat(rk);function nk(t,e,r){const i={};this._baseState=i,i.name=r,i.enc=t,i.parent=e||null,i.children=null,i.tag=null,i.args=null,i.reverseArgs=null,i.choice=null,i.optional=!1,i.any=!1,i.obj=!1,i.use=null,i.useDecoder=null,i.key=null,i.default=null,i.explicit=null,i.implicit=null,i.contains=null,i.parent||(i.children=[],this._wrap())}var ok=nk;const sk=["enc","parent","children","tag","args","reverseArgs","choice","optional","any","obj","use","alteredUse","key","default","explicit","implicit","contains"];nk.prototype.clone=function(){const t=this._baseState,e={};sk.forEach((function(r){e[r]=t[r]}));const r=new this.constructor(e.parent);return r._baseState=e,r},nk.prototype._wrap=function(){const t=this._baseState;ik.forEach((function(e){this[e]=function(){const r=new this.constructor(this);return t.children.push(r),r[e].apply(r,arguments)}}),this)},nk.prototype._init=function(t){const e=this._baseState;ek(null===e.parent),t.call(this),e.children=e.children.filter((function(t){return t._baseState.parent===this}),this),ek.equal(e.children.length,1,"Root node can have only one child")},nk.prototype._useArgs=function(t){const e=this._baseState,r=t.filter((function(t){return t instanceof this.constructor}),this);t=t.filter((function(t){return!(t instanceof this.constructor)}),this),0!==r.length&&(ek(null===e.children),e.children=r,r.forEach((function(t){t._baseState.parent=this}),this)),0!==t.length&&(ek(null===e.args),e.args=t,e.reverseArgs=t.map((function(t){if("object"!=typeof t||t.constructor!==Object)return t;const e={};return Object.keys(t).forEach((function(r){r==(0|r)&&(r|=0);const i=t[r];e[i]=r})),e})))},["_peekTag","_decodeTag","_use","_decodeStr","_decodeObjid","_decodeTime","_decodeNull","_decodeInt","_decodeBool","_decodeList","_encodeComposite","_encodeStr","_encodeObjid","_encodeTime","_encodeNull","_encodeInt","_encodeBool"].forEach((function(t){nk.prototype[t]=function(){const e=this._baseState;throw new Error(t+" not implemented for encoding: "+e.enc)}})),rk.forEach((function(t){nk.prototype[t]=function(){const e=this._baseState,r=Array.prototype.slice.call(arguments);return ek(null===e.tag),e.tag=t,this._useArgs(r),this}})),nk.prototype.use=function(t){ek(t);const e=this._baseState;return ek(null===e.use),e.use=t,this},nk.prototype.optional=function(){return this._baseState.optional=!0,this},nk.prototype.def=function(t){const e=this._baseState;return ek(null===e.default),e.default=t,e.optional=!0,this},nk.prototype.explicit=function(t){const e=this._baseState;return ek(null===e.explicit&&null===e.implicit),e.explicit=t,this},nk.prototype.implicit=function(t){const e=this._baseState;return ek(null===e.explicit&&null===e.implicit),e.implicit=t,this},nk.prototype.obj=function(){const t=this._baseState,e=Array.prototype.slice.call(arguments);return t.obj=!0,0!==e.length&&this._useArgs(e),this},nk.prototype.key=function(t){const e=this._baseState;return ek(null===e.key),e.key=t,this},nk.prototype.any=function(){return this._baseState.any=!0,this},nk.prototype.choice=function(t){const e=this._baseState;return ek(null===e.choice),e.choice=t,this._useArgs(Object.keys(t).map((function(e){return t[e]}))),this},nk.prototype.contains=function(t){const e=this._baseState;return ek(null===e.use),e.contains=t,this},nk.prototype._decode=function(t,e){const r=this._baseState;if(null===r.parent)return t.wrapResult(r.children[0]._decode(t,e));let i,n=r.default,o=!0,s=null;if(null!==r.key&&(s=t.enterKey(r.key)),r.optional){let i=null;if(null!==r.explicit?i=r.explicit:null!==r.implicit?i=r.implicit:null!==r.tag&&(i=r.tag),null!==i||r.any){if(o=this._peekTag(t,i,r.any),t.isError(o))return o}else{const i=t.save();try{null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e),o=!0}catch(t){o=!1}t.restore(i)}}if(r.obj&&o&&(i=t.enterObject()),o){if(null!==r.explicit){const e=this._decodeTag(t,r.explicit);if(t.isError(e))return e;t=e}const i=t.offset;if(null===r.use&&null===r.choice){let e;r.any&&(e=t.save());const i=this._decodeTag(t,null!==r.implicit?r.implicit:r.tag,r.any);if(t.isError(i))return i;r.any?n=t.raw(e):t=i}if(e&&e.track&&null!==r.tag&&e.track(t.path(),i,t.length,"tagged"),e&&e.track&&null!==r.tag&&e.track(t.path(),t.offset,t.length,"content"),r.any||(n=null===r.choice?this._decodeGeneric(r.tag,t,e):this._decodeChoice(t,e)),t.isError(n))return n;if(r.any||null!==r.choice||null===r.children||r.children.forEach((function(r){r._decode(t,e)})),r.contains&&("octstr"===r.tag||"bitstr"===r.tag)){const i=new tk(n);n=this._getUse(r.contains,t._reporterState.obj)._decode(i,e)}}return r.obj&&o&&(n=t.leaveObject(i)),null===r.key||null===n&&!0!==o?null!==s&&t.exitKey(s):t.leaveKey(s,r.key,n),n},nk.prototype._decodeGeneric=function(t,e,r){const i=this._baseState;return"seq"===t||"set"===t?null:"seqof"===t||"setof"===t?this._decodeList(e,t,i.args[0],r):/str$/.test(t)?this._decodeStr(e,t,r):"objid"===t&&i.args?this._decodeObjid(e,i.args[0],i.args[1],r):"objid"===t?this._decodeObjid(e,null,null,r):"gentime"===t||"utctime"===t?this._decodeTime(e,t,r):"null_"===t?this._decodeNull(e,r):"bool"===t?this._decodeBool(e,r):"objDesc"===t?this._decodeStr(e,t,r):"int"===t||"enum"===t?this._decodeInt(e,i.args&&i.args[0],r):null!==i.use?this._getUse(i.use,e._reporterState.obj)._decode(e,r):e.error("unknown tag: "+t)},nk.prototype._getUse=function(t,e){const r=this._baseState;return r.useDecoder=this._use(t,e),ek(null===r.useDecoder._baseState.parent),r.useDecoder=r.useDecoder._baseState.children[0],r.implicit!==r.useDecoder._baseState.implicit&&(r.useDecoder=r.useDecoder.clone(),r.useDecoder._baseState.implicit=r.implicit),r.useDecoder},nk.prototype._decodeChoice=function(t,e){const r=this._baseState;let i=null,n=!1;return Object.keys(r.choice).some((function(o){const s=t.save(),h=r.choice[o];try{const r=h._decode(t,e);if(t.isError(r))return!1;i={type:o,value:r},n=!0}catch(e){return t.restore(s),!1}return!0}),this),n?i:t.error("Choice not matched")},nk.prototype._createEncoderBuffer=function(t){return new QE(t,this.reporter)},nk.prototype._encode=function(t,e,r){const i=this._baseState;if(null!==i.default&&i.default===t)return;const n=this._encodeValue(t,e,r);return void 0===n||this._skipDefault(n,e,r)?void 0:n},nk.prototype._encodeValue=function(t,e,r){const i=this._baseState;if(null===i.parent)return i.children[0]._encode(t,e||new JE);let n=null;if(this.reporter=e,i.optional&&void 0===t){if(null===i.default)return;t=i.default}let o=null,s=!1;if(i.any)n=this._createEncoderBuffer(t);else if(i.choice)n=this._encodeChoice(t,e);else if(i.contains)o=this._getUse(i.contains,r)._encode(t,e),s=!0;else if(i.children)o=i.children.map((function(r){if("null_"===r._baseState.tag)return r._encode(null,e,t);if(null===r._baseState.key)return e.error("Child should have a key");const i=e.enterKey(r._baseState.key);if("object"!=typeof t)return e.error("Child expected, but input is not object");const n=r._encode(t[r._baseState.key],e,t);return e.leaveKey(i),n}),this).filter((function(t){return t})),o=this._createEncoderBuffer(o);else if("seqof"===i.tag||"setof"===i.tag){if(!i.args||1!==i.args.length)return e.error("Too many args for : "+i.tag);if(!Array.isArray(t))return e.error("seqof/setof, but data is not Array");const r=this.clone();r._baseState.implicit=null,o=this._createEncoderBuffer(t.map((function(r){const i=this._baseState;return this._getUse(i.args[0],t)._encode(r,e)}),r))}else null!==i.use?n=this._getUse(i.use,r)._encode(t,e):(o=this._encodePrimitive(i.tag,t),s=!0);if(!i.any&&null===i.choice){const t=null!==i.implicit?i.implicit:i.tag,r=null===i.implicit?"universal":"context";null===t?null===i.use&&e.error("Tag could be omitted only for .use()"):null===i.use&&(n=this._encodeComposite(t,s,r,o))}return null!==i.explicit&&(n=this._encodeComposite(i.explicit,!1,"context",n)),n},nk.prototype._encodeChoice=function(t,e){const r=this._baseState,i=r.choice[t.type];return i||ek(!1,t.type+" not found in "+JSON.stringify(Object.keys(r.choice))),i._encode(t.value,e)},nk.prototype._encodePrimitive=function(t,e){const r=this._baseState;if(/str$/.test(t))return this._encodeStr(e,t);if("objid"===t&&r.args)return this._encodeObjid(e,r.reverseArgs[0],r.args[1]);if("objid"===t)return this._encodeObjid(e,null,null);if("gentime"===t||"utctime"===t)return this._encodeTime(e,t);if("null_"===t)return this._encodeNull();if("int"===t||"enum"===t)return this._encodeInt(e,r.args&&r.reverseArgs[0]);if("bool"===t)return this._encodeBool(e);if("objDesc"===t)return this._encodeStr(e,t);throw new Error("Unsupported tag: "+t)},nk.prototype._isNumstr=function(t){return/^[0-9 ]*$/.test(t)},nk.prototype._isPrintstr=function(t){return/^[A-Za-z0-9 '()+,-./:=?]*$/.test(t)};var hk={};!function(t){function e(t){const e={};return Object.keys(t).forEach((function(r){(0|r)==r&&(r|=0);const i=t[r];e[i]=r})),e}t.tagClass={0:"universal",1:"application",2:"context",3:"private"},t.tagClassByName=e(t.tagClass),t.tag={0:"end",1:"bool",2:"int",3:"bitstr",4:"octstr",5:"null_",6:"objid",7:"objDesc",8:"external",9:"real",10:"enum",11:"embed",12:"utf8str",13:"relativeOid",16:"seq",17:"set",18:"numstr",19:"printstr",20:"t61str",21:"videostr",22:"ia5str",23:"utctime",24:"gentime",25:"graphstr",26:"iso646str",27:"genstr",28:"unistr",29:"charstr",30:"bmpstr"},t.tagByName=e(t.tag)}(hk);const ak=Pt.exports,uk=qE.Buffer,fk=ok,lk=hk;function ck(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new pk,this.tree._init(t.body)}var dk=ck;function pk(t){fk.call(this,"der",t)}function mk(t){return t<10?"0"+t:t}ck.prototype.encode=function(t,e){return this.tree._encode(t,e).join()},ak(pk,fk),pk.prototype._encodeComposite=function(t,e,r,i){const n=function(t,e,r,i){let n;"seqof"===t?t="seq":"setof"===t&&(t="set");if(lk.tagByName.hasOwnProperty(t))n=lk.tagByName[t];else{if("number"!=typeof t||(0|t)!==t)return i.error("Unknown tag: "+t);n=t}if(n>=31)return i.error("Multi-octet tag encoding unsupported");e||(n|=32);return n|=lk.tagClassByName[r||"universal"]<<6,n}(t,e,r,this.reporter);if(i.length<128){const t=uk.alloc(2);return t[0]=n,t[1]=i.length,this._createEncoderBuffer([t,i])}let o=1;for(let t=i.length;t>=256;t>>=8)o++;const s=uk.alloc(2+o);s[0]=n,s[1]=128|o;for(let t=1+o,e=i.length;e>0;t--,e>>=8)s[t]=255&e;return this._createEncoderBuffer([s,i])},pk.prototype._encodeStr=function(t,e){if("bitstr"===e)return this._createEncoderBuffer([0|t.unused,t.data]);if("bmpstr"===e){const e=uk.alloc(2*t.length);for(let r=0;r<t.length;r++)e.writeUInt16BE(t.charCodeAt(r),2*r);return this._createEncoderBuffer(e)}return"numstr"===e?this._isNumstr(t)?this._createEncoderBuffer(t):this.reporter.error("Encoding of string type: numstr supports only digits and space"):"printstr"===e?this._isPrintstr(t)?this._createEncoderBuffer(t):this.reporter.error("Encoding of string type: printstr supports only latin upper and lower case letters, digits, space, apostrophe, left and rigth parenthesis, plus sign, comma, hyphen, dot, slash, colon, equal sign, question mark"):/str$/.test(e)||"objDesc"===e?this._createEncoderBuffer(t):this.reporter.error("Encoding of string type: "+e+" unsupported")},pk.prototype._encodeObjid=function(t,e,r){if("string"==typeof t){if(!e)return this.reporter.error("string objid given, but no values map found");if(!e.hasOwnProperty(t))return this.reporter.error("objid not found in values map");t=e[t].split(/[\s.]+/g);for(let e=0;e<t.length;e++)t[e]|=0}else if(Array.isArray(t)){t=t.slice();for(let e=0;e<t.length;e++)t[e]|=0}if(!Array.isArray(t))return this.reporter.error("objid() should be either array or string, got: "+JSON.stringify(t));if(!r){if(t[1]>=40)return this.reporter.error("Second objid identifier OOB");t.splice(0,2,40*t[0]+t[1])}let i=0;for(let e=0;e<t.length;e++){let r=t[e];for(i++;r>=128;r>>=7)i++}const n=uk.alloc(i);let o=n.length-1;for(let e=t.length-1;e>=0;e--){let r=t[e];for(n[o--]=127&r;(r>>=7)>0;)n[o--]=128|127&r}return this._createEncoderBuffer(n)},pk.prototype._encodeTime=function(t,e){let r;const i=new Date(t);return"gentime"===e?r=[mk(i.getUTCFullYear()),mk(i.getUTCMonth()+1),mk(i.getUTCDate()),mk(i.getUTCHours()),mk(i.getUTCMinutes()),mk(i.getUTCSeconds()),"Z"].join(""):"utctime"===e?r=[mk(i.getUTCFullYear()%100),mk(i.getUTCMonth()+1),mk(i.getUTCDate()),mk(i.getUTCHours()),mk(i.getUTCMinutes()),mk(i.getUTCSeconds()),"Z"].join(""):this.reporter.error("Encoding "+e+" time is not supported yet"),this._encodeStr(r,"octstr")},pk.prototype._encodeNull=function(){return this._createEncoderBuffer("")},pk.prototype._encodeInt=function(t,e){if("string"==typeof t){if(!e)return this.reporter.error("String int or enum given, but no values map");if(!e.hasOwnProperty(t))return this.reporter.error("Values map doesn't contain: "+JSON.stringify(t));t=e[t]}if("number"!=typeof t&&!uk.isBuffer(t)){const e=t.toArray();!t.sign&&128&e[0]&&e.unshift(0),t=uk.from(e)}if(uk.isBuffer(t)){let e=t.length;0===t.length&&e++;const r=uk.alloc(e);return t.copy(r),0===t.length&&(r[0]=0),this._createEncoderBuffer(r)}if(t<128)return this._createEncoderBuffer(t);if(t<256)return this._createEncoderBuffer([0,t]);let r=1;for(let e=t;e>=256;e>>=8)r++;const i=new Array(r);for(let e=i.length-1;e>=0;e--)i[e]=255&t,t>>=8;return 128&i[0]&&i.unshift(0),this._createEncoderBuffer(uk.from(i))},pk.prototype._encodeBool=function(t){return this._createEncoderBuffer(t?255:0)},pk.prototype._use=function(t,e){return"function"==typeof t&&(t=t(e)),t._getEncoder("der").tree},pk.prototype._skipDefault=function(t,e,r){const i=this._baseState;let n;if(null===i.default)return!1;const o=t.join();if(void 0===i.defaultBuffer&&(i.defaultBuffer=this._encodeValue(i.default,e,r).join()),o.length!==i.defaultBuffer.length)return!1;for(n=0;n<o.length;n++)if(o[n]!==i.defaultBuffer[n])return!1;return!0};const gk=Pt.exports,yk=dk;function vk(t){yk.call(this,t),this.enc="pem"}gk(vk,yk);var bk=vk;vk.prototype.encode=function(t,e){const r=yk.prototype.encode.call(this,t).toString("base64"),i=["-----BEGIN "+e.label+"-----"];for(let t=0;t<r.length;t+=64)i.push(r.slice(t,t+64));return i.push("-----END "+e.label+"-----"),i.join("\n")},function(t){const e=t;e.der=dk,e.pem=bk}(CE);var wk={};const Mk=Pt.exports,_k=RE.exports,Sk=VE.DecoderBuffer,Ek=ok,kk=hk;function Ak(t){this.enc="der",this.name=t.name,this.entity=t,this.tree=new Tk,this.tree._init(t.body)}var Ik=Ak;function Tk(t){Ek.call(this,"der",t)}function Ok(t,e){let r=t.readUInt8(e);if(t.isError(r))return r;const i=kk.tagClass[r>>6],n=0==(32&r);if(31==(31&r)){let i=r;for(r=0;128==(128&i);){if(i=t.readUInt8(e),t.isError(i))return i;r<<=7,r|=127&i}}else r&=31;return{cls:i,primitive:n,tag:r,tagStr:kk.tag[r]}}function Pk(t,e,r){let i=t.readUInt8(r);if(t.isError(i))return i;if(!e&&128===i)return null;if(0==(128&i))return i;const n=127&i;if(n>4)return t.error("length octect is too long");i=0;for(let e=0;e<n;e++){i<<=8;const e=t.readUInt8(r);if(t.isError(e))return e;i|=e}return i}Ak.prototype.decode=function(t,e){return Sk.isDecoderBuffer(t)||(t=new Sk(t,e)),this.tree._decode(t,e)},Mk(Tk,Ek),Tk.prototype._peekTag=function(t,e,r){if(t.isEmpty())return!1;const i=t.save(),n=Ok(t,'Failed to peek tag: "'+e+'"');return t.isError(n)?n:(t.restore(i),n.tag===e||n.tagStr===e||n.tagStr+"of"===e||r)},Tk.prototype._decodeTag=function(t,e,r){const i=Ok(t,'Failed to decode tag of "'+e+'"');if(t.isError(i))return i;let n=Pk(t,i.primitive,'Failed to get length of "'+e+'"');if(t.isError(n))return n;if(!r&&i.tag!==e&&i.tagStr!==e&&i.tagStr+"of"!==e)return t.error('Failed to match tag: "'+e+'"');if(i.primitive||null!==n)return t.skip(n,'Failed to match body of: "'+e+'"');const o=t.save(),s=this._skipUntilEnd(t,'Failed to skip indefinite length body: "'+this.tag+'"');return t.isError(s)?s:(n=t.offset-o.offset,t.restore(o),t.skip(n,'Failed to match body of: "'+e+'"'))},Tk.prototype._skipUntilEnd=function(t,e){for(;;){const r=Ok(t,e);if(t.isError(r))return r;const i=Pk(t,r.primitive,e);if(t.isError(i))return i;let n;if(n=r.primitive||null!==i?t.skip(i):this._skipUntilEnd(t,e),t.isError(n))return n;if("end"===r.tagStr)break}},Tk.prototype._decodeList=function(t,e,r,i){const n=[];for(;!t.isEmpty();){const e=this._peekTag(t,"end");if(t.isError(e))return e;const o=r.decode(t,"der",i);if(t.isError(o)&&e)break;n.push(o)}return n},Tk.prototype._decodeStr=function(t,e){if("bitstr"===e){const e=t.readUInt8();return t.isError(e)?e:{unused:e,data:t.raw()}}if("bmpstr"===e){const e=t.raw();if(e.length%2==1)return t.error("Decoding of string type: bmpstr length mismatch");let r="";for(let t=0;t<e.length/2;t++)r+=String.fromCharCode(e.readUInt16BE(2*t));return r}if("numstr"===e){const e=t.raw().toString("ascii");return this._isNumstr(e)?e:t.error("Decoding of string type: numstr unsupported characters")}if("octstr"===e)return t.raw();if("objDesc"===e)return t.raw();if("printstr"===e){const e=t.raw().toString("ascii");return this._isPrintstr(e)?e:t.error("Decoding of string type: printstr unsupported characters")}return/str$/.test(e)?t.raw().toString():t.error("Decoding of string type: "+e+" unsupported")},Tk.prototype._decodeObjid=function(t,e,r){let i;const n=[];let o=0,s=0;for(;!t.isEmpty();)s=t.readUInt8(),o<<=7,o|=127&s,0==(128&s)&&(n.push(o),o=0);128&s&&n.push(o);const h=n[0]/40|0,a=n[0]%40;if(i=r?n:[h,a].concat(n.slice(1)),e){let t=e[i.join(" ")];void 0===t&&(t=e[i.join(".")]),void 0!==t&&(i=t)}return i},Tk.prototype._decodeTime=function(t,e){const r=t.raw().toString();let i,n,o,s,h,a;if("gentime"===e)i=0|r.slice(0,4),n=0|r.slice(4,6),o=0|r.slice(6,8),s=0|r.slice(8,10),h=0|r.slice(10,12),a=0|r.slice(12,14);else{if("utctime"!==e)return t.error("Decoding "+e+" time is not supported yet");i=0|r.slice(0,2),n=0|r.slice(2,4),o=0|r.slice(4,6),s=0|r.slice(6,8),h=0|r.slice(8,10),a=0|r.slice(10,12),i=i<70?2e3+i:1900+i}return Date.UTC(i,n-1,o,s,h,a,0)},Tk.prototype._decodeNull=function(){return null},Tk.prototype._decodeBool=function(t){const e=t.readUInt8();return t.isError(e)?e:0!==e},Tk.prototype._decodeInt=function(t,e){const r=t.raw();let i=new _k(r);return e&&(i=e[i.toString(10)]||i),i},Tk.prototype._use=function(t,e){return"function"==typeof t&&(t=t(e)),t._getDecoder("der").tree};const xk=Pt.exports,Bk=qE.Buffer,Rk=Ik;function Nk(t){Rk.call(this,t),this.enc="pem"}xk(Nk,Rk);var Uk=Nk;Nk.prototype.decode=function(t,e){const r=t.toString().split(/[\r\n]+/g),i=e.label.toUpperCase(),n=/^-----(BEGIN|END) ([^-]+)-----$/;let o=-1,s=-1;for(let t=0;t<r.length;t++){const e=r[t].match(n);if(null!==e&&e[2]===i){if(-1!==o){if("END"!==e[1])break;s=t;break}if("BEGIN"!==e[1])break;o=t}}if(-1===o||-1===s)throw new Error("PEM section not found for: "+i);const h=r.slice(o+1,s).join("");h.replace(/[^a-z0-9+/=]+/gi,"");const a=Bk.from(h,"base64");return Rk.prototype.decode.call(this,a,e)},function(t){const e=t;e.der=Ik,e.pem=Uk}(wk),function(t){const e=CE,r=wk,i=Pt.exports;function n(t,e){this.name=t,this.body=e,this.decoders={},this.encoders={}}t.define=function(t,e){return new n(t,e)},n.prototype._createNamed=function(t){const e=this.name;function r(t){this._initNamed(t,e)}return i(r,t),r.prototype._initNamed=function(e,r){t.call(this,e,r)},new r(this)},n.prototype._getDecoder=function(t){return t=t||"der",this.decoders.hasOwnProperty(t)||(this.decoders[t]=this._createNamed(r[t])),this.decoders[t]},n.prototype.decode=function(t,e,r){return this._getDecoder(e).decode(t,r)},n.prototype._getEncoder=function(t){return t=t||"der",this.encoders.hasOwnProperty(t)||(this.encoders[t]=this._createNamed(e[t])),this.encoders[t]},n.prototype.encode=function(t,e,r){return this._getEncoder(e).encode(t,r)}}(UE);var Ck={};!function(t){const e=t;e.Reporter=KE.Reporter,e.DecoderBuffer=VE.DecoderBuffer,e.EncoderBuffer=VE.EncoderBuffer,e.Node=ok}(Ck);var Lk={};!function(t){const e=t;e._reverse=function(t){const e={};return Object.keys(t).forEach((function(r){(0|r)==r&&(r|=0);const i=t[r];e[i]=r})),e},e.der=hk}(Lk),function(t){const e=BE;e.bignum=RE.exports,e.define=UE.define,e.base=Ck,e.constants=Lk,e.decoders=wk,e.encoders=CE}();var Dk=BE,jk=Dk.define("Time",(function(){this.choice({utcTime:this.utctime(),generalTime:this.gentime()})})),Hk=Dk.define("AttributeTypeValue",(function(){this.seq().obj(this.key("type").objid(),this.key("value").any())})),qk=Dk.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("parameters").optional(),this.key("curve").objid().optional())})),Kk=Dk.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(qk),this.key("subjectPublicKey").bitstr())})),Fk=Dk.define("RelativeDistinguishedName",(function(){this.setof(Hk)})),zk=Dk.define("RDNSequence",(function(){this.seqof(Fk)})),Wk=Dk.define("Name",(function(){this.choice({rdnSequence:this.use(zk)})})),Vk=Dk.define("Validity",(function(){this.seq().obj(this.key("notBefore").use(jk),this.key("notAfter").use(jk))})),Zk=Dk.define("Extension",(function(){this.seq().obj(this.key("extnID").objid(),this.key("critical").bool().def(!1),this.key("extnValue").octstr())})),Gk=Dk.define("TBSCertificate",(function(){this.seq().obj(this.key("version").explicit(0).int().optional(),this.key("serialNumber").int(),this.key("signature").use(qk),this.key("issuer").use(Wk),this.key("validity").use(Vk),this.key("subject").use(Wk),this.key("subjectPublicKeyInfo").use(Kk),this.key("issuerUniqueID").implicit(1).bitstr().optional(),this.key("subjectUniqueID").implicit(2).bitstr().optional(),this.key("extensions").explicit(3).seqof(Zk).optional())})),$k=Dk.define("X509Certificate",(function(){this.seq().obj(this.key("tbsCertificate").use(Gk),this.key("signatureAlgorithm").use(qk),this.key("signatureValue").bitstr())})),Xk=BE;xE.certificate=$k;var Yk=Xk.define("RSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("modulus").int(),this.key("publicExponent").int(),this.key("privateExponent").int(),this.key("prime1").int(),this.key("prime2").int(),this.key("exponent1").int(),this.key("exponent2").int(),this.key("coefficient").int())}));xE.RSAPrivateKey=Yk;var Jk=Xk.define("RSAPublicKey",(function(){this.seq().obj(this.key("modulus").int(),this.key("publicExponent").int())}));xE.RSAPublicKey=Jk;var Qk=Xk.define("SubjectPublicKeyInfo",(function(){this.seq().obj(this.key("algorithm").use(tA),this.key("subjectPublicKey").bitstr())}));xE.PublicKey=Qk;var tA=Xk.define("AlgorithmIdentifier",(function(){this.seq().obj(this.key("algorithm").objid(),this.key("none").null_().optional(),this.key("curve").objid().optional(),this.key("params").seq().obj(this.key("p").int(),this.key("q").int(),this.key("g").int()).optional())})),eA=Xk.define("PrivateKeyInfo",(function(){this.seq().obj(this.key("version").int(),this.key("algorithm").use(tA),this.key("subjectPrivateKey").octstr())}));xE.PrivateKey=eA;var rA=Xk.define("EncryptedPrivateKeyInfo",(function(){this.seq().obj(this.key("algorithm").seq().obj(this.key("id").objid(),this.key("decrypt").seq().obj(this.key("kde").seq().obj(this.key("id").objid(),this.key("kdeparams").seq().obj(this.key("salt").octstr(),this.key("iters").int())),this.key("cipher").seq().obj(this.key("algo").objid(),this.key("iv").octstr()))),this.key("subjectPrivateKey").octstr())}));xE.EncryptedPrivateKey=rA;var iA=Xk.define("DSAPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("p").int(),this.key("q").int(),this.key("g").int(),this.key("pub_key").int(),this.key("priv_key").int())}));xE.DSAPrivateKey=iA,xE.DSAparam=Xk.define("DSAparam",(function(){this.int()}));var nA=Xk.define("ECPrivateKey",(function(){this.seq().obj(this.key("version").int(),this.key("privateKey").octstr(),this.key("parameters").optional().explicit(0).use(oA),this.key("publicKey").optional().explicit(1).bitstr())}));xE.ECPrivateKey=nA;var oA=Xk.define("ECParameters",(function(){this.choice({namedCurve:this.objid()})}));xE.signature=Xk.define("signature",(function(){this.seq().obj(this.key("r").int(),this.key("s").int())}));var sA=/Proc-Type: 4,ENCRYPTED[\n\r]+DEK-Info: AES-((?:128)|(?:192)|(?:256))-CBC,([0-9A-H]+)[\n\r]+([0-9A-z\n\r+/=]+)[\n\r]+/m,hA=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----/m,aA=/^-----BEGIN ((?:.*? KEY)|CERTIFICATE)-----([0-9A-z\n\r+/=]+)-----END \1-----$/m,uA=eS,fA=$M,lA=xt.exports.Buffer,cA=xE,dA={"2.16.840.1.101.3.4.1.1":"aes-128-ecb","2.16.840.1.101.3.4.1.2":"aes-128-cbc","2.16.840.1.101.3.4.1.3":"aes-128-ofb","2.16.840.1.101.3.4.1.4":"aes-128-cfb","2.16.840.1.101.3.4.1.21":"aes-192-ecb","2.16.840.1.101.3.4.1.22":"aes-192-cbc","2.16.840.1.101.3.4.1.23":"aes-192-ofb","2.16.840.1.101.3.4.1.24":"aes-192-cfb","2.16.840.1.101.3.4.1.41":"aes-256-ecb","2.16.840.1.101.3.4.1.42":"aes-256-cbc","2.16.840.1.101.3.4.1.43":"aes-256-ofb","2.16.840.1.101.3.4.1.44":"aes-256-cfb"},pA=function(t,e){var r,i=t.toString(),n=i.match(sA);if(n){var o="aes"+n[1],s=lA.from(n[2],"hex"),h=lA.from(n[3].replace(/[\r\n]/g,""),"base64"),a=uA(e,s.slice(0,8),parseInt(n[1],10)).key,u=[],f=fA.createDecipheriv(o,a,s);u.push(f.update(h)),u.push(f.final()),r=lA.concat(u)}else{var l=i.match(aA);r=lA.from(l[2].replace(/[\r\n]/g,""),"base64")}return{tag:i.match(hA)[1],data:r}},mA=$M,gA=Dw,yA=xt.exports.Buffer,vA=bA;function bA(t){var e;"object"!=typeof t||yA.isBuffer(t)||(e=t.passphrase,t=t.key),"string"==typeof t&&(t=yA.from(t));var r,i,n=pA(t,e),o=n.tag,s=n.data;switch(o){case"CERTIFICATE":i=cA.certificate.decode(s,"der").tbsCertificate.subjectPublicKeyInfo;case"PUBLIC KEY":switch(i||(i=cA.PublicKey.decode(s,"der")),r=i.algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return cA.RSAPublicKey.decode(i.subjectPublicKey.data,"der");case"1.2.840.10045.2.1":return i.subjectPrivateKey=i.subjectPublicKey,{type:"ec",data:i};case"1.2.840.10040.4.1":return i.algorithm.params.pub_key=cA.DSAparam.decode(i.subjectPublicKey.data,"der"),{type:"dsa",data:i.algorithm.params};default:throw new Error("unknown key id "+r)}case"ENCRYPTED PRIVATE KEY":s=function(t,e){var r=t.algorithm.decrypt.kde.kdeparams.salt,i=parseInt(t.algorithm.decrypt.kde.kdeparams.iters.toString(),10),n=dA[t.algorithm.decrypt.cipher.algo.join(".")],o=t.algorithm.decrypt.cipher.iv,s=t.subjectPrivateKey,h=parseInt(n.split("-")[1],10)/8,a=gA.pbkdf2Sync(e,r,i,h,"sha1"),u=mA.createDecipheriv(n,a,o),f=[];return f.push(u.update(s)),f.push(u.final()),yA.concat(f)}(s=cA.EncryptedPrivateKey.decode(s,"der"),e);case"PRIVATE KEY":switch(r=(i=cA.PrivateKey.decode(s,"der")).algorithm.algorithm.join(".")){case"1.2.840.113549.1.1.1":return cA.RSAPrivateKey.decode(i.subjectPrivateKey,"der");case"1.2.840.10045.2.1":return{curve:i.algorithm.curve,privateKey:cA.ECPrivateKey.decode(i.subjectPrivateKey,"der").privateKey};case"1.2.840.10040.4.1":return i.algorithm.params.priv_key=cA.DSAparam.decode(i.subjectPrivateKey,"der"),{type:"dsa",params:i.algorithm.params};default:throw new Error("unknown key id "+r)}case"RSA PUBLIC KEY":return cA.RSAPublicKey.decode(s,"der");case"RSA PRIVATE KEY":return cA.RSAPrivateKey.decode(s,"der");case"DSA PRIVATE KEY":return{type:"dsa",params:cA.DSAPrivateKey.decode(s,"der")};case"EC PRIVATE KEY":return{curve:(s=cA.ECPrivateKey.decode(s,"der")).parameters.value,privateKey:s.privateKey};default:throw new Error("unknown key type "+o)}}bA.signature=cA.signature;var wA={"1.3.132.0.10":"secp256k1","1.3.132.0.33":"p224","1.2.840.10045.3.1.1":"p192","1.2.840.10045.3.1.7":"p256","1.3.132.0.34":"p384","1.3.132.0.35":"p521"},MA=xt.exports.Buffer,_A=Fs,SA=PE,EA=Js.ec,kA=kE.exports,AA=vA,IA=wA;function TA(t,e,r,i){if((t=MA.from(t.toArray())).length<e.byteLength()){var n=MA.alloc(e.byteLength()-t.length);t=MA.concat([n,t])}var o=r.length,s=function(t,e){t=(t=OA(t,e)).mod(e);var r=MA.from(t.toArray());if(r.length<e.byteLength()){var i=MA.alloc(e.byteLength()-r.length);r=MA.concat([i,r])}return r}(r,e),h=MA.alloc(o);h.fill(1);var a=MA.alloc(o);return a=_A(i,a).update(h).update(MA.from([0])).update(t).update(s).digest(),h=_A(i,a).update(h).digest(),{k:a=_A(i,a).update(h).update(MA.from([1])).update(t).update(s).digest(),v:h=_A(i,a).update(h).digest()}}function OA(t,e){var r=new kA(t),i=(t.length<<3)-e.bitLength();return i>0&&r.ishrn(i),r}function PA(t,e,r){var i,n;do{for(i=MA.alloc(0);8*i.length<t.bitLength();)e.v=_A(r,e.k).update(e.v).digest(),i=MA.concat([i,e.v]);n=OA(i,t),e.k=_A(r,e.k).update(e.v).update(MA.from([0])).digest(),e.v=_A(r,e.k).update(e.v).digest()}while(-1!==n.cmp(t));return n}function xA(t,e,r,i){return t.toRed(kA.mont(r)).redPow(e).fromRed().mod(i)}EE.exports=function(t,e,r,i,n){var o=AA(e);if(o.curve){if("ecdsa"!==i&&"ecdsa/rsa"!==i)throw new Error("wrong private key type");return function(t,e){var r=IA[e.curve.join(".")];if(!r)throw new Error("unknown curve "+e.curve.join("."));var i=new EA(r).keyFromPrivate(e.privateKey).sign(t);return MA.from(i.toDER())}(t,o)}if("dsa"===o.type){if("dsa"!==i)throw new Error("wrong private key type");return function(t,e,r){var i,n=e.params.priv_key,o=e.params.p,s=e.params.q,h=e.params.g,a=new kA(0),u=OA(t,s).mod(s),f=!1,l=TA(n,s,t,r);for(;!1===f;)a=xA(h,i=PA(s,l,r),o,s),0===(f=i.invm(s).imul(u.add(n.mul(a))).mod(s)).cmpn(0)&&(f=!1,a=new kA(0));return function(t,e){t=t.toArray(),e=e.toArray(),128&t[0]&&(t=[0].concat(t));128&e[0]&&(e=[0].concat(e));var r=[48,t.length+e.length+4,2,t.length];return r=r.concat(t,[2,e.length],e),MA.from(r)}(a,f)}(t,o,r)}if("rsa"!==i&&"ecdsa/rsa"!==i)throw new Error("wrong private key type");t=MA.concat([n,t]);for(var s=o.modulus.byteLength(),h=[0,1];t.length+h.length+1<s;)h.push(255);h.push(0);for(var a=-1;++a<t.length;)h.push(t[a]);return SA(h,o)},EE.exports.getKey=TA,EE.exports.makeKey=PA;var BA=xt.exports.Buffer,RA=kE.exports,NA=Js.ec,UA=vA,CA=wA;function LA(t,e){if(t.cmpn(0)<=0)throw new Error("invalid sig");if(t.cmp(e)>=e)throw new Error("invalid sig")}var DA=function(t,e,r,i,n){var o=UA(r);if("ec"===o.type){if("ecdsa"!==i&&"ecdsa/rsa"!==i)throw new Error("wrong public key type");return function(t,e,r){var i=CA[r.data.algorithm.curve.join(".")];if(!i)throw new Error("unknown curve "+r.data.algorithm.curve.join("."));var n=new NA(i),o=r.data.subjectPrivateKey.data;return n.verify(e,t,o)}(t,e,o)}if("dsa"===o.type){if("dsa"!==i)throw new Error("wrong public key type");return function(t,e,r){var i=r.data.p,n=r.data.q,o=r.data.g,s=r.data.pub_key,h=UA.signature.decode(t,"der"),a=h.s,u=h.r;LA(a,n),LA(u,n);var f=RA.mont(i),l=a.invm(n);return 0===o.toRed(f).redPow(new RA(e).mul(l).mod(n)).fromRed().mul(s.toRed(f).redPow(u.mul(l).mod(n)).fromRed()).mod(i).mod(n).cmp(u)}(t,e,o)}if("rsa"!==i&&"ecdsa/rsa"!==i)throw new Error("wrong public key type");e=BA.concat([n,e]);for(var s=o.modulus.byteLength(),h=[1],a=0;e.length+h.length+2<s;)h.push(255),a++;h.push(0);for(var u=-1;++u<e.length;)h.push(e[u]);h=BA.from(h);var f=RA.mont(o.modulus);t=(t=new RA(t).toRed(f)).redPow(new RA(o.publicExponent)),t=BA.from(t.fromRed().toArray());var l=a<8?1:0;for(s=Math.min(t.length,h.length),t.length!==h.length&&(l=1),u=-1;++u<s;)l|=t[u]^h[u];return 0===l},jA=xt.exports.Buffer,HA=ks,qA=Ft.exports,KA=Pt.exports,FA=EE.exports,zA=DA,WA=Cw;function VA(t){qA.Writable.call(this);var e=WA[t];if(!e)throw new Error("Unknown message digest");this._hashType=e.hash,this._hash=HA(e.hash),this._tag=e.id,this._signType=e.sign}function ZA(t){qA.Writable.call(this);var e=WA[t];if(!e)throw new Error("Unknown message digest");this._hash=HA(e.hash),this._tag=e.id,this._signType=e.sign}function GA(t){return new VA(t)}function $A(t){return new ZA(t)}Object.keys(WA).forEach((function(t){WA[t].id=jA.from(WA[t].id,"hex"),WA[t.toLowerCase()]=WA[t]})),KA(VA,qA.Writable),VA.prototype._write=function(t,e,r){this._hash.update(t),r()},VA.prototype.update=function(t,e){return"string"==typeof t&&(t=jA.from(t,e)),this._hash.update(t),this},VA.prototype.sign=function(t,e){this.end();var r=this._hash.digest(),i=FA(r,t,this._hashType,this._signType,this._tag);return e?i.toString(e):i},KA(ZA,qA.Writable),ZA.prototype._write=function(t,e,r){this._hash.update(t),r()},ZA.prototype.update=function(t,e){return"string"==typeof t&&(t=jA.from(t,e)),this._hash.update(t),this},ZA.prototype.verify=function(t,e,r){"string"==typeof e&&(e=jA.from(e,r)),this.end();var i=this._hash.digest();return zA(e,i,t,this._signType,this._tag)};var XA={Sign:GA,Verify:$A,createSign:GA,createVerify:$A},YA={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Re.Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s<o;s++){var h=t.charCodeAt(s)-48;n*=i,n+=h>=49?h-49+10:h>=17?h-17+10:h}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?u[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);i=(p=p.idivn(d)).isZero()?m+i:u[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,h,a="le"===e,u=new t(o),f=this.clone();if(a){for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[h]=s;for(;h<o;h++)u[h]=0}else{for(h=0;h<o-n;h++)u[h]=0;for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[o-h-1]=s}return u},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this.strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=c),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?c(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e)},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i<t;i++)e[i]=this.revBin(i,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var i=0,n=0;n<e;n++)i|=(1&t)<<e-n-1,t>>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s<o;s++)i[s]=e[t[s]],n[s]=r[t[s]]},m.prototype.transform=function(t,e,r,i,n,o){this.permute(o,t,e,r,i,n);for(var s=1;s<n;s<<=1)for(var h=s<<1,a=Math.cos(2*Math.PI/h),u=Math.sin(2*Math.PI/h),f=0;f<n;f+=h)for(var l=a,c=u,d=0;d<s;d++){var p=r[f+d],m=i[f+d],g=r[f+d+s],y=i[f+d+s],v=l*g-c*y;y=l*y+c*g,g=v,r[f+d]=p+g,i[f+d]=m+y,r[f+d+s]=p-g,i[f+d+s]=m-y,d!==h&&(v=a*l-u*c,c=a*c+u*l,l=v)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=t[i];t[i]=t[r-i-1],t[r-i-1]=n,n=e[i],e[i]=-e[r-i-1],e[r-i-1]=-n}},m.prototype.normalize13b=function(t,e){for(var r=0,i=0;i<e/2;i++){var n=8192*Math.round(t[2*i+1]/e)+Math.round(t[2*i]/e)+r;t[i]=67108863&n,r=n<67108864?0:n/67108864|0}return t},m.prototype.convert13b=function(t,e,i,n){for(var o=0,s=0;s<e;s++)o+=0|t[s],i[2*s]=8191&o,o>>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<n;++s)i[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var i=2*this.guessLen13b(t.length,e.length),n=this.makeRBT(i),o=this.stub(i),s=new Array(i),h=new Array(i),a=new Array(i),u=new Array(i),f=new Array(i),l=new Array(i),c=r.words;c.length=i,this.convert13b(t.words,t.length,s,i),this.convert13b(e.words,e.length,u,i),this.transform(s,o,h,a,i,n),this.transform(u,o,f,l,i,n);for(var d=0;d<i;d++){var p=h[d]*f[d]-a[d]*l[d];a[d]=h[d]*l[d]+a[d]*f[d],h[d]=p}return this.conjugate(h,a,i),this.transform(h,a,c,o,i,n),this.conjugate(c,o,i),this.normalize13b(c,i),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),p(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,i=0;i<this.length;i++){var n=(0|this.words[i])*t,o=(67108863&n)+(67108863&e);e>>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=(t.words[i]&1<<n)>>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this.strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,y),i(w,y),i(M,y),M.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new S(t)},i(S,_),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(YA,A);var JA=Js,QA=YA.exports,tI={secp256k1:{name:"secp256k1",byteLength:32},secp224r1:{name:"p224",byteLength:28},prime256v1:{name:"p256",byteLength:32},prime192v1:{name:"p192",byteLength:24},ed25519:{name:"ed25519",byteLength:32},secp384r1:{name:"p384",byteLength:48},secp521r1:{name:"p521",byteLength:66}};function eI(t){this.curveType=tI[t],this.curveType||(this.curveType={name:t}),this.curve=new JA.ec(this.curveType.name),this.keys=void 0}function rI(t,e,r){Array.isArray(t)||(t=t.toArray());var i=new z(t);if(r&&i.length<r){var n=new z(r-i.length);n.fill(0),i=z.concat([n,i])}return e?i.toString(e):i}tI.p224=tI.secp224r1,tI.p256=tI.secp256r1=tI.prime256v1,tI.p192=tI.secp192r1=tI.prime192v1,tI.p384=tI.secp384r1,tI.p521=tI.secp521r1,eI.prototype.generateKeys=function(t,e){return this.keys=this.curve.genKeyPair(),this.getPublicKey(t,e)},eI.prototype.computeSecret=function(t,e,r){return e=e||"utf8",At(t)||(t=new z(t,e)),rI(this.curve.keyFromPublic(t).getPublic().mul(this.keys.getPrivate()).getX(),r,this.curveType.byteLength)},eI.prototype.getPublicKey=function(t,e){var r=this.keys.getPublic("compressed"===e,!0);return"hybrid"===e&&(r[r.length-1]%2?r[0]=7:r[0]=6),rI(r,t)},eI.prototype.getPrivateKey=function(t){return rI(this.keys.getPrivate(),t)},eI.prototype.setPublicKey=function(t,e){return e=e||"utf8",At(t)||(t=new z(t,e)),this.keys._importPublic(t),this},eI.prototype.setPrivateKey=function(t,e){e=e||"utf8",At(t)||(t=new z(t,e));var r=new QA(t);return r=r.toString(16),this.keys=this.curve.genKeyPair(),this.keys._importPrivate(r),this};var iI={},nI=ks,oI=xt.exports.Buffer,sI=function(t,e){for(var r,i=oI.alloc(0),n=0;i.length<e;)r=hI(n++),i=oI.concat([i,nI("sha1").update(t).update(r).digest()]);return i.slice(0,e)};function hI(t){var e=oI.allocUnsafe(4);return e.writeUInt32BE(t,0),e}var aI=function(t,e){for(var r=t.length,i=-1;++i<r;)t[i]^=e[i];return t},uI={exports:{}};!function(t,e){function r(t,e){if(!t)throw new Error(e||"Assertion failed")}function i(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}function n(t,e,r){if(n.isBN(t))return t;this.negative=0,this.words=null,this.length=0,this.red=null,null!==t&&("le"!==e&&"be"!==e||(r=e,e=10),this._init(t||0,e||10,r||"be"))}var o;"object"==typeof t?t.exports=n:e.BN=n,n.BN=n,n.wordSize=26;try{o="undefined"!=typeof window&&void 0!==window.Buffer?window.Buffer:Re.Buffer}catch(t){}function s(t,e){var r=t.charCodeAt(e);return r>=65&&r<=70?r-55:r>=97&&r<=102?r-87:r-48&15}function h(t,e,r){var i=s(t,r);return r-1>=e&&(i|=s(t,r-1)<<4),i}function a(t,e,r,i){for(var n=0,o=Math.min(t.length,r),s=e;s<o;s++){var h=t.charCodeAt(s)-48;n*=i,n+=h>=49?h-49+10:h>=17?h-17+10:h}return n}n.isBN=function(t){return t instanceof n||null!==t&&"object"==typeof t&&t.constructor.wordSize===n.wordSize&&Array.isArray(t.words)},n.max=function(t,e){return t.cmp(e)>0?t:e},n.min=function(t,e){return t.cmp(e)<0?t:e},n.prototype._init=function(t,e,i){if("number"==typeof t)return this._initNumber(t,e,i);if("object"==typeof t)return this._initArray(t,e,i);"hex"===e&&(e=16),r(e===(0|e)&&e>=2&&e<=36);var n=0;"-"===(t=t.toString().replace(/\s+/g,""))[0]&&(n++,this.negative=1),n<t.length&&(16===e?this._parseHex(t,n,i):(this._parseBase(t,e,n),"le"===i&&this._initArray(this.toArray(),e,i)))},n.prototype._initNumber=function(t,e,i){t<0&&(this.negative=1,t=-t),t<67108864?(this.words=[67108863&t],this.length=1):t<4503599627370496?(this.words=[67108863&t,t/67108864&67108863],this.length=2):(r(t<9007199254740992),this.words=[67108863&t,t/67108864&67108863,1],this.length=3),"le"===i&&this._initArray(this.toArray(),e,i)},n.prototype._initArray=function(t,e,i){if(r("number"==typeof t.length),t.length<=0)return this.words=[0],this.length=1,this;this.length=Math.ceil(t.length/3),this.words=new Array(this.length);for(var n=0;n<this.length;n++)this.words[n]=0;var o,s,h=0;if("be"===i)for(n=t.length-1,o=0;n>=0;n-=3)s=t[n]|t[n-1]<<8|t[n-2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);else if("le"===i)for(n=0,o=0;n<t.length;n+=3)s=t[n]|t[n+1]<<8|t[n+2]<<16,this.words[o]|=s<<h&67108863,this.words[o+1]=s>>>26-h&67108863,(h+=24)>=26&&(h-=26,o++);return this.strip()},n.prototype._parseHex=function(t,e,r){this.length=Math.ceil((t.length-e)/6),this.words=new Array(this.length);for(var i=0;i<this.length;i++)this.words[i]=0;var n,o=0,s=0;if("be"===r)for(i=t.length-1;i>=e;i-=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;else for(i=(t.length-e)%2==0?e+1:e;i<t.length;i+=2)n=h(t,e,i)<<o,this.words[s]|=67108863&n,o>=18?(o-=18,s+=1,this.words[s]|=n>>>26):o+=8;this.strip()},n.prototype._parseBase=function(t,e,r){this.words=[0],this.length=1;for(var i=0,n=1;n<=67108863;n*=e)i++;i--,n=n/e|0;for(var o=t.length-r,s=o%i,h=Math.min(o,o-s)+r,u=0,f=r;f<h;f+=i)u=a(t,f,f+i,e),this.imuln(n),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u);if(0!==s){var l=1;for(u=a(t,f,t.length,e),f=0;f<s;f++)l*=e;this.imuln(l),this.words[0]+u<67108864?this.words[0]+=u:this._iaddn(u)}this.strip()},n.prototype.copy=function(t){t.words=new Array(this.length);for(var e=0;e<this.length;e++)t.words[e]=this.words[e];t.length=this.length,t.negative=this.negative,t.red=this.red},n.prototype.clone=function(){var t=new n(null);return this.copy(t),t},n.prototype._expand=function(t){for(;this.length<t;)this.words[this.length++]=0;return this},n.prototype.strip=function(){for(;this.length>1&&0===this.words[this.length-1];)this.length--;return this._normSign()},n.prototype._normSign=function(){return 1===this.length&&0===this.words[0]&&(this.negative=0),this},n.prototype.inspect=function(){return(this.red?"<BN-R: ":"<BN: ")+this.toString(16)+">"};var u=["","0","00","000","0000","00000","000000","0000000","00000000","000000000","0000000000","00000000000","000000000000","0000000000000","00000000000000","000000000000000","0000000000000000","00000000000000000","000000000000000000","0000000000000000000","00000000000000000000","000000000000000000000","0000000000000000000000","00000000000000000000000","000000000000000000000000","0000000000000000000000000"],f=[0,0,25,16,12,11,10,9,8,8,7,7,7,7,6,6,6,6,6,6,6,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5],l=[0,0,33554432,43046721,16777216,48828125,60466176,40353607,16777216,43046721,1e7,19487171,35831808,62748517,7529536,11390625,16777216,24137569,34012224,47045881,64e6,4084101,5153632,6436343,7962624,9765625,11881376,14348907,17210368,20511149,243e5,28629151,33554432,39135393,45435424,52521875,60466176];function c(t,e,r){r.negative=e.negative^t.negative;var i=t.length+e.length|0;r.length=i,i=i-1|0;var n=0|t.words[0],o=0|e.words[0],s=n*o,h=67108863&s,a=s/67108864|0;r.words[0]=h;for(var u=1;u<i;u++){for(var f=a>>>26,l=67108863&a,c=Math.min(u,e.length-1),d=Math.max(0,u-t.length+1);d<=c;d++){var p=u-d|0;f+=(s=(n=0|t.words[p])*(o=0|e.words[d])+l)/67108864|0,l=67108863&s}r.words[u]=0|l,a=0|f}return 0!==a?r.words[u]=0|a:r.length--,r.strip()}n.prototype.toString=function(t,e){var i;if(e=0|e||1,16===(t=t||10)||"hex"===t){i="";for(var n=0,o=0,s=0;s<this.length;s++){var h=this.words[s],a=(16777215&(h<<n|o)).toString(16);i=0!=(o=h>>>24-n&16777215)||s!==this.length-1?u[6-a.length]+a+i:a+i,(n+=2)>=26&&(n-=26,s--)}for(0!==o&&(i=o.toString(16)+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}if(t===(0|t)&&t>=2&&t<=36){var c=f[t],d=l[t];i="";var p=this.clone();for(p.negative=0;!p.isZero();){var m=p.modn(d).toString(t);i=(p=p.idivn(d)).isZero()?m+i:u[c-m.length]+m+i}for(this.isZero()&&(i="0"+i);i.length%e!=0;)i="0"+i;return 0!==this.negative&&(i="-"+i),i}r(!1,"Base should be between 2 and 36")},n.prototype.toNumber=function(){var t=this.words[0];return 2===this.length?t+=67108864*this.words[1]:3===this.length&&1===this.words[2]?t+=4503599627370496+67108864*this.words[1]:this.length>2&&r(!1,"Number can only safely store up to 53 bits"),0!==this.negative?-t:t},n.prototype.toJSON=function(){return this.toString(16)},n.prototype.toBuffer=function(t,e){return r(void 0!==o),this.toArrayLike(o,t,e)},n.prototype.toArray=function(t,e){return this.toArrayLike(Array,t,e)},n.prototype.toArrayLike=function(t,e,i){var n=this.byteLength(),o=i||Math.max(1,n);r(n<=o,"byte array longer than desired length"),r(o>0,"Requested array length <= 0"),this.strip();var s,h,a="le"===e,u=new t(o),f=this.clone();if(a){for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[h]=s;for(;h<o;h++)u[h]=0}else{for(h=0;h<o-n;h++)u[h]=0;for(h=0;!f.isZero();h++)s=f.andln(255),f.iushrn(8),u[o-h-1]=s}return u},Math.clz32?n.prototype._countBits=function(t){return 32-Math.clz32(t)}:n.prototype._countBits=function(t){var e=t,r=0;return e>=4096&&(r+=13,e>>>=13),e>=64&&(r+=7,e>>>=7),e>=8&&(r+=4,e>>>=4),e>=2&&(r+=2,e>>>=2),r+e},n.prototype._zeroBits=function(t){if(0===t)return 26;var e=t,r=0;return 0==(8191&e)&&(r+=13,e>>>=13),0==(127&e)&&(r+=7,e>>>=7),0==(15&e)&&(r+=4,e>>>=4),0==(3&e)&&(r+=2,e>>>=2),0==(1&e)&&r++,r},n.prototype.bitLength=function(){var t=this.words[this.length-1],e=this._countBits(t);return 26*(this.length-1)+e},n.prototype.zeroBits=function(){if(this.isZero())return 0;for(var t=0,e=0;e<this.length;e++){var r=this._zeroBits(this.words[e]);if(t+=r,26!==r)break}return t},n.prototype.byteLength=function(){return Math.ceil(this.bitLength()/8)},n.prototype.toTwos=function(t){return 0!==this.negative?this.abs().inotn(t).iaddn(1):this.clone()},n.prototype.fromTwos=function(t){return this.testn(t-1)?this.notn(t).iaddn(1).ineg():this.clone()},n.prototype.isNeg=function(){return 0!==this.negative},n.prototype.neg=function(){return this.clone().ineg()},n.prototype.ineg=function(){return this.isZero()||(this.negative^=1),this},n.prototype.iuor=function(t){for(;this.length<t.length;)this.words[this.length++]=0;for(var e=0;e<t.length;e++)this.words[e]=this.words[e]|t.words[e];return this.strip()},n.prototype.ior=function(t){return r(0==(this.negative|t.negative)),this.iuor(t)},n.prototype.or=function(t){return this.length>t.length?this.clone().ior(t):t.clone().ior(this)},n.prototype.uor=function(t){return this.length>t.length?this.clone().iuor(t):t.clone().iuor(this)},n.prototype.iuand=function(t){var e;e=this.length>t.length?t:this;for(var r=0;r<e.length;r++)this.words[r]=this.words[r]&t.words[r];return this.length=e.length,this.strip()},n.prototype.iand=function(t){return r(0==(this.negative|t.negative)),this.iuand(t)},n.prototype.and=function(t){return this.length>t.length?this.clone().iand(t):t.clone().iand(this)},n.prototype.uand=function(t){return this.length>t.length?this.clone().iuand(t):t.clone().iuand(this)},n.prototype.iuxor=function(t){var e,r;this.length>t.length?(e=this,r=t):(e=t,r=this);for(var i=0;i<r.length;i++)this.words[i]=e.words[i]^r.words[i];if(this!==e)for(;i<e.length;i++)this.words[i]=e.words[i];return this.length=e.length,this.strip()},n.prototype.ixor=function(t){return r(0==(this.negative|t.negative)),this.iuxor(t)},n.prototype.xor=function(t){return this.length>t.length?this.clone().ixor(t):t.clone().ixor(this)},n.prototype.uxor=function(t){return this.length>t.length?this.clone().iuxor(t):t.clone().iuxor(this)},n.prototype.inotn=function(t){r("number"==typeof t&&t>=0);var e=0|Math.ceil(t/26),i=t%26;this._expand(e),i>0&&e--;for(var n=0;n<e;n++)this.words[n]=67108863&~this.words[n];return i>0&&(this.words[n]=~this.words[n]&67108863>>26-i),this.strip()},n.prototype.notn=function(t){return this.clone().inotn(t)},n.prototype.setn=function(t,e){r("number"==typeof t&&t>=0);var i=t/26|0,n=t%26;return this._expand(i+1),this.words[i]=e?this.words[i]|1<<n:this.words[i]&~(1<<n),this.strip()},n.prototype.iadd=function(t){var e,r,i;if(0!==this.negative&&0===t.negative)return this.negative=0,e=this.isub(t),this.negative^=1,this._normSign();if(0===this.negative&&0!==t.negative)return t.negative=0,e=this.isub(t),t.negative=1,e._normSign();this.length>t.length?(r=this,i=t):(r=t,i=this);for(var n=0,o=0;o<i.length;o++)e=(0|r.words[o])+(0|i.words[o])+n,this.words[o]=67108863&e,n=e>>>26;for(;0!==n&&o<r.length;o++)e=(0|r.words[o])+n,this.words[o]=67108863&e,n=e>>>26;if(this.length=r.length,0!==n)this.words[this.length]=n,this.length++;else if(r!==this)for(;o<r.length;o++)this.words[o]=r.words[o];return this},n.prototype.add=function(t){var e;return 0!==t.negative&&0===this.negative?(t.negative=0,e=this.sub(t),t.negative^=1,e):0===t.negative&&0!==this.negative?(this.negative=0,e=t.sub(this),this.negative=1,e):this.length>t.length?this.clone().iadd(t):t.clone().iadd(this)},n.prototype.isub=function(t){if(0!==t.negative){t.negative=0;var e=this.iadd(t);return t.negative=1,e._normSign()}if(0!==this.negative)return this.negative=0,this.iadd(t),this.negative=1,this._normSign();var r,i,n=this.cmp(t);if(0===n)return this.negative=0,this.length=1,this.words[0]=0,this;n>0?(r=this,i=t):(r=t,i=this);for(var o=0,s=0;s<i.length;s++)o=(e=(0|r.words[s])-(0|i.words[s])+o)>>26,this.words[s]=67108863&e;for(;0!==o&&s<r.length;s++)o=(e=(0|r.words[s])+o)>>26,this.words[s]=67108863&e;if(0===o&&s<r.length&&r!==this)for(;s<r.length;s++)this.words[s]=r.words[s];return this.length=Math.max(this.length,s),r!==this&&(this.negative=1),this.strip()},n.prototype.sub=function(t){return this.clone().isub(t)};var d=function(t,e,r){var i,n,o,s=t.words,h=e.words,a=r.words,u=0,f=0|s[0],l=8191&f,c=f>>>13,d=0|s[1],p=8191&d,m=d>>>13,g=0|s[2],y=8191&g,v=g>>>13,b=0|s[3],w=8191&b,M=b>>>13,_=0|s[4],S=8191&_,E=_>>>13,k=0|s[5],A=8191&k,I=k>>>13,T=0|s[6],O=8191&T,P=T>>>13,x=0|s[7],B=8191&x,R=x>>>13,N=0|s[8],U=8191&N,C=N>>>13,L=0|s[9],D=8191&L,j=L>>>13,H=0|h[0],q=8191&H,K=H>>>13,F=0|h[1],z=8191&F,W=F>>>13,V=0|h[2],Z=8191&V,G=V>>>13,$=0|h[3],X=8191&$,Y=$>>>13,J=0|h[4],Q=8191&J,tt=J>>>13,et=0|h[5],rt=8191&et,it=et>>>13,nt=0|h[6],ot=8191&nt,st=nt>>>13,ht=0|h[7],at=8191&ht,ut=ht>>>13,ft=0|h[8],lt=8191&ft,ct=ft>>>13,dt=0|h[9],pt=8191&dt,mt=dt>>>13;r.negative=t.negative^e.negative,r.length=19;var gt=(u+(i=Math.imul(l,q))|0)+((8191&(n=(n=Math.imul(l,K))+Math.imul(c,q)|0))<<13)|0;u=((o=Math.imul(c,K))+(n>>>13)|0)+(gt>>>26)|0,gt&=67108863,i=Math.imul(p,q),n=(n=Math.imul(p,K))+Math.imul(m,q)|0,o=Math.imul(m,K);var yt=(u+(i=i+Math.imul(l,z)|0)|0)+((8191&(n=(n=n+Math.imul(l,W)|0)+Math.imul(c,z)|0))<<13)|0;u=((o=o+Math.imul(c,W)|0)+(n>>>13)|0)+(yt>>>26)|0,yt&=67108863,i=Math.imul(y,q),n=(n=Math.imul(y,K))+Math.imul(v,q)|0,o=Math.imul(v,K),i=i+Math.imul(p,z)|0,n=(n=n+Math.imul(p,W)|0)+Math.imul(m,z)|0,o=o+Math.imul(m,W)|0;var vt=(u+(i=i+Math.imul(l,Z)|0)|0)+((8191&(n=(n=n+Math.imul(l,G)|0)+Math.imul(c,Z)|0))<<13)|0;u=((o=o+Math.imul(c,G)|0)+(n>>>13)|0)+(vt>>>26)|0,vt&=67108863,i=Math.imul(w,q),n=(n=Math.imul(w,K))+Math.imul(M,q)|0,o=Math.imul(M,K),i=i+Math.imul(y,z)|0,n=(n=n+Math.imul(y,W)|0)+Math.imul(v,z)|0,o=o+Math.imul(v,W)|0,i=i+Math.imul(p,Z)|0,n=(n=n+Math.imul(p,G)|0)+Math.imul(m,Z)|0,o=o+Math.imul(m,G)|0;var bt=(u+(i=i+Math.imul(l,X)|0)|0)+((8191&(n=(n=n+Math.imul(l,Y)|0)+Math.imul(c,X)|0))<<13)|0;u=((o=o+Math.imul(c,Y)|0)+(n>>>13)|0)+(bt>>>26)|0,bt&=67108863,i=Math.imul(S,q),n=(n=Math.imul(S,K))+Math.imul(E,q)|0,o=Math.imul(E,K),i=i+Math.imul(w,z)|0,n=(n=n+Math.imul(w,W)|0)+Math.imul(M,z)|0,o=o+Math.imul(M,W)|0,i=i+Math.imul(y,Z)|0,n=(n=n+Math.imul(y,G)|0)+Math.imul(v,Z)|0,o=o+Math.imul(v,G)|0,i=i+Math.imul(p,X)|0,n=(n=n+Math.imul(p,Y)|0)+Math.imul(m,X)|0,o=o+Math.imul(m,Y)|0;var wt=(u+(i=i+Math.imul(l,Q)|0)|0)+((8191&(n=(n=n+Math.imul(l,tt)|0)+Math.imul(c,Q)|0))<<13)|0;u=((o=o+Math.imul(c,tt)|0)+(n>>>13)|0)+(wt>>>26)|0,wt&=67108863,i=Math.imul(A,q),n=(n=Math.imul(A,K))+Math.imul(I,q)|0,o=Math.imul(I,K),i=i+Math.imul(S,z)|0,n=(n=n+Math.imul(S,W)|0)+Math.imul(E,z)|0,o=o+Math.imul(E,W)|0,i=i+Math.imul(w,Z)|0,n=(n=n+Math.imul(w,G)|0)+Math.imul(M,Z)|0,o=o+Math.imul(M,G)|0,i=i+Math.imul(y,X)|0,n=(n=n+Math.imul(y,Y)|0)+Math.imul(v,X)|0,o=o+Math.imul(v,Y)|0,i=i+Math.imul(p,Q)|0,n=(n=n+Math.imul(p,tt)|0)+Math.imul(m,Q)|0,o=o+Math.imul(m,tt)|0;var Mt=(u+(i=i+Math.imul(l,rt)|0)|0)+((8191&(n=(n=n+Math.imul(l,it)|0)+Math.imul(c,rt)|0))<<13)|0;u=((o=o+Math.imul(c,it)|0)+(n>>>13)|0)+(Mt>>>26)|0,Mt&=67108863,i=Math.imul(O,q),n=(n=Math.imul(O,K))+Math.imul(P,q)|0,o=Math.imul(P,K),i=i+Math.imul(A,z)|0,n=(n=n+Math.imul(A,W)|0)+Math.imul(I,z)|0,o=o+Math.imul(I,W)|0,i=i+Math.imul(S,Z)|0,n=(n=n+Math.imul(S,G)|0)+Math.imul(E,Z)|0,o=o+Math.imul(E,G)|0,i=i+Math.imul(w,X)|0,n=(n=n+Math.imul(w,Y)|0)+Math.imul(M,X)|0,o=o+Math.imul(M,Y)|0,i=i+Math.imul(y,Q)|0,n=(n=n+Math.imul(y,tt)|0)+Math.imul(v,Q)|0,o=o+Math.imul(v,tt)|0,i=i+Math.imul(p,rt)|0,n=(n=n+Math.imul(p,it)|0)+Math.imul(m,rt)|0,o=o+Math.imul(m,it)|0;var _t=(u+(i=i+Math.imul(l,ot)|0)|0)+((8191&(n=(n=n+Math.imul(l,st)|0)+Math.imul(c,ot)|0))<<13)|0;u=((o=o+Math.imul(c,st)|0)+(n>>>13)|0)+(_t>>>26)|0,_t&=67108863,i=Math.imul(B,q),n=(n=Math.imul(B,K))+Math.imul(R,q)|0,o=Math.imul(R,K),i=i+Math.imul(O,z)|0,n=(n=n+Math.imul(O,W)|0)+Math.imul(P,z)|0,o=o+Math.imul(P,W)|0,i=i+Math.imul(A,Z)|0,n=(n=n+Math.imul(A,G)|0)+Math.imul(I,Z)|0,o=o+Math.imul(I,G)|0,i=i+Math.imul(S,X)|0,n=(n=n+Math.imul(S,Y)|0)+Math.imul(E,X)|0,o=o+Math.imul(E,Y)|0,i=i+Math.imul(w,Q)|0,n=(n=n+Math.imul(w,tt)|0)+Math.imul(M,Q)|0,o=o+Math.imul(M,tt)|0,i=i+Math.imul(y,rt)|0,n=(n=n+Math.imul(y,it)|0)+Math.imul(v,rt)|0,o=o+Math.imul(v,it)|0,i=i+Math.imul(p,ot)|0,n=(n=n+Math.imul(p,st)|0)+Math.imul(m,ot)|0,o=o+Math.imul(m,st)|0;var St=(u+(i=i+Math.imul(l,at)|0)|0)+((8191&(n=(n=n+Math.imul(l,ut)|0)+Math.imul(c,at)|0))<<13)|0;u=((o=o+Math.imul(c,ut)|0)+(n>>>13)|0)+(St>>>26)|0,St&=67108863,i=Math.imul(U,q),n=(n=Math.imul(U,K))+Math.imul(C,q)|0,o=Math.imul(C,K),i=i+Math.imul(B,z)|0,n=(n=n+Math.imul(B,W)|0)+Math.imul(R,z)|0,o=o+Math.imul(R,W)|0,i=i+Math.imul(O,Z)|0,n=(n=n+Math.imul(O,G)|0)+Math.imul(P,Z)|0,o=o+Math.imul(P,G)|0,i=i+Math.imul(A,X)|0,n=(n=n+Math.imul(A,Y)|0)+Math.imul(I,X)|0,o=o+Math.imul(I,Y)|0,i=i+Math.imul(S,Q)|0,n=(n=n+Math.imul(S,tt)|0)+Math.imul(E,Q)|0,o=o+Math.imul(E,tt)|0,i=i+Math.imul(w,rt)|0,n=(n=n+Math.imul(w,it)|0)+Math.imul(M,rt)|0,o=o+Math.imul(M,it)|0,i=i+Math.imul(y,ot)|0,n=(n=n+Math.imul(y,st)|0)+Math.imul(v,ot)|0,o=o+Math.imul(v,st)|0,i=i+Math.imul(p,at)|0,n=(n=n+Math.imul(p,ut)|0)+Math.imul(m,at)|0,o=o+Math.imul(m,ut)|0;var Et=(u+(i=i+Math.imul(l,lt)|0)|0)+((8191&(n=(n=n+Math.imul(l,ct)|0)+Math.imul(c,lt)|0))<<13)|0;u=((o=o+Math.imul(c,ct)|0)+(n>>>13)|0)+(Et>>>26)|0,Et&=67108863,i=Math.imul(D,q),n=(n=Math.imul(D,K))+Math.imul(j,q)|0,o=Math.imul(j,K),i=i+Math.imul(U,z)|0,n=(n=n+Math.imul(U,W)|0)+Math.imul(C,z)|0,o=o+Math.imul(C,W)|0,i=i+Math.imul(B,Z)|0,n=(n=n+Math.imul(B,G)|0)+Math.imul(R,Z)|0,o=o+Math.imul(R,G)|0,i=i+Math.imul(O,X)|0,n=(n=n+Math.imul(O,Y)|0)+Math.imul(P,X)|0,o=o+Math.imul(P,Y)|0,i=i+Math.imul(A,Q)|0,n=(n=n+Math.imul(A,tt)|0)+Math.imul(I,Q)|0,o=o+Math.imul(I,tt)|0,i=i+Math.imul(S,rt)|0,n=(n=n+Math.imul(S,it)|0)+Math.imul(E,rt)|0,o=o+Math.imul(E,it)|0,i=i+Math.imul(w,ot)|0,n=(n=n+Math.imul(w,st)|0)+Math.imul(M,ot)|0,o=o+Math.imul(M,st)|0,i=i+Math.imul(y,at)|0,n=(n=n+Math.imul(y,ut)|0)+Math.imul(v,at)|0,o=o+Math.imul(v,ut)|0,i=i+Math.imul(p,lt)|0,n=(n=n+Math.imul(p,ct)|0)+Math.imul(m,lt)|0,o=o+Math.imul(m,ct)|0;var kt=(u+(i=i+Math.imul(l,pt)|0)|0)+((8191&(n=(n=n+Math.imul(l,mt)|0)+Math.imul(c,pt)|0))<<13)|0;u=((o=o+Math.imul(c,mt)|0)+(n>>>13)|0)+(kt>>>26)|0,kt&=67108863,i=Math.imul(D,z),n=(n=Math.imul(D,W))+Math.imul(j,z)|0,o=Math.imul(j,W),i=i+Math.imul(U,Z)|0,n=(n=n+Math.imul(U,G)|0)+Math.imul(C,Z)|0,o=o+Math.imul(C,G)|0,i=i+Math.imul(B,X)|0,n=(n=n+Math.imul(B,Y)|0)+Math.imul(R,X)|0,o=o+Math.imul(R,Y)|0,i=i+Math.imul(O,Q)|0,n=(n=n+Math.imul(O,tt)|0)+Math.imul(P,Q)|0,o=o+Math.imul(P,tt)|0,i=i+Math.imul(A,rt)|0,n=(n=n+Math.imul(A,it)|0)+Math.imul(I,rt)|0,o=o+Math.imul(I,it)|0,i=i+Math.imul(S,ot)|0,n=(n=n+Math.imul(S,st)|0)+Math.imul(E,ot)|0,o=o+Math.imul(E,st)|0,i=i+Math.imul(w,at)|0,n=(n=n+Math.imul(w,ut)|0)+Math.imul(M,at)|0,o=o+Math.imul(M,ut)|0,i=i+Math.imul(y,lt)|0,n=(n=n+Math.imul(y,ct)|0)+Math.imul(v,lt)|0,o=o+Math.imul(v,ct)|0;var At=(u+(i=i+Math.imul(p,pt)|0)|0)+((8191&(n=(n=n+Math.imul(p,mt)|0)+Math.imul(m,pt)|0))<<13)|0;u=((o=o+Math.imul(m,mt)|0)+(n>>>13)|0)+(At>>>26)|0,At&=67108863,i=Math.imul(D,Z),n=(n=Math.imul(D,G))+Math.imul(j,Z)|0,o=Math.imul(j,G),i=i+Math.imul(U,X)|0,n=(n=n+Math.imul(U,Y)|0)+Math.imul(C,X)|0,o=o+Math.imul(C,Y)|0,i=i+Math.imul(B,Q)|0,n=(n=n+Math.imul(B,tt)|0)+Math.imul(R,Q)|0,o=o+Math.imul(R,tt)|0,i=i+Math.imul(O,rt)|0,n=(n=n+Math.imul(O,it)|0)+Math.imul(P,rt)|0,o=o+Math.imul(P,it)|0,i=i+Math.imul(A,ot)|0,n=(n=n+Math.imul(A,st)|0)+Math.imul(I,ot)|0,o=o+Math.imul(I,st)|0,i=i+Math.imul(S,at)|0,n=(n=n+Math.imul(S,ut)|0)+Math.imul(E,at)|0,o=o+Math.imul(E,ut)|0,i=i+Math.imul(w,lt)|0,n=(n=n+Math.imul(w,ct)|0)+Math.imul(M,lt)|0,o=o+Math.imul(M,ct)|0;var It=(u+(i=i+Math.imul(y,pt)|0)|0)+((8191&(n=(n=n+Math.imul(y,mt)|0)+Math.imul(v,pt)|0))<<13)|0;u=((o=o+Math.imul(v,mt)|0)+(n>>>13)|0)+(It>>>26)|0,It&=67108863,i=Math.imul(D,X),n=(n=Math.imul(D,Y))+Math.imul(j,X)|0,o=Math.imul(j,Y),i=i+Math.imul(U,Q)|0,n=(n=n+Math.imul(U,tt)|0)+Math.imul(C,Q)|0,o=o+Math.imul(C,tt)|0,i=i+Math.imul(B,rt)|0,n=(n=n+Math.imul(B,it)|0)+Math.imul(R,rt)|0,o=o+Math.imul(R,it)|0,i=i+Math.imul(O,ot)|0,n=(n=n+Math.imul(O,st)|0)+Math.imul(P,ot)|0,o=o+Math.imul(P,st)|0,i=i+Math.imul(A,at)|0,n=(n=n+Math.imul(A,ut)|0)+Math.imul(I,at)|0,o=o+Math.imul(I,ut)|0,i=i+Math.imul(S,lt)|0,n=(n=n+Math.imul(S,ct)|0)+Math.imul(E,lt)|0,o=o+Math.imul(E,ct)|0;var Tt=(u+(i=i+Math.imul(w,pt)|0)|0)+((8191&(n=(n=n+Math.imul(w,mt)|0)+Math.imul(M,pt)|0))<<13)|0;u=((o=o+Math.imul(M,mt)|0)+(n>>>13)|0)+(Tt>>>26)|0,Tt&=67108863,i=Math.imul(D,Q),n=(n=Math.imul(D,tt))+Math.imul(j,Q)|0,o=Math.imul(j,tt),i=i+Math.imul(U,rt)|0,n=(n=n+Math.imul(U,it)|0)+Math.imul(C,rt)|0,o=o+Math.imul(C,it)|0,i=i+Math.imul(B,ot)|0,n=(n=n+Math.imul(B,st)|0)+Math.imul(R,ot)|0,o=o+Math.imul(R,st)|0,i=i+Math.imul(O,at)|0,n=(n=n+Math.imul(O,ut)|0)+Math.imul(P,at)|0,o=o+Math.imul(P,ut)|0,i=i+Math.imul(A,lt)|0,n=(n=n+Math.imul(A,ct)|0)+Math.imul(I,lt)|0,o=o+Math.imul(I,ct)|0;var Ot=(u+(i=i+Math.imul(S,pt)|0)|0)+((8191&(n=(n=n+Math.imul(S,mt)|0)+Math.imul(E,pt)|0))<<13)|0;u=((o=o+Math.imul(E,mt)|0)+(n>>>13)|0)+(Ot>>>26)|0,Ot&=67108863,i=Math.imul(D,rt),n=(n=Math.imul(D,it))+Math.imul(j,rt)|0,o=Math.imul(j,it),i=i+Math.imul(U,ot)|0,n=(n=n+Math.imul(U,st)|0)+Math.imul(C,ot)|0,o=o+Math.imul(C,st)|0,i=i+Math.imul(B,at)|0,n=(n=n+Math.imul(B,ut)|0)+Math.imul(R,at)|0,o=o+Math.imul(R,ut)|0,i=i+Math.imul(O,lt)|0,n=(n=n+Math.imul(O,ct)|0)+Math.imul(P,lt)|0,o=o+Math.imul(P,ct)|0;var Pt=(u+(i=i+Math.imul(A,pt)|0)|0)+((8191&(n=(n=n+Math.imul(A,mt)|0)+Math.imul(I,pt)|0))<<13)|0;u=((o=o+Math.imul(I,mt)|0)+(n>>>13)|0)+(Pt>>>26)|0,Pt&=67108863,i=Math.imul(D,ot),n=(n=Math.imul(D,st))+Math.imul(j,ot)|0,o=Math.imul(j,st),i=i+Math.imul(U,at)|0,n=(n=n+Math.imul(U,ut)|0)+Math.imul(C,at)|0,o=o+Math.imul(C,ut)|0,i=i+Math.imul(B,lt)|0,n=(n=n+Math.imul(B,ct)|0)+Math.imul(R,lt)|0,o=o+Math.imul(R,ct)|0;var xt=(u+(i=i+Math.imul(O,pt)|0)|0)+((8191&(n=(n=n+Math.imul(O,mt)|0)+Math.imul(P,pt)|0))<<13)|0;u=((o=o+Math.imul(P,mt)|0)+(n>>>13)|0)+(xt>>>26)|0,xt&=67108863,i=Math.imul(D,at),n=(n=Math.imul(D,ut))+Math.imul(j,at)|0,o=Math.imul(j,ut),i=i+Math.imul(U,lt)|0,n=(n=n+Math.imul(U,ct)|0)+Math.imul(C,lt)|0,o=o+Math.imul(C,ct)|0;var Bt=(u+(i=i+Math.imul(B,pt)|0)|0)+((8191&(n=(n=n+Math.imul(B,mt)|0)+Math.imul(R,pt)|0))<<13)|0;u=((o=o+Math.imul(R,mt)|0)+(n>>>13)|0)+(Bt>>>26)|0,Bt&=67108863,i=Math.imul(D,lt),n=(n=Math.imul(D,ct))+Math.imul(j,lt)|0,o=Math.imul(j,ct);var Rt=(u+(i=i+Math.imul(U,pt)|0)|0)+((8191&(n=(n=n+Math.imul(U,mt)|0)+Math.imul(C,pt)|0))<<13)|0;u=((o=o+Math.imul(C,mt)|0)+(n>>>13)|0)+(Rt>>>26)|0,Rt&=67108863;var Nt=(u+(i=Math.imul(D,pt))|0)+((8191&(n=(n=Math.imul(D,mt))+Math.imul(j,pt)|0))<<13)|0;return u=((o=Math.imul(j,mt))+(n>>>13)|0)+(Nt>>>26)|0,Nt&=67108863,a[0]=gt,a[1]=yt,a[2]=vt,a[3]=bt,a[4]=wt,a[5]=Mt,a[6]=_t,a[7]=St,a[8]=Et,a[9]=kt,a[10]=At,a[11]=It,a[12]=Tt,a[13]=Ot,a[14]=Pt,a[15]=xt,a[16]=Bt,a[17]=Rt,a[18]=Nt,0!==u&&(a[19]=u,r.length++),r};function p(t,e,r){return(new m).mulp(t,e,r)}function m(t,e){this.x=t,this.y=e}Math.imul||(d=c),n.prototype.mulTo=function(t,e){var r=this.length+t.length;return 10===this.length&&10===t.length?d(this,t,e):r<63?c(this,t,e):r<1024?function(t,e,r){r.negative=e.negative^t.negative,r.length=t.length+e.length;for(var i=0,n=0,o=0;o<r.length-1;o++){var s=n;n=0;for(var h=67108863&i,a=Math.min(o,e.length-1),u=Math.max(0,o-t.length+1);u<=a;u++){var f=o-u,l=(0|t.words[f])*(0|e.words[u]),c=67108863&l;h=67108863&(c=c+h|0),n+=(s=(s=s+(l/67108864|0)|0)+(c>>>26)|0)>>>26,s&=67108863}r.words[o]=h,i=s,s=n}return 0!==i?r.words[o]=i:r.length--,r.strip()}(this,t,e):p(this,t,e)},m.prototype.makeRBT=function(t){for(var e=new Array(t),r=n.prototype._countBits(t)-1,i=0;i<t;i++)e[i]=this.revBin(i,r,t);return e},m.prototype.revBin=function(t,e,r){if(0===t||t===r-1)return t;for(var i=0,n=0;n<e;n++)i|=(1&t)<<e-n-1,t>>=1;return i},m.prototype.permute=function(t,e,r,i,n,o){for(var s=0;s<o;s++)i[s]=e[t[s]],n[s]=r[t[s]]},m.prototype.transform=function(t,e,r,i,n,o){this.permute(o,t,e,r,i,n);for(var s=1;s<n;s<<=1)for(var h=s<<1,a=Math.cos(2*Math.PI/h),u=Math.sin(2*Math.PI/h),f=0;f<n;f+=h)for(var l=a,c=u,d=0;d<s;d++){var p=r[f+d],m=i[f+d],g=r[f+d+s],y=i[f+d+s],v=l*g-c*y;y=l*y+c*g,g=v,r[f+d]=p+g,i[f+d]=m+y,r[f+d+s]=p-g,i[f+d+s]=m-y,d!==h&&(v=a*l-u*c,c=a*c+u*l,l=v)}},m.prototype.guessLen13b=function(t,e){var r=1|Math.max(e,t),i=1&r,n=0;for(r=r/2|0;r;r>>>=1)n++;return 1<<n+1+i},m.prototype.conjugate=function(t,e,r){if(!(r<=1))for(var i=0;i<r/2;i++){var n=t[i];t[i]=t[r-i-1],t[r-i-1]=n,n=e[i],e[i]=-e[r-i-1],e[r-i-1]=-n}},m.prototype.normalize13b=function(t,e){for(var r=0,i=0;i<e/2;i++){var n=8192*Math.round(t[2*i+1]/e)+Math.round(t[2*i]/e)+r;t[i]=67108863&n,r=n<67108864?0:n/67108864|0}return t},m.prototype.convert13b=function(t,e,i,n){for(var o=0,s=0;s<e;s++)o+=0|t[s],i[2*s]=8191&o,o>>>=13,i[2*s+1]=8191&o,o>>>=13;for(s=2*e;s<n;++s)i[s]=0;r(0===o),r(0==(-8192&o))},m.prototype.stub=function(t){for(var e=new Array(t),r=0;r<t;r++)e[r]=0;return e},m.prototype.mulp=function(t,e,r){var i=2*this.guessLen13b(t.length,e.length),n=this.makeRBT(i),o=this.stub(i),s=new Array(i),h=new Array(i),a=new Array(i),u=new Array(i),f=new Array(i),l=new Array(i),c=r.words;c.length=i,this.convert13b(t.words,t.length,s,i),this.convert13b(e.words,e.length,u,i),this.transform(s,o,h,a,i,n),this.transform(u,o,f,l,i,n);for(var d=0;d<i;d++){var p=h[d]*f[d]-a[d]*l[d];a[d]=h[d]*l[d]+a[d]*f[d],h[d]=p}return this.conjugate(h,a,i),this.transform(h,a,c,o,i,n),this.conjugate(c,o,i),this.normalize13b(c,i),r.negative=t.negative^e.negative,r.length=t.length+e.length,r.strip()},n.prototype.mul=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),this.mulTo(t,e)},n.prototype.mulf=function(t){var e=new n(null);return e.words=new Array(this.length+t.length),p(this,t,e)},n.prototype.imul=function(t){return this.clone().mulTo(t,this)},n.prototype.imuln=function(t){r("number"==typeof t),r(t<67108864);for(var e=0,i=0;i<this.length;i++){var n=(0|this.words[i])*t,o=(67108863&n)+(67108863&e);e>>=26,e+=n/67108864|0,e+=o>>>26,this.words[i]=67108863&o}return 0!==e&&(this.words[i]=e,this.length++),this},n.prototype.muln=function(t){return this.clone().imuln(t)},n.prototype.sqr=function(){return this.mul(this)},n.prototype.isqr=function(){return this.imul(this.clone())},n.prototype.pow=function(t){var e=function(t){for(var e=new Array(t.bitLength()),r=0;r<e.length;r++){var i=r/26|0,n=r%26;e[r]=(t.words[i]&1<<n)>>>n}return e}(t);if(0===e.length)return new n(1);for(var r=this,i=0;i<e.length&&0===e[i];i++,r=r.sqr());if(++i<e.length)for(var o=r.sqr();i<e.length;i++,o=o.sqr())0!==e[i]&&(r=r.mul(o));return r},n.prototype.iushln=function(t){r("number"==typeof t&&t>=0);var e,i=t%26,n=(t-i)/26,o=67108863>>>26-i<<26-i;if(0!==i){var s=0;for(e=0;e<this.length;e++){var h=this.words[e]&o,a=(0|this.words[e])-h<<i;this.words[e]=a|s,s=h>>>26-i}s&&(this.words[e]=s,this.length++)}if(0!==n){for(e=this.length-1;e>=0;e--)this.words[e+n]=this.words[e];for(e=0;e<n;e++)this.words[e]=0;this.length+=n}return this.strip()},n.prototype.ishln=function(t){return r(0===this.negative),this.iushln(t)},n.prototype.iushrn=function(t,e,i){var n;r("number"==typeof t&&t>=0),n=e?(e-e%26)/26:0;var o=t%26,s=Math.min((t-o)/26,this.length),h=67108863^67108863>>>o<<o,a=i;if(n-=s,n=Math.max(0,n),a){for(var u=0;u<s;u++)a.words[u]=this.words[u];a.length=s}if(0===s);else if(this.length>s)for(this.length-=s,u=0;u<this.length;u++)this.words[u]=this.words[u+s];else this.words[0]=0,this.length=1;var f=0;for(u=this.length-1;u>=0&&(0!==f||u>=n);u--){var l=0|this.words[u];this.words[u]=f<<26-o|l>>>o,f=l&h}return a&&0!==f&&(a.words[a.length++]=f),0===this.length&&(this.words[0]=0,this.length=1),this.strip()},n.prototype.ishrn=function(t,e,i){return r(0===this.negative),this.iushrn(t,e,i)},n.prototype.shln=function(t){return this.clone().ishln(t)},n.prototype.ushln=function(t){return this.clone().iushln(t)},n.prototype.shrn=function(t){return this.clone().ishrn(t)},n.prototype.ushrn=function(t){return this.clone().iushrn(t)},n.prototype.testn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26,n=1<<e;return!(this.length<=i||!(this.words[i]&n))},n.prototype.imaskn=function(t){r("number"==typeof t&&t>=0);var e=t%26,i=(t-e)/26;if(r(0===this.negative,"imaskn works only with positive numbers"),this.length<=i)return this;if(0!==e&&i++,this.length=Math.min(i,this.length),0!==e){var n=67108863^67108863>>>e<<e;this.words[this.length-1]&=n}return this.strip()},n.prototype.maskn=function(t){return this.clone().imaskn(t)},n.prototype.iaddn=function(t){return r("number"==typeof t),r(t<67108864),t<0?this.isubn(-t):0!==this.negative?1===this.length&&(0|this.words[0])<t?(this.words[0]=t-(0|this.words[0]),this.negative=0,this):(this.negative=0,this.isubn(t),this.negative=1,this):this._iaddn(t)},n.prototype._iaddn=function(t){this.words[0]+=t;for(var e=0;e<this.length&&this.words[e]>=67108864;e++)this.words[e]-=67108864,e===this.length-1?this.words[e+1]=1:this.words[e+1]++;return this.length=Math.max(this.length,e+1),this},n.prototype.isubn=function(t){if(r("number"==typeof t),r(t<67108864),t<0)return this.iaddn(-t);if(0!==this.negative)return this.negative=0,this.iaddn(t),this.negative=1,this;if(this.words[0]-=t,1===this.length&&this.words[0]<0)this.words[0]=-this.words[0],this.negative=1;else for(var e=0;e<this.length&&this.words[e]<0;e++)this.words[e]+=67108864,this.words[e+1]-=1;return this.strip()},n.prototype.addn=function(t){return this.clone().iaddn(t)},n.prototype.subn=function(t){return this.clone().isubn(t)},n.prototype.iabs=function(){return this.negative=0,this},n.prototype.abs=function(){return this.clone().iabs()},n.prototype._ishlnsubmul=function(t,e,i){var n,o,s=t.length+i;this._expand(s);var h=0;for(n=0;n<t.length;n++){o=(0|this.words[n+i])+h;var a=(0|t.words[n])*e;h=((o-=67108863&a)>>26)-(a/67108864|0),this.words[n+i]=67108863&o}for(;n<this.length-i;n++)h=(o=(0|this.words[n+i])+h)>>26,this.words[n+i]=67108863&o;if(0===h)return this.strip();for(r(-1===h),h=0,n=0;n<this.length;n++)h=(o=-(0|this.words[n])+h)>>26,this.words[n]=67108863&o;return this.negative=1,this.strip()},n.prototype._wordDiv=function(t,e){var r=(this.length,t.length),i=this.clone(),o=t,s=0|o.words[o.length-1];0!=(r=26-this._countBits(s))&&(o=o.ushln(r),i.iushln(r),s=0|o.words[o.length-1]);var h,a=i.length-o.length;if("mod"!==e){(h=new n(null)).length=a+1,h.words=new Array(h.length);for(var u=0;u<h.length;u++)h.words[u]=0}var f=i.clone()._ishlnsubmul(o,1,a);0===f.negative&&(i=f,h&&(h.words[a]=1));for(var l=a-1;l>=0;l--){var c=67108864*(0|i.words[o.length+l])+(0|i.words[o.length+l-1]);for(c=Math.min(c/s|0,67108863),i._ishlnsubmul(o,c,l);0!==i.negative;)c--,i.negative=0,i._ishlnsubmul(o,1,l),i.isZero()||(i.negative^=1);h&&(h.words[l]=c)}return h&&h.strip(),i.strip(),"div"!==e&&0!==r&&i.iushrn(r),{div:h||null,mod:i}},n.prototype.divmod=function(t,e,i){return r(!t.isZero()),this.isZero()?{div:new n(0),mod:new n(0)}:0!==this.negative&&0===t.negative?(h=this.neg().divmod(t,e),"mod"!==e&&(o=h.div.neg()),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.iadd(t)),{div:o,mod:s}):0===this.negative&&0!==t.negative?(h=this.divmod(t.neg(),e),"mod"!==e&&(o=h.div.neg()),{div:o,mod:h.mod}):0!=(this.negative&t.negative)?(h=this.neg().divmod(t.neg(),e),"div"!==e&&(s=h.mod.neg(),i&&0!==s.negative&&s.isub(t)),{div:h.div,mod:s}):t.length>this.length||this.cmp(t)<0?{div:new n(0),mod:this}:1===t.length?"div"===e?{div:this.divn(t.words[0]),mod:null}:"mod"===e?{div:null,mod:new n(this.modn(t.words[0]))}:{div:this.divn(t.words[0]),mod:new n(this.modn(t.words[0]))}:this._wordDiv(t,e);var o,s,h},n.prototype.div=function(t){return this.divmod(t,"div",!1).div},n.prototype.mod=function(t){return this.divmod(t,"mod",!1).mod},n.prototype.umod=function(t){return this.divmod(t,"mod",!0).mod},n.prototype.divRound=function(t){var e=this.divmod(t);if(e.mod.isZero())return e.div;var r=0!==e.div.negative?e.mod.isub(t):e.mod,i=t.ushrn(1),n=t.andln(1),o=r.cmp(i);return o<0||1===n&&0===o?e.div:0!==e.div.negative?e.div.isubn(1):e.div.iaddn(1)},n.prototype.modn=function(t){r(t<=67108863);for(var e=(1<<26)%t,i=0,n=this.length-1;n>=0;n--)i=(e*i+(0|this.words[n]))%t;return i},n.prototype.idivn=function(t){r(t<=67108863);for(var e=0,i=this.length-1;i>=0;i--){var n=(0|this.words[i])+67108864*e;this.words[i]=n/t|0,e=n%t}return this.strip()},n.prototype.divn=function(t){return this.clone().idivn(t)},n.prototype.egcd=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o=new n(1),s=new n(0),h=new n(0),a=new n(1),u=0;e.isEven()&&i.isEven();)e.iushrn(1),i.iushrn(1),++u;for(var f=i.clone(),l=e.clone();!e.isZero();){for(var c=0,d=1;0==(e.words[0]&d)&&c<26;++c,d<<=1);if(c>0)for(e.iushrn(c);c-- >0;)(o.isOdd()||s.isOdd())&&(o.iadd(f),s.isub(l)),o.iushrn(1),s.iushrn(1);for(var p=0,m=1;0==(i.words[0]&m)&&p<26;++p,m<<=1);if(p>0)for(i.iushrn(p);p-- >0;)(h.isOdd()||a.isOdd())&&(h.iadd(f),a.isub(l)),h.iushrn(1),a.iushrn(1);e.cmp(i)>=0?(e.isub(i),o.isub(h),s.isub(a)):(i.isub(e),h.isub(o),a.isub(s))}return{a:h,b:a,gcd:i.iushln(u)}},n.prototype._invmp=function(t){r(0===t.negative),r(!t.isZero());var e=this,i=t.clone();e=0!==e.negative?e.umod(t):e.clone();for(var o,s=new n(1),h=new n(0),a=i.clone();e.cmpn(1)>0&&i.cmpn(1)>0;){for(var u=0,f=1;0==(e.words[0]&f)&&u<26;++u,f<<=1);if(u>0)for(e.iushrn(u);u-- >0;)s.isOdd()&&s.iadd(a),s.iushrn(1);for(var l=0,c=1;0==(i.words[0]&c)&&l<26;++l,c<<=1);if(l>0)for(i.iushrn(l);l-- >0;)h.isOdd()&&h.iadd(a),h.iushrn(1);e.cmp(i)>=0?(e.isub(i),s.isub(h)):(i.isub(e),h.isub(s))}return(o=0===e.cmpn(1)?s:h).cmpn(0)<0&&o.iadd(t),o},n.prototype.gcd=function(t){if(this.isZero())return t.abs();if(t.isZero())return this.abs();var e=this.clone(),r=t.clone();e.negative=0,r.negative=0;for(var i=0;e.isEven()&&r.isEven();i++)e.iushrn(1),r.iushrn(1);for(;;){for(;e.isEven();)e.iushrn(1);for(;r.isEven();)r.iushrn(1);var n=e.cmp(r);if(n<0){var o=e;e=r,r=o}else if(0===n||0===r.cmpn(1))break;e.isub(r)}return r.iushln(i)},n.prototype.invm=function(t){return this.egcd(t).a.umod(t)},n.prototype.isEven=function(){return 0==(1&this.words[0])},n.prototype.isOdd=function(){return 1==(1&this.words[0])},n.prototype.andln=function(t){return this.words[0]&t},n.prototype.bincn=function(t){r("number"==typeof t);var e=t%26,i=(t-e)/26,n=1<<e;if(this.length<=i)return this._expand(i+1),this.words[i]|=n,this;for(var o=n,s=i;0!==o&&s<this.length;s++){var h=0|this.words[s];o=(h+=o)>>>26,h&=67108863,this.words[s]=h}return 0!==o&&(this.words[s]=o,this.length++),this},n.prototype.isZero=function(){return 1===this.length&&0===this.words[0]},n.prototype.cmpn=function(t){var e,i=t<0;if(0!==this.negative&&!i)return-1;if(0===this.negative&&i)return 1;if(this.strip(),this.length>1)e=1;else{i&&(t=-t),r(t<=67108863,"Number is too big");var n=0|this.words[0];e=n===t?0:n<t?-1:1}return 0!==this.negative?0|-e:e},n.prototype.cmp=function(t){if(0!==this.negative&&0===t.negative)return-1;if(0===this.negative&&0!==t.negative)return 1;var e=this.ucmp(t);return 0!==this.negative?0|-e:e},n.prototype.ucmp=function(t){if(this.length>t.length)return 1;if(this.length<t.length)return-1;for(var e=0,r=this.length-1;r>=0;r--){var i=0|this.words[r],n=0|t.words[r];if(i!==n){i<n?e=-1:i>n&&(e=1);break}}return e},n.prototype.gtn=function(t){return 1===this.cmpn(t)},n.prototype.gt=function(t){return 1===this.cmp(t)},n.prototype.gten=function(t){return this.cmpn(t)>=0},n.prototype.gte=function(t){return this.cmp(t)>=0},n.prototype.ltn=function(t){return-1===this.cmpn(t)},n.prototype.lt=function(t){return-1===this.cmp(t)},n.prototype.lten=function(t){return this.cmpn(t)<=0},n.prototype.lte=function(t){return this.cmp(t)<=0},n.prototype.eqn=function(t){return 0===this.cmpn(t)},n.prototype.eq=function(t){return 0===this.cmp(t)},n.red=function(t){return new _(t)},n.prototype.toRed=function(t){return r(!this.red,"Already a number in reduction context"),r(0===this.negative,"red works only with positives"),t.convertTo(this)._forceRed(t)},n.prototype.fromRed=function(){return r(this.red,"fromRed works only with numbers in reduction context"),this.red.convertFrom(this)},n.prototype._forceRed=function(t){return this.red=t,this},n.prototype.forceRed=function(t){return r(!this.red,"Already a number in reduction context"),this._forceRed(t)},n.prototype.redAdd=function(t){return r(this.red,"redAdd works only with red numbers"),this.red.add(this,t)},n.prototype.redIAdd=function(t){return r(this.red,"redIAdd works only with red numbers"),this.red.iadd(this,t)},n.prototype.redSub=function(t){return r(this.red,"redSub works only with red numbers"),this.red.sub(this,t)},n.prototype.redISub=function(t){return r(this.red,"redISub works only with red numbers"),this.red.isub(this,t)},n.prototype.redShl=function(t){return r(this.red,"redShl works only with red numbers"),this.red.shl(this,t)},n.prototype.redMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.mul(this,t)},n.prototype.redIMul=function(t){return r(this.red,"redMul works only with red numbers"),this.red._verify2(this,t),this.red.imul(this,t)},n.prototype.redSqr=function(){return r(this.red,"redSqr works only with red numbers"),this.red._verify1(this),this.red.sqr(this)},n.prototype.redISqr=function(){return r(this.red,"redISqr works only with red numbers"),this.red._verify1(this),this.red.isqr(this)},n.prototype.redSqrt=function(){return r(this.red,"redSqrt works only with red numbers"),this.red._verify1(this),this.red.sqrt(this)},n.prototype.redInvm=function(){return r(this.red,"redInvm works only with red numbers"),this.red._verify1(this),this.red.invm(this)},n.prototype.redNeg=function(){return r(this.red,"redNeg works only with red numbers"),this.red._verify1(this),this.red.neg(this)},n.prototype.redPow=function(t){return r(this.red&&!t.red,"redPow(normalNum)"),this.red._verify1(this),this.red.pow(this,t)};var g={k256:null,p224:null,p192:null,p25519:null};function y(t,e){this.name=t,this.p=new n(e,16),this.n=this.p.bitLength(),this.k=new n(1).iushln(this.n).isub(this.p),this.tmp=this._tmp()}function v(){y.call(this,"k256","ffffffff ffffffff ffffffff ffffffff ffffffff ffffffff fffffffe fffffc2f")}function b(){y.call(this,"p224","ffffffff ffffffff ffffffff ffffffff 00000000 00000000 00000001")}function w(){y.call(this,"p192","ffffffff ffffffff ffffffff fffffffe ffffffff ffffffff")}function M(){y.call(this,"25519","7fffffffffffffff ffffffffffffffff ffffffffffffffff ffffffffffffffed")}function _(t){if("string"==typeof t){var e=n._prime(t);this.m=e.p,this.prime=e}else r(t.gtn(1),"modulus must be greater than 1"),this.m=t,this.prime=null}function S(t){_.call(this,t),this.shift=this.m.bitLength(),this.shift%26!=0&&(this.shift+=26-this.shift%26),this.r=new n(1).iushln(this.shift),this.r2=this.imod(this.r.sqr()),this.rinv=this.r._invmp(this.m),this.minv=this.rinv.mul(this.r).isubn(1).div(this.m),this.minv=this.minv.umod(this.r),this.minv=this.r.sub(this.minv)}y.prototype._tmp=function(){var t=new n(null);return t.words=new Array(Math.ceil(this.n/13)),t},y.prototype.ireduce=function(t){var e,r=t;do{this.split(r,this.tmp),e=(r=(r=this.imulK(r)).iadd(this.tmp)).bitLength()}while(e>this.n);var i=e<this.n?-1:r.ucmp(this.p);return 0===i?(r.words[0]=0,r.length=1):i>0?r.isub(this.p):void 0!==r.strip?r.strip():r._strip(),r},y.prototype.split=function(t,e){t.iushrn(this.n,0,e)},y.prototype.imulK=function(t){return t.imul(this.k)},i(v,y),v.prototype.split=function(t,e){for(var r=4194303,i=Math.min(t.length,9),n=0;n<i;n++)e.words[n]=t.words[n];if(e.length=i,t.length<=9)return t.words[0]=0,void(t.length=1);var o=t.words[9];for(e.words[e.length++]=o&r,n=10;n<t.length;n++){var s=0|t.words[n];t.words[n-10]=(s&r)<<4|o>>>22,o=s}o>>>=22,t.words[n-10]=o,0===o&&t.length>10?t.length-=10:t.length-=9},v.prototype.imulK=function(t){t.words[t.length]=0,t.words[t.length+1]=0,t.length+=2;for(var e=0,r=0;r<t.length;r++){var i=0|t.words[r];e+=977*i,t.words[r]=67108863&e,e=64*i+(e/67108864|0)}return 0===t.words[t.length-1]&&(t.length--,0===t.words[t.length-1]&&t.length--),t},i(b,y),i(w,y),i(M,y),M.prototype.imulK=function(t){for(var e=0,r=0;r<t.length;r++){var i=19*(0|t.words[r])+e,n=67108863&i;i>>>=26,t.words[r]=n,e=i}return 0!==e&&(t.words[t.length++]=e),t},n._prime=function(t){if(g[t])return g[t];var e;if("k256"===t)e=new v;else if("p224"===t)e=new b;else if("p192"===t)e=new w;else{if("p25519"!==t)throw new Error("Unknown prime "+t);e=new M}return g[t]=e,e},_.prototype._verify1=function(t){r(0===t.negative,"red works only with positives"),r(t.red,"red works only with red numbers")},_.prototype._verify2=function(t,e){r(0==(t.negative|e.negative),"red works only with positives"),r(t.red&&t.red===e.red,"red works only with red numbers")},_.prototype.imod=function(t){return this.prime?this.prime.ireduce(t)._forceRed(this):t.umod(this.m)._forceRed(this)},_.prototype.neg=function(t){return t.isZero()?t.clone():this.m.sub(t)._forceRed(this)},_.prototype.add=function(t,e){this._verify2(t,e);var r=t.add(e);return r.cmp(this.m)>=0&&r.isub(this.m),r._forceRed(this)},_.prototype.iadd=function(t,e){this._verify2(t,e);var r=t.iadd(e);return r.cmp(this.m)>=0&&r.isub(this.m),r},_.prototype.sub=function(t,e){this._verify2(t,e);var r=t.sub(e);return r.cmpn(0)<0&&r.iadd(this.m),r._forceRed(this)},_.prototype.isub=function(t,e){this._verify2(t,e);var r=t.isub(e);return r.cmpn(0)<0&&r.iadd(this.m),r},_.prototype.shl=function(t,e){return this._verify1(t),this.imod(t.ushln(e))},_.prototype.imul=function(t,e){return this._verify2(t,e),this.imod(t.imul(e))},_.prototype.mul=function(t,e){return this._verify2(t,e),this.imod(t.mul(e))},_.prototype.isqr=function(t){return this.imul(t,t.clone())},_.prototype.sqr=function(t){return this.mul(t,t)},_.prototype.sqrt=function(t){if(t.isZero())return t.clone();var e=this.m.andln(3);if(r(e%2==1),3===e){var i=this.m.add(new n(1)).iushrn(2);return this.pow(t,i)}for(var o=this.m.subn(1),s=0;!o.isZero()&&0===o.andln(1);)s++,o.iushrn(1);r(!o.isZero());var h=new n(1).toRed(this),a=h.redNeg(),u=this.m.subn(1).iushrn(1),f=this.m.bitLength();for(f=new n(2*f*f).toRed(this);0!==this.pow(f,u).cmp(a);)f.redIAdd(a);for(var l=this.pow(f,o),c=this.pow(t,o.addn(1).iushrn(1)),d=this.pow(t,o),p=s;0!==d.cmp(h);){for(var m=d,g=0;0!==m.cmp(h);g++)m=m.redSqr();r(g<p);var y=this.pow(l,new n(1).iushln(p-g-1));c=c.redMul(y),l=y.redSqr(),d=d.redMul(l),p=g}return c},_.prototype.invm=function(t){var e=t._invmp(this.m);return 0!==e.negative?(e.negative=0,this.imod(e).redNeg()):this.imod(e)},_.prototype.pow=function(t,e){if(e.isZero())return new n(1).toRed(this);if(0===e.cmpn(1))return t.clone();var r=new Array(16);r[0]=new n(1).toRed(this),r[1]=t;for(var i=2;i<r.length;i++)r[i]=this.mul(r[i-1],t);var o=r[0],s=0,h=0,a=e.bitLength()%26;for(0===a&&(a=26),i=e.length-1;i>=0;i--){for(var u=e.words[i],f=a-1;f>=0;f--){var l=u>>f&1;o!==r[0]&&(o=this.sqr(o)),0!==l||0!==s?(s<<=1,s|=l,(4==++h||0===i&&0===f)&&(o=this.mul(o,r[s]),h=0,s=0)):h=0}a=26}return o},_.prototype.convertTo=function(t){var e=t.umod(this.m);return e===t?e.clone():e},_.prototype.convertFrom=function(t){var e=t.clone();return e.red=null,e},n.mont=function(t){return new S(t)},i(S,_),S.prototype.convertTo=function(t){return this.imod(t.ushln(this.shift))},S.prototype.convertFrom=function(t){var e=this.imod(t.mul(this.rinv));return e.red=null,e},S.prototype.imul=function(t,e){if(t.isZero()||e.isZero())return t.words[0]=0,t.length=1,t;var r=t.imul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),n=r.isub(i).iushrn(this.shift),o=n;return n.cmp(this.m)>=0?o=n.isub(this.m):n.cmpn(0)<0&&(o=n.iadd(this.m)),o._forceRed(this)},S.prototype.mul=function(t,e){if(t.isZero()||e.isZero())return new n(0)._forceRed(this);var r=t.mul(e),i=r.maskn(this.shift).mul(this.minv).imaskn(this.shift).mul(this.m),o=r.isub(i).iushrn(this.shift),s=o;return o.cmp(this.m)>=0?s=o.isub(this.m):o.cmpn(0)<0&&(s=o.iadd(this.m)),s._forceRed(this)},S.prototype.invm=function(t){return this.imod(t._invmp(this.m).mul(this.r2))._forceRed(this)}}(uI,A);var fI=uI.exports,lI=xt.exports.Buffer;var cI=function(t,e){return lI.from(t.toRed(fI.mont(e.modulus)).redPow(new fI(e.publicExponent)).fromRed().toArray())},dI=vA,pI=vp.exports,mI=ks,gI=sI,yI=aI,vI=uI.exports,bI=cI,wI=PE,MI=xt.exports.Buffer,_I=function(t,e,r){var i;i=t.padding?t.padding:r?1:4;var n,o=dI(t);if(4===i)n=function(t,e){var r=t.modulus.byteLength(),i=e.length,n=mI("sha1").update(MI.alloc(0)).digest(),o=n.length,s=2*o;if(i>r-s-2)throw new Error("message too long");var h=MI.alloc(r-i-s-2),a=r-o-1,u=pI(o),f=yI(MI.concat([n,h,MI.alloc(1,1),e],a),gI(u,a)),l=yI(u,gI(f,o));return new vI(MI.concat([MI.alloc(1),l,f],r))}(o,e);else if(1===i)n=function(t,e,r){var i,n=e.length,o=t.modulus.byteLength();if(n>o-11)throw new Error("message too long");i=r?MI.alloc(o-n-3,255):function(t){var e,r=MI.allocUnsafe(t),i=0,n=pI(2*t),o=0;for(;i<t;)o===n.length&&(n=pI(2*t),o=0),(e=n[o++])&&(r[i++]=e);return r}(o-n-3);return new vI(MI.concat([MI.from([0,r?1:2]),i,MI.alloc(1),e],o))}(o,e,r);else{if(3!==i)throw new Error("unknown padding");if((n=new vI(e)).cmp(o.modulus)>=0)throw new Error("data too long for modulus")}return r?wI(n,o):bI(n,o)};var SI=vA,EI=sI,kI=aI,AI=uI.exports,II=PE,TI=ks,OI=cI,PI=xt.exports.Buffer,xI=function(t,e,r){var i;i=t.padding?t.padding:r?1:4;var n,o=SI(t),s=o.modulus.byteLength();if(e.length>s||new AI(e).cmp(o.modulus)>=0)throw new Error("decryption error");n=r?OI(new AI(e),o):II(e,o);var h=PI.alloc(s-n.length);if(n=PI.concat([h,n],s),4===i)return function(t,e){var r=t.modulus.byteLength(),i=TI("sha1").update(PI.alloc(0)).digest(),n=i.length;if(0!==e[0])throw new Error("decryption error");var o=e.slice(1,n+1),s=e.slice(n+1),h=kI(o,EI(s,n)),a=kI(s,EI(h,r-n-1));if(function(t,e){t=PI.from(t),e=PI.from(e);var r=0,i=t.length;t.length!==e.length&&(r++,i=Math.min(t.length,e.length));var n=-1;for(;++n<i;)r+=t[n]^e[n];return r}(i,a.slice(0,n)))throw new Error("decryption error");var u=n;for(;0===a[u];)u++;if(1!==a[u++])throw new Error("decryption error");return a.slice(u)}(o,n);if(1===i)return function(t,e,r){var i=e.slice(0,2),n=2,o=0;for(;0!==e[n++];)if(n>=e.length){o++;break}var s=e.slice(2,n-1);("0002"!==i.toString("hex")&&!r||"0001"!==i.toString("hex")&&r)&&o++;s.length<8&&o++;if(o)throw new Error("decryption error");return e.slice(n)}(0,n,r);if(3===i)return n;throw new Error("unknown padding")};!function(t){t.publicEncrypt=_I,t.privateDecrypt=xI,t.privateEncrypt=function(e,r){return t.publicEncrypt(e,r,!0)},t.publicDecrypt=function(e,r){return t.privateDecrypt(e,r,!0)}}(iI);var BI={};function RI(){throw new Error("secure random number generation not supported by this browser\nuse chrome, FireFox or Internet Explorer 11")}var NI=xt.exports,UI=NI.Buffer,CI=NI.kMaxLength,LI=A.crypto||A.msCrypto,DI=Math.pow(2,32)-1;function jI(t,e){if("number"!=typeof t||t!=t)throw new TypeError("offset must be a number");if(t>DI||t<0)throw new TypeError("offset must be a uint32");if(t>CI||t>e)throw new RangeError("offset out of range")}function HI(t,e,r){if("number"!=typeof t||t!=t)throw new TypeError("size must be a number");if(t>DI||t<0)throw new TypeError("size must be a uint32");if(t+e>r||t>CI)throw new RangeError("buffer too small")}function qI(t,e,r,i){var n=t.buffer,o=new Uint8Array(n,e,r);return LI.getRandomValues(o),i?void re((function(){i(null,t)})):t}LI&&LI.getRandomValues?(BI.randomFill=function(t,e,r,i){if(!(UI.isBuffer(t)||t instanceof A.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');if("function"==typeof e)i=e,e=0,r=t.length;else if("function"==typeof r)i=r,r=t.length-e;else if("function"!=typeof i)throw new TypeError('"cb" argument must be a function');return jI(e,t.length),HI(r,e,t.length),qI(t,e,r,i)},BI.randomFillSync=function(t,e,r){void 0===e&&(e=0);if(!(UI.isBuffer(t)||t instanceof A.Uint8Array))throw new TypeError('"buf" argument must be a Buffer or Uint8Array');jI(e,t.length),void 0===r&&(r=t.length-e);return HI(r,e,t.length),qI(t,e,r)}):(BI.randomFill=RI,BI.randomFillSync=RI),Uw.randomBytes=Uw.rng=Uw.pseudoRandomBytes=Uw.prng=vp.exports,Uw.createHash=Uw.Hash=ks,Uw.createHmac=Uw.Hmac=Fs;var KI=Lw,FI=Object.keys(KI),zI=["sha1","sha224","sha256","sha384","sha512","md5","rmd160"].concat(FI);Uw.getHashes=function(){return zI};var WI=Dw;Uw.pbkdf2=WI.pbkdf2,Uw.pbkdf2Sync=WI.pbkdf2Sync;var VI=dM;Uw.Cipher=VI.Cipher,Uw.createCipher=VI.createCipher,Uw.Cipheriv=VI.Cipheriv,Uw.createCipheriv=VI.createCipheriv,Uw.Decipher=VI.Decipher,Uw.createDecipher=VI.createDecipher,Uw.Decipheriv=VI.Decipheriv,Uw.createDecipheriv=VI.createDecipheriv,Uw.getCiphers=VI.getCiphers,Uw.listCiphers=VI.listCiphers;var ZI=US;Uw.DiffieHellmanGroup=ZI.DiffieHellmanGroup,Uw.createDiffieHellmanGroup=ZI.createDiffieHellmanGroup,Uw.getDiffieHellman=ZI.getDiffieHellman,Uw.createDiffieHellman=ZI.createDiffieHellman,Uw.DiffieHellman=ZI.DiffieHellman;var GI=XA;Uw.createSign=GI.createSign,Uw.Sign=GI.Sign,Uw.createVerify=GI.createVerify,Uw.Verify=GI.Verify,Uw.createECDH=function(t){return new eI(t)};var $I=iI;Uw.publicEncrypt=$I.publicEncrypt,Uw.privateEncrypt=$I.privateEncrypt,Uw.publicDecrypt=$I.publicDecrypt,Uw.privateDecrypt=$I.privateDecrypt;var XI=BI;Uw.randomFill=XI.randomFill,Uw.randomFillSync=XI.randomFillSync,Uw.createCredentials=function(){throw new Error(["sorry, createCredentials is not implemented yet","we accept pull requests","https://github.com/crypto-browserify/crypto-browserify"].join("\n"))},Uw.constants={DH_CHECK_P_NOT_SAFE_PRIME:2,DH_CHECK_P_NOT_PRIME:1,DH_UNABLE_TO_CHECK_GENERATOR:4,DH_NOT_SUITABLE_GENERATOR:8,NPN_ENABLED:1,ALPN_ENABLED:1,RSA_PKCS1_PADDING:1,RSA_SSLV23_PADDING:2,RSA_NO_PADDING:3,RSA_PKCS1_OAEP_PADDING:4,RSA_X931_PADDING:5,RSA_PKCS1_PSS_PADDING:6,POINT_CONVERSION_COMPRESSED:2,POINT_CONVERSION_UNCOMPRESSED:4,POINT_CONVERSION_HYBRID:6};var YI=A&&A.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(n,o){function s(t){try{a(i.next(t))}catch(t){o(t)}}function h(t){try{a(i.throw(t))}catch(t){o(t)}}function a(t){t.done?n(t.value):function(t){return t instanceof r?t:new r((function(e){e(t)}))}(t.value).then(s,h)}a((i=i.apply(t,e||[])).next())}))};Object.defineProperty(Nw,"__esModule",{value:!0});const JI=to.exports;function QI(t){return(new JI.sha256).update(t).digest()}Nw.hashSha256=QI,Nw.hashSha256Async=function(t){return YI(this,void 0,void 0,(function*(){try{if("undefined"!=typeof crypto&&void 0!==crypto.subtle){const e="string"==typeof t?z.from(t):t,r=yield crypto.subtle.digest("SHA-256",e);return z.from(r)}{const e=Uw;if(!e.createHash)throw new Error("`crypto` module does not contain `createHash`");return Promise.resolve(e.createHash("sha256").update(t).digest())}}catch(e){return console.log(e),console.log('Crypto lib not found. Neither the global `crypto.subtle` Web Crypto API, nor the or the Node.js `require("crypto").createHash` module is available. Falling back to JS implementation.'),Promise.resolve(QI(t))}}))};var tT=A&&A.__awaiter||function(t,e,r,i){return new(r||(r=Promise))((function(n,o){function s(t){try{a(i.next(t))}catch(t){o(t)}}function h(t){try{a(i.throw(t))}catch(t){o(t)}}function a(t){t.done?n(t.value):function(t){return t instanceof r?t:new r((function(e){e(t)}))}(t.value).then(s,h)}a((i=i.apply(t,e||[])).next())}))};Object.defineProperty(nw,"__esModule",{value:!0});const eT=ow.exports,rT=pw,iT=Ew,nT=Nw;function oT(t,e){const r=[],i=eT.default.encode(JSON.stringify(e));r.push(i);const n=eT.default.encode(JSON.stringify(t));r.push(n);return r.join(".")}nw.createUnsecuredToken=function(t){return oT(t,{typ:"JWT",alg:"none"})+"."};nw.TokenSigner=class{constructor(t,e){if(!t||!e)throw new iT.MissingParametersError("a signing algorithm and private key are required");if("string"!=typeof t)throw new Error("signing algorithm parameter must be a string");if(t=t.toUpperCase(),!rT.cryptoClients.hasOwnProperty(t))throw new Error("invalid signing algorithm");this.tokenType="JWT",this.cryptoClient=rT.cryptoClients[t],this.rawPrivateKey=e}header(t={}){const e={typ:this.tokenType,alg:this.cryptoClient.algorithmName};return Object.assign({},e,t)}sign(t,e=!1,r={}){const i=this.header(r),n=oT(t,i),o=nT.hashSha256(n);return this.createWithSignedHash(t,e,i,n,o)}signAsync(t,e=!1,r={}){return tT(this,void 0,void 0,(function*(){const i=this.header(r),n=oT(t,i),o=yield nT.hashSha256Async(n);return this.createWithSignedHash(t,e,i,n,o)}))}createWithSignedHash(t,e,r,i,n){const o=this.cryptoClient.signHash(n,this.rawPrivateKey);if(e){return{header:[eT.default.encode(JSON.stringify(r))],payload:JSON.stringify(t),signature:[o]}}return[i,o].join(".")}};var sT={};Object.defineProperty(sT,"__esModule",{value:!0});const hT=ow.exports,aT=pw,uT=Ew,fT=Nw;sT.TokenVerifier=class{constructor(t,e){if(!t||!e)throw new uT.MissingParametersError("a signing algorithm and public key are required");if("string"!=typeof t)throw"signing algorithm parameter must be a string";if(t=t.toUpperCase(),!aT.cryptoClients.hasOwnProperty(t))throw"invalid signing algorithm";this.tokenType="JWT",this.cryptoClient=aT.cryptoClients[t],this.rawPublicKey=e}verify(t){return"string"==typeof t?this.verifyCompact(t,!1):"object"==typeof t?this.verifyExpanded(t,!1):void 0}verifyAsync(t){return"string"==typeof t?this.verifyCompact(t,!0):"object"==typeof t?this.verifyExpanded(t,!0):Promise.resolve(!1)}verifyCompact(t,e){const r=t.split("."),i=r[0]+"."+r[1],n=t=>{const e=this.cryptoClient.loadSignature(r[2]);return this.cryptoClient.verifyHash(t,e,this.rawPublicKey)};if(e)return fT.hashSha256Async(i).then((t=>n(t)));{const t=fT.hashSha256(i);return n(t)}}verifyExpanded(t,e){const r=[t.header.join("."),hT.default.encode(t.payload)].join(".");let i=!0;const n=e=>(t.signature.map((t=>{const r=this.cryptoClient.loadSignature(t);this.cryptoClient.verifyHash(e,r,this.rawPublicKey)||(i=!1)})),i);if(e)return fT.hashSha256Async(r).then((t=>n(t)));{const t=fT.hashSha256(r);return n(t)}}};var lT={};Object.defineProperty(lT,"__esModule",{value:!0});const cT=ow.exports;lT.decodeToken=function(t){if("string"==typeof t){const e=t.split(".");return{header:JSON.parse(cT.default.decode(e[0])),payload:JSON.parse(cT.default.decode(e[1])),signature:e[2]}}if("object"==typeof t){if("string"!=typeof t.payload)throw new Error("Expected token payload to be a base64 or json string");let e=t.payload;"{"!==t.payload[0]&&(e=cT.default.decode(e));const r=[];return t.header.map((t=>{const e=JSON.parse(cT.default.decode(t));r.push(e)})),{header:r,payload:JSON.parse(e),signature:t.signature}}},function(t){function e(e){for(var r in e)t.hasOwnProperty(r)||(t[r]=e[r])}Object.defineProperty(t,"__esModule",{value:!0}),e(nw),e(sT),e(lT),e(Ew),e(pw)}(iw);const dT="blockstack-gaia-hub-config";async function pT(r,i,n,o="application/octet-stream",s=!0,h,a){t.debug(`uploadToGaiaHub: uploading ${r} to ${n.server}`);const u={"Content-Type":o,Authorization:`bearer ${n.token}`};a||(s?u["If-None-Match"]="*":h&&(u["If-Match"]=h));const f=await e(`${n.server}/store/${n.address}/${r}`,{method:"POST",headers:u,body:i});if(!f.ok)throw await wT(f,"Error when uploading to Gaia hub.",n);const l=await f.text();return JSON.parse(l)}async function mT(r,i){t.debug(`deleteFromGaiaHub: deleting ${r} from ${i.server}`);const n=await e(`${i.server}/delete/${i.address}/${r}`,{method:"DELETE",headers:{Authorization:`bearer ${i.token}`}});if(!n.ok)throw await wT(n,"Error deleting file from Gaia hub.",i)}function gT(t,e){return Promise.resolve(`${e.url_prefix}${e.address}/${t}`)}function yT(t,e,i,n){const o=t.challenge_text,s=t.latest_auth_version&&parseInt(t.latest_auth_version.slice(1),10)>=1,h=y(e);if(!s)return function(t,e){let i;try{i=JSON.parse(t)}catch(t){throw new Error("Failed in parsing legacy challenge text from the gaia hub.")}if("gaiahub"===i[0]&&"blockstack_storage_please_sign"===i[3]){const i=g(e+(64===e.length?"01":"")),n=b(r.from(t)),o=i.sign(n),s=Xb.signature.encode(o,ew.SIGHASH_NONE).toString("hex").slice(0,-2),h=y(e);return r.from(JSON.stringify({publickey:h,signature:s})).toString("base64")}throw new Error("Failed to connect to legacy gaia hub. If you operate this hub, please update.")}(o,e);const a={gaiaChallenge:o,hubUrl:i,iss:h,salt:v(16).toString("hex"),associationToken:n};return`v1:${new iw.TokenSigner("ES256K",e).sign(a)}`}async function vT(r,i,n){t.debug(`connectToGaiaHub: ${r}/hub_info`);const o=await e(`${r}/hub_info`),s=await o.json(),h=s.read_url_prefix,a=yT(s,i,r,n),u=m(g(i+(64===i.length?"01":"")));return{url_prefix:h,max_file_upload_size_megabytes:s.max_file_upload_size_megabytes,address:u,token:a,server:r}}async function bT(t,i){const n=Vb.fromPrivateKey(r.from(i,"hex")),o=await e(`${t}/hub_info`),s=await o.text();return`${JSON.parse(s).read_url_prefix}${m(n)}/`}async function wT(e,r,l){if(e.ok)throw new Error("Cannot get a BlockstackError from a valid response.");const c=await async function(e){let r,i="";try{i=await e.text();try{r=JSON.parse(i)}catch(t){}}catch(e){t.debug(`Error getting bad http response text: ${e}`)}return{status:e.status,statusText:e.statusText,body:r||i}}(e);if(401===c.status)return new i(r,c);if(402===c.status)return new n(r,c);if(403===c.status)return new o(r,c);if(404===c.status)throw new s(r,c);if(409===c.status)return new h(r,c);if(412===c.status)return new a(r,c);if(413===c.status){const t=l&&l.max_file_upload_size_megabytes?u(l.max_file_upload_size_megabytes):0;return new f(r,c,t)}return new Error(r)}class MT{constructor(t,e){this.wasString="string"==typeof t,this.content=MT.normalizeContentDataType(t,e),this.contentType=e||this.detectContentType(),this.contentByteLength=this.detectContentLength()}static normalizeContentDataType(t,e){try{if("string"==typeof t){const i=(e||"").toLowerCase().replace("-","");if(i.includes("charset")&&!i.includes("charset=utf8")&&!i.includes("charset=ascii"))throw new Error(`Unable to determine byte length with charset: ${e}`);if("undefined"!=typeof TextEncoder){const e=(new TextEncoder).encode(t);return r.from(e.buffer)}return r.from(t)}if(r.isBuffer(t))return t;if(ArrayBuffer.isView(t))return r.from(t.buffer,t.byteOffset,t.byteLength);if("undefined"!=typeof Blob&&t instanceof Blob)return t;if("undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer)return r.from(t);if(Array.isArray(t)){if(t.length>0&&(!Number.isInteger(t[0])||t[0]<0||t[0]>255))throw new Error(`Unexpected array values provided as file data: value "${t[0]}" at index 0 is not an octet number. ${this.supportedTypesMsg}`);return r.from(t)}{const e=Object.prototype.toString.call(t);throw new Error(`Unexpected type provided as file data: ${e}. ${this.supportedTypesMsg}`)}}catch(t){throw console.error(t),new Error(`Error processing data: ${t}`)}}detectContentType(){return this.wasString?"text/plain; charset=utf-8":"undefined"!=typeof Blob&&this.content instanceof Blob&&this.content.type?this.content.type:"application/octet-stream"}detectContentLength(){if(ArrayBuffer.isView(this.content)||r.isBuffer(this.content))return this.content.byteLength;if("undefined"!=typeof Blob&&this.content instanceof Blob)return this.content.size;const t=Object.prototype.toString.call(this.content),e=new Error(`Unexpected type "${t}" while detecting content length`);throw console.error(e),e}async loadContent(){try{if(r.isBuffer(this.content))return this.content;if(ArrayBuffer.isView(this.content))return r.from(this.content.buffer,this.content.byteOffset,this.content.byteLength);if("undefined"!=typeof Blob&&this.content instanceof Blob){const t=new FileReader,e=new Promise(((e,i)=>{t.onerror=t=>{i(t)},t.onload=()=>{const i=t.result;e(r.from(i))},t.readAsArrayBuffer(this.content)}));return await e}{const t=Object.prototype.toString.call(this.content);throw new Error(`Unexpected type ${t}`)}}catch(t){console.error(t);const e=new Error(`Error loading content: ${t}`);throw console.error(e),e}}load(){return void 0===this.loadedData&&(this.loadedData=this.loadContent()),this.loadedData}}MT.supportedTypesMsg="Supported types are: `string` (to be UTF8 encoded), `Buffer`, `Blob`, `File`, `ArrayBuffer`, `UInt8Array` or any other typed array buffer. ";class _T{constructor(t){this.userSession=t.userSession}async getFile(t,e){const r={decrypt:!0,verify:!1,app:l("location",{returnEmptyObject:!0}).origin},i=Object.assign({},r,e);if(i.verify&&!i.decrypt)return this.getFileSignedUnencrypted(t,i);const n=await this.getFileContents(t,i.app,i.username,i.zoneFileLookupURL,!!i.decrypt);if(null===n)return n;if(i.decrypt&&!i.verify){if("string"!=typeof n)throw new Error("Expected to get back a string for the cipherText");if("string"==typeof i.decrypt){const t={privateKey:i.decrypt};return this.userSession.decryptContent(n,t)}return this.userSession.decryptContent(n)}if(i.decrypt&&i.verify){if("string"!=typeof n)throw new Error("Expected to get back a string for the cipherText");let e;return"string"==typeof i.decrypt&&(e=i.decrypt),this.handleSignedEncryptedContents(t,n,i.app,e,i.username,i.zoneFileLookupURL)}if(i.verify||i.decrypt)throw new Error("Should be unreachable.");return n}async getUserAppFileUrl(t,e,r,i){const n=await E({username:e,zoneFileLookupURL:i});let o;if(n.hasOwnProperty("apps")&&n.apps.hasOwnProperty(r)){o=`${n.apps[r].replace(/\/?(\?|#|$)/,"/$1")}${t}`}return o}async getGaiaAddress(t,e,r){const i=ET(this.userSession,{app:t,username:e,zoneFileLookupURL:r});let n;if(e)n=await this.getUserAppFileUrl("/",i.username,i.app,i.zoneFileLookupURL);else{const t=await this.getOrSetLocalGaiaHubConnection();n=await gT("/",t)}const o=n.match(/([13][a-km-zA-HJ-NP-Z0-9]{26,35})/);if(!o)throw new Error("Failed to parse gaia address");return o[o.length-1]}async getFileUrl(t,e){const r=ET(this.userSession,e);let i;if(r.username)i=await this.getUserAppFileUrl(t,r.username,r.app,r.zoneFileLookupURL);else{const e=await this.getOrSetLocalGaiaHubConnection();i=await gT(t,e)}if(i)return i;throw new Error("Missing readURL")}async getFileContents(t,r,i,n,o){const s={app:r,username:i,zoneFileLookupURL:n},h=await this.getFileUrl(t,s),a=await e(h);if(!a.ok)throw await wT(a,`getFile ${t} failed.`,null);let u=a.headers.get("Content-Type");"string"==typeof u&&(u=u.toLowerCase());const f=a.headers.get("ETag");if(f){const e=this.userSession.store.getSessionData();e.etags[t]=f,this.userSession.store.setSessionData(e)}return o||null===u||u.startsWith("text")||u.startsWith("application/json")?a.text():a.arrayBuffer()}async getFileSignedUnencrypted(t,e){const r=`${t}.sig`;try{const[i,n,o]=await Promise.all([this.getFileContents(t,e.app,e.username,e.zoneFileLookupURL,!1),this.getFileContents(r,e.app,e.username,e.zoneFileLookupURL,!0),this.getGaiaAddress(e.app,e.username,e.zoneFileLookupURL)]);if(!i)return i;if(!o)throw new c(`Failed to get gaia address for verification of: ${t}`);if(!n||"string"!=typeof n)throw new c(`Failed to obtain signature for file: ${t} -- looked in ${t}.sig`);let s,h;try{const t=JSON.parse(n);s=t.signature,h=t.publicKey}catch(e){throw e instanceof SyntaxError?new Error(`Failed to parse signature content JSON (path: ${t}.sig) The content may be corrupted.`):e}const a=w(h);if(o!==a)throw new c(`Signer pubkey address (${a}) doesn't match gaia address (${o})`);if(M(i,h,s))return i;throw new c(`Contents do not match ECDSA signature: path: ${t}, signature: ${t}.sig`)}catch(e){throw e instanceof s&&e.message.indexOf(r)>=0?new c(`Failed to obtain signature for file: ${t} -- looked in ${t}.sig`):e}}async handleSignedEncryptedContents(t,e,r,i,n,o){const s=i||this.userSession.loadUserData().appPrivateKey,h=y(s);let a,u;if(a=n?await this.getGaiaAddress(r,n,o):w(h),!a)throw new c(`Failed to get gaia address for verification of: ${t}`);try{u=JSON.parse(e)}catch(t){throw t instanceof SyntaxError?new Error("Failed to parse encrypted, signed content JSON. The content may not be encrypted. If using getFile, try passing { verify: false, decrypt: false }."):t}const f=u.signature,l=u.publicKey,d=u.cipherText,p=w(l);if(l&&d&&f){if(p!==a)throw new c(`Signer pubkey address (${p}) doesn't match gaia address (${a})`);if(M(d,l,f)){if("string"==typeof i){const t={privateKey:i};return this.userSession.decryptContent(d,t)}return this.userSession.decryptContent(d)}throw new c(`Contents do not match ECDSA signature in file: ${t}`)}throw new c(`Failed to get signature verification data from file: ${t}`)}async putFile(t,e,r){var i,n;const o=Object.assign({},{encrypt:!0,sign:!1,cipherTextEncoding:"hex",dangerouslyIgnoreEtag:!1},r),s=await this.getOrSetLocalGaiaHubConnection(),h=u(s.max_file_upload_size_megabytes),a=h>0,l=new MT(e,o.contentType);let c,d=l.contentType;if(!o.encrypt&&a&&l.contentByteLength>h){const t=`The max file upload size for this hub is ${h} bytes, the given content is ${l.contentByteLength} bytes`,e=new f(t,null,h);throw console.error(e),e}if(o.encrypt&&a){const t=_({contentLength:l.contentByteLength,wasString:l.wasString,sign:!!o.sign,cipherTextEncoding:o.cipherTextEncoding});if(t>h){const e=new f(`The max file upload size for this hub is ${h} bytes, the given content is ${t} bytes after encryption`,null,h);throw console.error(e),e}}let p=!0;const m=this.userSession.store.getSessionData();let g;if(o.dangerouslyIgnoreEtag||(null===(i=m.etags)||void 0===i?void 0:i[t])&&(p=!1,c=null===(n=m.etags)||void 0===n?void 0:n[t]),!o.encrypt&&o.sign){const e=await l.load();let r;r="string"==typeof o.sign?o.sign:this.userSession.loadUserData().appPrivateKey;const i=S(r,e),n=JSON.stringify(i);g=async r=>{const i=(await Promise.all([pT(t,e,r,d,p,c,o.dangerouslyIgnoreEtag),pT(`${t}.sig`,n,r,"application/json")]))[0];return!o.dangerouslyIgnoreEtag&&i.etag&&(m.etags[t]=i.etag,this.userSession.store.setSessionData(m)),i.publicURL}}else{let e;if(o.encrypt||o.sign){let t;t="string"==typeof o.encrypt?o.encrypt:"string"==typeof o.sign?y(o.sign):y(this.userSession.loadUserData().appPrivateKey);const r=await l.load();e=await this.userSession.encryptContent(r,{publicKey:t,wasString:l.wasString,cipherTextEncoding:o.cipherTextEncoding,sign:o.sign}),d="application/json"}else e=l.content;g=async r=>{const i=await pT(t,e,r,d,p,c,o.dangerouslyIgnoreEtag);return i.etag&&(m.etags[t]=i.etag,this.userSession.store.setSessionData(m)),i.publicURL}}try{return await g(s)}catch(t){if(function(t){if(!t||!t.hubError||!t.hubError.statusCode)return!1;const e=t.hubError.statusCode;if(401===e)return!0;if(409===e)return!0;if(e>=500&&e<=599)return!0;return!1}(t)){console.error(t),console.error("Possible recoverable error during Gaia upload, retrying...");const e=await this.setLocalGaiaHubConnection();return await g(e)}throw t}}async deleteFile(t,e){const r=await this.getOrSetLocalGaiaHubConnection();if(Object.assign({},e).wasSigned)try{await mT(t,r),await mT(`${t}.sig`,r);const e=this.userSession.store.getSessionData();delete e.etags[t],this.userSession.store.setSessionData(e)}catch(e){const i=await this.setLocalGaiaHubConnection();await mT(t,i),await mT(`${t}.sig`,r);const n=this.userSession.store.getSessionData();delete n.etags[t],this.userSession.store.setSessionData(n)}else try{await mT(t,r);const e=this.userSession.store.getSessionData();delete e.etags[t],this.userSession.store.setSessionData(e)}catch(e){const r=await this.setLocalGaiaHubConnection();await mT(t,r);const i=this.userSession.store.getSessionData();delete i.etags[t],this.userSession.store.setSessionData(i)}}getAppBucketUrl(t,e){return bT(t,e)}async listFilesLoop(t,r,i,n,o){if(i>65536)throw new Error("Too many entries to list");let s;t=t||await this.getOrSetLocalGaiaHubConnection();try{const i=JSON.stringify({page:r}),n={method:"POST",headers:{"Content-Type":"application/json","Content-Length":`${i.length}`,Authorization:`bearer ${t.token}`},body:i};if(s=await e(`${t.server}/list-files/${t.address}`,n),!s.ok)throw await wT(s,"ListFiles failed.",t)}catch(t){if(0===i){const t=await this.setLocalGaiaHubConnection();return this.listFilesLoop(t,r,i+1,0,o)}throw t}const h=await s.text(),a=JSON.parse(h),u=a.entries,f=a.page;if(null==u)throw new Error("Bad listFiles response: no entries");let l=0;for(let t=0;t<u.length;t++)if(null!==u[t]){l++;if(!o(u[t]))return n+t}return f&&u.length>0?this.listFilesLoop(t,f,i+1,n+l,o):n+l}listFiles(t){return this.listFilesLoop(null,null,0,0,t)}async getOrSetLocalGaiaHubConnection(){const t=this.userSession.store.getSessionData().userData;if(!t)throw new d("Missing userData");const e=t.gaiaHubConfig;return e?Promise.resolve(e):this.setLocalGaiaHubConnection()}async setLocalGaiaHubConnection(){const t=this.userSession.loadUserData();if(!t)throw new d("Missing userData");t.hubUrl||(t.hubUrl=p);const e=await vT(t.hubUrl,t.appPrivateKey,t.gaiaAssociationToken);t.gaiaHubConfig=e;const r=this.userSession.store.getSessionData();return r.userData.gaiaHubConfig=e,this.userSession.store.setSessionData(r),e}}function ST(t){return new _T({}).getUserAppFileUrl(t.path,t.username,t.appOrigin,t.zoneFileLookupURL)}function ET(t,e){var r;const i=Object.assign({},e);if(i.username){if(!i.app){if(!t.appConfig)throw new d("Missing AppConfig");i.app=t.appConfig.appDomain}if(!i.zoneFileLookupURL){if(!t.appConfig)throw new d("Missing AppConfig");if(!t.store)throw new d("Missing store UserSession");const e=(null===(r=t.store.getSessionData().userData)||void 0===r?void 0:r.coreNode)||t.appConfig.coreNode;e&&(i.zoneFileLookupURL=`${e}${k}`)}}return i}export{dT as BLOCKSTACK_GAIA_HUB_LABEL,_T as Storage,vT as connectToGaiaHub,mT as deleteFromGaiaHub,bT as getBucketUrl,gT as getFullReadUrl,ST as getUserAppFileUrl,pT as uploadToGaiaHub};